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

#include <Type.h>

Inheritance diagram for llvm::Type:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::vector< PATypeHandle
>::const_iterator 
subtype_iterator
enum  TypeID {
  VoidTyID = 0, BoolTyID, UByteTyID, SByteTyID,
  UShortTyID, ShortTyID, UIntTyID, IntTyID,
  ULongTyID, LongTyID, FloatTyID, DoubleTyID,
  LabelTyID, FunctionTyID, StructTyID, ArrayTyID,
  PointerTyID, OpaqueTyID, PackedTyID, NumTypeIDs,
  LastPrimitiveTyID = LabelTyID, FirstDerivedTyID = FunctionTyID
}

Public Member Functions

virtual void print (std::ostream &O) const
virtual void dump () const
 Debugging support: print to stderr.
TypeID getTypeID () const
const std::string & getDescription () const
 getDescription - Return the string representation of the type...
bool isSigned () const
bool isUnsigned () const
bool isInteger () const
bool isIntegral () const
bool isFloatingPoint () const
bool isAbstract () const
bool isLosslesslyConvertibleTo (const Type *Ty) const
bool isPrimitiveType () const
bool isDerivedType () const
bool isFirstClassType () const
bool isSized () const
unsigned getPrimitiveSize () const
const TypegetUnsignedVersion () const
const TypegetSignedVersion () const
const TypegetForwardedType () const
subtype_iterator subtype_begin () const
subtype_iterator subtype_end () const
const TypegetContainedType (unsigned i) const
unsigned getNumContainedTypes () const
virtual void addAbstractTypeUser (AbstractTypeUser *U) const
virtual void removeAbstractTypeUser (AbstractTypeUser *U) const
void addRef () const
void dropRef () const

Static Public Member Functions

static const TypegetPrimitiveType (TypeID IDNumber)
 getPrimitiveType - Return a type based on an identifier.
static bool classof (const Type *T)
 Methods for support type inquiry through isa, cast, and dyn_cast:.
static void clearAllTypeMaps ()

Static Public Attributes

static TypeVoidTy = &TheVoidTy
static TypeBoolTy = &TheBoolTy
static TypeSByteTy = &TheSByteTy
static TypeUByteTy = &TheUByteTy
static TypeShortTy = &TheShortTy
static TypeUShortTy = &TheUShortTy
static TypeIntTy = &TheIntTy
static TypeUIntTy = &TheUIntTy
static TypeLongTy = &TheLongTy
static TypeULongTy = &TheULongTy
static TypeFloatTy = &TheFloatTy
static TypeDoubleTy = &TheDoubleTy
static TypeLabelTy = &TheLabelTy

Protected Member Functions

 Type (const std::string &Name, TypeID id)
virtual ~Type ()
void setAbstract (bool Val)
void PromoteAbstractToConcrete ()
unsigned getRefCount () const

Protected Attributes

const TypeForwardType
std::vector< PATypeHandleContainedTys

Detailed Description

Definition at line 53 of file Type.h.


Member Typedef Documentation

typedef std::vector<PATypeHandle>::const_iterator llvm::Type::subtype_iterator
 

Definition at line 234 of file Type.h.


Member Enumeration Documentation

enum llvm::Type::TypeID
 

===-------------------------------------------------------------------===// Definitions of all of the base types for the Type system. Based on this value, you can cast to a "DerivedType" subclass (see DerivedTypes.h) Note: If you add an element to this, you need to add an element to the Type::getPrimitiveType function, or else things will break!

Enumerator:
VoidTyID 
BoolTyID 
UByteTyID 
SByteTyID 
UShortTyID 
ShortTyID 
UIntTyID 
IntTyID 
ULongTyID 
LongTyID 
FloatTyID 
DoubleTyID 
LabelTyID 
FunctionTyID 
StructTyID 
ArrayTyID 
PointerTyID 
OpaqueTyID 
PackedTyID 
NumTypeIDs 
LastPrimitiveTyID 
FirstDerivedTyID 

Definition at line 61 of file Type.h.


Constructor & Destructor Documentation

Type::Type const std::string &  Name,
TypeID  id
[protected]
 

