LLVM API Documentation

llvm::SymbolTableListTraits< ValueSubClass, ItemParentClass > Class Template Reference

#include <SymbolTableListTraits.h>

Inheritance diagram for llvm::SymbolTableListTraits< ValueSubClass, ItemParentClass >:

Inheritance graph
[legend]
Collaboration diagram for llvm::SymbolTableListTraits< ValueSubClass, ItemParentClass >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 SymbolTableListTraits ()
ItemParentClass * getListOwner ()
void deleteNode (ValueSubClass *V)
void addNodeToList (ValueSubClass *V)
void removeNodeFromList (ValueSubClass *V)
void transferNodesFromList (ilist_traits< ValueSubClass > &L2, ilist_iterator< ValueSubClass > first, ilist_iterator< ValueSubClass > last)
template<typename TPtr>
void setSymTabObject (TPtr *, TPtr)


Detailed Description

template<typename ValueSubClass, typename ItemParentClass>
class llvm::SymbolTableListTraits< ValueSubClass, ItemParentClass >

Definition at line 42 of file SymbolTableListTraits.h.


Constructor & Destructor Documentation

template<typename ValueSubClass, typename ItemParentClass>
llvm::SymbolTableListTraits< ValueSubClass, ItemParentClass >::SymbolTableListTraits (  )  [inline]

Definition at line 45 of file SymbolTableListTraits.h.


Member Function Documentation

template<typename ValueSubClass, typename ItemParentClass>
ItemParentClass* llvm::SymbolTableListTraits< ValueSubClass, ItemParentClass >::getListOwner (  )  [inline]

getListOwner - Return the object that owns this list. If this is a list of instructions, it returns the BasicBlock that owns them.

Definition at line 49 of file SymbolTableListTraits.h.

template<typename ValueSubClass, typename ItemParentClass>
void llvm::SymbolTableListTraits< ValueSubClass, ItemParentClass >::deleteNode ( ValueSubClass *  V  )  [inline]

Reimplemented from llvm::ilist_default_traits< ValueSubClass >.

Definition at line 54 of file SymbolTableListTraits.h.

template<typename ValueSubClass, typename ItemParentClass>
void llvm::SymbolTableListTraits< ValueSubClass, ItemParentClass >::addNodeToList ( ValueSubClass *  V  )  [inline]

Reimplemented from llvm::ilist_default_traits< ValueSubClass >.

Definition at line 67 of file SymbolTableListTraitsImpl.h.

References getSymTab().

template<typename ValueSubClass, typename ItemParentClass>
void llvm::SymbolTableListTraits< ValueSubClass, ItemParentClass >::removeNodeFromList ( ValueSubClass *  V  )  [inline]

Reimplemented from llvm::ilist_default_traits< ValueSubClass >.

Definition at line 78 of file SymbolTableListTraitsImpl.h.

References getSymTab().

template<typename ValueSubClass, typename ItemParentClass>
void llvm::SymbolTableListTraits< ValueSubClass, ItemParentClass >::transferNodesFromList ( ilist_traits< ValueSubClass > &  L2,
ilist_iterator< ValueSubClass >  first,
ilist_iterator< ValueSubClass >  last 
) [inline]

template<typename ValueSubClass, typename ItemParentClass>
template<typename TPtr>
void llvm::SymbolTableListTraits< ValueSubClass, ItemParentClass >::setSymTabObject ( TPtr *  Dest,
TPtr  Src 
) [inline]

setSymTabObject - This is called when (f.e.) the parent of a basic block changes. This requires us to remove all the instruction symtab entries from the current function and reinsert them into the new function.

Definition at line 30 of file SymbolTableListTraitsImpl.h.

References llvm::iplist< NodeTy, Traits >::begin(), llvm::iplist< NodeTy, Traits >::empty(), llvm::iplist< NodeTy, Traits >::end(), getSymTab(), I, llvm::ValueSymbolTable::reinsertValue(), and llvm::ValueSymbolTable::removeValueName().


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



This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.