LLVM API Documentation
#include <DerivedTypes.h>
Inheritance diagram for llvm::DerivedType:
Public Member Functions | |
void | refineAbstractTypeTo (const Type *NewType) |
void | dump () const |
Debugging support: print to stderr. | |
Static Public Member Functions | |
static bool | classof (const DerivedType *T) |
static bool | classof (const Type *T) |
Methods for support type inquiry through isa, cast, and dyn_cast:. | |
Protected Member Functions | |
DerivedType (TypeID id) | |
void | notifyUsesThatTypeBecameConcrete () |
void | dropAllTypeUses () |
Friends | |
class | Type |
Definition at line 33 of file DerivedTypes.h.
llvm::DerivedType::DerivedType | ( | TypeID | id | ) | [inline, protected] |
Definition at line 37 of file DerivedTypes.h.
static bool llvm::DerivedType::classof | ( | const Type * | T | ) | [inline, static] |
Methods for support type inquiry through isa, cast, and dyn_cast:.
Reimplemented from llvm::Type.
Reimplemented in llvm::FunctionType, llvm::CompositeType, llvm::StructType, llvm::SequentialType, llvm::ArrayType, llvm::PackedType, llvm::PointerType, and llvm::OpaqueType.
Definition at line 69 of file DerivedTypes.h.
References llvm::Type::isDerivedType(), and T.
static bool llvm::DerivedType::classof | ( | const DerivedType * | T | ) | [inline, static] |
Definition at line 68 of file DerivedTypes.h.
void DerivedType::dropAllTypeUses | ( | ) | [protected] |
dropAllTypeUses - When this (abstract) type is resolved to be equal to another (more concrete) type, we must eliminate all references to other types, to avoid some circular reference problems.
Definition at line 477 of file Type.cpp.
References llvm::Type::ContainedTys, llvm::OpaqueType::get(), and llvm::Type::IntTy.
Referenced by refineAbstractTypeTo().
void llvm::DerivedType::dump | ( | ) | const [inline, virtual] |
Debugging support: print to stderr.
Reimplemented from llvm::Type.
Definition at line 65 of file DerivedTypes.h.
References llvm::Type::dump().
void DerivedType::notifyUsesThatTypeBecameConcrete | ( | ) | [protected] |
notifyUsesThatTypeBecameConcrete - Notify AbstractTypeUsers of this type that the current type has transitioned from being abstract to being concrete.
Definition at line 1323 of file Type.cpp.
References llvm::Type::AbstractTypeUsers.
void DerivedType::refineAbstractTypeTo | ( | const Type * | NewType | ) |
refineAbstractTypeTo - This function is used to when it is discovered that the 'this' abstract type is actually equivalent to the NewType specified. This causes all users of 'this' to switch to reference the more concrete type NewType and for 'this' to be deleted.
Definition at line 1256 of file Type.cpp.
References AbstractTypeDescriptions, llvm::Type::AbstractTypeUsers, llvm::Type::addRef(), dropAllTypeUses(), llvm::Type::ForwardType, llvm::PATypeHolder::get(), and llvm::Type::isAbstract().
friend class Type [friend] |
Definition at line 34 of file DerivedTypes.h.