LLVM 22.0.0git
|
This class holds the mapping between values and value numbers. More...
#include "llvm/Transforms/Scalar/GVN.h"
Public Member Functions | |
LLVM_ABI | ValueTable () |
LLVM_ABI | ValueTable (const ValueTable &Arg) |
LLVM_ABI | ValueTable (ValueTable &&Arg) |
LLVM_ABI | ~ValueTable () |
LLVM_ABI ValueTable & | operator= (const ValueTable &Arg) |
LLVM_ABI uint32_t | lookupOrAdd (MemoryAccess *MA) |
LLVM_ABI uint32_t | lookupOrAdd (Value *V) |
lookupOrAdd - Returns the value number for the specified value, assigning it a new number if it did not have one before. | |
LLVM_ABI uint32_t | lookup (Value *V, bool Verify=true) const |
Returns the value number of the specified value. | |
LLVM_ABI uint32_t | lookupOrAddCmp (unsigned Opcode, CmpInst::Predicate Pred, Value *LHS, Value *RHS) |
Returns the value number of the given comparison, assigning it a new number if it did not have one before. | |
LLVM_ABI uint32_t | phiTranslate (const BasicBlock *BB, const BasicBlock *PhiBlock, uint32_t Num, GVNPass &GVN) |
Wrap phiTranslateImpl to provide caching functionality. | |
LLVM_ABI void | eraseTranslateCacheEntry (uint32_t Num, const BasicBlock &CurrBlock) |
Erase stale entry from phiTranslate cache so phiTranslate can be computed again. | |
LLVM_ABI bool | exists (Value *V) const |
Returns true if a value number exists for the specified value. | |
LLVM_ABI void | add (Value *V, uint32_t Num) |
add - Insert a value into the table with a specified value number. | |
LLVM_ABI void | clear () |
Remove all entries from the ValueTable. | |
LLVM_ABI void | erase (Value *V) |
Remove a value from the value numbering. | |
void | setAliasAnalysis (AAResults *A) |
AAResults * | getAliasAnalysis () const |
void | setMemDep (MemoryDependenceResults *M, bool MDEnabled=true) |
void | setMemorySSA (MemorySSA *M, bool MSSAEnabled=false) |
void | setDomTree (DominatorTree *D) |
uint32_t | getNextUnusedValueNumber () |
LLVM_ABI void | verifyRemoved (const Value *) const |
verifyRemoved - Verify that the value is removed from all internal data structures. |
This class holds the mapping between values and value numbers.
It is used as an efficient mechanism to determine the expression-wise equivalence of two values.
|
default |
References LLVM_ABI.
Referenced by operator=(), ValueTable(), and ValueTable().
|
default |
References LLVM_ABI, and ValueTable().
|
default |
References LLVM_ABI, and ValueTable().
|
default |
References LLVM_ABI.
add - Insert a value into the table with a specified value number.
Definition at line 471 of file GVN.cpp.
References llvm::dyn_cast(), and llvm::SmallVectorImpl< T >::insert().
void GVNPass::ValueTable::clear | ( | ) |
Remove all entries from the ValueTable.
void GVNPass::ValueTable::erase | ( | Value * | V | ) |
Remove a value from the value numbering.
Definition at line 772 of file GVN.cpp.
References llvm::isa().
void GVNPass::ValueTable::eraseTranslateCacheEntry | ( | uint32_t | Num, |
const BasicBlock & | CurrBlock ) |
Erase stale entry from phiTranslate cache so phiTranslate can be computed again.
Definition at line 2446 of file GVN.cpp.
References llvm::predecessors().
|
inline |
|
inline |
uint32_t GVNPass::ValueTable::lookupOrAdd | ( | MemoryAccess * | MA | ) |
Definition at line 646 of file GVN.cpp.
References llvm::cast(), llvm::MemoryAccess::getBlock(), llvm::isa(), and lookupOrAdd().
Referenced by llvm::CallInfo::insert(), llvm::InsnInfo::insert(), llvm::LoadInfo::insert(), llvm::StoreInfo::insert(), and lookupOrAdd().
lookupOrAdd - Returns the value number for the specified value, assigning it a new number if it did not have one before.
Definition at line 654 of file GVN.cpp.
References llvm::cast(), llvm::dyn_cast(), I, and llvm::isa().
uint32_t GVNPass::ValueTable::lookupOrAddCmp | ( | unsigned | Opcode, |
CmpInst::Predicate | Predicate, | ||
Value * | LHS, | ||
Value * | RHS ) |
|
default |
References llvm::GVNPass::GVNPass(), LHS, LLVM_ABI, RHS, ValueTable(), and Verify.
uint32_t GVNPass::ValueTable::phiTranslate | ( | const BasicBlock * | BB, |
const BasicBlock * | PhiBlock, | ||
uint32_t | Num, | ||
GVNPass & | GVN ) |
Wrap phiTranslateImpl to provide caching functionality.
Definition at line 2316 of file GVN.cpp.
References llvm::GVNPass::GVNPass().
|
inline |
|
inline |
|
inline |