summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-09-22 12:26:02 +0200
committerAndy Wingo <wingo@pobox.com>2011-09-24 17:09:40 +0200
commitdd7ab5d8a44a34112b3992a711db2851f503ce00 (patch)
tree5fcad75e33d70e88f963f5685b8f5481492c6dea
parentc829531a4652b2cf4d4aac1eb0af08c3231bdecf (diff)
downloadguile-dd7ab5d8a44a34112b3992a711db2851f503ce00.tar.gz
minor peval style tweak
* module/language/tree-il/optimize.scm (peval): Minor refactor to <lexical-ref> copy propagation.
-rw-r--r--module/language/tree-il/optimize.scm2
1 files changed, 1 insertions, 1 deletions
diff --git a/module/language/tree-il/optimize.scm b/module/language/tree-il/optimize.scm
index 848b7e92d..9b76f69f7 100644
--- a/module/language/tree-il/optimize.scm
+++ b/module/language/tree-il/optimize.scm
@@ -436,7 +436,7 @@ it does not handle <fix> and <let-values>, it should be called before
(($ <lexical-ref> _ _ gensym)
;; Propagate only pure expressions.
(let ((val (lookup gensym)))
- (or (and (pure-expression? val) val) exp)))
+ (if (pure-expression? val) val exp)))
;; Lexical set! causes a bailout.
(($ <let> src names gensyms vals body)
(let* ((vals* (map (cut loop <> env calls) vals))