LLVM  8.0.1
Friends | List of all members
llvm::ValueSymbolTable Class Reference

This class provides a symbol table of name/value pairs. More...

#include "llvm/IR/ValueSymbolTable.h"

Public Types

Types
using ValueMap = StringMap< Value * >
 A mapping of names to values. More...
 
using iterator = ValueMap::iterator
 An iterator over a ValueMap. More...
 
using const_iterator = ValueMap::const_iterator
 A const_iterator over a ValueMap. More...
 

Public Member Functions

Constructors
 ValueSymbolTable ()
 
 ~ValueSymbolTable ()
 
Accessors
Valuelookup (StringRef Name) const
 This method finds the value with the given Name in the the symbol table. More...
 
bool empty () const
 
unsigned size () const
 The number of name/type pairs is returned. More...
 
void dump () const
 This function can be used from the debugger to display the content of the symbol table while debugging. More...
 
Iteration
iterator begin ()
 Get an iterator that from the beginning of the symbol table. More...
 
const_iterator begin () const
 Get a const_iterator that from the beginning of the symbol table. More...
 
iterator end ()
 Get an iterator to the end of the symbol table. More...
 
const_iterator end () const
 Get a const_iterator to the end of the symbol table. More...
 

Friends

class SymbolTableListTraits< Argument >
 
class SymbolTableListTraits< BasicBlock >
 
class SymbolTableListTraits< Function >
 
class SymbolTableListTraits< GlobalAlias >
 
class SymbolTableListTraits< GlobalIFunc >
 
class SymbolTableListTraits< GlobalVariable >
 
class SymbolTableListTraits< Instruction >
 
class Value
 

Detailed Description

This class provides a symbol table of name/value pairs.

It is essentially a std::map<std::string,Value*> but has a controlled interface provided by LLVM as well as ensuring uniqueness of names.

Definition at line 38 of file ValueSymbolTable.h.

Member Typedef Documentation

◆ const_iterator

A const_iterator over a ValueMap.

Definition at line 58 of file ValueSymbolTable.h.

◆ iterator

An iterator over a ValueMap.

Definition at line 55 of file ValueSymbolTable.h.

◆ ValueMap

A mapping of names to values.

Definition at line 52 of file ValueSymbolTable.h.

Constructor & Destructor Documentation

◆ ValueSymbolTable()

llvm::ValueSymbolTable::ValueSymbolTable ( )
inline

Definition at line 64 of file ValueSymbolTable.h.

References ~ValueSymbolTable().

◆ ~ValueSymbolTable()

ValueSymbolTable::~ValueSymbolTable ( )

Member Function Documentation

◆ begin() [1/2]

iterator llvm::ValueSymbolTable::begin ( )
inline

Get an iterator that from the beginning of the symbol table.

Definition at line 94 of file ValueSymbolTable.h.

References llvm::StringMap< ValueTy, AllocatorTy >::begin().

Referenced by llvm::ValueEnumerator::print(), and StripSymtab().

◆ begin() [2/2]

const_iterator llvm::ValueSymbolTable::begin ( ) const
inline

Get a const_iterator that from the beginning of the symbol table.

Definition at line 97 of file ValueSymbolTable.h.

References llvm::StringMap< ValueTy, AllocatorTy >::begin().

◆ dump()

LLVM_DUMP_METHOD void ValueSymbolTable::dump ( ) const

This function can be used from the debugger to display the content of the symbol table while debugging.

Print out symbol table on stderr

Definition at line 119 of file ValueSymbolTable.cpp.

References I.

Referenced by size().

◆ empty()

bool llvm::ValueSymbolTable::empty ( ) const
inline
Returns
true iff the symbol table is empty Determine if the symbol table is empty

Definition at line 79 of file ValueSymbolTable.h.

References llvm::StringMapImpl::empty().

Referenced by emitSignedInt64().

◆ end() [1/2]

iterator llvm::ValueSymbolTable::end ( )
inline

Get an iterator to the end of the symbol table.

Definition at line 100 of file ValueSymbolTable.h.

References llvm::StringMap< ValueTy, AllocatorTy >::end().

Referenced by llvm::ValueEnumerator::print(), and StripSymtab().

◆ end() [2/2]

const_iterator llvm::ValueSymbolTable::end ( ) const
inline

Get a const_iterator to the end of the symbol table.

Definition at line 103 of file ValueSymbolTable.h.

References llvm::StringMap< ValueTy, AllocatorTy >::end(), and Name.

◆ lookup()

Value* llvm::ValueSymbolTable::lookup ( StringRef  Name) const
inline

This method finds the value with the given Name in the the symbol table.

Returns
the value associated with the Name Lookup a named Value.

Definition at line 75 of file ValueSymbolTable.h.

References llvm::StringMap< ValueTy, AllocatorTy >::lookup().

Referenced by createGlobalFwdRef(), FunctionNumber(), llvm::AMDGPULibFunc::getFunction(), llvm::Module::getNamedValue(), llvm::AMDGPULibFunc::getOrInsertFunction(), llvm::MIRParserImpl::initializeFrameInfo(), and toString().

◆ size()

unsigned llvm::ValueSymbolTable::size ( ) const
inline

The number of name/type pairs is returned.

Definition at line 82 of file ValueSymbolTable.h.

References dump(), and llvm::StringMapImpl::size().

Friends And Related Function Documentation

◆ SymbolTableListTraits< Argument >

friend class SymbolTableListTraits< Argument >
friend

Definition at line 39 of file ValueSymbolTable.h.

◆ SymbolTableListTraits< BasicBlock >

friend class SymbolTableListTraits< BasicBlock >
friend

Definition at line 40 of file ValueSymbolTable.h.

◆ SymbolTableListTraits< Function >

friend class SymbolTableListTraits< Function >
friend

Definition at line 41 of file ValueSymbolTable.h.

◆ SymbolTableListTraits< GlobalAlias >

friend class SymbolTableListTraits< GlobalAlias >
friend

Definition at line 42 of file ValueSymbolTable.h.

◆ SymbolTableListTraits< GlobalIFunc >

friend class SymbolTableListTraits< GlobalIFunc >
friend

Definition at line 43 of file ValueSymbolTable.h.

◆ SymbolTableListTraits< GlobalVariable >

friend class SymbolTableListTraits< GlobalVariable >
friend

Definition at line 44 of file ValueSymbolTable.h.

◆ SymbolTableListTraits< Instruction >

friend class SymbolTableListTraits< Instruction >
friend

Definition at line 45 of file ValueSymbolTable.h.

◆ Value

friend class Value
friend

Definition at line 46 of file ValueSymbolTable.h.


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