LLVM: llvm::LLVMContext Class Reference (original) (raw)

This is an important class for using LLVM in a threaded context. More...

#include "[llvm/IR/LLVMContext.h](LLVMContext%5F8h%5Fsource.html)"

Public Types
enum : unsigned
enum : unsigned { OB_deopt = 0 , OB_funclet = 1 , OB_gc_transition = 2 , OB_cfguardtarget = 3 , OB_preallocated = 4 , OB_gc_live = 5 , OB_clang_arc_attachedcall = 6 , OB_ptrauth = 7 , OB_kcfi = 8 , OB_convergencectrl = 9 , OB_align = 10 , OB_deactivation_symbol = 11 , OB_LastBundleID = OB_deactivation_symbol }
Known operand bundle tag IDs, which always have the same value. More...
using YieldCallbackTy = void (*)(LLVMContext *Context, void *OpaqueHandle)
Defines the type of a yield callback.
Public Member Functions
LLVM_ABI LLVMContext ()
LLVMContext (const LLVMContext &)=delete
LLVMContext & operator= (const LLVMContext &)=delete
LLVM_ABI ~LLVMContext ()
LLVM_ABI unsigned getMDKindID (StringRef Name) const
getMDKindID - Return a unique non-zero ID for the specified metadata kind.
LLVM_ABI void getMDKindNames (SmallVectorImpl< StringRef > &Result) const
getMDKindNames - Populate client supplied SmallVector with the name for custom metadata IDs registered in this LLVMContext.
LLVM_ABI void getOperandBundleTags (SmallVectorImpl< StringRef > &Result) const
getOperandBundleTags - Populate client supplied SmallVector with the bundle tags registered in this LLVMContext.
LLVM_ABI StringMapEntry< uint32_t > * getOrInsertBundleTag (StringRef TagName) const
getOrInsertBundleTag - Returns the Tag to use for an operand bundle of name TagName.
LLVM_ABI uint32_t getOperandBundleTagID (StringRef Tag) const
getOperandBundleTagID - Maps a bundle tag to an integer ID.
LLVM_ABI SyncScope::ID getOrInsertSyncScopeID (StringRef SSN)
getOrInsertSyncScopeID - Maps synchronization scope name to synchronization scope ID.
LLVM_ABI void getSyncScopeNames (SmallVectorImpl< StringRef > &SSNs) const
getSyncScopeNames - Populates client supplied SmallVector with synchronization scope names registered with LLVMContext.
LLVM_ABI std::optional< StringRef > getSyncScopeName (SyncScope::ID Id) const
getSyncScopeName - Returns the name of a SyncScope::ID registered with LLVMContext, if any.
LLVM_ABI void setGC (const Function &Fn, std::string GCName)
Define the GC for a function.
LLVM_ABI const std::string & getGC (const Function &Fn)
Return the GC for a function.
LLVM_ABI void deleteGC (const Function &Fn)
Remove the GC for a function.
LLVM_ABI bool shouldDiscardValueNames () const
Return true if the Context runtime configuration is set to discard all value names.
LLVM_ABI void setDiscardValueNames (bool Discard)
Set the Context runtime configuration to discard all value name (but GlobalValue).
LLVM_ABI bool isODRUniquingDebugTypes () const
Whether there is a string map for uniquing debug info identifiers across the context.
LLVM_ABI void enableDebugTypeODRUniquing ()
LLVM_ABI void disableDebugTypeODRUniquing ()
LLVM_ABI unsigned generateMachineFunctionNum (Function &)
generateMachineFunctionNum - Get a unique number for MachineFunction that associated with the given Function.
LLVM_ABI void setDiagnosticHandlerCallBack (DiagnosticHandler::DiagnosticHandlerTy DiagHandler, void *DiagContext=nullptr, bool RespectFilters=false)
setDiagnosticHandlerCallBack - This method sets a handler call back that is invoked when the backend needs to report anything to the user.
LLVM_ABI void setDiagnosticHandler (std::unique_ptr< DiagnosticHandler > &&DH, bool RespectFilters=false)
setDiagnosticHandler - This method sets unique_ptr to object of DiagnosticHandler to provide custom diagnostic handling.
LLVM_ABI DiagnosticHandler::DiagnosticHandlerTy getDiagnosticHandlerCallBack () const
getDiagnosticHandlerCallBack - Return the diagnostic handler call back set by setDiagnosticHandlerCallBack.
LLVM_ABI void * getDiagnosticContext () const
getDiagnosticContext - Return the diagnostic context set by setDiagnosticContext.
LLVM_ABI const DiagnosticHandler * getDiagHandlerPtr () const
getDiagHandlerPtr - Returns const raw pointer of DiagnosticHandler set by setDiagnosticHandler.
LLVM_ABI std::unique_ptr< DiagnosticHandler > getDiagnosticHandler ()
getDiagnosticHandler - transfers ownership of DiagnosticHandler unique_ptr to caller.
LLVM_ABI bool getDiagnosticsHotnessRequested () const
Return if a code hotness metric should be included in optimization diagnostics.
LLVM_ABI void setDiagnosticsHotnessRequested (bool Requested)
Set if a code hotness metric should be included in optimization diagnostics.
LLVM_ABI bool getMisExpectWarningRequested () const
LLVM_ABI void setMisExpectWarningRequested (bool Requested)
LLVM_ABI void setDiagnosticsMisExpectTolerance (std::optional< uint32_t > Tolerance)
LLVM_ABI uint32_t getDiagnosticsMisExpectTolerance () const
LLVM_ABI uint64_t getDiagnosticsHotnessThreshold () const
Return the minimum hotness value a diagnostic would need in order to be included in optimization diagnostics.
LLVM_ABI void setDiagnosticsHotnessThreshold (std::optional< uint64_t > Threshold)
Set the minimum hotness value a diagnostic needs in order to be included in optimization diagnostics.
LLVM_ABI bool isDiagnosticsHotnessThresholdSetFromPSI () const
Return if hotness threshold is requested from PSI.
LLVM_ABI remarks::RemarkStreamer * getMainRemarkStreamer ()
The "main remark streamer" used by all the specialized remark streamers.
LLVM_ABI const remarks::RemarkStreamer * getMainRemarkStreamer () const
LLVM_ABI void setMainRemarkStreamer (std::unique_ptr< remarks::RemarkStreamer > MainRemarkStreamer)
LLVM_ABI LLVMRemarkStreamer * getLLVMRemarkStreamer ()
The "LLVM remark streamer" used by LLVM to serialize remark diagnostics comming from IR and MIR passes.
LLVM_ABI const LLVMRemarkStreamer * getLLVMRemarkStreamer () const
LLVM_ABI void setLLVMRemarkStreamer (std::unique_ptr< LLVMRemarkStreamer > RemarkStreamer)
LLVM_ABI void diagnose (const DiagnosticInfo &DI)
Report a message to the currently installed diagnostic handler.
LLVM_ABI void setYieldCallback (YieldCallbackTy Callback, void *OpaqueHandle)
Registers a yield callback with the given context.
LLVM_ABI void yield ()
Calls the yield callback (if applicable).
LLVM_ABI void emitError (const Instruction *I, const Twine &ErrorStr)
emitError - Emit an error message to the currently installed error handler with optional location information.
LLVM_ABI void emitError (const Twine &ErrorStr)
LLVM_ABI OptPassGate & getOptPassGate () const
Access the object which can disable optional passes and individual optimizations at compile time.
LLVM_ABI void setOptPassGate (OptPassGate &)
Set the object which can disable optional passes and individual optimizations at compile time.
LLVM_ABI StringRef getDefaultTargetCPU ()
Get or set the current "default" target CPU (target-cpu function attribute).
LLVM_ABI void setDefaultTargetCPU (StringRef CPU)
LLVM_ABI StringRef getDefaultTargetFeatures ()
Similar to {get,set}DefaultTargetCPU() but for default target-features.
LLVM_ABI void setDefaultTargetFeatures (StringRef Features)
LLVM_ABI void updateDILocationAtomGroupWaterline (uint64_t G)
Key Instructions: update the highest number atom group emitted for any function.
LLVM_ABI uint64_t incNextDILocationAtomGroup ()
Key Instructions: get the next free atom group number and increment the global tracker.