Definition at line 45 of file Type.cpp.

References ConcreteTypeDescriptions.

virtual llvm::Type::~Type  )  [inline, protected, virtual]
 

Definition at line 98 of file Type.h.


Member Function Documentation

virtual void llvm::Type::addAbstractTypeUser AbstractTypeUser U  )  const [inline, virtual]
 

Reimplemented in llvm::DerivedType.

Definition at line 342 of file Type.h.

void llvm::Type::addRef  )  const [inline]
 

Definition at line 349 of file Type.h.

Referenced by llvm::DerivedType::refineAbstractTypeTo().

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

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

Reimplemented in llvm::DerivedType, llvm::FunctionType, llvm::CompositeType, llvm::StructType, llvm::SequentialType, llvm::ArrayType, llvm::PackedType, llvm::PointerType, and llvm::OpaqueType.

Definition at line 272 of file Type.h.

void Type::clearAllTypeMaps  )  [static]
 

clearAllTypeMaps - This method frees all internal memory used by the type subsystem, which can be used in environments where this memory is otherwise reported as a leak.

Definition at line 1321 of file Type.cpp.

References llvm::TypeMap< ValType, TypeClass >::clear(), E, and I.

void llvm::Type::dropRef  )  const [inline]
 

Definition at line 354 of file Type.h.

References getForwardedType().

void Type::dump  )  const [virtual]
 

Debugging support: print to stderr.

Reimplemented in llvm::DerivedType.

Definition at line 1249 of file AsmWriter.cpp.

References print().

Referenced by llvm::DerivedType::dump().

const Type* llvm::Type::getContainedType unsigned  i  )  const [inline]
 

getContainedType - This method is used to implement the type iterator (defined a the end of the file). For derived types, this returns the types 'contained' in the derived type.

Definition at line 242 of file Type.h.

References ContainedTys.

Referenced by getStructOffsetStep(), and lookupFunction().

const std::string & Type::getDescription  )  const
 

getDescription - Return the string representation of the type...

Definition at line 298 of file Type.cpp.

References AbstractTypeDescriptions, ConcreteTypeDescriptions, getOrCreateDesc(), and isAbstract().

Referenced by calcTypeName(), llvm::Interpreter::callExternalFunction(), HandleUpRefs(), llvm::BytecodeReader::ParseConstantPool(), llvm::BytecodeReader::ParseConstantValue(), llvm::BytecodeReader::ParseFunction(), print(), llvm::Constant::print(), printTypeInt(), ResolveDefinitions(), setTypeName(), setValueName(), WriteAsOperandInternal(), and llvm::WriteTypeSymbolic().

const Type* llvm::Type::getForwardedType  )  const [inline]
 

getForwaredType - Return the type that this type has been resolved to if it has been resolved to anything. This is used to implement the union-find algorithm for type resolution, and shouldn't be used by general purpose clients.

Definition at line 226 of file Type.h.

References ForwardType.

Referenced by dropRef().

unsigned llvm::Type::getNumContainedTypes  )  const [inline]
 

getNumContainedTypes - Return the number of types in the derived type.

Definition at line 249 of file Type.h.

References ContainedTys.

Referenced by lookupFunction().

unsigned Type::getPrimitiveSize  )  const
 

getPrimitiveSize - Return the basic size of this type if it is a primitive type. These are fixed by LLVM and are not target dependent. This will return zero if the type does not have a size or is not a primitive type.

Definition at line 139 of file Type.cpp.

References getTypeID().

Referenced by llvm::SparcV9FunctionInfo::computeOffsetforLocalVar(), llvm::ConstantFoldGetElementPtr(), findOptimalStorageSize(), llvm::ConstantIntegral::getAllOnesValue(), getCastType(), llvm::ConstantIntegral::getMaxValue(), llvm::ConstantIntegral::getMinValue(), llvm::ConstantExpr::getSignExtend(), getSize(), getTruncateOrZeroExtend(), getTypeSizeInBits(), llvm::ConstantExpr::getZeroExtend(), InsertSignExtendToPtrTy(), llvm::ConstantUInt::isAllOnesValue(), isSignBit(), isSignBitCheck(), RemoveNoopCast(), llvm::ConstantRange::truncate(), llvm::Interpreter::visitCallSite(), and llvm::ConstantRange::zeroExtend().

