class Use
Declaration
class Use { /* full declaration omitted */ };
Description
A Use represents the edge between a Value definition and its users. This is notionally a two-dimensional linked list. It supports traversing all of the uses for a particular value definition. It also supports jumping directly to the used value when we arrive from the User's operands, and jumping directly to the User when we arrive from the Value's uses.
Declared at: llvm/include/llvm/IR/Use.h:43
Member Variables
- private llvm::Value* Val = nullptr
- private llvm::Use* Next = nullptr
- private llvm::Use** Prev = nullptr
- private llvm::User* Parent = nullptr
Method Overview
- public Use(const llvm::Use & U)
- private Use(llvm::User * Parent)
- private void addToList(llvm::Use ** List)
- public llvm::Value * get() const
- public llvm::Use * getNext() const
- public unsigned int getOperandNo() const
- public llvm::User * getUser() const
- public llvm::Value * operator llvm::Value *() const
- private void removeFromList()
- public inline void set(llvm::Value * Val)
- public void swap(llvm::Use & RHS)
- public static void zap(llvm::Use * Start, const llvm::Use * Stop, bool del = false)
- private ~Use()
Methods
¶Use(const llvm::Use& U)
Use(const llvm::Use& U)
Declared at: llvm/include/llvm/IR/Use.h:45
Parameters
- const llvm::Use& U
¶Use(llvm::User* Parent)
Use(llvm::User* Parent)
Description
Constructor
Declared at: llvm/include/llvm/IR/Use.h:59
Parameters
- llvm::User* Parent
¶void addToList(llvm::Use** List)
void addToList(llvm::Use** List)
Declared at: llvm/include/llvm/IR/Use.h:98
Parameters
- llvm::Use** List
¶llvm::Value* get() const
llvm::Value* get() const
Declared at: llvm/include/llvm/IR/Use.h:66
¶llvm::Use* getNext() const
llvm::Use* getNext() const
Declared at: llvm/include/llvm/IR/Use.h:82
¶unsigned int getOperandNo() const
unsigned int getOperandNo() const
Description
Return the operand # of this use in its User.
Declared at: llvm/include/llvm/IR/Use.h:85
¶llvm::User* getUser() const
llvm::User* getUser() const
Description
Returns the User that contains this Use. For an instruction operand, for example, this will return the instruction.
Declared at: llvm/include/llvm/IR/Use.h:72
¶llvm::Value* operator llvm::Value*() const
llvm::Value* operator llvm::Value*() const
Declared at: llvm/include/llvm/IR/Use.h:65
¶void removeFromList()
void removeFromList()
Declared at: llvm/include/llvm/IR/Use.h:106
¶inline void set(llvm::Value* Val)
inline void set(llvm::Value* Val)
Declared at: llvm/include/llvm/IR/Use.h:74
Parameters
- llvm::Value* Val
¶void swap(llvm::Use& RHS)
void swap(llvm::Use& RHS)
Description
Provide a fast substitute to std::swap <Use > that also works with less standard-compliant compilers
Declared at: llvm/include/llvm/IR/Use.h:49
Parameters
- llvm::Use& RHS
¶static void zap(llvm::Use* Start,
const llvm::Use* Stop,
bool del = false)
static void zap(llvm::Use* Start,
const llvm::Use* Stop,
bool del = false)
Description
Destroys Use operands when the number of operands of a User changes.
Declared at: llvm/include/llvm/IR/Use.h:89
Parameters
¶~Use()
~Use()
Description
Destructor - Only for zap()
Declared at: llvm/include/llvm/IR/Use.h:53