LLVM 20.0.0git
Public Types | Public Member Functions | Protected Member Functions | List of all members
llvm::orc::JITCompileCallbackManager Class Reference

Target-independent base class for compile callback management. More...

#include "llvm/ExecutionEngine/Orc/IndirectionUtils.h"

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

Public Types

using CompileFunction = std::function< ExecutorAddr()>
 

Public Member Functions

virtual ~JITCompileCallbackManager ()=default
 
Expected< ExecutorAddrgetCompileCallback (CompileFunction Compile)
 Reserve a compile callback.
 
ExecutorAddr executeCompileCallback (ExecutorAddr TrampolineAddr)
 Execute the callback for the given trampoline id.
 

Protected Member Functions

 JITCompileCallbackManager (std::unique_ptr< TrampolinePool > TP, ExecutionSession &ES, ExecutorAddr ErrorHandlerAddress)
 Construct a JITCompileCallbackManager.
 
void setTrampolinePool (std::unique_ptr< TrampolinePool > TP)
 

Detailed Description

Target-independent base class for compile callback management.

Definition at line 204 of file IndirectionUtils.h.

Member Typedef Documentation

◆ CompileFunction

Definition at line 206 of file IndirectionUtils.h.

Constructor & Destructor Documentation

◆ ~JITCompileCallbackManager()

virtual llvm::orc::JITCompileCallbackManager::~JITCompileCallbackManager ( )
virtualdefault

◆ JITCompileCallbackManager()

llvm::orc::JITCompileCallbackManager::JITCompileCallbackManager ( std::unique_ptr< TrampolinePool TP,
ExecutionSession ES,
ExecutorAddr  ErrorHandlerAddress 
)
inlineprotected

Construct a JITCompileCallbackManager.

Definition at line 219 of file IndirectionUtils.h.

Member Function Documentation

◆ executeCompileCallback()

ExecutorAddr llvm::orc::JITCompileCallbackManager::executeCompileCallback ( ExecutorAddr  TrampolineAddr)

Execute the callback for the given trampoline id.

Called by the JIT to compile functions on demand.

Definition at line 80 of file IndirectionUtils.cpp.

References llvm::dbgs(), llvm::formatv(), I, llvm::inconvertibleErrorCode(), llvm::orc::ExecutionSession::lookup(), llvm::orc::makeJITDylibSearchOrder(), llvm::orc::MatchAllSymbols, Name, llvm::orc::ExecutionSession::reportError(), and Sym.

◆ getCompileCallback()

Expected< ExecutorAddr > llvm::orc::JITCompileCallbackManager::getCompileCallback ( CompileFunction  Compile)

Reserve a compile callback.

Definition at line 64 of file IndirectionUtils.cpp.

References llvm::cantFail(), llvm::orc::JITDylib::define(), and llvm::orc::ExecutionSession::intern().

◆ setTrampolinePool()

void llvm::orc::JITCompileCallbackManager::setTrampolinePool ( std::unique_ptr< TrampolinePool TP)
inlineprotected

Definition at line 226 of file IndirectionUtils.h.


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