Re: JIT compiling with LLVM v9.0

From: Pierre Ducroquet <p(dot)psql(at)pinaraf(dot)info>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: JIT compiling with LLVM v9.0
Date: 2018-01-28 22:02:56
Message-ID: 1522323.Dp6LZb3cBL@peanuts2
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thursday, January 25, 2018 8:12:42 PM CET Andres Freund wrote:
> Hi,
>
> On 2018-01-25 10:00:14 +0100, Pierre Ducroquet wrote:
> > I don't know when this would be released,
>
> August-October range.
>
> > but the minimal supported LLVM
> > version will have a strong influence on the availability of that feature.
> > If today this JIT compiling was released with only LLVM 5/6 support, it
> > would be unusable for most Debian users (llvm-5 is only available in
> > sid). Even llvm 4 is not available in latest stable.
> > I'm already trying to build with llvm-4 and I'm going to try further with
> > llvm 3.9 (Debian Stretch doesn't have a more recent than this one, and I
> > won't have something better to play with my data), I'll keep you
> > informed. For sport, I may also try llvm 3.5 (for Debian Jessie).
>
> I don't think it's unreasonable to not support super old llvm
> versions. This is a complex feature, and will take some time to
> mature. Supporting too many LLVM versions at the outset will have some
> cost. Versions before 3.8 would require supporting mcjit rather than
> orc, and I don't think that'd be worth doing. I think 3.9 might be a
> reasonable baseline...
>
> Greetings,
>
> Andres Freund

Hi

I have fixed the build issues with LLVM 3.9 and 4.0. The LLVM documentation is
really lacking when it comes to porting from version x to x+1.
The only really missing part I found is that in 3.9, GlobalValueSummary has no
flag showing if it's not EligibleToImport. I am not sure about the
consequences.
I'm still fixing some runtime issues so I will not bother you with the patch
right now.
BTW, the makefile for src/backend/lib does not remove the llvmjit_types.bc
file when cleaning, and doesn't seem to install in the right folder.

Regards

Pierre

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2018-01-28 22:07:31 Re: [HACKERS] Restricting maximum keep segments by repslots
Previous Message Ivan Novick 2018-01-28 22:01:07 Re: Built-in connection pooling