[llvm-dev] ORC JIT Weekly #21 -- OrcV1 removal, Removable code, and Remote TargetProcessControl

Lang Hames via llvm-dev llvm-dev at lists.llvm.org
Sun Sep 13 23:01:34 PDT 2020


Hi All,

Everything is landing all at once, just not in the mainline... yet.

As discussed in
http://lists.llvm.org/pipermail/llvm-dev/2020-September/144885.html: OrcV1
will be removed very soon. I have posted a branch with the removal,
"orcv1-removal", in my llvm fork at https://github.com/lhames/llvm-project.

In addition to removing OrcV1, the orcv1-removal branch also contains a
prototype of the removable code feature. I'm going to discuss this at
greater length over the next couple of weeks, but if anyone's interested in
playing with the prototype I'd recommend starting with the
*ResourceTracker* class
in
https://github.com/lhames/llvm-project/commit/de6f6d57d3e955b998f82ab6e610da41fcb09492
.

Finally, adding removable code unblocked another prototype I've been
working on: an OrcRPC based TargetProcessControl implementation. I've added
that to the "orcv1-removal-with-remote-tpc" branch at
https://github.com/lhames/llvm-project. The easiest way to start playing
with this feature is via the new llvm-jitlink options: -oop-executor, and
-oop-executor-connect. The -oop-executor option will fork and exec the
llvm-jitlink-executor program and connect to it via open file descriptors
(similar to how lli-child-target works). The -oop-executor-connect option
will connect to a listening llvm-jitlink-executor process via TCP, but
otherwise behaves the same. E.g.

% llvm-jitlink -oop-executor hello-world.o
hello world!

target-machine% llvm-jitlink-executor listen=localhost:20000
jit-machine% llvm-jitlink -oop-executor-connect localhost:2000 hello-world.o
hello world!

How all this works is left as an exercise for the reader this week. I can
start providing explanations in my next update.

-- Lang.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200913/1610965c/attachment.html>


More information about the llvm-dev mailing list