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

#include "IR/LLVMContextImpl.h"

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

Public Types

using IntMapTy = DenseMap< APInt, std::unique_ptr< ConstantInt >, DenseMapAPIntKeyInfo >
 
using FPMapTy = DenseMap< APFloat, std::unique_ptr< ConstantFP >, DenseMapAPFloatKeyInfo >
 
using ArrayConstantsTy = ConstantUniqueMap< ConstantArray >
 
using StructConstantsTy = ConstantUniqueMap< ConstantStruct >
 
using VectorConstantsTy = ConstantUniqueMap< ConstantVector >
 
using FunctionTypeSet = DenseSet< FunctionType *, FunctionTypeKeyInfo >
 
using StructTypeSet = DenseSet< StructType *, AnonStructTypeKeyInfo >
 
using ValueHandlesTy = DenseMap< Value *, ValueHandleBase * >
 ValueHandles - This map keeps track of all of the value handles that are watching a Value*. More...
 

Public Member Functions

StringMapEntry< uint32_t > * getOrInsertBundleTag (StringRef Tag)
 
void getOperandBundleTags (SmallVectorImpl< StringRef > &Tags) const
 
uint32_t getOperandBundleTagID (StringRef Tag) const
 
SyncScope::ID getOrInsertSyncScopeID (StringRef SSN)
 getOrInsertSyncScopeID - Maps synchronization scope name to synchronization scope ID. More...
 
void getSyncScopeNames (SmallVectorImpl< StringRef > &SSNs) const
 getSyncScopeNames - Populates client supplied SmallVector with synchronization scope names registered with LLVMContext. More...
 
 LLVMContextImpl (LLVMContext &C)
 
 ~LLVMContextImpl ()
 
void dropTriviallyDeadConstantArrays ()
 Destroy the ConstantArrays if they are not used. More...
 
OptPassGategetOptPassGate () const
 Access the object which can disable optional passes and individual optimizations at compile time. More...
 
void setOptPassGate (OptPassGate &)
 Set the object which can disable optional passes and individual optimizations at compile time. More...
 
bool getOpaquePointers ()
 
bool hasOpaquePointersValue ()
 
void setOpaquePointers (bool OP)
 

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...
 
