From: Yugo Nagata <nagata@sraoss.co.jp>
Subject: [PATCH v4] doc: Mention that JIT inlining does not work with Meson builds
Date: Thu, 17 Sep 2026 22:09:43 -0400
Meson builds do not generate the LLVM bitcode that JIT inlining
needs. So with -Dllvm, JIT compilation works, but inlining does
not. Document that in the JIT chapter, and mention -Dllvm next to
--with-llvm.
While at it, use <option> for --with-llvm, per review.
This should be reverted once Meson learns to build the bitcode.
Author: Yugo Nagata <nagata@sraoss.co.jp>
Reviewed-by: Laurenz Albe <laurenz.albe@cybertec.at>
Reviewed-by: shihao zhong <zhong950419@gmail.com>
Discussion: https://postgr.es/m/20250526150820.28ea70625645e0d6d12be7d5@sraoss.co.jp
Backpatch-through: 16
---
doc/src/sgml/jit.sgml | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/doc/src/sgml/jit.sgml b/doc/src/sgml/jit.sgmlindex 44e18bf1a6f..fb934ce6fac 100644--- a/doc/src/sgml/jit.sgml+++ b/doc/src/sgml/jit.sgml@@ -36,7 +36,8 @@
<acronym>JIT</acronym> compilation using <ulink
url="https://llvm.org/"><productname>LLVM</productname></ulink; when
<productname>PostgreSQL</productname> is built with
- <link linkend="configure-with-llvm"><literal>--with-llvm</literal></link>.+ <link linkend="configure-with-llvm"><option>--with-llvm</option></link>+ or <link linkend="configure-with-llvm-meson"><option>-Dllvm</option></link>.
</para>
<para>
@@ -76,6 +77,16 @@
bodies of small functions into the expressions using them. That allows a
significant percentage of the overhead to be optimized away.
</para>
+ <note>+ <para>+ Inlining does not work if <productname>PostgreSQL</productname> is built using+ <application>Meson</application> with+ <link linkend="configure-with-llvm-meson"><option>-Dllvm</option></link>,+ because the <productname>LLVM</productname> bitcode is not built,+ regardless of whether <command>EXPLAIN</command> shows "Inlining true".+ See <xref linkend="jit-extensibility-bitcode"/> for more details about bitcode.+ </para>+ </note>
</sect2>
<sect2 id="jit-optimization">
@@ -133,7 +144,7 @@
<para>
If <xref linkend="guc-jit"/> is set to <literal>off</literal>, or if no
<acronym>JIT</acronym> implementation is available (for example because
- the server was compiled without <literal>--with-llvm</literal>),+ the server was compiled without <option>--with-llvm</option>),
<acronym>JIT</acronym> will not be performed, even if it would be
beneficial based on the above criteria. Setting <xref linkend="guc-jit"/>
to <literal>off</literal> has effects at both plan and execution time.
--
2.43.0
--Multipart=_Fri__18_Sep_2026_21_00_20_+0900_EpN1qr3DjG=K4iCJ--
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: nagata@sraoss.co.jp
Subject: Re: [PATCH v4] doc: Mention that JIT inlining does not work with Meson builds
In-Reply-To: <no-message-id-1872273@localhost>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox