LLVM 20.0.0git
|
#include "IR/LLVMContextImpl.h"
Public Types | |
using | ArrayConstantsTy = ConstantUniqueMap< ConstantArray > |
using | StructConstantsTy = ConstantUniqueMap< ConstantStruct > |
using | VectorConstantsTy = ConstantUniqueMap< ConstantVector > |
using | FunctionTypeSet = DenseSet< FunctionType *, FunctionTypeKeyInfo > |
using | StructTypeSet = DenseSet< StructType *, AnonStructTypeKeyInfo > |
using | TargetExtTypeSet = DenseSet< TargetExtType *, TargetExtTypeKeyInfo > |
using | ValueHandlesTy = DenseMap< Value *, ValueHandleBase * > |
ValueHandles - This map keeps track of all of the value handles that are watching a Value*. | |
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. | |
void | getSyncScopeNames (SmallVectorImpl< StringRef > &SSNs) const |
getSyncScopeNames - Populates client supplied SmallVector with synchronization scope names registered with LLVMContext. | |
LLVMContextImpl (LLVMContext &C) | |
~LLVMContextImpl () | |
void | dropTriviallyDeadConstantArrays () |
Destroy the ConstantArrays if they are not used. | |
OptPassGate & | getOptPassGate () const |
Access the object which can disable optional passes and individual optimizations at compile time. | |
void | setOptPassGate (OptPassGate &) |
Set the object which can disable optional passes and individual optimizations at compile time. | |
void | setTrailingDbgRecords (BasicBlock *B, DbgMarker *M) |
DbgMarker * | getTrailingDbgRecords (BasicBlock *B) |
void | deleteTrailingDbgRecords (BasicBlock *B) |
Definition at line 1455 of file LLVMContextImpl.h.
Definition at line 1547 of file LLVMContextImpl.h.
Definition at line 1597 of file LLVMContextImpl.h.
Definition at line 1550 of file LLVMContextImpl.h.
Definition at line 1599 of file LLVMContextImpl.h.
Definition at line 1604 of file LLVMContextImpl.h.
using llvm::LLVMContextImpl::ValueHandlesTy = DenseMap<Value *, ValueHandleBase *> |
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 1616 of file LLVMContextImpl.h.
Definition at line 1553 of file LLVMContextImpl.h.
LLVMContextImpl::LLVMContextImpl | ( | LLVMContext & | C | ) |
Definition at line 36 of file LLVMContextImpl.cpp.
LLVMContextImpl::~LLVMContextImpl | ( | ) |
Definition at line 47 of file LLVMContextImpl.cpp.
References ArrayConstants, assert(), AttrsSetNodes, llvm::SmallPtrSetImpl< PtrType >::begin(), CAZConstants, CDSConstants, ConstantRangeListAttributes, CPNConstants, CTNConstants, DIArgLists, DistinctMDNodes, llvm::SmallPtrSetImplBase::empty(), ExprConstants, FPConstants, FPSplatConstants, llvm::ConstantUniqueMap< ConstantClass >::freeConstants(), I, InlineAsms, IntConstants, IntOneConstants, IntSplatConstants, IntZeroConstants, MetadataAsValues, OwnedModules, llvm::SmallVectorTemplateBase< T, bool >::push_back(), PVConstants, llvm::SmallVectorImpl< T >::reserve(), StructConstants, TrailingDbgRecords, UVConstants, ValueMetadata, ValuesAsMetadata, and VectorConstants.
|
inline |
Definition at line 1724 of file LLVMContextImpl.h.
References B, and TrailingDbgRecords.
Referenced by llvm::BasicBlock::deleteTrailingDbgRecords().
void LLVMContextImpl::dropTriviallyDeadConstantArrays | ( | ) |
Destroy the ConstantArrays if they are not used.
Definition at line 153 of file LLVMContextImpl.cpp.
References ArrayConstants, llvm::CallingConv::C, llvm::SetVector< T, Vector, Set, N >::empty(), llvm::SetVector< T, Vector, Set, N >::insert(), and llvm::SetVector< T, Vector, Set, N >::pop_back_val().
Referenced by llvm::Module::dropTriviallyDeadConstantArrays().
Definition at line 227 of file LLVMContextImpl.cpp.
References assert(), BundleTagCache, llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), and I.
Referenced by llvm::LLVMContext::getOperandBundleTagID().
void LLVMContextImpl::getOperandBundleTags | ( | SmallVectorImpl< StringRef > & | Tags | ) | const |
Definition at line 221 of file LLVMContextImpl.cpp.
References BundleTagCache, llvm::SmallVectorImpl< T >::resize(), and llvm::StringMapImpl::size().
Referenced by llvm::LLVMContext::getOperandBundleTags().
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 249 of file LLVMContextImpl.cpp.
References llvm::getGlobalPassGate(), and OPG.
Referenced by llvm::LLVMContext::getOptPassGate().
StringMapEntry< uint32_t > * LLVMContextImpl::getOrInsertBundleTag | ( | StringRef | Tag | ) |
Definition at line 216 of file LLVMContextImpl.cpp.
References BundleTagCache, llvm::StringMap< ValueTy, AllocatorTy >::insert(), and llvm::StringMapImpl::size().
Referenced by llvm::LLVMContext::getOrInsertBundleTag(), and llvm::LLVMContext::LLVMContext().
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 233 of file LLVMContextImpl.cpp.
Referenced by llvm::LLVMContext::getOrInsertSyncScopeID(), and llvm::LLVMContext::LLVMContext().
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 240 of file LLVMContextImpl.cpp.
References llvm::SmallVectorImpl< T >::resize(), SSC, and llvm::SSE.
Referenced by llvm::LLVMContext::getSyncScopeNames().
|
inline |
Definition at line 1720 of file LLVMContextImpl.h.
References B, and TrailingDbgRecords.
Referenced by llvm::BasicBlock::getTrailingDbgRecords().
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 255 of file LLVMContextImpl.cpp.
References OPG.
Referenced by llvm::LLVMContext::setOptPassGate().
|
inline |
Definition at line 1715 of file LLVMContextImpl.h.
References assert(), B, and TrailingDbgRecords.
Referenced by llvm::BasicBlock::setTrailingDbgRecords().
BumpPtrAllocator llvm::LLVMContextImpl::Alloc |
Definition at line 1590 of file LLVMContextImpl.h.
Referenced by llvm::StructType::create(), llvm::PointerType::get(), llvm::StructType::get(), llvm::Attribute::get(), llvm::ArrayType::get(), llvm::TypedPointerType::get(), llvm::ScalableVectorType::get(), llvm::FixedVectorType::get(), and llvm::StructType::setBody().
StructTypeSet llvm::LLVMContextImpl::AnonStructTypes |
Definition at line 1600 of file LLVMContextImpl.h.
Referenced by llvm::StructType::get().
ArrayConstantsTy llvm::LLVMContextImpl::ArrayConstants |
Definition at line 1548 of file LLVMContextImpl.h.
Referenced by dropTriviallyDeadConstantArrays(), llvm::ConstantArray::get(), and ~LLVMContextImpl().
Definition at line 1607 of file LLVMContextImpl.h.
Referenced by llvm::ArrayType::get().
PointerType* llvm::LLVMContextImpl::AS0PointerType = nullptr |
Definition at line 1609 of file LLVMContextImpl.h.
Referenced by llvm::PointerType::get().
DenseMap<DIAssignID *, SmallVector<Instruction *, 1> > llvm::LLVMContextImpl::AssignmentIDToInstrs |
Map DIAssignID -> Instructions with that attachment.
Managed by Instruction via Instruction::updateDIAssignIDMapping. Query using the at:: functions defined in DebugInfo.h.
Definition at line 1628 of file LLVMContextImpl.h.
Referenced by llvm::at::getAssignmentInsts().
DenseMap<std::pair<Type *, unsigned>, TypedPointerType *> llvm::LLVMContextImpl::ASTypedPointerTypes |
Definition at line 1611 of file LLVMContextImpl.h.
Referenced by llvm::TypedPointerType::get().
FoldingSet<AttributeListImpl> llvm::LLVMContextImpl::AttrsLists |
Definition at line 1517 of file LLVMContextImpl.h.
FoldingSet<AttributeImpl> llvm::LLVMContextImpl::AttrsSet |
Definition at line 1516 of file LLVMContextImpl.h.
Referenced by llvm::Attribute::get().
FoldingSet<AttributeSetNode> llvm::LLVMContextImpl::AttrsSetNodes |
Definition at line 1518 of file LLVMContextImpl.h.
Referenced by ~LLVMContextImpl().
Type llvm::LLVMContextImpl::BFloatTy |
Definition at line 1583 of file LLVMContextImpl.h.
DenseMap<std::pair<const Function *, const BasicBlock *>, BlockAddress *> llvm::LLVMContextImpl::BlockAddresses |
Definition at line 1567 of file LLVMContextImpl.h.
A set of interned tags for operand bundles.
The StringMap maps bundle tags to their IDs.
Definition at line 1648 of file LLVMContextImpl.h.
Referenced by getOperandBundleTagID(), getOperandBundleTags(), and getOrInsertBundleTag().
DenseMap<Type *, std::unique_ptr<ConstantAggregateZero> > llvm::LLVMContextImpl::CAZConstants |
Definition at line 1545 of file LLVMContextImpl.h.
Referenced by llvm::ConstantAggregateZero::get(), and ~LLVMContextImpl().
StringMap<std::unique_ptr<ConstantDataSequential> > llvm::LLVMContextImpl::CDSConstants |
Definition at line 1564 of file LLVMContextImpl.h.
Referenced by llvm::ConstantDataSequential::getImpl(), and ~LLVMContextImpl().
ConstantUniqueMap<ConstantPtrAuth> llvm::LLVMContextImpl::ConstantPtrAuths |
Definition at line 1573 of file LLVMContextImpl.h.
Referenced by llvm::ConstantPtrAuth::get().
SpecificBumpPtrAllocator<ConstantRangeAttributeImpl> llvm::LLVMContextImpl::ConstantRangeAttributeAlloc |
Definition at line 1593 of file LLVMContextImpl.h.
Referenced by llvm::Attribute::get().
std::vector<ConstantRangeListAttributeImpl *> llvm::LLVMContextImpl::ConstantRangeListAttributes |
Definition at line 1543 of file LLVMContextImpl.h.
Referenced by llvm::Attribute::get(), and ~LLVMContextImpl().
DenseMap<PointerType *, std::unique_ptr<ConstantPointerNull> > llvm::LLVMContextImpl::CPNConstants |
Definition at line 1556 of file LLVMContextImpl.h.
Referenced by llvm::ConstantPointerNull::get(), and ~LLVMContextImpl().
DenseMap<TargetExtType *, std::unique_ptr<ConstantTargetNone> > llvm::LLVMContextImpl::CTNConstants |
Definition at line 1558 of file LLVMContextImpl.h.
Referenced by llvm::ConstantTargetNone::get(), and ~LLVMContextImpl().
CustomMDKindNames - Map to hold the metadata string to ID mapping.
Definition at line 1620 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getMDKindID(), and llvm::LLVMContext::getMDKindNames().
std::string llvm::LLVMContextImpl::DefaultTargetCPU |
Definition at line 1726 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getDefaultTargetCPU(), and llvm::LLVMContext::setDefaultTargetCPU().
std::string llvm::LLVMContextImpl::DefaultTargetFeatures |
Definition at line 1727 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getDefaultTargetFeatures(), and llvm::LLVMContext::setDefaultTargetFeatures().
std::unique_ptr<DiagnosticHandler> llvm::LLVMContextImpl::DiagHandler |
Definition at line 1470 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::diagnose(), llvm::LLVMContext::getDiagHandlerPtr(), llvm::LLVMContext::getDiagnosticContext(), llvm::LLVMContext::getDiagnosticHandler(), llvm::LLVMContext::getDiagnosticHandlerCallBack(), llvm::LLVMContext::setDiagnosticHandler(), and llvm::LLVMContext::setDiagnosticHandlerCallBack().
bool llvm::LLVMContextImpl::DiagnosticsHotnessRequested = false |
Definition at line 1472 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getDiagnosticsHotnessRequested(), and llvm::LLVMContext::setDiagnosticsHotnessRequested().
std::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 1491 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getDiagnosticsHotnessThreshold(), llvm::LLVMContext::isDiagnosticsHotnessThresholdSetFromPSI(), and llvm::LLVMContext::setDiagnosticsHotnessThreshold().
std::optional<uint32_t> llvm::LLVMContextImpl::DiagnosticsMisExpectTolerance = 0 |
The percentage of difference between profiling branch weights and llvm.expect branch weights to tolerate when emiting MisExpect diagnostics.
Definition at line 1495 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getDiagnosticsMisExpectTolerance(), and llvm::LLVMContext::setDiagnosticsMisExpectTolerance().
DenseSet<DIArgList *, DIArgListInfo> llvm::LLVMContextImpl::DIArgLists |
Definition at line 1523 of file LLVMContextImpl.h.
Referenced by llvm::DIArgList::get(), llvm::DIArgList::handleChangedOperand(), and ~LLVMContextImpl().
bool llvm::LLVMContextImpl::DiscardValueNames = false |
Flag to indicate if Value (other than GlobalValue) retains their name or not.
Definition at line 1677 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::setDiscardValueNames(), and llvm::LLVMContext::shouldDiscardValueNames().
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 1642 of file LLVMContextImpl.h.
std::vector<MDNode *> llvm::LLVMContextImpl::DistinctMDNodes |
Definition at line 1536 of file LLVMContextImpl.h.
Referenced by llvm::MDNode::storeDistinctInContext(), and ~LLVMContextImpl().
std::optional<DenseMap<const MDString *, DICompositeType *> > llvm::LLVMContextImpl::DITypeMap |
Type llvm::LLVMContextImpl::DoubleTy |
Definition at line 1583 of file LLVMContextImpl.h.
DenseMap<const GlobalValue *, DSOLocalEquivalent *> llvm::LLVMContextImpl::DSOLocalEquivalents |
Definition at line 1569 of file LLVMContextImpl.h.
Referenced by llvm::DSOLocalEquivalent::get().
ConstantUniqueMap<ConstantExpr> llvm::LLVMContextImpl::ExprConstants |
Definition at line 1575 of file LLVMContextImpl.h.
Referenced by llvm::ConstantExpr::get(), llvm::ConstantExpr::getExtractElement(), getFoldedCast(), llvm::ConstantExpr::getGetElementPtr(), llvm::ConstantExpr::getInsertElement(), llvm::ConstantExpr::getShuffleVector(), and ~LLVMContextImpl().
Type llvm::LLVMContextImpl::FloatTy |
Definition at line 1583 of file LLVMContextImpl.h.
Type llvm::LLVMContextImpl::FP128Ty |
Definition at line 1585 of file LLVMContextImpl.h.
DenseMap<APFloat, std::unique_ptr<ConstantFP> > llvm::LLVMContextImpl::FPConstants |
Definition at line 1512 of file LLVMContextImpl.h.
Referenced by llvm::ConstantFP::get(), and ~LLVMContextImpl().
DenseMap<std::pair<ElementCount, APFloat>, std::unique_ptr<ConstantFP> > llvm::LLVMContextImpl::FPSplatConstants |
Definition at line 1514 of file LLVMContextImpl.h.
Referenced by ~LLVMContextImpl().
FunctionTypeSet llvm::LLVMContextImpl::FunctionTypes |
Definition at line 1598 of file LLVMContextImpl.h.
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 1673 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::deleteGC(), llvm::LLVMContext::getGC(), and llvm::LLVMContext::setGC().
DenseMap<const GlobalObject *, StringRef> llvm::LLVMContextImpl::GlobalObjectSections |
Collection of per-GlobalObject sections used in this context.
Definition at line 1631 of file LLVMContextImpl.h.
Referenced by llvm::GlobalObject::setSection().
DenseMap<const GlobalValue *, StringRef> llvm::LLVMContextImpl::GlobalValuePartitions |
Collection of per-GlobalValue partitions used in this context.
Definition at line 1634 of file LLVMContextImpl.h.
Referenced by llvm::GlobalValue::getPartition(), and llvm::GlobalValue::setPartition().
DenseMap<const GlobalValue *, GlobalValue::SanitizerMetadata> llvm::LLVMContextImpl::GlobalValueSanitizerMetadata |
Definition at line 1637 of file LLVMContextImpl.h.
Referenced by llvm::GlobalValue::getSanitizerMetadata(), llvm::GlobalValue::removeSanitizerMetadata(), and llvm::GlobalValue::setSanitizerMetadata().
Type llvm::LLVMContextImpl::HalfTy |
Definition at line 1583 of file LLVMContextImpl.h.
ConstantUniqueMap<InlineAsm> llvm::LLVMContextImpl::InlineAsms |
Definition at line 1577 of file LLVMContextImpl.h.
Referenced by llvm::InlineAsm::get(), and ~LLVMContextImpl().
IntegerType llvm::LLVMContextImpl::Int128Ty |
Definition at line 1586 of file LLVMContextImpl.h.
IntegerType llvm::LLVMContextImpl::Int16Ty |
Definition at line 1586 of file LLVMContextImpl.h.
IntegerType llvm::LLVMContextImpl::Int1Ty |
Definition at line 1586 of file LLVMContextImpl.h.
IntegerType llvm::LLVMContextImpl::Int32Ty |
Definition at line 1586 of file LLVMContextImpl.h.
IntegerType llvm::LLVMContextImpl::Int64Ty |
Definition at line 1586 of file LLVMContextImpl.h.
IntegerType llvm::LLVMContextImpl::Int8Ty |
Definition at line 1586 of file LLVMContextImpl.h.
DenseMap<APInt, std::unique_ptr<ConstantInt> > llvm::LLVMContextImpl::IntConstants |
Definition at line 1508 of file LLVMContextImpl.h.
Referenced by llvm::ConstantInt::get(), and ~LLVMContextImpl().
DenseMap<unsigned, IntegerType *> llvm::LLVMContextImpl::IntegerTypes |
Definition at line 1595 of file LLVMContextImpl.h.
DenseMap<unsigned, std::unique_ptr<ConstantInt> > llvm::LLVMContextImpl::IntOneConstants |
Definition at line 1507 of file LLVMContextImpl.h.
Referenced by llvm::ConstantInt::get(), and ~LLVMContextImpl().
DenseMap<std::pair<ElementCount, APInt>, std::unique_ptr<ConstantInt> > llvm::LLVMContextImpl::IntSplatConstants |
Definition at line 1510 of file LLVMContextImpl.h.
Referenced by ~LLVMContextImpl().
DenseMap<unsigned, std::unique_ptr<ConstantInt> > llvm::LLVMContextImpl::IntZeroConstants |
Definition at line 1506 of file LLVMContextImpl.h.
Referenced by llvm::ConstantInt::get(), and ~LLVMContextImpl().
Type llvm::LLVMContextImpl::LabelTy |
Definition at line 1583 of file LLVMContextImpl.h.
std::unique_ptr<LLVMRemarkStreamer> llvm::LLVMContextImpl::LLVMRS |
The specialized remark streamer used by LLVM's OptimizationRemarkEmitter.
Definition at line 1499 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getLLVMRemarkStreamer(), and llvm::LLVMContext::setLLVMRemarkStreamer().
MachineFunctionNums - Keep the next available unique number available for a MachineFunction in given module.
Module must in OwnedModules.
Definition at line 1463 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::generateMachineFunctionNum().
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 1468 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getMainRemarkStreamer(), and llvm::LLVMContext::setMainRemarkStreamer().
StringMap<MDString, BumpPtrAllocator> llvm::LLVMContextImpl::MDStringCache |
Definition at line 1520 of file LLVMContextImpl.h.
DenseMap<Metadata *, MetadataAsValue *> llvm::LLVMContextImpl::MetadataAsValues |
Definition at line 1522 of file LLVMContextImpl.h.
Referenced by llvm::MetadataAsValue::get(), llvm::MetadataAsValue::getIfExists(), ~LLVMContextImpl(), and llvm::MetadataAsValue::~MetadataAsValue().
Type llvm::LLVMContextImpl::MetadataTy |
Definition at line 1583 of file LLVMContextImpl.h.
bool llvm::LLVMContextImpl::MisExpectWarningRequested = false |
Definition at line 1496 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getMisExpectWarningRequested(), and llvm::LLVMContext::setMisExpectWarningRequested().
StringMap<StructType *> llvm::LLVMContextImpl::NamedStructTypes |
Definition at line 1601 of file LLVMContextImpl.h.
Referenced by llvm::StructType::setName().
unsigned llvm::LLVMContextImpl::NamedStructTypesUniqueID = 0 |
Definition at line 1602 of file LLVMContextImpl.h.
Referenced by llvm::StructType::setName().
DenseMap<const GlobalValue *, NoCFIValue *> llvm::LLVMContextImpl::NoCFIValues |
Definition at line 1571 of file LLVMContextImpl.h.
Referenced by llvm::NoCFIValue::get().
|
mutable |
Definition at line 1685 of file LLVMContextImpl.h.
Referenced by getOptPassGate(), and setOptPassGate().
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 1459 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::generateMachineFunctionNum(), and ~LLVMContextImpl().
DenseMap<unsigned, PointerType *> llvm::LLVMContextImpl::PointerTypes |
Definition at line 1610 of file LLVMContextImpl.h.
Referenced by llvm::PointerType::get().
Type llvm::LLVMContextImpl::PPC_FP128Ty |
Definition at line 1585 of file LLVMContextImpl.h.
DenseMap<Type *, std::unique_ptr<PoisonValue> > llvm::LLVMContextImpl::PVConstants |
Definition at line 1562 of file LLVMContextImpl.h.
Referenced by llvm::PoisonValue::get(), and ~LLVMContextImpl().
bool llvm::LLVMContextImpl::RespectDiagnosticFilters = false |
Definition at line 1471 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::diagnose(), llvm::LLVMContext::setDiagnosticHandler(), and llvm::LLVMContext::setDiagnosticHandlerCallBack().
UniqueStringSaver llvm::LLVMContextImpl::Saver {Alloc} |
Definition at line 1591 of file LLVMContextImpl.h.
Referenced by llvm::GlobalValue::setPartition(), and llvm::GlobalObject::setSection().
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 1656 of file LLVMContextImpl.h.
Referenced by getOrInsertSyncScopeID(), and getSyncScopeNames().
StructConstantsTy llvm::LLVMContextImpl::StructConstants |
Definition at line 1551 of file LLVMContextImpl.h.
Referenced by ~LLVMContextImpl().
TargetExtTypeSet llvm::LLVMContextImpl::TargetExtTypes |
Definition at line 1605 of file LLVMContextImpl.h.
ConstantInt* llvm::LLVMContextImpl::TheFalseVal = nullptr |
Definition at line 1580 of file LLVMContextImpl.h.
Referenced by llvm::ConstantInt::getFalse().
std::unique_ptr<ConstantTokenNone> llvm::LLVMContextImpl::TheNoneToken |
Definition at line 1588 of file LLVMContextImpl.h.
Referenced by llvm::ConstantTokenNone::get().
ConstantInt* llvm::LLVMContextImpl::TheTrueVal = nullptr |
Definition at line 1579 of file LLVMContextImpl.h.
Referenced by llvm::ConstantInt::getTrue().
Type llvm::LLVMContextImpl::TokenTy |
Definition at line 1584 of file LLVMContextImpl.h.
SmallDenseMap<BasicBlock *, DbgMarker *> llvm::LLVMContextImpl::TrailingDbgRecords |
Mapping of blocks to collections of "trailing" DbgVariableRecords.
As part of the "RemoveDIs" project, debug-info variable location records are going to cease being instructions... which raises the problem of where should they be recorded when we remove the terminator of a blocks, such as:
foo = add i32 0, 0 br label bar
If the branch is removed, a legitimate transient state while editing a block, any debug-records between those two instructions will not have a location. Each block thus records any DbgVariableRecord records that "trail" in such a way. These are stored in LLVMContext because typically LLVM only edits a small number of blocks at a time, so there's no need to bloat BasicBlock with such a data structure.
Definition at line 1712 of file LLVMContextImpl.h.
Referenced by deleteTrailingDbgRecords(), getTrailingDbgRecords(), setTrailingDbgRecords(), and ~LLVMContextImpl().
DenseMap<Type *, std::unique_ptr<UndefValue> > llvm::LLVMContextImpl::UVConstants |
Definition at line 1560 of file LLVMContextImpl.h.
Referenced by llvm::UndefValue::get(), and ~LLVMContextImpl().
ValueHandlesTy llvm::LLVMContextImpl::ValueHandles |
Definition at line 1617 of file LLVMContextImpl.h.
Referenced by llvm::ValueHandleBase::RemoveFromUseList(), llvm::ValueHandleBase::ValueIsDeleted(), and llvm::ValueHandleBase::ValueIsRAUWd().
DenseMap<const Value *, MDAttachments> llvm::LLVMContextImpl::ValueMetadata |
Collection of metadata used in this context.
Definition at line 1623 of file LLVMContextImpl.h.
Referenced by llvm::Value::addMetadata(), llvm::Value::clearMetadata(), llvm::Value::eraseMetadata(), llvm::Value::eraseMetadataIf(), llvm::Instruction::getAAMetadata(), llvm::Value::getAllMetadata(), llvm::Value::getMetadata(), llvm::Value::getMetadataImpl(), llvm::Value::setMetadata(), and ~LLVMContextImpl().
Definition at line 1504 of file LLVMContextImpl.h.
Referenced by llvm::Value::getValueName(), and llvm::Value::setValueName().
DenseMap<Value *, ValueAsMetadata *> llvm::LLVMContextImpl::ValuesAsMetadata |
Definition at line 1521 of file LLVMContextImpl.h.
Referenced by llvm::ValueAsMetadata::get(), llvm::ValueAsMetadata::handleRAUW(), llvm::ReplaceableMetadataImpl::SalvageDebugInfo(), and ~LLVMContextImpl().
VectorConstantsTy llvm::LLVMContextImpl::VectorConstants |
Definition at line 1554 of file LLVMContextImpl.h.
Referenced by llvm::ConstantVector::get(), and ~LLVMContextImpl().
DenseMap<std::pair<Type *, ElementCount>, VectorType *> llvm::LLVMContextImpl::VectorTypes |
Definition at line 1608 of file LLVMContextImpl.h.
Type llvm::LLVMContextImpl::VoidTy |
Definition at line 1583 of file LLVMContextImpl.h.
Type llvm::LLVMContextImpl::X86_AMXTy |
Definition at line 1585 of file LLVMContextImpl.h.
Type llvm::LLVMContextImpl::X86_FP80Ty |
Definition at line 1585 of file LLVMContextImpl.h.
LLVMContext::YieldCallbackTy llvm::LLVMContextImpl::YieldCallback = nullptr |
Definition at line 1501 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::setYieldCallback(), and llvm::LLVMContext::yield().
void* llvm::LLVMContextImpl::YieldOpaqueHandle = nullptr |
Definition at line 1502 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::setYieldCallback(), and llvm::LLVMContext::yield().