LLVM API Documentation
#include <DerivedTypes.h>
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 *) |
| 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 35 of file DerivedTypes.h.
| llvm::DerivedType::DerivedType | ( | TypeID | id | ) | [inline, explicit, protected] |
Definition at line 39 of file DerivedTypes.h.
| 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 1436 of file Type.cpp.
References llvm::Type::AbstractTypeUsers, DOUT, and llvm::AbstractTypeUser::typeBecameConcrete().
| 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 529 of file Type.cpp.
References llvm::Type::ContainedTys, llvm::OpaqueType::get(), and llvm::Type::NumContainedTys.
Referenced by refineAbstractTypeTo().
| 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 1369 of file Type.cpp.
References AbstractTypeDescriptions, llvm::Type::AbstractTypeUsers, llvm::Type::addRef(), DOUT, dropAllTypeUses(), llvm::Type::ForwardType, llvm::PATypeHolder::get(), llvm::Type::isAbstract(), and llvm::AbstractTypeUser::refineAbstractType().
| void llvm::DerivedType::dump | ( | ) | const [inline, virtual] |
Debugging support: print to stderr.
Reimplemented from llvm::Type.
Definition at line 67 of file DerivedTypes.h.
References llvm::dump().
| static bool llvm::DerivedType::classof | ( | const DerivedType * | ) | [inline, static] |
Definition at line 70 of file DerivedTypes.h.
| static bool llvm::DerivedType::classof | ( | const Type * | ) | [inline, static] |
Methods for support type inquiry through isa, cast, and dyn_cast:.
Reimplemented from llvm::Type.
Reimplemented in llvm::IntegerType, llvm::FunctionType, llvm::CompositeType, llvm::StructType, llvm::SequentialType, llvm::ArrayType, llvm::VectorType, llvm::PointerType, and llvm::OpaqueType.
Definition at line 71 of file DerivedTypes.h.
References llvm::Type::isDerivedType().
friend class Type [friend] |
Definition at line 36 of file DerivedTypes.h.