LLVM  4.0.0
Classes | Public Types | Public Member Functions | List of all members
llvm::ConstantUniqueMap< ConstantClass > Class Template Reference

#include <InlineAsm.h>

Inheritance diagram for llvm::ConstantUniqueMap< ConstantClass >:
[legend]

Public Types

typedef ConstantInfo
< ConstantClass >::ValType 
ValType
 
typedef ConstantInfo
< ConstantClass >::TypeClass 
TypeClass
 
typedef std::pair< TypeClass
*, ValType
LookupKey
 
typedef std::pair< unsigned,
LookupKey
LookupKeyHashed
 Key and hash together, so that we compute the hash only once and reuse it. More...
 
typedef DenseSet
< ConstantClass *, MapInfo > 
MapTy
 

Public Member Functions

MapTy::iterator begin ()
 
MapTy::iterator end ()
 
void freeConstants ()
 
ConstantClass * getOrCreate (TypeClass *Ty, ValType V)
 Return the specified constant from the map, creating it if necessary. More...
 
void remove (ConstantClass *CP)
 Remove this constant from the map. More...
 
ConstantClass * replaceOperandsInPlace (ArrayRef< Constant * > Operands, ConstantClass *CP, Value *From, Constant *To, unsigned NumUpdated=0, unsigned OperandNo=~0u)
 
void dump () const
 

Detailed Description

template<class ConstantClass>
class llvm::ConstantUniqueMap< ConstantClass >

Definition at line 29 of file InlineAsm.h.

Member Typedef Documentation

template<class ConstantClass>
typedef std::pair<TypeClass *, ValType> llvm::ConstantUniqueMap< ConstantClass >::LookupKey

Definition at line 599 of file ConstantsContext.h.

template<class ConstantClass>
typedef std::pair<unsigned, LookupKey> llvm::ConstantUniqueMap< ConstantClass >::LookupKeyHashed

Key and hash together, so that we compute the hash only once and reuse it.

Definition at line 602 of file ConstantsContext.h.

template<class ConstantClass>
typedef DenseSet<ConstantClass *, MapInfo> llvm::ConstantUniqueMap< ConstantClass >::MapTy

Definition at line 646 of file ConstantsContext.h.

template<class ConstantClass>
typedef ConstantInfo<ConstantClass>::TypeClass llvm::ConstantUniqueMap< ConstantClass >::TypeClass

Definition at line 598 of file ConstantsContext.h.

template<class ConstantClass>
typedef ConstantInfo<ConstantClass>::ValType llvm::ConstantUniqueMap< ConstantClass >::ValType

Definition at line 597 of file ConstantsContext.h.

Member Function Documentation

template<class ConstantClass>
MapTy::iterator llvm::ConstantUniqueMap< ConstantClass >::begin ( )
inline
template<class ConstantClass>
void llvm::ConstantUniqueMap< ConstantClass >::dump ( void  ) const
inline

Definition at line 725 of file ConstantsContext.h.

template<class ConstantClass>
MapTy::iterator llvm::ConstantUniqueMap< ConstantClass >::end ( )
inline
template<class ConstantClass>
void llvm::ConstantUniqueMap< ConstantClass >::freeConstants ( )
inline

Definition at line 655 of file ConstantsContext.h.

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

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

Hash once, and reuse it for the lookup and the insertion if needed.

Definition at line 672 of file ConstantsContext.h.

Referenced by llvm::ConstantArray::get(), llvm::ConstantStruct::get(), and llvm::ConstantVector::get().

template<class ConstantClass>
void llvm::ConstantUniqueMap< ConstantClass >::remove ( ConstantClass *  CP)
inline

Remove this constant from the map.

Definition at line 690 of file ConstantsContext.h.

template<class ConstantClass>
ConstantClass* llvm::ConstantUniqueMap< ConstantClass >::replaceOperandsInPlace ( ArrayRef< Constant * >  Operands,
ConstantClass *  CP,
Value From,
Constant To,
unsigned  NumUpdated = 0,
unsigned  OperandNo = ~0u 
)
inline

Hash once, and reuse it for the lookup and the insertion if needed.

Definition at line 697 of file ConstantsContext.h.


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