Minor optimizer cleanup.

This commit is contained in:
Eric Dobson 2013-05-29 22:07:34 -07:00
parent 54153fbb2e
commit 8baccb2af5

View File

@ -17,6 +17,11 @@
(define-syntax-class opt-expr
#:commit
#:literal-sets (kernel-literals)
#:attributes (opt)
(pattern opt:expr
#:when (or (ignore-property #'opt)
(ignore-some-property #'opt)
(with-handlers-property #'opt)))
;; can't optimize the body of this code because it isn't typechecked
(pattern ((~and op (~literal let-values))
@ -86,18 +91,7 @@
#:with opt #'other))
(define (optimize-top stx)
(parameterize
([optimize
(syntax-parser
[e:expr
#:when (and (not (ignore-property #'e))
(not (ignore-some-property #'e))
(not (with-handlers-property #'e))
#;
(not (kw-lambda-property #'e)))
#:with e*:opt-expr #'e
#'e*.opt]
[e:expr #'e])])
(parameterize ([optimize (syntax-parser [e:opt-expr #'e.opt])])
(let ((result ((optimize) stx)))
(when *show-optimized-code*
(pretty-print (syntax->datum result)))