Lines Matching refs:Values
154 static SmallVector<VPValue *, 4> getOperands(ArrayRef<VPValue *> Values, in getOperands() argument
157 for (VPValue *V : Values) { in getOperands()
165 static bool areCommutative(ArrayRef<VPValue *> Values) { in areCommutative() argument
167 cast<VPInstruction>(Values[0])->getOpcode()); in areCommutative()
171 getOperands(ArrayRef<VPValue *> Values) { in getOperands() argument
173 auto *VPI = cast<VPInstruction>(Values[0]); in getOperands()
179 Result.push_back(getOperands(Values, 0)); in getOperands()
183 Result.push_back(getOperands(Values, I)); in getOperands()
191 static std::optional<unsigned> getOpcode(ArrayRef<VPValue *> Values) { in getOpcode() argument
192 unsigned Opcode = cast<VPInstruction>(Values[0])->getOpcode(); in getOpcode()
193 if (any_of(Values, [Opcode](VPValue *V) { in getOpcode()
345 void VPlanSlp::dumpBundle(ArrayRef<VPValue *> Values) { in dumpBundle() argument
347 for (auto *Op : Values) { in dumpBundle()
359 VPInstruction *VPlanSlp::buildGraph(ArrayRef<VPValue *> Values) { in buildGraph() argument
360 assert(!Values.empty() && "Need some operands!"); in buildGraph()
363 auto I = BundleToCombined.find(to_vector<4>(Values)); in buildGraph()
369 for (auto *V : Values) { in buildGraph()
384 dumpBundle(Values); in buildGraph()
387 if (!areVectorizable(Values)) in buildGraph()
390 assert(getOpcode(Values) && "Opcodes for all values must match"); in buildGraph()
391 unsigned ValuesOpcode = *getOpcode(Values); in buildGraph()
394 if (areCommutative(Values)) { in buildGraph()
397 for (auto &Operands : getOperands(Values)) { in buildGraph()
404 if (OperandsOpcode && OperandsOpcode == getOpcode(Values)) { in buildGraph()
438 for (VPValue *V : Values) in buildGraph()
441 for (auto &Operands : getOperands(Values)) in buildGraph()
462 auto *Inst = cast<VPInstruction>(Values[0])->getUnderlyingInstr(); in buildGraph()
466 << *cast<VPInstruction>(Values[0]) << "\n"); in buildGraph()
467 addCombined(Values, VPI); in buildGraph()