LLVM API Documentation

Public Types | Public Member Functions | Public Attributes
llvm::LLVMContextImpl Class Reference

#include <LLVMContextImpl.h>

Collaboration diagram for llvm::LLVMContextImpl:
Collaboration graph
[legend]

List of all members.

Public Types

typedef DenseMap
< DenseMapAPIntKeyInfo::KeyTy,
ConstantInt
*, DenseMapAPIntKeyInfo
IntMapTy
typedef DenseMap
< DenseMapAPFloatKeyInfo::KeyTy,
ConstantFP
*, DenseMapAPFloatKeyInfo
FPMapTy
typedef ConstantUniqueMap
< ConstantArray
ArrayConstantsTy
typedef ConstantUniqueMap
< ConstantStruct
StructConstantsTy
typedef ConstantUniqueMap
< ConstantVector
VectorConstantsTy
typedef DenseMap< FunctionType
*, bool, FunctionTypeKeyInfo
FunctionTypeMap
typedef DenseMap< StructType
*, bool, AnonStructTypeKeyInfo
StructTypeMap
typedef DenseMap< Value
*, ValueHandleBase * > 
ValueHandlesTy
typedef std::pair< unsigned,
TrackingVH< MDNode > > 
MDPairTy
typedef SmallVector< MDPairTy, 2 > MDMapTy
typedef DenseMap< const
Function *, unsigned
IntrinsicIDCacheTy
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.

Public Member Functions

int getOrAddScopeRecordIdxEntry (MDNode *N, int ExistingIdx)
int getOrAddScopeInlinedAtIdxEntry (MDNode *Scope, MDNode *IA, int ExistingIdx)
 LLVMContextImpl (LLVMContext &C)
 ~LLVMContextImpl ()

Public Attributes

SmallPtrSet< Module *, 4 > OwnedModules
LLVMContext::InlineAsmDiagHandlerTy InlineAsmDiagHandler
void * InlineAsmDiagContext
LLVMContext::DiagnosticHandlerTy DiagnosticHandler
void * DiagnosticContext
LLVMContext::YieldCallbackTy YieldCallback
void * YieldOpaqueHandle
IntMapTy IntConstants
FPMapTy FPConstants
FoldingSet< AttributeImplAttrsSet
FoldingSet< AttributeSetImplAttrsLists
FoldingSet< AttributeSetNodeAttrsSetNodes
StringMap< Value * > MDStringCache
FoldingSet< MDNodeMDNodeSet
SmallPtrSet< MDNode *, 1 > NonUniquedMDNodes
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
LeakDetectorImpl< ValueLLVMObjects
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
BumpPtrAllocator TypeAllocator
DenseMap< unsigned, IntegerType * > IntegerTypes
FunctionTypeMap FunctionTypes
StructTypeMap 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.
DenseMap< const Instruction
*, MDMapTy
MetadataStore
DenseMap< MDNode *, intScopeRecordIdx
std::vector< DebugRecVHScopeRecords
DenseMap< std::pair< MDNode
*, MDNode * >, int
ScopeInlinedAtIdx
std::vector< std::pair
< DebugRecVH, DebugRecVH > > 
ScopeInlinedAtRecords
DenseMap< std::pair< const
char *, unsigned >, unsigned
DiscriminatorTable
IntrinsicIDCacheTy IntrinsicIDCache
PrefixDataMapTy PrefixDataMap

Detailed Description

Definition at line 236 of file LLVMContextImpl.h.


Member Typedef Documentation

Definition at line 275 of file LLVMContextImpl.h.

Definition at line 256 of file LLVMContextImpl.h.

Definition at line 313 of file LLVMContextImpl.h.

Definition at line 252 of file LLVMContextImpl.h.

IntrinsicIDCache - Cache of intrinsic name (string) to numeric ID mappings requested in this context

Definition at line 367 of file LLVMContextImpl.h.

Definition at line 336 of file LLVMContextImpl.h.

Definition at line 335 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 372 of file LLVMContextImpl.h.

Definition at line 278 of file LLVMContextImpl.h.

Definition at line 315 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 329 of file LLVMContextImpl.h.

Definition at line 281 of file LLVMContextImpl.h.


Constructor & Destructor Documentation


Member Function Documentation

int LLVMContextImpl::getOrAddScopeInlinedAtIdxEntry ( MDNode Scope,
MDNode IA,
int  ExistingIdx 
)

Definition at line 204 of file DebugLoc.cpp.

References ScopeRecordIdx, and ScopeRecords.

Referenced by llvm::DebugRecVH::allUsesReplacedWith(), and llvm::DebugLoc::get().


