LLVM  3.7.0
Public Types | Public Member Functions | Public Attributes | List of all members
llvm::LLVMContextImpl Class Reference

#include <LLVMContextImpl.h>

Collaboration diagram for llvm::LLVMContextImpl:
[legend]

Public Types

typedef DenseMap< APInt,
ConstantInt
*, DenseMapAPIntKeyInfo
IntMapTy
 
typedef DenseMap< APFloat,
ConstantFP
*, DenseMapAPFloatKeyInfo
FPMapTy
 
typedef ConstantUniqueMap
< ConstantArray
ArrayConstantsTy
 
typedef ConstantUniqueMap
< ConstantStruct
StructConstantsTy
 
typedef ConstantUniqueMap
< ConstantVector
VectorConstantsTy
 
typedef DenseSet< FunctionType
*, FunctionTypeKeyInfo
FunctionTypeSet
 
typedef DenseSet< StructType
*, AnonStructTypeKeyInfo
StructTypeSet
 
typedef DenseMap< Value
*, ValueHandleBase * > 
ValueHandlesTy
 ValueHandles - This map keeps track of all of the value handles that are watching a Value*. More...
 
typedef DenseMap< const
Function *, ReturnInst * > 
PrefixDataMapTy
 Mapping from a function to its prefix data, which is stored as the operand of an unparented ReturnInst so that the prefix data has a Use. More...
 
typedef DenseMap< const
Function *, ReturnInst * > 
PrologueDataMapTy
 Mapping from a function to its prologue data, which is stored as the operand of an unparented ReturnInst so that the prologue data has a Use. More...
 

Public Member Functions

int getOrAddScopeRecordIdxEntry (MDNode *N, int ExistingIdx)
 
int getOrAddScopeInlinedAtIdxEntry (MDNode *Scope, MDNode *IA, int ExistingIdx)
 
 LLVMContextImpl (LLVMContext &C)
 
 ~LLVMContextImpl ()
 
void dropTriviallyDeadConstantArrays ()
 Destroy the ConstantArrays if they are not used. More...
 

Public Attributes

SmallPtrSet< Module *, 4 > OwnedModules
 OwnedModules - The set of modules instantiated in this context, and which will be automatically deleted if this context is deleted. More...
 
LLVMContext::InlineAsmDiagHandlerTy InlineAsmDiagHandler
 
void * InlineAsmDiagContext
 
LLVMContext::DiagnosticHandlerTy DiagnosticHandler
 
void * DiagnosticContext
 
bool RespectDiagnosticFilters
 
LLVMContext::YieldCallbackTy YieldCallback
 
void * YieldOpaqueHandle
 
IntMapTy IntConstants
 
FPMapTy FPConstants
 
FoldingSet< AttributeImplAttrsSet
 
FoldingSet< AttributeSetImplAttrsLists
 
FoldingSet< AttributeSetNodeAttrsSetNodes
 
StringMap< MDStringMDStringCache
 
DenseMap< Value
*, ValueAsMetadata * > 
ValuesAsMetadata
 
DenseMap< Metadata
*, MetadataAsValue * > 
MetadataAsValues
 
DenseMap< const Value
*, ValueName * > 
ValueNames
 
SmallPtrSet< MDNode *, 1 > DistinctMDNodes
 
DenseMap< Type
*, ConstantAggregateZero * > 
CAZConstants
 
ArrayConstantsTy ArrayConstants
 
StructConstantsTy StructConstants
 
VectorConstantsTy VectorConstants
 
DenseMap< PointerType
*, ConstantPointerNull * > 
CPNConstants
 
DenseMap< Type *, UndefValue * > UVConstants
 
StringMap
< ConstantDataSequential * > 
CDSConstants
 
DenseMap< std::pair< const
Function *, const BasicBlock * >
, BlockAddress * > 
BlockAddresses
 
ConstantUniqueMap< ConstantExprExprConstants
 
ConstantUniqueMap< InlineAsmInlineAsms
 
ConstantIntTheTrueVal
 
ConstantIntTheFalseVal
 