std::unique_ptr< remarks::RemarkStreamerMainRemarkStreamer
 The main remark streamer used by all the other streamers (e.g. More...
 
std::unique_ptr< DiagnosticHandlerDiagHandler
 
bool RespectDiagnosticFilters = false
 
bool DiagnosticsHotnessRequested = false
 
Optional< uint64_tDiagnosticsHotnessThreshold = 0
 The minimum hotness value a diagnostic needs in order to be included in optimization diagnostics. More...
 
Optional< uint64_tDiagnosticsMisExpectTolerance = 0
 The percentage of difference between profiling branch weights and. More...
 
bool MisExpectWarningRequested = false
 
std::unique_ptr< LLVMRemarkStreamerLLVMRS
 The specialized remark streamer used by LLVM's OptimizationRemarkEmitter. More...
 
LLVMContext::YieldCallbackTy YieldCallback = nullptr
 
void * YieldOpaqueHandle = nullptr
 
DenseMap< const Value *, ValueName * > ValueNames
 
IntMapTy IntConstants
 
FPMapTy FPConstants
 
FoldingSet< AttributeImplAttrsSet
 
FoldingSet< AttributeListImplAttrsLists
 
FoldingSet< AttributeSetNodeAttrsSetNodes
 
StringMap< MDString, BumpPtrAllocatorMDStringCache
 
DenseMap< Value *, ValueAsMetadata * > ValuesAsMetadata
 
DenseMap< Metadata *, MetadataAsValue * > MetadataAsValues
 
Optional< DenseMap< const MDString *, DICompositeType * > > DITypeMap
 
std::vector< MDNode * > DistinctMDNodes
 
DenseMap< Type *, std::unique_ptr< ConstantAggregateZero > > CAZConstants
 
ArrayConstantsTy ArrayConstants
 
StructConstantsTy StructConstants
 
VectorConstantsTy VectorConstants
 
DenseMap< PointerType *, std::unique_ptr< ConstantPointerNull > > CPNConstants
 
DenseMap< Type *, std::unique_ptr< UndefValue > > UVConstants
 
DenseMap< Type *, std::unique_ptr< PoisonValue > > PVConstants
 
StringMap< std::unique_ptr< ConstantDataSequential > > CDSConstants
 
DenseMap< std::pair< const Function *, const BasicBlock * >, BlockAddress * > BlockAddresses
 
DenseMap< const GlobalValue *, DSOLocalEquivalent * > DSOLocalEquivalents
 
DenseMap< const GlobalValue *, NoCFIValue * > NoCFIValues
 
ConstantUniqueMap< ConstantExprExprConstants
 
ConstantUniqueMap< InlineAsmInlineAsms
 
ConstantIntTheTrueVal = nullptr
 
ConstantIntTheFalseVal = nullptr
 
Type VoidTy
 
Type LabelTy
 
Type HalfTy
 
Type BFloatTy
 
Type FloatTy
 
Type DoubleTy
 
Type MetadataTy
 
Type TokenTy
 
Type X86_FP80Ty
 
Type FP128Ty
 
Type PPC_FP128Ty
 
Type X86_MMXTy
 
Type X86_AMXTy
 
IntegerType Int1Ty
 
IntegerType Int8Ty
 
IntegerType Int16Ty
 
IntegerType Int32Ty
 
IntegerType Int64Ty
 
IntegerType Int128Ty
 
std::unique_ptr< ConstantTokenNoneTheNoneToken
 
BumpPtrAllocator Alloc
 
UniqueStringSaver Saver {Alloc}
 
DenseMap< unsigned, IntegerType * > IntegerTypes
 
FunctionTypeSet FunctionTypes
 
StructTypeSet AnonStructTypes
 
StringMap< StructType * > NamedStructTypes
 
unsigned NamedStructTypesUniqueID = 0
 
DenseMap< std::pair< Type *, uint64_t >, ArrayType * > ArrayTypes
 
DenseMap< std::pair< Type *, ElementCount >, VectorType * > VectorTypes
 
DenseMap< Type *, PointerType * > PointerTypes
 
DenseMap< std::pair< Type *, unsigned >, PointerType * > ASPointerTypes
 
ValueHandlesTy ValueHandles
 
StringMap< unsigned > CustomMDKindNames
 CustomMDKindNames - Map to hold the metadata string to ID mapping. More...
 
DenseMap< const Value *, MDAttachmentsValueMetadata
 Collection of metadata used in this context. More...
 
DenseMap< const GlobalObject *, StringRefGlobalObjectSections
 Collection of per-GlobalObject sections used in this context. More...
 
DenseMap< const GlobalValue *, StringRefGlobalValuePartitions
 Collection of per-GlobalValue partitions used in this context. More...
 
DenseMap< const GlobalValue *, GlobalValue::SanitizerMetadataGlobalValueSanitizerMetadata
 
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...
 
StringMap< uint32_tBundleTagCache
 A set of interned tags for operand bundles. More...
 
StringMap< SyncScope::IDSSC
 A set of interned synchronization scopes. More...
 
DenseMap< const Function *, std::string > GCNames
 Maintain the GC name for each function. More...
 
bool DiscardValueNames = false
 Flag to indicate if Value (other than GlobalValue) retains their name or not. More...
 
OptPassGateOPG = nullptr
 
llvm::Any TargetDataStorage
 

Detailed Description

Definition at line 1354 of file LLVMContextImpl.h.

Member Typedef Documentation

◆ ArrayConstantsTy

Definition at line 1432 of file LLVMContextImpl.h.

◆ FPMapTy

Definition at line 1406 of file LLVMContextImpl.h.

◆ FunctionTypeSet

Definition at line 1476 of file LLVMContextImpl.h.

◆ IntMapTy

Definition at line 1402 of file LLVMContextImpl.h.

◆ StructConstantsTy

Definition at line 1435 of file LLVMContextImpl.h.

◆ StructTypeSet

Definition at line 1478 of file LLVMContextImpl.h.

◆ ValueHandlesTy

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

◆ VectorConstantsTy

Definition at line 1438 of file LLVMContextImpl.h.

Constructor & Destructor Documentation

◆ LLVMContextImpl()

LLVMContextImpl::LLVMContextImpl ( LLVMContext C)

Definition at line 41 of file LLVMContextImpl.cpp.

References llvm::cl::Option::getNumOccurrences(), and OpaquePointersCL.

◆ ~LLVMContextImpl()

LLVMContextImpl::~LLVMContextImpl ( )

Member Function Documentation

◆ dropTriviallyDeadConstantArrays()

void LLVMContextImpl::dropTriviallyDeadConstantArrays ( )

◆ getOpaquePointers()

bool LLVMContextImpl::getOpaquePointers ( )

◆ getOperandBundleTagID()

uint32_t LLVMContextImpl::getOperandBundleTagID ( StringRef  Tag) const

◆ getOperandBundleTags()

void LLVMContextImpl::getOperandBundleTags ( SmallVectorImpl< StringRef > &  Tags) const

◆ getOptPassGate()

OptPassGate & LLVMContextImpl::getOptPassGate ( ) const

Access the object which can disable optional passes and individual optimizations at compile time.

Gets the OptPassGate for this LLVMContextImpl, which defaults to the singleton OptBisect if not explicitly set.

Definition at line 242 of file LLVMContextImpl.cpp.

References OPG.

Referenced by llvm::LLVMContext::getOptPassGate().

◆ getOrInsertBundleTag()

StringMapEntry< uint32_t > * LLVMContextImpl::getOrInsertBundleTag ( StringRef  Tag)

◆ getOrInsertSyncScopeID()

SyncScope::ID LLVMContextImpl::getOrInsertSyncScopeID ( StringRef  SSN)

getOrInsertSyncScopeID - Maps synchronization scope name to synchronization scope ID.

Every synchronization scope registered with LLVMContext has unique ID except pre-defined ones.

Definition at line 226 of file LLVMContextImpl.cpp.

References assert(), llvm::StringMap< ValueTy, AllocatorTy >::insert(), llvm::max(), llvm::StringMapImpl::size(), and SSC.

Referenced by llvm::LLVMContext::getOrInsertSyncScopeID(), and llvm::LLVMContext::LLVMContext().

◆ getSyncScopeNames()

void LLVMContextImpl::getSyncScopeNames ( SmallVectorImpl< StringRef > &  SSNs) const

getSyncScopeNames - Populates client supplied SmallVector with synchronization scope names registered with LLVMContext.

Synchronization scope names are ordered by increasing synchronization scope IDs.

Definition at line 233 of file LLVMContextImpl.cpp.

References llvm::SmallVectorImpl< T >::resize(), llvm::StringMapImpl::size(), SSC, and llvm::SSE.

Referenced by llvm::LLVMContext::getSyncScopeNames().

◆ hasOpaquePointersValue()

bool LLVMContextImpl::hasOpaquePointersValue ( )

◆ setOpaquePointers()

void LLVMContextImpl::setOpaquePointers ( bool  OP)

◆ setOptPassGate()

void LLVMContextImpl::setOptPassGate ( OptPassGate OPG)

Set the object which can disable optional passes and individual optimizations at compile time.

The lifetime of the object must be guaranteed to extend as long as the LLVMContext is used by compilation.

Definition at line 248 of file LLVMContextImpl.cpp.

References OPG.

Referenced by llvm::LLVMContext::setOptPassGate().

Member Data Documentation

◆ Alloc

BumpPtrAllocator llvm::LLVMContextImpl::Alloc

◆ AnonStructTypes

StructTypeSet llvm::LLVMContextImpl::AnonStructTypes

Definition at line 1479 of file LLVMContextImpl.h.

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

◆ ArrayConstants

ArrayConstantsTy llvm::LLVMContextImpl::ArrayConstants

◆ ArrayTypes

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

Definition at line 1483 of file LLVMContextImpl.h.

◆ ASPointerTypes

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

Definition at line 1486 of file LLVMContextImpl.h.

◆ AttrsLists

FoldingSet<AttributeListImpl> llvm::LLVMContextImpl::AttrsLists

Definition at line 1410 of file LLVMContextImpl.h.

◆ AttrsSet

FoldingSet<AttributeImpl> llvm::LLVMContextImpl::AttrsSet

Definition at line 1409 of file LLVMContextImpl.h.

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

◆ AttrsSetNodes

FoldingSet<AttributeSetNode> llvm::LLVMContextImpl::AttrsSetNodes

Definition at line 1411 of file LLVMContextImpl.h.

Referenced by ~LLVMContextImpl().

◆ BFloatTy

Type llvm::LLVMContextImpl::BFloatTy

Definition at line 1464 of file LLVMContextImpl.h.

◆ BlockAddresses

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

Definition at line 1450 of file LLVMContextImpl.h.

◆ BundleTagCache

StringMap<uint32_t> llvm::LLVMContextImpl::BundleTagCache

A set of interned tags for operand bundles.

The StringMap maps bundle tags to their IDs.

See also
LLVMContext::getOperandBundleTagID

Definition at line 1518 of file LLVMContextImpl.h.

Referenced by getOperandBundleTagID(), getOperandBundleTags(), and getOrInsertBundleTag().

◆ CAZConstants

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

Definition at line 1430 of file LLVMContextImpl.h.

Referenced by ~LLVMContextImpl().

◆ CDSConstants

StringMap<std::unique_ptr<ConstantDataSequential> > llvm::LLVMContextImpl::CDSConstants

Definition at line 1447 of file LLVMContextImpl.h.

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

◆ CPNConstants

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

Definition at line 1441 of file LLVMContextImpl.h.

Referenced by ~LLVMContextImpl().

◆ CustomMDKindNames

StringMap<unsigned> llvm::LLVMContextImpl::CustomMDKindNames

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

Definition at line 1495 of file LLVMContextImpl.h.

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

◆ DiagHandler

std::unique_ptr<DiagnosticHandler> llvm::LLVMContextImpl::DiagHandler

◆ DiagnosticsHotnessRequested

bool llvm::LLVMContextImpl::DiagnosticsHotnessRequested = false

◆ DiagnosticsHotnessThreshold

Optional<uint64_t> llvm::LLVMContextImpl::DiagnosticsHotnessThreshold = 0

The minimum hotness value a diagnostic needs in order to be included in optimization diagnostics.

The threshold is an Optional value, which maps to one of the 3 states: 1). 0 => threshold disabled. All emarks will be printed. 2). positive int => manual threshold by user. Remarks with hotness exceed threshold will be printed. 3). None => 'auto' threshold by user. The actual value is not available at command line, but will be synced with hotness threhold from profile summary during compilation.

