diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2023-04-07 19:21:56 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2023-04-07 19:21:56 -0700 |
commit | 73c90f20025cf3780f52ef23fac0fab4ff21c9a1 (patch) | |
tree | c0b46d0bf276f69333cac6b97ad55f58d0f5a4b2 /txr.1 | |
parent | 2cf17e97d6b433405700653e7e2c885ad5dd75de (diff) | |
download | txr-73c90f20025cf3780f52ef23fac0fab4ff21c9a1.tar.gz txr-73c90f20025cf3780f52ef23fac0fab4ff21c9a1.tar.bz2 txr-73c90f20025cf3780f52ef23fac0fab4ff21c9a1.zip |
compiler: iterate on level 4-5 optimizations.
* stdlib/optimize.tl (basic-blocks num-blocks): New
method.
* stdlib/compiler.tl (compiler optimize): At optimization
level 6, instead of performing one extra pass of
jump threading, dead-code elimintation and peephole
optimizations, keep iterating on these until the number
of basic blocks stays the same.
* txr.1: Documented.
Diffstat (limited to 'txr.1')
-rw-r--r-- | txr.1 | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -87774,7 +87774,9 @@ Data flow optimizations are applied, such as elimination of dead register moves, or useless propagations of values from one register to another. More peephole optimizations are applied. .IP 6 -Another pass of the levels 4 and 5 optimizations is performed. +Additional iterations of the levels 4 and 5 optimizations are performed, +if the previous iterations have coalesced some basic blocks of the program +graph. .IP 7 Certain more rarely applicable optimizations are applied which reduce code size by merging some identical code blocks, or improving some more rarely |