<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi All,<div><br></div><div>Everything is landing all at once, just not in the mainline... yet.</div><div><br></div><div>As discussed in <a href="http://lists.llvm.org/pipermail/llvm-dev/2020-September/144885.html">http://lists.llvm.org/pipermail/llvm-dev/2020-September/144885.html</a>: OrcV1 will be removed very soon. I have posted a branch with the removal, "orcv1-removal", in my llvm fork at <a href="https://github.com/lhames/llvm-project">https://github.com/lhames/llvm-project</a>.</div><div><br></div><div>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 <i>ResourceTracker</i> class in <a href="https://github.com/lhames/llvm-project/commit/de6f6d57d3e955b998f82ab6e610da41fcb09492">https://github.com/lhames/llvm-project/commit/de6f6d57d3e955b998f82ab6e610da41fcb09492</a>.</div><div><br></div><div>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 <a href="https://github.com/lhames/llvm-project">https://github.com/lhames/llvm-project</a>. 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.</div><div><br></div><div><font face="monospace">% llvm-jitlink -oop-executor hello-world.o</font></div><div><font face="monospace">hello world!</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">target-machine% llvm-jitlink-executor listen=localhost:20000</font></div><div><font face="monospace">jit-machine% llvm-jitlink -oop-executor-connect localhost:2000 hello-world.o</font></div><div><font face="monospace">hello world!</font></div><div><br></div><div>How all this works is left as an exercise for the reader this week. I can start providing explanations in my next update.</div><div><br></div><div>-- Lang.</div></div></div></div></div></div></div></div></div></div></div>