Re: JIT compiling with LLVM v9.1 - Mailing list pgsql-hackers

From Pierre Ducroquet
Subject Re: JIT compiling with LLVM v9.1
Date
Msg-id 46007795.oF0HmTnAYR@pierred-pdoc
Whole thread Raw
In response to Re: JIT compiling with LLVM v9.1  (Andres Freund <andres@anarazel.de>)
Responses Re: JIT compiling with LLVM v9.1
Re: JIT compiling with LLVM v9.1
List pgsql-hackers
On Monday, January 29, 2018 10:53:50 AM CET Andres Freund wrote:
> Hi,
>
> On 2018-01-23 23:20:38 -0800, Andres Freund wrote:
> > == Code ==
> >
> > As the patchset is large (500kb) and I'm still quickly evolving it, I do
> > not yet want to attach it. The git tree is at
> >
> >   https://git.postgresql.org/git/users/andresfreund/postgres.git
> >
> > in the jit branch
> >
> >   https://git.postgresql.org/gitweb/?p=users/andresfreund/postgres.git;a=s
> >   hortlog;h=refs/heads/jit
> I've just pushed an updated and rebased version of the tree:
> - Split the large "jit infrastructure" commits into a number of smaller
>   commits
> - Split the C++ file
> - Dropped some of the performance stuff done to heaptuple.c - that was
>   mostly to make performance comparisons a bit more interesting, but
>   doesn't seem important enough to deal with.
> - Added a commit renaming datetime.h symbols so they don't conflict with
>   LLVM variables anymore, removing ugly #undef PM/#define PM dance
>   around includes. Will post separately.
> - Reduced the number of pointer constants in the generated LLVM IR, by
>   doing more getelementptr accesses (stem from before the time types
>   were automatically synced)
> - Increased number of comments a bit
>
> There's a jit-before-rebase-2018-01-29 tag, for the state of the tree
> before the rebase.
>
> Regards,
>
> Andres

Hi

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.

LLVM 3.9 support isn't going to be hard, but I prefer splitting. I also hope
this will help more people test this wonderful toy… :)

Regards

 Pierre



Attachment

pgsql-hackers by date:

Previous
From: Michael Banck
Date:
Subject: Re: [PoC PATCH] Parallel dump to /dev/null
Next
From: Amit Langote
Date:
Subject: Re: [HACKERS] path toward faster partition pruning