[clang] [compiler-rt] [llvm] [clang-repl] [ORC] Add support for out-of-process execution on ELF (PR #79936)
weliveindetail wrote: Thanks for your follow-up. Yes, I agree it's best to leave it here as a draft. We can reference it from future PRs to provide context, if we decide to implement one part or the other in isolation. Thanks! https://github.com/llvm/llvm-project/pull/79936 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [compiler-rt] [llvm] [clang-repl] [ORC] Add support for out-of-process execution on ELF (PR #79936)
jameshu15869 wrote: Hi @weliveindetail, thank you for the comments sorry about the extremely delayed response - school has been busy and I just started a new job recently, so I haven't had much time to focus on other things. I was originally thinking that a lot of the ORC runtime changes might not make sense on their own, but now I agree that it makes sense to review them in isolation and agree on lifting RPC utilities. I also agree with your points creating the connection earlier. For the design decisions, I was mostly following the model for `Interpreter::createWithCUDA`, and I don't think that we had a specific design discussion about the best approach to take. Currently, I think we're passing the `ExecutorProcessControl` object from `ClangRepl` to `Interpreter` first, where it then gets used in `IncrementalExecutor` when the executor is actually created (Since creation is delayed until the first call to `Execute()`). Were you referring to something a little different? Unfortunately, I've had a lot more on my plate this semester and might not have the free time to continue working on this. Should I leave the PR as a draft? Or would it make more sense to close it completely and leave it as a reference for potential GSOC students? https://github.com/llvm/llvm-project/pull/79936 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [compiler-rt] [llvm] [clang-repl] [ORC] Add support for out-of-process execution on ELF (PR #79936)
weliveindetail wrote: Thanks for sharing your patch @jameshu15869! For the moment it seems like a mix of many moving pieces. I think it would be good to review them isolation, at least ORC runtime support and ELFNix platform changes. All the RPC utilities could go into a separate cpp right? We may even think about lifting them to llvm::support at some point, because we already have copies of it [here](https://github.com/llvm/llvm-project/blob/release/18.x/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp) and [here](https://github.com/llvm/llvm-project/blob/release/18.x/llvm/tools/llvm-jitlink/llvm-jitlink.cpp#L723). I didn't review in detail, but I think we need to initiate the connection to the executor much earlier. In particular, we must setup the [frontend compiler instance](https://github.com/llvm/llvm-project/blob/release/18.x/clang/tools/clang-repl/ClangRepl.cpp#L185) with the target triple we get from the executor here: https://github.com/llvm/llvm-project/blob/release/18.x/llvm/include/llvm/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.h#L46 Apart from that, how scalable is the `Interpreter::createWithXY()` approach? I haven't been involved in the design discussions, but it seems much more convenient to use the `LLJITBuilder` interface for that. Why not pass it as an argument to the `IncrementalExecutor` ctor instead of `clang::TargetInfo`? https://github.com/llvm/llvm-project/pull/79936 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [compiler-rt] [llvm] [clang-repl] [ORC] Add support for out-of-process execution on ELF (PR #79936)
https://github.com/vgvassilev edited https://github.com/llvm/llvm-project/pull/79936 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits