Lines Matching defs:Operands
775 VPRecipeBase(const unsigned char SC, ArrayRef<VPValue *> Operands,
777 : VPDef(SC), VPUser(Operands, VPUser::VPUserID::Recipe), DL(DL) {}
780 VPRecipeBase(const unsigned char SC, iterator_range<IterT> Operands,
782 : VPDef(SC), VPUser(Operands, VPUser::VPUserID::Recipe), DL(DL) {}
894 VPSingleDefRecipe(const unsigned char SC, IterT Operands, DebugLoc DL = {})
895 : VPRecipeBase(SC, Operands, DL), VPValue(this) {}
897 VPSingleDefRecipe(const unsigned char SC, ArrayRef<VPValue *> Operands,
899 : VPRecipeBase(SC, Operands, DL), VPValue(this) {}
902 VPSingleDefRecipe(const unsigned char SC, IterT Operands, Value *UV,
904 : VPRecipeBase(SC, Operands, DL), VPValue(this, UV) {}
1035 VPRecipeWithIRFlags(const unsigned char SC, IterT Operands, DebugLoc DL = {})
1036 : VPSingleDefRecipe(SC, Operands, DL) {
1042 VPRecipeWithIRFlags(const unsigned char SC, IterT Operands, Instruction &I)
1043 : VPSingleDefRecipe(SC, Operands, &I, I.getDebugLoc()) {
1072 VPRecipeWithIRFlags(const unsigned char SC, IterT Operands,
1074 : VPSingleDefRecipe(SC, Operands, DL), OpType(OperationType::Cmp),
1078 VPRecipeWithIRFlags(const unsigned char SC, IterT Operands,
1080 : VPSingleDefRecipe(SC, Operands, DL),
1084 VPRecipeWithIRFlags(const unsigned char SC, IterT Operands,
1086 : VPSingleDefRecipe(SC, Operands, DL), OpType(OperationType::FPMathOp),
1090 VPRecipeWithIRFlags(const unsigned char SC, IterT Operands,
1092 : VPSingleDefRecipe(SC, Operands, DL), OpType(OperationType::DisjointOp),
1097 VPRecipeWithIRFlags(const unsigned char SC, IterT Operands,
1099 : VPSingleDefRecipe(SC, Operands, DL), OpType(OperationType::GEPOp),
1304 VPInstruction(unsigned Opcode, ArrayRef<VPValue *> Operands, DebugLoc DL,
1306 : VPRecipeWithIRFlags(VPDef::VPInstructionSC, Operands, DL),
1309 VPInstruction(unsigned Opcode, std::initializer_list<VPValue *> Operands,
1311 : VPInstruction(Opcode, ArrayRef<VPValue *>(Operands), DL, Name) {}
1316 VPInstruction(unsigned Opcode, std::initializer_list<VPValue *> Operands,
1318 : VPRecipeWithIRFlags(VPDef::VPInstructionSC, Operands, WrapFlags, DL),
1321 VPInstruction(unsigned Opcode, std::initializer_list<VPValue *> Operands,
1324 : VPRecipeWithIRFlags(VPDef::VPInstructionSC, Operands, DisjointFlag, DL),
1329 VPInstruction(unsigned Opcode, std::initializer_list<VPValue *> Operands,
1335 SmallVector<VPValue *, 2> Operands(operands());
1336 auto *New = new VPInstruction(Opcode, Operands, getDebugLoc(), Name);
1411 VPWidenRecipe(Instruction &I, iterator_range<IterT> Operands)
1412 : VPRecipeWithIRFlags(VPDef::VPWidenSC, Operands, I),
1581 VPWidenSelectRecipe(SelectInst &I, iterator_range<IterT> Operands)
1582 : VPSingleDefRecipe(VPDef::VPWidenSelectSC, Operands, &I,
1630 VPWidenGEPRecipe(GetElementPtrInst *GEP, iterator_range<IterT> Operands)
1631 : VPRecipeWithIRFlags(VPDef::VPWidenGEPSC, Operands, *GEP) {}
2030 VPBlendRecipe(PHINode *Phi, ArrayRef<VPValue *> Operands)
2031 : VPSingleDefRecipe(VPDef::VPBlendSC, Operands, Phi, Phi->getDebugLoc()) {
2032 assert((Operands.size() + 1) % 2 == 0 &&
2172 /// The Operands are {ChainOp, VecOp, [Condition]}.
2182 Instruction *I, ArrayRef<VPValue *> Operands,
2184 : VPSingleDefRecipe(SC, Operands, I), RdxDesc(R), IsOrdered(IsOrdered) {
2246 /// The Operands are {ChainOp, VecOp, EVL, [Condition]}.
2297 VPReplicateRecipe(Instruction *I, iterator_range<IterT> Operands,
2299 : VPRecipeWithIRFlags(VPDef::VPReplicateSC, Operands, *I),
2467 std::initializer_list<VPValue *> Operands,
2469 : VPRecipeBase(SC, Operands, DL), Ingredient(I), Consecutive(Consecutive),
3750 /// Check if we can vectorize Operands together.
3751 bool areVectorizable(ArrayRef<VPValue *> Operands) const;
3753 /// Add combined instruction \p New for the bundle \p Operands.
3754 void addCombined(ArrayRef<VPValue *> Operands, VPInstruction *New);
3780 /// Tries to build an SLP tree rooted at \p Operands and returns a
3781 /// VPInstruction combining \p Operands, if they can be combined.
3782 VPInstruction *buildGraph(ArrayRef<VPValue *> Operands);