Lines Matching refs:VPValue
44 class VPValue {
67 VPValue(const unsigned char SC, Value *UV = nullptr, VPDef *Def = nullptr);
96 VPValue(Value *UV = nullptr) : VPValue(VPValueSC, UV, nullptr) {} in VPValue() function
98 VPValue(VPDef *Def, Value *UV = nullptr) : VPValue(VPVRecipeSC, UV, Def) {} in VPValue() function
100 VPValue(Value *UV, VPDef *Def) : VPValue(VPValueSC, UV, Def) {} in VPValue() function
101 VPValue(const VPValue &) = delete;
102 VPValue &operator=(const VPValue &) = delete;
104 virtual ~VPValue();
157 void replaceAllUsesWith(VPValue *New);
163 VPValue *New,
197 typedef DenseMap<Value *, VPValue *> Value2VPValueTy;
198 typedef DenseMap<VPValue *, Value *> VPValue2ValueTy;
200 raw_ostream &operator<<(raw_ostream &OS, const VPValue &V);
213 SmallVector<VPValue *, 2> Operands;
223 VPUser(ArrayRef<VPValue *> Operands, VPUserID ID) : ID(ID) { in VPUser()
224 for (VPValue *Operand : Operands) in VPUser()
228 VPUser(std::initializer_list<VPValue *> Operands, VPUserID ID) in VPUser()
229 : VPUser(ArrayRef<VPValue *>(Operands), ID) {} in VPUser()
233 for (VPValue *Operand : Operands) in VPUser()
242 for (VPValue *Op : operands()) in ~VPUser()
248 void addOperand(VPValue *Operand) { in addOperand()
254 inline VPValue *getOperand(unsigned N) const { in getOperand()
259 void setOperand(unsigned I, VPValue *New) { in setOperand()
266 VPValue *Op = Operands.pop_back_val(); in removeLastOperand()
270 typedef SmallVectorImpl<VPValue *>::iterator operand_iterator;
271 typedef SmallVectorImpl<VPValue *>::const_iterator const_operand_iterator;
286 virtual bool usesScalars(const VPValue *Op) const { in usesScalars()
294 virtual bool onlyFirstLaneUsed(const VPValue *Op) const { in onlyFirstLaneUsed()
302 virtual bool onlyFirstPartUsed(const VPValue *Op) const { in onlyFirstPartUsed()
315 friend class VPValue; variable
321 TinyPtrVector<VPValue *> DefinedValues;
324 void addDefinedValue(VPValue *V) { in addDefinedValue()
332 void removeDefinedValue(VPValue *V) { in removeDefinedValue()
385 for (VPValue *D : make_early_inc_range(DefinedValues)) { in ~VPDef()
397 VPValue *getVPSingleValue() { in getVPSingleValue()
402 const VPValue *getVPSingleValue() const { in getVPSingleValue()
409 VPValue *getVPValue(unsigned I) { in getVPValue()
413 const VPValue *getVPValue(unsigned I) const { in getVPValue()
419 ArrayRef<VPValue *> definedValues() { return DefinedValues; } in definedValues()
421 ArrayRef<VPValue *> definedValues() const { return DefinedValues; } in definedValues()
448 DenseMap<const VPValue *, unsigned> Slots;
451 void assignSlot(const VPValue *V);
461 unsigned getSlot(const VPValue *V) const { in getSlot()