[llvm-dev] ORC v2 question

Praveen Velliengiri via llvm-dev llvm-dev at lists.llvm.org
Sat Aug 10 13:27:28 PDT 2019


Hi Dibyendu
I understand that ORCv2 is changing fast, I will try to answer quickly if
you provide me the
Optimized IR Module (with your expectations)  and Unoptimized IR Module the
ORC gives you.
I can't able to build your project though now :)


On Sun, 11 Aug 2019 at 01:43, Dibyendu Majumdar <mobile at majumdar.org.uk>
wrote:

> Hi Praveen,
>
> On Sat, 10 Aug 2019 at 21:05, Praveen Velliengiri
> <praveenvelliengiri at gmail.com> wrote:
> >
> > Could you please send me your unoptimized and expected optimized code?
> The default implementation only contains some transformations. It would be
> helpful to know what you are actually trying.
> > Optimize Module is just a function object.
> >
>
> You can view the code here:
>
>
> https://github.com/dibyendumajumdar/ravi/blob/master/include/ravi_llvmcodegen.h
> https://github.com/dibyendumajumdar/ravi/blob/master/src/ravi_llvmjit.cpp
>
> Just look for USE_ORCv2_JIT
>
> The code is messy but that is because LLVM's api keeps changing from
> version to version, causing huge issues for users.
>
>
> >
> > On Sat, 10 Aug 2019 at 22:55, Dibyendu Majumdar via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
> >> I am trying out ORC v2 and facing some problems.
> >>
> >> I am using LLVM 8.0.1.
> >> I updated my ORC v1 implementation from 6.0 to 8.0 based on
> >> Kaleidoscope example (i.e. using Legacy classes) and that works fine.
> >>
> >> Now  I am trying out ORC v2 apis, based on
> >>
> https://github.com/llvm-mirror/llvm/blob/master/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
> .
> >>
> >> I have got it to compile and build.
> >> But looks like my compiled code is not being optimized at all.
> >>
> >> For optimization I am using the PassManagerBuilder class to setup the
> >> passes. I use OptLevel = 2. This works perfectly with ORC v1 apis, but
> >> with ORC v2 I am not sure what is happening. I can see that the
> >> optimizeModule() is being called.
> >>
> >> Second issue is - I need to use an instance method as optimizeModule()
> >> but based on the example this is now a static method. Is this a
> >> restriction in the new api? I need to pass some parameters from the
> >> JIT context such as what optimization level to use.
> >>
> >> Thanks and Regards
> >> Dibyendu
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190811/d43feefb/attachment.html>


More information about the llvm-dev mailing list