LLVM 24.0.0git
GVNPassImpl::AvailableValueInBlock Struct Reference

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

Public Member Functions

Value * MaterializeAdjustedValue (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)

Public Attributes

BasicBlock * BB = 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 598 of file GVN.cpp.

Member Function Documentation

◆ get() [1/2]

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

Definition at line 605 of file GVN.cpp.

References AV, and BB.

Referenced by get(), and getUndef().

◆ get() [2/2]

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

Definition at line 612 of file GVN.cpp.

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

◆ getUndef()

AvailableValueInBlock GVNPassImpl::AvailableValueInBlock::getUndef ( BasicBlock * BB)
inlinestatic

Definition at line 617 of file GVN.cpp.

References BB, get(), and GVNPassImpl::AvailableValue::getUndef().

◆ MaterializeAdjustedValue()

Value * GVNPassImpl::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 623 of file GVN.cpp.

References AV, BB, and llvm::Load.

Member Data Documentation

◆ AV

AvailableValue GVNPassImpl::AvailableValueInBlock::AV

AV - The actual available value.

Definition at line 603 of file GVN.cpp.

Referenced by get(), and MaterializeAdjustedValue().

◆ BB

BasicBlock* GVNPassImpl::AvailableValueInBlock::BB = nullptr

BB - The basic block in question.

Definition at line 600 of file GVN.cpp.

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


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