[llvm] 76fd69b - [VPlan] Simplify VPBuilder insert point when live outs for FORs.

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 13 05:21:44 PDT 2024


Author: Florian Hahn
Date: 2024-09-13T13:21:23+01:00
New Revision: 76fd69be74e3a52cec77d5401003469791ef9834

URL: https://github.com/llvm/llvm-project/commit/76fd69be74e3a52cec77d5401003469791ef9834
DIFF: https://github.com/llvm/llvm-project/commit/76fd69be74e3a52cec77d5401003469791ef9834.diff

LOG: [VPlan] Simplify VPBuilder insert point when live outs for FORs.

Simplifies setting the insert point, addressing a TODO.

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 f726b171969a30..1f13253216962e 100644
--- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -8747,16 +8747,7 @@ static void addLiveOutsForFirstOrderRecurrences(
   }
 
   VPBuilder ScalarPHBuilder(ScalarPHVPBB);
-  VPBuilder MiddleBuilder(MiddleVPBB);
-  // Reset insert point so new recipes are inserted before terminator and
-  // condition, if there is either the former or both.
-  // TODO: set MiddleBuilder to MiddleVPBB->getFirstNonPhi().
-  if (auto *Terminator = MiddleVPBB->getTerminator()) {
-    auto *Condition = dyn_cast<VPInstruction>(Terminator->getOperand(0));
-    assert((!Condition || Condition->getParent() == MiddleVPBB) &&
-           "Condition expected in MiddleVPBB");
-    MiddleBuilder.setInsertPoint(Condition ? Condition : Terminator);
-  }
+  VPBuilder MiddleBuilder(MiddleVPBB, MiddleVPBB->getFirstNonPhi());
   VPValue *OneVPV = Plan.getOrAddLiveIn(
       ConstantInt::get(Plan.getCanonicalIV()->getScalarType(), 1));
   VPValue *TwoVPV = Plan.getOrAddLiveIn(


        


More information about the llvm-commits mailing list