Type VoidTy
 
Type LabelTy
 
Type HalfTy
 
Type FloatTy
 
Type DoubleTy
 
Type MetadataTy
 
Type X86_FP80Ty
 
Type FP128Ty
 
Type PPC_FP128Ty
 
Type X86_MMXTy
 
IntegerType Int1Ty
 
IntegerType Int8Ty
 
IntegerType Int16Ty
 
IntegerType Int32Ty
 
IntegerType Int64Ty
 
IntegerType Int128Ty
 
BumpPtrAllocator TypeAllocator
 TypeAllocator - All dynamically allocated types are allocated from this. More...
 
DenseMap< unsigned, IntegerType * > IntegerTypes
 
FunctionTypeSet FunctionTypes
 
StructTypeSet AnonStructTypes
 
StringMap< StructType * > NamedStructTypes
 
unsigned NamedStructTypesUniqueID
 
DenseMap< std::pair< Type
*, uint64_t >, ArrayType * > 
ArrayTypes
 
DenseMap< std::pair< Type
*, unsigned >, VectorType * > 
VectorTypes
 
DenseMap< Type *, PointerType * > PointerTypes
 
DenseMap< std::pair< Type
*, unsigned >, PointerType * > 
ASPointerTypes
 
ValueHandlesTy ValueHandles
 
StringMap< unsignedCustomMDKindNames
 CustomMDKindNames - Map to hold the metadata string to ID mapping. More...
 
DenseMap< const Instruction
*, MDAttachmentMap
InstructionMetadata
 Collection of per-instruction metadata used in this context. More...
 
DenseMap< const Function
*, MDAttachmentMap
FunctionMetadata
 Collection of per-function metadata used in this context. More...
 
DenseMap< std::pair< const
char *, unsigned >, unsigned
DiscriminatorTable
 DiscriminatorTable - This table maps file:line locations to an integer representing the next DWARF path discriminator to assign to instructions in different blocks at the same location. More...
 
PrefixDataMapTy PrefixDataMap
 
PrologueDataMapTy PrologueDataMap
 

Detailed Description

Definition at line 924 of file LLVMContextImpl.h.

Member Typedef Documentation

Definition at line 967 of file LLVMContextImpl.h.

Definition at line 943 of file LLVMContextImpl.h.

Definition at line 1003 of file LLVMContextImpl.h.

Definition at line 940 of file LLVMContextImpl.h.

Mapping from a function to its prefix data, which is stored as the operand of an unparented ReturnInst so that the prefix data has a Use.

Definition at line 1038 of file LLVMContextImpl.h.

Mapping from a function to its prologue data, which is stored as the operand of an unparented ReturnInst so that the prologue data has a Use.

Definition at line 1044 of file LLVMContextImpl.h.

Definition at line 970 of file LLVMContextImpl.h.

Definition at line 1005 of file LLVMContextImpl.h.

ValueHandles - This map keeps track of all of the value handles that are watching a Value*.

The Value::HasValueHandle bit is used to know whether or not a value has an entry in this map.

Definition at line 1019 of file LLVMContextImpl.h.

Definition at line 973 of file LLVMContextImpl.h.

Constructor & Destructor Documentation

LLVMContextImpl::LLVMContextImpl ( LLVMContext C)
LLVMContextImpl::~LLVMContextImpl ( )

Member Function Documentation

void LLVMContextImpl::dropTriviallyDeadConstantArrays ( )
int llvm::LLVMContextImpl::getOrAddScopeInlinedAtIdxEntry ( MDNode Scope,
MDNode IA,
int  ExistingIdx 
)
int llvm::LLVMContextImpl::getOrAddScopeRecordIdxEntry ( MDNode N,
int  ExistingIdx 
)

Member Data Documentation

StructTypeSet llvm::LLVMContextImpl::AnonStructTypes

Definition at line 1006 of file LLVMContextImpl.h.

Referenced by llvm::StructType::get().

ArrayConstantsTy llvm::LLVMContextImpl::ArrayConstants
DenseMap<std::pair<Type *, uint64_t>, ArrayType*> llvm::LLVMContextImpl::ArrayTypes

