From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: JIT compiling with LLVM v10.1 |
Date: | 2018-02-14 18:17:10 |
Message-ID: | 20180214181710.y3exisjgzz7orcmt@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2018-02-07 06:54:05 -0800, Andres Freund wrote:
> I've pushed v10.0. The big (and pretty painful to make) change is that
> now all the LLVM specific code lives in src/backend/jit/llvm, which is
> built as a shared library which is loaded on demand.
>
> The layout is now as follows:
>
> src/backend/jit/jit.c:
> Part of JITing always linked into the server. Supports loading the
> LLVM using JIT library.
>
> src/backend/jit/llvm/
> Infrastructure:
> llvmjit.c:
> General code generation and optimization infrastructure
> llvmjit_error.cpp, llvmjit_wrap.cpp:
> Error / backward compat wrappers
> llvmjit_inline.cpp:
> Cross module inlining support
> Code-Gen:
> llvmjit_expr.c
> Expression compilation
> llvmjit_deform.c
> Deform compilation
I've pushed a revised version that hopefully should address Jeff's
wish/need of being able to experiment with this out of core. There's now
a "jit_provider" PGC_POSTMASTER GUC that's by default set to
"llvmjit". llvmjit.so is the .so implementing JIT using LLVM. It fills a
set of callbacks via
extern void _PG_jit_provider_init(JitProviderCallbacks *cb);
which can also be implemented by any other potential provider.
The other two biggest changes are that I've added a README
https://git.postgresql.org/gitweb/?p=users/andresfreund/postgres.git;a=blob;f=src/backend/jit/README;hb=jit
and that I've revised the configure support so it does more error
checks, and moved it into config/llvm.m4.
There's a larger smattering of small changes too.
I'm pretty happy with how the separation of core / shlib looks now. I'm
planning to work on cleaning and then pushing some of the preliminary
patches (fixed tupledesc, grouping) over the next few days.
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2018-02-14 18:35:08 | Re: [COMMITTERS] pgsql: Rearm statement_timeout after each executed query. |
Previous Message | Stephen Frost | 2018-02-14 17:50:04 | Re: Google Summer of Code 2018 |