[clang] [compiler-rt] [llvm] [clang-repl] [ORC] Add support for out-of-process execution on ELF (PR #79936)

2024-02-20 Thread Stefan Gränitz via cfe-commits

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)

2024-02-19 Thread via cfe-commits

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)

2024-02-07 Thread Stefan Gränitz via cfe-commits

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)

2024-01-31 Thread Vassil Vassilev via cfe-commits

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