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

Methods

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)

Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:131

Parameters

llvm::GVN::ValueTable&& Arg

ValueTable()

Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:129

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()

Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:144

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)

Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:141

Parameters

uint32_t Num
const llvm::BasicBlock& CurrBlock

bool exists(llvm::Value* V) const

Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:142

Parameters

llvm::Value* V

llvm::AliasAnalysis* getAliasAnalysis() const

Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:147

uint32_t getNextUnusedValueNumber()

Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:150

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)

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)

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)

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)

Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:146

Parameters

llvm::AliasAnalysis* A

void setDomTree(llvm::DominatorTree* D)

Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:149

Parameters

llvm::DominatorTree* D

void setMemDep(llvm::MemoryDependenceResults* M)

Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:148

Parameters

llvm::MemoryDependenceResults* M

void verifyRemoved(const llvm::Value*) const

Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:151

Parameters

const llvm::Value*

~ValueTable()

Declared at: llvm/include/llvm/Transforms/Scalar/GVN.h:132