<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><blockquote type="cite" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class="">Alex, how would you feel about me supplying a weekly JIT update as a subsection for LLVM Weekly, rather than starting a separate thread? (And thank you very much for posting links to the archives for the last two ORC JIT Weekly threads).</div></div></div></div></div></blockquote><br class=""></div><div class="">Hi Lang,</div><div class="">I guess you forgot to CC Alex? :)</div><div>I cc'ed him, not sure if the email is the correct one though.</div><div><br class=""><blockquote type="cite" class=""><div class="">On 28. Jan 2020, at 23:10, Lang Hames via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class="">Hi David,<div class=""><br class=""></div><div class=""><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">Thank you very much for writing these. I suspect that they are likely <br class="">to be drowned in the noise of this list and hidden from a lot of the <br class="">people that would find them valuable.<br class=""><br class="">Would it be possible for them to be hosted somewhere permanently? <br class="">Perhaps they could either be incorporated as a subsection of LLVM Weekly <br class="">or put in a different location on the same server?</blockquote><div class=""> </div></div><div class="">The threads are archived on <a href="http://lists.llvm.org/" target="_blank" class="">lists.llvm.org</a>, but I'm not sure how discoverable they are there.</div><div class=""><br class=""></div><div class="">I'm keen to make sure this is visible to the right people, and I'm not picky about the format. Does anyone else have any thoughts on this?</div><div class=""><br class=""></div><div class="">Alex, how would you feel about me supplying a weekly JIT update as a subsection for LLVM Weekly, rather than starting a separate thread? (And thank you very much for posting links to the archives for the last two ORC JIT Weekly threads).</div><div class=""><br class=""></div><div class="">-- Lang.</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 24, 2020 at 5:08 AM David Chisnall via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class=""></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">Hi Lang,<br class="">
<br class="">
Thank you very much for writing these. I suspect that they are likely <br class="">
to be drowned in the noise of this list and hidden from a lot of the <br class="">
people that would find them valuable.<br class="">
<br class="">
Would it be possible for them to be hosted somewhere permanently? <br class="">
Perhaps they could either be incorporated as a subsection of LLVM Weekly <br class="">
or put in a different location on the same server?<br class="">
<br class="">
David<br class="">
<br class="">
On 24/01/2020 03:27, Lang Hames via llvm-dev wrote:<br class="">
> Hi All,<br class="">
> <br class="">
> This week I've been focused on removing some of the blockers for people <br class="">
> transitioning from ORCv1 to ORCv2.<br class="">
> <br class="">
> Issue #1 (<a href="http://llvm.org/PR40074" rel="noreferrer" target="_blank" class="">http://llvm.org/PR40074</a>, <a href="http://llvm.org/PR44337" rel="noreferrer" target="_blank" class="">http://llvm.org/PR44337</a>):<br class="">
> <br class="">
> When LLVM codegens floating point constants for COFF we produce named <br class="">
> constant pool entries of the form __real@<bitval>. These are stored in <br class="">
> COFF COMDAT sections [1] which allow duplicate symbol definitions to be <br class="">
> discarded (roughly equivalent to the concept of a weak symbol). This <br class="">
> posed two problems: (1) ORC had no idea about the (rough) mapping <br class="">
> between COMDAT and Weak, and (2) did not support late introduction of <br class="">
> weak symbols via MaterializationResponsibility::defineMaterializing. <br class="">
> This caused use of the same floating point constant in multiple files to <br class="">
> result in duplicate definition errors for the constant pool entries.<br class="">
> <br class="">
> Both issues have been addressed in 84217ad6611, and floating point <br class="">
> constants should now work in COFF. If you run in to any trouble with <br class="">
> them please file a bug and CC me.<br class="">
> <br class="">
> Issue #2: Emulated TLS and name mangling (raised by Geoff Levner on <br class="">
> llvm-dev):<br class="">
> <br class="">
> Use of emulated-tls affects the name mangling of LLVM IR symbols. For a <br class="">
> thread local symbol with name <Name>, when emulated-tls is enabled we <br class="">
> will produce at least one emulated-tls symbol: __emutls_v.<Name> (which <br class="">
> must then be linker-mangled to get the final symbol name). If that <br class="">
> symbol has a non-zero initializer a second symbol will also be produced: <br class="">
> __emutls_t.<Name>. ORCv2 requires up-front specification of the exact <br class="">
> set of /linker-level/ symbol names that a module produces, so that it <br class="">
> can dispatch and track compiles, however none of the existing mangling <br class="">
> code took emulated-tls into account. This has been fixed in ce2207abaf9 <br class="">
> (with follow up fixes for the various examples I broke), and you should <br class="">
> now be able to use thread-locals in ORCv2.<br class="">
> <br class="">
> Besides these two bugs, I have continued work on the big static <br class="">
> initializer patch. Unfortunately issue #2 interacts with it, so I have <br class="">
> to do some integration work before it is ready to land, but I'm hopeful <br class="">
> that it will be ready some time next week.<br class="">
> <br class="">
> Finally, I have added a new example (bb7a5707ac0)to <br class="">
> llvm/examples/LLJITExamples: LLJITWithObjectLinkingLayerPlugin <br class="">
> demonstrating how to write a custom ObjectLinkingLayer plugin. <br class="">
> ObjectLinkingLayer plugins can be used to receive and respond to events <br class="">
> in the linking layer, and to inspect and modify JITLink LinkGraphs <br class="">
> during the linking process. ORC uses this internally to register EH <br class="">
> frames, but the system is likely to be of interest to anyone who wants <br class="">
> low level control/visibility into the JIT linker.<br class="">
> <br class="">
> — Lang.<br class="">
> <br class="">
> [1] <br class="">
> <a href="https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#comdat-sections-object-only" rel="noreferrer" target="_blank" class="">https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#comdat-sections-object-only</a> <br class="">
> <br class="">
> <br class="">
> _______________________________________________<br class="">
> LLVM Developers mailing list<br class="">
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class="">
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class="">
> <br class="">
<br class="">
_______________________________________________<br class="">
LLVM Developers mailing list<br class="">
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class="">
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class="">
</blockquote></div>
</div></div></div>
_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br class=""></div></blockquote></div><br class=""></body></html>