• Tom Lane's avatar
    Marginal improvement for generated code in execExprInterp.c. · 136ab7c5
    Tom Lane authored
    Avoid the coding pattern "*op->resvalue = f();", as some compilers think
    that requires them to evaluate "op->resvalue" before the function call.
    Unless there are lots of free registers, this can lead to a useless
    register spill and reload across the call.
    
    I changed all the cases like this in ExecInterpExpr(), but didn't bother
    in the out-of-line opcode eval subroutines, since those are presumably
    not as performance-critical.
    
    Discussion: https://postgr.es/m/2508.1506630094@sss.pgh.pa.us
    136ab7c5
execExprInterp.c 94.7 KB