diff options
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/optimize.tl | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/stdlib/optimize.tl b/stdlib/optimize.tl index 24cad22f..089b1334 100644 --- a/stdlib/optimize.tl +++ b/stdlib/optimize.tl @@ -363,8 +363,10 @@ (defmeth basic-blocks rename (bb insns dst src) (build (whilet ((insn (pop insns))) - (let ((li [bb.li-hash insn])) + (let ((close (if-match (close . @nil) insn t)) + (li [bb.li-hash insn])) (cond + (close (add insn)) ((or (mequal li.def0 dst src) (mequal li.def1 dst src)) (add insn) |