LLVM API Documentation
#include "llvm/DerivedTypes.h"#include "llvm/Constants.h"#include "llvm/ADT/DepthFirstIterator.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/SCCIterator.h"#include "llvm/ADT/STLExtras.h"#include "llvm/Support/MathExtras.h"#include "llvm/Support/Compiler.h"#include "llvm/Support/ManagedStatic.h"#include "llvm/Support/Debug.h"#include <algorithm>#include <cstdarg>

Go to the source code of this file.
| static bool AbstractTypeHasCycleThrough | ( | const Type * | TargetTy, | |
| const Type * | CurTy, | |||
| SmallPtrSet< const Type *, 128 > & | VisitedTypes | |||
| ) | [static] |
Definition at line 704 of file Type.cpp.
References I, llvm::SmallPtrSet< PtrType, SmallSize >::insert(), llvm::Type::isAbstract(), llvm::Type::subtype_begin(), and llvm::Type::subtype_end().
Referenced by TypeHasCycleThroughItself().
| static bool ConcreteTypeHasCycleThrough | ( | const Type * | TargetTy, | |
| const Type * | CurTy, | |||
| SmallPtrSet< const Type *, 128 > & | VisitedTypes | |||
| ) | [static] |
Definition at line 719 of file Type.cpp.
References I, llvm::SmallPtrSet< PtrType, SmallSize >::insert(), llvm::Type::subtype_begin(), and llvm::Type::subtype_end().
Referenced by TypeHasCycleThroughItself().
| static const std::string& getOrCreateDesc | ( | std::map< const Type *, std::string > & | Map, | |
| const Type * | Ty | |||
| ) | [static] |
Definition at line 361 of file Type.cpp.
References getTypeDescription(), I, and TypeStack.
Referenced by llvm::Type::getDescription().
getSubElementHash - Generate a hash value for all of the SubType's of this type. The hash value is guaranteed to be zero if any of the subtypes are an opaque type. Otherwise we try to mix them in as well as possible, but do not look at the subtype's subtype's.
Definition at line 756 of file Type.cpp.
References llvm::Type::ArrayTyID, llvm::Type::FunctionTyID, llvm::Type::getTypeID(), I, llvm::Type::IntegerTyID, llvm::Type::OpaqueTyID, llvm::Type::PointerTyID, llvm::Type::StructTyID, llvm::Type::subtype_begin(), llvm::Type::subtype_end(), and llvm::Type::VectorTyID.
Referenced by llvm::PointerValType::hashTypeStructure().
| static std::string getTypeDescription | ( | const Type * | Ty, | |
| std::vector< const Type * > & | TypeStack | |||
| ) | [static] |
Definition at line 235 of file Type.cpp.
References AbstractTypeDescriptions, llvm::Type::ArrayTyID, ConcreteTypeDescriptions, llvm::Type::DoubleTyID, E, llvm::StructType::element_begin(), llvm::StructType::element_end(), llvm::Type::FloatTyID, llvm::Type::FP128TyID, llvm::Type::FunctionTyID, llvm::PointerType::getAddressSpace(), llvm::IntegerType::getBitWidth(), llvm::SequentialType::getElementType(), llvm::VectorType::getNumElements(), llvm::ArrayType::getNumElements(), llvm::FunctionType::getNumParams(), llvm::FunctionType::getReturnType(), llvm::Type::getTypeID(), I, llvm::Type::IntegerTyID, llvm::Type::isAbstract(), llvm::StructType::isPacked(), llvm::Type::isPrimitiveType(), llvm::FunctionType::isVarArg(), llvm::Type::LabelTyID, llvm::FunctionType::param_begin(), llvm::FunctionType::param_end(), llvm::Type::PointerTyID, llvm::Type::PPC_FP128TyID, llvm::Type::StructTyID, llvm::utostr(), llvm::Type::VectorTyID, llvm::Type::VoidTyID, and llvm::Type::X86_FP80TyID.
Referenced by getOrCreateDesc().
| static bool TypeHasCycleThroughItself | ( | const Type * | Ty | ) | [static] |
TypeHasCycleThroughItself - Return true if the specified type has a cycle back to itself.
Definition at line 735 of file Type.cpp.
References AbstractTypeHasCycleThrough(), ConcreteTypeHasCycleThrough(), I, llvm::Type::isAbstract(), llvm::Type::subtype_begin(), and llvm::Type::subtype_end().
Referenced by llvm::TypeMap< ValType, TypeClass >::RefineAbstractType().
| static bool TypesEqual | ( | const Type * | Ty, | |
| const Type * | Ty2, | |||
| std::map< const Type *, const Type * > & | EqTypes | |||
| ) | [static] |
Definition at line 636 of file Type.cpp.
References llvm::PointerType::getAddressSpace(), llvm::IntegerType::getBitWidth(), llvm::StructType::getElementType(), llvm::SequentialType::getElementType(), llvm::VectorType::getNumElements(), llvm::ArrayType::getNumElements(), llvm::StructType::getNumElements(), llvm::FunctionType::getNumParams(), llvm::FunctionType::getParamType(), llvm::FunctionType::getReturnType(), llvm::Type::getTypeID(), llvm::StructType::isPacked(), and llvm::FunctionType::isVarArg().
Referenced by llvm::TypeMap< ValType, TypeClass >::RefineAbstractType(), and TypesEqual().
ManagedStatic<std::map<const Type*, std::string> > AbstractTypeDescriptions [static] |
Definition at line 48 of file Type.cpp.
Referenced by llvm::Type::getDescription(), getTypeDescription(), and llvm::DerivedType::refineAbstractTypeTo().
ManagedStatic<TypeMap<ArrayValType, ArrayType> > ArrayTypes [static] |
ManagedStatic<std::map<const Type*, std::string> > ConcreteTypeDescriptions [static] |
Definition at line 46 of file Type.cpp.
Referenced by llvm::Type::getDescription(), and getTypeDescription().
ManagedStatic<TypeMap<FunctionValType, FunctionType> > FunctionTypes [static] |
ManagedStatic<TypeMap<IntegerValType, IntegerType> > IntegerTypes [static] |
ManagedStatic<TypeMap<PointerValType, PointerType> > PointerTypes [static] |
ManagedStatic<TypeMap<StructValType, StructType> > StructTypes [static] |
Definition at line 553 of file Type.cpp.
Referenced by llvm::TypeMap< ValType, TypeClass >::add(), ByteswapSCANFResults(), calculateFunctionInfo(), llvm::ComputeNumSignBits(), llvm::ConstantFoldCall(), llvm::ConstantFoldGetElementPtr(), llvm::MachOCodeEmitter::emitConstantPool(), llvm::AsmPrinter::EmitConstantPool(), llvm::AsmPrinter::EmitConstantValueOnly(), llvm::ExecutionEngine::emitGlobals(), EvaluateFunction(), fillTypeNameTable(), llvm::PATypeHolder::get(), llvm::IntegerValType::get(), llvm::ScalarEvolution::getAddExpr(), GetConstantPoolSizeInBytes(), getIndexedTypeInternal(), llvm::MachineFunction::getInfo(), llvm::DISerializer::getTagType(), llvm::SCEVSignExtendExpr::getType(), llvm::SCEVZeroExtendExpr::getType(), llvm::SCEVTruncateExpr::getType(), LLVMGetParamTypes(), LLVMGetStructElementTypes(), llvm::AlphaTargetLowering::LowerCallTo(), llvm::ELFTargetAsmInfo::MergeableStringSection(), llvm::SCEVSignExtendExpr::print(), llvm::SCEVZeroExtendExpr::print(), llvm::SCEVTruncateExpr::print(), llvm::SCEVSignExtendExpr::replaceSymbolicValuesWithConcrete(), llvm::SCEVZeroExtendExpr::replaceSymbolicValuesWithConcrete(), llvm::SCEVTruncateExpr::replaceSymbolicValuesWithConcrete(), llvm::DISerializer::Serialize(), llvm::FunctionLoweringInfo::set(), SRAGlobal(), llvm::SCEVExpander::visitAddRecExpr(), llvm::Interpreter::visitAllocationInst(), llvm::Interpreter::visitBinaryOperator(), llvm::Interpreter::visitCallSite(), llvm::Interpreter::visitFCmpInst(), llvm::Interpreter::visitICmpInst(), llvm::Interpreter::visitVAArgInst(), and WriteConstants().
ManagedStatic<TypeMap<VectorValType, VectorType> > VectorTypes [static] |