Eduard Burtescu
|
5739ed1f80
|
trans: Do not depend on having Expr's around for generic_simd_intrinsic.
|
2016-03-17 22:48:07 +02:00 |
|
Eduard Burtescu
|
7912f94b2d
|
const_eval: Take just one set of substitutions in lookup_const_by_id.
|
2016-03-17 22:48:07 +02:00 |
|
Eduard Burtescu
|
5eeda543df
|
mir: Use usize instead of u32 for indexing slices.
|
2016-03-17 21:51:55 +02:00 |
|
Eduard Burtescu
|
835e2bdf7d
|
Add -Z orbit for forcing MIR for everything, unless #[rustc_no_mir] is used.
|
2016-03-17 21:51:55 +02:00 |
|
Eduard Burtescu
|
856185dbb2
|
hir, mir: Separate HIR expressions / MIR operands from InlineAsm.
|
2016-03-17 21:51:55 +02:00 |
|
Eduard Burtescu
|
415d95fbeb
|
mir: Translate Rvalue::Slice without relying on tvec.
|
2016-03-17 21:51:55 +02:00 |
|
Eduard Burtescu
|
aca4f9396d
|
mir: Get the right non-reference type for binding patterns.
|
2016-03-17 21:51:55 +02:00 |
|
Eduard Burtescu
|
cf4daf7889
|
mir: Don't lose sub-patterns inside slice patterns.
|
2016-03-17 21:51:55 +02:00 |
|
Eduard Burtescu
|
41499f4563
|
mir: Match against slices by calling PartialEq::eq.
|
2016-03-17 21:51:55 +02:00 |
|
Eduard Burtescu
|
d9277b163c
|
trans: Make everything used from within at_start Builder-friendly.
|
2016-03-17 21:51:54 +02:00 |
|
Eduard Burtescu
|
82fad1dfc7
|
mir: Call set_operand_dropped in more places, specifically Unsize casts.
|
2016-03-17 21:51:54 +02:00 |
|
Eduard Burtescu
|
3e98220a1c
|
mir: Translate intrinsics, via old trans where possible.
|
2016-03-17 21:51:54 +02:00 |
|
Eduard Burtescu
|
ee7687a5e5
|
mir: Reintroduce the temporary block after invokes, to handle critical edges.
|
2016-03-17 21:51:54 +02:00 |
|
Eduard Burtescu
|
41fc5f7c2a
|
mir: Trigger closure instantiations when the closure value is created.
|
2016-03-17 21:51:54 +02:00 |
|
Eduard Burtescu
|
6c551b3766
|
trans: Load and cache cross-crate Mir instances in the shared context.
|
2016-03-17 21:51:54 +02:00 |
|
Eduard Burtescu
|
47cd05c8c1
|
mir: Don't shadow the "args" variable in Call translation.
|
2016-03-17 21:51:54 +02:00 |
|
Eduard Burtescu
|
9c6bfe4499
|
mir: Truncate bool to i1 for SwitchInt.
|
2016-03-17 21:51:54 +02:00 |
|
Eduard Burtescu
|
38638d37f7
|
trans: Take a &Builder in call_memcpy, like call_memset.
|
2016-03-17 21:51:54 +02:00 |
|
Eduard Burtescu
|
b63a5eed6e
|
mir: Support RustCall ABI functions.
|
2016-03-17 21:51:53 +02:00 |
|
Eduard Burtescu
|
92e485874e
|
mir: Load FatPtr constants instead of keeping them indirect.
|
2016-03-17 21:51:53 +02:00 |
|
Eduard Burtescu
|
eb43d95211
|
mir: Don't load the discriminant, it's already in immediate form.
|
2016-03-17 21:51:53 +02:00 |
|
Eduard Burtescu
|
d3a6d67fb8
|
mir: Don't use ConstVal when adjustments are involved, as they would be lost.
|
2016-03-17 21:51:53 +02:00 |
|
Eduard Burtescu
|
9cc5ee359a
|
mir: Unsize ConstVal::ByteStr before comparing &[u8] against it.
|
2016-03-17 21:51:53 +02:00 |
|
Eduard Burtescu
|
ccc5e0732a
|
mir: Ignore noop casts (e.g. when as used for coercion).
|
2016-03-17 21:51:53 +02:00 |
|
Eduard Burtescu
|
1de6a9682f
|
mir: Don't use ConstVal kinds that contain local NodeId's.
|
2016-03-17 21:51:53 +02:00 |
|
Eduard Burtescu
|
b38627dafb
|
mir: Use the right form of GEPi for indexing slices vs arrays.
|
2016-03-17 21:51:53 +02:00 |
|
Eduard Burtescu
|
56417b3732
|
mir: Monomorphize LvalueTy's of projections.
|
2016-03-17 21:51:53 +02:00 |
|
Eduard Burtescu
|
f9c06abc21
|
trans: Simplify "try" intrinsic.
|
2016-03-17 21:51:53 +02:00 |
|
Eduard Burtescu
|
bffb0decc8
|
tests: Use arguments in codegen/stores.rs to turn aggregates into immediates.
|
2016-03-17 21:51:52 +02:00 |
|
Eduard Burtescu
|
6c0674e613
|
trans: Remove the foreign module.
|
2016-03-17 21:51:52 +02:00 |
|
Eduard Burtescu
|
aec63821d0
|
trans: Handle all function setup for all ABIs via FnType.
|
2016-03-17 21:51:52 +02:00 |
|
Eduard Burtescu
|
bd0a849f3b
|
trans: datum::lvalue_scratch_datum doesn't need a move-into-closure trick.
|
2016-03-17 21:51:52 +02:00 |
|
Eduard Burtescu
|
03993882d6
|
trans: Handle calls for all ABIs through FnType.
|
2016-03-17 21:51:52 +02:00 |
|
Eduard Burtescu
|
9e036c0ff0
|
trans: Provide the FnType for a direct call via Callee::direct_fn_type.
|
2016-03-17 21:51:52 +02:00 |
|
Eduard Burtescu
|
80d939fd22
|
trans: Handle ignored arguments/returns uniformly.
|
2016-03-17 21:51:52 +02:00 |
|
Eduard Burtescu
|
7454b5c61d
|
trans: Set the calling convention in apply_attrs_callsite.
|
2016-03-17 21:51:51 +02:00 |
|
Eduard Burtescu
|
77f3484148
|
trans: Apply all attributes through FnType.
|
2016-03-17 21:51:51 +02:00 |
|
Eduard Burtescu
|
de5f8244f2
|
trans: Use llvm::Attributes directly in ArgTy.
|
2016-03-17 21:51:51 +02:00 |
|
Eduard Burtescu
|
c7172a9935
|
rustc_llvm: An AttrBuilder that's not completely wasteful.
|
2016-03-17 21:51:51 +02:00 |
|
Eduard Burtescu
|
763b6cba37
|
rustc_llvm: Update the Attribute bitflags and remove OtherAttribute.
|
2016-03-17 21:51:51 +02:00 |
|
Eduard Burtescu
|
1d7c9bd137
|
trans: use sizing_type_of for interacting with potentially incomplete types.
|
2016-03-17 21:51:51 +02:00 |
|
Eduard Burtescu
|
d492d09f31
|
trans: Apply ZExt and StructRet attributes uniformly.
|
2016-03-17 21:51:51 +02:00 |
|
Eduard Burtescu
|
ac60318cf5
|
trans: Only mutate ArgTy's in C ABI handling, don't create them.
|
2016-03-17 21:51:51 +02:00 |
|
Eduard Burtescu
|
03942056aa
|
trans: Handle type_of for Rust fn's via abi::FnType.
|
2016-03-17 21:51:51 +02:00 |
|
Eduard Burtescu
|
f6bbbe1070
|
trans: Remove dropflag-unaware type_is_newtype_immediate shortcut.
|
2016-03-17 21:51:51 +02:00 |
|
Eduard Burtescu
|
cf0ea786ff
|
tests: Force instantiation of extern fns.
|
2016-03-17 21:51:50 +02:00 |
|
Eduard Burtescu
|
200d001784
|
trans: Pass fat pointers as two arguments even for FFI.
|
2016-03-17 21:51:50 +02:00 |
|
Eduard Burtescu
|
3342da4113
|
trans: Don't treat closure types like function types in declare.
|
2016-03-17 21:51:50 +02:00 |
|
Eduard Burtescu
|
da66431d06
|
trans: Combine cabi and back::abi into abi.
|
2016-03-17 21:51:50 +02:00 |
|
Eduard Burtescu
|
cdfad40735
|
trans: Condense the fn instantiation logic into callee.
|
2016-03-17 21:51:47 +02:00 |
|