Mark Simulacrum
57914f626b
Move eh_personality() onto CrateContext
2016-12-20 20:04:45 -07:00
Mark Simulacrum
bd009dc444
Remove fn_ty from FunctionContext
2016-12-20 20:04:44 -07:00
Mark Simulacrum
98a13ffe44
Remove outdated comment
2016-12-20 20:04:44 -07:00
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
f11721a13e
Add helper function to set debug locations
2016-12-20 20:03:35 -07:00
Mark Simulacrum
22bf541e27
Clean up uses of set_personality_fn.
...
Remove gnu/msvc constructors for Funclet; these are worse for
readability than explicit Some/None.
2016-12-20 20:03:35 -07:00
Mark Simulacrum
7f87163071
Simplify funclets creation.
2016-12-20 20:03:35 -07:00
Mark Simulacrum
5301d380b6
Remove unused bcx from LocalAnalyzer.
2016-12-20 20:03:35 -07:00
Mark Simulacrum
0256f60461
Move debug info check into create_function_debug_context
2016-12-20 20:03:34 -07:00
Mark Simulacrum
a445199afb
Remove public ccx function on MirContext
2016-12-20 20:03:34 -07:00
Mark Simulacrum
7f5dffbb19
Make debuginfo take debug_context instead of MirContext
2016-12-20 20:03:34 -07:00
Mark Simulacrum
2bda3b7acb
Inline and simplify init_cpad
2016-12-20 20:03:33 -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
2b9a0efef4
Move debug_context to MirContext from FunctionContext
2016-12-20 20:03:32 -07:00
Mark Simulacrum
1173db0062
Inline last remaining use of Callee::call and delete unused code
2016-12-20 20:03:31 -07:00
Mark Simulacrum
b48e74b5b0
Rename 'blk and 'bcx to 'a
2016-12-20 20:03:31 -07:00
Mark-Simulacrum
1804131b6d
Remove Ref::clone for MirContext mir
2016-12-20 20:03:30 -07:00
Mark-Simulacrum
9c38a54cae
Inline FunctionContext.mir
2016-12-20 20:03:28 -07:00
Mark-Simulacrum
c4f6173af8
Replace init with get_entry_block.
2016-12-20 20:03:27 -07:00
Mark-Simulacrum
cbbdb73eb0
Remove FunctionContext::cleanup, replacing it with a Drop impl.
...
Move alloca and initial entry block creation into FunctionContext::new.
2016-12-20 20:03:27 -07:00
Mark-Simulacrum
bf8614b55a
Rename Builder::alloca to dynamic_alloca
2016-12-20 20:03:27 -07:00
Mark-Simulacrum
5262113fa6
Remove fcx.span
2016-12-20 20:03:26 -07:00
Mark-Simulacrum
820164582d
Remove DebugLoc.
2016-12-20 20:03:24 -07:00
Mark-Simulacrum
be981dce80
Start FunctionContext privatization and reduction
2016-12-20 20:02:53 -07:00
Mark-Simulacrum
86b2bdb435
Rename LandingPad to Funclet
...
Changes internal storage to direct field values instead of Options,
since both fields are always either set or not set.
2016-12-20 20:02:48 -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
59ef51c12a
Replace build.rs with calling functions on builder directly
2016-12-20 20:01:40 -07:00
Mark-Simulacrum
bf7d4534a7
Refactor Block into BlockAndBuilder
2016-12-20 20:01:40 -07:00
Austin Hicks
e1d8806efd
Fix closure debuginfo.
2016-12-19 21:14:27 -05:00
Jeffrey Seyfried
d2f8fb0a0a
Move syntax::util::interner
-> syntax::symbol
, cleanup.
2016-11-20 23:40:20 +00:00
Ariel Ben-Yehuda
ca9b5664c3
rustc: move closure upvar types to the closure substs
...
This moves closures to the (DefId, Substs) scheme like all other items,
and saves a word from the size of TyS now that Substs is 2 words.
2016-11-12 19:00:50 +02:00
Eduard Burtescu
e34792b181
rustc: move the MIR map into TyCtxt.
2016-10-28 13:55:49 +03:00
Eduard Burtescu
36340ba994
rustc: move mir::repr::* to mir.
2016-10-28 10:37:24 +03:00
Michael Woerister
8d5b523eb0
debuginfo: Create debuginfo for re-aggregated spread_arg instead of for the individual pieces.
2016-10-13 14:55:31 -04: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
e3293b84af
Address review comments
2016-09-27 02:03:35 +02:00
Jonas Schievink
9ccac2a8fb
No need to borrow allocate_local
2016-09-26 22:55:07 +02:00
Jonas Schievink
bcfbdb871f
Rename MIR local iterators to match convention
2016-09-26 22:50:03 +02:00
Jonas Schievink
3b0c318a5f
Make spreading use Option<Local>
2016-09-26 22:44:01 +02:00
Jonas Schievink
393db2d830
[WIP] Move MIR towards a single kind of local
2016-09-26 20:41:54 +02:00
Jonas Schievink
205dac9355
Move "rust-call" tuple spreading out of ArgDecl
...
If MIR is for a "rust-call" ABI function, the last arg would always
have `spread` set to `true`. Move this flag into `Mir` instead.
2016-09-26 19:42:01 +02:00
Vadim Chugunov
cf6461168f
Fix debug line info for macro expansions.
...
Macro expansions produce code tagged with debug locations that are completely different from the surrounding expressions. This wrecks havoc on debugger's ability the step over source lines.
In order to have a good line stepping behavior in debugger, we overwrite debug locations of macro expansions with that of the outermost expansion site.
2016-08-25 00:40:42 -07: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
Eduard Burtescu
cb9b0ed91b
Disable old trans access via -Z orbit, #[rustc_no_mir] or --disable-orbit.
2016-08-24 13:23:37 +03:00
Andrew Cann
ed02344fbc
Remove obsolete divergence related stuff
...
Replace FnOutput with Ty
Replace FnConverging(ty) with ty
Purge FnDiverging, FunctionRetTy::NoReturn and FunctionRetTy::None
2016-08-13 21:37:09 +08:00
Ariel Ben-Yehuda
d091ef802f
begin auditing the C++ types in RustWrapper
2016-08-03 15:08:47 +03:00
Jonathan Turner
6ae3502134
Move errors from libsyntax to its own crate
2016-06-23 08:07:35 -04:00