LLVM  13.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...

Collaboration diagram for llvm::gvn::AvailableValueInBlock:
Collaboration graph
[legend]

Public Member Functions

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

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

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

Detailed Description

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

Definition at line 255 of file GVN.cpp.

Member Function Documentation

◆ get() [1/2]

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

Definition at line 262 of file GVN.cpp.

References AV, BB, BB, and move.

◆ get() [2/2]

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

Definition at line 269 of file GVN.cpp.

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

◆ getUndef()

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

Definition at line 274 of file GVN.cpp.

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

◆ MaterializeAdjustedValue()

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

References BB, llvm::SPII::Load, and llvm::gvn::AvailableValue::MaterializeAdjustedValue().

Member Data Documentation

◆ AV

AvailableValue llvm::gvn::AvailableValueInBlock::AV

AV - The actual available value.

Definition at line 260 of file GVN.cpp.

Referenced by get().

◆ BB

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

BB - The basic block in question.

Definition at line 257 of file GVN.cpp.

Referenced by get().


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