pgsql: jit: Fix type used for Datum values in LLVM IR.

From: Thomas Munro <tmunro(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: jit: Fix type used for Datum values in LLVM IR.
Date: 2025-09-17 03:00:24
Message-ID: E1uyiPA-0016JY-0V@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

jit: Fix type used for Datum values in LLVM IR.

Commit 2a600a93 made Datum 8 bytes wide everywhere. It was no longer
appropriate to use TypeSizeT on 32 bit systems, and JIT compilation
would fail with various type check errors. Introduce a separate
LLVMTypeRef with the name TypeDatum. TypeSizeT is still used in some
places for actual size_t values.

Reported-by: Dmitry Mityugov <d(dot)mityugov(at)postgrespro(dot)ru>
Reviewed-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Tested-by: Dmitry Mityugov <d(dot)mityugov(at)postgrespro(dot)ru>
Discussion: https://postgr.es/m/0a9f0be59171c2e8f1b3bc10f4fcf267%40postgrespro.ru

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0951942bba25f85ad29a4f096ed51a356652b5a2

Modified Files
--------------
src/backend/jit/llvm/llvmjit.c | 2 +
src/backend/jit/llvm/llvmjit_deform.c | 10 +--
src/backend/jit/llvm/llvmjit_expr.c | 150 +++++++++++++++++-----------------
src/backend/jit/llvm/llvmjit_types.c | 1 +
src/include/jit/llvmjit.h | 1 +
src/include/jit/llvmjit_emit.h | 11 ++-
6 files changed, 94 insertions(+), 81 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Nathan Bossart 2025-09-17 03:27:34 Re: pgsql: Move named LWLock tranche requests to shared memory.
Previous Message Michael Paquier 2025-09-17 02:35:56 Re: pgsql: Move named LWLock tranche requests to shared memory.