summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2014-07-21 17:30:16 +0200
committerAndy Wingo <wingo@pobox.com>2014-07-21 21:38:17 +0200
commit6fc634f8a378475efa336afadb8cef26807bd0cb (patch)
tree7cc9c84e372d3c83ee3a08d679ef24b2009b0a19
parent30411abf5caf98ebe8dbb7c5d63c8ba43b488d4b (diff)
downloadguile-6fc634f8a378475efa336afadb8cef26807bd0cb.tar.gz
CSE allocate-struct fix
* module/language/cps/cse.scm (compute-equivalent-subexpressions): Fix handling of allocate-struct in tail position.
-rw-r--r--module/language/cps/cse.scm1
1 files changed, 1 insertions, 0 deletions
diff --git a/module/language/cps/cse.scm b/module/language/cps/cse.scm
index ab48290b8..204480e09 100644
--- a/module/language/cps/cse.scm
+++ b/module/language/cps/cse.scm
@@ -341,6 +341,7 @@ could be that both true and false proofs are available."
(('primcall (or 'allocate-struct 'allocate-struct/immediate)
vtable size)
(match defs
+ (() #f) ;; allocate-struct in tail or kreceive position.
((struct)
(add-def! `(primcall struct-vtable ,(subst-var struct))
vtable))))