rust/src/librustc_trans/trans
Björn Steinbrink a04784f7f9 Directly construct lvalue datums for function arguments
The current split between create_datums_for_fn_args,
copy_args_to_allocas and store_arg involves a detour via rvalue datums
which cause additional work in form of insertvalue/extractvalue pairs
for fat pointer arguments, and an extra alloca and memcpy for tupled
args in rust-call functions.

By merging those three functions into just one that actually covers the
whole process of creating the final argument datums, we can skip all
that. Also, this allows to easily merge in the handling of rust-call
functions, allowing to make create_datum_for_fn_args_under_call_abi
obsolete.

cc #26600 -- The insertvalue instructions kicked us off of fast-isel.
2015-07-02 18:34:58 +02:00
..
debuginfo Address nits 2015-07-01 13:08:25 -07:00
_match.rs Directly construct lvalue datums for function arguments 2015-07-02 18:34:58 +02:00
adt.rs Remove Typer and ClosureTyper 2015-06-30 02:41:40 -07:00
asm.rs Make trans_arg_datum fill a destination vector instead of returning its result 2015-06-20 03:35:24 +02:00
attributes.rs Remove Typer and ClosureTyper 2015-06-30 02:41:40 -07:00
base.rs Directly construct lvalue datums for function arguments 2015-07-02 18:34:58 +02:00
basic_block.rs
build.rs
builder.rs
cabi_aarch64.rs
cabi_arm.rs
cabi_mips.rs
cabi_powerpc.rs
cabi_x86_64.rs
cabi_x86_win64.rs
cabi_x86.rs
cabi.rs
callee.rs Begin refactor type checking state 2015-06-27 13:43:20 -07:00
cleanup.rs Remove now-useless code 2015-06-30 02:31:07 +03:00
closure.rs Remove Typer and ClosureTyper 2015-06-30 02:41:40 -07:00
common.rs Address nits 2015-07-01 13:08:25 -07:00
consts.rs Begin refactor type checking state 2015-06-27 13:43:20 -07:00
context.rs rustc: make ty::mk_* constructors into methods on ty::ctxt. 2015-06-26 07:34:56 +03:00
controlflow.rs
datum.rs Remove Typer + ClosureTyper impls for ParameterEnv 2015-06-30 02:40:17 -07:00
declare.rs Remove Typer and ClosureTyper 2015-06-30 02:41:40 -07:00
expr.rs Directly construct lvalue datums for function arguments 2015-07-02 18:34:58 +02:00
foreign.rs rustc: switch most remaining middle::ty functions to methods. 2015-06-26 07:34:57 +03:00
glue.rs rustc: switch most remaining middle::ty functions to methods. 2015-06-26 07:34:57 +03:00
inline.rs rustc: switch most remaining middle::ty functions to methods. 2015-06-26 07:34:57 +03:00
intrinsic.rs rustc: switch most remaining middle::ty functions to methods. 2015-06-26 07:34:57 +03:00
llrepr.rs
machine.rs
macros.rs
meth.rs Remove Typer and ClosureTyper 2015-06-30 02:41:40 -07:00
mod.rs
monomorphize.rs Remove Typer and ClosureTyper 2015-06-30 02:41:40 -07:00
tvec.rs rustc: switch most remaining middle::ty functions to methods. 2015-06-26 07:34:57 +03:00
type_.rs Pass fat pointers in two immediate arguments 2015-06-20 18:58:47 +02:00
type_of.rs Avoid a needless vector copy in type_of_rust_fn 2015-07-02 18:34:57 +02:00
value.rs