diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-07-09 22:29:19 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-07-09 22:29:19 -0700 |
commit | 97fa49cc2c9c9c1452316acb003b4c7d104ed162 (patch) | |
tree | 09c287105cd7dc27fa976a6bf63e8c81609124d1 /struct.c | |
parent | 8615311e3092283df22d5dd3b79564bf5e312e8b (diff) | |
download | txr-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