<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">Hi Alex,<div><br></div><div><blockquote type="cite"><div dir="ltr"><font color="#000000"><span style="caret-color: rgb(0, 0, 0); background-color: rgba(255, 255, 255, 0);">1. Is there a migration guide I can use to update my code to the new version?</span></font></div></blockquote><div><br></div>There is no guide yet. It sounds like there is plenty of interest in creating one. I’m also going to try to post a draft of the ORCv2 design document we discussed later tonight.</div><div><br></div><div>For what it is worth, I expect migration to be fairly straightforward for most clients. Each of the legacy layers that is being deprecated has an ORCv2 counterpart that can be substituted in a fairly mechanical way (with the exception of the LazyEmittingLayer that provided MCJIT-style laziness, “don’t compile until first lookup”, which is the default behavior in ORCv2).</div><div><br></div><div>MCJIT clients, or clients with simple use cases may find LLJIT useful. This is an off the shelf ORC JIT class with functionality similar to MCJIT. Some utilities (e.g. EventListeners) have not been hooked up yet, but I think it would be reasonable to get these hooked up before 9.0 branches.</div><div><br></div><div><blockquote type="cite"><div dir="ltr"><font color="#000000"><span style="caret-color: rgb(0, 0, 0); background-color: rgba(255, 255, 255, 0);">2. Is there any development plan for this part of LLVM? So far I have feeling that it's a closed source development.</span></font><br></div></blockquote></div><div><br></div><div>It is definitely not closed source. There is no part of ORCv2 that has not been committed to the public tree, except for the small amount of code currently on my development branch.</div><div><br></div><div>I think it’s fair to say that the design has not been well documented or communicated (except in code and commit messages). Given the demand though (and exciting prospect of more contributors) it sounds like it’s time to put some documentation together. The ORCv2 design doc can serve as a starting point, and the tutorials that Praveen plans to update will be a *huge* help. Patches and support are most welcome. :)</div><div><br></div><div><blockquote type="cite"><div dir="ltr"><font color="#000000"><span style="caret-color: rgb(0, 0, 0); background-color: rgba(255, 255, 255, 0);">3. Is there some communication channels I am missing to follow? I follow dev&commits mailing lists and present on IRC once in a while, but I somehow missed the message about the Orc v1 removal.</span></font></div></blockquote><br></div><div>No — you are not missing anything. I think the plan to deprecate has been mentioned on list before but only in passing (and thinking about it, it may even have been on llvm-commits rather than llvm-dev). I plan to add deprecation attributes to the legacy classes on trunk so that clients who use 9.0 receive warnings. If we find that clients have trouble migrating (which I don’t think we will) then we can probably support the legacy layers for another release, but I would like to avoid this if possible.</div><div><br></div><div>Cheers,</div><div>Lang.</div><div><br></div><div><div id="AppleMailSignature" dir="ltr">Sent from my iPad</div><div dir="ltr"><br>On May 13, 2019, at 1:22 AM, Alex Denisov <<a href="mailto:1101.debian@gmail.com">1101.debian@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div dir="ltr"><span>Hi folks,</span><br><span></span><br><span>Rather by accident than on purpose I looked at the release notes and found the following:</span><br><span><a href="http://releases.llvm.org/8.0.0/docs/ReleaseNotes.html#changes-to-the-jit-apis">http://releases.llvm.org/8.0.0/docs/ReleaseNotes.html#changes-to-the-jit-apis</a></span><br><span></span><br><span>TL;DR: Orc v1 is deprecated and will be removed in the next release.</span><br><span></span><br><span>I have several questions in this regard:</span><br><span></span><br><span>1. Is there a migration guide I can use to update my code to the new version?</span><br><span>2. Is there any development plan for this part of LLVM? So far I have feeling that it's a closed source development.</span><br><span>3. Is there some communication channels I am missing to follow? I follow dev&commits mailing lists and present on IRC once in a while, but I somehow missed the message about the Orc v1 removal.</span><br><span></span><br><span>Also, the release notes mention that Orc v2 is the recommended way for the new projects, but:</span><br><span></span><br><span>1. Is there a documentation?</span><br><span>2. How stable the APIs are?</span><br><span></span><br><span>Thank you,</span><br><span>Alex.</span><br><span></span><br></div></blockquote></div></body></html>