Re: JIT compiling with LLVM v9.1

From: Pierre Ducroquet <p(dot)psql(at)pinaraf(dot)info>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: JIT compiling with LLVM v9.1
Date: 2018-02-02 10:40:49
Message-ID: 2567235.m0aN06PWH6@pierred-pdoc
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Friday, February 2, 2018 10:48:16 AM CET Pierre Ducroquet wrote:
> 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

For LLVM 3.9, only small changes were needed.
I've attached the patches to this email.
I only did very basic, primitive testing, but it seems to work.
I'll do more testing in the next days.

Pierre

Attachment Content-Type Size
0001-Fix-building-with-LLVM-3.9.patch text/x-patch 2.8 KB
0002-Fix-segfault-with-LLVM-3.9.patch text/x-patch 1.0 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2018-02-02 10:41:57 Re: [HACKERS] Adding column_constraint description in ALTER TABLE synopsis
Previous Message Vladimir Borodin 2018-02-02 10:36:48 Re: [PoC PATCH] Parallel dump to /dev/null