[all-commits] [llvm/llvm-project] 71956d: [SimplifyCFG] Do not thread branches into uncontro...
Shilei Tian via All-commits
all-commits at lists.llvm.org
Thu Jul 16 09:41:53 PDT 2026
Branch: refs/heads/users/shiltian/fix-simplify-cfg-convergent-issue
Home: https://github.com/llvm/llvm-project
Commit: 71956dc466232dd8bd3bf81657a3360d4328f053
https://github.com/llvm/llvm-project/commit/71956dc466232dd8bd3bf81657a3360d4328f053
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-07-16 (Thu, 16 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/AMDGPU/convergent-jump-threading.ll
Log Message:
-----------
[SimplifyCFG] Do not thread branches into uncontrolled convergent regions
SimplifyCFG's foldCondBranchOnValueKnownInPredecessor can thread an edge past
a block that acts as a reconvergence point. If the threaded destination reaches
an uncontrolled convergent operation before returning to the threaded-through
block, the transform can change which dynamic instance of the convergent
operation is executed.
Add a conservative destination scan for this fold and skip the threading
candidate when it can reach an uncontrolled convergent call before returning
to the original block. Controlled convergent operations using convergence
control tokens are left alone.
Fixes ROCM-26496.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list