summaryrefslogtreecommitdiffstats
path: root/txr.1
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2023-04-07 19:21:56 -0700
committerKaz Kylheku <kaz@kylheku.com>2023-04-07 19:21:56 -0700
commit73c90f20025cf3780f52ef23fac0fab4ff21c9a1 (patch)
treec0b46d0bf276f69333cac6b97ad55f58d0f5a4b2 /txr.1
parent2cf17e97d6b433405700653e7e2c885ad5dd75de (diff)
downloadtxr-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.14
1 files changed, 3 insertions, 1 deletions
diff --git a/txr.1 b/txr.1
index 2a5819a5..e4044901 100644
--- a/txr.1
+++ b/txr.1
@@ -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