This is an important class for using LLVM in a threaded context.

It (opaquely) owns and manages the core "global" data of LLVM's core infrastructure, including the type and constant uniquing tables. LLVMContext itself provides no locking guarantees, so you should be careful to have one context per thread.

Definition at line 68 of file LLVMContext.h.

YieldCallbackTy

anonymous enum

Known operand bundle tag IDs, which always have the same value.

All operand bundle tags that LLVM has special knowledge of are listed here. Additionally, this scheme allows LLVM to efficiently check for specific operand bundle tags without comparing strings. Keep this in sync with LLVMContext::LLVMContext().

Enumerator
OB_deopt
OB_funclet
OB_gc_transition
OB_cfguardtarget
OB_preallocated
OB_gc_live
OB_clang_arc_attachedcall
OB_ptrauth
OB_kcfi
OB_convergencectrl
OB_align
OB_deactivation_symbol
OB_LastBundleID

Definition at line 89 of file LLVMContext.h.

anonymous enum

LLVMContext::LLVMContext ( )

Definition at line 67 of file LLVMContext.cpp.

References assert(), getMDKindID(), knownBundleName(), OB_deopt, OB_LastBundleID, pImpl, llvm::SyncScope::SingleThread, and llvm::SyncScope::System.

Referenced by getLLVMRemarkStreamer(), getMainRemarkStreamer(), LLVMContext(), and operator=().

