Right now this loops over the entire function every time there
is a change, which is not very efficient. There's no practical
reason to track this so globally, since the code motion optimization
passes should be sinking instructions with single uses and
the pass currently will not fold with multiple uses.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
None of the tests regressed. I tried a few small samples with multiple blocks and they all sank and were handled