[llvm-dev] LLVM Developers Meeting JIT BoF -- Request for Topics of Interest

Andres Freund via llvm-dev llvm-dev at lists.llvm.org
Fri Oct 2 11:21:14 PDT 2020


Hi,

On 2020-10-02 10:44:43 -0700, Lang Hames wrote:
> Sounds good to me. I think there are two sub-topics here:
> (1) JIT specifics. E.g. What default optimization pipelines should we
> provide in the JIT? The standard 0/1/2/3/s options, or would it make sense
> to develop something JIT specific?

Yea. I've some hopes for "new PM" making it easier to have maintainable
and customizable pipelines. I've not played around with it too much -
largely because there's no C API last time I checked.



> (2) General compile time improvements. Everyone will benefit from compile
> time improvements, but JIT clients are likely to be extra sensitive to it.
> Have we identified any problem areas or redundancies that would be of
> interest to the broader LLVM community, and that we could solicit help in
> fixing.

I'd guess that some of the things that can be done to significantly
improve JIT performance aren't generally applicable to most other uses
of LLVM. E.g. the overhead of redoing the same analyses for code gen is
mostly an issue on higher optimization levels, and I assume that a large
portion of e.g. clang users using -O3 will do LTO. Where a split between
optimization and code gen seems necessary in number of cases.


> > Possibly also related to LLJIT design - having LLJIT first generate
> > minimally optimized code and then, while that is in use, doing optimization
> > and optimized codegen concurrently, would be neat. It feels like that'd
> > fit well into LLJIT, given that it already provides things like
> > background compile threads.
> 
> 
> Absolutely. Supporting this use-case was one of the motivations for the
> concurrency support in OrcV2. It's doable at the moment, but it requires a
> fair bit of manual work on the client's part. Implementation and API design
> in this area seem like good topics.

Cool.

Greetings,

Andres Freund


More information about the llvm-dev mailing list