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.mityu...@postgrespro.ru> Reviewed-by: Tom Lane <t...@sss.pgh.pa.us> Tested-by: Dmitry Mityugov <d.mityu...@postgrespro.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(-)