From 4a6b3b2b5700466cae86b27db020feee068f827d Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Thu, 14 Oct 2010 11:35:12 -0400 Subject: [PATCH] Removed logging when no optimization actually happens. original commit: 12a5454b147468df59e92cb7057e0e9515ad5abd --- .../optimizer/tests/dead-substructs.rkt | 3 - .../typed-scheme/optimizer/tests/in-bytes.rkt | 13 ---- .../typed-scheme/optimizer/tests/in-list.rkt | 13 ---- .../optimizer/tests/in-string.rkt | 13 ---- .../optimizer/tests/in-vector.rkt | 13 ---- .../optimizer/tests/invalid-unboxed-let2.rkt | 25 ++++--- .../optimizer/tests/let-float.rkt | 5 +- .../typed-scheme/optimizer/tests/let-rhs.rkt | 3 +- .../optimizer/tests/nested-let-loop.rkt | 70 +++++++++---------- .../optimizer/tests/real-part-loop.rkt | 37 +++++----- .../optimizer/tests/sqrt-segfault.rkt | 8 +-- .../optimizer/tests/unboxed-for.rkt | 66 ++++++++--------- .../tests/unboxed-let-functions1.rkt | 33 +++++---- .../tests/unboxed-let-functions2.rkt | 45 ++++++------ .../tests/unboxed-let-functions3.rkt | 33 +++++---- .../tests/unboxed-let-functions4.rkt | 33 +++++---- .../tests/unboxed-let-functions5.rkt | 10 ++- .../tests/unboxed-let-functions6.rkt | 41 ++++++----- .../tests/unboxed-let-functions7.rkt | 37 +++++----- .../tests/unboxed-let-functions8.rkt | 9 ++- .../typed-scheme/optimizer/unboxed-let.rkt | 7 +- 21 files changed, 222 insertions(+), 295 deletions(-) diff --git a/collects/tests/typed-scheme/optimizer/tests/dead-substructs.rkt b/collects/tests/typed-scheme/optimizer/tests/dead-substructs.rkt index 3e644029..638a5cf0 100644 --- a/collects/tests/typed-scheme/optimizer/tests/dead-substructs.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/dead-substructs.rkt @@ -1,8 +1,5 @@ #; ( -dead-substructs.rkt line 22 col 2 - (let-values () (quote 1)) - unboxed let bindings -dead-substructs.rkt line 22 col 2 - (let-values () (quote 2)) - unboxed let bindings -dead-substructs.rkt line 22 col 2 - (let-values () (#%app error (quote eh?))) - unboxed let bindings 1 2 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/in-bytes.rkt b/collects/tests/typed-scheme/optimizer/tests/in-bytes.rkt index 8508fde9..1835fe3f 100644 --- a/collects/tests/typed-scheme/optimizer/tests/in-bytes.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/in-bytes.rkt @@ -1,19 +1,6 @@ #; ( #f line #f col #f - make-sequence - in-bytes -#f line #f col #f - (let-values (((pos->vals pos-next init pos-cont? val-cont? all-cont?) (#%app make-sequence (quote (i)) (quote 123)))) (#%app void) (#%app (letrec-values (((for-loop) (lambda (fold-var pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) fold-var)))) for-loop) (#%app void) init)) - unboxed let bindings -#f line #f col #f - (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))) - unboxed let bindings -#f line #f col #f - (let-values () (let-values () (#%app display i)) (#%app void)) - unboxed let bindings -#f line #f col #f - (let-values () (#%app display i)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) - unboxed let bindings -in-bytes.rkt line 22 col 0 - (letrec-values (((for-loop) (lambda (fold-var pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) fold-var)))) for-loop) - unboxed let bindings -#f line #f col #f - (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))) - unboxed let bindings -#f line #f col #f - (let-values () (let-values () (#%app display i)) (#%app void)) - unboxed let bindings -#f line #f col #f - (let-values () (#%app display i)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) - unboxed let bindings -in-bytes.rkt line 22 col 0 - (letrec-values (((for-loop) (lambda (fold-var pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) fold-var)))) for-loop) - unboxed let bindings 495051) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/in-list.rkt b/collects/tests/typed-scheme/optimizer/tests/in-list.rkt index a53f90c6..d32781de 100644 --- a/collects/tests/typed-scheme/optimizer/tests/in-list.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/in-list.rkt @@ -1,19 +1,6 @@ #; ( #f line #f col #f - make-sequence - in-list -#f line #f col #f - (let-values (((pos->vals pos-next init pos-cont? val-cont? all-cont?) (#%app make-sequence (quote (i)) (quote (1 2 3))))) (#%app void) (#%app (letrec-values (((for-loop) (lambda (fold-var pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) fold-var)))) for-loop) (#%app void) init)) - unboxed let bindings -#f line #f col #f - (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))) - unboxed let bindings -#f line #f col #f - (let-values () (let-values () (#%app display i)) (#%app void)) - unboxed let bindings -#f line #f col #f - (let-values () (#%app display i)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) - unboxed let bindings -in-list.rkt line 22 col 0 - (letrec-values (((for-loop) (lambda (fold-var pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) fold-var)))) for-loop) - unboxed let bindings -#f line #f col #f - (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))) - unboxed let bindings -#f line #f col #f - (let-values () (let-values () (#%app display i)) (#%app void)) - unboxed let bindings -#f line #f col #f - (let-values () (#%app display i)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) - unboxed let bindings -in-list.rkt line 22 col 0 - (letrec-values (((for-loop) (lambda (fold-var pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) fold-var)))) for-loop) - unboxed let bindings 123) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/in-string.rkt b/collects/tests/typed-scheme/optimizer/tests/in-string.rkt index 9f311c48..869316f4 100644 --- a/collects/tests/typed-scheme/optimizer/tests/in-string.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/in-string.rkt @@ -1,19 +1,6 @@ #; ( #f line #f col #f - make-sequence - in-string -#f line #f col #f - (let-values (((pos->vals pos-next init pos-cont? val-cont? all-cont?) (#%app make-sequence (quote (i)) (quote 123)))) (#%app void) (#%app (letrec-values (((for-loop) (lambda (fold-var pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) fold-var)))) for-loop) (#%app void) init)) - unboxed let bindings -#f line #f col #f - (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))) - unboxed let bindings -#f line #f col #f - (let-values () (let-values () (#%app display i)) (#%app void)) - unboxed let bindings -#f line #f col #f - (let-values () (#%app display i)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) - unboxed let bindings -in-string.rkt line 22 col 0 - (letrec-values (((for-loop) (lambda (fold-var pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) fold-var)))) for-loop) - unboxed let bindings -#f line #f col #f - (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))) - unboxed let bindings -#f line #f col #f - (let-values () (let-values () (#%app display i)) (#%app void)) - unboxed let bindings -#f line #f col #f - (let-values () (#%app display i)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) - unboxed let bindings -in-string.rkt line 22 col 0 - (letrec-values (((for-loop) (lambda (fold-var pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) fold-var)))) for-loop) - unboxed let bindings 123) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/in-vector.rkt b/collects/tests/typed-scheme/optimizer/tests/in-vector.rkt index 5554babd..cabc9474 100644 --- a/collects/tests/typed-scheme/optimizer/tests/in-vector.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/in-vector.rkt @@ -1,19 +1,6 @@ #; ( #f line #f col #f - make-sequence - in-vector -#f line #f col #f - (let-values (((pos->vals pos-next init pos-cont? val-cont? all-cont?) (#%app make-sequence (quote (i)) (#%app vector (quote 1) (quote 2) (quote 3))))) (#%app void) (#%app (letrec-values (((for-loop) (lambda (fold-var pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) fold-var)))) for-loop) (#%app void) init)) - unboxed let bindings -#f line #f col #f - (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))) - unboxed let bindings -#f line #f col #f - (let-values () (let-values () (#%app display i)) (#%app void)) - unboxed let bindings -#f line #f col #f - (let-values () (#%app display i)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) - unboxed let bindings -in-vector.rkt line 22 col 0 - (letrec-values (((for-loop) (lambda (fold-var pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) fold-var)))) for-loop) - unboxed let bindings -#f line #f col #f - (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))) - unboxed let bindings -#f line #f col #f - (let-values () (let-values () (#%app display i)) (#%app void)) - unboxed let bindings -#f line #f col #f - (let-values () (#%app display i)) - unboxed let bindings -#f line #f col #f - (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) - unboxed let bindings -in-vector.rkt line 22 col 0 - (letrec-values (((for-loop) (lambda (fold-var pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((fold-var) (let-values (((fold-var) fold-var)) (let-values () (let-values () (#%app display i)) (#%app void))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop fold-var (#%app pos-next pos)) fold-var)) fold-var)) fold-var)))) for-loop) - unboxed let bindings 123) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let2.rkt b/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let2.rkt index 79a58dab..ff2dd31f 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let2.rkt @@ -1,18 +1,17 @@ #; ( -invalid-unboxed-let2.rkt line 25 col 33 - 1.0+2.0i - unboxed literal -invalid-unboxed-let2.rkt line 25 col 42 - 2.0+4.0i - unboxed literal -invalid-unboxed-let2.rkt line 25 col 31 - + - unboxed binary float complex -invalid-unboxed-let2.rkt line 25 col 30 - (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) - unboxed float complex -invalid-unboxed-let2.rkt line 25 col 55 - 3.0+6.0i - unboxed literal -invalid-unboxed-let2.rkt line 25 col 64 - 4.0+8.0i - unboxed literal -invalid-unboxed-let2.rkt line 25 col 53 - + - unboxed binary float complex -invalid-unboxed-let2.rkt line 25 col 52 - (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i)) - unboxed float complex -invalid-unboxed-let2.rkt line 25 col 0 - (let-values (((t1 t2) (#%app values (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i))))) (#%app + t1 t2)) - unboxed let bindings -invalid-unboxed-let2.rkt line 26 col 5 - t1 - unbox float-complex -invalid-unboxed-let2.rkt line 26 col 8 - t2 - unbox float-complex -invalid-unboxed-let2.rkt line 26 col 3 - + - unboxed binary float complex -invalid-unboxed-let2.rkt line 26 col 2 - (#%app + t1 t2) - unboxed float complex +invalid-unboxed-let2.rkt line 24 col 33 - 1.0+2.0i - unboxed literal +invalid-unboxed-let2.rkt line 24 col 42 - 2.0+4.0i - unboxed literal +invalid-unboxed-let2.rkt line 24 col 31 - + - unboxed binary float complex +invalid-unboxed-let2.rkt line 24 col 30 - (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) - unboxed float complex +invalid-unboxed-let2.rkt line 24 col 55 - 3.0+6.0i - unboxed literal +invalid-unboxed-let2.rkt line 24 col 64 - 4.0+8.0i - unboxed literal +invalid-unboxed-let2.rkt line 24 col 53 - + - unboxed binary float complex +invalid-unboxed-let2.rkt line 24 col 52 - (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i)) - unboxed float complex +invalid-unboxed-let2.rkt line 25 col 5 - t1 - unbox float-complex +invalid-unboxed-let2.rkt line 25 col 8 - t2 - unbox float-complex +invalid-unboxed-let2.rkt line 25 col 3 - + - unboxed binary float complex +invalid-unboxed-let2.rkt line 25 col 2 - (#%app + t1 t2) - unboxed float complex 10.0+20.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/let-float.rkt b/collects/tests/typed-scheme/optimizer/tests/let-float.rkt index 09f4ca14..a7e6d6fa 100644 --- a/collects/tests/typed-scheme/optimizer/tests/let-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/let-float.rkt @@ -1,8 +1,7 @@ #; ( -let-float.rkt line 12 col 10 - + - binary float -let-float.rkt line 12 col 0 - (let-values (((x) (#%app + (quote 3.0) (quote 2.0)))) (#%app * (quote 9.0) x)) - unboxed let bindings -let-float.rkt line 13 col 3 - * - binary float +let-float.rkt line 11 col 10 - + - binary float +let-float.rkt line 12 col 3 - * - binary float 45.0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/let-rhs.rkt b/collects/tests/typed-scheme/optimizer/tests/let-rhs.rkt index b6994657..4ffc7ce5 100644 --- a/collects/tests/typed-scheme/optimizer/tests/let-rhs.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/let-rhs.rkt @@ -1,7 +1,6 @@ #; ( -let-rhs.rkt line 13 col 10 - + - binary float -let-rhs.rkt line 13 col 0 - (let-values (((x) (#%app + (quote 1.0) (quote 2.0)))) x) - unboxed let bindings +let-rhs.rkt line 12 col 10 - + - binary float 3.0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/nested-let-loop.rkt b/collects/tests/typed-scheme/optimizer/tests/nested-let-loop.rkt index 4d55b2e0..8a44e45b 100644 --- a/collects/tests/typed-scheme/optimizer/tests/nested-let-loop.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/nested-let-loop.rkt @@ -1,43 +1,41 @@ #; ( -nested-let-loop.rkt line 58 col 38 - r - unbox float-complex -nested-let-loop.rkt line 58 col 40 - s - unbox float-complex -nested-let-loop.rkt line 58 col 36 - + - unboxed binary float complex -nested-let-loop.rkt line 58 col 35 - (#%app + r s) - unboxed float complex -nested-let-loop.rkt line 51 col 8 - r - unboxed var -> table -nested-let-loop.rkt line 49 col 6 - loop1 - unboxed function -> table -nested-let-loop.rkt line 49 col 6 - loop1 - fun -> unboxed fun -nested-let-loop.rkt line 53 col 10 - r - unboxed complex variable -nested-let-loop.rkt line 58 col 38 - r - leave var unboxed -nested-let-loop.rkt line 58 col 40 - s - unbox float-complex -nested-let-loop.rkt line 58 col 36 - + - unboxed binary float complex -nested-let-loop.rkt line 58 col 35 - (#%app + r s) - unboxed float complex -nested-let-loop.rkt line 56 col 18 - s - unboxed var -> table -nested-let-loop.rkt line 54 col 16 - loop2 - unboxed function -> table -nested-let-loop.rkt line 54 col 16 - loop2 - fun -> unboxed fun -nested-let-loop.rkt line 58 col 38 - r - leave var unboxed -nested-let-loop.rkt line 58 col 40 - s - leave var unboxed -nested-let-loop.rkt line 58 col 36 - + - unboxed binary float complex -nested-let-loop.rkt line 58 col 21 - loop1 - unboxed call site -nested-let-loop.rkt line 58 col 28 - cdr - pair -nested-let-loop.rkt line 58 col 21 - loop1 - call to fun with unboxed args -nested-let-loop.rkt line 59 col 38 - s - leave var unboxed -nested-let-loop.rkt line 59 col 40 - (#%app car x) - unbox float-complex -nested-let-loop.rkt line 59 col 41 - car - pair -nested-let-loop.rkt line 59 col 48 - (#%app car y) - unbox float-complex -nested-let-loop.rkt line 59 col 49 - car - pair -nested-let-loop.rkt line 59 col 36 - + - unboxed binary float complex -nested-let-loop.rkt line 59 col 21 - loop2 - unboxed call site -nested-let-loop.rkt line 59 col 28 - cdr - pair -nested-let-loop.rkt line 59 col 21 - loop2 - call to fun with unboxed args -#f line #f col #f - (letrec-values (((loop2) (lambda (y s) (if (#%app null? y) (#%app loop1 (#%app cdr x) (#%app + r s)) (#%app loop2 (#%app cdr y) (#%app + s (#%app car x) (#%app car y))))))) loop2) - unboxed let bindings -nested-let-loop.rkt line 56 col 38 - 0.0+0.0i - unboxed literal +nested-let-loop.rkt line 56 col 38 - r - unbox float-complex +nested-let-loop.rkt line 56 col 40 - s - unbox float-complex +nested-let-loop.rkt line 56 col 36 - + - unboxed binary float complex +nested-let-loop.rkt line 56 col 35 - (#%app + r s) - unboxed float complex +nested-let-loop.rkt line 49 col 8 - r - unboxed var -> table +nested-let-loop.rkt line 47 col 6 - loop1 - unboxed function -> table +nested-let-loop.rkt line 47 col 6 - loop1 - fun -> unboxed fun +nested-let-loop.rkt line 51 col 10 - r - unboxed complex variable +nested-let-loop.rkt line 56 col 38 - r - leave var unboxed +nested-let-loop.rkt line 56 col 40 - s - unbox float-complex +nested-let-loop.rkt line 56 col 36 - + - unboxed binary float complex +nested-let-loop.rkt line 56 col 35 - (#%app + r s) - unboxed float complex +nested-let-loop.rkt line 54 col 18 - s - unboxed var -> table +nested-let-loop.rkt line 52 col 16 - loop2 - unboxed function -> table +nested-let-loop.rkt line 52 col 16 - loop2 - fun -> unboxed fun +nested-let-loop.rkt line 56 col 38 - r - leave var unboxed +nested-let-loop.rkt line 56 col 40 - s - leave var unboxed +nested-let-loop.rkt line 56 col 36 - + - unboxed binary float complex +nested-let-loop.rkt line 56 col 21 - loop1 - unboxed call site +nested-let-loop.rkt line 56 col 28 - cdr - pair +nested-let-loop.rkt line 56 col 21 - loop1 - call to fun with unboxed args +nested-let-loop.rkt line 57 col 38 - s - leave var unboxed +nested-let-loop.rkt line 57 col 40 - (#%app car x) - unbox float-complex +nested-let-loop.rkt line 57 col 41 - car - pair +nested-let-loop.rkt line 57 col 48 - (#%app car y) - unbox float-complex +nested-let-loop.rkt line 57 col 49 - car - pair +nested-let-loop.rkt line 57 col 36 - + - unboxed binary float complex +nested-let-loop.rkt line 57 col 21 - loop2 - unboxed call site +nested-let-loop.rkt line 57 col 28 - cdr - pair +nested-let-loop.rkt line 57 col 21 - loop2 - call to fun with unboxed args +nested-let-loop.rkt line 54 col 38 - 0.0+0.0i - unboxed literal #f line #f col #f - (letrec-values (((loop2) (lambda (y s) (if (#%app null? y) (#%app loop1 (#%app cdr x) (#%app + r s)) (#%app loop2 (#%app cdr y) (#%app + s (#%app car x) (#%app car y))))))) loop2) - unboxed call site -nested-let-loop.rkt line 54 col 16 - loop2 - unboxed let loop -#f line #f col #f - (letrec-values (((loop1) (lambda (x r) (if (#%app null? x) r (#%app (letrec-values (((loop2) (lambda (y s) (if (#%app null? y) (#%app loop1 (#%app cdr x) (#%app + r s)) (#%app loop2 (#%app cdr y) (#%app + s (#%app car x) (#%app car y))))))) loop2) (quote (3.0+6.0i 4.0+8.0i)) (quote 0.0+0.0i)))))) loop1) - unboxed let bindings -nested-let-loop.rkt line 51 col 28 - 0.0+0.0i - unboxed literal +nested-let-loop.rkt line 52 col 16 - loop2 - unboxed let loop +nested-let-loop.rkt line 49 col 28 - 0.0+0.0i - unboxed literal #f line #f col #f - (letrec-values (((loop1) (lambda (x r) (if (#%app null? x) r (#%app (letrec-values (((loop2) (lambda (y s) (if (#%app null? y) (#%app loop1 (#%app cdr x) (#%app + r s)) (#%app loop2 (#%app cdr y) (#%app + s (#%app car x) (#%app car y))))))) loop2) (quote (3.0+6.0i 4.0+8.0i)) (quote 0.0+0.0i)))))) loop1) - unboxed call site -nested-let-loop.rkt line 49 col 6 - loop1 - unboxed let loop +nested-let-loop.rkt line 47 col 6 - loop1 - unboxed let loop 20.0+40.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/real-part-loop.rkt b/collects/tests/typed-scheme/optimizer/tests/real-part-loop.rkt index 45637a4d..b6bb0384 100644 --- a/collects/tests/typed-scheme/optimizer/tests/real-part-loop.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/real-part-loop.rkt @@ -1,24 +1,23 @@ #; ( -real-part-loop.rkt line 32 col 20 - v - unbox float-complex -real-part-loop.rkt line 32 col 10 - real-part - unboxed unary float complex -real-part-loop.rkt line 32 col 9 - (#%app real-part v) - unboxed float complex->float -real-part-loop.rkt line 31 col 13 - v - unboxed var -> table -real-part-loop.rkt line 31 col 6 - loop - unboxed function -> table -real-part-loop.rkt line 31 col 6 - loop - fun -> unboxed fun -real-part-loop.rkt line 32 col 20 - v - unboxed complex variable -real-part-loop.rkt line 32 col 20 - v - leave var unboxed -real-part-loop.rkt line 32 col 10 - real-part - unboxed float complex -real-part-loop.rkt line 32 col 7 - > - binary float comp -real-part-loop.rkt line 34 col 15 - v - leave var unboxed -real-part-loop.rkt line 34 col 17 - (quote 3.6) - float-coerce-expr in complex ops -real-part-loop.rkt line 34 col 13 - + - unboxed binary float complex -real-part-loop.rkt line 34 col 7 - loop - unboxed call site -real-part-loop.rkt line 34 col 7 - loop - call to fun with unboxed args -real-part-loop.rkt line 31 col 1 - (letrec-values (((loop) (lambda (v) (if (#%app > (#%app real-part v) (quote 70000.2)) (quote 0) (#%app loop (#%app + v (quote 3.6))))))) loop) - unboxed let bindings -real-part-loop.rkt line 31 col 15 - 0.0+1.0i - unboxed literal -real-part-loop.rkt line 31 col 1 - (letrec-values (((loop) (lambda (v) (if (#%app > (#%app real-part v) (quote 70000.2)) (quote 0) (#%app loop (#%app + v (quote 3.6))))))) loop) - unboxed call site -real-part-loop.rkt line 31 col 6 - loop - unboxed let loop +real-part-loop.rkt line 31 col 20 - v - unbox float-complex +real-part-loop.rkt line 31 col 10 - real-part - unboxed unary float complex +real-part-loop.rkt line 31 col 9 - (#%app real-part v) - unboxed float complex->float +real-part-loop.rkt line 30 col 13 - v - unboxed var -> table +real-part-loop.rkt line 30 col 6 - loop - unboxed function -> table +real-part-loop.rkt line 30 col 6 - loop - fun -> unboxed fun +real-part-loop.rkt line 31 col 20 - v - unboxed complex variable +real-part-loop.rkt line 31 col 20 - v - leave var unboxed +real-part-loop.rkt line 31 col 10 - real-part - unboxed float complex +real-part-loop.rkt line 31 col 7 - > - binary float comp +real-part-loop.rkt line 33 col 15 - v - leave var unboxed +real-part-loop.rkt line 33 col 17 - (quote 3.6) - float-coerce-expr in complex ops +real-part-loop.rkt line 33 col 13 - + - unboxed binary float complex +real-part-loop.rkt line 33 col 7 - loop - unboxed call site +real-part-loop.rkt line 33 col 7 - loop - call to fun with unboxed args +real-part-loop.rkt line 30 col 15 - 0.0+1.0i - unboxed literal +real-part-loop.rkt line 30 col 1 - (letrec-values (((loop) (lambda (v) (if (#%app > (#%app real-part v) (quote 70000.2)) (quote 0) (#%app loop (#%app + v (quote 3.6))))))) loop) - unboxed call site +real-part-loop.rkt line 30 col 6 - loop - unboxed let loop 0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/sqrt-segfault.rkt b/collects/tests/typed-scheme/optimizer/tests/sqrt-segfault.rkt index b3886761..a72b5155 100644 --- a/collects/tests/typed-scheme/optimizer/tests/sqrt-segfault.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/sqrt-segfault.rkt @@ -1,11 +1,7 @@ #; ( -sqrt-segfault.rkt line 22 col 15 - - - binary float -sqrt-segfault.rkt line 22 col 0 - (let-values (((dx) (#%app - (quote 0.0) (quote 0.0)))) (let-values (((dist2) (#%app * dx dx))) (let-values (((mag) (let-values (((val) (#%app * dist2 (#%app sqrt dist2)))) (if (#%app flonum? val) val (#%app error (quote Assertion failed)))))) (#%app void)))) - unboxed let bindings -sqrt-segfault.rkt line 23 col 15 - * - binary float -sqrt-segfault.rkt line 22 col 0 - (let-values (((dist2) (#%app * dx dx))) (let-values (((mag) (let-values (((val) (#%app * dist2 (#%app sqrt dist2)))) (if (#%app flonum? val) val (#%app error (quote Assertion failed)))))) (#%app void))) - unboxed let bindings -sqrt-segfault.rkt line 24 col 14 - (let-values (((val) (#%app * dist2 (#%app sqrt dist2)))) (if (#%app flonum? val) val (#%app error (quote Assertion failed)))) - unboxed let bindings -sqrt-segfault.rkt line 22 col 0 - (let-values (((mag) (let-values (((val) (#%app * dist2 (#%app sqrt dist2)))) (if (#%app flonum? val) val (#%app error (quote Assertion failed)))))) (#%app void)) - unboxed let bindings +sqrt-segfault.rkt line 18 col 15 - - - binary float +sqrt-segfault.rkt line 19 col 15 - * - binary float ) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt index 63045602..bf7dffc8 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt @@ -1,48 +1,44 @@ #; ( #f line #f col #f - make-sequence - in-list -#f line #f col #f - (let-values (((pos->vals pos-next init pos-cont? val-cont? all-cont?) (#%app make-sequence (quote (i)) (quote (1.0+2.0i 2.0+4.0i))))) (#%app void) (#%app (letrec-values (((for-loop) (lambda (sum pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((sum) (let-values (((sum) sum)) (let-values () (#%app + i sum))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop sum (#%app pos-next pos)) sum)) sum)) sum)))) for-loop) (quote 0.0+0.0i) init)) - unboxed let bindings -unboxed-for.rkt line 57 col 9 - i - unbox float-complex -unboxed-for.rkt line 57 col 11 - sum - unbox float-complex -unboxed-for.rkt line 57 col 7 - + - unboxed binary float complex -unboxed-for.rkt line 57 col 6 - (#%app + i sum) - unboxed float complex -unboxed-for.rkt line 57 col 9 - i - unbox float-complex -unboxed-for.rkt line 57 col 11 - sum - unbox float-complex -unboxed-for.rkt line 57 col 7 - + - unboxed binary float complex -unboxed-for.rkt line 57 col 6 - (#%app + i sum) - unboxed float complex -unboxed-for.rkt line 55 col 31 - sum - unboxed var -> table +unboxed-for.rkt line 53 col 9 - i - unbox float-complex +unboxed-for.rkt line 53 col 11 - sum - unbox float-complex +unboxed-for.rkt line 53 col 7 - + - unboxed binary float complex +unboxed-for.rkt line 53 col 6 - (#%app + i sum) - unboxed float complex +unboxed-for.rkt line 53 col 9 - i - unbox float-complex +unboxed-for.rkt line 53 col 11 - sum - unbox float-complex +unboxed-for.rkt line 53 col 7 - + - unboxed binary float complex +unboxed-for.rkt line 53 col 6 - (#%app + i sum) - unboxed float complex +unboxed-for.rkt line 51 col 31 - sum - unboxed var -> table #f line #f col #f - for-loop - unboxed function -> table #f line #f col #f - for-loop - fun -> unboxed fun -unboxed-for.rkt line 55 col 31 - sum - unboxed complex variable -unboxed-for.rkt line 57 col 9 - i - unbox float-complex -unboxed-for.rkt line 57 col 11 - sum - unbox float-complex -unboxed-for.rkt line 57 col 7 - + - unboxed binary float complex -unboxed-for.rkt line 57 col 6 - (#%app + i sum) - unboxed float complex +unboxed-for.rkt line 51 col 31 - sum - unboxed complex variable +unboxed-for.rkt line 53 col 9 - i - unbox float-complex +unboxed-for.rkt line 53 col 11 - sum - unbox float-complex +unboxed-for.rkt line 53 col 7 - + - unboxed binary float complex +unboxed-for.rkt line 53 col 6 - (#%app + i sum) - unboxed float complex #f line #f col #f - (#%app pos->vals pos) - unbox float-complex #f line #f col #f - (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((sum) (let-values (((sum) sum)) (let-values () (#%app + i sum))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop sum (#%app pos-next pos)) sum)) sum)) - unboxed let bindings -unboxed-for.rkt line 56 col 13 - i - unboxed complex variable -unboxed-for.rkt line 56 col 13 - i - unboxed complex variable -unboxed-for.rkt line 57 col 9 - i - leave var unboxed -unboxed-for.rkt line 57 col 11 - sum - unbox float-complex -unboxed-for.rkt line 57 col 7 - + - unboxed binary float complex -unboxed-for.rkt line 57 col 6 - (#%app + i sum) - unboxed float complex -unboxed-for.rkt line 55 col 31 - sum - leave var unboxed +unboxed-for.rkt line 52 col 13 - i - unboxed complex variable +unboxed-for.rkt line 52 col 13 - i - unboxed complex variable +unboxed-for.rkt line 53 col 9 - i - leave var unboxed +unboxed-for.rkt line 53 col 11 - sum - unbox float-complex +unboxed-for.rkt line 53 col 7 - + - unboxed binary float complex +unboxed-for.rkt line 53 col 6 - (#%app + i sum) - unboxed float complex +unboxed-for.rkt line 51 col 31 - sum - leave var unboxed #f line #f col #f - (let-values (((sum) sum)) (let-values () (#%app + i sum))) - unboxed let bindings -#f line #f col #f - (let-values () (#%app + i sum)) - unboxed let bindings -unboxed-for.rkt line 57 col 9 - i - leave var unboxed -unboxed-for.rkt line 57 col 11 - sum - leave var unboxed -unboxed-for.rkt line 57 col 7 - + - unboxed binary float complex -unboxed-for.rkt line 57 col 6 - (#%app + i sum) - unboxed float complex -#f line #f col #f - (let-values (((sum) (let-values (((sum) sum)) (let-values () (#%app + i sum))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop sum (#%app pos-next pos)) sum)) - unboxed let bindings -unboxed-for.rkt line 56 col 13 - i - unboxed complex variable -unboxed-for.rkt line 55 col 31 - sum - unbox float-complex +unboxed-for.rkt line 53 col 9 - i - leave var unboxed +unboxed-for.rkt line 53 col 11 - sum - leave var unboxed +unboxed-for.rkt line 53 col 7 - + - unboxed binary float complex +unboxed-for.rkt line 53 col 6 - (#%app + i sum) - unboxed float complex +unboxed-for.rkt line 52 col 13 - i - unboxed complex variable +unboxed-for.rkt line 51 col 31 - sum - unbox float-complex #f line #f col #f - for-loop - unboxed call site #f line #f col #f - for-loop - call to fun with unboxed args -unboxed-for.rkt line 55 col 31 - sum - unboxed complex variable -unboxed-for.rkt line 55 col 31 - sum - unboxed complex variable -unboxed-for.rkt line 55 col 0 - (letrec-values (((for-loop) (lambda (sum pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((sum) (let-values (((sum) sum)) (let-values () (#%app + i sum))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop sum (#%app pos-next pos)) sum)) sum)) sum)))) for-loop) - unboxed let bindings -unboxed-for.rkt line 55 col 53 - 0.0+0.0i - unboxed literal -unboxed-for.rkt line 55 col 0 - (letrec-values (((for-loop) (lambda (sum pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((sum) (let-values (((sum) sum)) (let-values () (#%app + i sum))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop sum (#%app pos-next pos)) sum)) sum)) sum)))) for-loop) - unboxed call site +unboxed-for.rkt line 51 col 31 - sum - unboxed complex variable +unboxed-for.rkt line 51 col 31 - sum - unboxed complex variable +unboxed-for.rkt line 51 col 53 - 0.0+0.0i - unboxed literal +unboxed-for.rkt line 51 col 0 - (letrec-values (((for-loop) (lambda (sum pos) (if (#%expression (#%app pos-cont? pos)) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (#%app val-cont? i)) (let-values (((sum) (let-values (((sum) sum)) (let-values () (#%app + i sum))))) (if (#%expression (#%app all-cont? pos i)) (#%app for-loop sum (#%app pos-next pos)) sum)) sum)) sum)))) for-loop) - unboxed call site #f line #f col #f - for-loop - unboxed let loop 3.0+6.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions1.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions1.rkt index 13859b9b..991ee793 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions1.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions1.rkt @@ -1,22 +1,21 @@ #; ( -unboxed-let-functions1.rkt line 29 col 45 - x - unbox float-complex -unboxed-let-functions1.rkt line 29 col 47 - 3.0+6.0i - unboxed literal -unboxed-let-functions1.rkt line 29 col 43 - + - unboxed binary float complex -unboxed-let-functions1.rkt line 29 col 42 - (#%app + x (quote 3.0+6.0i)) - unboxed float complex -unboxed-let-functions1.rkt line 29 col 20 - x - unboxed var -> table -unboxed-let-functions1.rkt line 29 col 7 - f - unboxed function -> table -unboxed-let-functions1.rkt line 29 col 7 - f - fun -> unboxed fun -unboxed-let-functions1.rkt line 29 col 45 - x - leave var unboxed -unboxed-let-functions1.rkt line 29 col 47 - 3.0+6.0i - unboxed literal -unboxed-let-functions1.rkt line 29 col 43 - + - unboxed binary float complex -unboxed-let-functions1.rkt line 29 col 42 - (#%app + x (quote 3.0+6.0i)) - unboxed float complex -unboxed-let-functions1.rkt line 29 col 0 - (let-values (((f) (lambda (x) (#%app + x (quote 3.0+6.0i))))) (#%app f (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)))) - unboxed let bindings -unboxed-let-functions1.rkt line 30 col 8 - 1.0+2.0i - unboxed literal -unboxed-let-functions1.rkt line 30 col 17 - 2.0+4.0i - unboxed literal -unboxed-let-functions1.rkt line 30 col 6 - + - unboxed binary float complex -unboxed-let-functions1.rkt line 30 col 3 - f - unboxed call site -unboxed-let-functions1.rkt line 30 col 3 - f - call to fun with unboxed args +unboxed-let-functions1.rkt line 28 col 45 - x - unbox float-complex +unboxed-let-functions1.rkt line 28 col 47 - 3.0+6.0i - unboxed literal +unboxed-let-functions1.rkt line 28 col 43 - + - unboxed binary float complex +unboxed-let-functions1.rkt line 28 col 42 - (#%app + x (quote 3.0+6.0i)) - unboxed float complex +unboxed-let-functions1.rkt line 28 col 20 - x - unboxed var -> table +unboxed-let-functions1.rkt line 28 col 7 - f - unboxed function -> table +unboxed-let-functions1.rkt line 28 col 7 - f - fun -> unboxed fun +unboxed-let-functions1.rkt line 28 col 45 - x - leave var unboxed +unboxed-let-functions1.rkt line 28 col 47 - 3.0+6.0i - unboxed literal +unboxed-let-functions1.rkt line 28 col 43 - + - unboxed binary float complex +unboxed-let-functions1.rkt line 28 col 42 - (#%app + x (quote 3.0+6.0i)) - unboxed float complex +unboxed-let-functions1.rkt line 29 col 8 - 1.0+2.0i - unboxed literal +unboxed-let-functions1.rkt line 29 col 17 - 2.0+4.0i - unboxed literal +unboxed-let-functions1.rkt line 29 col 6 - + - unboxed binary float complex +unboxed-let-functions1.rkt line 29 col 3 - f - unboxed call site +unboxed-let-functions1.rkt line 29 col 3 - f - call to fun with unboxed args 6.0+12.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions2.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions2.rkt index 3dd599be..4282f227 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions2.rkt @@ -1,28 +1,27 @@ #; ( -unboxed-let-functions2.rkt line 36 col 21 - x - unbox float-complex -unboxed-let-functions2.rkt line 36 col 23 - y - unbox float-complex -unboxed-let-functions2.rkt line 36 col 19 - + - unboxed binary float complex -unboxed-let-functions2.rkt line 36 col 18 - (#%app + x y) - unboxed float complex -unboxed-let-functions2.rkt line 35 col 20 - x - unboxed var -> table -unboxed-let-functions2.rkt line 36 col 21 - x - unbox float-complex -unboxed-let-functions2.rkt line 36 col 23 - y - unbox float-complex -unboxed-let-functions2.rkt line 36 col 19 - + - unboxed binary float complex -unboxed-let-functions2.rkt line 36 col 18 - (#%app + x y) - unboxed float complex -unboxed-let-functions2.rkt line 35 col 42 - y - unboxed var -> table -unboxed-let-functions2.rkt line 35 col 7 - f - unboxed function -> table -unboxed-let-functions2.rkt line 35 col 7 - f - fun -> unboxed fun -unboxed-let-functions2.rkt line 36 col 21 - x - leave var unboxed -unboxed-let-functions2.rkt line 36 col 23 - y - leave var unboxed -unboxed-let-functions2.rkt line 36 col 19 - + - unboxed binary float complex -unboxed-let-functions2.rkt line 36 col 18 - (#%app + x y) - unboxed float complex -unboxed-let-functions2.rkt line 35 col 0 - (let-values (((f) (lambda (x y) (#%app + x y)))) (#%app f (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) (quote 3.0+6.0i))) - unboxed let bindings -unboxed-let-functions2.rkt line 37 col 8 - 1.0+2.0i - unboxed literal -unboxed-let-functions2.rkt line 37 col 17 - 2.0+4.0i - unboxed literal -unboxed-let-functions2.rkt line 37 col 6 - + - unboxed binary float complex -unboxed-let-functions2.rkt line 38 col 5 - 3.0+6.0i - unboxed literal -unboxed-let-functions2.rkt line 37 col 3 - f - unboxed call site -unboxed-let-functions2.rkt line 37 col 3 - f - call to fun with unboxed args +unboxed-let-functions2.rkt line 35 col 21 - x - unbox float-complex +unboxed-let-functions2.rkt line 35 col 23 - y - unbox float-complex +unboxed-let-functions2.rkt line 35 col 19 - + - unboxed binary float complex +unboxed-let-functions2.rkt line 35 col 18 - (#%app + x y) - unboxed float complex +unboxed-let-functions2.rkt line 34 col 20 - x - unboxed var -> table +unboxed-let-functions2.rkt line 35 col 21 - x - unbox float-complex +unboxed-let-functions2.rkt line 35 col 23 - y - unbox float-complex +unboxed-let-functions2.rkt line 35 col 19 - + - unboxed binary float complex +unboxed-let-functions2.rkt line 35 col 18 - (#%app + x y) - unboxed float complex +unboxed-let-functions2.rkt line 34 col 42 - y - unboxed var -> table +unboxed-let-functions2.rkt line 34 col 7 - f - unboxed function -> table +unboxed-let-functions2.rkt line 34 col 7 - f - fun -> unboxed fun +unboxed-let-functions2.rkt line 35 col 21 - x - leave var unboxed +unboxed-let-functions2.rkt line 35 col 23 - y - leave var unboxed +unboxed-let-functions2.rkt line 35 col 19 - + - unboxed binary float complex +unboxed-let-functions2.rkt line 35 col 18 - (#%app + x y) - unboxed float complex +unboxed-let-functions2.rkt line 36 col 8 - 1.0+2.0i - unboxed literal +unboxed-let-functions2.rkt line 36 col 17 - 2.0+4.0i - unboxed literal +unboxed-let-functions2.rkt line 36 col 6 - + - unboxed binary float complex +unboxed-let-functions2.rkt line 37 col 5 - 3.0+6.0i - unboxed literal +unboxed-let-functions2.rkt line 36 col 3 - f - unboxed call site +unboxed-let-functions2.rkt line 36 col 3 - f - call to fun with unboxed args 6.0+12.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions3.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions3.rkt index 74298a16..737a2068 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions3.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions3.rkt @@ -1,22 +1,21 @@ #; ( -unboxed-let-functions3.rkt line 30 col 21 - x - unbox float-complex -unboxed-let-functions3.rkt line 30 col 23 - y - float-coerce-expr in complex ops -unboxed-let-functions3.rkt line 30 col 19 - + - unboxed binary float complex -unboxed-let-functions3.rkt line 30 col 18 - (#%app + x y) - unboxed float complex -unboxed-let-functions3.rkt line 29 col 20 - x - unboxed var -> table -unboxed-let-functions3.rkt line 29 col 7 - f - unboxed function -> table -unboxed-let-functions3.rkt line 29 col 7 - f - fun -> unboxed fun -unboxed-let-functions3.rkt line 30 col 21 - x - leave var unboxed -unboxed-let-functions3.rkt line 30 col 23 - y - float-coerce-expr in complex ops -unboxed-let-functions3.rkt line 30 col 19 - + - unboxed binary float complex -unboxed-let-functions3.rkt line 30 col 18 - (#%app + x y) - unboxed float complex -unboxed-let-functions3.rkt line 29 col 0 - (let-values (((f) (lambda (x y) (#%app + x y)))) (#%app f (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) (quote 3.0))) - unboxed let bindings -unboxed-let-functions3.rkt line 31 col 8 - 1.0+2.0i - unboxed literal -unboxed-let-functions3.rkt line 31 col 17 - 2.0+4.0i - unboxed literal -unboxed-let-functions3.rkt line 31 col 6 - + - unboxed binary float complex -unboxed-let-functions3.rkt line 31 col 3 - f - unboxed call site -unboxed-let-functions3.rkt line 31 col 3 - f - call to fun with unboxed args +unboxed-let-functions3.rkt line 29 col 21 - x - unbox float-complex +unboxed-let-functions3.rkt line 29 col 23 - y - float-coerce-expr in complex ops +unboxed-let-functions3.rkt line 29 col 19 - + - unboxed binary float complex +unboxed-let-functions3.rkt line 29 col 18 - (#%app + x y) - unboxed float complex +unboxed-let-functions3.rkt line 28 col 20 - x - unboxed var -> table +unboxed-let-functions3.rkt line 28 col 7 - f - unboxed function -> table +unboxed-let-functions3.rkt line 28 col 7 - f - fun -> unboxed fun +unboxed-let-functions3.rkt line 29 col 21 - x - leave var unboxed +unboxed-let-functions3.rkt line 29 col 23 - y - float-coerce-expr in complex ops +unboxed-let-functions3.rkt line 29 col 19 - + - unboxed binary float complex +unboxed-let-functions3.rkt line 29 col 18 - (#%app + x y) - unboxed float complex +unboxed-let-functions3.rkt line 30 col 8 - 1.0+2.0i - unboxed literal +unboxed-let-functions3.rkt line 30 col 17 - 2.0+4.0i - unboxed literal +unboxed-let-functions3.rkt line 30 col 6 - + - unboxed binary float complex +unboxed-let-functions3.rkt line 30 col 3 - f - unboxed call site +unboxed-let-functions3.rkt line 30 col 3 - f - call to fun with unboxed args 6.0+6.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions4.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions4.rkt index eab9b166..12f4d0a0 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions4.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions4.rkt @@ -1,22 +1,21 @@ #; ( -unboxed-let-functions4.rkt line 30 col 21 - x - unbox float-complex -unboxed-let-functions4.rkt line 30 col 23 - y - float-coerce-expr in complex ops -unboxed-let-functions4.rkt line 30 col 19 - + - unboxed binary float complex -unboxed-let-functions4.rkt line 30 col 18 - (#%app + x y) - unboxed float complex -unboxed-let-functions4.rkt line 29 col 32 - x - unboxed var -> table -unboxed-let-functions4.rkt line 29 col 7 - f - unboxed function -> table -unboxed-let-functions4.rkt line 29 col 7 - f - fun -> unboxed fun -unboxed-let-functions4.rkt line 30 col 21 - x - leave var unboxed -unboxed-let-functions4.rkt line 30 col 23 - y - float-coerce-expr in complex ops -unboxed-let-functions4.rkt line 30 col 19 - + - unboxed binary float complex -unboxed-let-functions4.rkt line 30 col 18 - (#%app + x y) - unboxed float complex -unboxed-let-functions4.rkt line 29 col 0 - (let-values (((f) (lambda (y x) (#%app + x y)))) (#%app f (quote 3.0) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)))) - unboxed let bindings -unboxed-let-functions4.rkt line 32 col 8 - 1.0+2.0i - unboxed literal -unboxed-let-functions4.rkt line 32 col 17 - 2.0+4.0i - unboxed literal -unboxed-let-functions4.rkt line 32 col 6 - + - unboxed binary float complex -unboxed-let-functions4.rkt line 31 col 3 - f - unboxed call site -unboxed-let-functions4.rkt line 31 col 3 - f - call to fun with unboxed args +unboxed-let-functions4.rkt line 29 col 21 - x - unbox float-complex +unboxed-let-functions4.rkt line 29 col 23 - y - float-coerce-expr in complex ops +unboxed-let-functions4.rkt line 29 col 19 - + - unboxed binary float complex +unboxed-let-functions4.rkt line 29 col 18 - (#%app + x y) - unboxed float complex +unboxed-let-functions4.rkt line 28 col 32 - x - unboxed var -> table +unboxed-let-functions4.rkt line 28 col 7 - f - unboxed function -> table +unboxed-let-functions4.rkt line 28 col 7 - f - fun -> unboxed fun +unboxed-let-functions4.rkt line 29 col 21 - x - leave var unboxed +unboxed-let-functions4.rkt line 29 col 23 - y - float-coerce-expr in complex ops +unboxed-let-functions4.rkt line 29 col 19 - + - unboxed binary float complex +unboxed-let-functions4.rkt line 29 col 18 - (#%app + x y) - unboxed float complex +unboxed-let-functions4.rkt line 31 col 8 - 1.0+2.0i - unboxed literal +unboxed-let-functions4.rkt line 31 col 17 - 2.0+4.0i - unboxed literal +unboxed-let-functions4.rkt line 31 col 6 - + - unboxed binary float complex +unboxed-let-functions4.rkt line 30 col 3 - f - unboxed call site +unboxed-let-functions4.rkt line 30 col 3 - f - call to fun with unboxed args 6.0+6.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions5.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions5.rkt index 6ba6003f..0505dea8 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions5.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions5.rkt @@ -1,11 +1,9 @@ #; ( -unboxed-let-functions5.rkt line 20 col 22 - (let-values (((y) f)) x) - unboxed let bindings -unboxed-let-functions5.rkt line 18 col 0 - (letrec-values (((f) (lambda (x) (let-values (((y) f)) x)))) (#%app f (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)))) - unboxed let bindings -unboxed-let-functions5.rkt line 22 col 15 - 1.0+2.0i - unboxed literal -unboxed-let-functions5.rkt line 22 col 24 - 2.0+4.0i - unboxed literal -unboxed-let-functions5.rkt line 22 col 13 - + - unboxed binary float complex -unboxed-let-functions5.rkt line 22 col 12 - (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) - unboxed float complex +unboxed-let-functions5.rkt line 20 col 15 - 1.0+2.0i - unboxed literal +unboxed-let-functions5.rkt line 20 col 24 - 2.0+4.0i - unboxed literal +unboxed-let-functions5.rkt line 20 col 13 - + - unboxed binary float complex +unboxed-let-functions5.rkt line 20 col 12 - (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) - unboxed float complex 3.0+6.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions6.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions6.rkt index be9b6c72..8f52c88d 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions6.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions6.rkt @@ -1,27 +1,26 @@ #; ( -unboxed-let-functions6.rkt line 36 col 13 - z - unbox float-complex -unboxed-let-functions6.rkt line 36 col 15 - 0.0+1.0i - unboxed literal -unboxed-let-functions6.rkt line 36 col 11 - + - unboxed binary float complex -unboxed-let-functions6.rkt line 36 col 10 - (#%app + z (quote 0.0+1.0i)) - unboxed float complex -unboxed-let-functions6.rkt line 33 col 31 - z - unboxed var -> table -unboxed-let-functions6.rkt line 33 col 6 - loop - unboxed function -> table -unboxed-let-functions6.rkt line 33 col 6 - loop - fun -> unboxed fun -unboxed-let-functions6.rkt line 36 col 13 - z - leave var unboxed -unboxed-let-functions6.rkt line 36 col 15 - 0.0+1.0i - unboxed literal -unboxed-let-functions6.rkt line 36 col 11 - + - unboxed binary float complex -unboxed-let-functions6.rkt line 36 col 10 - (#%app + z (quote 0.0+1.0i)) - unboxed float complex -unboxed-let-functions6.rkt line 37 col 19 - z - leave var unboxed -unboxed-let-functions6.rkt line 37 col 22 - car - pair -unboxed-let-functions6.rkt line 37 col 21 - (#%app car l) - float-coerce-expr in complex ops -unboxed-let-functions6.rkt line 37 col 17 - + - unboxed binary float complex -unboxed-let-functions6.rkt line 37 col 11 - loop - unboxed call site -unboxed-let-functions6.rkt line 38 col 17 - cdr - pair -unboxed-let-functions6.rkt line 37 col 11 - loop - call to fun with unboxed args -#f line #f col #f - (letrec-values (((loop) (lambda (z l) (if (#%app null? l) (#%app + z (quote 0.0+1.0i)) (#%app loop (#%app + z (#%app car l)) (#%app cdr l)))))) loop) - unboxed let bindings -unboxed-let-functions6.rkt line 33 col 51 - 0.0+0.0i - unboxed literal +unboxed-let-functions6.rkt line 35 col 13 - z - unbox float-complex +unboxed-let-functions6.rkt line 35 col 15 - 0.0+1.0i - unboxed literal +unboxed-let-functions6.rkt line 35 col 11 - + - unboxed binary float complex +unboxed-let-functions6.rkt line 35 col 10 - (#%app + z (quote 0.0+1.0i)) - unboxed float complex +unboxed-let-functions6.rkt line 32 col 31 - z - unboxed var -> table +unboxed-let-functions6.rkt line 32 col 6 - loop - unboxed function -> table +unboxed-let-functions6.rkt line 32 col 6 - loop - fun -> unboxed fun +unboxed-let-functions6.rkt line 35 col 13 - z - leave var unboxed +unboxed-let-functions6.rkt line 35 col 15 - 0.0+1.0i - unboxed literal +unboxed-let-functions6.rkt line 35 col 11 - + - unboxed binary float complex +unboxed-let-functions6.rkt line 35 col 10 - (#%app + z (quote 0.0+1.0i)) - unboxed float complex +unboxed-let-functions6.rkt line 36 col 19 - z - leave var unboxed +unboxed-let-functions6.rkt line 36 col 22 - car - pair +unboxed-let-functions6.rkt line 36 col 21 - (#%app car l) - float-coerce-expr in complex ops +unboxed-let-functions6.rkt line 36 col 17 - + - unboxed binary float complex +unboxed-let-functions6.rkt line 36 col 11 - loop - unboxed call site +unboxed-let-functions6.rkt line 37 col 17 - cdr - pair +unboxed-let-functions6.rkt line 36 col 11 - loop - call to fun with unboxed args +unboxed-let-functions6.rkt line 32 col 51 - 0.0+0.0i - unboxed literal #f line #f col #f - (letrec-values (((loop) (lambda (z l) (if (#%app null? l) (#%app + z (quote 0.0+1.0i)) (#%app loop (#%app + z (#%app car l)) (#%app cdr l)))))) loop) - unboxed call site -unboxed-let-functions6.rkt line 33 col 6 - loop - unboxed let loop +unboxed-let-functions6.rkt line 32 col 6 - loop - unboxed let loop 6.0+1.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions7.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions7.rkt index b6bf4de4..96e07c09 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions7.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions7.rkt @@ -1,25 +1,24 @@ #; ( -unboxed-let-functions7.rkt line 35 col 15 - z - unbox float-complex -unboxed-let-functions7.rkt line 35 col 18 - car - pair -unboxed-let-functions7.rkt line 35 col 17 - (#%app car l) - float-coerce-expr in complex ops -unboxed-let-functions7.rkt line 35 col 13 - + - unboxed binary float complex -unboxed-let-functions7.rkt line 35 col 12 - (#%app + z (#%app car l)) - unboxed float complex -unboxed-let-functions7.rkt line 31 col 31 - z - unboxed var -> table -unboxed-let-functions7.rkt line 31 col 6 - loop - unboxed function -> table -unboxed-let-functions7.rkt line 31 col 6 - loop - fun -> unboxed fun -unboxed-let-functions7.rkt line 34 col 6 - z - unboxed complex variable -unboxed-let-functions7.rkt line 35 col 15 - z - leave var unboxed -unboxed-let-functions7.rkt line 35 col 18 - car - pair -unboxed-let-functions7.rkt line 35 col 17 - (#%app car l) - float-coerce-expr in complex ops -unboxed-let-functions7.rkt line 35 col 13 - + - unboxed binary float complex -unboxed-let-functions7.rkt line 35 col 7 - loop - unboxed call site -unboxed-let-functions7.rkt line 36 col 13 - cdr - pair -unboxed-let-functions7.rkt line 35 col 7 - loop - call to fun with unboxed args -#f line #f col #f - (letrec-values (((loop) (lambda (z l) (if (#%app null? l) z (#%app loop (#%app + z (#%app car l)) (#%app cdr l)))))) loop) - unboxed let bindings -unboxed-let-functions7.rkt line 31 col 51 - 0.0+0.0i - unboxed literal +unboxed-let-functions7.rkt line 34 col 15 - z - unbox float-complex +unboxed-let-functions7.rkt line 34 col 18 - car - pair +unboxed-let-functions7.rkt line 34 col 17 - (#%app car l) - float-coerce-expr in complex ops +unboxed-let-functions7.rkt line 34 col 13 - + - unboxed binary float complex +unboxed-let-functions7.rkt line 34 col 12 - (#%app + z (#%app car l)) - unboxed float complex +unboxed-let-functions7.rkt line 30 col 31 - z - unboxed var -> table +unboxed-let-functions7.rkt line 30 col 6 - loop - unboxed function -> table +unboxed-let-functions7.rkt line 30 col 6 - loop - fun -> unboxed fun +unboxed-let-functions7.rkt line 33 col 6 - z - unboxed complex variable +unboxed-let-functions7.rkt line 34 col 15 - z - leave var unboxed +unboxed-let-functions7.rkt line 34 col 18 - car - pair +unboxed-let-functions7.rkt line 34 col 17 - (#%app car l) - float-coerce-expr in complex ops +unboxed-let-functions7.rkt line 34 col 13 - + - unboxed binary float complex +unboxed-let-functions7.rkt line 34 col 7 - loop - unboxed call site +unboxed-let-functions7.rkt line 35 col 13 - cdr - pair +unboxed-let-functions7.rkt line 34 col 7 - loop - call to fun with unboxed args +unboxed-let-functions7.rkt line 30 col 51 - 0.0+0.0i - unboxed literal #f line #f col #f - (letrec-values (((loop) (lambda (z l) (if (#%app null? l) z (#%app loop (#%app + z (#%app car l)) (#%app cdr l)))))) loop) - unboxed call site -unboxed-let-functions7.rkt line 31 col 6 - loop - unboxed let loop +unboxed-let-functions7.rkt line 30 col 6 - loop - unboxed let loop 6.0+0.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions8.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions8.rkt index ad38880b..73f41df3 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions8.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions8.rkt @@ -1,10 +1,9 @@ #; ( -unboxed-let-functions8.rkt line 16 col 67 - x - unbox float-complex -unboxed-let-functions8.rkt line 16 col 69 - 2.0+4.0i - unboxed literal -unboxed-let-functions8.rkt line 16 col 65 - + - unboxed binary float complex -unboxed-let-functions8.rkt line 16 col 64 - (#%app + x (quote 2.0+4.0i)) - unboxed float complex -unboxed-let-functions8.rkt line 16 col 0 - (letrec-values (((f) (lambda (x) (#%app + x (quote 2.0+4.0i)))) ((g) f)) (#%app f (quote 1.0+2.0i))) - unboxed let bindings +unboxed-let-functions8.rkt line 15 col 67 - x - unbox float-complex +unboxed-let-functions8.rkt line 15 col 69 - 2.0+4.0i - unboxed literal +unboxed-let-functions8.rkt line 15 col 65 - + - unboxed binary float complex +unboxed-let-functions8.rkt line 15 col 64 - (#%app + x (quote 2.0+4.0i)) - unboxed float complex 3.0+6.0i ) diff --git a/collects/typed-scheme/optimizer/unboxed-let.rkt b/collects/typed-scheme/optimizer/unboxed-let.rkt index 16764d85..7ef2dc0a 100644 --- a/collects/typed-scheme/optimizer/unboxed-let.rkt +++ b/collects/typed-scheme/optimizer/unboxed-let.rkt @@ -126,13 +126,18 @@ #:with (opt-functions:unboxed-fun-clause ...) #'(function-candidates ...) #:with (opt-others:opt-let-clause ...) #'(others ...) #:with opt - (begin (log-optimization "unboxed let bindings" this-syntax) + (begin (when (not (null? (syntax->list #'(opt-candidates.id ...)))) + ;; only log when we actually optimize + (log-optimization "unboxed let bindings" this-syntax)) ;; add the unboxed bindings to the table, for them to be used by ;; further optimizations (for ((v (in-list (syntax->list #'(opt-candidates.id ...)))) (r (in-list (syntax->list #'(opt-candidates.real-binding ...)))) (i (in-list (syntax->list #'(opt-candidates.imag-binding ...))))) (dict-set! unboxed-vars-table v (list r i))) + ;; in the case where no bindings are unboxed, we create a let + ;; that is equivalent to the original, but with all parts + ;; optimized #`(letk.key ... (opt-candidates.bindings ... ... opt-functions.res ...