[llvm-dev] ORC JIT Weekly #17

Lang Hames via llvm-dev llvm-dev at lists.llvm.org
Sun Jul 19 18:49:52 PDT 2020


Hi All,

I may have to set the removable code work aside for a week or two to deal
> with some other bug fixes and feature work...


That break ended up lasting longer than intended, but I'm hoping to return
to a more-or-less regular update schedule now.

Progress on ORC and JITLink mainline development has been slow, but there
are a couple of things worth mentioning:

(1) Initial JITLink support for ELF/x86-64 has landed and continues to be
developed on the mainline (thanks to Jared Wyles for that!). Only a few
relocations have been added so far, so only basic programs can be executed,
however at the current rate I expect us to pass RuntimeDyld's level of
support in the not-too-distant future.

(2) A new API, TargetProcessControl, has been introduced [1] with the aim
of unifying access to the process executing JIT'd code (often the same
process, but potentially a different process connected via IPC or RPC).
Writing to this API allows clients to remain agnostic to which process the
JIT'd code will execute in, minimizing the effort needed to implement new
cross-process JITing implementations. The initial commit includes utilities
for lazy compilation built on top of this API, and an initial
implementation of TargetProcessControl for in-process JITing. An example of
how to use these APIs can be found in
llvm/examples/OrcV2Examples/LLJITWithTargetProcessControl.

Near term ORC work will focus on expanding TargetProcessControl, improving
JITLink's ELF support, and continuing development of the removable code
feature.

Speaking of removable code: Unfortunately I was not able to get support for
that ready in time for LLVM 11. I am continuing to work on it though, and
I'll provide more updates on that work as the patch takes shape.

Regarding the upcoming release: LLVM 11 will continue to support OrcV1,
however it will be removed as soon as possible once the removable code
feature lands. If you're using OrcV1 (including OrcCBindings.h) I would
encourage you to switch over to OrcV2 as soon as possible. If you encounter
any difficulties doing so please let me know: We've got plenty of time to
get the APIs into good shape for LLVM 12.

Regards,
Lang.

[1]
https://github.com/llvm/llvm-project/commit/0e940d55f8a9388c42cc5998ea05212a983f05a7
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200719/2832a824/attachment.html>


More information about the llvm-dev mailing list