Re: Add missing JIT inline pass for llvm>=17

Andreas Karlsson <andreas@proxel.se>

From: Andreas Karlsson <andreas@proxel.se>
To: Anthonin Bonnefoy <anthonin.bonnefoy@datadoghq.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2026-01-15T03:20:45Z
Lists: pgsql-hackers
Great find! Sadly shows how little people actually use JIT.

On 1/14/26 9:02 AM, Anthonin Bonnefoy wrote:
> I didn't add the always-inline pass as I don't think this can have any
> effect. From what I understand, the functions need to be imported
> through llvm_inline for LLVM to be able to inline them. I've tested by
> tagging int4mod as always inline, and the generated bc was still
> calling the function despite the always-inline pass.

If inline-always does not do anything it should be removed on older LLVM 
versions too. I do not think we should be having pre- and post-LLVM 17 
run different passes. But as Thomas pointed out inline-always is likely 
used for tuple deforming.

Andreas




Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. jit: Add missing inline pass for LLVM >= 17.