const Type * Type::getPrimitiveType TypeID  IDNumber  )  [static]
 

getPrimitiveType - Return a type based on an identifier.

Definition at line 53 of file Type.cpp.

References BoolTy, BoolTyID, DoubleTy, DoubleTyID, FloatTy, FloatTyID, IntTy, IntTyID, LabelTy, LabelTyID, LongTy, LongTyID, SByteTy, SByteTyID, ShortTy, ShortTyID, UByteTy, UByteTyID, UIntTy, UIntTyID, ULongTy, ULongTyID, UShortTy, UShortTyID, VoidTy, and VoidTyID.

Referenced by llvm::BytecodeReader::ParseType(), and llvm::SlotCalculator::SlotCalculator().

unsigned llvm::Type::getRefCount  )  const [inline, protected]
 

Definition at line 108 of file Type.h.

Referenced by llvm::DerivedType::removeAbstractTypeUser().

const Type * Type::getSignedVersion  )  const
 

getSignedVersion - If this is an integer type, return the signed variant of this type. For example uint -> int.

Definition at line 119 of file Type.cpp.

References getTypeID(), IntTy, IntTyID, isInteger(), LongTy, LongTyID, SByteTy, SByteTyID, ShortTy, ShortTyID, UByteTyID, UIntTyID, ULongTyID, and UShortTyID.

Referenced by llvm::SCEVUnknown::getIntegerSCEV(), llvm::ConstantExpr::getSignExtend(), llvm::ConstantExpr::getSShr(), InsertSignExtendToPtrTy(), and SolveQuadraticEquation().

TypeID llvm::Type::getTypeID  )  const [inline]
 

getTypeID - Return the type id for the type. This will return one of the TypeID enum elements defined above.

Definition at line 138 of file Type.h.

Referenced by llvm::OpaqueType::classof(), llvm::PointerType::classof(), llvm::PackedType::classof(), llvm::ArrayType::classof(), llvm::SequentialType::classof(), llvm::StructType::classof(), llvm::CompositeType::classof(), llvm::FunctionType::classof(), llvm::ConstantPacked::classof(), llvm::ConstantStruct::classof(), llvm::ConstantArray::classof(), llvm::ConstantArray::ConstantArray(), llvm::ConstantPacked::ConstantPacked(), llvm::ConstantStruct::ConstantStruct(), llvm::AsmPrinter::emitGlobalConstant(), executeAddInst(), executeAndInst(), executeDivInst(), executeMulInst(), executeOrInst(), executeRemInst(), executeSetEQInst(), executeSetGEInst(), executeSetGTInst(), executeSetLEInst(), executeSetLTInst(), executeSetNEInst(), executeShlInst(), executeShrInst(), executeSubInst(), executeXorInst(), llvm::ConstantIntegral::getAllOnesValue(), getClass(), llvm::ExecutionEngine::getConstantValue(), llvm::ConstantIntegral::getMaxValue(), llvm::ConstantIntegral::getMinValue(), llvm::Constant::getNullValue(), getPrimitiveSize(), getPromotedType(), llvm::X86RegisterInfo::getRegClassForType(), llvm::SkeletonRegisterInfo::getRegClassForType(), llvm::PPC64RegisterInfo::getRegClassForType(), llvm::PPC32RegisterInfo::getRegClassForType(), llvm::SparcV9RegInfo::getRegClassIDOfType(), getSignedVersion(), getTypeID(), getTypeInfo(), getUnsignedVersion(), llvm::SelectionDAG::getValueType(), llvm::SequentialType::indexValid(), llvm::InstructionNode::InstructionNode(), isLosslesslyConvertibleTo(), llvm::ConstantFP::isValueValidForType(), llvm::ConstantUInt::isValueValidForType(), llvm::ConstantSInt::isValueValidForType(), llvm::ExecutionEngine::LoadValueFromMemory(), llvm::DSNode::mergeTypeInfo(), llvm::BytecodeReader::ParseConstantValue(), ResolveFunctions(), llvm::JIT::runFunction(), llvm::ExecutionEngine::StoreValueToMemory(), TypesEqual(), TypeToDataDirective(), and llvm::Interpreter::visitVAArgInst().