Definition at line 1010 of file LLVMContextImpl.h.

Referenced by llvm::ArrayType::get().

DenseMap<std::pair<Type*, unsigned>, PointerType*> llvm::LLVMContextImpl::ASPointerTypes

Definition at line 1013 of file LLVMContextImpl.h.

Referenced by llvm::PointerType::get().

FoldingSet<AttributeSetImpl> llvm::LLVMContextImpl::AttrsLists

Definition at line 947 of file LLVMContextImpl.h.

Referenced by ~LLVMContextImpl().

FoldingSet<AttributeImpl> llvm::LLVMContextImpl::AttrsSet

Definition at line 946 of file LLVMContextImpl.h.

Referenced by llvm::Attribute::get(), and ~LLVMContextImpl().

FoldingSet<AttributeSetNode> llvm::LLVMContextImpl::AttrsSetNodes

Definition at line 948 of file LLVMContextImpl.h.

Referenced by llvm::AttributeSetNode::get(), and ~LLVMContextImpl().

DenseMap<std::pair<const Function *, const BasicBlock *>, BlockAddress *> llvm::LLVMContextImpl::BlockAddresses

Definition at line 983 of file LLVMContextImpl.h.

Referenced by llvm::BlockAddress::get(), and llvm::BlockAddress::lookup().

DenseMap<Type*, ConstantAggregateZero*> llvm::LLVMContextImpl::CAZConstants

Definition at line 965 of file LLVMContextImpl.h.

Referenced by llvm::ConstantAggregateZero::get(), and ~LLVMContextImpl().

StringMap<ConstantDataSequential*> llvm::LLVMContextImpl::CDSConstants

Definition at line 980 of file LLVMContextImpl.h.

Referenced by llvm::ConstantDataSequential::getImpl(), and ~LLVMContextImpl().

DenseMap<PointerType*, ConstantPointerNull*> llvm::LLVMContextImpl::CPNConstants

Definition at line 976 of file LLVMContextImpl.h.

Referenced by llvm::ConstantPointerNull::get(), and ~LLVMContextImpl().

StringMap<unsigned> llvm::LLVMContextImpl::CustomMDKindNames

CustomMDKindNames - Map to hold the metadata string to ID mapping.

Definition at line 1023 of file LLVMContextImpl.h.

Referenced by llvm::LLVMContext::getMDKindID(), and llvm::LLVMContext::getMDKindNames().

void* llvm::LLVMContextImpl::DiagnosticContext
LLVMContext::DiagnosticHandlerTy llvm::LLVMContextImpl::DiagnosticHandler
DenseMap<std::pair<const char *, unsigned>, unsigned> llvm::LLVMContextImpl::DiscriminatorTable

DiscriminatorTable - This table maps file:line locations to an integer representing the next DWARF path discriminator to assign to instructions in different blocks at the same location.

Definition at line 1034 of file LLVMContextImpl.h.

Referenced by llvm::DILocation::computeNewDiscriminator().

SmallPtrSet<MDNode *, 1> llvm::LLVMContextImpl::DistinctMDNodes

Definition at line 963 of file LLVMContextImpl.h.

Referenced by llvm::MDNode::storeDistinctInContext(), and ~LLVMContextImpl().

Type llvm::LLVMContextImpl::DoubleTy

Definition at line 992 of file LLVMContextImpl.h.

Referenced by llvm::Type::getDoubleTy().

ConstantUniqueMap<ConstantExpr> llvm::LLVMContextImpl::ExprConstants
Type llvm::LLVMContextImpl::FloatTy

Definition at line 992 of file LLVMContextImpl.h.

Referenced by llvm::Type::getFloatTy().

Type llvm::LLVMContextImpl::FP128Ty

Definition at line 993 of file LLVMContextImpl.h.

Referenced by llvm::Type::getFP128Ty().

FPMapTy llvm::LLVMContextImpl::FPConstants

Definition at line 944 of file LLVMContextImpl.h.