State 1 and 2 are considered as terminal states. State transition is only allowed from 3 to 2, when the threshold is first synced with profile summary. This ensures that the threshold is set only once and stays constant.

If threshold option is not specified, it is disabled (0) by default.

Definition at line 1386 of file LLVMContextImpl.h.

Referenced by llvm::LLVMContext::getDiagnosticsHotnessThreshold(), llvm::LLVMContext::isDiagnosticsHotnessThresholdSetFromPSI(), and llvm::LLVMContext::setDiagnosticsHotnessThreshold().

◆ DiagnosticsMisExpectTolerance

Optional<uint64_t> llvm::LLVMContextImpl::DiagnosticsMisExpectTolerance = 0

The percentage of difference between profiling branch weights and.

Definition at line 1390 of file LLVMContextImpl.h.

Referenced by llvm::LLVMContext::getDiagnosticsMisExpectTolerance(), and llvm::LLVMContext::setDiagnosticsMisExpectTolerance().

◆ DiscardValueNames

bool llvm::LLVMContextImpl::DiscardValueNames = false

Flag to indicate if Value (other than GlobalValue) retains their name or not.

Definition at line 1547 of file LLVMContextImpl.h.

Referenced by llvm::LLVMContext::setDiscardValueNames(), and llvm::LLVMContext::shouldDiscardValueNames().

