LLVM 20.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 288 of file GVN.cpp.

Member Function Documentation

◆ get() [1/2]

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

Definition at line 295 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 302 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 311 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 307 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 318 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 293 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 290 of file GVN.cpp.

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


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