LLVM 19.0.0git
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
llvm::gvn::AvailableValueInBlock Struct Reference

Represents an AvailableValue which can be rematerialized at the end of the associated BasicBlock. More...

Public Member Functions

ValueMaterializeAdjustedValue (LoadInst *Load, GVNPass &gvn) const
 Emit code at the end of this block to adjust the value defined here to the specified type.
 

Static Public Member Functions

static AvailableValueInBlock get (BasicBlock *BB, AvailableValue &&AV)
 
static AvailableValueInBlock get (BasicBlock *BB, Value *V, unsigned Offset=0)
 
static AvailableValueInBlock getUndef (BasicBlock *BB)
 
static AvailableValueInBlock getSelect (BasicBlock *BB, SelectInst *Sel, Value *V1, Value *V2)
 

Public Attributes

BasicBlockBB = nullptr
 BB - The basic block in question.
 
AvailableValue AV
 AV - The actual available value.
 

Detailed Description

Represents an AvailableValue which can be rematerialized at the end of the associated BasicBlock.

Definition at line 287 of file GVN.cpp.

Member Function Documentation

◆ get() [1/2]

static AvailableValueInBlock llvm::gvn::AvailableValueInBlock::get ( BasicBlock BB,
AvailableValue &&  AV 
)
inlinestatic

Definition at line 294 of file GVN.cpp.

References AV, and BB.

Referenced by get(), getSelect(), and getUndef().

◆ get() [2/2]

static AvailableValueInBlock llvm::gvn::AvailableValueInBlock::get ( BasicBlock BB,
Value V,
unsigned  Offset = 0 
)
inlinestatic

Definition at line 301 of file GVN.cpp.

References BB, get(), llvm::gvn::AvailableValue::get(), and llvm::Offset.

◆ getSelect()

static AvailableValueInBlock llvm::gvn::AvailableValueInBlock::getSelect ( BasicBlock BB,
SelectInst Sel,
Value V1,
Value V2 
)
inlinestatic

Definition at line 310 of file GVN.cpp.

References BB, get(), and llvm::gvn::AvailableValue::getSelect().

◆ getUndef()

static AvailableValueInBlock llvm::gvn::AvailableValueInBlock::getUndef ( BasicBlock BB)
inlinestatic

Definition at line 306 of file GVN.cpp.

References BB, get(), and llvm::gvn::AvailableValue::getUndef().

◆ MaterializeAdjustedValue()

Value * llvm::gvn::AvailableValueInBlock::MaterializeAdjustedValue ( LoadInst Load,
GVNPass gvn 
) const
inline

Emit code at the end of this block to adjust the value defined here to the specified type.

This handles various coercion cases.

Definition at line 317 of file GVN.cpp.

References AV, BB, llvm::BasicBlock::getTerminator(), and llvm::gvn::AvailableValue::MaterializeAdjustedValue().

Member Data Documentation

◆ AV

AvailableValue llvm::gvn::AvailableValueInBlock::AV

AV - The actual available value.

Definition at line 292 of file GVN.cpp.

Referenced by get(), and MaterializeAdjustedValue().

◆ BB

BasicBlock* llvm::gvn::AvailableValueInBlock::BB = nullptr

BB - The basic block in question.

Definition at line 289 of file GVN.cpp.

Referenced by get(), getSelect(), getUndef(), and MaterializeAdjustedValue().


The documentation for this struct was generated from the following file: