[llvm] [ValueTracking] Conservative nosync check prevents vectorization (PR #181345)

Kshitij Paranjape via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 13 12:51:00 PST 2026


================
@@ -729,7 +737,8 @@ bool llvm::willNotFreeBetween(const Instruction *Assume,
     if (CtxBB->getSinglePredecessor() != AssumeBB)
       return false;
 
-    if (!hasNoFreeCalls(make_range(CtxBB->begin(), CtxIter)))
+    if (!hasNoFreeCalls(make_range(CtxBB->begin(), CtxIter)) ||
+        !hasNoSyncCalls(make_range(CtxBB->begin(), CtxIter)))
----------------
kshitijvp wrote:

Done

https://github.com/llvm/llvm-project/pull/181345


More information about the llvm-commits mailing list