Re: meson vs. llvm bitcode files

Zsolt Parragi <zsolt.parragi@percona.com>

From: Zsolt Parragi <zsolt.parragi@percona.com>
To: Nazir Bilal Yavuz <byavuz81@gmail.com>
Cc: Peter Eisentraut <peter@eisentraut.org>, pgsql-hackers <pgsql-hackers@postgresql.org>, Andres Freund <andres@anarazel.de>
Date: 2026-03-25T21:56:00Z
Lists: pgsql-hackers
> I couldn't reproduce this. There are 43 .bc files and header change (I
> changed simd.h) triggers a recompilation of only 'postgres.index.bc'
> on my end. This behavior seems correct to me. Could you please share
> steps to reproduce the behavior you saw?

I can reliably reproduce it on multiple computers.

patch applied on top of 009833ef2002430b1f8fae3a8e47718642b7a5d9,
default meson build with only -Dllvm=enabled

both on ubuntu 24.04/openSUSE tumbleweed with meson 1.3.2, ninja 1.11.1/1.13.2

ninja # to ensure I built everything
ninja # nothing happens, up to date

touch ../src/include/port/simd.h && time ninja -j$(nproc) 2>&1
[884/884] Generating src/backend/jit/llvm/bitcode/postgres with a custom command
ninja -j$(nproc) 2>&1  188.04s user 31.36s system 4541% cpu 4.831 total

touch ../src/include/port/simd.h && ninja -j$(nproc) 2>&1 -n | grep bc | wc -l
796