Re: LLVM 22
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Cc: Matheus Alcantara <matheusssilv97@gmail.com>, Anthonin Bonnefoy <anthonin.bonnefoy@datadoghq.com>
Date: 2026-01-11T07:09:58Z
Lists: pgsql-hackers
Attachments
- v2-0001-jit-Skip-local-SectionMemoryManager-for-LLVM-22.patch (text/x-patch) patch v2-0001
- v2-0002-jit-Stop-using-lifetime.end-intrinsic-for-LLVM-22.patch (text/x-patch) patch v2-0002
- v2-0003-jit-Fix-integer-constants-for-LLVM-22.patch (text/x-patch) patch v2-0003
On Sun, Jan 4, 2026 at 6:02 PM Thomas Munro <thomas.munro@gmail.com> wrote:
> On Sat, Jan 3, 2026 at 3:02 PM Thomas Munro <thomas.munro@gmail.com> wrote:
> > 1. We won't need our local llvm::backport::SectionMemoryManager for
> > LLVM 22, so it will be nice to draw a line under that messy business.
> > See commit message for details.
>
> While that's true, there is a problem with the patch I posted:
> "ReserveAlloc" is not enabled when called from C. I can't actually
> reproduce the issue locally due to lack of RAM connected to an ARM
> CPU, or I'd have noticed that... I'll attempt to do something about
> that upstream[1], let's see... if not, we can still use the new
> in-tree SectionMemoryManager, but we'll still need some C++ glue code.
That was successful, so here is an update.
A new unrelated assertion started firing in LLVM main/22 a few days ago:
v_nullbytemask = l_int8_const(lc, 1 << ((attnum) & 0x07));
Assertion failed: (llvm::isUIntN(BitWidth, val) && "Value is not
an N-bit unsigned value")
Here is a fix for that.
Commits
-
jit: No backport::SectionMemoryManager for LLVM 22.
- 9b354cfc5584 14.23 landed
- 963fccc09cc6 15.18 landed
- 8354cd7ff575 16.14 landed
- 0a2291b59f9b 17.10 landed
- 5c54e0f48fa2 18.4 landed
- be21341e13d9 19 (unreleased) landed
-
jit: Stop emitting lifetime.end for LLVM 22.
- b4e7cd428c00 14.23 landed
- c00ea2b5b4f1 15.18 landed
- 26f27c592c5d 16.14 landed
- b6d0cddbe27d 17.10 landed
- 78cea19bf7da 18.4 landed
- de6b80e5ff4b 19 (unreleased) landed