const Type * Type::getUnsignedVersion  )  const
 

getUnsignedVersion - If this is an integer type, return the unsigned variant of this type. For example int -> uint.

Definition at line 102 of file Type.cpp.

References getTypeID(), IntTyID, isInteger(), LongTyID, SByteTyID, ShortTyID, UByteTy, UByteTyID, UIntTy, UIntTyID, ULongTy, ULongTyID, UShortTy, and UShortTyID.

Referenced by llvm::SCEVUDivExpr::get(), llvm::SCEVConstant::get(), llvm::SCEVUDivExpr::getType(), llvm::ConstantExpr::getUShr(), llvm::SCEV::getValueRange(), llvm::ConstantExpr::getZeroExtend(), SolveQuadraticEquation(), and llvm::ConstantRange::zeroExtend().

bool llvm::Type::isAbstract  )  const [inline]
 

isAbstract - True if the type is either an Opaque type, or is a derived type that includes an opaque type somewhere in it.

Definition at line 178 of file Type.h.

Referenced by AbstractTypeHasCycleThrough(), llvm::DerivedType::addAbstractTypeUser(), llvm::ArrayType::ArrayType(), llvm::GraphTraits< TypePromotionGraph >::child_begin(), llvm::ConstantArray::ConstantArray(), llvm::ConstantPacked::ConstantPacked(), llvm::ConstantStruct::ConstantStruct(), llvm::TypeMap< ValType, TypeClass >::finishRefinement(), llvm::FunctionType::FunctionType(), getDescription(), HandleUpRefs(), llvm::PointerType::PointerType(), PromoteAbstractToConcrete(), llvm::DerivedType::refineAbstractTypeTo(), llvm::DerivedType::removeAbstractTypeUser(), llvm::StructType::StructType(), and TypeHasCycleThroughItself().

bool llvm::Type::isDerivedType  )  const [inline]
 

Definition at line 190 of file Type.h.

References FirstDerivedTyID.

Referenced by llvm::DerivedType::classof().

bool llvm::Type::isFirstClassType  )  const [inline]
 

isFirstClassType - Return true if the value is holdable in a register.

Definition at line 194 of file Type.h.

References LastPrimitiveTyID, PackedTyID, PointerTyID, and VoidTyID.

Referenced by llvm::ConvertExpressionToType(), ConvertOperandToType(), llvm::ExpressionConvertibleToType(), llvm::FunctionType::FunctionType(), llvm::ConstantExpr::getCast(), llvm::GetElementPtrInst::getIndexedType(), llvm::ConstantExpr::getSelectTy(), and OperandConvertibleToType().

bool llvm::Type::isFloatingPoint  )  const [inline]
 

isFloatingPoint - Return true if this is one of the two floating point types

Definition at line 173 of file Type.h.

References DoubleTyID, and FloatTyID.

Referenced by llvm::ClassifyExpr(), llvm::ConstantFP::classof(), llvm::ConstantFoldCastInstruction(), llvm::BinaryOperator::createNeg(), llvm::ExpressionConvertibleToType(), llvm::ConstantExpr::get(), llvm::SCEVUnknown::getIntegerSCEV(), llvm::ConstantExpr::getNeg(), getPrintfCodeFor(), llvm::Instruction::isAssociative(), OperandConvertibleToType(), and llvm::PackedType::PackedType().

bool llvm::Type::isInteger  )  const [inline]
 

isInteger - Equivalent to isSigned() || isUnsigned()

Definition at line 164 of file Type.h.

References LongTyID, and UByteTyID.

