LLVM 22.0.0git
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) 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 293 of file GVN.cpp.

Member Function Documentation

◆ get() [1/2]

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

Definition at line 300 of file GVN.cpp.

References AV, and BB.

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

◆ get() [2/2]

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

Definition at line 307 of file GVN.cpp.

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

◆ getSelect()

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

Definition at line 316 of file GVN.cpp.

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

◆ getUndef()

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

Definition at line 312 of file GVN.cpp.

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

◆ MaterializeAdjustedValue()

Value * llvm::gvn::AvailableValueInBlock::MaterializeAdjustedValue ( LoadInst * Load) 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 323 of file GVN.cpp.

References AV, and BB.

Member Data Documentation

◆ AV

AvailableValue llvm::gvn::AvailableValueInBlock::AV

AV - The actual available value.

Definition at line 298 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 295 of file GVN.cpp.

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


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