LLVM
15.0.0git
|
Creates and manages DebugObjects for JITLink artifacts. More...
#include "llvm/ExecutionEngine/Orc/DebugObjectManagerPlugin.h"
Additional Inherited Members | |
![]() | |
using | JITLinkSymbolSet = DenseSet< jitlink::Symbol * > |
using | SyntheticSymbolDependenciesMap = DenseMap< SymbolStringPtr, JITLinkSymbolSet > |
Creates and manages DebugObjects for JITLink artifacts.
DebugObjects are created when linking for a MaterializationResponsibility starts. They are pending as long as materialization is in progress.
There can only be one pending DebugObject per MaterializationResponsibility. If materialization fails, pending DebugObjects are discarded.
Once executable code for the MaterializationResponsibility is emitted, the corresponding DebugObject is finalized to target memory and the provided DebugObjectRegistrar is notified. Ownership of DebugObjects remains with the plugin.
Definition at line 48 of file DebugObjectManagerPlugin.h.
llvm::orc::DebugObjectManagerPlugin::DebugObjectManagerPlugin | ( | ExecutionSession & | ES, |
std::unique_ptr< DebugObjectRegistrar > | Target | ||
) |
Definition at line 400 of file DebugObjectManagerPlugin.cpp.
|
default |
|
overridevirtual |
Reimplemented from llvm::orc::ObjectLinkingLayer::Plugin.
Definition at line 423 of file DebugObjectManagerPlugin.cpp.
References llvm::orc::DebugObject::has(), llvm::Lock, llvm::jitlink::PassConfiguration::PostAllocationPasses, llvm::orc::ReportFinalSectionLoadAddresses, llvm::orc::DebugObject::reportSectionTargetMemoryRange(), llvm::jitlink::LinkGraph::sections(), and llvm::Error::success().
|
overridevirtual |
Reimplemented from llvm::orc::ObjectLinkingLayer::Plugin.
Definition at line 444 of file DebugObjectManagerPlugin.cpp.
References llvm::Lock, llvm::Error::success(), and llvm::Expected< T >::takeError().
|
overridevirtual |
Implements llvm::orc::ObjectLinkingLayer::Plugin.
Definition at line 483 of file DebugObjectManagerPlugin.cpp.
References llvm::Lock, and llvm::Error::success().
|
overridevirtual |
Reimplemented from llvm::orc::ObjectLinkingLayer::Plugin.
Definition at line 406 of file DebugObjectManagerPlugin.cpp.
References assert(), llvm::orc::createDebugObjectFromBuffer(), G, llvm::Lock, and move.
|
overridevirtual |
Implements llvm::orc::ObjectLinkingLayer::Plugin.
Definition at line 505 of file DebugObjectManagerPlugin.cpp.
References llvm::Lock, and llvm::Error::success().
|
overridevirtual |
Implements llvm::orc::ObjectLinkingLayer::Plugin.
Definition at line 490 of file DebugObjectManagerPlugin.cpp.
References llvm::Lock, and move.