summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-02-08 06:45:01 -0800
committerKaz Kylheku <kaz@kylheku.com>2021-02-08 06:45:01 -0800
commit7d34bf0f489009caed4a2958ea8c05adbf692145 (patch)
treefe9a705a5c556adf0ada454d2aba492515f0cb5b
parent42e024e6d5c09b8a3aee50160ef825e7362f3bef (diff)
downloadtxr-7d34bf0f489009caed4a2958ea8c05adbf692145.tar.gz
txr-7d34bf0f489009caed4a2958ea8c05adbf692145.tar.bz2
txr-7d34bf0f489009caed4a2958ea8c05adbf692145.zip
compiler: frame optimizations apply to dframe too.
* share/txr/stdlib/optimize.tl (basic-blocks peephole): Use or pattern to look for dframe as well as frame.
-rw-r--r--share/txr/stdlib/optimize.tl4
1 files changed, 2 insertions, 2 deletions
diff --git a/share/txr/stdlib/optimize.tl b/share/txr/stdlib/optimize.tl
index 537d064c..c06c5d22 100644
--- a/share/txr/stdlib/optimize.tl
+++ b/share/txr/stdlib/optimize.tl
@@ -130,13 +130,13 @@
(((mov @reg0 @reg1) (mov reg1 @reg0) . @rest)
^(,(car insns) ,*rest))
;; frame reduction
- (((frame @lev @size)
+ (((@(or frame dframe) @lev @size)
(@(or call gcall mov)
. @(require @(coll (v @vlev @nil))
(none vlev (op eql (ppred lev)))))
. @rest)
^(,(cadr insns) ,(car insns) ,*rest))
- (((frame . @nil)
+ (((@(or frame dframe) . @nil)
(if (t @reg) @jlabel) . @rest)
(let ((jinsns [bb.hash jlabel]))
(match-case jinsns