<div dir="ltr">Hi All,<br><div><br></div><div>No updates this week,</div><div><br></div><div>-- Lang.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 26, 2021 at 7:38 PM Lang Hames <<a href="mailto:lhames@gmail.com">lhames@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi All,<div><br></div><div>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.</div><div><br></div><div>This week's highlights:</div><div><br></div><div>1. The new JITLink ELF/RISCV backend has landed in [2]. Thanks very much to Stephen Fan for that!</div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>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. </div><div><br></div><div>-- Lang.</div><div><br></div><div>[1] <a href="https://lists.llvm.org/pipermail/llvm-dev/2021-July/151841.html" target="_blank">https://lists.llvm.org/pipermail/llvm-dev/2021-July/151841.html</a></div><div>[2] <a href="https://github.com/llvm/llvm-project/commit/0ad562b48bfd7a487eb38ceaa309cdd9a1ad87e7#diff-27be16698a63aa91d1157a22623bc0b5438d43c10c7e89ebcbe0fa49307b796b" target="_blank">https://github.com/llvm/llvm-project/commit/0ad562b48bfd7a487eb38ceaa309cdd9a1ad87e7</a></div><div>[3] <a href="https://github.com/llvm/llvm-project/commit/cdcc35476833eca4f4996256e3ca0b21ecc26ad8" target="_blank">https://github.com/llvm/llvm-project/commit/cdcc35476833eca4f4996256e3ca0b21ecc26ad8</a></div><div>[4] <a href="https://reviews.llvm.org/D104694" target="_blank">https://reviews.llvm.org/D104694</a> </div></div>
</blockquote></div>