StructurizeCFG can't handle cases with multiple
returns creating regions with multiple exits.
Create a copy of UnifyFunctionExitNodes that only
unifies exit nodes that skips exit nodes
with uniform branch sources.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Something in particular you'd like me to review here? I'm probably not the best person to review inside AMDGPU/.
Comment Actions
You were looking at some structurizer issues, so this may have been related to some of them. One concern I have is now there's a fragile pass ordering issue. My original attempt was able to add a pass dependency on the generic UnifyFunctionExit pass, so it auto-ensures this invariant when running the structurize pass. However I don't think I can easily add a dependency on the target specific divergence aware version