[llvm] [VPlan] Introduce VPIRFlags::getNWFlagsOrNone (NFC) (PR #207176)
Ramkumar Ramachandra via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 14 00:06:56 PDT 2026
================
@@ -4118,15 +4115,15 @@ class VPCurrentIterationPHIRecipe : public VPHeaderPHIRecipe {
class VPWidenCanonicalIVRecipe : public VPRecipeWithIRFlags {
public:
VPWidenCanonicalIVRecipe(VPRegionValue *CanonicalIV,
- const VPIRFlags::WrapFlagsTy &Flags = {false, false})
+ const VPIRFlags::WrapFlagsTy &Flags = {})
: VPRecipeWithIRFlags(VPRecipeBase::VPWidenCanonicalIVSC, CanonicalIV,
CanonicalIV->getType(), Flags) {}
~VPWidenCanonicalIVRecipe() override = default;
VPWidenCanonicalIVRecipe *clone() override {
auto *WideCanIV =
- new VPWidenCanonicalIVRecipe(getCanonicalIV(), getNoWrapFlags());
+ new VPWidenCanonicalIVRecipe(getCanonicalIV(), getNoWrapFlagsOrNone());
----------------
artagnon wrote:
What I meant is that VPIRFlags is fundamentally a union, and cannot have, for example both GEPNoWrapFlags and NoWrapFlags within it as required here:
```cpp
case InductionDescriptor::IK_PtrInduction:
return R->replaceAllUsesWith(Builder.createPtrAdd(
Start, Builder.createOverflowingOp(Instruction::Mul, {Index, Step})));
```
Anyway, reinstated getNoWrapFlags.
https://github.com/llvm/llvm-project/pull/207176
More information about the llvm-commits
mailing list