◆ DiscriminatorTable

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

◆ DistinctMDNodes

std::vector<MDNode *> llvm::LLVMContextImpl::DistinctMDNodes

Definition at line 1428 of file LLVMContextImpl.h.

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

◆ DITypeMap

Optional<DenseMap<const MDString *, DICompositeType *> > llvm::LLVMContextImpl::DITypeMap

◆ DoubleTy

Type llvm::LLVMContextImpl::DoubleTy

Definition at line 1464 of file LLVMContextImpl.h.

◆ DSOLocalEquivalents

DenseMap<const GlobalValue *, DSOLocalEquivalent *> llvm::LLVMContextImpl::DSOLocalEquivalents

Definition at line 1452 of file LLVMContextImpl.h.

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

◆ ExprConstants

ConstantUniqueMap<ConstantExpr> llvm::LLVMContextImpl::ExprConstants

◆ FloatTy

Type llvm::LLVMContextImpl::FloatTy

Definition at line 1464 of file LLVMContextImpl.h.

◆ FP128Ty

Type llvm::LLVMContextImpl::FP128Ty

Definition at line 1466 of file LLVMContextImpl.h.

◆ FPConstants

FPMapTy llvm::LLVMContextImpl::FPConstants

Definition at line 1407 of file LLVMContextImpl.h.

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

◆ FunctionTypes

FunctionTypeSet llvm::LLVMContextImpl::FunctionTypes

Definition at line 1477 of file LLVMContextImpl.h.

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

◆ GCNames

DenseMap<const Function *, std::string> llvm::LLVMContextImpl::GCNames

