Lines Matching refs:VPValue
256 DenseMap<VPValue *, PerPartValuesTy> PerPartOutput;
264 Value *get(VPValue *Def, unsigned Part) { in get()
273 void set(VPValue *Def, Value *V, unsigned Part) { in set()
354 VPValue *CondBit = nullptr;
488 VPValue *getCondBit() { return CondBit; } in getCondBit()
490 const VPValue *getCondBit() const { return CondBit; } in getCondBit()
492 void setCondBit(VPValue *CV) { CondBit = CV; } in setCondBit()
507 VPValue *Condition) { in setTwoSuccessors()
640 VPInstruction(unsigned Opcode, ArrayRef<VPValue *> Operands) in VPInstruction()
641 : VPUser(VPValue::VPInstructionSC, Operands), in VPInstruction()
644 VPInstruction(unsigned Opcode, std::initializer_list<VPValue *> Operands) in VPInstruction()
645 : VPInstruction(Opcode, ArrayRef<VPValue *>(Operands)) {} in VPInstruction()
648 static inline bool classof(const VPValue *V) { in classof()
649 return V->getVPValueID() == VPValue::VPInstructionSC; in classof()
653 SmallVector<VPValue *, 2> Operands(operands()); in clone()
778 VPBlendRecipe(PHINode *Phi, ArrayRef<VPValue *> Masks) in VPBlendRecipe()
807 VPInterleaveRecipe(const InterleaveGroup<Instruction> *IG, VPValue *Mask) in VPInterleaveRecipe()
882 VPBranchOnMaskRecipe(VPValue *BlockInMask) : VPRecipeBase(VPBranchOnMaskSC) { in VPBranchOnMaskRecipe()
944 VPWidenMemoryInstructionRecipe(Instruction &Instr, VPValue *Mask) in VPWidenMemoryInstructionRecipe()
1148 SmallPtrSet<VPValue *, 16> VPExternalDefs;
1152 VPValue *BackedgeTakenCount = nullptr;
1162 SmallVector<VPValue *, 4> VPCBVs;
1175 for (VPValue *Def : VPExternalDefs) in ~VPlan()
1177 for (VPValue *CBV : VPCBVs) in ~VPlan()
1190 VPValue *getOrCreateBackedgeTakenCount() { in getOrCreateBackedgeTakenCount()
1192 BackedgeTakenCount = new VPValue(); in getOrCreateBackedgeTakenCount()
1206 void addExternalDef(VPValue *VPVal) { in addExternalDef()
1211 void addCBV(VPValue *CBV) { in addCBV()
1218 Value2VPValue[V] = new VPValue(); in addVPValue()
1221 VPValue *getVPValue(Value *V) { in getVPValue()
1462 VPValue *Condition, VPBlockBase *BlockPtr) {
1547 static SmallVector<VPValue *, 4> getEmptyKey() {
1548 return {reinterpret_cast<VPValue *>(-1)};
1551 static SmallVector<VPValue *, 4> getTombstoneKey() {
1552 return {reinterpret_cast<VPValue *>(-2)};
1555 static unsigned getHashValue(const SmallVector<VPValue *, 4> &V) {
1559 static bool isEqual(const SmallVector<VPValue *, 4> &LHS,
1560 const SmallVector<VPValue *, 4> &RHS) {
1566 DenseMap<SmallVector<VPValue *, 4>, VPInstruction *, BundleDenseMapInfo>
1582 typename std::pair<VPInstruction *, SmallVector<VPValue *, 4>>;
1594 bool areVectorizable(ArrayRef<VPValue *> Operands) const;
1597 void addCombined(ArrayRef<VPValue *> Operands, VPInstruction *New);
1609 std::pair<OpMode, VPValue *> getBest(OpMode Mode, VPValue *Last,
1610 SmallPtrSetImpl<VPValue *> &Candidates,
1614 void dumpBundle(ArrayRef<VPValue *> Values);
1626 VPInstruction *buildGraph(ArrayRef<VPValue *> Operands);