[llvm] 380defd - [VPlan] Update VPInterleaveRecipe to take debug loc directly as arg (NFC)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 2 14:46:46 PDT 2025
Author: Florian Hahn
Date: 2025-04-02T22:46:38+01:00
New Revision: 380defd4b3cd980d8b2031136a02764182eaa85b
URL: https://github.com/llvm/llvm-project/commit/380defd4b3cd980d8b2031136a02764182eaa85b
DIFF: https://github.com/llvm/llvm-project/commit/380defd4b3cd980d8b2031136a02764182eaa85b.diff
LOG: [VPlan] Update VPInterleaveRecipe to take debug loc directly as arg (NFC)
Added:
Modified:
llvm/lib/Transforms/Vectorize/VPlan.h
llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Vectorize/VPlan.h b/llvm/lib/Transforms/Vectorize/VPlan.h
index 65a4d0ad406cd..50baf220a1002 100644
--- a/llvm/lib/Transforms/Vectorize/VPlan.h
+++ b/llvm/lib/Transforms/Vectorize/VPlan.h
@@ -2189,9 +2189,10 @@ class VPInterleaveRecipe : public VPRecipeBase {
public:
VPInterleaveRecipe(const InterleaveGroup<Instruction> *IG, VPValue *Addr,
ArrayRef<VPValue *> StoredValues, VPValue *Mask,
- bool NeedsMaskForGaps)
+ bool NeedsMaskForGaps, DebugLoc DL)
: VPRecipeBase(VPDef::VPInterleaveSC, {Addr},
- IG->getInsertPos()->getDebugLoc()),
+ DL),
+
IG(IG), NeedsMaskForGaps(NeedsMaskForGaps) {
for (unsigned i = 0; i < IG->getFactor(); ++i)
if (Instruction *I = IG->getMember(i)) {
@@ -2211,7 +2212,7 @@ class VPInterleaveRecipe : public VPRecipeBase {
VPInterleaveRecipe *clone() override {
return new VPInterleaveRecipe(IG, getAddr(), getStoredValues(), getMask(),
- NeedsMaskForGaps);
+ NeedsMaskForGaps, getDebugLoc());
}
VP_CLASSOF_IMPL(VPDef::VPInterleaveSC)
diff --git a/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp b/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
index 0c37db7f9d3a3..be3b3d19a3a11 100644
--- a/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+++ b/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
@@ -2283,7 +2283,7 @@ void VPlanTransforms::createInterleaveGroups(
: B.createPtrAdd(InsertPos->getAddr(), OffsetVPV);
}
auto *VPIG = new VPInterleaveRecipe(IG, Addr, StoredValues,
- InsertPos->getMask(), NeedsMaskForGaps);
+ InsertPos->getMask(), NeedsMaskForGaps, InsertPos->getDebugLoc());
VPIG->insertBefore(InsertPos);
unsigned J = 0;
diff --git a/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp b/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
index c1897e2c5d277..cb7545171744e 100644
--- a/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
+++ b/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
@@ -1040,7 +1040,7 @@ TEST_F(VPRecipeTest, CastVPInterleaveRecipeToVPUser) {
VPValue *Addr = Plan.getOrAddLiveIn(ConstantInt::get(Int32, 1));
VPValue *Mask = Plan.getOrAddLiveIn(ConstantInt::get(Int32, 2));
InterleaveGroup<Instruction> IG(4, false, Align(4));
- VPInterleaveRecipe Recipe(&IG, Addr, {}, Mask, false);
+ VPInterleaveRecipe Recipe(&IG, Addr, {}, Mask, false, DebugLoc());
EXPECT_TRUE(isa<VPUser>(&Recipe));
VPRecipeBase *BaseR = &Recipe;
EXPECT_TRUE(isa<VPUser>(BaseR));
More information about the llvm-commits
mailing list