Skip to content

Commit d5c696a

Browse files
Moved clone() methods to unreachable for EVL-recipes
1 parent aaba08a commit d5c696a

File tree

1 file changed

+12
-6
lines changed
  • llvm/lib/Transforms/Vectorize

1 file changed

+12
-6
lines changed

llvm/lib/Transforms/Vectorize/VPlan.h

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1399,12 +1399,8 @@ class VPWidenEVLRecipe : public VPWidenRecipe {
13991399
~VPWidenEVLRecipe() override = default;
14001400

14011401
VPWidenRecipe *clone() override final {
1402-
SmallVector<VPValue *> Ops(operands());
1403-
VPValue *EVL = Ops.pop_back_val();
1404-
auto *R = new VPWidenEVLRecipe(*getUnderlyingInstr(),
1405-
make_range(Ops.begin(), Ops.end()), *EVL);
1406-
R->transferFlags(*this);
1407-
return R;
1402+
llvm_unreachable("VPWidenStoreEVLRecipe cannot be cloned");
1403+
return nullptr;
14081404
}
14091405

14101406
VP_CLASSOF_IMPL(VPDef::VPWidenEVLSC);
@@ -2489,6 +2485,11 @@ struct VPWidenLoadEVLRecipe final : public VPWidenMemoryRecipe, public VPValue {
24892485
setMask(Mask);
24902486
}
24912487

2488+
VPWidenLoadEVLRecipe *clone() override {
2489+
llvm_unreachable("VPWidenLoadEVLRecipe recipe cannot be cloned");
2490+
return nullptr;
2491+
}
2492+
24922493
VP_CLASSOF_IMPL(VPDef::VPWidenLoadEVLSC)
24932494

24942495
/// Return the EVL operand.
@@ -2565,6 +2566,11 @@ struct VPWidenStoreEVLRecipe final : public VPWidenMemoryRecipe {
25652566
setMask(Mask);
25662567
}
25672568

2569+
VPWidenStoreEVLRecipe *clone() override {
2570+
llvm_unreachable("VPWidenStoreEVLRecipe cannot be cloned");
2571+
return nullptr;
2572+
}
2573+
25682574
VP_CLASSOF_IMPL(VPDef::VPWidenStoreEVLSC)
25692575

25702576
/// Return the address accessed by this recipe.

0 commit comments

Comments
 (0)