Simonas Kazlauskas
b92e2437f5
[MIR] Change SimplifyCfg pass to use bitvec
...
BitVector is much more space efficient.
2016-02-23 11:43:52 +02:00
Ariel Ben-Yehuda
881249aa46
use the FulfillmentContext and InferCtxt more correctly
2016-02-20 02:02:53 +02:00
Oliver Schneider
030b237476
refactor MirPass
to always require a tcx
2016-02-09 16:53:42 +01:00
Simonas Kazlauskas
02365fe753
Change successor{,_mut} to return a Vec
...
This helps to avoid the unpleasant restriction of being unable to have multiple successors in
non-contiguous block of memory.
2016-02-04 15:56:04 +02:00
Simonas Kazlauskas
4e86dcdb72
Remove diverge terminator
...
Unreachable terminator can be contained all within the trans.
2016-01-06 13:57:51 +02:00
Michael Woerister
33d29700b3
MIR: Refactor mir::Terminator to use tuples instead of a fixed-size arrays.
2015-12-10 15:46:40 -05:00
Michael Woerister
bbe1d28496
Move the core MIR datastructures to librustc.
...
This is done mostly so that we can refer to MIR types in csearch and other metadata related area.
2015-11-30 10:03:33 +01:00
Michael Woerister
c533902285
MIR: Add pass that erases all regions right before trans
2015-11-18 17:26:24 +01:00
Björn Steinbrink
a4e5c0fe84
Add a MIR pass to simplify the control flow graph
...
For now, this pass does some easy transformations, like eliminating
empty blocks that just jump to another block, some trivial
conversion of If terminators into Gotos and removal of dead blocks.
2015-11-12 14:39:23 +01:00