LLVMContext() [2/2]

~LLVMContext()

LLVMContext::~LLVMContext ( )

deleteGC()

diagnose()

Report a message to the currently installed diagnostic handler.

This function returns, in particular in the case of error reporting (DI.Severity == DS_Error), so the caller should leave the compilation process in a self-consistent state, even though the generated code need not be correct.

The diagnostic message will be implicitly prefixed with a severity keyword according to DI.getSeverity(), i.e., "error: " for DS_Error, "warning: " for DS_Warning, and "note: " for DS_Note.

Definition at line 249 of file LLVMContext.cpp.

References llvm::DS_Error, llvm::dyn_cast(), llvm::errs(), getDiagnosticMessagePrefix(), getLLVMRemarkStreamer(), llvm::DiagnosticInfo::getSeverity(), isDiagnosticEnabled(), pImpl, and llvm::DiagnosticInfo::print().

Referenced by diagnoseInvalidFormatString(), llvm::MachineOptimizationRemarkEmitter::emit(), emitError(), emitError(), llvm::MachineInstr::emitGenericError(), llvm::MachineInstr::emitInlineAsmError(), EmitInlineAsmStr(), emitNonHSAIntrinsicError(), llvm::RISCVFrameLowering::emitPrologue(), emitRemovedIntrinsicError(), emitUnsupportedError(), errorUnsupported(), fail(), InstrumentAllFunctions(), isValidIndirectionTable(), llvm::AMDGPULegalizerInfo::legalizeBVHDualOrBVH8IntersectRayIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeBVHIntersectRayIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeDebugTrap(), llvm::AMDGPULegalizerInfo::legalizeGlobalValue(), llvm::RISCVTargetLowering::LowerCall(), llvm::AMDGPUTargetLowering::LowerDYNAMIC_STACKALLOC(), llvm::NVPTXTargetLowering::LowerDYNAMIC_STACKALLOC(), llvm::SITargetLowering::LowerFormalArguments(), llvm::AMDGPUTargetLowering::LowerGlobalAddress(), llvm::LegalizerHelper::lowerReadWriteRegister(), llvm::RISCVTargetLowering::LowerReturn(), llvm::NVPTXTargetLowering::LowerSTACKRESTORE(), llvm::NVPTXTargetLowering::LowerSTACKSAVE(), llvm::AMDGPUTargetLowering::lowerUnhandledCall(), replaceAtomicSwap128(), reportNonStaticGEPChain(), llvm::KCFIPass::run(), llvm::SelectionDAGISel::runOnMachineFunction(), selectExplicitSectionGlobal(), and verifyLoadedModule().

disableDebugTypeODRUniquing()

void LLVMContext::disableDebugTypeODRUniquing ( )

emitError() [1/2]

emitError - Emit an error message to the currently installed error handler with optional location information.

This function returns, so code should be prepared to drop the erroneous construct on the floor and "not crash". The generated code need not be correct. The error message will be implicitly prefixed with "error: " and should not end with a ".".

