Re: Guiding principle for dropping LLVM versions?
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: Devrim Gündüz <devrim@gunduz.org>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-10-20T02:36:21Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
jit: Require at least LLVM 14, if enabled.
- 972c2cd2882b 18.0 landed
-
jit: Require at least LLVM 10.
- 820b5af73dcc 17.0 landed
Attachments
- v2-0001-jit-Require-at-least-LLVM-14-if-enabled.patch (text/x-patch) patch v2-0001
- v2-0002-jit-Use-opaque-pointers-in-all-supported-LLVM-ver.patch (text/x-patch) patch v2-0002
We could go further. With LLVM 14 as the minimum we can just use opaque pointers everywhere, and delete more conditional code in master. Tested on 14-18. I explored using the new pass manager everywhere too. It almost worked, but I couldn't see how to override the inlining threshold before LLVM 16[1], even in C++, so we couldn't fix that with a llvmjit_wrap.cpp hack. I like this. How can I find out if someone would shout at me for dropping LLVM 13? [1] https://github.com/llvm/llvm-project/commit/4fa328074efd7eefdbb314b8f6e9f855e443ca20