Re: JIT compiling with LLVM v9.1

From: Andreas Karlsson <andreas(at)proxel(dot)se>
To: Pierre Ducroquet <p(dot)psql(at)pinaraf(dot)info>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Cc: Andres Freund <andres(at)anarazel(dot)de>
Subject: Re: JIT compiling with LLVM v9.1
Date: 2018-02-03 23:45:50
Message-ID: f6a10855-3f28-6490-b156-8b48765d92cd@proxel.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 02/02/2018 10:48 AM, Pierre Ducroquet wrote:
> I have successfully built the JIT branch against LLVM 4.0.1 on Debian testing.
> This is not enough for Debian stable (LLVM 3.9 is the latest available there),
> but it's a first step.
> I've split the patch in four files. The first three fix the build issues, the
> last one fixes a runtime issue.
> I think they are small enough to not be a burden for you in your developments.
> But if you don't want to carry these ifdefs right now, I maintain them in a
> branch on a personal git and rebase as frequently as I can.

I tested these patches and while the code built for me and passed the
test suite on Debian testing I have a weird bug where the very first
query fails to JIT while the rest work as they should. I think I need to
dig into LLVM's codebase to see what it is, but can you reproduce this
bug at your machine?

Code to reproduce:

SET jit_expressions = true;
SET jit_above_cost = 0;
SELECT 1;
SELECT 1;

Output:

postgres=# SELECT 1;
ERROR: failed to jit module
postgres=# SELECT 1;
?column?
----------
1
(1 row)

Config:

Version: You patches applied on top of
302b7a284d30fb0e00eb5f0163aa933d4d9bea10
OS: Debian testing
llvm/clang: 4.0.1-8

Andreas

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2018-02-04 05:17:05 Re: [HACKERS] Restrict concurrent update/delete with UPDATE of partition key
Previous Message Peter Geoghegan 2018-02-03 23:17:28 Re: [HACKERS] MERGE SQL Statement for PG11