Definition at line 214 of file LLVMContext.cpp.

References assert(), diagnose(), and I.

Referenced by checkIntrinsicImmArg(), emitErrorAndReplaceIntrinsicResults(), emitErrorMsg(), emitIntrinsicErrorMessage(), emitIntrinsicWithChainErrorMessage(), llvm::AsmPrinter::emitSpecialLLVMGlobal(), getBBAddrMapFeature(), llvm::SITargetLowering::getRegisterByName(), INITIALIZE_PASS(), legalizeIntrinsicImmArg(), lowerVectorBitClearImm(), lowerVectorBitRevImm(), lowerVectorBitSetImm(), lowerVectorPickVE2GR(), lowerVectorSplatImm(), and llvm::LoongArchTargetLowering::ReplaceNodeResults().

emitError() [2/2]

void LLVMContext::emitError ( const Twine & ErrorStr )

enableDebugTypeODRUniquing()

void LLVMContext::enableDebugTypeODRUniquing ( )

generateMachineFunctionNum()

getDefaultTargetCPU()

StringRef LLVMContext::getDefaultTargetCPU ( )

Get or set the current "default" target CPU (target-cpu function attribute).

The intent is that compiler frontends will set this to a value that reflects the attribute that a function would get "by default" without any specific function attributes, and compiler passes will attach the attribute to newly created functions that are not associated with a particular function, such as global initializers. Function::createWithDefaultAttr() will create functions with this attribute. This function should only be called by passes that run at compile time and not by the backend or LTO passes.

Definition at line 369 of file LLVMContext.cpp.

References pImpl.

getDefaultTargetFeatures()

StringRef LLVMContext::getDefaultTargetFeatures ( )

Similar to {get,set}DefaultTargetCPU() but for default target-features.

Definition at line 377 of file LLVMContext.cpp.

References pImpl.

getDiagHandlerPtr()

getDiagnosticContext()

void * LLVMContext::getDiagnosticContext ( ) const

getDiagnosticContext - Return the diagnostic context set by setDiagnosticContext.

Definition at line 195 of file LLVMContext.cpp.

References pImpl.

getDiagnosticHandler()

getDiagnosticHandlerCallBack()

getDiagnosticHandlerCallBack - Return the diagnostic handler call back set by setDiagnosticHandlerCallBack.

Definition at line 191 of file LLVMContext.cpp.

References pImpl.

getDiagnosticMessagePrefix()

getDiagnosticsHotnessRequested()

bool LLVMContext::getDiagnosticsHotnessRequested ( ) const

getDiagnosticsHotnessThreshold()

uint64_t LLVMContext::getDiagnosticsHotnessThreshold ( ) const

Return the minimum hotness value a diagnostic would need in order to be included in optimization diagnostics.

Three possible return values: 0 - threshold is disabled. Everything will be printed out. positive int - threshold is set. UINT64_MAX - threshold is not yet set, and needs to be synced from profile summary. Note that in case of missing profile summary, threshold will be kept at "MAX", effectively suppresses all remarks output.

Definition at line 153 of file LLVMContext.cpp.

References pImpl, and UINT64_MAX.

getDiagnosticsMisExpectTolerance()

uint32_t LLVMContext::getDiagnosticsMisExpectTolerance ( ) const

getGC()

getLLVMRemarkStreamer() [1/2]

The "LLVM remark streamer" used by LLVM to serialize remark diagnostics comming from IR and MIR passes.

If it does not exist, diagnostics are not saved in a file but only emitted via the diagnostic handler.

Definition at line 179 of file LLVMContext.cpp.

References pImpl.

Referenced by diagnose(), and getLLVMRemarkStreamer().

getLLVMRemarkStreamer() [2/2]

getMainRemarkStreamer() [1/2]

The "main remark streamer" used by all the specialized remark streamers.

This streamer keeps generic remark metadata in memory throughout the life of the LLVMContext. This metadata may be emitted in a section in object files depending on the format requirements.

All specialized remark streamers should convert remarks to llvm::remarks::Remark and emit them through this streamer.

Definition at line 168 of file LLVMContext.cpp.

References pImpl.

Referenced by getMainRemarkStreamer().

