class GVN::ValueTable
Declaration
class GVN::ValueTable { /* full declaration omitted */ };
Description
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.
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:89
Method Overview
- public ValueTable(const llvm::GVN::ValueTable & Arg)
- public ValueTable(llvm::GVN::ValueTable && Arg)
- public ValueTable()
- public void add(llvm::Value * V, uint32_t num)
- public void clear()
- public void erase(llvm::Value * v)
- public void eraseTranslateCacheEntry(uint32_t Num, const llvm::BasicBlock & CurrBlock)
- public bool exists(llvm::Value * V) const
- public llvm::AliasAnalysis * getAliasAnalysis() const
- public uint32_t getNextUnusedValueNumber()
- public uint32_t lookup(llvm::Value * V, bool Verify = true) const
- public uint32_t lookupOrAdd(llvm::Value * V)
- public uint32_t lookupOrAddCmp(unsigned int Opcode, CmpInst::Predicate Pred, llvm::Value * LHS, llvm::Value * RHS)
- public uint32_t phiTranslate(const llvm::BasicBlock * BB, const llvm::BasicBlock * PhiBlock, uint32_t Num, llvm::GVN & Gvn)
- public void setAliasAnalysis(llvm::AliasAnalysis * A)
- public void setDomTree(llvm::DominatorTree * D)
- public void setMemDep(llvm::MemoryDependenceResults * M)
- public void verifyRemoved(const llvm::Value *) const
- public ~ValueTable()
Methods
¶ValueTable(const llvm::GVN::ValueTable& Arg)
ValueTable(const llvm::GVN::ValueTable& Arg)
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:130
Parameters
- const llvm::GVN::ValueTable& Arg
¶ValueTable(llvm::GVN::ValueTable&& Arg)
ValueTable(llvm::GVN::ValueTable&& Arg)
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:131
Parameters
- llvm::GVN::ValueTable&& Arg
¶ValueTable()
ValueTable()
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:129
¶void add(llvm::Value* V, uint32_t num)
void add(llvm::Value* V, uint32_t num)
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:143
Parameters
- llvm::Value* V
- uint32_t num
¶void clear()
void clear()
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:144
¶void erase(llvm::Value* v)
void erase(llvm::Value* v)
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:145
Parameters
- llvm::Value* v
¶void eraseTranslateCacheEntry(
uint32_t Num,
const llvm::BasicBlock& CurrBlock)
void eraseTranslateCacheEntry(
uint32_t Num,
const llvm::BasicBlock& CurrBlock)
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:141
Parameters
- uint32_t Num
- const llvm::BasicBlock& CurrBlock
¶bool exists(llvm::Value* V) const
bool exists(llvm::Value* V) const
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:142
Parameters
- llvm::Value* V
¶llvm::AliasAnalysis* getAliasAnalysis() const
llvm::AliasAnalysis* getAliasAnalysis() const
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:147
¶uint32_t getNextUnusedValueNumber()
uint32_t getNextUnusedValueNumber()
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:150
¶uint32_t lookup(llvm::Value* V,
bool Verify = true) const
uint32_t lookup(llvm::Value* V,
bool Verify = true) const
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:136
Parameters
- llvm::Value* V
- bool Verify = true
¶uint32_t lookupOrAdd(llvm::Value* V)
uint32_t lookupOrAdd(llvm::Value* V)
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:135
Parameters
- llvm::Value* V
¶uint32_t lookupOrAddCmp(unsigned int Opcode,
CmpInst::Predicate Pred,
llvm::Value* LHS,
llvm::Value* RHS)
uint32_t lookupOrAddCmp(unsigned int Opcode,
CmpInst::Predicate Pred,
llvm::Value* LHS,
llvm::Value* RHS)
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:137
Parameters
- unsigned int Opcode
- CmpInst::Predicate Pred
- llvm::Value* LHS
- llvm::Value* RHS
¶uint32_t phiTranslate(
const llvm::BasicBlock* BB,
const llvm::BasicBlock* PhiBlock,
uint32_t Num,
llvm::GVN& Gvn)
uint32_t phiTranslate(
const llvm::BasicBlock* BB,
const llvm::BasicBlock* PhiBlock,
uint32_t Num,
llvm::GVN& Gvn)
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:139
Parameters
- const llvm::BasicBlock* BB
- const llvm::BasicBlock* PhiBlock
- uint32_t Num
- llvm::GVN& Gvn
¶void setAliasAnalysis(llvm::AliasAnalysis* A)
void setAliasAnalysis(llvm::AliasAnalysis* A)
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:146
Parameters
¶void setDomTree(llvm::DominatorTree* D)
void setDomTree(llvm::DominatorTree* D)
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:149
Parameters
¶void setMemDep(llvm::MemoryDependenceResults* M)
void setMemDep(llvm::MemoryDependenceResults* M)
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:148
Parameters
¶void verifyRemoved(const llvm::Value*) const
void verifyRemoved(const llvm::Value*) const
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:151
Parameters
- const llvm::Value*
¶~ValueTable()
~ValueTable()
Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:132