Referenced by llvm::ConstantInt::classof(), llvm::ConstantSInt::ConstantSInt(), llvm::ConstantUInt::ConstantUInt(), dyn_castFoldableMul(), llvm::ExpressionConvertibleToType(), llvm::ConstantExpr::get(), getSignedVersion(), llvm::ConstantExpr::getSignExtend(), getTruncateOrZeroExtend(), getUnsignedVersion(), llvm::SCEV::getValueRange(), llvm::ConstantExpr::getZeroExtend(), InstCombineLoadCast(), isIntegral(), PeepholeOptimizeAddCast(), RemoveNoopCast(), llvm::SimplifyCFG(), llvm::ConstantRange::subtract(), and llvm::ConstantRange::zeroExtend().

bool llvm::Type::isIntegral  )  const [inline]
 

isIntegral - Returns true if this is an integral type, which is either BoolTy or one of the Integer types.

Definition at line 169 of file Type.h.

References BoolTy, and isInteger().

Referenced by llvm::ConstantIntegral::classof(), llvm::SparcV9IntCCRegClass::colorIGNode(), llvm::SparcV9FunctionInfo::computeOffsetforLocalVar(), llvm::ConstantRange::ConstantRange(), ConstantTypeMustBeLoaded(), llvm::ConvertConstantToIntType(), findOptimalStorageSize(), llvm::ConstantExpr::get(), getCastType(), llvm::ExecutionEngine::getConstantValue(), getPrintfCodeFor(), llvm::ConstantExpr::getShiftTy(), OperandConvertibleToType(), llvm::PackedType::PackedType(), and llvm::Interpreter::visitCallSite().

bool Type::isLosslesslyConvertibleTo const Type Ty  )  const
 

isLosslesslyConvertibleTo - Return true if this type can be converted to 'Ty' without any reinterpretation of bits. For example, uint to int.

Definition at line 76 of file Type.cpp.

References getTypeID(), IntTy, IntTyID, isPrimitiveType(), LongTy, LongTyID, PointerTyID, SByteTy, SByteTyID, ShortTy, ShortTyID, UByteTy, UByteTyID, UIntTy, UIntTyID, ULongTy, ULongTyID, UShortTy, and UShortTyID.

Referenced by llvm::ClassifyExpr(), ElementTypesAreCompatible(), evaluateRelation(), llvm::ExpressionConvertibleToType(), isEliminableCastOfCast(), isReinterpretingCast(), and OperandConvertibleToType().

bool llvm::Type::isPrimitiveType  )  const [inline]
 

Here are some useful little methods to query what type derived types are Note that all other types can just compare to see if this == Type::xxxTy;

Definition at line 189 of file Type.h.

References LastPrimitiveTyID.

Referenced by calcTypeName(), ConstantTypeMustBeLoaded(), isLosslesslyConvertibleTo(), printTypeInt(), and ShouldNukeSymtabEntry().

bool llvm::Type::isSigned  )  const [inline]
 

isSigned - Return whether an integral numeric type is signed. This is true for SByteTy, ShortTy, IntTy, LongTy. Note that this is not true for Float and Double.

Definition at line 147 of file Type.h.

References IntTyID, LongTyID, SByteTyID, and ShortTyID.

Referenced by llvm::ConstantSInt::classof(), llvm::ConstantSInt::ConstantSInt(), llvm::ConvertConstantToIntType(), ConvertOperandToType(), llvm::ExpressionConvertibleToType(), llvm::SCEVUDivExpr::get(), llvm::SCEVConstant::get(), llvm::ConstantInt::get(), getCastType(), llvm::SCEVUnknown::getIntegerSCEV(), llvm::ConstantExpr::getSShr(), llvm::SCEVUDivExpr::getType(), InsertSignExtendToPtrTy(), isInsertShiftHalf(), isSignBitCheck(), LoadNeedsSignExtend(), and OperandConvertibleToType().

bool llvm::Type::isSized  )  const [inline]
 

isSized - Return true if it makes sense to take the size of this type. To get the actual size for a particular target, it is reasonable to use the TargetData subsystem to do this.

Definition at line 203 of file Type.h.

References BoolTyID, DoubleTyID, and PointerTyID.

Referenced by llvm::ExpressionConvertibleToType(), getTypeInfo(), InstCombineLoadCast(), llvm::DSNode::mergeTypeInfo(), and ProcessGlobalsWithSameName().

bool llvm::Type::isUnsigned  )  const [inline]
 

