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::SequentialType Class Reference

#include <DerivedTypes.h>

Inheritance diagram for llvm::SequentialType:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

const Type * getElementType () const
virtual bool indexValid (const Value *V) const
virtual const Type * getTypeAtIndex (const Value *V) const

Static Public Member Functions

static bool classof (const SequentialType *T)
static bool classof (const Type *T)
 Methods for support type inquiry through isa, cast, and dyn_cast:.

Protected Member Functions

 SequentialType (TypeID TID, const Type *ElType)

Detailed Description

SequentialType - This is the superclass of the array, pointer and packed type classes. All of these represent "arrays" in memory. The array type represents a specifically sized array, pointer types are unsized/unknown size arrays, packed types represent specifically sized arrays that allow for use of SIMD instructions. SequentialType holds the common features of all, which stem from the fact that all three lay their components out in memory identically.

Definition at line 241 of file DerivedTypes.h.


Constructor & Destructor Documentation

llvm::SequentialType::SequentialType (  TypeID  TID,
const Type *  ElType
)  [inline, protected]
 

Definition at line 245 of file DerivedTypes.h.

References llvm::Type::ContainedTys.


Member Function Documentation

static bool llvm::SequentialType::classof (  const Type *  T  )  [inline, static]
 

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

Reimplemented from llvm::CompositeType.

Reimplemented in llvm::ArrayType, llvm::PackedType, and llvm::PointerType.

Definition at line 264 of file DerivedTypes.h.

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

static bool llvm::SequentialType::classof (  const SequentialType *  T  )  [inline, static]
 

Definition at line 263 of file DerivedTypes.h.

const Type* llvm::SequentialType::getElementType (   )  const [inline]
 

Definition at line 251 of file DerivedTypes.h.

References llvm::Type::ContainedTys.

Referenced by ArrayTypeIsString(), calcTypeName(), llvm::ConstantArray::ConstantArray(), llvm::ConstantPacked::ConstantPacked(), llvm::ConvertExpressionToType(), ConvertMallocToType(), ConvertOperandToType(), llvm::ExecutionEngine::EmitGlobalVariable(), llvm::Interpreter::executeGEPOperation(), llvm::ExpressionConvertibleToType(), llvm::PointerValType::get(), llvm::PackedValType::get(), llvm::ArrayValType::get(), llvm::AllocationInst::getAllocatedType(), llvm::Function::getFunctionType(), GetGEPGlobalInitializer(), llvm::GetElementPtrInst::getIndexedType(), llvm::JIT::getOrEmitGlobalVariable(), llvm::getPointedToComposite(), getTypeDescription(), getTypeInfo(), llvm::InsertProfilingInitCall(), LinkAppendingVars(), LinkGlobals(), MallocConvertibleToType(), llvm::DSNode::mergeTypeInfo(), OperandConvertibleToType(), OptimizeGlobalAddressOfMalloc(), llvm::BytecodeReader::ParseConstantValue(), llvm::BytecodeReader::ParseInstruction(), llvm::BytecodeReader::ParseModule(), llvm::BytecodeReader::ParseStringConstants(), ProcessGlobalsWithSameName(), RecursiveResolveTypesI(), TypesEqual(), and llvm::Interpreter::visitAllocationInst().

virtual const Type* llvm::SequentialType::getTypeAtIndex (  const Value *  V  )  const [inline, virtual]
 

getTypeAtIndex - Given an index value into the type, return the type of the element. For sequential types, there is only one subtype...

Implements llvm::CompositeType.

Definition at line 258 of file DerivedTypes.h.

References llvm::Type::ContainedTys.

bool SequentialType::indexValid (  const Value *  V  )  const [virtual]
 

Implements llvm::CompositeType.

Definition at line 1290 of file Type.cpp.

References llvm::Value::getType(), llvm::Type::getTypeID(), llvm::Type::IntTyID, llvm::Type::LongTyID, llvm::Type::UIntTyID, and llvm::Type::ULongTyID.

Referenced by llvm::GetElementPtrInst::getIndexedType().


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