|
LLVM 24.0.0git
|
This class holds the mapping between values and value numbers. More...
#include "llvm/Transforms/Scalar/GVNValueTable.h"
Classes | |
| struct | Expression |
Public Member Functions | |
| LLVM_ABI | GVNValueTable () |
| LLVM_ABI | GVNValueTable (const GVNValueTable &Arg) |
| LLVM_ABI | GVNValueTable (GVNValueTable &&Arg) |
| LLVM_ABI | ~GVNValueTable () |
| LLVM_ABI GVNValueTable & | operator= (const GVNValueTable &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 | lookupPtrToInt (Value *Ptr, Type *Ty) |
Returns the value number of ptrtoint Ptr to \Ty. | |
| LLVM_ABI uint32_t | phiTranslate (const BasicBlock *BB, const BasicBlock *PhiBlock, uint32_t Num, GVNLeaderMap &LeaderTable) |
| 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.
Definition at line 40 of file GVNValueTable.h.
|
default |
References LLVM_ABI.
Referenced by GVNValueTable(), GVNValueTable(), and operator=().
|
default |
References GVNValueTable(), and LLVM_ABI.
|
default |
References GVNValueTable(), and LLVM_ABI.
|
default |
References LLVM_ABI.
add - Insert a value into the table with a specified value number.
Definition at line 464 of file GVN.cpp.
References llvm::dyn_cast().
| void GVNValueTable::clear | ( | ) |
Remove all entries from the ValueTable.
| void GVNValueTable::erase | ( | Value * | V | ) |
Remove a value from the value numbering.
Definition at line 785 of file GVN.cpp.
References llvm::isa().
| void GVNValueTable::eraseTranslateCacheEntry | ( | uint32_t | Num, |
| const BasicBlock & | CurrBlock ) |
Erase stale entry from phiTranslate cache so phiTranslate can be computed again.
Definition at line 3061 of file GVN.cpp.
References llvm::predecessors().
|
inline |
Definition at line 117 of file GVNValueTable.h.
|
inline |
Definition at line 127 of file GVNValueTable.h.
| uint32_t GVNValueTable::lookupOrAdd | ( | MemoryAccess * | MA | ) |
Definition at line 647 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(), lookupOrAdd(), and lookupPtrToInt().
lookupOrAdd - Returns the value number for the specified value, assigning it a new number if it did not have one before.
Definition at line 655 of file GVN.cpp.
References llvm::cast(), llvm::dyn_cast(), I, and llvm::isa().
| uint32_t GVNValueTable::lookupOrAddCmp | ( | unsigned | Opcode, |
| CmpInst::Predicate | Predicate, | ||
| Value * | LHS, | ||
| Value * | RHS ) |
Returns the value number of ptrtoint Ptr to \Ty.
Definition at line 764 of file GVN.cpp.
References lookupOrAdd().
|
default |
References GVNValueTable(), LHS, LLVM_ABI, RHS, and Verify.
| uint32_t GVNValueTable::phiTranslate | ( | const BasicBlock * | BB, |
| const BasicBlock * | PhiBlock, | ||
| uint32_t | Num, | ||
| GVNLeaderMap & | LeaderTable ) |
|
inline |
Definition at line 116 of file GVNValueTable.h.
References A().
|
inline |
Definition at line 126 of file GVNValueTable.h.
References D().
|
inline |
Definition at line 118 of file GVNValueTable.h.
Definition at line 122 of file GVNValueTable.h.