jit: Remove redundancies in expression evaluation code generation.
authorAndres Freund <andres@anarazel.de>
Fri, 7 Feb 2020 03:45:45 +0000 (19:45 -0800)
committerAndres Freund <andres@anarazel.de>
Fri, 7 Feb 2020 04:01:23 +0000 (20:01 -0800)
commite6f86f8dd9835b18890fd8e9868884dec37e3bd7
treed927b2e70f70be06288371ca53de6a95d1f92713
parent8c2769405ff1f4617b0d3af50760b1ee357733ef
jit: Remove redundancies in expression evaluation code generation.

This merges the code emission for a number of opcodes by handling the
behavioural difference more locally. This reduces code, and also
improves the generated code a bit in some cases, by removing redundant
constants.

Author: Andres Freund
Discussion: https://postgr.es/m/20191023163849.sosqbfs5yenocez3@alap3.anarazel.de
src/backend/jit/llvm/llvmjit_expr.c