isUnsigned - Return whether a numeric type is unsigned. This is not quite the complement of isSigned... nonnumeric types return false as they do with isSigned. This returns true for UByteTy, UShortTy, UIntTy, and ULongTy

Definition at line 157 of file Type.h.

References UByteTyID, UIntTyID, ULongTyID, and UShortTyID.

Referenced by AddWithOverflow(), llvm::ConstantUInt::classof(), llvm::ConstantUInt::ConstantUInt(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), llvm::ConstantExpr::getUShr(), and llvm::ConstantRange::zeroExtend().

void Type::print std::ostream &  O  )  const [virtual]
 

Definition at line 1231 of file AsmWriter.cpp.

References getDescription().

Referenced by dump(), and llvm::operator<<().

void Type::PromoteAbstractToConcrete  )  [protected]
 

Definition at line 485 of file Type.cpp.

References E, isAbstract(), llvm::scc_begin(), llvm::scc_end(), subtype_begin(), and subtype_end().

virtual void llvm::Type::removeAbstractTypeUser AbstractTypeUser U  )  const [inline, virtual]
 

Reimplemented in llvm::DerivedType.

Definition at line 345 of file Type.h.

void llvm::Type::setAbstract bool  Val  )  [inline, protected]
 

Types can become nonabstract later, if they are refined.

Definition at line 102 of file Type.h.

Referenced by llvm::ArrayType::ArrayType(), llvm::FunctionType::FunctionType(), llvm::OpaqueType::OpaqueType(), llvm::PointerType::PointerType(), and llvm::StructType::StructType().

subtype_iterator llvm::Type::subtype_begin  )  const [inline]
 

Definition at line 235 of file Type.h.

References ContainedTys.

Referenced by AbstractTypeHasCycleThrough(), llvm::GraphTraits< TypePromotionGraph >::child_begin(), ConcreteTypeHasCycleThrough(), PromoteAbstractToConcrete(), TypeContains(), and TypeHasCycleThroughItself().

subtype_iterator llvm::Type::subtype_end  )  const [inline]
 

Definition at line 236 of file Type.h.

References ContainedTys.

Referenced by AbstractTypeHasCycleThrough(), llvm::GraphTraits< TypePromotionGraph >::child_begin(), llvm::GraphTraits< TypePromotionGraph >::child_end(), ConcreteTypeHasCycleThrough(), PromoteAbstractToConcrete(), TypeContains(), and TypeHasCycleThroughItself().


Member Data Documentation

Type * Type::BoolTy = &TheBoolTy [static]
 

Definition at line 349 of file Type.cpp.

Referenced by llvm::DefaultIntrinsicLowering::AddPrototypes(), llvm::ConstantFoldBinaryInstruction(), llvm::ConstantFoldCastInstruction(), GatherConstantSetNEs(), llvm::ConstantExpr::get(), getPrimitiveType(), llvm::ConstantExpr::getSelectTy(), llvm::ConstantRange::getSetSize(), llvm::ConstantExpr::getTy(), llvm::BinaryOperator::init(), llvm::InstructionNode::InstructionNode(), isIntegral(), llvm::DefaultIntrinsicLowering::LowerIntrinsicCall(), Next(), and llvm::Interpreter::visitCallSite().

std::vector<PATypeHandle> llvm::Type::ContainedTys [protected]
 

ContainedTys - The list of types contained by this one. For example, this includes the arguments of a function type, the elements of the structure, the pointee of a pointer, etc. Note that keeping this vector in the Type class wastes some space for types that do not contain anything (such as primitive types). However, keeping it here allows the subtype_* members to be implemented MUCH more efficiently, and dynamically very few types do not contain any elements (most are derived).

Definition at line 122 of file Type.h.

Referenced by llvm::DerivedType::dropAllTypeUses(), llvm::StructType::element_begin(), llvm::StructType::element_end(), llvm::FunctionType::FunctionType(), getContainedType(), llvm::SequentialType::getElementType(), llvm::StructType::getElementType(), getNumContainedTypes(), llvm::StructType::getNumElements(), llvm::FunctionType::getNumParams(), llvm::FunctionType::getParamType(), llvm::FunctionType::getReturnType(), llvm::StructType::getTypeAtIndex(), llvm::SequentialType::getTypeAtIndex(), llvm::StructType::indexValid(), llvm::FunctionType::param_begin(), llvm::FunctionType::param_end(), llvm::SequentialType::SequentialType(), llvm::StructType::StructType(), subtype_begin(), and subtype_end().

