@@ -532,7 +532,6 @@ class VPSingleDefRecipe : public VPRecipeBase, public VPValue {
532532 case VPRecipeBase::VPInstructionSC:
533533 case VPRecipeBase::VPReductionEVLSC:
534534 case VPRecipeBase::VPReductionSC:
535- case VPRecipeBase::VPReverseInterleavePtrSC:
536535 case VPRecipeBase::VPReplicateSC:
537536 case VPRecipeBase::VPScalarIVStepsSC:
538537 case VPRecipeBase::VPVectorPointerSC:
@@ -852,7 +851,6 @@ struct VPRecipeWithIRFlags : public VPSingleDefRecipe, public VPIRFlags {
852851 R->getVPDefID () == VPRecipeBase::VPReductionSC ||
853852 R->getVPDefID () == VPRecipeBase::VPReductionEVLSC ||
854853 R->getVPDefID () == VPRecipeBase::VPReplicateSC ||
855- R->getVPDefID () == VPRecipeBase::VPReverseInterleavePtrSC ||
856854 R->getVPDefID () == VPRecipeBase::VPVectorEndPointerSC ||
857855 R->getVPDefID () == VPRecipeBase::VPVectorPointerSC;
858856 }
@@ -1812,53 +1810,6 @@ class VPVectorPointerRecipe : public VPRecipeWithIRFlags,
18121810#endif
18131811};
18141812
1815- class VPReverseInterleavePtrRecipe : public VPRecipeWithIRFlags {
1816- Type *IndexedTy;
1817- unsigned Factor;
1818-
1819- public:
1820- VPReverseInterleavePtrRecipe (VPValue *Ptr, VPValue *VF, Type *IndexedTy,
1821- unsigned Factor, GEPNoWrapFlags GEPFlags,
1822- DebugLoc DL)
1823- : VPRecipeWithIRFlags(VPDef::VPReverseInterleavePtrSC,
1824- ArrayRef<VPValue *>({Ptr, VF}), GEPFlags, DL),
1825- IndexedTy (IndexedTy), Factor(Factor) {
1826- assert (Factor >= 2 && Factor <= 8 && " Unexpected factor" );
1827- }
1828-
1829- VP_CLASSOF_IMPL (VPDef::VPReverseInterleavePtrSC)
1830-
1831- VPValue *getPtr () const { return getOperand (0 ); }
1832-
1833- VPValue *getVFValue () const { return getOperand (1 ); }
1834-
1835- void execute (VPTransformState &State) override ;
1836-
1837- bool onlyFirstLaneUsed (const VPValue *Op) const override {
1838- assert (is_contained (operands (), Op) &&
1839- " Op must be an operand of the recipe" );
1840- return true ;
1841- }
1842-
1843- InstructionCost computeCost (ElementCount VF,
1844- VPCostContext &Ctx) const override {
1845- // TODO: Compute accurate cost after retiring the legacy cost model.
1846- return 0 ;
1847- }
1848-
1849- VPReverseInterleavePtrRecipe *clone () override {
1850- return new VPReverseInterleavePtrRecipe (getPtr (), getVFValue (), IndexedTy,
1851- Factor, getGEPNoWrapFlags (),
1852- getDebugLoc ());
1853- }
1854-
1855- #if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
1856- // / Print the recipe.
1857- void print (raw_ostream &O, const Twine &Indent,
1858- VPSlotTracker &SlotTracker) const override ;
1859- #endif
1860- };
1861-
18621813// / A pure virtual base class for all recipes modeling header phis, including
18631814// / phis for first order recurrences, pointer inductions and reductions. The
18641815// / start value is the first operand of the recipe and the incoming value from
0 commit comments