diff options
Diffstat (limited to 'module/language/tree-il/cse.scm')
-rw-r--r-- | module/language/tree-il/cse.scm | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/module/language/tree-il/cse.scm b/module/language/tree-il/cse.scm index d8c7e3fc9..b025bcb08 100644 --- a/module/language/tree-il/cse.scm +++ b/module/language/tree-il/cse.scm @@ -1,6 +1,6 @@ ;;; Common Subexpression Elimination (CSE) on Tree-IL -;; Copyright (C) 2011, 2012 Free Software Foundation, Inc. +;; Copyright (C) 2011, 2012, 2013 Free Software Foundation, Inc. ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -535,8 +535,10 @@ (return (make-application src proc args) (concat db** db*)))) (($ <lambda> src meta body) - (let*-values (((body _) (visit body (control-flow-boundary db) - env 'values))) + (let*-values (((body _) (if body + (visit body (control-flow-boundary db) + env 'values) + (values #f #f)))) (return (make-lambda src meta body) vlist-null))) (($ <lambda-case> src req opt rest kw inits gensyms body alt) |