Commit Graph

18 Commits

Author SHA1 Message Date
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