From: | Pierre Ducroquet <p(dot)psql(at)pinaraf(dot)info> |
---|---|
To: | 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-02 09:48:16 |
Message-ID: | 46007795.oF0HmTnAYR@pierred-pdoc |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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 | Content-Type | Size |
---|---|---|
0001-Add-support-for-LLVM4-in-llvmjit.c.patch | text/x-patch | 2.4 KB |
0002-Add-LLVM4-support-in-llvmjit_error.cpp.patch | text/x-patch | 1.4 KB |
0003-Add-LLVM4-support-in-llvmjit_inline.cpp.patch | text/x-patch | 3.1 KB |
0004-Don-t-emit-bitcode-depending-on-an-LLVM-5-function.patch | text/x-patch | 849 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Langote | 2018-02-02 10:03:21 | Re: [HACKERS] path toward faster partition pruning |
Previous Message | Michael Banck | 2018-02-02 09:44:01 | Re: [PoC PATCH] Parallel dump to /dev/null |