<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">Hi Stefan,<div><br></div><div><blockquote type="cite"><div dir="ltr"><p><font color="#000000"><span style="caret-color: rgb(0, 0, 0); background-color: rgba(255, 255, 255, 0);">Maybe this is worth a discussion, as I have seen people confused (and I am not up-to-date either):<br>* Are the C-bindings meant to be functional for OrcV1 and OrcV2?<br>* Do they provide full or partial functionality? <br>* Which parts work, which don't?</span></font></p></div></blockquote>Good questions!</div><div><br></div><div>The C-bindings are backed by ORCv1. I expect them to change, if not receive a full re-write, when ORCv1 is deprecated.</div><div><br></div><div>The C APIs for ORCv1 could only ever provide partial functionality, given how pervasive template usage was in ORCv1.</div><div><br></div><div>The parts that are used by the ORCCBindings unit test definitely work. For everything else... your mileage may vary.</div><div><br></div><div>An interesting follow up question would be what form people would like to see the ORCv2 C APIs take.</div><div><br></div><div>The minimalist path would be to just expose LLJIT/LLazyJIT’s functionality via a C API.</div><div><br></div><div>The maximalist path would be to expose the raw ORCv2 interfaces (things like MaterializationUnit, ObjectLayer, IRLayer, etc.) so that C API users can potentially inject their own layer/mat-unit implementations into stacks along with existing layers. </div><div><br></div><div>I would lean towards the former. If we could pin down a nice remote-process model for LLJIT/LLLazyJIT the resulting C interface could give us the feature-set promised by ExecutionEngine’s interface (a feature-set that no actual implementation has ever provided), plus concurrency.</div><div><br></div><div>What do others think?</div><div><br></div><div>— Lang.</div><div><br></div><div><div id="AppleMailSignature" dir="ltr">Sent from my iPad</div><div dir="ltr"><br>On May 23, 2019, at 11:42 AM, Stefan Gränitz <<a href="mailto:stefan.graenitz@gmail.com">stefan.graenitz@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div dir="ltr">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Thanks for your attention! We found 7 outdated issues and reviewed 8
more that now describe a way forward.<br>
This was a good step towards overview :)<br>
<br>
The remaining long-standing reports gather around 2 hotspots:<br>
<br>
Missing functionality and workarounds on Windows: <a href="http://llvm.org/PR25493">llvm.org/PR25493</a>,
<a href="http://llvm.org/PR41595">llvm.org/PR41595</a><br>
In my experience the Windows incompatibilities are hard to tackle. I
am not surprised having a number of permanent tickets there. <br>
<br>
C-API bindings: <a href="http://llvm.org/PR31101">llvm.org/PR31101</a>, <a href="http://llvm.org/PR31103">llvm.org/PR31103</a>,
<a href="http://llvm.org/PR32628">llvm.org/PR32628</a>, <a href="http://llvm.org/PR36896">llvm.org/PR36896</a><br>
<p>Maybe this is worth a discussion, as I have seen people confused
(and I am not up-to-date either):<br>
* Are the C-bindings meant to be functional for OrcV1 and OrcV2?<br>
* Do they provide full or partial functionality? <br>
* Which parts work, which don't?<br>
<br>
Best<br>
Stefan<br>
<br></p>
On 5/18/19 8:02 PM, Praveen Velliengiri wrote:<br>
<p></p>
<blockquote type="cite" cite="mid:CAL56b7SMFS8+J8J241Ocp35NzXx+coQ6JjTC2Y5ZiuhG1QNFFA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div>Hi Stefan <br>
</div>
<div>Thank you! <br>
</div>
<div>In case, you missed in llvm-dev listing: you can find the
proposal here : <a href="https://docs.google.com/document/d/1202EcXlWMQ8yxu5qD0b5fE0a_kihlcaPNpZo_Jk0YeQ/edit?usp=sharing" moz-do-not-send="true">link. <br>
</a></div>
<div>Thanks for working on summarising the Bugzilla tickets to
track the recent changes in ORC this is really helpful.<br>
</div>
<div><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sat, 18 May 2019 at 21:33,
Stefan Gränitz <<a href="mailto:stefan.graenitz@gmail.com" target="_blank" moz-do-not-send="true">stefan.graenitz@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<p>In fact, this is all very good practice in my opinion:<br>
<a class="gmail-m_-3222154318062054342gmail-m_-5733687048271808527moz-txt-link-freetext" href="https://bugs.llvm.org/show_bug.cgi?id=30896" target="_blank" moz-do-not-send="true">https://bugs.llvm.org/show_bug.cgi?id=30896</a><br>
<a class="gmail-m_-3222154318062054342gmail-m_-5733687048271808527moz-txt-link-freetext" href="https://bugs.llvm.org/show_bug.cgi?id=22608" target="_blank" moz-do-not-send="true">https://bugs.llvm.org/show_bug.cgi?id=22608</a><br>
<a class="gmail-m_-3222154318062054342gmail-m_-5733687048271808527moz-txt-link-freetext" href="https://bugs.llvm.org/show_bug.cgi?id=24159" target="_blank" moz-do-not-send="true">https://bugs.llvm.org/show_bug.cgi?id=24159</a><br>
<br>
Back in 2016 I simply didn't know about the Bugzilla
tracker.<br>
From today's perspective, I think, we should try and
revive this spirit and share rough plans there.<br>
<br>
@Praveen very good initiative!<br>
<a class="gmail-m_-3222154318062054342gmail-m_-5733687048271808527moz-txt-link-freetext" href="https://bugs.llvm.org/show_bug.cgi?id=41075" target="_blank" moz-do-not-send="true">https://bugs.llvm.org/show_bug.cgi?id=41075</a><br>
<br>
@Machiel: This is quite recent, but didn't land after it
was accepted. Objections?<br>
<a class="gmail-m_-3222154318062054342gmail-m_-5733687048271808527moz-txt-link-freetext" href="https://reviews.llvm.org/D61599" target="_blank" moz-do-not-send="true">https://reviews.llvm.org/D61599</a><br>
<br>
Cheers<br>
</p>
<div class="gmail-m_-3222154318062054342gmail-m_-5733687048271808527moz-forward-container">--------
Forwarded Message --------
<table class="gmail-m_-3222154318062054342gmail-m_-5733687048271808527moz-email-headers-table" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<th valign="BASELINE" nowrap="nowrap" align="RIGHT">Subject:
</th>
<td>Bugzilla OrcJIT Tickets</td>
</tr>
<tr>
<th valign="BASELINE" nowrap="nowrap" align="RIGHT">Date:
</th>
<td>Sat, 18 May 2019 17:47:58 +0200</td>
</tr>
<tr>
<th valign="BASELINE" nowrap="nowrap" align="RIGHT">From:
</th>
<td>Stefan Gränitz <a class="gmail-m_-3222154318062054342gmail-m_-5733687048271808527moz-txt-link-rfc2396E" href="mailto:stefan.graenitz@gmail.com" target="_blank" moz-do-not-send="true"><stefan.graenitz@gmail.com></a></td>
</tr>
<tr>
<th valign="BASELINE" nowrap="nowrap" align="RIGHT">To:
</th>
<td>via llvm-dev <a class="gmail-m_-3222154318062054342gmail-m_-5733687048271808527moz-txt-link-rfc2396E" href="mailto:llvm-dev@lists.llvm.org" target="_blank" moz-do-not-send="true"><llvm-dev@lists.llvm.org></a></td>
</tr>
</tbody>
</table>
<br>
<br>
Hello everyone<br>
<br>
A previous thread about OrcJIT brought up bug reports on
Bugzilla. A<br>
quick search gives 20+ results:<br>
<a class="gmail-m_-3222154318062054342gmail-m_-5733687048271808527moz-txt-link-freetext" href="https://bugs.llvm.org/buglist.cgi?component=OrcJIT&list_id=162232&query_format=advanced&resolution=" target="_blank" moz-do-not-send="true">https://bugs.llvm.org/buglist.cgi?component=OrcJIT&list_id=162232&query_format=advanced&resolution=</a>---<br>
<br>
While some of them are obviously outdated (addModuleSet
API cleanup<br>
[1]), others may actually be relevant again (Small code
model? [2]). If<br>
you reported one of them, please take the time (some day)
and review<br>
from today's perspective.<br>
<br>
Are there recommendations regarding Bugzilla reports from
other parts of<br>
LLVM? Best practices that worked out well?<br>
<br>
Thanks!<br>
Stefan<br>
<br>
--<br>
<br>
[1] <a class="gmail-m_-3222154318062054342gmail-m_-5733687048271808527moz-txt-link-freetext" href="https://bugs.llvm.org/show_bug.cgi?id=30896" target="_blank" moz-do-not-send="true">https://bugs.llvm.org/show_bug.cgi?id=30896</a><br>
[2] <a class="gmail-m_-3222154318062054342gmail-m_-5733687048271808527moz-txt-link-freetext" href="https://bugs.llvm.org/show_bug.cgi?id=24159" target="_blank" moz-do-not-send="true">https://bugs.llvm.org/show_bug.cgi?id=24159</a><br>
<br>
<pre class="gmail-m_-3222154318062054342gmail-m_-5733687048271808527moz-signature">--
<a class="gmail-m_-3222154318062054342gmail-m_-5733687048271808527moz-txt-link-freetext" href="https://flowcrypt.com/pub/stefan.graenitz@gmail.com" target="_blank" moz-do-not-send="true">https://flowcrypt.com/pub/stefan.graenitz@gmail.com</a>
</pre>
</div>
</div>
</blockquote>
</div>
</blockquote>
<pre class="moz-signature" cols="72">--
<a class="moz-txt-link-freetext" href="https://flowcrypt.com/pub/stefan.graenitz@gmail.com">https://flowcrypt.com/pub/stefan.graenitz@gmail.com</a></pre>
</div></blockquote></div></body></html>