mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-21 12:10:26 +02:00
minor peval style tweak
* module/language/tree-il/optimize.scm (peval): Minor refactor to <lexical-ref> copy propagation.
This commit is contained in:
parent
c829531a46
commit
dd7ab5d8a4
1 changed files with 1 additions and 1 deletions
|
@ -436,7 +436,7 @@ it does not handle <fix> and <let-values>, it should be called before
|
||||||
(($ <lexical-ref> _ _ gensym)
|
(($ <lexical-ref> _ _ gensym)
|
||||||
;; Propagate only pure expressions.
|
;; Propagate only pure expressions.
|
||||||
(let ((val (lookup gensym)))
|
(let ((val (lookup gensym)))
|
||||||
(or (and (pure-expression? val) val) exp)))
|
(if (pure-expression? val) val exp)))
|
||||||
;; Lexical set! causes a bailout.
|
;; Lexical set! causes a bailout.
|
||||||
(($ <let> src names gensyms vals body)
|
(($ <let> src names gensyms vals body)
|
||||||
(let* ((vals* (map (cut loop <> env calls) vals))
|
(let* ((vals* (map (cut loop <> env calls) vals))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue