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

Synopsis

Declared in <llvm/IR/Use.h>

class Use;

Description

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.

Member Functions

Name

Description

Use [constructor] [deleted]

Copy construction is deleted; Use is non‐copyable.

operator=

Assignment operators

get

Return the value this use refers to.

getNext

Return the next use in this value's use list.

getOperandNo

Return the operand # of this use in its User.

getUser

Returns the User that contains this Use.

operator‐>

Access members of the referenced value.

set

Set this use to refer to Val, updating use lists.

swap

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

operator Value*

Implicitly convert this use to the referenced value.

Static Member Functions

Name

Description

zap

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

Friends

Name

Description

llvm::User

A Value that uses other Values as operands.

llvm::Value

LLVM Value Representation

Non-Member Functions

Name

Description

DetermineUseCaptureKind

Determine what kind of capture behaviour U may exhibit.

canIgnoreSignBitOfNaN

Return true if the sign bit of the FP value can be ignored by the user when the value is NaN.

canIgnoreSignBitOfZero

Return true if the sign bit of the FP value can be ignored by the user when the value is zero.

canReplacePointersInUseIfEqual

Returns true if use U of a pointer can be rewritten to use To.

getKnowledgeFromUse

Return a valid Knowledge associated to the Use U if its Attribute kind is in AttrKinds.

propagatesPoison

Return true if PoisonOp's user yields poison or raises UB if its operand PoisonOp is poison.

unwrap

Convert an opaque LLVMUseRef to a Use pointer.

wrap

Convert a Use pointer to an opaque LLVMUseRef.

Created with MrDocs