29 Commits

Author SHA1 Message Date
Mark Simulacrum
6fac0a1a84 Change *.fcx.ccx to *.ccx 2016-12-20 20:04:43 -07:00
Mark Simulacrum
88202c5b83 Replace bcx.ccx() with bcx.ccx 2016-12-20 20:04:41 -07:00
Mark Simulacrum
a445199afb Remove public ccx function on MirContext 2016-12-20 20:03:34 -07:00
Mark Simulacrum
e10695f161 Move param_substs onto MirContext 2016-12-20 20:03:32 -07:00
Mark Simulacrum
a42a3429fe Move param_env onto SharedCrateContext, and move functions which need the ParamEnv onto it. 2016-12-20 20:03:32 -07:00
Mark Simulacrum
b48e74b5b0 Rename 'blk and 'bcx to 'a 2016-12-20 20:03:31 -07:00
Mark-Simulacrum
8f3d824cc7 Remove common::Block. 2016-12-20 20:02:46 -07:00
Mark-Simulacrum
ad0a901d37 Remove *_builder 2016-12-20 20:01:40 -07:00
Mark-Simulacrum
bf7d4534a7 Refactor Block into BlockAndBuilder 2016-12-20 20:01:40 -07:00
Eduard Burtescu
36340ba994 rustc: move mir::repr::* to mir. 2016-10-28 10:37:24 +03:00
Ariel Ben-Yehuda
6d54e0eb6b emit !nonnull metadata on loaded fat pointers when possible
cc #36920 (in addition to LLVM PR30597, should fix the &&[i32] case)
2016-10-05 13:58:04 +03:00
Jonas Schievink
393db2d830 [WIP] Move MIR towards a single kind of local 2016-09-26 20:41:54 +02:00
Austin Hicks
f16068e577 Completely kill represent_type and the adt::Repr type that goes with it. 2016-09-24 18:21:10 -04:00
Eduard Burtescu
d0654ae5e5 rustc_trans: remove the bulk of old trans and most of its support code. 2016-08-24 13:23:37 +03:00
Scott A Carr
28abc0a6aa refactor lvalue_ty to be method of lvalue 2016-08-05 15:59:51 -07:00
Eduard Burtescu
7279af86c8 trans: generalize immediate temporaries to all MIR locals. 2016-06-20 23:55:14 +03:00
Eduard Burtescu
eb9cb4dbca trans: derefs don't need the pointer in an alloca. 2016-06-20 23:18:21 +03:00
Ariel Ben-Yehuda
bc1eb67721 introduce the type-safe IdxVec and use it instead of loose indexes 2016-06-09 14:26:08 +03:00
Ariel Ben-Yehuda
8ac3b46cac address review comments 2016-06-09 00:38:38 +03:00
Ariel Ben-Yehuda
1a614f8568 wrap calls to lvalue_ty 2016-06-09 00:38:38 +03:00
Ariel Ben-Yehuda
5c717a6fc2 implement RFC495 semantics for slice patterns
non-MIR translation is still not supported for these and will happily ICE.

This is a [breaking-change] for many uses of slice_patterns.
2016-06-09 00:38:38 +03:00
Ariel Ben-Yehuda
4fff19528b remove filling on drop 2016-06-03 16:11:18 +03:00
Eduard Burtescu
cb3a557e0c trans: deal with the fact that ZSTs are always "initialized". 2016-05-09 22:52:06 +03:00
Eduard Burtescu
e1eca0a110 Translate constants from MIR instead of going through trans::expr/consts. 2016-05-07 07:19:10 +03:00
James Miller
cb1bec9096 Fix some type-related bugs
Some types weren't being properly monomorphised, and didn't have their
regions properly erased. This is now fixed.

Also fixes an issue where a temp was initialized in two separate
branches, but wasn't given an alloca.
2016-04-08 15:37:56 +12:00
James Miller
73790f02e3 Move ReturnDest creation into a method
It's quite a large amount of code, and moving it into a method allowed
for some refactoring to make the logic a little easier to understand
2016-04-06 17:57:42 +12:00
James Miller
e4d4fa3295 Handle operand temps for function calls
This allows temporary destinations for function calls to have their
allocas omitted.
2016-04-04 19:21:27 +12:00
Benjamin Herr
c59ea491ea librustc_trans: use bug!(), span_bug!() 2016-03-31 22:06:52 +02:00
Eduard Burtescu
035a645e64 rustc_trans: move the contents of the trans module to top-level. 2016-03-27 01:23:28 +02:00