LLVM 19.0.0git
Public Member Functions | Static Public Member Functions | Friends | List of all members
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
 
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.
 
void set (Value *Val)
 
Valueoperator= (Value *RHS)
 
const Useoperator= (const Use &RHS)
 
Valueoperator-> ()
 
const Valueoperator-> () const
 
UsegetNext () const
 
unsigned getOperandNo () const
 Return the operand # of this use in its User.
 

Static Public Member Functions

static 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 43 of file Use.h.

Constructor & Destructor Documentation

◆ Use()

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

References swap().

Member Function Documentation

◆ get()

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

◆ getNext()

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

Definition at line 82 of file Use.h.

◆ getOperandNo()

unsigned llvm::Use::getOperandNo ( ) const

Return the operand # of this use in its User.

Definition at line 31 of file Use.cpp.

References getUser(), and llvm::User::op_begin().

Referenced by allUsesTruncate(), dominatesAllUsesOf(), isCompatibleReplacement(), and llvm::propagatesPoison().

◆ getUser()

User * llvm::Use::getUser ( ) const
inline

◆ operator Value *()

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

Definition at line 65 of file Use.h.

◆ operator->() [1/2]

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

Definition at line 79 of file Use.h.

◆ operator->() [2/2]

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

Definition at line 80 of file Use.h.

◆ operator=() [1/2]

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

Definition at line 893 of file Value.h.

References RHS, and set().

◆ operator=() [2/2]

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

Definition at line 888 of file Value.h.

References RHS, and set().

◆ set()

void llvm::Use::set ( Value Val)
inline

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

References RHS, and std::swap().

Referenced by Use().

◆ 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 35 of file Use.cpp.

Referenced by llvm::User::growHungoffUses(), and llvm::User::operator delete().

Friends And Related Function Documentation

◆ User

friend class User
friend

Definition at line 63 of file Use.h.

◆ Value

friend class Value
friend

Definition at line 62 of file Use.h.


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