Stability of ORC JIT api with v8

Hi,

I am still on LLVM v6 as v7 ORC api changes were not backward
compatible. Has the ORC api stabilized now with v8, or is it still
under flux?

Thanks and Regards
Dibyendu

Hi Dibyendu,

I expect the rate of change of the ORCv2 APIs to be lower now, but they are still under active development. The core infrastructure is all in place: ExecutionSession, JITDylibs, MaterializationUnit/MaterializationResponsibility, and Layers. In LLVM 9 I expect the symbol resolution process to receive some further tweaks, and I want to add support for removing code from the JIT (which ORCv2 does not support yet). The big work in LLVM 9 at the moment is the new JIT linker (https://reviews.llvm.org/D58704), but this will be an implementation detail to most clients.

Cheers,
Lang.

I expect the rate of change of the ORCv2 APIs to be lower now, but they are still under active development. The core infrastructure is all in place: ExecutionSession, JITDylibs, MaterializationUnit/MaterializationResponsibility, and Layers. In LLVM 9 I expect the symbol resolution process to receive some further tweaks, and I want to add support for removing code from the JIT (which ORCv2 does not support yet). The big work in LLVM 9 at the moment is the new JIT linker (https://reviews.llvm.org/D58704), but this will be an implementation detail to most clients.

Thank you. Is it safe to use the v8 JIT api or would you suggest
waiting unto v9?

Hi Dibyendu,

Thank you. Is it safe to use the v8 JIT api or would you suggest waiting unto v9?

It depends on your tolerance for churn in the API. If you are looking for something low maintenance and do not need the new features yet you can hold off until LLVM 9. If you don’t mind having to update your code to account for new changes (and I expect the changes to usually be fairly straightforward) I think you can jump to the new APIs now.

Cheers,
Lang.