LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey > Class Template Reference

#include <InlineAsm.h>

Inheritance diagram for llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >:
Inheritance graph
[legend]

Public Types

typedef std::pair< TypeClass
*, ValType > 
MapKey
 
typedef std::map< MapKey,
ConstantClass * > 
MapTy
 
typedef std::map
< ConstantClass *, typename
MapTy::iterator > 
InverseMapTy
 

Public Member Functions

MapTy::iterator map_begin ()
 
MapTy::iterator map_end ()
 
void freeConstants ()
 
MapTy::iterator InsertOrGetItem (std::pair< MapKey, ConstantClass * > &InsertVal, bool &Exists)
 
ConstantClass * getOrCreate (TypeClass *Ty, ValRefType V)
 
void remove (ConstantClass *CP)
 
void MoveConstantToNewSlot (ConstantClass *C, typename MapTy::iterator I)
 
void dump () const
 

Detailed Description

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey>
class llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >

Definition at line 31 of file InlineAsm.h.

Member Typedef Documentation

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey>
typedef std::map<ConstantClass *, typename MapTy::iterator> llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::InverseMapTy

Definition at line 519 of file ConstantsContext.h.

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey>
typedef std::pair<TypeClass*, ValType> llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::MapKey

Definition at line 517 of file ConstantsContext.h.

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey>
typedef std::map<MapKey, ConstantClass *> llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::MapTy

Definition at line 518 of file ConstantsContext.h.

Member Function Documentation

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey>
void llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::dump ( ) const
inline

Definition at line 644 of file ConstantsContext.h.

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey>
void llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::freeConstants ( )
inline

Definition at line 536 of file ConstantsContext.h.

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey>
ConstantClass* llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::getOrCreate ( TypeClass *  Ty,
ValRefType  V 
)
inline

getOrCreate - Return the specified constant from the map, creating it if necessary.

Definition at line 596 of file ConstantsContext.h.

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey>
MapTy::iterator llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::InsertOrGetItem ( std::pair< MapKey, ConstantClass * > &  InsertVal,
bool Exists 
)
inline

InsertOrGetItem - Return an iterator for the specified element. If the element exists in the map, the returned iterator points to the entry and Exists=true. If not, the iterator points to the newly inserted entry and returns Exists=false. Newly inserted entries have I->second == 0, and should be filled in.

Definition at line 549 of file ConstantsContext.h.

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey>
MapTy::iterator llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::map_begin ( )
inline

Definition at line 533 of file ConstantsContext.h.

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey>
MapTy::iterator llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::map_end ( )
inline

Definition at line 534 of file ConstantsContext.h.

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey>
void llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::MoveConstantToNewSlot ( ConstantClass *  C,
typename MapTy::iterator  I 
)
inline

MoveConstantToNewSlot - If we are about to change C to be the element specified by I, update our internal data structures to reflect this fact.

Definition at line 627 of file ConstantsContext.h.

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey>
void llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::remove ( ConstantClass *  CP)
inline

Definition at line 613 of file ConstantsContext.h.


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