From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: JIT compiling with LLVM v10.0 |
Date: | 2018-02-07 14:54:05 |
Message-ID: | 20180207145405.om6lsxovkbehvin2@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
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 generally like how this shaped out. There's a good amount of followup
cleanup needed, but I'd appreciate some early feedback.
I've also rebased onto a recent master version.
postgres[21915][1]=# SELECT pg_llvmjit_available();
┌──────────────────────┐
│ pg_llvmjit_available │
├──────────────────────┤
│ t │
└──────────────────────┘
(1 row)
make -C src/backend/jit/llvm/ uninstall
postgres[21915][1]=# \c
You are now connected to database "postgres" as user "andres".
postgres[21922][1]=# SELECT pg_llvmjit_available();
┌──────────────────────┐
│ pg_llvmjit_available │
├──────────────────────┤
│ f │
└──────────────────────┘
(1 row)
Yeha ;)
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | David Steele | 2018-02-07 14:59:40 | Re: Re: [HACKERS] WIP: Separate log file for extension |
Previous Message | Dagfinn Ilmari =?utf-8?Q?Manns=C3=A5ker?= | 2018-02-07 14:49:27 | Re: Obsolete fmgr() declaration in fmgr.h |