LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::orc::PerfSupportPlugin Class Reference

Log perf jitdump events for each object (see https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/perf/Documentation/jitdump-specification.txt). More...

#include "llvm/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.h"

Inheritance diagram for llvm::orc::PerfSupportPlugin:
Inheritance graph
[legend]

Public Member Functions

 PerfSupportPlugin (ExecutorProcessControl &EPC, ExecutorAddr RegisterPerfStartAddr, ExecutorAddr RegisterPerfEndAddr, ExecutorAddr RegisterPerfImplAddr, bool EmitDebugInfo, bool EmitUnwindInfo)
 
 ~PerfSupportPlugin ()
 
void modifyPassConfig (MaterializationResponsibility &MR, jitlink::LinkGraph &G, jitlink::PassConfiguration &Config) override
 
Error notifyFailed (MaterializationResponsibility &MR) override
 
Error notifyRemovingResources (JITDylib &JD, ResourceKey K) override
 
void notifyTransferringResources (JITDylib &JD, ResourceKey DstKey, ResourceKey SrcKey) override
 
- Public Member Functions inherited from llvm::orc::LinkGraphLinkingLayer::Plugin
virtual ~Plugin ()
 
virtual void modifyPassConfig (MaterializationResponsibility &MR, jitlink::LinkGraph &G, jitlink::PassConfiguration &Config)
 
virtual void notifyMaterializing (MaterializationResponsibility &MR, jitlink::LinkGraph &G, jitlink::JITLinkContext &Ctx, MemoryBufferRef InputObject)
 
virtual void notifyLoaded (MaterializationResponsibility &MR)
 
virtual Error notifyEmitted (MaterializationResponsibility &MR)
 
virtual Error notifyFailed (MaterializationResponsibility &MR)=0
 
virtual Error notifyRemovingResources (JITDylib &JD, ResourceKey K)=0
 
virtual void notifyTransferringResources (JITDylib &JD, ResourceKey DstKey, ResourceKey SrcKey)=0
 

Static Public Member Functions

static Expected< std::unique_ptr< PerfSupportPlugin > > Create (ExecutorProcessControl &EPC, JITDylib &JD, bool EmitDebugInfo, bool EmitUnwindInfo)
 

Detailed Description

Log perf jitdump events for each object (see https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/perf/Documentation/jitdump-specification.txt).

Currently has support for dumping code load records and unwind info records.

Definition at line 27 of file PerfSupportPlugin.h.

Constructor & Destructor Documentation

◆ PerfSupportPlugin()

PerfSupportPlugin::PerfSupportPlugin ( ExecutorProcessControl EPC,
ExecutorAddr  RegisterPerfStartAddr,
ExecutorAddr  RegisterPerfEndAddr,
ExecutorAddr  RegisterPerfImplAddr,
bool  EmitDebugInfo,
bool  EmitUnwindInfo 
)

◆ ~PerfSupportPlugin()

PerfSupportPlugin::~PerfSupportPlugin ( )

Member Function Documentation

◆ Create()

Expected< std::unique_ptr< PerfSupportPlugin > > PerfSupportPlugin::Create ( ExecutorProcessControl EPC,
JITDylib JD,
bool  EmitDebugInfo,
bool  EmitUnwindInfo 
)
static

◆ modifyPassConfig()

void PerfSupportPlugin::modifyPassConfig ( MaterializationResponsibility MR,
jitlink::LinkGraph G,
jitlink::PassConfiguration Config 
)
overridevirtual

◆ notifyFailed()

Error llvm::orc::PerfSupportPlugin::notifyFailed ( MaterializationResponsibility MR)
inlineoverridevirtual

Implements llvm::orc::LinkGraphLinkingLayer::Plugin.

Definition at line 40 of file PerfSupportPlugin.h.

References llvm::Error::success().

◆ notifyRemovingResources()

Error llvm::orc::PerfSupportPlugin::notifyRemovingResources ( JITDylib JD,
ResourceKey  K 
)
inlineoverridevirtual

Implements llvm::orc::LinkGraphLinkingLayer::Plugin.

Definition at line 44 of file PerfSupportPlugin.h.

References llvm::Error::success().

◆ notifyTransferringResources()

void llvm::orc::PerfSupportPlugin::notifyTransferringResources ( JITDylib JD,
ResourceKey  DstKey,
ResourceKey  SrcKey 
)
inlineoverridevirtual

Implements llvm::orc::LinkGraphLinkingLayer::Plugin.

Definition at line 48 of file PerfSupportPlugin.h.


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