[llvm-branch-commits] [llvm] [SimplifyCFG] Do not thread branches into uncontrolled convergent regions (PR #204958)
Matt Arsenault via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Jul 20 13:57:59 PDT 2026
================
@@ -3619,6 +3673,14 @@ foldCondBranchOnValueKnownInPredecessorImpl(CondBrInst *BI, DomTreeUpdater *DTU,
if (ReachesNonLocalUseBlocks.contains(RealDest))
continue;
+ // Threading through a branch can bypass a reconvergence point. If the
+ // destination can execute an uncontrolled convergent operation before
+ // returning to this block, this may change the dynamic instance of that
+ // operation.
+ if (TTI.hasBranchDivergence(BB->getParent()) &&
----------------
arsenm wrote:
Ugh. The semantics really shouldn't depend on this. We really need to get onto using convergence tokens for real
https://github.com/llvm/llvm-project/pull/204958
More information about the llvm-branch-commits
mailing list