getMainRemarkStreamer() [2/2]

getMDKindID()

getMDKindNames()

getMisExpectWarningRequested()

bool LLVMContext::getMisExpectWarningRequested ( ) const

getOperandBundleTagID()

getOperandBundleTags()

getOptPassGate()

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

Definition at line 353 of file LLVMContext.cpp.

References pImpl.

getOrInsertBundleTag()

getOrInsertBundleTag - Returns the Tag to use for an operand bundle of name TagName.

Definition at line 302 of file LLVMContext.cpp.

References pImpl.

getOrInsertSyncScopeID()

getSyncScopeName()

getSyncScopeNames()

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 314 of file LLVMContext.cpp.

References pImpl.

incNextDILocationAtomGroup()

uint64_t LLVMContext::incNextDILocationAtomGroup ( )

Key Instructions: get the next free atom group number and increment the global tracker.

Definition at line 389 of file LLVMContext.cpp.

References pImpl.

isDiagnosticsHotnessThresholdSetFromPSI()

bool LLVMContext::isDiagnosticsHotnessThresholdSetFromPSI ( ) const

Return if hotness threshold is requested from PSI.

Definition at line 164 of file LLVMContext.cpp.

References pImpl.

isODRUniquingDebugTypes()

bool LLVMContext::isODRUniquingDebugTypes ( ) const

Whether there is a string map for uniquing debug info identifiers across the context.

Off by default.

Definition at line 338 of file LLVMContext.cpp.

References pImpl.

operator=()

setDefaultTargetCPU()

void LLVMContext::setDefaultTargetCPU ( StringRef CPU )

setDefaultTargetFeatures()

void LLVMContext::setDefaultTargetFeatures ( StringRef Features )

setDiagnosticHandler()

void LLVMContext::setDiagnosticHandler ( std::unique_ptr< DiagnosticHandler > && DH,
bool RespectFilters = false )

setDiagnosticHandlerCallBack()

setDiagnosticHandlerCallBack - This method sets a handler call back that is invoked when the backend needs to report anything to the user.

The first argument is a function pointer and the second is a context pointer that gets passed into the DiagHandler. The third argument should be set to true if the handler only expects enabled diagnostics.

LLVMContext doesn't take ownership or interpret either of these pointers.

Definition at line 123 of file LLVMContext.cpp.

References pImpl.

setDiagnosticsHotnessRequested()

void LLVMContext::setDiagnosticsHotnessRequested ( bool Requested )

Set if a code hotness metric should be included in optimization diagnostics.

Definition at line 137 of file LLVMContext.cpp.

References pImpl.

setDiagnosticsHotnessThreshold()

void LLVMContext::setDiagnosticsHotnessThreshold ( std::optional< uint64_t > Threshold )

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

Definition at line 144 of file LLVMContext.cpp.

References pImpl.

setDiagnosticsMisExpectTolerance()

void LLVMContext::setDiagnosticsMisExpectTolerance ( std::optional< uint32_t > Tolerance )

setDiscardValueNames()

void LLVMContext::setDiscardValueNames ( bool Discard )

setGC()

void LLVMContext::setGC ( const Function & Fn,
std::string GCName )

setLLVMRemarkStreamer()

void LLVMContext::setLLVMRemarkStreamer ( std::unique_ptr< LLVMRemarkStreamer > RemarkStreamer )

setMainRemarkStreamer()

setMisExpectWarningRequested()

void LLVMContext::setMisExpectWarningRequested ( bool Requested )

setOptPassGate()

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 357 of file LLVMContext.cpp.

References pImpl.

setYieldCallback()

void LLVMContext::setYieldCallback ( YieldCallbackTy Callback,
void * OpaqueHandle )

Registers a yield callback with the given context.

The yield callback function may be called by LLVM to transfer control back to the client that invoked the LLVM compilation. This can be used to yield control of the thread, or perform periodic work needed by the client. There is no guaranteed frequency at which callbacks must occur; in fact, the client is not guaranteed to ever receive this callback. It is at the sole discretion of LLVM to do so and only if it can guarantee that suspending the thread won't block any forward progress in other LLVM contexts in the same process.

