LLVM 24.0.0git
llvm::GVNLeaderMap Class Reference

A mapping from value numbers to lists of Value*'s that have that value number. More...

#include "llvm/Transforms/Scalar/GVN.h"

Classes

class  leader_iterator
struct  LeaderTableEntry

Public Member Functions

iterator_range< leader_iterator > getLeaders (uint32_t N)
LLVM_ABI void insert (uint32_t N, Value *V, const BasicBlock *BB)
 Push a new Value to the LeaderTable onto the list for its value number.
LLVM_ABI void erase (uint32_t N, Instruction *I, const BasicBlock *BB)
 Scan the list of values corresponding to a given value number, and remove the given instruction if encountered.
void clear ()

Detailed Description

A mapping from value numbers to lists of Value*'s that have that value number.

Use getLeaders to query it.

Definition at line 121 of file GVN.h.

Member Function Documentation

◆ clear()

void llvm::GVNLeaderMap::clear ( )
inline

Definition at line 180 of file GVN.h.

References _, N, and llvm::Next.

◆ erase()

void GVNLeaderMap::erase ( uint32_t N,
Instruction * I,
const BasicBlock * BB )

Scan the list of values corresponding to a given value number, and remove the given instruction if encountered.

Definition at line 819 of file GVN.cpp.

References llvm::GVNLeaderMap::LeaderTableEntry::BB, I, N, llvm::Next, and llvm::GVNLeaderMap::LeaderTableEntry::Val.

◆ getLeaders()

iterator_range< leader_iterator > llvm::GVNLeaderMap::getLeaders ( uint32_t N)
inline

Definition at line 168 of file GVN.h.

References I, llvm::iterator_range(), and N.

◆ insert()

void GVNLeaderMap::insert ( uint32_t N,
Value * V,
const BasicBlock * BB )

Push a new Value to the LeaderTable onto the list for its value number.

Definition at line 807 of file GVN.cpp.

References N.


The documentation for this class was generated from the following files: