summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-03-16 06:39:28 -0700
committerKaz Kylheku <kaz@kylheku.com>2021-03-16 06:39:28 -0700
commit5e6871023c4eac56dfec7fc2b4ea56e41af72e0c (patch)
tree76d79d965d3d77d017286cfedc72880180b66d33
parent97da726898841d20cac0755bca8ef82db2cfc7fe (diff)
downloadtxr-5e6871023c4eac56dfec7fc2b4ea56e41af72e0c.tar.gz
txr-5e6871023c4eac56dfec7fc2b4ea56e41af72e0c.tar.bz2
txr-5e6871023c4eac56dfec7fc2b4ea56e41af72e0c.zip
compiler: eliminate unused list in optimizer.
* share/txr/stdlib/optimize.tl (basic-blocks elim-dead-code): Ironically, we have a dead variable named unreachable in this function. Let's remove it and the build form which calculates it.
-rw-r--r--share/txr/stdlib/optimize.tl21
1 files changed, 9 insertions, 12 deletions
diff --git a/share/txr/stdlib/optimize.tl b/share/txr/stdlib/optimize.tl
index b1008d0a..cf8a42b0 100644
--- a/share/txr/stdlib/optimize.tl
+++ b/share/txr/stdlib/optimize.tl
@@ -479,18 +479,15 @@
(set bl.links nil)
(set bl.rlinks nil))
bb.(link-graph)
- (let* ((visited (hash :eq-based))
- (reachable (build
- (labels ((visit (bl)
- (when (test-set [visited bl])
- (add bl)
- (when bl.next
- (visit bl.next))
- [mapcar visit bl.links])))
- (for ((bl bb.root)) (bl) ((set bl bl.next))
- (add bl)
- (visit bl))
- (visit bb.root)))))
+ (let* ((visited (hash :eq-based)))
+ (labels ((visit (bl)
+ (when (test-set [visited bl])
+ (when bl.next
+ (visit bl.next))
+ [mapcar visit bl.links])))
+ (for ((bl bb.root)) (bl) ((set bl bl.next))
+ (visit bl))
+ (visit bb.root))
(set bb.list [keep-if visited bb.list])
(each ((bl bb.list))
bb.(elim-next-jump bl)))