• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/

Lines Matching refs:VPValue

13 /// VPValue
39 class VPValue {
51 // Hold the underlying Value, if any, attached to this VPValue.
54 VPValue(const unsigned char SC, Value *UV = nullptr)
64 /// Return the underlying Value attached to this VPValue.
68 // Set \p Val as the underlying Value of this VPValue.
75 /// An enumeration for keeping track of the concrete subclass of VPValue that
77 /// SubclassID field of the VPValue objects. They are used for concrete
81 VPValue(Value *UV = nullptr) : VPValue(VPValueSC, UV) {}
82 VPValue(const VPValue &) = delete;
83 VPValue &operator=(const VPValue &) = delete;
122 void replaceAllUsesWith(VPValue *New);
125 typedef DenseMap<Value *, VPValue *> Value2VPValueTy;
126 typedef DenseMap<VPValue *, Value *> VPValue2ValueTy;
128 raw_ostream &operator<<(raw_ostream &OS, const VPValue &V);
130 /// This class augments VPValue with operands which provide the inverse def-use
131 /// edges from VPValue's users to their defs.
132 class VPUser : public VPValue {
133 SmallVector<VPValue *, 2> Operands;
136 VPUser(const unsigned char SC) : VPValue(SC) {}
137 VPUser(const unsigned char SC, ArrayRef<VPValue *> Operands) : VPValue(SC) {
138 for (VPValue *Operand : Operands)
143 VPUser() : VPValue(VPValue::VPUserSC) {}
144 VPUser(ArrayRef<VPValue *> Operands) : VPUser(VPValue::VPUserSC, Operands) {}
145 VPUser(std::initializer_list<VPValue *> Operands)
146 : VPUser(ArrayRef<VPValue *>(Operands)) {}
148 VPUser(iterator_range<IterT> Operands) : VPValue(VPValue::VPUserSC) {
149 for (VPValue *Operand : Operands)
157 static inline bool classof(const VPValue *V) {
162 void addOperand(VPValue *Operand) {
168 inline VPValue *getOperand(unsigned N) const {
173 void setOperand(unsigned I, VPValue *New) { Operands[I] = New; }
175 typedef SmallVectorImpl<VPValue *>::iterator operand_iterator;
176 typedef SmallVectorImpl<VPValue *>::const_iterator const_operand_iterator;
197 DenseMap<const VPValue *, unsigned> Slots;
203 void assignSlot(const VPValue *V);
213 unsigned getSlot(const VPValue *V) const {