================
@@ -451,13 +451,44 @@ const char *const Runtimes = R"(
 )";
 
 llvm::Expected<std::unique_ptr<Interpreter>>
-Interpreter::create(std::unique_ptr<CompilerInstance> CI) {
+Interpreter::create(std::unique_ptr<CompilerInstance> CI,
+                    std::unique_ptr<CompilerInstance> DeviceCI) {
   llvm::Error Err = llvm::Error::success();
   auto Interp =
       std::unique_ptr<Interpreter>(new Interpreter(std::move(CI), Err));
   if (Err)
     return std::move(Err);
 
+  if (DeviceCI) {
+    // auto DeviceLLVMCtx = std::make_unique<llvm::LLVMContext>();
+    // auto DeviceTSCtx =
+    //     
std::make_unique<llvm::orc::ThreadSafeContext>(std::move(DeviceLLVMCtx));
+
+    // llvm::Error DeviceErr = llvm::Error::success();
+    // llvm::ErrorAsOutParameter EAO(&DeviceErr);
+
+    // auto DeviceAct = std::make_unique<IncrementalAction>(
+    //     *DeviceCI, *DeviceTSCtx->getContext(), DeviceErr, *Interp);
+
+    // if (DeviceErr)
+    //   return std::move(DeviceErr);
+
+    // DeviceCI->ExecuteAction(*DeviceAct);
+    DeviceCI->ExecuteAction(*Interp->Act);
----------------
vgvassilev wrote:

With this patch I get:
```
llvm-build $ ./bin/clang-repl --cuda
clang-repl: 
/home/vvassilev/workspace/sources/llvm-project/clang/lib/Frontend/FrontendAction.cpp:743:
 bool clang::FrontendAction::BeginSourceFile(clang::CompilerInstance&, const 
clang::FrontendInputFile&): Assertion `!Instance && "Already processing a 
source file!"' failed.
 #0 0x00007ffff46daba8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
/home/vvassilev/workspace/sources/llvm-project/llvm/lib/Support/Unix/Signals.inc:804:22
 #1 0x00007ffff46dafc9 PrintStackTraceSignalHandler(void*) 
/home/vvassilev/workspace/sources/llvm-project/llvm/lib/Support/Unix/Signals.inc:880:1
 #2 0x00007ffff46d83f7 llvm::sys::RunSignalHandlers() 
/home/vvassilev/workspace/sources/llvm-project/llvm/lib/Support/Signals.cpp:105:20
 #3 0x00007ffff46da417 SignalHandler(int, siginfo_t*, void*) 
/home/vvassilev/workspace/sources/llvm-project/llvm/lib/Support/Unix/Signals.inc:418:13
 #4 0x00007ffff3f73520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #5 0x00007ffff3fc79fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #6 0x00007ffff3fc79fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
 #7 0x00007ffff3fc79fc pthread_kill ./nptl/pthread_kill.c:89:10
 #8 0x00007ffff3f73476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #9 0x00007ffff3f597f3 abort ./stdlib/abort.c:81:7
#10 0x00007ffff3f5971b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#11 0x00007ffff3f6ae96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#12 0x00007ffff65f58c3 
clang::FrontendAction::BeginSourceFile(clang::CompilerInstance&, 
clang::FrontendInputFile const&) 
/home/vvassilev/workspace/sources/llvm-project/clang/lib/Frontend/FrontendAction.cpp:744:3
#13 0x00007ffff64e15c2 
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) 
/home/vvassilev/workspace/sources/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1055:5
#14 0x00007ffff7b50a59 
clang::Interpreter::create(std::unique_ptr<clang::CompilerInstance, 
std::default_delete<clang::CompilerInstance>>, 
std::unique_ptr<clang::CompilerInstance, 
std::default_delete<clang::CompilerInstance>>) 
/home/vvassilev/workspace/sources/llvm-project/clang/lib/Interpreter/Interpreter.cpp:466:56
#15 0x00007ffff7b50e40 
clang::Interpreter::createWithCUDA(std::unique_ptr<clang::CompilerInstance, 
std::default_delete<clang::CompilerInstance>>, 
std::unique_ptr<clang::CompilerInstance, 
std::default_delete<clang::CompilerInstance>>) 
/home/vvassilev/workspace/sources/llvm-project/clang/lib/Interpreter/Interpreter.cpp:501:59
#16 0x000055555555a8e0 main 
/home/vvassilev/workspace/sources/llvm-project/clang/tools/clang-repl/ClangRepl.cpp:208:23
#17 0x00007ffff3f5ad90 __libc_start_call_main 
./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#18 0x00007ffff3f5ae40 call_init ./csu/../csu/libc-start.c:128:20
#19 0x00007ffff3f5ae40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#20 0x0000555555559925 _start (./bin/clang-repl+0x5925)
Aborted (core dumped)
```

https://github.com/llvm/llvm-project/pull/136404
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to