LLVM API Documentation

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 clear (std::vector< Type * > &DerivedTypes)
void RefineAbstractType (TypeClass *Ty, const DerivedType *OldType, const Type *NewType)
void print (const char *Arg) const
void dump () const

Detailed Description

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

Definition at line 781 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 784 of file Type.cpp.


Constructor & Destructor Documentation

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

Definition at line 785 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 792 of file Type.cpp.

References Map, and print().

template<class ValType, class TypeClass>
void llvm::TypeMap< ValType, TypeClass >::clear ( std::vector< Type * > &  DerivedTypes  )  [inline]

Definition at line 800 of file Type.cpp.

References E, I, and Map.

Referenced by llvm::SlotMachine::TypePlane::clear().

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

Definition at line 929 of file Type.cpp.

References print().

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

Definition at line 787 of file Type.cpp.

References I, and Map.

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

Definition at line 918 of file Type.cpp.

References E, I, and Map.

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

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 811 of file Type.cpp.

References E, I, Map, llvm::tie(), TypeHasCycleThroughItself(), and TypesEqual().


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