From f3e69a8ac48f4ea2f22d3af1273cb407432d36ba Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Fri, 27 May 2011 16:49:11 -0400 Subject: [PATCH] Sort optimizer logs by source location, to prepare for eventual user consumption. original commit: 9ae4f82c0a3992508afdd4fbb5cbc355fa146b03 --- .../missed-optimizations/precision-loss.rkt | 2 +- .../optimizer/tests/binary-fixnum.rkt | 2 +- .../optimizer/tests/binary-nonzero-fixnum.rkt | 2 +- .../optimizer/tests/dead-else.rkt | 4 +- .../optimizer/tests/derived-pair.rkt | 10 ++-- .../optimizer/tests/derived-pair2.rkt | 22 ++++---- .../optimizer/tests/derived-pair3.rkt | 46 ++++++++--------- .../optimizer/tests/fixnum-bounded-expr.rkt | 14 ++--- .../optimizer/tests/fixnum-comparison.rkt | 2 +- .../tests/float-complex-conjugate-top.rkt | 6 +-- .../tests/float-complex-conjugate.rkt | 10 ++-- .../optimizer/tests/float-complex-div.rkt | 4 +- .../optimizer/tests/float-complex-fixnum.rkt | 6 +-- .../tests/float-complex-float-div.rkt | 32 ++++++------ .../tests/float-complex-float-mul.rkt | 24 ++++----- .../tests/float-complex-float-small.rkt | 24 ++++----- .../optimizer/tests/float-complex-float.rkt | 16 +++--- .../optimizer/tests/float-complex-i.rkt | 6 +-- .../optimizer/tests/float-complex-integer.rkt | 4 +- .../optimizer/tests/float-complex-mult.rkt | 4 +- .../optimizer/tests/float-complex-parts.rkt | 6 +-- .../optimizer/tests/float-complex-parts2.rkt | 24 ++++----- .../optimizer/tests/float-complex-parts3.rkt | 32 ++++++------ .../optimizer/tests/float-complex-sin.rkt | 4 +- .../optimizer/tests/float-complex.rkt | 8 +-- .../optimizer/tests/float-promotion.rkt | 2 +- .../optimizer/tests/invalid-unboxed-let.rkt | 16 +++--- .../optimizer/tests/invalid-unboxed-let2.rkt | 12 ++--- .../optimizer/tests/known-vector-length.rkt | 2 +- .../optimizer/tests/magnitude.rkt | 4 +- .../optimizer/tests/make-polar.rkt | 20 ++++---- .../optimizer/tests/maybe-exact-complex.rkt | 4 +- .../optimizer/tests/n-ary-float-complex.rkt | 4 +- .../optimizer/tests/nested-float-complex.rkt | 6 +-- .../optimizer/tests/nested-float.rkt | 2 +- .../optimizer/tests/nested-float2.rkt | 2 +- .../optimizer/tests/nested-let-loop.rkt | 42 +++++++-------- .../optimizer/tests/nested-unboxed-let.rkt | 22 ++++---- .../optimizer/tests/real-part-loop.rkt | 28 +++++----- .../optimizer/tests/unary-fixnum-nested.rkt | 2 +- .../optimizer/tests/unboxed-for.rkt | 34 ++++++------- .../tests/unboxed-let-functions1.rkt | 18 +++---- .../tests/unboxed-let-functions2.rkt | 18 +++---- .../tests/unboxed-let-functions3.rkt | 18 +++---- .../tests/unboxed-let-functions4.rkt | 18 +++---- .../tests/unboxed-let-functions5.rkt | 4 +- .../tests/unboxed-let-functions6.rkt | 30 +++++------ .../tests/unboxed-let-functions7.rkt | 28 +++++----- .../tests/unboxed-let-functions8.rkt | 4 +- .../optimizer/tests/unboxed-let.rkt | 26 +++++----- .../optimizer/tests/unboxed-let2.rkt | 14 ++--- .../optimizer/tests/unboxed-let3.rkt | 12 ++--- .../tests/unboxed-letrec-syntaxes+values.rkt | 12 ++--- .../optimizer/tests/unboxed-letrec.rkt | 12 ++--- .../tests/unboxed-make-rectangular.rkt | 20 ++++---- .../typed-scheme/optimizer/tests/zero.rkt | 2 +- collects/typed-scheme/optimizer/optimizer.rkt | 8 ++- collects/typed-scheme/optimizer/utils.rkt | 51 +++++++++++++++---- 58 files changed, 423 insertions(+), 388 deletions(-) diff --git a/collects/tests/typed-scheme/optimizer/missed-optimizations/precision-loss.rkt b/collects/tests/typed-scheme/optimizer/missed-optimizations/precision-loss.rkt index b9f1bac9..1f7b1c52 100644 --- a/collects/tests/typed-scheme/optimizer/missed-optimizations/precision-loss.rkt +++ b/collects/tests/typed-scheme/optimizer/missed-optimizations/precision-loss.rkt @@ -2,8 +2,8 @@ ( precision-loss.rkt 20:3 (#%app * (quote 3/4) (quote 2/3)) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 20:0 (#%app + (#%app * (quote 3/4) (quote 2/3)) (quote 2.0)) precision-loss.rkt 24:3 (#%app - (quote 3/4)) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 24:0 (#%app + (#%app - (quote 3/4)) (quote 2.0)) -precision-loss.rkt 32:8 (#%app * (quote 3/4) (quote 2/3)) -- binary, args all float-arg-expr, return type not Float -- caused by: 32:11 (quote 3/4) precision-loss.rkt 32:0 (#%app * (#%app * (quote 3/4) (quote 2/3)) (quote 2.0)) -- binary, args all float-arg-expr, return type not Float -- caused by: 32:8 (#%app * (quote 3/4) (quote 2/3)) +precision-loss.rkt 32:8 (#%app * (quote 3/4) (quote 2/3)) -- binary, args all float-arg-expr, return type not Float -- caused by: 32:11 (quote 3/4) precision-loss.rkt 32:8 (#%app * (quote 3/4) (quote 2/3)) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 32:0 (#%app * (#%app * (quote 3/4) (quote 2/3)) (quote 2.0)) 2.5 2.75 diff --git a/collects/tests/typed-scheme/optimizer/tests/binary-fixnum.rkt b/collects/tests/typed-scheme/optimizer/tests/binary-fixnum.rkt index 47663ea8..2a14ed2f 100644 --- a/collects/tests/typed-scheme/optimizer/tests/binary-fixnum.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/binary-fixnum.rkt @@ -1,7 +1,7 @@ #; ( -binary-fixnum.rkt 12:16 vector-length -- vector-length binary-fixnum.rkt 12:3 bitwise-and -- binary fixnum +binary-fixnum.rkt 12:16 vector-length -- vector-length ) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/binary-nonzero-fixnum.rkt b/collects/tests/typed-scheme/optimizer/tests/binary-nonzero-fixnum.rkt index ca3f775d..f4e1be83 100644 --- a/collects/tests/typed-scheme/optimizer/tests/binary-nonzero-fixnum.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/binary-nonzero-fixnum.rkt @@ -1,7 +1,7 @@ #; ( -binary-nonzero-fixnum.rkt 11:9 vector-length -- vector-length binary-nonzero-fixnum.rkt 11:1 modulo -- binary nonzero fixnum +binary-nonzero-fixnum.rkt 11:9 vector-length -- vector-length 1 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/dead-else.rkt b/collects/tests/typed-scheme/optimizer/tests/dead-else.rkt index 1efdba37..bb2fab59 100644 --- a/collects/tests/typed-scheme/optimizer/tests/dead-else.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/dead-else.rkt @@ -1,9 +1,9 @@ #; ( -dead-else.rkt 15:13 (#%app + (quote 4.0) (quote 5.0)) -- dead else branch dead-else.rkt 14:14 + -- binary float -dead-else.rkt 18:13 (#%app + (quote 4.0) (quote 5.0)) -- dead else branch +dead-else.rkt 15:13 (#%app + (quote 4.0) (quote 5.0)) -- dead else branch dead-else.rkt 17:14 + -- binary float +dead-else.rkt 18:13 (#%app + (quote 4.0) (quote 5.0)) -- dead else branch 5.05.0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/derived-pair.rkt b/collects/tests/typed-scheme/optimizer/tests/derived-pair.rkt index 6cc4e161..898d032d 100644 --- a/collects/tests/typed-scheme/optimizer/tests/derived-pair.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/derived-pair.rkt @@ -1,15 +1,15 @@ #; ( -derived-pair.rkt 21:0 car -- pair derived-pair.rkt 21:0 (#%app caar (#%app cons (#%app cons (quote 1) (quote 2)) (quote 3))) -- derived pair +derived-pair.rkt 21:0 car -- pair +derived-pair.rkt 22:0 (#%app cadr (#%app cons (quote 1) (#%app cons (quote 2) (quote 3)))) -- derived pair derived-pair.rkt 22:0 car -- pair derived-pair.rkt 22:0 cdr -- pair -derived-pair.rkt 22:0 (#%app cadr (#%app cons (quote 1) (#%app cons (quote 2) (quote 3)))) -- derived pair -derived-pair.rkt 23:0 cdr -- pair -derived-pair.rkt 23:0 car -- pair derived-pair.rkt 23:0 (#%app cdar (#%app cons (#%app cons (quote 1) (quote 2)) (quote 3))) -- derived pair -derived-pair.rkt 24:0 cdr -- pair +derived-pair.rkt 23:0 car -- pair +derived-pair.rkt 23:0 cdr -- pair derived-pair.rkt 24:0 (#%app cddr (#%app cons (quote 1) (#%app cons (quote 2) (quote 3)))) -- derived pair +derived-pair.rkt 24:0 cdr -- pair 1 2 2 diff --git a/collects/tests/typed-scheme/optimizer/tests/derived-pair2.rkt b/collects/tests/typed-scheme/optimizer/tests/derived-pair2.rkt index d76a3910..580376be 100644 --- a/collects/tests/typed-scheme/optimizer/tests/derived-pair2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/derived-pair2.rkt @@ -1,27 +1,27 @@ #; ( -derived-pair2.rkt 37:0 car -- pair derived-pair2.rkt 37:0 (#%app caaar (#%app cons (#%app cons (#%app cons (quote 1) (quote 2)) (quote 3)) (quote 4))) -- derived pair +derived-pair2.rkt 37:0 car -- pair +derived-pair2.rkt 38:0 (#%app caadr (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4)))) -- derived pair derived-pair2.rkt 38:0 car -- pair derived-pair2.rkt 38:0 cdr -- pair -derived-pair2.rkt 38:0 (#%app caadr (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4)))) -- derived pair +derived-pair2.rkt 39:0 (#%app cadar (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (quote 3))) (quote 4))) -- derived pair derived-pair2.rkt 39:0 car -- pair derived-pair2.rkt 39:0 cdr -- pair -derived-pair2.rkt 39:0 (#%app cadar (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (quote 3))) (quote 4))) -- derived pair +derived-pair2.rkt 40:0 (#%app caddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (quote 4))))) -- derived pair derived-pair2.rkt 40:0 car -- pair derived-pair2.rkt 40:0 cdr -- pair -derived-pair2.rkt 40:0 (#%app caddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (quote 4))))) -- derived pair -derived-pair2.rkt 41:0 cdr -- pair -derived-pair2.rkt 41:0 car -- pair derived-pair2.rkt 41:0 (#%app cdaar (#%app cons (#%app cons (#%app cons (quote 1) (quote 2)) (quote 3)) (quote 4))) -- derived pair -derived-pair2.rkt 42:0 cdr -- pair -derived-pair2.rkt 42:0 car -- pair +derived-pair2.rkt 41:0 car -- pair +derived-pair2.rkt 41:0 cdr -- pair derived-pair2.rkt 42:0 (#%app cdadr (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4)))) -- derived pair -derived-pair2.rkt 43:0 cdr -- pair -derived-pair2.rkt 43:0 car -- pair +derived-pair2.rkt 42:0 car -- pair +derived-pair2.rkt 42:0 cdr -- pair derived-pair2.rkt 43:0 (#%app cddar (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (quote 3))) (quote 4))) -- derived pair -derived-pair2.rkt 44:0 cdr -- pair +derived-pair2.rkt 43:0 car -- pair +derived-pair2.rkt 43:0 cdr -- pair derived-pair2.rkt 44:0 (#%app cdddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (quote 4))))) -- derived pair +derived-pair2.rkt 44:0 cdr -- pair 1 2 2 diff --git a/collects/tests/typed-scheme/optimizer/tests/derived-pair3.rkt b/collects/tests/typed-scheme/optimizer/tests/derived-pair3.rkt index c7978c46..7672f4c5 100644 --- a/collects/tests/typed-scheme/optimizer/tests/derived-pair3.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/derived-pair3.rkt @@ -1,51 +1,51 @@ #; ( -derived-pair3.rkt 69:0 car -- pair derived-pair3.rkt 69:0 (#%app caaaar (#%app cons (#%app cons (#%app cons (#%app cons (quote 1) (quote 2)) (quote 3)) (quote 4)) (quote 5))) -- derived pair +derived-pair3.rkt 69:0 car -- pair +derived-pair3.rkt 70:0 (#%app caaadr (#%app cons (quote 1) (#%app cons (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4)) (quote 5)))) -- derived pair derived-pair3.rkt 70:0 car -- pair derived-pair3.rkt 70:0 cdr -- pair -derived-pair3.rkt 70:0 (#%app caaadr (#%app cons (quote 1) (#%app cons (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4)) (quote 5)))) -- derived pair +derived-pair3.rkt 71:0 (#%app caadar (#%app cons (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4))) (quote 5))) -- derived pair derived-pair3.rkt 71:0 car -- pair derived-pair3.rkt 71:0 cdr -- pair -derived-pair3.rkt 71:0 (#%app caadar (#%app cons (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4))) (quote 5))) -- derived pair +derived-pair3.rkt 72:0 (#%app caaddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (#%app cons (quote 3) (quote 4)) (quote 5))))) -- derived pair derived-pair3.rkt 72:0 car -- pair derived-pair3.rkt 72:0 cdr -- pair -derived-pair3.rkt 72:0 (#%app caaddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (#%app cons (quote 3) (quote 4)) (quote 5))))) -- derived pair +derived-pair3.rkt 73:0 (#%app cadaar (#%app cons (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (quote 3))) (quote 4)) (quote 5))) -- derived pair derived-pair3.rkt 73:0 car -- pair derived-pair3.rkt 73:0 cdr -- pair -derived-pair3.rkt 73:0 (#%app cadaar (#%app cons (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (quote 3))) (quote 4)) (quote 5))) -- derived pair +derived-pair3.rkt 74:0 (#%app cadadr (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (#%app cons (quote 3) (quote 4))) (quote 5)))) -- derived pair derived-pair3.rkt 74:0 car -- pair derived-pair3.rkt 74:0 cdr -- pair -derived-pair3.rkt 74:0 (#%app cadadr (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (#%app cons (quote 3) (quote 4))) (quote 5)))) -- derived pair +derived-pair3.rkt 75:0 (#%app caddar (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (quote 4)))) (quote 5))) -- derived pair derived-pair3.rkt 75:0 car -- pair derived-pair3.rkt 75:0 cdr -- pair -derived-pair3.rkt 75:0 (#%app caddar (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (quote 4)))) (quote 5))) -- derived pair +derived-pair3.rkt 76:0 (#%app cadddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (#%app cons (quote 4) (quote 5)))))) -- derived pair derived-pair3.rkt 76:0 car -- pair derived-pair3.rkt 76:0 cdr -- pair -derived-pair3.rkt 76:0 (#%app cadddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (#%app cons (quote 4) (quote 5)))))) -- derived pair -derived-pair3.rkt 77:0 cdr -- pair -derived-pair3.rkt 77:0 car -- pair derived-pair3.rkt 77:0 (#%app cdaaar (#%app cons (#%app cons (#%app cons (#%app cons (quote 1) (quote 2)) (quote 3)) (quote 4)) (quote 5))) -- derived pair -derived-pair3.rkt 78:0 cdr -- pair -derived-pair3.rkt 78:0 car -- pair +derived-pair3.rkt 77:0 car -- pair +derived-pair3.rkt 77:0 cdr -- pair derived-pair3.rkt 78:0 (#%app cdaadr (#%app cons (quote 1) (#%app cons (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4)) (quote 5)))) -- derived pair -derived-pair3.rkt 79:0 cdr -- pair -derived-pair3.rkt 79:0 car -- pair +derived-pair3.rkt 78:0 car -- pair +derived-pair3.rkt 78:0 cdr -- pair derived-pair3.rkt 79:0 (#%app cdadar (#%app cons (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4))) (quote 5))) -- derived pair -derived-pair3.rkt 80:0 cdr -- pair -derived-pair3.rkt 80:0 car -- pair +derived-pair3.rkt 79:0 car -- pair +derived-pair3.rkt 79:0 cdr -- pair derived-pair3.rkt 80:0 (#%app cdaddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (#%app cons (quote 3) (quote 4)) (quote 5))))) -- derived pair -derived-pair3.rkt 81:0 cdr -- pair -derived-pair3.rkt 81:0 car -- pair +derived-pair3.rkt 80:0 car -- pair +derived-pair3.rkt 80:0 cdr -- pair derived-pair3.rkt 81:0 (#%app cddaar (#%app cons (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (quote 3))) (quote 4)) (quote 5))) -- derived pair -derived-pair3.rkt 82:0 cdr -- pair -derived-pair3.rkt 82:0 car -- pair +derived-pair3.rkt 81:0 car -- pair +derived-pair3.rkt 81:0 cdr -- pair derived-pair3.rkt 82:0 (#%app cddadr (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (#%app cons (quote 3) (quote 4))) (quote 5)))) -- derived pair -derived-pair3.rkt 83:0 cdr -- pair -derived-pair3.rkt 83:0 car -- pair +derived-pair3.rkt 82:0 car -- pair +derived-pair3.rkt 82:0 cdr -- pair derived-pair3.rkt 83:0 (#%app cdddar (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (quote 4)))) (quote 5))) -- derived pair -derived-pair3.rkt 84:0 cdr -- pair +derived-pair3.rkt 83:0 car -- pair +derived-pair3.rkt 83:0 cdr -- pair derived-pair3.rkt 84:0 (#%app cddddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (#%app cons (quote 4) (quote 5)))))) -- derived pair +derived-pair3.rkt 84:0 cdr -- pair 1 2 2 diff --git a/collects/tests/typed-scheme/optimizer/tests/fixnum-bounded-expr.rkt b/collects/tests/typed-scheme/optimizer/tests/fixnum-bounded-expr.rkt index e49e1213..4e71c0c1 100644 --- a/collects/tests/typed-scheme/optimizer/tests/fixnum-bounded-expr.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/fixnum-bounded-expr.rkt @@ -1,26 +1,26 @@ #; ( fixnum-bounded-expr.rkt 60:3 + -- fixnum bounded expr -fixnum-bounded-expr.rkt 66:8 * -- fixnum bounded expr fixnum-bounded-expr.rkt 66:3 - -- fixnum bounded expr +fixnum-bounded-expr.rkt 66:8 * -- fixnum bounded expr fixnum-bounded-expr.rkt 73:3 + -- fixnum bounded expr fixnum-bounded-expr.rkt 76:3 + -- fixnum bounded expr fixnum-bounded-expr.rkt 81:1 abs -- fixnum fxabs fixnum-bounded-expr.rkt 84:1 fx+ -- fixnum fx+ +fixnum-bounded-expr.rkt 85:1 fx+ -- fixnum fx+ fixnum-bounded-expr.rkt 85:6 + -- fixnum bounded expr fixnum-bounded-expr.rkt 85:17 * -- fixnum bounded expr -fixnum-bounded-expr.rkt 85:1 fx+ -- fixnum fx+ -fixnum-bounded-expr.rkt 86:9 + -- fixnum bounded expr -fixnum-bounded-expr.rkt 86:6 + -- fixnum bounded expr fixnum-bounded-expr.rkt 86:1 fx+ -- fixnum fx+ -fixnum-bounded-expr.rkt 87:12 + -- fixnum bounded expr -fixnum-bounded-expr.rkt 87:9 + -- fixnum bounded expr +fixnum-bounded-expr.rkt 86:6 + -- fixnum bounded expr +fixnum-bounded-expr.rkt 86:9 + -- fixnum bounded expr fixnum-bounded-expr.rkt 87:1 fx+ -- fixnum fx+ +fixnum-bounded-expr.rkt 87:9 + -- fixnum bounded expr +fixnum-bounded-expr.rkt 87:12 + -- fixnum bounded expr fixnum-bounded-expr.rkt 88:6 + -- fixnum bounded expr fixnum-bounded-expr.rkt 88:18 + -- fixnum bounded expr +fixnum-bounded-expr.rkt 90:1 fx- -- fixnum fx- fixnum-bounded-expr.rkt 90:6 + -- fixnum bounded expr fixnum-bounded-expr.rkt 90:18 + -- fixnum bounded expr -fixnum-bounded-expr.rkt 90:1 fx- -- fixnum fx- fixnum-bounded-expr.rkt 93:1 fx* -- fixnum fx* fixnum-bounded-expr.rkt 96:1 fxquotient -- fixnum fxquotient fixnum-bounded-expr.rkt 99:1 fxabs -- fixnum fxabs diff --git a/collects/tests/typed-scheme/optimizer/tests/fixnum-comparison.rkt b/collects/tests/typed-scheme/optimizer/tests/fixnum-comparison.rkt index 956eb858..cf6d40c1 100644 --- a/collects/tests/typed-scheme/optimizer/tests/fixnum-comparison.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/fixnum-comparison.rkt @@ -1,8 +1,8 @@ #; ( -fixnum-comparison.rkt 12:4 vector-length -- vector-length #f (no location) op -- string-length fixnum-comparison.rkt 12:1 < -- binary fixnum +fixnum-comparison.rkt 12:4 vector-length -- vector-length #t ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate-top.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate-top.rkt index 3c79244e..37ae70a5 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate-top.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate-top.rkt @@ -1,10 +1,10 @@ #; ( +float-complex-conjugate-top.rkt 14:0 (#%app conjugate (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i))) -- unboxed float complex +float-complex-conjugate-top.rkt 14:1 conjugate -- unboxed unary float complex +float-complex-conjugate-top.rkt 14:12 + -- unboxed binary float complex float-complex-conjugate-top.rkt 14:14 1.0+2.0i -- unboxed literal float-complex-conjugate-top.rkt 14:23 2.0+4.0i -- unboxed literal -float-complex-conjugate-top.rkt 14:12 + -- unboxed binary float complex -float-complex-conjugate-top.rkt 14:1 conjugate -- unboxed unary float complex -float-complex-conjugate-top.rkt 14:0 (#%app conjugate (#%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/float-complex-conjugate.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate.rkt index 64f5f62e..af7aff2d 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate.rkt @@ -1,11 +1,11 @@ #; ( -float-complex-conjugate.rkt 15:14 1.0+2.0i -- unboxed literal -float-complex-conjugate.rkt 15:4 conjugate -- unboxed unary float complex -float-complex-conjugate.rkt 15:35 2.0+4.0i -- unboxed literal -float-complex-conjugate.rkt 15:25 conjugate -- unboxed unary float complex -float-complex-conjugate.rkt 15:1 + -- unboxed binary float complex float-complex-conjugate.rkt 15:0 (#%app + (#%app conjugate (quote 1.0+2.0i)) (#%app conjugate (quote 2.0+4.0i))) -- unboxed float complex +float-complex-conjugate.rkt 15:1 + -- unboxed binary float complex +float-complex-conjugate.rkt 15:4 conjugate -- unboxed unary float complex +float-complex-conjugate.rkt 15:14 1.0+2.0i -- unboxed literal +float-complex-conjugate.rkt 15:25 conjugate -- unboxed unary float complex +float-complex-conjugate.rkt 15:35 2.0+4.0i -- unboxed literal 3.0-6.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-div.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-div.rkt index 944f70f2..d457c986 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-div.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-div.rkt @@ -1,10 +1,10 @@ #; ( +float-complex-div.rkt 14:0 (#%app / (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-div.rkt 14:1 / -- unboxed binary float complex float-complex-div.rkt 14:3 1.0+2.0i -- unboxed literal float-complex-div.rkt 14:12 2.0+4.0i -- unboxed literal float-complex-div.rkt 14:21 3.0+6.0i -- unboxed literal -float-complex-div.rkt 14:1 / -- unboxed binary float complex -float-complex-div.rkt 14:0 (#%app / (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex 0.03333333333333333-0.06666666666666667i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-fixnum.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-fixnum.rkt index c7377a7f..08f275ab 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-fixnum.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-fixnum.rkt @@ -1,11 +1,11 @@ #; ( -float-complex-fixnum.rkt 15:4 modulo -- binary nonzero fixnum +float-complex-fixnum.rkt 15:0 (#%app + (#%app modulo (quote 2) (quote 1)) (quote 1.0+2.0i) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-fixnum.rkt 15:1 + -- unboxed binary float complex float-complex-fixnum.rkt 15:3 (#%app modulo (quote 2) (quote 1)) -- float-coerce-expr in complex ops +float-complex-fixnum.rkt 15:4 modulo -- binary nonzero fixnum float-complex-fixnum.rkt 15:16 1.0+2.0i -- unboxed literal float-complex-fixnum.rkt 15:25 3.0+6.0i -- unboxed literal -float-complex-fixnum.rkt 15:1 + -- unboxed binary float complex -float-complex-fixnum.rkt 15:0 (#%app + (#%app modulo (quote 2) (quote 1)) (quote 1.0+2.0i) (quote 3.0+6.0i)) -- unboxed float complex 4.0+8.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-float-div.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-float-div.rkt index 9656b6f6..587ccff1 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-float-div.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-float-div.rkt @@ -1,42 +1,42 @@ #; ( -float-complex-float-div.rkt 47:62 x -- unbox float-complex float-complex-float-div.rkt 47:52 real-part -- unboxed float complex -float-complex-float-div.rkt 48:62 x -- unbox float-complex +float-complex-float-div.rkt 47:62 x -- unbox float-complex float-complex-float-div.rkt 48:52 imag-part -- unboxed float complex +float-complex-float-div.rkt 48:62 x -- unbox float-complex +float-complex-float-div.rkt 50:6 (#%app / (quote 1.0) (quote 2.0+4.0i)) -- unboxed float complex +float-complex-float-div.rkt 50:7 / -- unboxed binary float complex float-complex-float-div.rkt 50:9 (quote 1.0) -- float-coerce-expr in complex ops float-complex-float-div.rkt 50:13 2.0+4.0i -- unboxed literal -float-complex-float-div.rkt 50:7 / -- unboxed binary float complex -float-complex-float-div.rkt 50:6 (#%app / (quote 1.0) (quote 2.0+4.0i)) -- unboxed float complex +float-complex-float-div.rkt 51:6 (#%app / (quote 1.0+2.0i) (quote 2.0)) -- unboxed float complex +float-complex-float-div.rkt 51:7 / -- unboxed binary float complex float-complex-float-div.rkt 51:9 1.0+2.0i -- unboxed literal float-complex-float-div.rkt 51:18 (quote 2.0) -- float-coerce-expr in complex ops -float-complex-float-div.rkt 51:7 / -- unboxed binary float complex -float-complex-float-div.rkt 51:6 (#%app / (quote 1.0+2.0i) (quote 2.0)) -- unboxed float complex +float-complex-float-div.rkt 52:6 (#%app / (quote 1.0) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float-div.rkt 52:7 / -- unboxed binary float complex float-complex-float-div.rkt 52:9 (quote 1.0) -- float-coerce-expr in complex ops float-complex-float-div.rkt 52:13 2.0+4.0i -- unboxed literal float-complex-float-div.rkt 52:22 3.0+6.0i -- unboxed literal -float-complex-float-div.rkt 52:7 / -- unboxed binary float complex -float-complex-float-div.rkt 52:6 (#%app / (quote 1.0) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float-div.rkt 53:6 (#%app / (quote 1.0+2.0i) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float-div.rkt 53:7 / -- unboxed binary float complex float-complex-float-div.rkt 53:9 1.0+2.0i -- unboxed literal float-complex-float-div.rkt 53:18 (quote 2.0) -- float-coerce-expr in complex ops float-complex-float-div.rkt 53:22 3.0+6.0i -- unboxed literal -float-complex-float-div.rkt 53:7 / -- unboxed binary float complex -float-complex-float-div.rkt 53:6 (#%app / (quote 1.0+2.0i) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float-div.rkt 54:6 (#%app / (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0)) -- unboxed float complex +float-complex-float-div.rkt 54:7 / -- unboxed binary float complex float-complex-float-div.rkt 54:9 1.0+2.0i -- unboxed literal float-complex-float-div.rkt 54:18 2.0+4.0i -- unboxed literal float-complex-float-div.rkt 54:27 (quote 3.0) -- float-coerce-expr in complex ops -float-complex-float-div.rkt 54:7 / -- unboxed binary float complex -float-complex-float-div.rkt 54:6 (#%app / (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0)) -- unboxed float complex +float-complex-float-div.rkt 55:6 (#%app / (quote 1.0+2.0i) (quote 2.0) (quote 3.0)) -- unboxed float complex +float-complex-float-div.rkt 55:7 / -- unboxed binary float complex float-complex-float-div.rkt 55:9 1.0+2.0i -- unboxed literal float-complex-float-div.rkt 55:18 (quote 2.0) -- float-coerce-expr in complex ops float-complex-float-div.rkt 55:22 (quote 3.0) -- float-coerce-expr in complex ops -float-complex-float-div.rkt 55:7 / -- unboxed binary float complex -float-complex-float-div.rkt 55:6 (#%app / (quote 1.0+2.0i) (quote 2.0) (quote 3.0)) -- unboxed float complex +float-complex-float-div.rkt 56:6 (#%app / (quote 1.0) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float-div.rkt 56:7 / -- unboxed binary float complex float-complex-float-div.rkt 56:9 (quote 1.0) -- float-coerce-expr in complex ops float-complex-float-div.rkt 56:13 (quote 2.0) -- float-coerce-expr in complex ops float-complex-float-div.rkt 56:17 3.0+6.0i -- unboxed literal -float-complex-float-div.rkt 56:7 / -- unboxed binary float complex -float-complex-float-div.rkt 56:6 (#%app / (quote 1.0) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex '("0.1000000000-0.2000000000" "0.50000000001.0000000000" "-0.0200000000-0.0266666667" "0.16666666670.0000000000" "0.16666666670.0000000000" "0.16666666670.3333333333" "0.0333333333-0.0666666667") ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-float-mul.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-float-mul.rkt index 3aa8550c..358222c2 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-float-mul.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-float-mul.rkt @@ -1,33 +1,33 @@ #; ( +float-complex-float-mul.rkt 42:0 (#%app * (quote 1.0) (quote 2.0+4.0i)) -- unboxed float complex +float-complex-float-mul.rkt 42:1 * -- unboxed binary float complex float-complex-float-mul.rkt 42:3 (quote 1.0) -- float-coerce-expr in complex ops float-complex-float-mul.rkt 42:7 2.0+4.0i -- unboxed literal -float-complex-float-mul.rkt 42:1 * -- unboxed binary float complex -float-complex-float-mul.rkt 42:0 (#%app * (quote 1.0) (quote 2.0+4.0i)) -- unboxed float complex +float-complex-float-mul.rkt 43:0 (#%app * (quote 1.0+2.0i) (quote 2.0)) -- unboxed float complex +float-complex-float-mul.rkt 43:1 * -- unboxed binary float complex float-complex-float-mul.rkt 43:3 1.0+2.0i -- unboxed literal float-complex-float-mul.rkt 43:12 (quote 2.0) -- float-coerce-expr in complex ops -float-complex-float-mul.rkt 43:1 * -- unboxed binary float complex -float-complex-float-mul.rkt 43:0 (#%app * (quote 1.0+2.0i) (quote 2.0)) -- unboxed float complex +float-complex-float-mul.rkt 44:0 (#%app * (quote 1.0) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float-mul.rkt 44:1 * -- unboxed binary float complex float-complex-float-mul.rkt 44:3 (quote 1.0) -- float-coerce-expr in complex ops float-complex-float-mul.rkt 44:7 2.0+4.0i -- unboxed literal float-complex-float-mul.rkt 44:16 3.0+6.0i -- unboxed literal -float-complex-float-mul.rkt 44:1 * -- unboxed binary float complex -float-complex-float-mul.rkt 44:0 (#%app * (quote 1.0) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float-mul.rkt 45:0 (#%app * (quote 1.0+2.0i) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float-mul.rkt 45:1 * -- unboxed binary float complex float-complex-float-mul.rkt 45:3 1.0+2.0i -- unboxed literal float-complex-float-mul.rkt 45:12 (quote 2.0) -- float-coerce-expr in complex ops float-complex-float-mul.rkt 45:16 3.0+6.0i -- unboxed literal -float-complex-float-mul.rkt 45:1 * -- unboxed binary float complex -float-complex-float-mul.rkt 45:0 (#%app * (quote 1.0+2.0i) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float-mul.rkt 46:0 (#%app * (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0)) -- unboxed float complex +float-complex-float-mul.rkt 46:1 * -- unboxed binary float complex float-complex-float-mul.rkt 46:3 1.0+2.0i -- unboxed literal float-complex-float-mul.rkt 46:12 2.0+4.0i -- unboxed literal float-complex-float-mul.rkt 46:21 (quote 3.0) -- float-coerce-expr in complex ops -float-complex-float-mul.rkt 46:1 * -- unboxed binary float complex -float-complex-float-mul.rkt 46:0 (#%app * (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0)) -- unboxed float complex +float-complex-float-mul.rkt 47:0 (#%app * (quote 1.0+2.0i) (quote 2.0) (quote 3.0)) -- unboxed float complex +float-complex-float-mul.rkt 47:1 * -- unboxed binary float complex float-complex-float-mul.rkt 47:3 1.0+2.0i -- unboxed literal float-complex-float-mul.rkt 47:12 (quote 2.0) -- float-coerce-expr in complex ops float-complex-float-mul.rkt 47:16 (quote 3.0) -- float-coerce-expr in complex ops -float-complex-float-mul.rkt 47:1 * -- unboxed binary float complex -float-complex-float-mul.rkt 47:0 (#%app * (quote 1.0+2.0i) (quote 2.0) (quote 3.0)) -- unboxed float complex 2.0+4.0i 2.0+4.0i -18.0+24.0i diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-float-small.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-float-small.rkt index 4ab814ff..521e923a 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-float-small.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-float-small.rkt @@ -1,28 +1,28 @@ #; ( +float-complex-float-small.rkt 36:0 (#%app + (quote 1.0+2.0i) (quote 3.0)) -- unboxed float complex +float-complex-float-small.rkt 36:1 + -- unboxed binary float complex float-complex-float-small.rkt 36:3 1.0+2.0i -- unboxed literal float-complex-float-small.rkt 36:12 (quote 3.0) -- float-coerce-expr in complex ops -float-complex-float-small.rkt 36:1 + -- unboxed binary float complex -float-complex-float-small.rkt 36:0 (#%app + (quote 1.0+2.0i) (quote 3.0)) -- unboxed float complex +float-complex-float-small.rkt 37:0 (#%app + (quote 1.0) (quote 2.0+4.0i)) -- unboxed float complex +float-complex-float-small.rkt 37:1 + -- unboxed binary float complex float-complex-float-small.rkt 37:3 (quote 1.0) -- float-coerce-expr in complex ops float-complex-float-small.rkt 37:7 2.0+4.0i -- unboxed literal -float-complex-float-small.rkt 37:1 + -- unboxed binary float complex -float-complex-float-small.rkt 37:0 (#%app + (quote 1.0) (quote 2.0+4.0i)) -- unboxed float complex +float-complex-float-small.rkt 38:0 (#%app - (quote 1.0+2.0i) (quote 3.0)) -- unboxed float complex +float-complex-float-small.rkt 38:1 - -- unboxed binary float complex float-complex-float-small.rkt 38:3 1.0+2.0i -- unboxed literal float-complex-float-small.rkt 38:12 (quote 3.0) -- float-coerce-expr in complex ops -float-complex-float-small.rkt 38:1 - -- unboxed binary float complex -float-complex-float-small.rkt 38:0 (#%app - (quote 1.0+2.0i) (quote 3.0)) -- unboxed float complex +float-complex-float-small.rkt 39:0 (#%app - (quote 1.0) (quote 2.0+4.0i)) -- unboxed float complex +float-complex-float-small.rkt 39:1 - -- unboxed binary float complex float-complex-float-small.rkt 39:3 (quote 1.0) -- float-coerce-expr in complex ops float-complex-float-small.rkt 39:7 2.0+4.0i -- unboxed literal -float-complex-float-small.rkt 39:1 - -- unboxed binary float complex -float-complex-float-small.rkt 39:0 (#%app - (quote 1.0) (quote 2.0+4.0i)) -- unboxed float complex +float-complex-float-small.rkt 40:0 (#%app + (quote 1.0+2.0i) (#%app + (quote 1.0) (quote 2.0))) -- unboxed float complex +float-complex-float-small.rkt 40:1 + -- unboxed binary float complex float-complex-float-small.rkt 40:3 1.0+2.0i -- unboxed literal +float-complex-float-small.rkt 40:12 (#%app + (quote 1.0) (quote 2.0)) -- float-coerce-expr in complex ops +float-complex-float-small.rkt 40:13 + -- binary float float-complex-float-small.rkt 40:15 (quote 1.0) -- float-coerce-expr in complex ops float-complex-float-small.rkt 40:19 (quote 2.0) -- float-coerce-expr in complex ops -float-complex-float-small.rkt 40:13 + -- binary float -float-complex-float-small.rkt 40:12 (#%app + (quote 1.0) (quote 2.0)) -- float-coerce-expr in complex ops -float-complex-float-small.rkt 40:1 + -- unboxed binary float complex -float-complex-float-small.rkt 40:0 (#%app + (quote 1.0+2.0i) (#%app + (quote 1.0) (quote 2.0))) -- unboxed float complex 4.0+2.0i 3.0+4.0i -2.0+2.0i diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-float.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-float.rkt index f449f730..e309ea69 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-float.rkt @@ -1,25 +1,25 @@ #; ( +float-complex-float.rkt 32:0 (#%app + (quote 1.0+2.0i) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float.rkt 32:1 + -- unboxed binary float complex float-complex-float.rkt 32:3 1.0+2.0i -- unboxed literal float-complex-float.rkt 32:12 (quote 2.0) -- float-coerce-expr in complex ops float-complex-float.rkt 32:16 3.0+6.0i -- unboxed literal -float-complex-float.rkt 32:1 + -- unboxed binary float complex -float-complex-float.rkt 32:0 (#%app + (quote 1.0+2.0i) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float.rkt 33:0 (#%app - (quote 1.0) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float.rkt 33:1 - -- unboxed binary float complex float-complex-float.rkt 33:3 (quote 1.0) -- float-coerce-expr in complex ops float-complex-float.rkt 33:7 2.0+4.0i -- unboxed literal float-complex-float.rkt 33:16 3.0+6.0i -- unboxed literal -float-complex-float.rkt 33:1 - -- unboxed binary float complex -float-complex-float.rkt 33:0 (#%app - (quote 1.0) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float.rkt 34:0 (#%app - (quote 1.0+2.0i) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float.rkt 34:1 - -- unboxed binary float complex float-complex-float.rkt 34:3 1.0+2.0i -- unboxed literal float-complex-float.rkt 34:12 (quote 2.0) -- float-coerce-expr in complex ops float-complex-float.rkt 34:16 3.0+6.0i -- unboxed literal -float-complex-float.rkt 34:1 - -- unboxed binary float complex -float-complex-float.rkt 34:0 (#%app - (quote 1.0+2.0i) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-float.rkt 35:0 (#%app - (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0)) -- unboxed float complex +float-complex-float.rkt 35:1 - -- unboxed binary float complex float-complex-float.rkt 35:3 1.0+2.0i -- unboxed literal float-complex-float.rkt 35:12 2.0+4.0i -- unboxed literal float-complex-float.rkt 35:21 (quote 3.0) -- float-coerce-expr in complex ops -float-complex-float.rkt 35:1 - -- unboxed binary float complex -float-complex-float.rkt 35:0 (#%app - (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0)) -- unboxed float complex 6.0+8.0i -4.0-10.0i -4.0-4.0i diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-i.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-i.rkt index 60cbd8e6..48f3c35d 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-i.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-i.rkt @@ -1,11 +1,11 @@ #; ( +float-complex-i.rkt 15:0 (#%app + (quote 1.0+2.0i) (#%app * (quote 0+1.0i) (quote 2.0+4.0i))) -- unboxed float complex +float-complex-i.rkt 15:1 + -- unboxed binary float complex float-complex-i.rkt 15:3 1.0+2.0i -- unboxed literal +float-complex-i.rkt 15:13 * -- unboxed binary float complex float-complex-i.rkt 15:15 0+1.0i -- unboxed literal float-complex-i.rkt 15:21 2.0+4.0i -- unboxed literal -float-complex-i.rkt 15:13 * -- unboxed binary float complex -float-complex-i.rkt 15:1 + -- unboxed binary float complex -float-complex-i.rkt 15:0 (#%app + (quote 1.0+2.0i) (#%app * (quote 0+1.0i) (quote 2.0+4.0i))) -- unboxed float complex -3.0+4.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-integer.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-integer.rkt index 21e3f10f..a72b8c39 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-integer.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-integer.rkt @@ -1,9 +1,9 @@ #; ( +float-complex-integer.rkt 13:0 (#%app + (#%app expt (quote 2) (quote 100)) (quote 1.0+2.0i)) -- unboxed float complex +float-complex-integer.rkt 13:1 + -- unboxed binary float complex float-complex-integer.rkt 13:3 (#%app expt (quote 2) (quote 100)) -- float-coerce-expr in complex ops float-complex-integer.rkt 13:16 1.0+2.0i -- unboxed literal -float-complex-integer.rkt 13:1 + -- unboxed binary float complex -float-complex-integer.rkt 13:0 (#%app + (#%app expt (quote 2) (quote 100)) (quote 1.0+2.0i)) -- unboxed float complex 1.2676506002282294e+30+2.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-mult.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-mult.rkt index 46c5d63a..bf24aef1 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-mult.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-mult.rkt @@ -1,10 +1,10 @@ #; ( +float-complex-mult.rkt 14:0 (#%app * (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex +float-complex-mult.rkt 14:1 * -- unboxed binary float complex float-complex-mult.rkt 14:3 1.0+2.0i -- unboxed literal float-complex-mult.rkt 14:12 2.0+4.0i -- unboxed literal float-complex-mult.rkt 14:21 3.0+6.0i -- unboxed literal -float-complex-mult.rkt 14:1 * -- unboxed binary float complex -float-complex-mult.rkt 14:0 (#%app * (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex -66.0-12.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-parts.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-parts.rkt index 9bfcc8a9..5ccb460b 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-parts.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-parts.rkt @@ -1,11 +1,11 @@ #; ( -float-complex-parts.rkt 17:11 1.0+2.0i -- unboxed literal float-complex-parts.rkt 17:1 real-part -- unboxed float complex -float-complex-parts.rkt 18:11 1.0+2.0i -- unboxed literal +float-complex-parts.rkt 17:11 1.0+2.0i -- unboxed literal float-complex-parts.rkt 18:1 imag-part -- unboxed float complex -float-complex-parts.rkt 19:11 1.0+2.0i -- unboxed literal +float-complex-parts.rkt 18:11 1.0+2.0i -- unboxed literal float-complex-parts.rkt 19:1 real-part -- unboxed float complex +float-complex-parts.rkt 19:11 1.0+2.0i -- unboxed literal 1.0 2.0 1.0 diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-parts2.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-parts2.rkt index 126c4b54..f2d19cfe 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-parts2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-parts2.rkt @@ -1,25 +1,25 @@ #; ( +float-complex-parts2.rkt 34:1 real-part -- unboxed float complex +float-complex-parts2.rkt 34:11 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +float-complex-parts2.rkt 34:12 + -- unboxed binary float complex float-complex-parts2.rkt 34:14 1.0+2.0i -- unboxed literal float-complex-parts2.rkt 34:23 2.0+4.0i -- unboxed literal -float-complex-parts2.rkt 34:12 + -- unboxed binary float complex -float-complex-parts2.rkt 34:11 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex -float-complex-parts2.rkt 34:1 real-part -- unboxed float complex +float-complex-parts2.rkt 35:1 unsafe-flreal-part -- unboxed float complex +float-complex-parts2.rkt 35:20 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +float-complex-parts2.rkt 35:21 + -- unboxed binary float complex float-complex-parts2.rkt 35:23 1.0+2.0i -- unboxed literal float-complex-parts2.rkt 35:32 2.0+4.0i -- unboxed literal -float-complex-parts2.rkt 35:21 + -- unboxed binary float complex -float-complex-parts2.rkt 35:20 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex -float-complex-parts2.rkt 35:1 unsafe-flreal-part -- unboxed float complex +float-complex-parts2.rkt 36:1 imag-part -- unboxed float complex +float-complex-parts2.rkt 36:11 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +float-complex-parts2.rkt 36:12 + -- unboxed binary float complex float-complex-parts2.rkt 36:14 1.0+2.0i -- unboxed literal float-complex-parts2.rkt 36:23 2.0+4.0i -- unboxed literal -float-complex-parts2.rkt 36:12 + -- unboxed binary float complex -float-complex-parts2.rkt 36:11 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex -float-complex-parts2.rkt 36:1 imag-part -- unboxed float complex +float-complex-parts2.rkt 37:1 unsafe-flimag-part -- unboxed float complex +float-complex-parts2.rkt 37:20 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +float-complex-parts2.rkt 37:21 + -- unboxed binary float complex float-complex-parts2.rkt 37:23 1.0+2.0i -- unboxed literal float-complex-parts2.rkt 37:32 2.0+4.0i -- unboxed literal -float-complex-parts2.rkt 37:21 + -- unboxed binary float complex -float-complex-parts2.rkt 37:20 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex -float-complex-parts2.rkt 37:1 unsafe-flimag-part -- unboxed float complex 3.0 3.0 6.0 diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-parts3.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-parts3.rkt index 308298ca..182cdbcf 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-parts3.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-parts3.rkt @@ -1,33 +1,33 @@ #; ( +float-complex-parts3.rkt 42:0 (#%app + (quote 1.0+2.0i) (#%app real-part (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) -- unboxed float complex +float-complex-parts3.rkt 42:1 + -- unboxed binary float complex float-complex-parts3.rkt 42:3 1.0+2.0i -- unboxed literal +float-complex-parts3.rkt 42:13 real-part -- unboxed unary float complex +float-complex-parts3.rkt 42:24 + -- unboxed binary float complex float-complex-parts3.rkt 42:26 2.0+4.0i -- unboxed literal float-complex-parts3.rkt 42:35 3.0+6.0i -- unboxed literal -float-complex-parts3.rkt 42:24 + -- unboxed binary float complex -float-complex-parts3.rkt 42:13 real-part -- unboxed unary float complex -float-complex-parts3.rkt 42:1 + -- unboxed binary float complex -float-complex-parts3.rkt 42:0 (#%app + (quote 1.0+2.0i) (#%app real-part (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) -- unboxed float complex +float-complex-parts3.rkt 43:0 (#%app + (quote 1.0+2.0i) (#%app unsafe-flreal-part (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) -- unboxed float complex +float-complex-parts3.rkt 43:1 + -- unboxed binary float complex float-complex-parts3.rkt 43:3 1.0+2.0i -- unboxed literal +float-complex-parts3.rkt 43:13 unsafe-flreal-part -- unboxed unary float complex +float-complex-parts3.rkt 43:33 + -- unboxed binary float complex float-complex-parts3.rkt 43:35 2.0+4.0i -- unboxed literal float-complex-parts3.rkt 43:44 3.0+6.0i -- unboxed literal -float-complex-parts3.rkt 43:33 + -- unboxed binary float complex -float-complex-parts3.rkt 43:13 unsafe-flreal-part -- unboxed unary float complex -float-complex-parts3.rkt 43:1 + -- unboxed binary float complex -float-complex-parts3.rkt 43:0 (#%app + (quote 1.0+2.0i) (#%app unsafe-flreal-part (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) -- unboxed float complex +float-complex-parts3.rkt 44:0 (#%app + (quote 1.0+2.0i) (#%app imag-part (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) -- unboxed float complex +float-complex-parts3.rkt 44:1 + -- unboxed binary float complex float-complex-parts3.rkt 44:3 1.0+2.0i -- unboxed literal +float-complex-parts3.rkt 44:13 imag-part -- unboxed unary float complex +float-complex-parts3.rkt 44:24 + -- unboxed binary float complex float-complex-parts3.rkt 44:26 2.0+4.0i -- unboxed literal float-complex-parts3.rkt 44:35 3.0+6.0i -- unboxed literal -float-complex-parts3.rkt 44:24 + -- unboxed binary float complex -float-complex-parts3.rkt 44:13 imag-part -- unboxed unary float complex -float-complex-parts3.rkt 44:1 + -- unboxed binary float complex -float-complex-parts3.rkt 44:0 (#%app + (quote 1.0+2.0i) (#%app imag-part (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) -- unboxed float complex +float-complex-parts3.rkt 45:0 (#%app + (quote 1.0+2.0i) (#%app unsafe-flimag-part (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) -- unboxed float complex +float-complex-parts3.rkt 45:1 + -- unboxed binary float complex float-complex-parts3.rkt 45:3 1.0+2.0i -- unboxed literal +float-complex-parts3.rkt 45:13 unsafe-flimag-part -- unboxed unary float complex +float-complex-parts3.rkt 45:33 + -- unboxed binary float complex float-complex-parts3.rkt 45:35 2.0+4.0i -- unboxed literal float-complex-parts3.rkt 45:44 3.0+6.0i -- unboxed literal -float-complex-parts3.rkt 45:33 + -- unboxed binary float complex -float-complex-parts3.rkt 45:13 unsafe-flimag-part -- unboxed unary float complex -float-complex-parts3.rkt 45:1 + -- unboxed binary float complex -float-complex-parts3.rkt 45:0 (#%app + (quote 1.0+2.0i) (#%app unsafe-flimag-part (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) -- unboxed float complex 6.0+2.0i 6.0+2.0i 11.0+2.0i diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-sin.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-sin.rkt index f40eeab1..e02717f1 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-sin.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-sin.rkt @@ -1,9 +1,9 @@ #; ( +float-complex-sin.rkt 14:10 (#%app + (#%app sin (#%app * t (quote 6.28))) (quote 0.0+0.0i)) -- unboxed float complex +float-complex-sin.rkt 14:11 + -- unboxed binary float complex float-complex-sin.rkt 14:13 (#%app sin (#%app * t (quote 6.28))) -- float-coerce-expr in complex ops float-complex-sin.rkt 14:30 0.0+0.0i -- unboxed literal -float-complex-sin.rkt 14:11 + -- unboxed binary float complex -float-complex-sin.rkt 14:10 (#%app + (#%app sin (#%app * t (quote 6.28))) (quote 0.0+0.0i)) -- unboxed float complex -0.0031853017931379904+0.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex.rkt index 97bed595..60be39ec 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex.rkt @@ -1,13 +1,13 @@ #; ( +float-complex.rkt 18:0 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +float-complex.rkt 18:1 + -- unboxed binary float complex float-complex.rkt 18:3 1.0+2.0i -- unboxed literal float-complex.rkt 18:12 2.0+4.0i -- unboxed literal -float-complex.rkt 18:1 + -- unboxed binary float complex -float-complex.rkt 18:0 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +float-complex.rkt 19:0 (#%app - (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +float-complex.rkt 19:1 - -- unboxed binary float complex float-complex.rkt 19:3 1.0+2.0i -- unboxed literal float-complex.rkt 19:12 2.0+4.0i -- unboxed literal -float-complex.rkt 19:1 - -- unboxed binary float complex -float-complex.rkt 19:0 (#%app - (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex 3.0+6.0i -1.0-2.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-promotion.rkt b/collects/tests/typed-scheme/optimizer/tests/float-promotion.rkt index 9467d9db..1911b402 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-promotion.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-promotion.rkt @@ -1,7 +1,7 @@ #; ( -float-promotion.rkt 13:4 modulo -- binary nonzero fixnum float-promotion.rkt 13:1 + -- binary float +float-promotion.rkt 13:4 modulo -- binary nonzero fixnum float-promotion.rkt 14:1 + -- binary float 2.0 1e+200 diff --git a/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let.rkt b/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let.rkt index 39c00e20..8af6857b 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let.rkt @@ -1,19 +1,19 @@ #; ( -invalid-unboxed-let.rkt 26:14 t1 -- unbox float-complex -invalid-unboxed-let.rkt 26:17 t1 -- unbox float-complex -invalid-unboxed-let.rkt 26:12 + -- unboxed binary float complex -invalid-unboxed-let.rkt 26:11 (#%app + t1 t1) -- unboxed float complex +invalid-unboxed-let.rkt 22:0 (let-values (((t1) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i))) ((t2) (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i))) ((t3) (quote 1.0+2.0i)) ((t4) (quote 1))) (#%app display (#%app + t1 t1)) (#%app display t2) (#%app display t3) (#%app display t4)) -- unboxed let bindings +invalid-unboxed-let.rkt 22:11 + -- unboxed binary float complex invalid-unboxed-let.rkt 22:13 1.0+2.0i -- unboxed literal invalid-unboxed-let.rkt 22:22 2.0+4.0i -- unboxed literal -invalid-unboxed-let.rkt 22:11 + -- unboxed binary float complex +invalid-unboxed-let.rkt 23:10 (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i)) -- unboxed float complex +invalid-unboxed-let.rkt 23:11 + -- unboxed binary float complex invalid-unboxed-let.rkt 23:13 3.0+6.0i -- unboxed literal invalid-unboxed-let.rkt 23:22 4.0+8.0i -- unboxed literal -invalid-unboxed-let.rkt 23:11 + -- unboxed binary float complex -invalid-unboxed-let.rkt 23:10 (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i)) -- unboxed float complex -invalid-unboxed-let.rkt 22:0 (let-values (((t1) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i))) ((t2) (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i))) ((t3) (quote 1.0+2.0i)) ((t4) (quote 1))) (#%app display (#%app + t1 t1)) (#%app display t2) (#%app display t3) (#%app display t4)) -- unboxed let bindings +invalid-unboxed-let.rkt 26:11 (#%app + t1 t1) -- unboxed float complex +invalid-unboxed-let.rkt 26:12 + -- unboxed binary float complex invalid-unboxed-let.rkt 26:14 t1 -- leave var unboxed +invalid-unboxed-let.rkt 26:14 t1 -- unbox float-complex invalid-unboxed-let.rkt 26:17 t1 -- leave var unboxed +invalid-unboxed-let.rkt 26:17 t1 -- unbox float-complex 6.0+12.0i7.0+14.0i1.0+2.0i1) #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 8dd35df6..73d21179 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let2.rkt @@ -1,17 +1,17 @@ #; ( +invalid-unboxed-let2.rkt 24:30 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +invalid-unboxed-let2.rkt 24:31 + -- unboxed binary float complex invalid-unboxed-let2.rkt 24:33 1.0+2.0i -- unboxed literal invalid-unboxed-let2.rkt 24:42 2.0+4.0i -- unboxed literal -invalid-unboxed-let2.rkt 24:31 + -- unboxed binary float complex -invalid-unboxed-let2.rkt 24:30 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +invalid-unboxed-let2.rkt 24:52 (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i)) -- unboxed float complex +invalid-unboxed-let2.rkt 24:53 + -- unboxed binary float complex invalid-unboxed-let2.rkt 24:55 3.0+6.0i -- unboxed literal invalid-unboxed-let2.rkt 24:64 4.0+8.0i -- unboxed literal -invalid-unboxed-let2.rkt 24:53 + -- unboxed binary float complex -invalid-unboxed-let2.rkt 24:52 (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i)) -- unboxed float complex +invalid-unboxed-let2.rkt 25:2 (#%app + t1 t2) -- unboxed float complex +invalid-unboxed-let2.rkt 25:3 + -- unboxed binary float complex invalid-unboxed-let2.rkt 25:5 t1 -- unbox float-complex invalid-unboxed-let2.rkt 25:8 t2 -- unbox float-complex -invalid-unboxed-let2.rkt 25:3 + -- unboxed binary float complex -invalid-unboxed-let2.rkt 25:2 (#%app + t1 t2) -- unboxed float complex 10.0+20.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/known-vector-length.rkt b/collects/tests/typed-scheme/optimizer/tests/known-vector-length.rkt index 551fdfff..e677c5b9 100644 --- a/collects/tests/typed-scheme/optimizer/tests/known-vector-length.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/known-vector-length.rkt @@ -1,7 +1,7 @@ #; ( -known-vector-length.rkt 11:6 vector-length -- known-length vector-length known-vector-length.rkt 11:1 + -- fixnum bounded expr +known-vector-length.rkt 11:6 vector-length -- known-length vector-length 4 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/magnitude.rkt b/collects/tests/typed-scheme/optimizer/tests/magnitude.rkt index 0bf98f10..f441a482 100644 --- a/collects/tests/typed-scheme/optimizer/tests/magnitude.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/magnitude.rkt @@ -1,8 +1,8 @@ #; ( -magnitude.rkt 14:11 3.0+4.0i -- unboxed literal -magnitude.rkt 14:1 magnitude -- unboxed unary float complex magnitude.rkt 14:0 (#%app magnitude (quote 3.0+4.0i)) -- unboxed float complex->float +magnitude.rkt 14:1 magnitude -- unboxed unary float complex +magnitude.rkt 14:11 3.0+4.0i -- unboxed literal 5.0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/make-polar.rkt b/collects/tests/typed-scheme/optimizer/tests/make-polar.rkt index 681b7c9b..423d43ba 100644 --- a/collects/tests/typed-scheme/optimizer/tests/make-polar.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/make-polar.rkt @@ -1,20 +1,20 @@ #; ( -make-polar.rkt 28:1 make-polar -- make-rectangular elimination make-polar.rkt 28:1 make-polar -- make-polar -make-polar.rkt 32:50 p -- unbox float-complex -make-polar.rkt 32:40 real-part -- unboxed unary float complex -make-polar.rkt 32:39 (#%app real-part p) -- unboxed float complex->float +make-polar.rkt 28:1 make-polar -- make-rectangular elimination +make-polar.rkt 31:0 (let-values (((p) (#%app + (quote 1.0+2.0i) (#%app make-polar (quote 2.0) (quote 4.0))))) (#%app string-append (#%app real->decimal-string (#%app real-part p) (quote 10)) (#%app real->decimal-string (#%app imag-part p) (quote 10)))) -- unboxed let bindings +make-polar.rkt 31:10 + -- unboxed binary float complex make-polar.rkt 31:12 1.0+2.0i -- unboxed literal make-polar.rkt 31:22 make-polar -- make-rectangular elimination -make-polar.rkt 31:10 + -- unboxed binary float complex -make-polar.rkt 31:0 (let-values (((p) (#%app + (quote 1.0+2.0i) (#%app make-polar (quote 2.0) (quote 4.0))))) (#%app string-append (#%app real->decimal-string (#%app real-part p) (quote 10)) (#%app real->decimal-string (#%app imag-part p) (quote 10)))) -- unboxed let bindings -make-polar.rkt 32:50 p -- unboxed complex variable -make-polar.rkt 32:50 p -- leave var unboxed +make-polar.rkt 32:39 (#%app real-part p) -- unboxed float complex->float make-polar.rkt 32:40 real-part -- unboxed float complex -make-polar.rkt 33:50 p -- unboxed complex variable -make-polar.rkt 33:50 p -- leave var unboxed +make-polar.rkt 32:40 real-part -- unboxed unary float complex +make-polar.rkt 32:50 p -- leave var unboxed +make-polar.rkt 32:50 p -- unbox float-complex +make-polar.rkt 32:50 p -- unboxed complex variable make-polar.rkt 33:40 imag-part -- unboxed float complex +make-polar.rkt 33:50 p -- leave var unboxed +make-polar.rkt 33:50 p -- unboxed complex variable 0.5403023058681398+0.8414709848078965i "-0.30728724170.4863950094" ) diff --git a/collects/tests/typed-scheme/optimizer/tests/maybe-exact-complex.rkt b/collects/tests/typed-scheme/optimizer/tests/maybe-exact-complex.rkt index ffa6af9b..6630f1ff 100644 --- a/collects/tests/typed-scheme/optimizer/tests/maybe-exact-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/maybe-exact-complex.rkt @@ -1,9 +1,9 @@ #; ( +maybe-exact-complex.rkt 15:0 (#%app + (quote 1.0+2.0i) (quote 2+4i)) -- unboxed float complex +maybe-exact-complex.rkt 15:1 + -- unboxed binary float complex maybe-exact-complex.rkt 15:3 1.0+2.0i -- unboxed literal maybe-exact-complex.rkt 15:12 2+4i -- unboxed literal -maybe-exact-complex.rkt 15:1 + -- unboxed binary float complex -maybe-exact-complex.rkt 15:0 (#%app + (quote 1.0+2.0i) (quote 2+4i)) -- unboxed float complex 3.0+6.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/n-ary-float-complex.rkt b/collects/tests/typed-scheme/optimizer/tests/n-ary-float-complex.rkt index ef0ba6e3..d960dd30 100644 --- a/collects/tests/typed-scheme/optimizer/tests/n-ary-float-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/n-ary-float-complex.rkt @@ -1,11 +1,11 @@ #; ( +n-ary-float-complex.rkt 15:0 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0+6.0i) (quote 4.0+8.0i)) -- unboxed float complex +n-ary-float-complex.rkt 15:1 + -- unboxed binary float complex n-ary-float-complex.rkt 15:3 1.0+2.0i -- unboxed literal n-ary-float-complex.rkt 15:12 2.0+4.0i -- unboxed literal n-ary-float-complex.rkt 15:21 3.0+6.0i -- unboxed literal n-ary-float-complex.rkt 15:30 4.0+8.0i -- unboxed literal -n-ary-float-complex.rkt 15:1 + -- unboxed binary float complex -n-ary-float-complex.rkt 15:0 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0+6.0i) (quote 4.0+8.0i)) -- unboxed float complex 10.0+20.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/nested-float-complex.rkt b/collects/tests/typed-scheme/optimizer/tests/nested-float-complex.rkt index 1528b57a..0a88ddfb 100644 --- a/collects/tests/typed-scheme/optimizer/tests/nested-float-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/nested-float-complex.rkt @@ -1,11 +1,11 @@ #; ( +nested-float-complex.rkt 15:0 (#%app + (quote 1.0+2.0i) (#%app - (quote 2.0+4.0i) (quote 3.0+6.0i))) -- unboxed float complex +nested-float-complex.rkt 15:1 + -- unboxed binary float complex nested-float-complex.rkt 15:3 1.0+2.0i -- unboxed literal +nested-float-complex.rkt 15:13 - -- unboxed binary float complex nested-float-complex.rkt 15:15 2.0+4.0i -- unboxed literal nested-float-complex.rkt 15:24 3.0+6.0i -- unboxed literal -nested-float-complex.rkt 15:13 - -- unboxed binary float complex -nested-float-complex.rkt 15:1 + -- unboxed binary float complex -nested-float-complex.rkt 15:0 (#%app + (quote 1.0+2.0i) (#%app - (quote 2.0+4.0i) (quote 3.0+6.0i))) -- unboxed float complex 0.0+0.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/nested-float.rkt b/collects/tests/typed-scheme/optimizer/tests/nested-float.rkt index 9ddfcae6..2d4daf1b 100644 --- a/collects/tests/typed-scheme/optimizer/tests/nested-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/nested-float.rkt @@ -1,7 +1,7 @@ #; ( -nested-float.rkt 11:8 + -- binary float nested-float.rkt 11:1 + -- binary float +nested-float.rkt 11:8 + -- binary float 9.0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/nested-float2.rkt b/collects/tests/typed-scheme/optimizer/tests/nested-float2.rkt index 4c9f934c..89ff7e6a 100644 --- a/collects/tests/typed-scheme/optimizer/tests/nested-float2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/nested-float2.rkt @@ -1,7 +1,7 @@ #; ( -nested-float2.rkt 11:8 * -- binary float nested-float2.rkt 11:1 + -- binary float +nested-float2.rkt 11:8 * -- binary float 14.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 4e304f80..06f6eb70 100644 --- a/collects/tests/typed-scheme/optimizer/tests/nested-let-loop.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/nested-let-loop.rkt @@ -1,36 +1,36 @@ #; ( -nested-let-loop.rkt 49:38 r -- unbox float-complex -nested-let-loop.rkt 49:40 s -- unbox float-complex -nested-let-loop.rkt 49:36 + -- unboxed binary float complex -nested-let-loop.rkt 49:35 (#%app + r s) -- unboxed float complex -nested-let-loop.rkt 42:8 r -- unboxed var -> table -nested-let-loop.rkt 40:6 loop1 -- unboxed function -> table +#f (no location) (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 +#f (no location) (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 40:6 loop1 -- fun -> unboxed fun +nested-let-loop.rkt 40:6 loop1 -- unboxed function -> table +nested-let-loop.rkt 40:6 loop1 -- unboxed let loop +nested-let-loop.rkt 42:8 r -- unboxed var -> table +nested-let-loop.rkt 42:28 0.0+0.0i -- unboxed literal nested-let-loop.rkt 44:10 r -- unboxed complex variable -nested-let-loop.rkt 49:38 r -- leave var unboxed -nested-let-loop.rkt 47:18 s -- unboxed var -> table -nested-let-loop.rkt 45:16 loop2 -- unboxed function -> table nested-let-loop.rkt 45:16 loop2 -- fun -> unboxed fun -nested-let-loop.rkt 49:40 s -- leave var unboxed +nested-let-loop.rkt 45:16 loop2 -- unboxed function -> table +nested-let-loop.rkt 45:16 loop2 -- unboxed let loop +nested-let-loop.rkt 47:18 s -- unboxed var -> table +nested-let-loop.rkt 47:38 0.0+0.0i -- unboxed literal +nested-let-loop.rkt 49:21 loop1 -- call to fun with unboxed args nested-let-loop.rkt 49:21 loop1 -- unboxed call site nested-let-loop.rkt 49:28 cdr -- pair -nested-let-loop.rkt 49:21 loop1 -- call to fun with unboxed args +nested-let-loop.rkt 49:35 (#%app + r s) -- unboxed float complex +nested-let-loop.rkt 49:36 + -- unboxed binary float complex +nested-let-loop.rkt 49:38 r -- leave var unboxed +nested-let-loop.rkt 49:38 r -- unbox float-complex +nested-let-loop.rkt 49:40 s -- leave var unboxed +nested-let-loop.rkt 49:40 s -- unbox float-complex +nested-let-loop.rkt 50:21 loop2 -- call to fun with unboxed args +nested-let-loop.rkt 50:21 loop2 -- unboxed call site +nested-let-loop.rkt 50:28 cdr -- pair +nested-let-loop.rkt 50:36 + -- unboxed binary float complex nested-let-loop.rkt 50:38 s -- leave var unboxed nested-let-loop.rkt 50:40 (#%app car x) -- unbox float-complex nested-let-loop.rkt 50:41 car -- pair nested-let-loop.rkt 50:48 (#%app car y) -- unbox float-complex nested-let-loop.rkt 50:49 car -- pair -nested-let-loop.rkt 50:36 + -- unboxed binary float complex -nested-let-loop.rkt 50:21 loop2 -- unboxed call site -nested-let-loop.rkt 50:28 cdr -- pair -nested-let-loop.rkt 50:21 loop2 -- call to fun with unboxed args -nested-let-loop.rkt 47:38 0.0+0.0i -- unboxed literal -#f (no location) (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 45:16 loop2 -- unboxed let loop -nested-let-loop.rkt 42:28 0.0+0.0i -- unboxed literal -#f (no location) (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 40:6 loop1 -- unboxed let loop 20.0+40.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/nested-unboxed-let.rkt b/collects/tests/typed-scheme/optimizer/tests/nested-unboxed-let.rkt index 8d1ade59..5beee615 100644 --- a/collects/tests/typed-scheme/optimizer/tests/nested-unboxed-let.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/nested-unboxed-let.rkt @@ -1,20 +1,20 @@ #; ( -nested-unboxed-let.rkt 25:14 x -- unbox float-complex -nested-unboxed-let.rkt 25:16 2.0+3.0i -- unboxed literal -nested-unboxed-let.rkt 25:12 + -- unboxed binary float complex -nested-unboxed-let.rkt 25:11 (#%app + x (quote 2.0+3.0i)) -- unboxed float complex +nested-unboxed-let.rkt 24:0 (let-values (((x) (#%app + (quote 1.0+2.0i) (quote 2.0+3.0i)))) (let-values (((x) (#%app + x (quote 2.0+3.0i)))) (#%app + x (quote 3.0+6.0i)))) -- unboxed let bindings +nested-unboxed-let.rkt 24:10 + -- unboxed binary float complex nested-unboxed-let.rkt 24:12 1.0+2.0i -- unboxed literal nested-unboxed-let.rkt 24:21 2.0+3.0i -- unboxed literal -nested-unboxed-let.rkt 24:10 + -- unboxed binary float complex -nested-unboxed-let.rkt 24:0 (let-values (((x) (#%app + (quote 1.0+2.0i) (quote 2.0+3.0i)))) (let-values (((x) (#%app + x (quote 2.0+3.0i)))) (#%app + x (quote 3.0+6.0i)))) -- unboxed let bindings +nested-unboxed-let.rkt 25:2 (let-values (((x) (#%app + x (quote 2.0+3.0i)))) (#%app + x (quote 3.0+6.0i))) -- unboxed let bindings +nested-unboxed-let.rkt 25:11 (#%app + x (quote 2.0+3.0i)) -- unboxed float complex +nested-unboxed-let.rkt 25:12 + -- unboxed binary float complex +nested-unboxed-let.rkt 25:14 x -- leave var unboxed +nested-unboxed-let.rkt 25:14 x -- unbox float-complex +nested-unboxed-let.rkt 25:16 2.0+3.0i -- unboxed literal +nested-unboxed-let.rkt 26:4 (#%app + x (quote 3.0+6.0i)) -- unboxed float complex +nested-unboxed-let.rkt 26:5 + -- unboxed binary float complex +nested-unboxed-let.rkt 26:7 x -- leave var unboxed nested-unboxed-let.rkt 26:7 x -- unbox float-complex nested-unboxed-let.rkt 26:9 3.0+6.0i -- unboxed literal -nested-unboxed-let.rkt 26:5 + -- unboxed binary float complex -nested-unboxed-let.rkt 26:4 (#%app + x (quote 3.0+6.0i)) -- unboxed float complex -nested-unboxed-let.rkt 25:14 x -- leave var unboxed -nested-unboxed-let.rkt 25:2 (let-values (((x) (#%app + x (quote 2.0+3.0i)))) (#%app + x (quote 3.0+6.0i))) -- unboxed let bindings -nested-unboxed-let.rkt 26:7 x -- leave var unboxed 8.0+14.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 7a60dc98..1636e959 100644 --- a/collects/tests/typed-scheme/optimizer/tests/real-part-loop.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/real-part-loop.rkt @@ -1,23 +1,23 @@ #; ( -real-part-loop.rkt 31:20 v -- unbox float-complex -real-part-loop.rkt 31:10 real-part -- unboxed unary float complex -real-part-loop.rkt 31:9 (#%app real-part v) -- unboxed float complex->float -real-part-loop.rkt 30:13 v -- unboxed var -> table -real-part-loop.rkt 30:6 loop -- unboxed function -> table +real-part-loop.rkt 30: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 30:6 loop -- fun -> unboxed fun -real-part-loop.rkt 31:20 v -- unboxed complex variable -real-part-loop.rkt 31:20 v -- leave var unboxed -real-part-loop.rkt 31:10 real-part -- unboxed float complex +real-part-loop.rkt 30:6 loop -- unboxed function -> table +real-part-loop.rkt 30:6 loop -- unboxed let loop +real-part-loop.rkt 30:13 v -- unboxed var -> table +real-part-loop.rkt 30:15 0.0+1.0i -- unboxed literal real-part-loop.rkt 31:7 > -- binary float comp +real-part-loop.rkt 31:9 (#%app real-part v) -- unboxed float complex->float +real-part-loop.rkt 31:10 real-part -- unboxed float complex +real-part-loop.rkt 31:10 real-part -- unboxed unary float complex +real-part-loop.rkt 31:20 v -- leave var unboxed +real-part-loop.rkt 31:20 v -- unbox float-complex +real-part-loop.rkt 31:20 v -- unboxed complex variable +real-part-loop.rkt 33:7 loop -- call to fun with unboxed args +real-part-loop.rkt 33:7 loop -- unboxed call site +real-part-loop.rkt 33:13 + -- unboxed binary float complex real-part-loop.rkt 33:15 v -- leave var unboxed real-part-loop.rkt 33:17 (quote 3.6) -- float-coerce-expr in complex ops -real-part-loop.rkt 33:13 + -- unboxed binary float complex -real-part-loop.rkt 33:7 loop -- unboxed call site -real-part-loop.rkt 33:7 loop -- call to fun with unboxed args -real-part-loop.rkt 30:15 0.0+1.0i -- unboxed literal -real-part-loop.rkt 30: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 30:6 loop -- unboxed let loop 0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unary-fixnum-nested.rkt b/collects/tests/typed-scheme/optimizer/tests/unary-fixnum-nested.rkt index 3cd5d0f4..9fc849ee 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unary-fixnum-nested.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unary-fixnum-nested.rkt @@ -1,7 +1,7 @@ #; ( -unary-fixnum-nested.rkt 11:14 bitwise-not -- unary fixnum unary-fixnum-nested.rkt 11:1 bitwise-not -- unary fixnum +unary-fixnum-nested.rkt 11:14 bitwise-not -- unary fixnum 3 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt index a9325e1f..b221ab8b 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt @@ -1,27 +1,27 @@ #; ( -#f (no location) make-sequence -- in-list -unboxed-for.rkt 33:9 i -- unbox float-complex -unboxed-for.rkt 33:11 sum -- unbox float-complex -unboxed-for.rkt 33:7 + -- unboxed binary float complex -unboxed-for.rkt 33:6 (#%app + i sum) -- unboxed float complex -unboxed-for.rkt 31:31 sum -- unboxed var -> table -#f (no location) for-loop -- unboxed function -> table -#f (no location) for-loop -- fun -> unboxed fun -unboxed-for.rkt 31:31 sum -- unboxed complex variable #f (no location) (#%app pos->vals pos) -- unbox float-complex #f (no location) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (if val-cont? (#%app val-cont? i) (quote #t))) (let-values (((sum) (let-values (((sum) sum)) (let-values () (#%app + i sum))))) (if (#%expression (if all-cont? (#%app all-cont? pos i) (quote #t))) (#%app for-loop sum (#%app pos-next pos)) sum)) sum)) -- unboxed let bindings -unboxed-for.rkt 32:13 i -- unboxed complex variable -unboxed-for.rkt 33:9 i -- leave var unboxed -unboxed-for.rkt 31:31 sum -- leave var unboxed #f (no location) (let-values (((sum) sum)) (let-values () (#%app + i sum))) -- unboxed let bindings -unboxed-for.rkt 33:11 sum -- leave var unboxed -unboxed-for.rkt 31:31 sum -- unbox float-complex -#f (no location) for-loop -- unboxed call site #f (no location) for-loop -- call to fun with unboxed args -unboxed-for.rkt 31:53 0.0+0.0i -- unboxed literal -unboxed-for.rkt 31:0 (letrec-values (((for-loop) (lambda (sum pos) (if (#%expression (if pos-cont? (#%app pos-cont? pos) (quote #t))) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (if val-cont? (#%app val-cont? i) (quote #t))) (let-values (((sum) (let-values (((sum) sum)) (let-values () (#%app + i sum))))) (if (#%expression (if all-cont? (#%app all-cont? pos i) (quote #t))) (#%app for-loop sum (#%app pos-next pos)) sum)) sum)) sum)))) for-loop) -- unboxed call site +#f (no location) for-loop -- fun -> unboxed fun +#f (no location) for-loop -- unboxed call site +#f (no location) for-loop -- unboxed function -> table #f (no location) for-loop -- unboxed let loop +#f (no location) make-sequence -- in-list +unboxed-for.rkt 31:0 (letrec-values (((for-loop) (lambda (sum pos) (if (#%expression (if pos-cont? (#%app pos-cont? pos) (quote #t))) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (if val-cont? (#%app val-cont? i) (quote #t))) (let-values (((sum) (let-values (((sum) sum)) (let-values () (#%app + i sum))))) (if (#%expression (if all-cont? (#%app all-cont? pos i) (quote #t))) (#%app for-loop sum (#%app pos-next pos)) sum)) sum)) sum)))) for-loop) -- unboxed call site +unboxed-for.rkt 31:31 sum -- leave var unboxed +unboxed-for.rkt 31:31 sum -- unbox float-complex +unboxed-for.rkt 31:31 sum -- unboxed complex variable +unboxed-for.rkt 31:31 sum -- unboxed var -> table +unboxed-for.rkt 31:53 0.0+0.0i -- unboxed literal +unboxed-for.rkt 32:13 i -- unboxed complex variable +unboxed-for.rkt 33:6 (#%app + i sum) -- unboxed float complex +unboxed-for.rkt 33:7 + -- unboxed binary float complex +unboxed-for.rkt 33:9 i -- leave var unboxed +unboxed-for.rkt 33:9 i -- unbox float-complex +unboxed-for.rkt 33:11 sum -- leave var unboxed +unboxed-for.rkt 33:11 sum -- unbox float-complex 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 d7854d18..cde1fade 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions1.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions1.rkt @@ -1,18 +1,18 @@ #; ( +unboxed-let-functions1.rkt 23:7 f -- fun -> unboxed fun +unboxed-let-functions1.rkt 23:7 f -- unboxed function -> table +unboxed-let-functions1.rkt 23:20 x -- unboxed var -> table +unboxed-let-functions1.rkt 23:42 (#%app + x (quote 3.0+6.0i)) -- unboxed float complex +unboxed-let-functions1.rkt 23:43 + -- unboxed binary float complex +unboxed-let-functions1.rkt 23:45 x -- leave var unboxed unboxed-let-functions1.rkt 23:45 x -- unbox float-complex unboxed-let-functions1.rkt 23:47 3.0+6.0i -- unboxed literal -unboxed-let-functions1.rkt 23:43 + -- unboxed binary float complex -unboxed-let-functions1.rkt 23:42 (#%app + x (quote 3.0+6.0i)) -- unboxed float complex -unboxed-let-functions1.rkt 23:20 x -- unboxed var -> table -unboxed-let-functions1.rkt 23:7 f -- unboxed function -> table -unboxed-let-functions1.rkt 23:7 f -- fun -> unboxed fun -unboxed-let-functions1.rkt 23:45 x -- leave var unboxed +unboxed-let-functions1.rkt 24:3 f -- call to fun with unboxed args +unboxed-let-functions1.rkt 24:3 f -- unboxed call site +unboxed-let-functions1.rkt 24:6 + -- unboxed binary float complex unboxed-let-functions1.rkt 24:8 1.0+2.0i -- unboxed literal unboxed-let-functions1.rkt 24:17 2.0+4.0i -- unboxed literal -unboxed-let-functions1.rkt 24:6 + -- unboxed binary float complex -unboxed-let-functions1.rkt 24:3 f -- unboxed call site -unboxed-let-functions1.rkt 24: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 feaf2d33..c9970e4f 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions2.rkt @@ -1,21 +1,21 @@ #; ( -unboxed-let-functions2.rkt 27:21 x -- unbox float-complex -unboxed-let-functions2.rkt 27:23 y -- unbox float-complex -unboxed-let-functions2.rkt 27:19 + -- unboxed binary float complex -unboxed-let-functions2.rkt 27:18 (#%app + x y) -- unboxed float complex +unboxed-let-functions2.rkt 26:7 f -- fun -> unboxed fun +unboxed-let-functions2.rkt 26:7 f -- unboxed function -> table unboxed-let-functions2.rkt 26:20 x -- unboxed var -> table unboxed-let-functions2.rkt 26:42 y -- unboxed var -> table -unboxed-let-functions2.rkt 26:7 f -- unboxed function -> table -unboxed-let-functions2.rkt 26:7 f -- fun -> unboxed fun +unboxed-let-functions2.rkt 27:18 (#%app + x y) -- unboxed float complex +unboxed-let-functions2.rkt 27:19 + -- unboxed binary float complex unboxed-let-functions2.rkt 27:21 x -- leave var unboxed +unboxed-let-functions2.rkt 27:21 x -- unbox float-complex unboxed-let-functions2.rkt 27:23 y -- leave var unboxed +unboxed-let-functions2.rkt 27:23 y -- unbox float-complex +unboxed-let-functions2.rkt 28:3 f -- call to fun with unboxed args +unboxed-let-functions2.rkt 28:3 f -- unboxed call site +unboxed-let-functions2.rkt 28:6 + -- unboxed binary float complex unboxed-let-functions2.rkt 28:8 1.0+2.0i -- unboxed literal unboxed-let-functions2.rkt 28:17 2.0+4.0i -- unboxed literal -unboxed-let-functions2.rkt 28:6 + -- unboxed binary float complex unboxed-let-functions2.rkt 29:5 3.0+6.0i -- unboxed literal -unboxed-let-functions2.rkt 28:3 f -- unboxed call site -unboxed-let-functions2.rkt 28: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 a2ad5fe0..b0ed1b8b 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions3.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions3.rkt @@ -1,18 +1,18 @@ #; ( +unboxed-let-functions3.rkt 23:7 f -- fun -> unboxed fun +unboxed-let-functions3.rkt 23:7 f -- unboxed function -> table +unboxed-let-functions3.rkt 23:20 x -- unboxed var -> table +unboxed-let-functions3.rkt 24:18 (#%app + x y) -- unboxed float complex +unboxed-let-functions3.rkt 24:19 + -- unboxed binary float complex +unboxed-let-functions3.rkt 24:21 x -- leave var unboxed unboxed-let-functions3.rkt 24:21 x -- unbox float-complex unboxed-let-functions3.rkt 24:23 y -- float-coerce-expr in complex ops -unboxed-let-functions3.rkt 24:19 + -- unboxed binary float complex -unboxed-let-functions3.rkt 24:18 (#%app + x y) -- unboxed float complex -unboxed-let-functions3.rkt 23:20 x -- unboxed var -> table -unboxed-let-functions3.rkt 23:7 f -- unboxed function -> table -unboxed-let-functions3.rkt 23:7 f -- fun -> unboxed fun -unboxed-let-functions3.rkt 24:21 x -- leave var unboxed +unboxed-let-functions3.rkt 25:3 f -- call to fun with unboxed args +unboxed-let-functions3.rkt 25:3 f -- unboxed call site +unboxed-let-functions3.rkt 25:6 + -- unboxed binary float complex unboxed-let-functions3.rkt 25:8 1.0+2.0i -- unboxed literal unboxed-let-functions3.rkt 25:17 2.0+4.0i -- unboxed literal -unboxed-let-functions3.rkt 25:6 + -- unboxed binary float complex -unboxed-let-functions3.rkt 25:3 f -- unboxed call site -unboxed-let-functions3.rkt 25: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 814f1d98..a27b8edc 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions4.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions4.rkt @@ -1,18 +1,18 @@ #; ( +unboxed-let-functions4.rkt 23:7 f -- fun -> unboxed fun +unboxed-let-functions4.rkt 23:7 f -- unboxed function -> table +unboxed-let-functions4.rkt 23:32 x -- unboxed var -> table +unboxed-let-functions4.rkt 24:18 (#%app + x y) -- unboxed float complex +unboxed-let-functions4.rkt 24:19 + -- unboxed binary float complex +unboxed-let-functions4.rkt 24:21 x -- leave var unboxed unboxed-let-functions4.rkt 24:21 x -- unbox float-complex unboxed-let-functions4.rkt 24:23 y -- float-coerce-expr in complex ops -unboxed-let-functions4.rkt 24:19 + -- unboxed binary float complex -unboxed-let-functions4.rkt 24:18 (#%app + x y) -- unboxed float complex -unboxed-let-functions4.rkt 23:32 x -- unboxed var -> table -unboxed-let-functions4.rkt 23:7 f -- unboxed function -> table -unboxed-let-functions4.rkt 23:7 f -- fun -> unboxed fun -unboxed-let-functions4.rkt 24:21 x -- leave var unboxed +unboxed-let-functions4.rkt 25:3 f -- call to fun with unboxed args +unboxed-let-functions4.rkt 25:3 f -- unboxed call site +unboxed-let-functions4.rkt 26:6 + -- unboxed binary float complex unboxed-let-functions4.rkt 26:8 1.0+2.0i -- unboxed literal unboxed-let-functions4.rkt 26:17 2.0+4.0i -- unboxed literal -unboxed-let-functions4.rkt 26:6 + -- unboxed binary float complex -unboxed-let-functions4.rkt 25:3 f -- unboxed call site -unboxed-let-functions4.rkt 25: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 f9b2df93..d39f983b 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions5.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions5.rkt @@ -1,9 +1,9 @@ #; ( +unboxed-let-functions5.rkt 20:12 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +unboxed-let-functions5.rkt 20:13 + -- unboxed binary float complex unboxed-let-functions5.rkt 20:15 1.0+2.0i -- unboxed literal unboxed-let-functions5.rkt 20:24 2.0+4.0i -- unboxed literal -unboxed-let-functions5.rkt 20:13 + -- unboxed binary float complex -unboxed-let-functions5.rkt 20: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 cfd33002..fc15dd67 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions6.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions6.rkt @@ -1,23 +1,23 @@ #; ( +#f (no location) (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 27:6 loop -- fun -> unboxed fun +unboxed-let-functions6.rkt 27:6 loop -- unboxed function -> table +unboxed-let-functions6.rkt 27:6 loop -- unboxed let loop +unboxed-let-functions6.rkt 27:31 z -- unboxed var -> table +unboxed-let-functions6.rkt 27:51 0.0+0.0i -- unboxed literal +unboxed-let-functions6.rkt 30:10 (#%app + z (quote 0.0+1.0i)) -- unboxed float complex +unboxed-let-functions6.rkt 30:11 + -- unboxed binary float complex +unboxed-let-functions6.rkt 30:13 z -- leave var unboxed unboxed-let-functions6.rkt 30:13 z -- unbox float-complex unboxed-let-functions6.rkt 30:15 0.0+1.0i -- unboxed literal -unboxed-let-functions6.rkt 30:11 + -- unboxed binary float complex -unboxed-let-functions6.rkt 30:10 (#%app + z (quote 0.0+1.0i)) -- unboxed float complex -unboxed-let-functions6.rkt 27:31 z -- unboxed var -> table -unboxed-let-functions6.rkt 27:6 loop -- unboxed function -> table -unboxed-let-functions6.rkt 27:6 loop -- fun -> unboxed fun -unboxed-let-functions6.rkt 30:13 z -- leave var unboxed -unboxed-let-functions6.rkt 31:19 z -- leave var unboxed -unboxed-let-functions6.rkt 31:22 car -- pair -unboxed-let-functions6.rkt 31:21 (#%app car l) -- float-coerce-expr in complex ops -unboxed-let-functions6.rkt 31:17 + -- unboxed binary float complex -unboxed-let-functions6.rkt 31:11 loop -- unboxed call site -unboxed-let-functions6.rkt 32:17 cdr -- pair unboxed-let-functions6.rkt 31:11 loop -- call to fun with unboxed args -unboxed-let-functions6.rkt 27:51 0.0+0.0i -- unboxed literal -#f (no location) (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 27:6 loop -- unboxed let loop +unboxed-let-functions6.rkt 31:11 loop -- unboxed call site +unboxed-let-functions6.rkt 31:17 + -- unboxed binary float complex +unboxed-let-functions6.rkt 31:19 z -- leave var unboxed +unboxed-let-functions6.rkt 31:21 (#%app car l) -- float-coerce-expr in complex ops +unboxed-let-functions6.rkt 31:22 car -- pair +unboxed-let-functions6.rkt 32:17 cdr -- pair 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 e93d0dc7..529bbace 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions7.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions7.rkt @@ -1,21 +1,21 @@ #; ( -unboxed-let-functions7.rkt 30:15 z -- unbox float-complex -unboxed-let-functions7.rkt 30:18 car -- pair -unboxed-let-functions7.rkt 30:17 (#%app car l) -- float-coerce-expr in complex ops -unboxed-let-functions7.rkt 30:13 + -- unboxed binary float complex -unboxed-let-functions7.rkt 30:12 (#%app + z (#%app car l)) -- unboxed float complex -unboxed-let-functions7.rkt 26:31 z -- unboxed var -> table -unboxed-let-functions7.rkt 26:6 loop -- unboxed function -> table -unboxed-let-functions7.rkt 26:6 loop -- fun -> unboxed fun -unboxed-let-functions7.rkt 29:6 z -- unboxed complex variable -unboxed-let-functions7.rkt 30:15 z -- leave var unboxed -unboxed-let-functions7.rkt 30:7 loop -- unboxed call site -unboxed-let-functions7.rkt 31:13 cdr -- pair -unboxed-let-functions7.rkt 30:7 loop -- call to fun with unboxed args -unboxed-let-functions7.rkt 26:51 0.0+0.0i -- unboxed literal #f (no location) (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 26:6 loop -- fun -> unboxed fun +unboxed-let-functions7.rkt 26:6 loop -- unboxed function -> table unboxed-let-functions7.rkt 26:6 loop -- unboxed let loop +unboxed-let-functions7.rkt 26:31 z -- unboxed var -> table +unboxed-let-functions7.rkt 26:51 0.0+0.0i -- unboxed literal +unboxed-let-functions7.rkt 29:6 z -- unboxed complex variable +unboxed-let-functions7.rkt 30:7 loop -- call to fun with unboxed args +unboxed-let-functions7.rkt 30:7 loop -- unboxed call site +unboxed-let-functions7.rkt 30:12 (#%app + z (#%app car l)) -- unboxed float complex +unboxed-let-functions7.rkt 30:13 + -- unboxed binary float complex +unboxed-let-functions7.rkt 30:15 z -- leave var unboxed +unboxed-let-functions7.rkt 30:15 z -- unbox float-complex +unboxed-let-functions7.rkt 30:17 (#%app car l) -- float-coerce-expr in complex ops +unboxed-let-functions7.rkt 30:18 car -- pair +unboxed-let-functions7.rkt 31:13 cdr -- pair 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 7fcad685..46db2643 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions8.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions8.rkt @@ -1,9 +1,9 @@ #; ( +unboxed-let-functions8.rkt 15:64 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex +unboxed-let-functions8.rkt 15:65 + -- unboxed binary float complex unboxed-let-functions8.rkt 15:67 x -- unbox float-complex unboxed-let-functions8.rkt 15:69 2.0+4.0i -- unboxed literal -unboxed-let-functions8.rkt 15:65 + -- unboxed binary float complex -unboxed-let-functions8.rkt 15:64 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex 3.0+6.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let.rkt index bf05b1fe..9e4d00ae 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let.rkt @@ -1,23 +1,23 @@ #; ( -unboxed-let.rkt 30:14 t1 -- unbox float-complex -unboxed-let.rkt 30:17 3.0+6.0i -- unboxed literal -unboxed-let.rkt 30:12 - -- unboxed binary float complex -unboxed-let.rkt 30:11 (#%app - t1 (quote 3.0+6.0i)) -- unboxed float complex +unboxed-let.rkt 29:0 (let-values (((t1) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)))) (let-values (((t2) (#%app - t1 (quote 3.0+6.0i)))) (let-values (((t3) (quote 4.0+8.0i))) (#%app + t2 t3)))) -- unboxed let bindings +unboxed-let.rkt 29:0 (let-values (((t2) (#%app - t1 (quote 3.0+6.0i)))) (let-values (((t3) (quote 4.0+8.0i))) (#%app + t2 t3))) -- unboxed let bindings +unboxed-let.rkt 29:0 (let-values (((t3) (quote 4.0+8.0i))) (#%app + t2 t3)) -- unboxed let bindings +unboxed-let.rkt 29:12 + -- unboxed binary float complex unboxed-let.rkt 29:14 1.0+2.0i -- unboxed literal unboxed-let.rkt 29:23 2.0+4.0i -- unboxed literal -unboxed-let.rkt 29:12 + -- unboxed binary float complex -unboxed-let.rkt 29:0 (let-values (((t1) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)))) (let-values (((t2) (#%app - t1 (quote 3.0+6.0i)))) (let-values (((t3) (quote 4.0+8.0i))) (#%app + t2 t3)))) -- unboxed let bindings -unboxed-let.rkt 32:5 t2 -- unbox float-complex -unboxed-let.rkt 32:8 t3 -- unbox float-complex -unboxed-let.rkt 32:3 + -- unboxed binary float complex -unboxed-let.rkt 32:2 (#%app + t2 t3) -- unboxed float complex +unboxed-let.rkt 30:11 (#%app - t1 (quote 3.0+6.0i)) -- unboxed float complex +unboxed-let.rkt 30:12 - -- unboxed binary float complex unboxed-let.rkt 30:14 t1 -- leave var unboxed -unboxed-let.rkt 29:0 (let-values (((t2) (#%app - t1 (quote 3.0+6.0i)))) (let-values (((t3) (quote 4.0+8.0i))) (#%app + t2 t3))) -- unboxed let bindings -unboxed-let.rkt 32:5 t2 -- leave var unboxed +unboxed-let.rkt 30:14 t1 -- unbox float-complex +unboxed-let.rkt 30:17 3.0+6.0i -- unboxed literal unboxed-let.rkt 31:11 4.0+8.0i -- unboxed literal -unboxed-let.rkt 29:0 (let-values (((t3) (quote 4.0+8.0i))) (#%app + t2 t3)) -- unboxed let bindings +unboxed-let.rkt 32:2 (#%app + t2 t3) -- unboxed float complex +unboxed-let.rkt 32:3 + -- unboxed binary float complex +unboxed-let.rkt 32:5 t2 -- leave var unboxed +unboxed-let.rkt 32:5 t2 -- unbox float-complex unboxed-let.rkt 32:8 t3 -- leave var unboxed +unboxed-let.rkt 32:8 t3 -- unbox float-complex 4.0+8.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let2.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let2.rkt index ef3a19c7..6293817b 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let2.rkt @@ -1,18 +1,18 @@ #; ( -unboxed-let2.rkt 24:5 t1 -- unbox float-complex -unboxed-let2.rkt 24:8 t2 -- unbox float-complex -unboxed-let2.rkt 24:3 + -- unboxed binary float complex -unboxed-let2.rkt 24:2 (#%app + t1 t2) -- unboxed float complex +unboxed-let2.rkt 22:0 (let-values (((t1) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i))) ((t2) (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i)))) (#%app + t1 t2)) -- unboxed let bindings +unboxed-let2.rkt 22:11 + -- unboxed binary float complex unboxed-let2.rkt 22:13 1.0+2.0i -- unboxed literal unboxed-let2.rkt 22:22 2.0+4.0i -- unboxed literal -unboxed-let2.rkt 22:11 + -- unboxed binary float complex +unboxed-let2.rkt 23:11 + -- unboxed binary float complex unboxed-let2.rkt 23:13 3.0+6.0i -- unboxed literal unboxed-let2.rkt 23:22 4.0+8.0i -- unboxed literal -unboxed-let2.rkt 23:11 + -- unboxed binary float complex -unboxed-let2.rkt 22:0 (let-values (((t1) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i))) ((t2) (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i)))) (#%app + t1 t2)) -- unboxed let bindings +unboxed-let2.rkt 24:2 (#%app + t1 t2) -- unboxed float complex +unboxed-let2.rkt 24:3 + -- unboxed binary float complex unboxed-let2.rkt 24:5 t1 -- leave var unboxed +unboxed-let2.rkt 24:5 t1 -- unbox float-complex unboxed-let2.rkt 24:8 t2 -- leave var unboxed +unboxed-let2.rkt 24:8 t2 -- unbox float-complex 10.0+20.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let3.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let3.rkt index 56361dfb..62c7d11a 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let3.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let3.rkt @@ -1,15 +1,15 @@ #; ( -unboxed-let3.rkt 29:9 x -- unbox float-complex -unboxed-let3.rkt 29:11 2.0+4.0i -- unboxed literal -unboxed-let3.rkt 29:7 + -- unboxed binary float complex -unboxed-let3.rkt 29:6 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex +unboxed-let3.rkt 26:0 (let-values (((x) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)))) (if (#%app even? (quote 2)) x (#%app + x (quote 2.0+4.0i)))) -- unboxed let bindings +unboxed-let3.rkt 26:10 + -- unboxed binary float complex unboxed-let3.rkt 26:12 1.0+2.0i -- unboxed literal unboxed-let3.rkt 26:21 2.0+4.0i -- unboxed literal -unboxed-let3.rkt 26:10 + -- unboxed binary float complex -unboxed-let3.rkt 26:0 (let-values (((x) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)))) (if (#%app even? (quote 2)) x (#%app + x (quote 2.0+4.0i)))) -- unboxed let bindings unboxed-let3.rkt 28:6 x -- unboxed complex variable +unboxed-let3.rkt 29:6 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex +unboxed-let3.rkt 29:7 + -- unboxed binary float complex unboxed-let3.rkt 29:9 x -- leave var unboxed +unboxed-let3.rkt 29:9 x -- unbox float-complex +unboxed-let3.rkt 29:11 2.0+4.0i -- unboxed literal 3.0+6.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec-syntaxes+values.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec-syntaxes+values.rkt index 9ac15167..508b6a73 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec-syntaxes+values.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec-syntaxes+values.rkt @@ -1,14 +1,14 @@ #; ( -unboxed-letrec-syntaxes+values.rkt 20:27 x -- unbox float-complex -unboxed-letrec-syntaxes+values.rkt 20:29 2.0+4.0i -- unboxed literal -unboxed-letrec-syntaxes+values.rkt 20:25 + -- unboxed binary float complex -unboxed-letrec-syntaxes+values.rkt 20:24 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex +unboxed-letrec-syntaxes+values.rkt 18:0 (letrec-syntaxes+values (((s) (syntax-rules () ((_ x) x)))) (((x) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)))) (#%app + x (quote 2.0+4.0i))) -- unboxed let bindings +unboxed-letrec-syntaxes+values.rkt 19:31 + -- unboxed binary float complex unboxed-letrec-syntaxes+values.rkt 19:33 1.0+2.0i -- unboxed literal unboxed-letrec-syntaxes+values.rkt 19:42 2.0+4.0i -- unboxed literal -unboxed-letrec-syntaxes+values.rkt 19:31 + -- unboxed binary float complex -unboxed-letrec-syntaxes+values.rkt 18:0 (letrec-syntaxes+values (((s) (syntax-rules () ((_ x) x)))) (((x) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)))) (#%app + x (quote 2.0+4.0i))) -- unboxed let bindings +unboxed-letrec-syntaxes+values.rkt 20:24 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex +unboxed-letrec-syntaxes+values.rkt 20:25 + -- unboxed binary float complex unboxed-letrec-syntaxes+values.rkt 20:27 x -- leave var unboxed +unboxed-letrec-syntaxes+values.rkt 20:27 x -- unbox float-complex +unboxed-letrec-syntaxes+values.rkt 20:29 2.0+4.0i -- unboxed literal 5.0+10.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec.rkt index 9c71b92f..4bbf88b8 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec.rkt @@ -1,16 +1,16 @@ #; ( -unboxed-letrec.rkt 25:5 x -- unbox float-complex -unboxed-letrec.rkt 25:7 y -- unbox float-complex -unboxed-letrec.rkt 25:3 + -- unboxed binary float complex -unboxed-letrec.rkt 25:2 (#%app + x y) -- unboxed float complex +unboxed-letrec.rkt 22:0 (letrec-values (((f) (lambda (x) (#%app f x))) ((x) (quote 1.0+2.0i)) ((y) (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) (#%app + x y)) -- unboxed let bindings unboxed-letrec.rkt 23:31 1.0+2.0i -- unboxed literal +unboxed-letrec.rkt 24:32 + -- unboxed binary float complex unboxed-letrec.rkt 24:34 2.0+4.0i -- unboxed literal unboxed-letrec.rkt 24:43 3.0+6.0i -- unboxed literal -unboxed-letrec.rkt 24:32 + -- unboxed binary float complex -unboxed-letrec.rkt 22:0 (letrec-values (((f) (lambda (x) (#%app f x))) ((x) (quote 1.0+2.0i)) ((y) (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) (#%app + x y)) -- unboxed let bindings +unboxed-letrec.rkt 25:2 (#%app + x y) -- unboxed float complex +unboxed-letrec.rkt 25:3 + -- unboxed binary float complex unboxed-letrec.rkt 25:5 x -- leave var unboxed +unboxed-letrec.rkt 25:5 x -- unbox float-complex unboxed-letrec.rkt 25:7 y -- leave var unboxed +unboxed-letrec.rkt 25:7 y -- unbox float-complex 6.0+12.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-make-rectangular.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-make-rectangular.rkt index 83f35bfe..6bdb0648 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-make-rectangular.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-make-rectangular.rkt @@ -1,19 +1,19 @@ #; ( +unboxed-make-rectangular.rkt 27:0 (let-values (((x) (#%app make-rectangular (quote 1.0) (quote 2.0)))) (#%app + x (quote 2.0+4.0i))) -- unboxed let bindings +unboxed-make-rectangular.rkt 27:10 make-rectangular -- make-rectangular elimination +unboxed-make-rectangular.rkt 28:2 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex +unboxed-make-rectangular.rkt 28:3 + -- unboxed binary float complex +unboxed-make-rectangular.rkt 28:5 x -- leave var unboxed unboxed-make-rectangular.rkt 28:5 x -- unbox float-complex unboxed-make-rectangular.rkt 28:7 2.0+4.0i -- unboxed literal -unboxed-make-rectangular.rkt 28:3 + -- unboxed binary float complex -unboxed-make-rectangular.rkt 28:2 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex -unboxed-make-rectangular.rkt 27:10 make-rectangular -- make-rectangular elimination -unboxed-make-rectangular.rkt 27:0 (let-values (((x) (#%app make-rectangular (quote 1.0) (quote 2.0)))) (#%app + x (quote 2.0+4.0i))) -- unboxed let bindings -unboxed-make-rectangular.rkt 28:5 x -- leave var unboxed +unboxed-make-rectangular.rkt 29:0 (let-values (((x) (#%app unsafe-make-flrectangular (quote 1.0) (quote 2.0)))) (#%app + x (quote 2.0+4.0i))) -- unboxed let bindings +unboxed-make-rectangular.rkt 29:10 unsafe-make-flrectangular -- make-rectangular elimination +unboxed-make-rectangular.rkt 30:2 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex +unboxed-make-rectangular.rkt 30:3 + -- unboxed binary float complex +unboxed-make-rectangular.rkt 30:5 x -- leave var unboxed unboxed-make-rectangular.rkt 30:5 x -- unbox float-complex unboxed-make-rectangular.rkt 30:7 2.0+4.0i -- unboxed literal -unboxed-make-rectangular.rkt 30:3 + -- unboxed binary float complex -unboxed-make-rectangular.rkt 30:2 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex -unboxed-make-rectangular.rkt 29:10 unsafe-make-flrectangular -- make-rectangular elimination -unboxed-make-rectangular.rkt 29:0 (let-values (((x) (#%app unsafe-make-flrectangular (quote 1.0) (quote 2.0)))) (#%app + x (quote 2.0+4.0i))) -- unboxed let bindings -unboxed-make-rectangular.rkt 30:5 x -- leave var unboxed 3.0+6.0i 3.0+6.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/zero.rkt b/collects/tests/typed-scheme/optimizer/tests/zero.rkt index 2e501e34..7382651a 100644 --- a/collects/tests/typed-scheme/optimizer/tests/zero.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/zero.rkt @@ -1,8 +1,8 @@ #; ( zero.rkt 13:1 zero? -- fixnum zero? -zero.rkt 14:8 sqrt -- unary float zero.rkt 14:1 zero? -- float zero? +zero.rkt 14:8 sqrt -- unary float #f #f ) diff --git a/collects/typed-scheme/optimizer/optimizer.rkt b/collects/typed-scheme/optimizer/optimizer.rkt index ffff9e4a..b5fedd24 100644 --- a/collects/typed-scheme/optimizer/optimizer.rkt +++ b/collects/typed-scheme/optimizer/optimizer.rkt @@ -81,11 +81,13 @@ #:with opt #'other)) (define (optimize-top stx) - (let* ([log-file? (and (or *log-optimizations?* *log-missed-optimizations?*) - *log-to-log-file?*)] + (let* ([log? (or *log-optimizations?* *log-missed-optimizations?*)] + [log-file? (and log? *log-to-log-file?*)] [port (if log-file? (open-output-file *log-file* #:exists 'append) (current-output-port))]) + (when log? ; Reset log. We don't want to accumulate after each top-level expression. + (clear-log)) (begin0 (parameterize ([current-output-port port] [optimize (syntax-parser @@ -100,5 +102,7 @@ (when *show-optimized-code* (pretty-print (syntax->datum result))) result)) + (when log? + (print-log)) (when log-file? (close-output-port port))))) diff --git a/collects/typed-scheme/optimizer/utils.rkt b/collects/typed-scheme/optimizer/utils.rkt index 0e8ea75f..c152cf4a 100644 --- a/collects/typed-scheme/optimizer/utils.rkt +++ b/collects/typed-scheme/optimizer/utils.rkt @@ -1,14 +1,15 @@ -#lang scheme/base +#lang racket/base (require unstable/match racket/match racket/set racket/dict syntax/id-table racket/syntax unstable/syntax "../utils/utils.rkt" - (for-template scheme/base) + (for-template racket/base) (types type-table utils subtype) (rep type-rep)) (provide *log-file* *log-to-log-file?* log-optimization *log-optimizations?* log-missed-optimization *log-missed-optimizations?* + print-log clear-log *show-optimized-code* subtypeof? isoftype? mk-unsafe-tbl @@ -29,19 +30,49 @@ (format "~a:~a" line col) "(no location)"))) +(struct log-entry (msg line col) #:transparent) + ;; we keep track of log entries, to avoid repetitions that would be ;; caused by traversing the same syntax multiple times (which is not ;; a problem per se) (define log-so-far (set)) (define (do-logging msg stx) - (let ([new-message (format "~a ~a ~a -- ~a\n" - (syntax-source-file-name stx) - (line+col->string stx) - (syntax->datum stx) - msg)]) - (unless (set-member? log-so-far new-message) - (set! log-so-far (set-add log-so-far new-message)) - (display new-message)))) + (let* ([new-message (format "~a ~a ~a -- ~a\n" + (syntax-source-file-name stx) + (line+col->string stx) + (syntax->datum stx) + msg)] + [new-entry (log-entry new-message + (syntax-line stx) + (syntax-column stx))]) + (unless (set-member? log-so-far new-entry) + (set! log-so-far (set-add log-so-far new-entry))))) +;; once the optimizer is done, we sort the log according to source +;; location, then print it +(define (print-log) + (for-each (lambda (x) (display (log-entry-msg x))) + (sort (set->list log-so-far) + (lambda (x y) + (match* (x y) + [((log-entry msg-x line-x col-x) + (log-entry msg-y line-y col-y)) + (cond [(not (or line-x line-y)) + ;; neither have location, sort by message + (string