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(). |
|
|