[llvm] 46a2f41 - Revert "[LV] Don't add blocks to loop in GeneratedRTChecks (NFC)."
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Sat Apr 5 13:47:49 PDT 2025
Author: Florian Hahn
Date: 2025-04-05T21:47:14+01:00
New Revision: 46a2f4174a051f29a09dbc3844df763571c67309
URL: https://github.com/llvm/llvm-project/commit/46a2f4174a051f29a09dbc3844df763571c67309
DIFF: https://github.com/llvm/llvm-project/commit/46a2f4174a051f29a09dbc3844df763571c67309.diff
LOG: Revert "[LV] Don't add blocks to loop in GeneratedRTChecks (NFC)."
This reverts commit 2fd6f8fb5e3a52e901276d97c285b8de66742985.
This missed a possible case, causing buildbot failures.
Added:
Modified:
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
index 585caaffa63da..cc6fd790bc437 100644
--- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -2082,6 +2082,9 @@ class GeneratedRTChecks {
auto *Pred = LoopVectorPreHeader->getSinglePredecessor();
BranchInst::Create(LoopVectorPreHeader, SCEVCheckBlock);
+ // Create new preheader for vector loop.
+ if (OuterLoop)
+ OuterLoop->addBasicBlockToLoop(SCEVCheckBlock, *LI);
SCEVCheckBlock->getTerminator()->eraseFromParent();
SCEVCheckBlock->moveBefore(LoopVectorPreHeader);
@@ -2119,6 +2122,9 @@ class GeneratedRTChecks {
DT->changeImmediateDominator(LoopVectorPreHeader, MemCheckBlock);
MemCheckBlock->moveBefore(LoopVectorPreHeader);
+ if (OuterLoop)
+ OuterLoop->addBasicBlockToLoop(MemCheckBlock, *LI);
+
BranchInst &BI =
*BranchInst::Create(Bypass, LoopVectorPreHeader, MemRuntimeCheckCond);
if (AddBranchWeights) {
More information about the llvm-commits
mailing list