Lines Matching refs:VPRecipeBase
551 class VPRecipeBase : public ilist_node_with_parent<VPRecipeBase, VPBasicBlock> {
578 VPRecipeBase(const unsigned char SC) : SubclassID(SC) {} in VPRecipeBase() function
579 virtual ~VPRecipeBase() = default;
599 void insertBefore(VPRecipeBase *InsertPos);
604 iplist<VPRecipeBase>::iterator eraseFromParent();
611 class VPInstruction : public VPUser, public VPRecipeBase {
642 VPRecipeBase(VPRecipeBase::VPInstructionSC), Opcode(Opcode) {} in VPInstruction()
658 static inline bool classof(const VPRecipeBase *R) { in classof()
659 return R->getVPRecipeID() == VPRecipeBase::VPInstructionSC; in classof()
688 class VPWidenRecipe : public VPRecipeBase {
695 VPWidenRecipe(Instruction *I) : VPRecipeBase(VPWidenSC) { in VPWidenRecipe()
703 static inline bool classof(const VPRecipeBase *V) { in classof()
704 return V->getVPRecipeID() == VPRecipeBase::VPWidenSC; in classof()
724 class VPWidenIntOrFpInductionRecipe : public VPRecipeBase {
731 : VPRecipeBase(VPWidenIntOrFpInductionSC), IV(IV), Trunc(Trunc) {} in VPRecipeBase() function
735 static inline bool classof(const VPRecipeBase *V) { in classof()
736 return V->getVPRecipeID() == VPRecipeBase::VPWidenIntOrFpInductionSC; in classof()
748 class VPWidenPHIRecipe : public VPRecipeBase {
753 VPWidenPHIRecipe(PHINode *Phi) : VPRecipeBase(VPWidenPHISC), Phi(Phi) {} in VPWidenPHIRecipe()
757 static inline bool classof(const VPRecipeBase *V) { in classof()
758 return V->getVPRecipeID() == VPRecipeBase::VPWidenPHISC; in classof()
770 class VPBlendRecipe : public VPRecipeBase {
779 : VPRecipeBase(VPBlendSC), Phi(Phi) { in VPBlendRecipe()
788 static inline bool classof(const VPRecipeBase *V) { in classof()
789 return V->getVPRecipeID() == VPRecipeBase::VPBlendSC; in classof()
801 class VPInterleaveRecipe : public VPRecipeBase {
808 : VPRecipeBase(VPInterleaveSC), IG(IG) { in VPInterleaveRecipe()
815 static inline bool classof(const VPRecipeBase *V) { in classof()
816 return V->getVPRecipeID() == VPRecipeBase::VPInterleaveSC; in classof()
832 class VPReplicateRecipe : public VPRecipeBase {
848 : VPRecipeBase(VPReplicateSC), Ingredient(I), IsUniform(IsUniform), in VPRecipeBase() function
861 static inline bool classof(const VPRecipeBase *V) { in classof()
862 return V->getVPRecipeID() == VPRecipeBase::VPReplicateSC; in classof()
877 class VPBranchOnMaskRecipe : public VPRecipeBase {
882 VPBranchOnMaskRecipe(VPValue *BlockInMask) : VPRecipeBase(VPBranchOnMaskSC) { in VPBranchOnMaskRecipe()
888 static inline bool classof(const VPRecipeBase *V) { in classof()
889 return V->getVPRecipeID() == VPRecipeBase::VPBranchOnMaskSC; in classof()
912 class VPPredInstPHIRecipe : public VPRecipeBase {
920 : VPRecipeBase(VPPredInstPHISC), PredInst(PredInst) {} in VPPredInstPHIRecipe()
924 static inline bool classof(const VPRecipeBase *V) { in classof()
925 return V->getVPRecipeID() == VPRecipeBase::VPPredInstPHISC; in classof()
938 class VPWidenMemoryInstructionRecipe : public VPRecipeBase {
945 : VPRecipeBase(VPWidenMemoryInstructionSC), Instr(Instr) { in VPWidenMemoryInstructionRecipe()
951 static inline bool classof(const VPRecipeBase *V) { in classof()
952 return V->getVPRecipeID() == VPRecipeBase::VPWidenMemoryInstructionSC; in classof()
967 using RecipeListTy = iplist<VPRecipeBase>;
974 VPBasicBlock(const Twine &Name = "", VPRecipeBase *Recipe = nullptr)
1003 inline const VPRecipeBase &front() const { return Recipes.front(); } in front()
1004 inline VPRecipeBase &front() { return Recipes.front(); } in front()
1005 inline const VPRecipeBase &back() const { return Recipes.back(); } in back()
1006 inline VPRecipeBase &back() { return Recipes.back(); } in back()
1012 static RecipeListTy VPBasicBlock::*getSublistAccess(VPRecipeBase *) { in getSublistAccess() argument
1021 void insert(VPRecipeBase *Recipe, iterator InsertPt) { in insert()
1030 void appendRecipe(VPRecipeBase *Recipe) { insert(Recipe, end()); } in appendRecipe()