Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
llvm::Use Class Reference

A Use represents the edge between a Value definition and its users. More...

#include "llvm/IR/Use.h"

Public Member Functions

 Use (const Use &U)=delete
LLVM_ABI void swap (Use &RHS)
 Provide a fast substitute to std::swap<Use> that also works with less standard-compliant compilers.
 operator Value * () const
Valueget () const
UsergetUser () const
 Returns the User that contains this Use.
LLVM_ABI void set (Value *Val)
LLVM_ABI Valueoperator= (Value *RHS)
LLVM_ABI const Useoperator= (const Use &RHS)
Valueoperator-> ()
const Valueoperator-> () const
UsegetNext () const
LLVM_ABI unsigned getOperandNo () const
 Return the operand # of this use in its User.

Static Public Member Functions

static LLVM_ABI void zap (Use *Start, const Use *Stop, bool del=false)
 Destroys Use operands when the number of operands of a User changes.

Friends

class Value
class User

Detailed 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.

Definition at line 35 of file Use.h.

Constructor & Destructor Documentation

◆ Use()

llvm::Use::Use ( const Use & U)
delete

References LLVM_ABI, RHS, and Use().

Referenced by getNext(), operator=(), and Use().

Member Function Documentation

◆ get()

◆ getNext()

Use * llvm::Use::getNext ( ) const
inline

Definition at line 71 of file Use.h.

References Use().

◆ getOperandNo()

◆ getUser()

◆ operator Value *()

llvm::Use::operator Value * ( ) const
inline

Definition at line 54 of file Use.h.

References Value.

◆ operator->() [1/2]

Value * llvm::Use::operator-> ( )
inline

Definition at line 68 of file Use.h.

References Value.

◆ operator->() [2/2]

const Value * llvm::Use::operator-> ( ) const
inline

Definition at line 69 of file Use.h.

References Value.

◆ operator=() [1/2]

const Use & llvm::Use::operator= ( const Use & RHS)
inline

Definition at line 917 of file Value.h.

References RHS, set(), and Use().

◆ operator=() [2/2]

Value * llvm::Use::operator= ( Value * RHS)
inline

Definition at line 912 of file Value.h.

References RHS, set(), and Value.

◆ set()

◆ swap()

void llvm::Use::swap ( Use & RHS)

Provide a fast substitute to std::swap<Use> that also works with less standard-compliant compilers.

Definition at line 14 of file Use.cpp.

◆ zap()

void llvm::Use::zap ( Use * Start,
const Use * Stop,
bool del = false )
static

Destroys Use operands when the number of operands of a User changes.

Definition at line 39 of file Use.cpp.

◆ User

friend class User
friend

Definition at line 52 of file Use.h.

References User.

Referenced by getUser(), and User.

◆ Value

friend class Value
friend

Definition at line 51 of file Use.h.

References Value.

Referenced by get(), operator Value *(), operator->(), operator->(), operator=(), set(), and Value.


The documentation for this class was generated from the following files: