diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-02-07 19:19:15 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-02-07 19:19:15 -0800 |
commit | f3da4f650dd867041b974cc2d9ecdde6d82ba1d2 (patch) | |
tree | cfa30b056ad962d7423c013d8484185cff07eab5 /tests/015/awk-fconv.expected | |
parent | f0ac10cf207f5a9b62b19a2bca186bc56a565d65 (diff) | |
download | txr-f3da4f650dd867041b974cc2d9ecdde6d82ba1d2.tar.gz txr-f3da4f650dd867041b974cc2d9ecdde6d82ba1d2.tar.bz2 txr-f3da4f650dd867041b974cc2d9ecdde6d82ba1d2.zip |
compiler: jump skid optimization.
If an (if reg label0) target branches due to reg being nil,
and the target of the branch is another branch instrution
of the form (ifq reg nil label1), we know that that branch is
not taken: the code following that instruction is executed.
THus can jump right to that code.
(if reg label0) (if reg xlabel)
... ...
label0 label0
(ifq reg nil label1) --> (ifq reg nil label1)
... xlabel
...
* share/txr/stdlib/optimize.tl (basic-blocks peephole): New
sub-case under (jmp @reg @jlabel).
Diffstat (limited to 'tests/015/awk-fconv.expected')
0 files changed, 0 insertions, 0 deletions