summaryrefslogtreecommitdiffstats
path: root/struct.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-07-09 22:29:19 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-07-09 22:29:19 -0700
commit97fa49cc2c9c9c1452316acb003b4c7d104ed162 (patch)
tree09c287105cd7dc27fa976a6bf63e8c81609124d1 /struct.c
parent8615311e3092283df22d5dd3b79564bf5e312e8b (diff)
downloadtxr-97fa49cc2c9c9c1452316acb003b4c7d104ed162.tar.gz
txr-97fa49cc2c9c9c1452316acb003b4c7d104ed162.tar.bz2
txr-97fa49cc2c9c9c1452316acb003b4c7d104ed162.zip
compiler: constant-fold if eql.
We put the ifql opcode to use for (if (eql ...) ...) and (if (neql ...) ...) and also constant-fold the constant cases, like we do for eq. * share/txr/stdlib/compiler.tl (%test-funs-pos%): Add eql to list. (%test-funs-neg%): Add neql to list. (%test-funs-ops%): New list of corresponding opcodes. (%test-opcode%): New variable containing a relation function from equality functions to assembler opcodes. (compiler comp-ift): Don't hard code the opcode; look it up from the test function using %test-opcode%.
Diffstat (limited to 'struct.c')
0 files changed, 0 insertions, 0 deletions