Skip to content

Commit fb2813b

Browse files
committed
[SSADestroyHoisting] Adopt new utilities.
Instead of doing one or two non-iterative BackwardReachability runs, do a single run of IterativeBackwardReachability. During that, pause after discovery/local dataflow and use VisitBarrierAccessScopes to determine which end_access instructions in the discovered region are barriers. Add those instructions as kills to the dataflow. Finally run the global dataflow. Enables SSADestroyHoisting to hoist destroys over loops. Addresses a correctness issue where access scopes which were open at barrier blocks were not promoted to barriers, resulting in destroy_addrs getting hoisted into unrelated access scopes.
1 parent 6f8b62c commit fb2813b

File tree

4 files changed

+2584
-223
lines changed

4 files changed

+2584
-223
lines changed

0 commit comments

Comments
 (0)