Type * Type::DoubleTy = &TheDoubleTy [static]
 

Definition at line 359 of file Type.cpp.

Referenced by ByteswapSCANFResults(), llvm::SparcV9FloatRegClass::colorIGNode(), llvm::ConstantCreator< ConstantFP, Type, uint64_t >::create(), llvm::AsmPrinter::emitGlobalConstant(), llvm::ConstantFP::get(), llvm::Constant::getNullValue(), getPrimitiveType(), getPromotedType(), and llvm::SparcV9RegInfo::printReg().

Type * Type::FloatTy = &TheFloatTy [static]
 

Definition at line 358 of file Type.cpp.

Referenced by ByteswapSCANFResults(), llvm::ConstantCreator< ConstantFP, Type, uint32_t >::create(), llvm::ConstantFP::get(), llvm::Constant::getNullValue(), and getPrimitiveType().

const Type* llvm::Type::ForwardType [mutable, protected]
 

ForwardType - This field is used to implement the union find scheme for abstract types. When types are refined to other types, this field is set to the more refined type. Only abstract types can be forwarded.

Definition at line 113 of file Type.h.

Referenced by getForwardedType(), and llvm::DerivedType::refineAbstractTypeTo().

Type * Type::IntTy = &TheIntTy [static]
 

Definition at line 354 of file Type.cpp.

Referenced by llvm::DefaultIntrinsicLowering::AddPrototypes(), llvm::ConstantFoldCastInstruction(), llvm::AsmPrinter::emitConstantValueOnly(), llvm::AllocInfo::getConstantType(), llvm::Module::getMainFunction(), llvm::Constant::getNullValue(), getPrimitiveType(), getPromotedType(), getSignedVersion(), llvm::getStructOffsetType(), llvm::getTriggerCode(), llvm::IncrementCounterInBlock(), llvm::InsertProfilingInitCall(), isLosslesslyConvertibleTo(), llvm::DefaultIntrinsicLowering::LowerIntrinsicCall(), llvm::JIT::runFunction(), llvm::ProfilePaths::runOnFunction(), and llvm::AllocInfo::toConstant().

Type * Type::LabelTy = &TheLabelTy [static]
 

Definition at line 360 of file Type.cpp.

Referenced by getPrimitiveType().

Type * Type::LongTy = &TheLongTy [static]
 

Definition at line 356 of file Type.cpp.

Referenced by llvm::SparcV9IntCCRegClass::colorIGNode(), llvm::ConstantFoldGetElementPtr(), llvm::DecomposeArrayRef(), llvm::AsmPrinter::emitConstantValueOnly(), llvm::AsmPrinter::emitGlobalConstant(), llvm::Constant::getNullValue(), getPrimitiveType(), getSignedVersion(), llvm::getStructOffsetType(), llvm::getTriggerCode(), isLosslesslyConvertibleTo(), and llvm::JIT::runFunction().

Type * Type::SByteTy = &TheSByteTy [static]
 

Definition at line 350 of file Type.cpp.

Referenced by ArrayTypeIsString(), ByteswapSCANFResults(), llvm::ConvertExpressionToType(), ConvertOperandToType(), CreateArgv(), llvm::ExpressionConvertibleToType(), llvm::ConstantArray::get(), llvm::Module::getMainFunction(), llvm::Constant::getNullValue(), getPrimitiveType(), getSignedVersion(), llvm::InsertProfilingInitCall(), isLosslesslyConvertibleTo(), llvm::ConstantArray::isString(), llvm::BytecodeReader::ParseStringConstants(), and llvm::Interpreter::visitCallSite().

Type * Type::ShortTy = &TheShortTy [static]
 

Definition at line 352 of file Type.cpp.

