LLVM 20.0.0git
|
Base class for managing redirectable symbols in which a call gets redirected to another symbol in runtime. More...
#include "llvm/ExecutionEngine/Orc/RedirectionManager.h"
Public Member Functions | |
Error | createRedirectableSymbols (ResourceTrackerSP RT, SymbolMap InitialDests) |
Create redirectable symbols with given symbol names and initial desitnation symbol addresses. | |
Error | createRedirectableSymbol (ResourceTrackerSP RT, SymbolStringPtr Symbol, ExecutorSymbolDef InitialDest) |
Create a single redirectable symbol with given symbol name and initial desitnation symbol address. | |
virtual void | emitRedirectableSymbols (std::unique_ptr< MaterializationResponsibility > MR, SymbolMap InitialDests)=0 |
Emit redirectable symbol. | |
Public Member Functions inherited from llvm::orc::RedirectionManager | |
virtual | ~RedirectionManager ()=default |
virtual Error | redirect (JITDylib &JD, const SymbolMap &NewDests)=0 |
Change the redirection destination of given symbols to new destination symbols. | |
Error | redirect (JITDylib &JD, SymbolStringPtr Symbol, ExecutorSymbolDef NewDest) |
Change the redirection destination of given symbol to new destination symbol. | |
Base class for managing redirectable symbols in which a call gets redirected to another symbol in runtime.
Definition at line 44 of file RedirectionManager.h.
|
inline |
Create a single redirectable symbol with given symbol name and initial desitnation symbol address.
Definition at line 52 of file RedirectionManager.h.
References createRedirectableSymbols().
Error RedirectableSymbolManager::createRedirectableSymbols | ( | ResourceTrackerSP | RT, |
SymbolMap | InitialDests | ||
) |
Create redirectable symbols with given symbol names and initial desitnation symbol addresses.
Definition at line 18 of file RedirectionManager.cpp.
References llvm::orc::JITDylib::define(), and llvm::orc::ResourceTracker::getJITDylib().
Referenced by createRedirectableSymbol().
|
pure virtual |
Emit redirectable symbol.
Implemented in llvm::orc::IndirectStubsManager, and llvm::orc::JITLinkRedirectableSymbolManager.
Referenced by llvm::orc::ReOptimizeLayer::emit(), and llvm::orc::RedirectableMaterializationUnit::materialize().