[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