@@ -2312,9 +2312,8 @@ class VPWidenPHIRecipe : public VPSingleDefRecipe {
2312
2312
2313
2313
public:
2314
2314
// / Create a new VPWidenPHIRecipe for \p Phi with start value \p Start.
2315
- VPWidenPHIRecipe (PHINode *Phi, VPValue *Start = nullptr )
2316
- : VPSingleDefRecipe(VPDef::VPWidenPHISC, ArrayRef<VPValue *>(), Phi,
2317
- Phi->getDebugLoc ()) {
2315
+ VPWidenPHIRecipe (PHINode *Phi, VPValue *Start = nullptr , DebugLoc DL = {})
2316
+ : VPSingleDefRecipe(VPDef::VPWidenPHISC, ArrayRef<VPValue *>(), Phi, DL) {
2318
2317
if (Start)
2319
2318
addOperand (Start);
2320
2319
}
@@ -2615,8 +2614,8 @@ class VPReductionRecipe : public VPSingleDefRecipe {
2615
2614
protected:
2616
2615
VPReductionRecipe (const unsigned char SC, const RecurrenceDescriptor &R,
2617
2616
Instruction *I, ArrayRef<VPValue *> Operands,
2618
- VPValue *CondOp, bool IsOrdered)
2619
- : VPSingleDefRecipe(SC, Operands, I, I-> getDebugLoc () ), RdxDesc(R),
2617
+ VPValue *CondOp, bool IsOrdered, DebugLoc DL )
2618
+ : VPSingleDefRecipe(SC, Operands, I, DL ), RdxDesc(R),
2620
2619
IsOrdered (IsOrdered) {
2621
2620
if (CondOp) {
2622
2621
IsConditional = true ;
@@ -2627,16 +2626,17 @@ class VPReductionRecipe : public VPSingleDefRecipe {
2627
2626
public:
2628
2627
VPReductionRecipe (const RecurrenceDescriptor &R, Instruction *I,
2629
2628
VPValue *ChainOp, VPValue *VecOp, VPValue *CondOp,
2630
- bool IsOrdered)
2629
+ bool IsOrdered, DebugLoc DL = {} )
2631
2630
: VPReductionRecipe(VPDef::VPReductionSC, R, I,
2632
2631
ArrayRef<VPValue *>({ChainOp, VecOp}), CondOp,
2633
- IsOrdered) {}
2632
+ IsOrdered, DL ) {}
2634
2633
2635
2634
~VPReductionRecipe () override = default ;
2636
2635
2637
2636
VPReductionRecipe *clone () override {
2638
2637
return new VPReductionRecipe (RdxDesc, getUnderlyingInstr (), getChainOp (),
2639
- getVecOp (), getCondOp (), IsOrdered);
2638
+ getVecOp (), getCondOp (), IsOrdered,
2639
+ getDebugLoc ());
2640
2640
}
2641
2641
2642
2642
static inline bool classof (const VPRecipeBase *R) {
@@ -2691,7 +2691,7 @@ class VPReductionEVLRecipe : public VPReductionRecipe {
2691
2691
VPDef::VPReductionEVLSC, R.getRecurrenceDescriptor(),
2692
2692
cast_or_null<Instruction>(R.getUnderlyingValue()),
2693
2693
ArrayRef<VPValue *>({R.getChainOp (), R.getVecOp (), &EVL}), CondOp,
2694
- R.isOrdered()) {}
2694
+ R.isOrdered(), R.getDebugLoc() ) {}
2695
2695
2696
2696
~VPReductionEVLRecipe () override = default ;
2697
2697
0 commit comments