Maintain the GC name for each function.

This saves allocating an additional word in Function for programs which do not use GC (i.e., most programs) at the cost of increased overhead for clients which do use GC.

Definition at line 1543 of file LLVMContextImpl.h.

Referenced by llvm::LLVMContext::deleteGC(), llvm::LLVMContext::getGC(), and llvm::LLVMContext::setGC().

◆ GlobalObjectSections

DenseMap<const GlobalObject *, StringRef> llvm::LLVMContextImpl::GlobalObjectSections

Collection of per-GlobalObject sections used in this context.

Definition at line 1501 of file LLVMContextImpl.h.

Referenced by llvm::GlobalObject::setSection().

◆ GlobalValuePartitions

DenseMap<const GlobalValue *, StringRef> llvm::LLVMContextImpl::GlobalValuePartitions

Collection of per-GlobalValue partitions used in this context.

Definition at line 1504 of file LLVMContextImpl.h.

Referenced by llvm::GlobalValue::getPartition(), and llvm::GlobalValue::setPartition().

◆ GlobalValueSanitizerMetadata

DenseMap<const GlobalValue *, GlobalValue::SanitizerMetadata> llvm::LLVMContextImpl::GlobalValueSanitizerMetadata

◆ HalfTy

Type llvm::LLVMContextImpl::HalfTy

Definition at line 1464 of file LLVMContextImpl.h.

◆ InlineAsms

ConstantUniqueMap<InlineAsm> llvm::LLVMContextImpl::InlineAsms

Definition at line 1458 of file LLVMContextImpl.h.

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

◆ Int128Ty

IntegerType llvm::LLVMContextImpl::Int128Ty

Definition at line 1467 of file LLVMContextImpl.h.

◆ Int16Ty

IntegerType llvm::LLVMContextImpl::Int16Ty

Definition at line 1467 of file LLVMContextImpl.h.

◆ Int1Ty

IntegerType llvm::LLVMContextImpl::Int1Ty

Definition at line 1467 of file LLVMContextImpl.h.

◆ Int32Ty

IntegerType llvm::LLVMContextImpl::Int32Ty

Definition at line 1467 of file LLVMContextImpl.h.

◆ Int64Ty

IntegerType llvm::LLVMContextImpl::Int64Ty

Definition at line 1467 of file LLVMContextImpl.h.

◆ Int8Ty

IntegerType llvm::LLVMContextImpl::Int8Ty

Definition at line 1467 of file LLVMContextImpl.h.

◆ IntConstants

IntMapTy llvm::LLVMContextImpl::IntConstants

Definition at line 1403 of file LLVMContextImpl.h.

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

◆ IntegerTypes

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

Definition at line 1474 of file LLVMContextImpl.h.

◆ LabelTy

Type llvm::LLVMContextImpl::LabelTy

Definition at line 1464 of file LLVMContextImpl.h.

◆ LLVMRS

std::unique_ptr<LLVMRemarkStreamer> llvm::LLVMContextImpl::LLVMRS

The specialized remark streamer used by LLVM's OptimizationRemarkEmitter.

Definition at line 1394 of file LLVMContextImpl.h.

Referenced by llvm::LLVMContext::getLLVMRemarkStreamer(), and llvm::LLVMContext::setLLVMRemarkStreamer().

◆ MainRemarkStreamer

std::unique_ptr<remarks::RemarkStreamer> llvm::LLVMContextImpl::MainRemarkStreamer

The main remark streamer used by all the other streamers (e.g.

IR, MIR, frontends, etc.). This should only be used by the specific streamers, and never directly.

Definition at line 1363 of file LLVMContextImpl.h.

Referenced by llvm::LLVMContext::getMainRemarkStreamer(), and llvm::LLVMContext::setMainRemarkStreamer().

◆ MDStringCache

StringMap<MDString, BumpPtrAllocator> llvm::LLVMContextImpl::MDStringCache

Definition at line 1413 of file LLVMContextImpl.h.

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

◆ MetadataAsValues

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

◆ MetadataTy

Type llvm::LLVMContextImpl::MetadataTy

Definition at line 1464 of file LLVMContextImpl.h.

◆ MisExpectWarningRequested

bool llvm::LLVMContextImpl::MisExpectWarningRequested = false

◆ NamedStructTypes

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

Definition at line 1480 of file LLVMContextImpl.h.

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

◆ NamedStructTypesUniqueID

unsigned llvm::LLVMContextImpl::NamedStructTypesUniqueID = 0

