agora inbox for pgsql-hackers@postgresql.orghelp / color / mirror / Atom feed
[PATCH v4] doc: Mention that JIT inlining does not work with Meson builds 1+ messages / 1 participants [nested] [flat]
* [PATCH v4] doc: Mention that JIT inlining does not work with Meson builds @ 2026-09-18 02:09 Yugo Nagata <nagata@sraoss.co.jp> 0 siblings, 0 replies; 1+ messages in thread From: Yugo Nagata @ 2026-09-18 02:09 UTC (permalink / raw) 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.sgml index 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-- ^ permalink raw reply [nested|flat] 1+ messages in thread
only message in thread Thread overview: 1+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2026-09-18 02:09 [PATCH v4] doc: Mention that JIT inlining does not work with Meson builds Yugo Nagata <nagata@sraoss.co.jp>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox