summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2023-05-04 20:44:01 -0700
committerKaz Kylheku <kaz@kylheku.com>2023-05-04 20:44:01 -0700
commitd7949c371a527ca4064bbe59b2768361dd7ab7e0 (patch)
treefa1c3d2e53cf7aa93cabbe5fe45ab213b1f97219
parent8e13cbf1f9de8bb1996710512e15a41c0d008771 (diff)
downloadtxr-d7949c371a527ca4064bbe59b2768361dd7ab7e0.tar.gz
txr-d7949c371a527ca4064bbe59b2768361dd7ab7e0.tar.bz2
txr-d7949c371a527ca4064bbe59b2768361dd7ab7e0.zip
compiler: bugfix: wrong condition in late-peephole.
* stdlib/optimize.tl (basic-blocks late-peephole): The test whether lab2 is used is bogus, and will never be true. The correct test is simply whether the block has two or more rlinks. This makes no
-rw-r--r--stdlib/optimize.tl2
1 files changed, 1 insertions, 1 deletions
diff --git a/stdlib/optimize.tl b/stdlib/optimize.tl
index bf82e5c1..9950d934 100644
--- a/stdlib/optimize.tl
+++ b/stdlib/optimize.tl
@@ -642,7 +642,7 @@
@lab1
. @rest)
(let* ((bl [bb.hash lab2]))
- (if (some bl.rlinks (op eq bb) .next)
+ (if (cdr bl.rlinks)
insns
^((ifq ,reg (t 0) ,lab3)
,lab1