@@ -687,37 +687,29 @@ m_DerivedIV(const Op0_t &Op0, const Op1_t &Op1, const Op2_t &Op2) {
687687 return VPDerivedIV_match<Op0_t, Op1_t, Op2_t>({Op0, Op1, Op2});
688688}
689689
690- template <typename Addr_t, typename Mask_t, bool Reverse > struct Load_match {
690+ template <typename Addr_t, typename Mask_t> struct Load_match {
691691 Addr_t Addr;
692692 Mask_t Mask;
693693
694694 Load_match (Addr_t Addr, Mask_t Mask) : Addr(Addr), Mask(Mask) {}
695695
696696 template <typename OpTy> bool match (const OpTy *V) const {
697697 auto *Load = dyn_cast<VPWidenLoadRecipe>(V);
698- if (!Load || Load->isReverse () != Reverse || !Addr. match ( Load->getAddr () ) ||
699- !Load-> isMasked () || ! Mask.match (Load->getMask ()))
698+ if (!Load || !Addr. match ( Load->getAddr ()) || !Load->isMasked ( ) ||
699+ !Mask.match (Load->getMask ()))
700700 return false ;
701701 return true ;
702702 }
703703};
704704
705- // / Match a non- reversed masked load.
705+ // / Match a (possibly reversed) masked load.
706706template <typename Addr_t, typename Mask_t>
707- inline Load_match<Addr_t, Mask_t, false > m_Load (const Addr_t &Addr,
708- const Mask_t &Mask) {
709- return Load_match<Addr_t, Mask_t, false >(Addr, Mask);
707+ inline Load_match<Addr_t, Mask_t> m_MaskedLoad (const Addr_t &Addr,
708+ const Mask_t &Mask) {
709+ return Load_match<Addr_t, Mask_t>(Addr, Mask);
710710}
711711
712- // / Match a reversed masked load.
713- template <typename Addr_t, typename Mask_t>
714- inline Load_match<Addr_t, Mask_t, true > m_ReverseLoad (const Addr_t &Addr,
715- const Mask_t &Mask) {
716- return Load_match<Addr_t, Mask_t, true >(Addr, Mask);
717- }
718-
719- template <typename Addr_t, typename Val_t, typename Mask_t, bool Reverse>
720- struct Store_match {
712+ template <typename Addr_t, typename Val_t, typename Mask_t> struct Store_match {
721713 Addr_t Addr;
722714 Val_t Val;
723715 Mask_t Mask;
@@ -727,26 +719,19 @@ struct Store_match {
727719
728720 template <typename OpTy> bool match (const OpTy *V) const {
729721 auto *Store = dyn_cast<VPWidenStoreRecipe>(V);
730- if (!Store || Store->isReverse () != Reverse ||
731- !Addr .match (Store->getAddr ()) || !Val. match ( Store->getStoredValue () ) ||
732- !Store-> isMasked () || ! Mask.match (Store->getMask ()))
722+ if (!Store || !Addr. match ( Store->getAddr ()) ||
723+ !Val .match (Store->getStoredValue ()) || !Store->isMasked ( ) ||
724+ !Mask.match (Store->getMask ()))
733725 return false ;
734726 return true ;
735727 }
736728};
737729
738- // / Match a non-reversed masked store.
739- template <typename Addr_t, typename Val_t, typename Mask_t>
740- inline Store_match<Addr_t, Val_t, Mask_t, false >
741- m_Store (const Addr_t &Addr, const Val_t &Val, const Mask_t &Mask) {
742- return Store_match<Addr_t, Val_t, Mask_t, false >(Addr, Val, Mask);
743- }
744-
745- // / Match a reversed masked store.
730+ // / Match a (possibly reversed) masked store.
746731template <typename Addr_t, typename Val_t, typename Mask_t>
747- inline Store_match<Addr_t, Val_t, Mask_t, true >
748- m_ReverseStore (const Addr_t &Addr, const Val_t &Val, const Mask_t &Mask) {
749- return Store_match<Addr_t, Val_t, Mask_t, true >(Addr, Val, Mask);
732+ inline Store_match<Addr_t, Val_t, Mask_t>
733+ m_MaskedStore (const Addr_t &Addr, const Val_t &Val, const Mask_t &Mask) {
734+ return Store_match<Addr_t, Val_t, Mask_t>(Addr, Val, Mask);
750735}
751736
752737template <typename Op0_t, typename Op1_t>
0 commit comments