pgsql: jit: Add missing inline pass for LLVM >= 17.
| От | Thomas Munro |
|---|---|
| Тема | pgsql: jit: Add missing inline pass for LLVM >= 17. |
| Дата | |
| Msg-id | E1vilOR-001v1G-2M@gemulon.postgresql.org обсуждение исходный текст |
| Список | pgsql-committers |
jit: Add missing inline pass for LLVM >= 17. With LLVM >= 17, transform passes are provided as a string to LLVMRunPasses. Only two strings were used: "default<O3>" and "default<O0>,mem2reg". With previous LLVM versions, an additional inline pass was added when JIT inlining was enabled without optimization. With LLVM >= 17, the code would go through llvm_inline, prepare the functions for inlining, but the generated bitcode would be the same due to the missing inline pass. This patch restores the previous behavior by adding an inline pass when inlining is enabled but no optimization is done. This fixes an oversight introduced by 76200e5e when support for LLVM 17 was added. Backpatch-through: 14 Author: Anthonin Bonnefoy <anthonin.bonnefoy@datadoghq.com> Reviewed-by: Thomas Munro <thomas.munro@gmail.com> Reviewed-by: Andreas Karlsson <andreas@proxel.se> Reviewed-by: Andres Freund <andres@anarazel.de> Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de> Reviewed-by: Pierre Ducroquet <p.psql@pinaraf.info> Reviewed-by: Matheus Alcantara <matheusssilv97@gmail.com> Discussion: https://postgr.es/m/CAO6_XqrNjJnbn15ctPv7o4yEAT9fWa-dK15RSyun6QNw9YDtKg%40mail.gmail.com Branch ------ REL_14_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/de8081c30e5a09e1295e2e8e8c69d65f7802f4b6 Modified Files -------------- src/backend/jit/llvm/llvmjit.c | 4 ++++ 1 file changed, 4 insertions(+)
В списке pgsql-committers по дате отправления: