[llvm-dev] ORC JIT Weekly #37 -- JITLink RISCV, Swift/Obj-C support, ExecutionSession requires ExecutorProcessControl

Lang Hames via llvm-dev llvm-dev at lists.llvm.org
Mon Jul 26 02:38:26 PDT 2021


Hi All,

MachOPlatform TLV support (introduced last week, see [1]) has gone through
a few rounds of reversion and re-application while I worked out the kinks,
however it looks like it has stabilized in time for the LLVM 13 branch. We
still need some work to support non-trivial destructors for thread locals
(this will not happen until LLVM 14 or later), but thread-local PODs should
now work.

This week's highlights:

1. The new JITLink ELF/RISCV backend has landed in [2]. Thanks very much to
Stephen Fan for that!

2. MachOPlatform support for simple Swift and Objective-C programs has
landed in [3]. JIT stacks that set up a MachOPlatform instance will now be
able to load and run simple Swift and Objective-C programs.

3. ExecutionSession will soon be required to supply an associated
ExecutorProcessControl instance (see [4]). This is another step towards
making the APIs uniform regardless of whether JIT'd code is running
in-process or out-of-process.

During an initial transition period we will allow use of a placeholder EPC
value (the UnsupportedExecutorProcessControl can be used for this), but new
utilities are allowed to assume a valid EPC attached to the
ExecutionSession, and may fail if one is not present.

If you're JITing in process you should just be able to use a
SelfExecutorProcessControl instance. Please file bugs if you need
extensions to that class's API for your use case.

-- Lang.

[1] https://lists.llvm.org/pipermail/llvm-dev/2021-July/151841.html
[2]
https://github.com/llvm/llvm-project/commit/0ad562b48bfd7a487eb38ceaa309cdd9a1ad87e7
<https://github.com/llvm/llvm-project/commit/0ad562b48bfd7a487eb38ceaa309cdd9a1ad87e7#diff-27be16698a63aa91d1157a22623bc0b5438d43c10c7e89ebcbe0fa49307b796b>
[3]
https://github.com/llvm/llvm-project/commit/cdcc35476833eca4f4996256e3ca0b21ecc26ad8
[4] https://reviews.llvm.org/D104694
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210726/93d8df48/attachment.html>


More information about the llvm-dev mailing list