diff options
author | Andy Wingo <wingo@pobox.com> | 2011-09-22 12:26:02 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2011-09-24 17:09:40 +0200 |
commit | dd7ab5d8a44a34112b3992a711db2851f503ce00 (patch) | |
tree | 5fcad75e33d70e88f963f5685b8f5481492c6dea | |
parent | c829531a4652b2cf4d4aac1eb0af08c3231bdecf (diff) | |
download | guile-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.scm | 2 |
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)) |