Lines Matching refs:Values
162 static SmallVector<VPValue *, 4> getOperands(ArrayRef<VPValue *> Values, in getOperands() argument
165 for (VPValue *V : Values) { in getOperands()
173 static bool areCommutative(ArrayRef<VPValue *> Values) { in areCommutative() argument
175 cast<VPInstruction>(Values[0])->getOpcode()); in areCommutative()
179 getOperands(ArrayRef<VPValue *> Values) { in getOperands() argument
181 auto *VPI = cast<VPInstruction>(Values[0]); in getOperands()
187 Result.push_back(getOperands(Values, 0)); in getOperands()
191 Result.push_back(getOperands(Values, I)); in getOperands()
199 static Optional<unsigned> getOpcode(ArrayRef<VPValue *> Values) { in getOpcode() argument
200 unsigned Opcode = cast<VPInstruction>(Values[0])->getOpcode(); in getOpcode()
201 if (any_of(Values, [Opcode](VPValue *V) { in getOpcode()
353 void VPlanSlp::dumpBundle(ArrayRef<VPValue *> Values) { in dumpBundle() argument
355 for (auto Op : Values) { in dumpBundle()
367 VPInstruction *VPlanSlp::buildGraph(ArrayRef<VPValue *> Values) { in buildGraph() argument
368 assert(!Values.empty() && "Need some operands!"); in buildGraph()
371 auto I = BundleToCombined.find(to_vector<4>(Values)); in buildGraph()
377 for (auto *V : Values) { in buildGraph()
392 dumpBundle(Values); in buildGraph()
395 if (!areVectorizable(Values)) in buildGraph()
398 assert(getOpcode(Values) && "Opcodes for all values must match"); in buildGraph()
399 unsigned ValuesOpcode = getOpcode(Values).getValue(); in buildGraph()
402 if (areCommutative(Values)) { in buildGraph()
405 for (auto &Operands : getOperands(Values)) { in buildGraph()
412 if (OperandsOpcode && OperandsOpcode == getOpcode(Values)) { in buildGraph()
446 for (VPValue *V : Values) in buildGraph()
449 for (auto &Operands : getOperands(Values)) in buildGraph()
471 VPI->setUnderlyingInstr(cast<VPInstruction>(Values[0])->getUnderlyingInstr()); in buildGraph()
474 << *cast<VPInstruction>(Values[0]) << "\n"); in buildGraph()
475 addCombined(Values, VPI); in buildGraph()