Definition at line 1481 of file LLVMContextImpl.h.

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

◆ NoCFIValues

DenseMap<const GlobalValue *, NoCFIValue *> llvm::LLVMContextImpl::NoCFIValues

Definition at line 1454 of file LLVMContextImpl.h.

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

◆ OPG

OptPassGate* llvm::LLVMContextImpl::OPG = nullptr
mutable

Definition at line 1555 of file LLVMContextImpl.h.

Referenced by getOptPassGate(), and setOptPassGate().

◆ OwnedModules

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

Referenced by ~LLVMContextImpl().

◆ PointerTypes

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

Definition at line 1485 of file LLVMContextImpl.h.

◆ PPC_FP128Ty

Type llvm::LLVMContextImpl::PPC_FP128Ty

Definition at line 1466 of file LLVMContextImpl.h.

◆ PVConstants

DenseMap<Type *, std::unique_ptr<PoisonValue> > llvm::LLVMContextImpl::PVConstants

Definition at line 1445 of file LLVMContextImpl.h.

Referenced by ~LLVMContextImpl().

◆ RespectDiagnosticFilters

bool llvm::LLVMContextImpl::RespectDiagnosticFilters = false

◆ Saver

UniqueStringSaver llvm::LLVMContextImpl::Saver {Alloc}

◆ SSC

StringMap<SyncScope::ID> llvm::LLVMContextImpl::SSC

A set of interned synchronization scopes.

The StringMap maps synchronization scope names to their respective synchronization scope IDs.

Definition at line 1526 of file LLVMContextImpl.h.

Referenced by getOrInsertSyncScopeID(), and getSyncScopeNames().

◆ StructConstants

StructConstantsTy llvm::LLVMContextImpl::StructConstants

Definition at line 1436 of file LLVMContextImpl.h.

Referenced by ~LLVMContextImpl().

◆ TargetDataStorage

llvm::Any llvm::LLVMContextImpl::TargetDataStorage

Definition at line 1574 of file LLVMContextImpl.h.

Referenced by llvm::LLVMContext::getTargetData().

◆ TheFalseVal

ConstantInt* llvm::LLVMContextImpl::TheFalseVal = nullptr

Definition at line 1461 of file LLVMContextImpl.h.

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

◆ TheNoneToken

std::unique_ptr<ConstantTokenNone> llvm::LLVMContextImpl::TheNoneToken

Definition at line 1469 of file LLVMContextImpl.h.

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

◆ TheTrueVal

ConstantInt* llvm::LLVMContextImpl::TheTrueVal = nullptr

Definition at line 1460 of file LLVMContextImpl.h.

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

◆ TokenTy

Type llvm::LLVMContextImpl::TokenTy

Definition at line 1465 of file LLVMContextImpl.h.

◆ UVConstants

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

Definition at line 1443 of file LLVMContextImpl.h.

Referenced by ~LLVMContextImpl().

◆ ValueHandles

ValueHandlesTy llvm::LLVMContextImpl::ValueHandles

Definition at line 1492 of file LLVMContextImpl.h.

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

◆ ValueMetadata

DenseMap<const Value *, MDAttachments> llvm::LLVMContextImpl::ValueMetadata

◆ ValueNames

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

Definition at line 1399 of file LLVMContextImpl.h.

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

◆ ValuesAsMetadata

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

◆ VectorConstants

VectorConstantsTy llvm::LLVMContextImpl::VectorConstants

Definition at line 1439 of file LLVMContextImpl.h.

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

◆ VectorTypes

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

Definition at line 1484 of file LLVMContextImpl.h.

◆ VoidTy

Type llvm::LLVMContextImpl::VoidTy

Definition at line 1464 of file LLVMContextImpl.h.

◆ X86_AMXTy

Type llvm::LLVMContextImpl::X86_AMXTy

Definition at line 1466 of file LLVMContextImpl.h.

◆ X86_FP80Ty

Type llvm::LLVMContextImpl::X86_FP80Ty

Definition at line 1466 of file LLVMContextImpl.h.

◆ X86_MMXTy

Type llvm::LLVMContextImpl::X86_MMXTy

Definition at line 1466 of file LLVMContextImpl.h.

◆ YieldCallback

LLVMContext::YieldCallbackTy llvm::LLVMContextImpl::YieldCallback = nullptr

◆ YieldOpaqueHandle

void* llvm::LLVMContextImpl::YieldOpaqueHandle = nullptr

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