[llvm] [LV] Stengthen loop-invariance checks in isPredicatedInst (PR #140744)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 27 05:55:18 PDT 2025


================
@@ -3107,14 +3107,14 @@ bool LoopVectorizationCostModel::isPredicatedInst(Instruction *I) const {
     // is correct.  The easiest form of the later is to require that all values
     // stored are the same.
     return !(Legal->isInvariant(getLoadStorePointerOperand(I)) &&
-             TheLoop->isLoopInvariant(cast<StoreInst>(I)->getValueOperand()));
+             Legal->isInvariant(cast<StoreInst>(I)->getValueOperand()));
----------------
fhahn wrote:

This change caused a subtle mis-compile: https://github.com/llvm/llvm-project/issues/149347

For now it is probably best to undo this change: https://github.com/llvm/llvm-project/pull/150828

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


More information about the llvm-commits mailing list