Santiago Pastorino
fde8d6ee81
For better consistency change mir_opt_level <= 1 to < 2
2021-03-05 17:13:56 -03:00
Santiago Pastorino
8152da22a1
Extract mir_opt_level to a method and use Option to be able to know if the value is provided or not
2021-03-05 17:13:56 -03:00
Guillaume Gomez
99200f760b
Fix even more URLs
2020-11-05 20:11:29 +01:00
Dylan MacKenzie
e72e43c730
Replace (Body, DefId)
with Body
where possible
...
A `Body` now contains its `MirSource`, which in turn contains the
`DefId` of the item associated with the `Body`.
2020-10-04 16:07:03 -07:00
Dylan MacKenzie
6f61e71648
Remember the MirSource
for each Body
2020-10-04 11:01:38 -07:00
Jonas Schievink
4b6a4821b7
Fix dest prop miscompilation around references
2020-09-22 20:19:00 +02:00
Jonas Schievink
2f9271b14c
Clarify FIXME
2020-09-18 21:23:01 +02:00
Jonas Schievink
ffd9445812
Return Place
by value
2020-09-18 21:23:01 +02:00
Jonas Schievink
682de94e31
Move inner items outside
2020-09-18 21:23:01 +02:00
Jonas Schievink
cd5d7201ad
Fix rebase fallout
2020-09-18 21:23:01 +02:00
Jonas Schievink
7af964fecf
Limit block count
2020-09-18 21:23:01 +02:00
Jonas Schievink
5728834448
Fix rebase fallout
2020-09-18 21:23:01 +02:00
Jonas Schievink
484db5b08a
Properly inherit conflicts when merging locals
2020-09-18 21:23:01 +02:00
Jonas Schievink
934634eacc
More logging
2020-09-18 21:23:01 +02:00
Jonas Schievink
88538adf9a
Record intra-statement/terminator conflicts
...
Some MIR statements and terminators have an (undocumented...) invariant
that some of their input and outputs must not overlap. This records
conflicts between locals used in these positions.
2020-09-18 21:23:01 +02:00
Jonas Schievink
ddd6930b54
perf: bail out when there's >500 candidate locals
2020-09-18 21:23:01 +02:00
Jonas Schievink
ab26fb140c
perf: only calculate conflicts for candidates
2020-09-18 21:23:01 +02:00
Jonas Schievink
402f863d8a
perf: walk liveness backwards in Conflicts::build
2020-09-18 21:23:00 +02:00
Jonas Schievink
812d4bbc8d
Fix dataflow assert errors
2020-09-18 21:23:00 +02:00
Jonas Schievink
78ff69ba10
Implement a destination propagation pass
2020-09-18 21:23:00 +02:00