struct AvailableValueInBlock
Declaration
struct AvailableValueInBlock { /* full declaration omitted */ };
Description
Represents an AvailableValue which can be rematerialized at the end of the associated BasicBlock.
Declared at: llvm/lib/Transforms/Scalar/GVN.cpp:239
Member Variables
- public llvm::BasicBlock* BB = nullptr
- BB - The basic block in question.
- public llvm::gvn::AvailableValue AV
- AV - The actual available value
Method Overview
- public llvm::Value * MaterializeAdjustedValue(llvm::LoadInst * LI, llvm::GVN & gvn) const
- public static llvm::gvn::AvailableValueInBlock get(llvm::BasicBlock * BB, llvm::gvn::AvailableValue && AV)
- public static llvm::gvn::AvailableValueInBlock get(llvm::BasicBlock * BB, llvm::Value * V, unsigned int Offset = 0)
- public static llvm::gvn::AvailableValueInBlock getUndef(llvm::BasicBlock * BB)
Methods
¶llvm::Value* MaterializeAdjustedValue(
llvm::LoadInst* LI,
llvm::GVN& gvn) const
llvm::Value* MaterializeAdjustedValue(
llvm::LoadInst* LI,
llvm::GVN& gvn) const
Description
Emit code at the end of this block to adjust the value defined here to the specified type. This handles various coercion cases.
Declared at: llvm/lib/Transforms/Scalar/GVN.cpp:264
Parameters
- llvm::LoadInst* LI
- llvm::GVN& gvn
¶static llvm::gvn::AvailableValueInBlock get(
llvm::BasicBlock* BB,
llvm::gvn::AvailableValue&& AV)
static llvm::gvn::AvailableValueInBlock get(
llvm::BasicBlock* BB,
llvm::gvn::AvailableValue&& AV)
Declared at: llvm/lib/Transforms/Scalar/GVN.cpp:246
Parameters
¶static llvm::gvn::AvailableValueInBlock get(
llvm::BasicBlock* BB,
llvm::Value* V,
unsigned int Offset = 0)
static llvm::gvn::AvailableValueInBlock get(
llvm::BasicBlock* BB,
llvm::Value* V,
unsigned int Offset = 0)
Declared at: llvm/lib/Transforms/Scalar/GVN.cpp:253
Parameters
- llvm::BasicBlock* BB
- llvm::Value* V
- unsigned int Offset = 0
¶static llvm::gvn::AvailableValueInBlock getUndef(
llvm::BasicBlock* BB)
static llvm::gvn::AvailableValueInBlock getUndef(
llvm::BasicBlock* BB)
Declared at: llvm/lib/Transforms/Scalar/GVN.cpp:258
Parameters
- llvm::BasicBlock* BB