Skip to content

Commit 769209b

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 617bd9a commit 769209b

File tree

4 files changed

+2546
-213
lines changed

4 files changed

+2546
-213
lines changed

0 commit comments

Comments
 (0)