<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>