LLVM
8.0.1
|
Represents an AvailableValue which can be rematerialized at the end of the associated BasicBlock. More...
Public Member Functions | |
Value * | MaterializeAdjustedValue (LoadInst *LI, 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 | |
BasicBlock * | BB |
BB - The basic block in question. More... | |
AvailableValue | AV |
AV - The actual available value. More... | |
Represents an AvailableValue which can be rematerialized at the end of the associated BasicBlock.
|
inlinestatic |
Definition at line 244 of file GVN.cpp.
Referenced by reportMayClobberedLoad().
|
inlinestatic |
Definition at line 251 of file GVN.cpp.
References llvm::gvn::AvailableValue::get().
|
inlinestatic |
Definition at line 256 of file GVN.cpp.
References llvm::gvn::AvailableValue::getUndef().
Referenced by reportMayClobberedLoad().
|
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 262 of file GVN.cpp.
References llvm::MCID::Add, assert(), C, llvm::dyn_cast(), E, llvm::ExtractValueInst::getAggregateOperand(), llvm::CallBase::getArgOperand(), llvm::IntrinsicInst::getIntrinsicID(), llvm::CallBase::getNumArgOperands(), llvm::ExtractValueInst::getNumIndices(), llvm::User::getNumOperands(), llvm::Instruction::getOpcode(), llvm::CmpInst::getSwappedPredicate(), llvm::Value::getType(), I, llvm::ExtractValueInst::idx_begin(), llvm::ExtractValueInst::idx_end(), llvm::ARM_PROC::IE, llvm::Instruction::isCommutative(), llvm::CmpInst::makeCmpResultType(), llvm::gvn::AvailableValue::MaterializeAdjustedValue(), llvm::User::op_begin(), llvm::User::op_end(), llvm::Intrinsic::sadd_with_overflow, llvm::Intrinsic::smul_with_overflow, llvm::Intrinsic::ssub_with_overflow, std::swap(), llvm::GVN::Expression::type, llvm::Intrinsic::uadd_with_overflow, llvm::Intrinsic::umul_with_overflow, llvm::Intrinsic::usub_with_overflow, llvm::GVN::ValueTable::ValueTable(), and llvm::GVN::ValueTable::~ValueTable().
AvailableValue llvm::gvn::AvailableValueInBlock::AV |
BasicBlock* llvm::gvn::AvailableValueInBlock::BB |