aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Interpreter/Interpreter.cpp
diff options
context:
space:
mode:
authorSahilPatidar <patidarsahil2001@gmail.com>2024-11-12 16:51:25 +0530
committerGitHub <noreply@github.com>2024-11-12 16:51:25 +0530
commitebb3508899c3e1773884cf5bc1b1df6f32450ca9 (patch)
tree7a02cc69de03523f65afb07e6f6997087ea10a69 /clang/lib/Interpreter/Interpreter.cpp
parent512208b498d27e885cd9164bed516eeb910a4933 (diff)
downloadllvm-ebb3508899c3e1773884cf5bc1b1df6f32450ca9.zip
llvm-ebb3508899c3e1773884cf5bc1b1df6f32450ca9.tar.gz
llvm-ebb3508899c3e1773884cf5bc1b1df6f32450ca9.tar.bz2
Revert "[Clang-Repl] Add support for out-of-process execution." (#115854)
Reverts llvm/llvm-project#110418 Buildbot encountered a failure.
Diffstat (limited to 'clang/lib/Interpreter/Interpreter.cpp')
-rw-r--r--clang/lib/Interpreter/Interpreter.cpp37
1 files changed, 8 insertions, 29 deletions
diff --git a/clang/lib/Interpreter/Interpreter.cpp b/clang/lib/Interpreter/Interpreter.cpp
index 8eacbc6..bc96da8 100644
--- a/clang/lib/Interpreter/Interpreter.cpp
+++ b/clang/lib/Interpreter/Interpreter.cpp
@@ -44,7 +44,6 @@
#include "clang/Sema/Lookup.h"
#include "clang/Serialization/ObjectFilePCHContainerReader.h"
#include "llvm/ExecutionEngine/JITSymbol.h"
-#include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h"
#include "llvm/ExecutionEngine/Orc/LLJIT.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Errc.h"
@@ -457,11 +456,10 @@ const char *const Runtimes = R"(
)";
llvm::Expected<std::unique_ptr<Interpreter>>
-Interpreter::create(std::unique_ptr<CompilerInstance> CI,
- std::unique_ptr<llvm::orc::LLJITBuilder> JB) {
+Interpreter::create(std::unique_ptr<CompilerInstance> CI) {
llvm::Error Err = llvm::Error::success();
- auto Interp = std::unique_ptr<Interpreter>(
- new Interpreter(std::move(CI), Err, JB ? std::move(JB) : nullptr));
+ auto Interp =
+ std::unique_ptr<Interpreter>(new Interpreter(std::move(CI), Err));
if (Err)
return std::move(Err);
@@ -580,25 +578,6 @@ createJITTargetMachineBuilder(const std::string &TT) {
return llvm::orc::JITTargetMachineBuilder(llvm::Triple(TT));
}
-llvm::Expected<std::unique_ptr<llvm::orc::LLJITBuilder>>
-Interpreter::createLLJITBuilder(
- std::unique_ptr<llvm::orc::ExecutorProcessControl> EPC,
- llvm::StringRef OrcRuntimePath) {
- const std::string &TT = EPC->getTargetTriple().getTriple();
- auto JTMB = createJITTargetMachineBuilder(TT);
- if (!JTMB)
- return JTMB.takeError();
- auto JB = IncrementalExecutor::createDefaultJITBuilder(std::move(*JTMB));
- if (!JB)
- return JB.takeError();
-
- (*JB)->setExecutorProcessControl(std::move(EPC));
- (*JB)->setPlatformSetUp(
- llvm::orc::ExecutorNativePlatform(OrcRuntimePath.str()));
-
- return std::move(*JB);
-}
-
llvm::Error Interpreter::CreateExecutor() {
if (IncrExecutor)
return llvm::make_error<llvm::StringError>("Operation failed. "
@@ -723,11 +702,11 @@ llvm::Error Interpreter::LoadDynamicLibrary(const char *name) {
if (!EE)
return EE.takeError();
- if (auto DLSG = llvm::orc::EPCDynamicLibrarySearchGenerator::Load(
- EE->getExecutionSession(), name))
- // FIXME: Eventually we should put each library in its own JITDylib and
- // turn off process symbols by default.
- EE->getProcessSymbolsJITDylib()->addGenerator(std::move(*DLSG));
+ auto &DL = EE->getDataLayout();
+
+ if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load(
+ name, DL.getGlobalPrefix()))
+ EE->getMainJITDylib().addGenerator(std::move(*DLSG));
else
return DLSG.takeError();