LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::TypeMap< ValType, TypeClass > Class Template Reference

Collaboration diagram for llvm::TypeMap< ValType, TypeClass >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::map< ValType,
PATypeHolder >::iterator 
iterator

Public Member Functions

 ~TypeMap ()
TypeClass * get (const ValType &V)
void add (const ValType &V, TypeClass *Ty)
void RemoveFromTypesByHash (unsigned Hash, const Type *Ty)
void finishRefinement (TypeClass *Ty, const DerivedType *OldType, const Type *NewType)
void print (const char *Arg) const
void dump () const

Friends

void Type::clearAllTypeMaps ()

Detailed Description

template<class ValType, class TypeClass>
class llvm::TypeMap< ValType, TypeClass >

Definition at line 654 of file Type.cpp.


Member Typedef Documentation

template<class ValType, class TypeClass>
typedef std::map<ValType, PATypeHolder>::iterator llvm::TypeMap< ValType, TypeClass >::iterator
 

Definition at line 674 of file Type.cpp.


Constructor & Destructor Documentation

template<class ValType, class TypeClass>
llvm::TypeMap< ValType, TypeClass >::~TypeMap  )  [inline]
 

Definition at line 675 of file Type.cpp.

References print().


Member Function Documentation

template<class ValType, class TypeClass>
void llvm::TypeMap< ValType, TypeClass >::add const ValType &  V,
TypeClass *  Ty
[inline]
 

Definition at line 682 of file Type.cpp.

References print().

Referenced by llvm::PointerType::get(), llvm::StructType::get(), llvm::PackedType::get(), llvm::ArrayType::get(), and llvm::FunctionType::get().

template<class ValType, class TypeClass>
void llvm::TypeMap< ValType, TypeClass >::dump  )  const [inline]
 

Definition at line 816 of file Type.cpp.

References print().

template<class ValType, class TypeClass>
void llvm::TypeMap< ValType, TypeClass >::finishRefinement TypeClass *  Ty,
const DerivedType OldType,
const Type NewType
[inline]
 

finishRefinement - This method is called after we have updated an existing type with its new components. We must now either merge the type away with some other type or reinstall it in the map with it's new configuration. The specified iterator tells us what the type USED to look like.

Definition at line 704 of file Type.cpp.

References E, I, llvm::Type::isAbstract(), llvm::tie(), TypeHasCycleThroughItself(), TypesEqual(), and V.

Referenced by llvm::PointerType::refineAbstractType(), llvm::StructType::refineAbstractType(), llvm::PackedType::refineAbstractType(), llvm::ArrayType::refineAbstractType(), and llvm::FunctionType::refineAbstractType().

template<class ValType, class TypeClass>
TypeClass* llvm::TypeMap< ValType, TypeClass >::get const ValType &  V  )  [inline]
 

Definition at line 677 of file Type.cpp.

References I.

Referenced by llvm::PointerType::get(), llvm::StructType::get(), llvm::PackedType::get(), llvm::ArrayType::get(), and llvm::FunctionType::get().

template<class ValType, class TypeClass>
void llvm::TypeMap< ValType, TypeClass >::print const char *  Arg  )  const [inline]
 

Definition at line 805 of file Type.cpp.

References E, and I.

template<class ValType, class TypeClass>
void llvm::TypeMap< ValType, TypeClass >::RemoveFromTypesByHash unsigned  Hash,
const Type Ty
[inline]
 

Definition at line 690 of file Type.cpp.

References I.


Friends And Related Function Documentation

template<class ValType, class TypeClass>
void Type::clearAllTypeMaps  )  [friend]
 


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