LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::PackedType Class Reference

#include <DerivedTypes.h>

Inheritance diagram for llvm::PackedType:

Inheritance graph
[legend]
Collaboration diagram for llvm::PackedType:

Collaboration graph
[legend]
List of all members.

Public Member Functions

unsigned getNumElements () const
virtual void refineAbstractType (const DerivedType *OldTy, const Type *NewTy)
virtual void typeBecameConcrete (const DerivedType *AbsTy)

Static Public Member Functions

static PackedTypeget (const Type *ElementType, unsigned NumElements)
static bool classof (const PackedType *T)
static bool classof (const Type *T)
 Methods for support type inquiry through isa, cast, and dyn_cast:.

Protected Member Functions

 PackedType (const Type *ElType, unsigned NumEl)

Friends

class TypeMap< PackedValType, PackedType >

Detailed Description

PackedType - Class to represent packed types

Definition at line 310 of file DerivedTypes.h.


Constructor & Destructor Documentation

PackedType::PackedType const Type ElType,
unsigned  NumEl
[protected]
 

This should really be private, but it squelches a bogus warning from GCC to make them protected: warning: `class PackedType' only defines private constructors and has no friends

Private ctor - Only can be created by a static member...

Definition at line 412 of file Type.cpp.

References llvm::Type::isFloatingPoint(), and llvm::Type::isIntegral().


Member Function Documentation

static bool llvm::PackedType::classof const Type T  )  [inline, static]
 

Methods for support type inquiry through isa, cast, and dyn_cast:.

Reimplemented from llvm::SequentialType.

Definition at line 339 of file DerivedTypes.h.

References llvm::Type::getTypeID(), and llvm::Type::PackedTyID.

static bool llvm::PackedType::classof const PackedType T  )  [inline, static]
 

Definition at line 338 of file DerivedTypes.h.

PackedType * PackedType::get const Type ElementType,
unsigned  NumElements
[static]
 

PackedType::get - This static method is the primary way to construct an PackedType

Definition at line 974 of file Type.cpp.

References llvm::TypeMap< ValType, TypeClass >::add(), and llvm::TypeMap< ValType, TypeClass >::get().

Referenced by llvm::ConstantPacked::get(), and llvm::BytecodeReader::ParseType().

unsigned llvm::PackedType::getNumElements  )  const [inline]
 

Definition at line 331 of file DerivedTypes.h.

Referenced by calcTypeName(), llvm::PackedValType::get(), getTypeDescription(), getTypeInfo(), llvm::PackedValType::hashTypeStructure(), llvm::BytecodeReader::ParseConstantValue(), and TypesEqual().

void PackedType::refineAbstractType const DerivedType OldTy,
const Type NewTy
[virtual]
 

refineAbstractType - The callback method invoked when an abstract type is resolved to another type. An object must override this method to update its internal state to reference NewType instead of OldType.

Implements llvm::AbstractTypeUser.

Definition at line 1255 of file Type.cpp.

References llvm::TypeMap< ValType, TypeClass >::finishRefinement().

Referenced by typeBecameConcrete().

void PackedType::typeBecameConcrete const DerivedType AbsTy  )  [virtual]
 

The other case which AbstractTypeUsers must be aware of is when a type makes the transition from being abstract (where it has clients on it's AbstractTypeUsers list) to concrete (where it does not). This method notifies ATU's when this occurs for a type.

Implements llvm::AbstractTypeUser.

Definition at line 1260 of file Type.cpp.

References refineAbstractType().


Friends And Related Function Documentation

friend class TypeMap< PackedValType, PackedType > [friend]
 

Definition at line 311 of file DerivedTypes.h.


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