Referenced by llvm::ConstantFP::get(), and ~LLVMContextImpl().

DenseMap<const Function *, MDAttachmentMap> llvm::LLVMContextImpl::FunctionMetadata

Collection of per-function metadata used in this context.

Definition at line 1029 of file LLVMContextImpl.h.

Referenced by llvm::Function::dropUnknownMetadata(), llvm::Function::getAllMetadata(), llvm::Function::getMetadata(), and llvm::Function::setMetadata().

FunctionTypeSet llvm::LLVMContextImpl::FunctionTypes

Definition at line 1004 of file LLVMContextImpl.h.

Referenced by llvm::FunctionType::get().

Type llvm::LLVMContextImpl::HalfTy

Definition at line 992 of file LLVMContextImpl.h.

Referenced by llvm::Type::getHalfTy().

void* llvm::LLVMContextImpl::InlineAsmDiagContext
LLVMContext::InlineAsmDiagHandlerTy llvm::LLVMContextImpl::InlineAsmDiagHandler
ConstantUniqueMap<InlineAsm> llvm::LLVMContextImpl::InlineAsms

Definition at line 986 of file LLVMContextImpl.h.

Referenced by llvm::InlineAsm::get(), and ~LLVMContextImpl().

DenseMap<const Instruction *, MDAttachmentMap> llvm::LLVMContextImpl::InstructionMetadata

Collection of per-instruction metadata used in this context.

Definition at line 1026 of file LLVMContextImpl.h.

Referenced by llvm::Instruction::dropUnknownMetadata(), and llvm::Instruction::setMetadata().

IntegerType llvm::LLVMContextImpl::Int128Ty

Definition at line 994 of file LLVMContextImpl.h.

Referenced by llvm::Type::getInt128Ty().

IntegerType llvm::LLVMContextImpl::Int16Ty

Definition at line 994 of file LLVMContextImpl.h.

Referenced by llvm::Type::getInt16Ty().

IntegerType llvm::LLVMContextImpl::Int1Ty

Definition at line 994 of file LLVMContextImpl.h.

Referenced by llvm::Type::getInt1Ty().

IntegerType llvm::LLVMContextImpl::Int32Ty

Definition at line 994 of file LLVMContextImpl.h.

Referenced by llvm::Type::getInt32Ty().

IntegerType llvm::LLVMContextImpl::Int64Ty

Definition at line 994 of file LLVMContextImpl.h.

Referenced by llvm::Type::getInt64Ty().

IntegerType llvm::LLVMContextImpl::Int8Ty

Definition at line 994 of file LLVMContextImpl.h.

Referenced by llvm::Type::getInt8Ty().

IntMapTy llvm::LLVMContextImpl::IntConstants

Definition at line 941 of file LLVMContextImpl.h.

Referenced by llvm::ConstantInt::get(), and ~LLVMContextImpl().

DenseMap<unsigned, IntegerType*> llvm::LLVMContextImpl::IntegerTypes

Definition at line 1001 of file LLVMContextImpl.h.

Referenced by llvm::IntegerType::get().

Type llvm::LLVMContextImpl::LabelTy

Definition at line 992 of file LLVMContextImpl.h.

Referenced by llvm::Type::getLabelTy().

StringMap<MDString> llvm::LLVMContextImpl::MDStringCache

Definition at line 950 of file LLVMContextImpl.h.

Referenced by llvm::MDString::get(), and ~LLVMContextImpl().

DenseMap<Metadata *, MetadataAsValue *> llvm::LLVMContextImpl::MetadataAsValues
Type llvm::LLVMContextImpl::MetadataTy

Definition at line 992 of file LLVMContextImpl.h.

Referenced by llvm::Type::getMetadataTy().

StringMap<StructType*> llvm::LLVMContextImpl::NamedStructTypes

Definition at line 1007 of file LLVMContextImpl.h.

Referenced by llvm::Module::getTypeByName(), and llvm::StructType::setName().

unsigned llvm::LLVMContextImpl::NamedStructTypesUniqueID

