When lli is run with -jit-kind=mcjit and without remote JITing there is no need
to create an ExecutorProcessControl object.
This is nice cleanup, but as a bonus should silence the leak reports that we're
seeing in https://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan/9105/.
(Though as a side note I believe those reports are spurious. They are being
tracked by rdar://
104825696).
#endif
}
- std::unique_ptr<orc::ExecutorProcessControl> EPC =
- RemoteMCJIT ? ExitOnErr(launchRemote())
- : ExitOnErr(orc::SelfExecutorProcessControl::Create());
-
if (!RemoteMCJIT) {
// If the program doesn't explicitly call exit, we will need the Exit
// function later on to make an explicit call, so get the function now.
abort();
} else {
// else == "if (RemoteMCJIT)"
+ std::unique_ptr<orc::ExecutorProcessControl> EPC = ExitOnErr(launchRemote());
// Remote target MCJIT doesn't (yet) support static constructors. No reason
// it couldn't. This is a limitation of the LLI implementation, not the