mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-13 14:47:00 +00:00
[ORC] Simplify LLJIT::Create by removing the ExecutionSession parameter.
The Create method can just construct the ExecutionSession, rather than having the client pass it in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341872 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7bdea3ad5f
commit
39736e86da
@ -31,8 +31,7 @@ class LLJIT {
|
||||
public:
|
||||
/// Create an LLJIT instance.
|
||||
static Expected<std::unique_ptr<LLJIT>>
|
||||
Create(std::unique_ptr<ExecutionSession> ES,
|
||||
std::unique_ptr<TargetMachine> TM, DataLayout DL);
|
||||
Create(std::unique_ptr<TargetMachine> TM, DataLayout DL);
|
||||
|
||||
/// Returns a reference to the ExecutionSession for this JIT instance.
|
||||
ExecutionSession &getExecutionSession() { return *ES; }
|
||||
@ -117,8 +116,7 @@ class LLLazyJIT : public LLJIT {
|
||||
public:
|
||||
/// Create an LLLazyJIT instance.
|
||||
static Expected<std::unique_ptr<LLLazyJIT>>
|
||||
Create(std::unique_ptr<ExecutionSession> ES,
|
||||
std::unique_ptr<TargetMachine> TM, DataLayout DL, LLVMContext &Ctx);
|
||||
Create(std::unique_ptr<TargetMachine> TM, DataLayout DL, LLVMContext &Ctx);
|
||||
|
||||
/// Set an IR transform (e.g. pass manager pipeline) to run on each function
|
||||
/// when it is compiled.
|
||||
|
@ -16,10 +16,9 @@ namespace llvm {
|
||||
namespace orc {
|
||||
|
||||
Expected<std::unique_ptr<LLJIT>>
|
||||
LLJIT::Create(std::unique_ptr<ExecutionSession> ES,
|
||||
std::unique_ptr<TargetMachine> TM, DataLayout DL) {
|
||||
return std::unique_ptr<LLJIT>(
|
||||
new LLJIT(std::move(ES), std::move(TM), std::move(DL)));
|
||||
LLJIT::Create(std::unique_ptr<TargetMachine> TM, DataLayout DL) {
|
||||
return std::unique_ptr<LLJIT>(new LLJIT(llvm::make_unique<ExecutionSession>(),
|
||||
std::move(TM), std::move(DL)));
|
||||
}
|
||||
|
||||
Error LLJIT::defineAbsolute(StringRef Name, JITEvaluatedSymbol Sym) {
|
||||
@ -91,9 +90,10 @@ void LLJIT::recordCtorDtors(Module &M) {
|
||||
}
|
||||
|
||||
Expected<std::unique_ptr<LLLazyJIT>>
|
||||
LLLazyJIT::Create(std::unique_ptr<ExecutionSession> ES,
|
||||
std::unique_ptr<TargetMachine> TM, DataLayout DL,
|
||||
LLLazyJIT::Create(std::unique_ptr<TargetMachine> TM, DataLayout DL,
|
||||
LLVMContext &Ctx) {
|
||||
auto ES = llvm::make_unique<ExecutionSession>();
|
||||
|
||||
const Triple &TT = TM->getTargetTriple();
|
||||
|
||||
auto CCMgr = createLocalCompileCallbackManager(TT, *ES, 0);
|
||||
|
@ -758,9 +758,7 @@ int runOrcLazyJIT(const char *ProgName) {
|
||||
: None);
|
||||
auto TM = ExitOnErr(TMD.createTargetMachine());
|
||||
auto DL = TM->createDataLayout();
|
||||
auto ES = llvm::make_unique<orc::ExecutionSession>();
|
||||
auto J =
|
||||
ExitOnErr(orc::LLLazyJIT::Create(std::move(ES), std::move(TM), DL, Ctx));
|
||||
auto J = ExitOnErr(orc::LLLazyJIT::Create(std::move(TM), DL, Ctx));
|
||||
|
||||
auto Dump = createDebugDumper();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user