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

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

Inheritance graph
[legend]
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 RefineAbstractType (TypeClass *Ty, const DerivedType *OldType, const Type *NewType)
void print (const char *Arg) const
void dump () const

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


Member Typedef Documentation

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

Definition at line 851 of file Type.cpp.

Referenced by llvm::TypeMap< ValType, TypeClass >::get().


Constructor & Destructor Documentation

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

Definition at line 852 of file Type.cpp.

References llvm::TypeMap< ValType, TypeClass >::print().


Member Function Documentation

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

Definition at line 859 of file Type.cpp.

References llvm::TypeMap< ValType, TypeClass >::print().

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

Definition at line 988 of file Type.cpp.

References llvm::TypeMap< ValType, TypeClass >::print().

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

Definition at line 854 of file Type.cpp.

References llvm::TypeMap< ValType, TypeClass >::iterator.

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

Definition at line 977 of file Type.cpp.

References DOUT, and llvm::PATypeHandle::get().

Referenced by llvm::TypeMap< ValType, TypeClass >::add(), llvm::TypeMap< ValType, TypeClass >::dump(), and llvm::TypeMap< ValType, TypeClass >::~TypeMap().

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

RefineAbstractType - This method is called after we have merged a type with another one. We must now either merge the type away with some other type or reinstall it in the map with it's new configuration.

Definition at line 870 of file Type.cpp.

References llvm::Type::ContainedTys, DOUT, llvm::TypeMapBase::RemoveFromTypesByHash(), llvm::tie(), TypeHasCycleThroughItself(), and TypesEqual().


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


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