Lines Matching refs:VPInstruction

41 VPInstruction *VPlanSlp::markFailed() {  in markFailed()
48 void VPlanSlp::addCombined(ArrayRef<VPValue *> Operands, VPInstruction *New) { in addCombined()
50 return cast<VPInstruction>(V)->getUnderlyingInstr(); in addCombined()
54 Type *T = cast<VPInstruction>(V)->getUnderlyingInstr()->getType(); in addCombined()
70 return Op && isa<VPInstruction>(Op) && in areVectorizable()
71 cast<VPInstruction>(Op)->getUnderlyingInstr(); in areVectorizable()
82 cast<VPInstruction>(Operands[0])->getUnderlyingInstr(); in areVectorizable()
86 const Instruction *I = cast<VPInstruction>(Op)->getUnderlyingInstr(); in areVectorizable()
96 return cast<VPInstruction>(Op)->getParent() != &this->BB; in areVectorizable()
114 VPBasicBlock *Parent = cast<VPInstruction>(Operands[0])->getParent(); in areVectorizable()
116 auto *VPI = dyn_cast<VPInstruction>(&I); in areVectorizable()
133 return cast<LoadInst>(cast<VPInstruction>(Op)->getUnderlyingInstr()) in areVectorizable()
143 return cast<StoreInst>(cast<VPInstruction>(Op)->getUnderlyingInstr()) in areVectorizable()
158 auto *U = cast<VPInstruction>(V); in getOperands()
166 cast<VPInstruction>(Values[0])->getOpcode()); in areCommutative()
172 auto *VPI = cast<VPInstruction>(Values[0]); in getOperands()
191 unsigned Opcode = cast<VPInstruction>(Values[0])->getOpcode(); in getOpcode()
193 return cast<VPInstruction>(V)->getOpcode() != Opcode; in getOpcode()
201 static bool areConsecutiveOrMatch(VPInstruction *A, VPInstruction *B, in areConsecutiveOrMatch()
219 auto *I1 = dyn_cast<VPInstruction>(V1); in getLAScore()
220 auto *I2 = dyn_cast<VPInstruction>(V2); in getLAScore()
246 << *cast<VPInstruction>(Last)->getUnderlyingInstr() << " "); in getBest()
248 auto *LastI = cast<VPInstruction>(Last); in getBest()
249 auto *CandidateI = cast<VPInstruction>(Candidate); in getBest()
251 LLVM_DEBUG(dbgs() << *cast<VPInstruction>(Candidate)->getUnderlyingInstr() in getBest()
288 << *cast<VPInstruction>(Best)->getUnderlyingInstr() in getBest()
305 if (cast<VPInstruction>(Operands.second[0])->getOpcode() == in reorderMultiNodeOps()
318 dbgs() << *cast<VPInstruction>(Ops.second[Lane])->getUnderlyingInstr() in reorderMultiNodeOps()
347 if (auto *VPInstr = cast_or_null<VPInstruction>(Op)) in dumpBundle()
358 VPInstruction *VPlanSlp::buildGraph(ArrayRef<VPValue *> Values) { in buildGraph()
410 VPInstruction *Op = new VPInstruction(0, {}); in buildGraph()
424 VPInstruction *NewOp = buildGraph(Ops.second); in buildGraph()
438 CombinedOperands.push_back(cast<VPInstruction>(V)->getOperand(0)); in buildGraph()
447 Opcode = VPInstruction::SLPLoad; in buildGraph()
450 Opcode = VPInstruction::SLPStore; in buildGraph()
461 auto *Inst = cast<VPInstruction>(Values[0])->getUnderlyingInstr(); in buildGraph()
462 auto *VPI = new VPInstruction(Opcode, CombinedOperands, Inst->getDebugLoc()); in buildGraph()
466 << *cast<VPInstruction>(Values[0]) << "\n"); in buildGraph()