Referenced by llvm::Constant::getNullValue(), getPrimitiveType(), getSignedVersion(), isLosslesslyConvertibleTo(), and llvm::Interpreter::visitCallSite().

Type * Type::UByteTy = &TheUByteTy [static]
 

Definition at line 351 of file Type.cpp.

Referenced by ArrayTypeIsString(), llvm::ClassifyExpr(), llvm::ConstantExpr::get(), llvm::Constant::getNullValue(), getPrimitiveType(), llvm::ConstantExpr::getShiftTy(), getUnsignedVersion(), isLosslesslyConvertibleTo(), llvm::ConstantArray::isString(), llvm::BytecodeReader::ParseConstantValue(), llvm::BytecodeReader::ParseStringConstants(), and llvm::Interpreter::visitCallSite().

Type * Type::UIntTy = &TheUIntTy [static]
 

Definition at line 355 of file Type.cpp.

Referenced by ByteswapSCANFResults(), llvm::ConstantFoldCastInstruction(), llvm::ConstantFoldGetElementPtr(), ConvertMallocToType(), ConvertOperandToType(), llvm::AsmPrinter::emitConstantValueOnly(), llvm::AllocInfo::getConstantType(), llvm::TargetData::getIndexedOffset(), llvm::TargetData::getIntPtrType(), llvm::Constant::getNullValue(), getPrimitiveType(), getPromotedType(), llvm::ConstantExpr::getSizeOf(), getStructOffsetStep(), getUnsignedVersion(), llvm::IncrementCounterInBlock(), llvm::StructType::indexValid(), llvm::AllocationInst::init(), llvm::InsertProfilingInitCall(), llvm::AllocationInst::isArrayAllocation(), isLosslesslyConvertibleTo(), llvm::BytecodeReader::ParseConstantValue(), llvm::BytecodeReader::ParseInstruction(), llvm::JIT::runFunction(), llvm::ProfilePaths::runOnFunction(), and llvm::AllocInfo::toConstant().

Type * Type::ULongTy = &TheULongTy [static]
 

Definition at line 357 of file Type.cpp.

Referenced by Binomial(), ByteswapSCANFResults(), llvm::ClassifyExpr(), llvm::AsmPrinter::emitConstantValueOnly(), llvm::AsmPrinter::emitGlobalConstant(), llvm::TargetData::getIntPtrType(), llvm::Constant::getNullValue(), getPrimitiveType(), getUnsignedConstant(), getUnsignedVersion(), isLosslesslyConvertibleTo(), and PartialFact().

Type * Type::UShortTy = &TheUShortTy [static]
 

Definition at line 353 of file Type.cpp.

Referenced by ByteswapSCANFResults(), llvm::TargetData::getIntPtrType(), llvm::Constant::getNullValue(), getPrimitiveType(), getUnsignedVersion(), isLosslesslyConvertibleTo(), and llvm::Interpreter::visitCallSite().

Type * Type::VoidTy = &TheVoidTy [static]
 

Definition at line 348 of file Type.cpp.

Referenced by llvm::DefaultIntrinsicLowering::AddPrototypes(), llvm::DSNode::assertOK(), llvm::ConvertExpressionToType(), ConvertOperandToType(), llvm::DSNode::foldNodeCompletely(), llvm::DSNode::forwardNode(), llvm::Function::Function(), llvm::Module::getMainFunction(), getPrimitiveType(), llvm::CallArgsDescriptor::getReturnValue(), llvm::getTriggerCode(), HoistThenElseCodeToIf(), llvm::AllocationInst::init(), llvm::DSNode::isNodeCompletelyFolded(), killIfUselessEdge(), llvm::DefaultIntrinsicLowering::LowerIntrinsicCall(), llvm::ReachabilityCloner::merge(), llvm::DSNode::mergeTypeInfo(), llvm::BytecodeReader::ParseType(), llvm::RemoveSuccessor(), ReplaceCallWith(), llvm::JIT::runFunction(), llvm::UnifyFunctionExitNodes::runOnFunction(), llvm::ProfilePaths::runOnFunction(), llvm::RunVMAsmParser(), llvm::Value::Value(), and llvm::Interpreter::visitReturnInst().


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