Member Data Documentation

Definition at line 316 of file LLVMContextImpl.h.

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

Definition at line 320 of file LLVMContextImpl.h.

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

Definition at line 323 of file LLVMContextImpl.h.

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

Definition at line 260 of file LLVMContextImpl.h.

Referenced by ~LLVMContextImpl().

Definition at line 259 of file LLVMContextImpl.h.

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

Definition at line 261 of file LLVMContextImpl.h.

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

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

Definition at line 333 of file LLVMContextImpl.h.

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

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 363 of file LLVMContextImpl.h.

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

Definition at line 302 of file LLVMContextImpl.h.

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

Definition at line 302 of file LLVMContextImpl.h.

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

Definition at line 303 of file LLVMContextImpl.h.

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

Definition at line 257 of file LLVMContextImpl.h.

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

Definition at line 314 of file LLVMContextImpl.h.

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

Definition at line 302 of file LLVMContextImpl.h.

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

Definition at line 294 of file LLVMContextImpl.h.

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

Definition at line 304 of file LLVMContextImpl.h.

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

Definition at line 304 of file LLVMContextImpl.h.

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

Definition at line 304 of file LLVMContextImpl.h.

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

Definition at line 304 of file LLVMContextImpl.h.

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

Definition at line 304 of file LLVMContextImpl.h.

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

Definition at line 253 of file LLVMContextImpl.h.

Referenced by ~LLVMContextImpl().

Definition at line 311 of file LLVMContextImpl.h.

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

Definition at line 302 of file LLVMContextImpl.h.

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

Definition at line 299 of file LLVMContextImpl.h.

Referenced by clearGarbage().

Definition at line 265 of file LLVMContextImpl.h.

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

Definition at line 263 of file LLVMContextImpl.h.

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

MetadataStore - Collection of per-instruction metadata used in this context.

Definition at line 340 of file LLVMContextImpl.h.

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

Definition at line 302 of file LLVMContextImpl.h.

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

Definition at line 317 of file LLVMContextImpl.h.

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

Definition at line 318 of file LLVMContextImpl.h.

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

Definition at line 271 of file LLVMContextImpl.h.

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

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

Definition at line 240 of file LLVMContextImpl.h.

Referenced by ~LLVMContextImpl().

Definition at line 322 of file LLVMContextImpl.h.

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

Definition at line 303 of file LLVMContextImpl.h.

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

ScopeInlinedAtIdx - This is the index in ScopeInlinedAtRecords for an scope/inlined-at pair.

Definition at line 353 of file LLVMContextImpl.h.

Referenced by llvm::DebugRecVH::allUsesReplacedWith(), llvm::DebugRecVH::deleted(), and getOrAddScopeInlinedAtIdxEntry().

ScopeInlinedAtRecords - These are the actual mdnodes (in value handles) for an index. The ValueHandle ensures that ScopeINlinedAtIdx stays up to date.

Definition at line 358 of file LLVMContextImpl.h.

Referenced by llvm::DebugRecVH::allUsesReplacedWith(), llvm::DebugRecVH::deleted(), llvm::DebugLoc::getInlinedAt(), getOrAddScopeInlinedAtIdxEntry(), llvm::DebugLoc::getScope(), and llvm::DebugLoc::getScopeAndInlinedAt().

ScopeRecordIdx - This is the index in ScopeRecords for an MDNode scope entry with no "inlined at" element.

Definition at line 344 of file LLVMContextImpl.h.

Referenced by llvm::DebugRecVH::allUsesReplacedWith(), llvm::DebugRecVH::deleted(), and getOrAddScopeRecordIdxEntry().

ScopeRecords - These are the actual mdnodes (in a value handle) for an index. The ValueHandle ensures that ScopeRecordIdx stays up to date if the MDNode is RAUW'd.

Definition at line 349 of file LLVMContextImpl.h.

Referenced by getOrAddScopeRecordIdxEntry(), llvm::DebugLoc::getScope(), and llvm::DebugLoc::getScopeAndInlinedAt().

Definition at line 297 of file LLVMContextImpl.h.

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

Definition at line 296 of file LLVMContextImpl.h.

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

TypeAllocator - All dynamically allocated types are allocated from this. They live forever until the context is torn down.

Definition at line 309 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().

Definition at line 321 of file LLVMContextImpl.h.

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

Definition at line 302 of file LLVMContextImpl.h.

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

Definition at line 303 of file LLVMContextImpl.h.

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

Definition at line 303 of file LLVMContextImpl.h.

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


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