LLVM API Documentation
#include "llvm/AbstractTypeUser.h"#include "llvm/DerivedTypes.h"#include "llvm/SymbolTable.h"#include "llvm/Constants.h"#include "llvm/ADT/DepthFirstIterator.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/SCCIterator.h"#include "llvm/ADT/STLExtras.h"#include <algorithm>#include <iostream>#include "llvm/Type.def"Include dependency graph for Type.cpp:

Go to the source code of this file.
Namespaces | |
| namespace | llvm |
Classes | |
| struct | TypePromotionGraph |
| struct | llvm::GraphTraits< TypePromotionGraph > |
| class | llvm::TypeMap< ValType, TypeClass > |
| class | llvm::FunctionValType |
| class | llvm::ArrayValType |
| class | llvm::PackedValType |
| class | llvm::StructValType |
| class | llvm::PointerValType |
Defines | |
| #define | HANDLE_PRIM_TYPE(TY, SIZE) case TY##TyID: return SIZE; |
Functions | |
| static std::string | getTypeDescription (const Type *Ty, std::vector< const Type * > &TypeStack) |
| static const std::string & | getOrCreateDesc (std::map< const Type *, std::string > &Map, const Type *Ty) |
| static PrimType | TheVoidTy ("void", Type::VoidTyID) |
| static PrimType | TheBoolTy ("bool", Type::BoolTyID) |
| static PrimType | TheSByteTy ("sbyte", Type::SByteTyID) |
| static PrimType | TheUByteTy ("ubyte", Type::UByteTyID) |
| static PrimType | TheShortTy ("short", Type::ShortTyID) |
| static PrimType | TheUShortTy ("ushort", Type::UShortTyID) |
| static PrimType | TheIntTy ("int", Type::IntTyID) |
| static PrimType | TheUIntTy ("uint", Type::UIntTyID) |
| static PrimType | TheLongTy ("long", Type::LongTyID) |
| static PrimType | TheULongTy ("ulong", Type::ULongTyID) |
| static PrimType | TheFloatTy ("float", Type::FloatTyID) |
| static PrimType | TheDoubleTy ("double", Type::DoubleTyID) |
| static PrimType | TheLabelTy ("label", Type::LabelTyID) |
| static bool | TypesEqual (const Type *Ty, const Type *Ty2, std::map< const Type *, const Type * > &EqTypes) |
| static bool | TypesEqual (const Type *Ty, const Type *Ty2) |
| static bool | AbstractTypeHasCycleThrough (const Type *TargetTy, const Type *CurTy, std::set< const Type * > &VisitedTypes) |
| static bool | ConcreteTypeHasCycleThrough (const Type *TargetTy, const Type *CurTy, std::set< const Type * > &VisitedTypes) |
| static bool | TypeHasCycleThroughItself (const Type *Ty) |
| std::ostream & | llvm::operator<< (std::ostream &OS, const Type *T) |
| std::ostream & | llvm::operator<< (std::ostream &OS, const Type &T) |
Variables | |
| static std::map< const Type *, std::string > | ConcreteTypeDescriptions |
| static std::map< const Type *, std::string > | AbstractTypeDescriptions |
| static TypeMap< FunctionValType, FunctionType > | FunctionTypes |
| static TypeMap< ArrayValType, ArrayType > | ArrayTypes |
| static TypeMap< PackedValType, PackedType > | PackedTypes |
| static TypeMap< StructValType, StructType > | StructTypes |
| static TypeMap< PointerValType, PointerType > | PointerTypes |
|
|
|
|
||||||||||||||||
|
Definition at line 595 of file Type.cpp. References E, I, llvm::Type::isAbstract(), llvm::Type::subtype_begin(), and llvm::Type::subtype_end(). Referenced by TypeHasCycleThroughItself(). |
|
||||||||||||||||
|
Definition at line 610 of file Type.cpp. References E, I, llvm::Type::subtype_begin(), and llvm::Type::subtype_end(). Referenced by TypeHasCycleThroughItself(). |
|
||||||||||||
|
Definition at line 288 of file Type.cpp. References getTypeDescription(), and I. Referenced by llvm::Type::getDescription(). |
|
||||||||||||
|
||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||
|
|
|
|
TypeHasCycleThroughItself - Return true if the specified type has a cycle back to itself. Definition at line 626 of file Type.cpp. References AbstractTypeHasCycleThrough(), ConcreteTypeHasCycleThrough(), E, I, llvm::Type::isAbstract(), llvm::Type::subtype_begin(), and llvm::Type::subtype_end(). Referenced by llvm::TypeMap< ValType, TypeClass >::finishRefinement(). |
|
||||||||||||
|
Definition at line 586 of file Type.cpp. References TypesEqual(). |
|
||||||||||||||||
|
|
Definition at line 43 of file Type.cpp. Referenced by llvm::Type::getDescription(), getTypeDescription(), and llvm::DerivedType::refineAbstractTypeTo(). |
|
|
|
|
|
Definition at line 42 of file Type.cpp. Referenced by llvm::Type::getDescription(), getTypeDescription(), and llvm::Type::Type(). |
|
|
|
|
|
|
|
|
Definition at line 1077 of file Type.cpp. Referenced by RecursiveResolveTypes(). |
|
|
|