class SDUse
Declaration
class SDUse { /* full declaration omitted */ };
Description
Represents a use of a SDNode. This class holds an SDValue, which records the SDNode being used and the result number, a pointer to the SDNode using the value, and Next and Prev pointers, which link together all the uses of an SDNode.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:277
Member Variables
- private llvm::SDValue Val
- Val - The value being used.
- private llvm::SDNode* User = nullptr
- User - The user of this value.
- private llvm::SDUse** Prev = nullptr
- Prev, Next - Pointers to the uses list of the SDNode referred by this operand.
- private llvm::SDUse* Next = nullptr
Method Overview
- public SDUse()
- public SDUse(const llvm::SDUse & U)
- private void addToList(llvm::SDUse ** List)
- public const llvm::SDValue & get() const
- public llvm::SDUse * getNext() const
- public llvm::SDNode * getNode() const
- public unsigned int getResNo() const
- public llvm::SDNode * getUser()
- public llvm::EVT getValueType() const
- public const llvm::SDValue & operator const llvm::SDValue &() const
- private void removeFromList()
- private inline void set(const llvm::SDValue & V)
- private inline void setInitial(const llvm::SDValue & V)
- private inline void setNode(llvm::SDNode * N)
- private void setUser(llvm::SDNode * p)
Methods
¶SDUse()
SDUse()
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:288
¶SDUse(const llvm::SDUse& U)
SDUse(const llvm::SDUse& U)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:289
Parameters
- const llvm::SDUse& U
¶void addToList(llvm::SDUse** List)
void addToList(llvm::SDUse** List)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:345
Parameters
- llvm::SDUse** List
¶const llvm::SDValue& get() const
const llvm::SDValue& get() const
Description
If implicit conversion to SDValue doesn't work, the get() method returns the SDValue.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:297
¶llvm::SDUse* getNext() const
llvm::SDUse* getNext() const
Description
Get the next SDUse in the use list.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:303
¶llvm::SDNode* getNode() const
llvm::SDNode* getNode() const
Description
Convenience function for get().getNode().
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:306
¶unsigned int getResNo() const
unsigned int getResNo() const
Description
Convenience function for get().getResNo().
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:308
¶llvm::SDNode* getUser()
llvm::SDNode* getUser()
Description
This returns the SDNode that contains this Use.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:300
¶llvm::EVT getValueType() const
llvm::EVT getValueType() const
Description
Convenience function for get().getValueType().
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:310
¶const llvm::SDValue&
operator const llvm::SDValue&() const
const llvm::SDValue&
operator const llvm::SDValue&() const
Description
Normally SDUse will just implicitly convert to an SDValue that it holds.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:293
¶void removeFromList()
void removeFromList()
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:352
¶inline void set(const llvm::SDValue& V)
inline void set(const llvm::SDValue& V)
Description
Remove this use from its existing use list, assign it the given value, and add it to the new value's node's use list.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:337
Parameters
- const llvm::SDValue& V
¶inline void setInitial(const llvm::SDValue& V)
inline void setInitial(const llvm::SDValue& V)
Description
Like set, but only supports initializing a newly-allocated SDUse with a non-null value.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:340
Parameters
- const llvm::SDValue& V
¶inline void setNode(llvm::SDNode* N)
inline void setNode(llvm::SDNode* N)
Description
Like set, but only sets the Node portion of the value, leaving the ResNo portion unmodified.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:343
Parameters
- llvm::SDNode* N
¶void setUser(llvm::SDNode* p)
void setUser(llvm::SDNode* p)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:333
Parameters
- llvm::SDNode* p