Definition at line 1008 of file LLVMContextImpl.h.

Referenced by LLVMContextImpl(), and llvm::StructType::setName().

SmallPtrSet<Module*, 4> llvm::LLVMContextImpl::OwnedModules

OwnedModules - The set of modules instantiated in this context, and which will be automatically deleted if this context is deleted.

Definition at line 928 of file LLVMContextImpl.h.

Referenced by ~LLVMContextImpl().

DenseMap<Type*, PointerType*> llvm::LLVMContextImpl::PointerTypes

Definition at line 1012 of file LLVMContextImpl.h.

Referenced by llvm::PointerType::get().

Type llvm::LLVMContextImpl::PPC_FP128Ty

Definition at line 993 of file LLVMContextImpl.h.

Referenced by llvm::Type::getPPC_FP128Ty().

PrefixDataMapTy llvm::LLVMContextImpl::PrefixDataMap
PrologueDataMapTy llvm::LLVMContextImpl::PrologueDataMap
bool llvm::LLVMContextImpl::RespectDiagnosticFilters
StructConstantsTy llvm::LLVMContextImpl::StructConstants

Definition at line 971 of file LLVMContextImpl.h.

Referenced by llvm::ConstantStruct::get(), and ~LLVMContextImpl().

ConstantInt* llvm::LLVMContextImpl::TheFalseVal

Definition at line 989 of file LLVMContextImpl.h.

Referenced by llvm::ConstantInt::getFalse().

ConstantInt* llvm::LLVMContextImpl::TheTrueVal

Definition at line 988 of file LLVMContextImpl.h.

Referenced by llvm::ConstantInt::getTrue().

BumpPtrAllocator llvm::LLVMContextImpl::TypeAllocator

TypeAllocator - All dynamically allocated types are allocated from this.

They live forever until the context is torn down.

Definition at line 999 of file LLVMContextImpl.h.

Referenced by llvm::StructType::create(), llvm::IntegerType::get(), llvm::FunctionType::get(), llvm::StructType::get(), llvm::ArrayType::get(), llvm::VectorType::get(), llvm::PointerType::get(), and llvm::StructType::setBody().

DenseMap<Type*, UndefValue*> llvm::LLVMContextImpl::UVConstants

Definition at line 978 of file LLVMContextImpl.h.

Referenced by llvm::UndefValue::get(), and ~LLVMContextImpl().

ValueHandlesTy llvm::LLVMContextImpl::ValueHandles

Definition at line 1020 of file LLVMContextImpl.h.

Referenced by llvm::ValueHandleBase::ValueIsDeleted().

DenseMap<const Value*, ValueName*> llvm::LLVMContextImpl::ValueNames

Definition at line 954 of file LLVMContextImpl.h.

Referenced by llvm::Value::getValueName(), and llvm::Value::setValueName().

DenseMap<Value *, ValueAsMetadata *> llvm::LLVMContextImpl::ValuesAsMetadata
VectorConstantsTy llvm::LLVMContextImpl::VectorConstants

Definition at line 974 of file LLVMContextImpl.h.

Referenced by llvm::ConstantVector::get(), and ~LLVMContextImpl().

DenseMap<std::pair<Type *, unsigned>, VectorType*> llvm::LLVMContextImpl::VectorTypes

Definition at line 1011 of file LLVMContextImpl.h.

Referenced by llvm::VectorType::get().

Type llvm::LLVMContextImpl::VoidTy

Definition at line 992 of file LLVMContextImpl.h.

Referenced by llvm::Type::getVoidTy().

Type llvm::LLVMContextImpl::X86_FP80Ty

Definition at line 993 of file LLVMContextImpl.h.

Referenced by llvm::Type::getX86_FP80Ty().

Type llvm::LLVMContextImpl::X86_MMXTy

Definition at line 993 of file LLVMContextImpl.h.

Referenced by llvm::Type::getX86_MMXTy().

LLVMContext::YieldCallbackTy llvm::LLVMContextImpl::YieldCallback
void* llvm::LLVMContextImpl::YieldOpaqueHandle

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