At a suspend point, the state of the current LLVM context is intentionally undefined. No assumptions about it can or should be made. Only LLVM context API calls that explicitly state that they can be used during a yield callback are allowed to be used. Any other API calls into the context are not supported until the yield callback function returns control to LLVM. Other LLVM contexts are unaffected by this restriction.

Definition at line 199 of file LLVMContext.cpp.

References pImpl.

shouldDiscardValueNames()

bool LLVMContext::shouldDiscardValueNames ( ) const

Return true if the Context runtime configuration is set to discard all value names.

When true, only GlobalValue names will be available in the IR.

Definition at line 334 of file LLVMContext.cpp.

References pImpl.

updateDILocationAtomGroupWaterline()

void LLVMContext::updateDILocationAtomGroupWaterline ( uint64_t G )

Key Instructions: update the highest number atom group emitted for any function.

Definition at line 385 of file LLVMContext.cpp.

References pImpl.

yield()

void LLVMContext::yield ( )

Calls the yield callback (if applicable).

This transfers control of the current thread back to the client, which may suspend the current thread. Only call this method when LLVM doesn't hold any global mutex or cannot block the execution in another LLVM context.

Definition at line 205 of file LLVMContext.cpp.

References pImpl.

Module

pImpl

Definition at line 70 of file LLVMContext.h.

Referenced by llvm::Value::addMetadata(), llvm::Value::clearMetadata(), deleteGC(), diagnose(), disableDebugTypeODRUniquing(), enableDebugTypeODRUniquing(), llvm::Value::eraseMetadata(), llvm::Value::eraseMetadataIf(), generateMachineFunctionNum(), llvm::BlockAddress::get(), llvm::ConstantExpr::get(), llvm::ConstantPointerNull::get(), llvm::ConstantPtrAuth::get(), llvm::DSOLocalEquivalent::get(), llvm::NoCFIValue::get(), llvm::PoisonValue::get(), llvm::TypedPointerType::get(), llvm::UndefValue::get(), llvm::Instruction::getAAMetadata(), llvm::Value::getAllMetadata(), getDefaultTargetCPU(), getDefaultTargetFeatures(), getDiagHandlerPtr(), getDiagnosticContext(), getDiagnosticHandler(), getDiagnosticHandlerCallBack(), getDiagnosticsHotnessRequested(), getDiagnosticsHotnessThreshold(), getDiagnosticsMisExpectTolerance(), llvm::ConstantExpr::getExtractElement(), getGC(), llvm::ConstantExpr::getInsertElement(), getLLVMRemarkStreamer(), getMainRemarkStreamer(), getMDKindID(), getMDKindNames(), llvm::Value::getMetadata(), getMisExpectWarningRequested(), getOperandBundleTagID(), getOperandBundleTags(), getOptPassGate(), getOrInsertBundleTag(), getOrInsertSyncScopeID(), llvm::GlobalValue::getPartition(), llvm::GlobalValue::getSanitizerMetadata(), llvm::ConstantExpr::getShuffleVector(), getSyncScopeName(), getSyncScopeNames(), llvm::DIArgList::handleChangedOperand(), incNextDILocationAtomGroup(), isDiagnosticsHotnessThresholdSetFromPSI(), isODRUniquingDebugTypes(), LLVMContext(), llvm::BlockAddress::lookup(), llvm::CallBase::populateBundleOperandInfos(), llvm::GlobalValue::removeSanitizerMetadata(), setDefaultTargetCPU(), setDefaultTargetFeatures(), setDiagnosticHandler(), setDiagnosticHandlerCallBack(), setDiagnosticsHotnessRequested(), setDiagnosticsHotnessThreshold(), setDiagnosticsMisExpectTolerance(), setDiscardValueNames(), setGC(), setLLVMRemarkStreamer(), setMainRemarkStreamer(), llvm::Value::setMetadata(), setMisExpectWarningRequested(), setOptPassGate(), llvm::GlobalValue::setPartition(), llvm::GlobalValue::setSanitizerMetadata(), llvm::GlobalObject::setSection(), setYieldCallback(), shouldDiscardValueNames(), llvm::MDNode::storeDistinctInContext(), updateDILocationAtomGroupWaterline(), yield(), ~LLVMContext(), and llvm::MetadataAsValue::~MetadataAsValue().


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