Hi folks, Rather by accident than on purpose I looked at the release notes and found the following: http://releases.llvm.org/8.0.0/docs/ReleaseNotes.html#changes-to-the-jit-apis TL;DR: Orc v1 is deprecated and will be removed in the next release. I have several questions in this regard: 1. Is there a migration guide I can use to update my code to the new version? 2. Is there any development plan for this part of LLVM? So far I have feeling that it's a closed source development. 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. Also, the release notes mention that Orc v2 is the recommended way for the new projects, but: 1. Is there a documentation? 2. How stable the APIs are? Thank you, Alex. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: Message signed with OpenPGP URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190513/2d2d3a22/attachment.sig>
Hi Alex Sorry for late reply The New ORC APIs support concurrent compilation. I'm not aware of any migration guide to ORC v2 from v1. But there is a in-tree classes called LLJIT and LLLazyJIT which is an example for using new ORC APIs. You can also take a look at "Updating ORC for Concurrency" talk by lang hames, the talk explains about the new APIs. I hope discussions about JIT is generally available in LLVM-dev mailing lists. For documentation kaleidoscope, I don't think the updated version is available yet. And I personally hope APIs are stable enough, and also there is an effort to add speculation to JIT which modify the internals to support that but APIs will mostly be the same, but not sure there may be a some changes in future. Also CC'ing Lang Hames for more insights Thanks Praveen On Mon, 13 May 2019 at 13:52, Alex Denisov via llvm-dev < llvm-dev at lists.llvm.org> wrote:> Hi folks, > > Rather by accident than on purpose I looked at the release notes and found > the following: > > http://releases.llvm.org/8.0.0/docs/ReleaseNotes.html#changes-to-the-jit-apis > > TL;DR: Orc v1 is deprecated and will be removed in the next release. > > I have several questions in this regard: > > 1. Is there a migration guide I can use to update my code to the new > version? > 2. Is there any development plan for this part of LLVM? So far I have > feeling that it's a closed source development. > 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. > > Also, the release notes mention that Orc v2 is the recommended way for the > new projects, but: > > 1. Is there a documentation? > 2. How stable the APIs are? > > Thank you, > Alex. > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190515/a259f3a9/attachment.html>
Hi Alex Correction : Kaleidoscope chapter 1 & 2 are up-to-date. But chapter 3..5 are not. On Wed, 15 May 2019 at 23:22, Praveen Velliengiri < praveenvelliengiri at gmail.com> wrote:> Hi Alex > Sorry for late reply > > The New ORC APIs support concurrent compilation. > I'm not aware of any migration guide to ORC v2 from v1. But there is a > in-tree classes called LLJIT and LLLazyJIT which is an example for using > new ORC APIs. > You can also take a look at "Updating ORC for Concurrency" talk by lang > hames, the talk explains about the new APIs. I hope discussions about JIT > is generally available in LLVM-dev mailing lists. > > For documentation kaleidoscope, I don't think the updated version is > available yet. And I personally hope APIs are stable enough, and also > there is an effort to add speculation to JIT which modify the internals to > support that but APIs will mostly be the same, but not sure there may be a > some changes in future. > > Also CC'ing Lang Hames for more insights > > Thanks > Praveen > > > On Mon, 13 May 2019 at 13:52, Alex Denisov via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hi folks, >> >> Rather by accident than on purpose I looked at the release notes and >> found the following: >> >> http://releases.llvm.org/8.0.0/docs/ReleaseNotes.html#changes-to-the-jit-apis >> >> TL;DR: Orc v1 is deprecated and will be removed in the next release. >> >> I have several questions in this regard: >> >> 1. Is there a migration guide I can use to update my code to the new >> version? >> 2. Is there any development plan for this part of LLVM? So far I have >> feeling that it's a closed source development. >> 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. >> >> Also, the release notes mention that Orc v2 is the recommended way for >> the new projects, but: >> >> 1. Is there a documentation? >> 2. How stable the APIs are? >> >> Thank you, >> Alex. >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190516/c1cc17aa/attachment.html>
Hi Alex,> 1. Is there a migration guide I can use to update my code to the new version?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. 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). 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.> 2. Is there any development plan for this part of LLVM? So far I have feeling that it's a closed source development.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. 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. :)> 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.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. Cheers, Lang. Sent from my iPad> On May 13, 2019, at 1:22 AM, Alex Denisov <1101.debian at gmail.com> wrote: > > Hi folks, > > Rather by accident than on purpose I looked at the release notes and found the following: > http://releases.llvm.org/8.0.0/docs/ReleaseNotes.html#changes-to-the-jit-apis > > TL;DR: Orc v1 is deprecated and will be removed in the next release. > > I have several questions in this regard: > > 1. Is there a migration guide I can use to update my code to the new version? > 2. Is there any development plan for this part of LLVM? So far I have feeling that it's a closed source development. > 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. > > Also, the release notes mention that Orc v2 is the recommended way for the new projects, but: > > 1. Is there a documentation? > 2. How stable the APIs are? > > Thank you, > Alex. >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190517/19040fa8/attachment.html>