Commit Graph

52722 Commits

Author SHA1 Message Date
Eduard Burtescu
181097da33 trans: Decide whether to load volatile_store's argument based on its ArgType. 2016-03-18 05:29:53 +02:00
Todd Lucas
667d1c67e2 Minor phrasing adjustment 2016-03-17 20:14:05 -07:00
Eduard Burtescu
d6689e5d1c Update the not-at-all-pretty pain-o-tron-4000+264 test. 2016-03-18 02:22:32 +02:00
Eduard Burtescu
9a8b80762b trans: Pass newtypes of immediates as their inner-most type again. 2016-03-18 01:01:47 +02:00
Piotr Czarnecki
6a1ccf8a86 fixup Cleaner Recover::replace 2016-03-17 23:11:22 +01:00
Alex Crichton
d7f80ca2c7 rustbuild: Fix cross to netbsd from Linux
Apparently the NetBSD compiler-rt builds into the linux directory as well.
I'm... detecting a trend!
2016-03-17 15:01:16 -07:00
Eduard Burtescu
02a141a550 mir: Don't memset allocas of types that do not require drop. 2016-03-17 22:48:07 +02:00
Eduard Burtescu
460e66457a mir: Store immediates used for indirect arguments in an alloca. 2016-03-17 22:48:07 +02:00
Eduard Burtescu
473f804491 Add #[rustc_no_mir] to make tests pass with -Z orbit. 2016-03-17 22:48:07 +02:00
Eduard Burtescu
080bd97781 compiletest: Add rustc-env for run-pass/super-fast-paren-parsing. 2016-03-17 22:48:07 +02:00
Eduard Burtescu
5f990fb4f0 mir: Don't forget to drop arguments. 2016-03-17 22:48:07 +02:00
Eduard Burtescu
cfd768e2e6 hir_map: Provide expression and statement attributes. 2016-03-17 22:48:07 +02:00
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