LLVM 22.0.0git
|
Base class for a JIT linker. More...
#include "ExecutionEngine/JITLink/JITLinkGeneric.h"
Public Member Functions | |
JITLinkerBase (std::unique_ptr< JITLinkContext > Ctx, std::unique_ptr< LinkGraph > G, PassConfiguration Passes) | |
virtual | ~JITLinkerBase () |
Protected Types | |
using | InFlightAlloc = JITLinkMemoryManager::InFlightAlloc |
using | AllocResult = Expected<std::unique_ptr<InFlightAlloc>> |
using | FinalizeResult = Expected<JITLinkMemoryManager::FinalizedAlloc> |
Protected Member Functions | |
LinkGraph & | getGraph () |
bool | shouldAddDefaultTargetPasses (const Triple &TT) |
PassConfiguration & | getPassConfig () |
void | linkPhase1 (std::unique_ptr< JITLinkerBase > Self) |
void | linkPhase2 (std::unique_ptr< JITLinkerBase > Self, AllocResult AR) |
void | linkPhase3 (std::unique_ptr< JITLinkerBase > Self, Expected< AsyncLookupResult > LookupResult) |
void | linkPhase4 (std::unique_ptr< JITLinkerBase > Self, FinalizeResult FR) |
Base class for a JIT linker.
A JITLinkerBase instance links one object file into an ongoing JIT session. Symbol resolution and finalization operations are pluggable, and called using continuation passing (passing a continuation for the remaining linker work) to allow them to be performed asynchronously.
Definition at line 29 of file JITLinkGeneric.h.
|
protected |
Definition at line 42 of file JITLinkGeneric.h.
|
protected |
Definition at line 43 of file JITLinkGeneric.h.
Definition at line 41 of file JITLinkGeneric.h.
|
inline |
Definition at line 31 of file JITLinkGeneric.h.
References assert(), and llvm::move().
|
virtualdefault |
|
inlineprotected |
Definition at line 46 of file JITLinkGeneric.h.
Referenced by llvm::jitlink::ELFJITLinker_x86_64::ELFJITLinker_x86_64(), and llvm::jitlink::XCOFFJITLinker_ppc64::XCOFFJITLinker_ppc64().
|
inlineprotected |
Definition at line 59 of file JITLinkGeneric.h.
Referenced by llvm::jitlink::ELFJITLinker_ppc64< Endianness >::ELFJITLinker_ppc64(), llvm::jitlink::ELFJITLinker_riscv::ELFJITLinker_riscv(), llvm::jitlink::ELFJITLinker_x86::ELFJITLinker_x86(), and llvm::jitlink::ELFJITLinker_x86_64::ELFJITLinker_x86_64().
|
protected |
Definition at line 22 of file JITLinkGeneric.cpp.
References llvm::all_of(), llvm::dbgs(), linkPhase2(), LLVM_DEBUG, and llvm::jitlink::prune().
|
protected |
Definition at line 67 of file JITLinkGeneric.cpp.
References llvm::jitlink::createLookupContinuation(), llvm::dbgs(), LLVM_DEBUG, and llvm::Expected< T >::takeError().
Referenced by linkPhase1().
|
protected |
Definition at line 131 of file JITLinkGeneric.cpp.
References llvm::dbgs(), linkPhase4(), LLVM_DEBUG, and llvm::Expected< T >::takeError().
|
protected |
Definition at line 186 of file JITLinkGeneric.cpp.
References llvm::dbgs(), LLVM_DEBUG, and llvm::Expected< T >::takeError().
Referenced by linkPhase3().
|
inlineprotected |
Definition at line 51 of file JITLinkGeneric.h.
Referenced by llvm::jitlink::ELFJITLinker_x86_64::ELFJITLinker_x86_64().