summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--stdlib/optimize.tl6
1 files changed, 3 insertions, 3 deletions
diff --git a/stdlib/optimize.tl b/stdlib/optimize.tl
index 5f81bc10..628a5317 100644
--- a/stdlib/optimize.tl
+++ b/stdlib/optimize.tl
@@ -123,12 +123,12 @@
(defmeth basic-blocks link-graph (bb)
(set bb.root (car bb.list))
- (each ((bl bb.list))
+ (each* ((bl bb.list)
+ (nxbl (append (cdr bl) '(nil))))
(let* ((code bl.insns)
(tail (last code))
(linsn (car tail))
- (link-next t)
- (nxbl (cadr (memq bl bb.list))))
+ (link-next t))
(set bl.next nxbl)
(match-case linsn
((jmp @jlabel)