From f1e541a1020fc915e46cea42a9cf7e09314d2721 Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Thu, 23 Jun 2011 17:27:49 -0400 Subject: [PATCH] Display larger regions for optimizations. original commit: 8d680ced89bc822a50d08f66be4656f1003dd6a8 --- .../optimizer/missed-optimizations/pair.rkt | 44 ++++++++--------- .../missed-optimizations/precision-loss.rkt | 8 ++-- .../real-in-float-expr.rkt | 4 +- .../unexpected-complex.rkt | 2 +- .../typed-scheme/optimizer/tests/add1.rkt | 8 ++-- .../optimizer/tests/apply-plus.rkt | 4 +- .../optimizer/tests/begin-float.rkt | 4 +- .../optimizer/tests/binary-fixnum.rkt | 4 +- .../optimizer/tests/binary-nonzero-fixnum.rkt | 4 +- .../typed-scheme/optimizer/tests/box.rkt | 6 +-- .../optimizer/tests/cross-module-struct2.rkt | 2 +- .../optimizer/tests/dead-else.rkt | 4 +- .../optimizer/tests/dead-then.rkt | 4 +- .../optimizer/tests/define-begin-float.rkt | 4 +- .../optimizer/tests/define-call-float.rkt | 2 +- .../optimizer/tests/define-float.rkt | 2 +- .../optimizer/tests/define-pair.rkt | 2 +- .../optimizer/tests/double-float.rkt | 2 +- .../optimizer/tests/exact-inexact.rkt | 2 +- .../optimizer/tests/fixnum-bounded-expr.rkt | 48 +++++++++---------- .../optimizer/tests/fixnum-comparison.rkt | 6 +-- .../optimizer/tests/float-comp.rkt | 2 +- .../tests/float-complex-conjugate-top.rkt | 4 +- .../tests/float-complex-conjugate.rkt | 6 +-- .../optimizer/tests/float-complex-div.rkt | 2 +- .../optimizer/tests/float-complex-fixnum.rkt | 4 +- .../tests/float-complex-float-div.rkt | 18 +++---- .../tests/float-complex-float-mul.rkt | 12 ++--- .../tests/float-complex-float-small.rkt | 12 ++--- .../optimizer/tests/float-complex-float.rkt | 8 ++-- .../optimizer/tests/float-complex-i.rkt | 4 +- .../optimizer/tests/float-complex-integer.rkt | 2 +- .../optimizer/tests/float-complex-mult.rkt | 2 +- .../optimizer/tests/float-complex-parts.rkt | 6 +-- .../optimizer/tests/float-complex-parts2.rkt | 16 +++---- .../optimizer/tests/float-complex-parts3.rkt | 24 +++++----- .../optimizer/tests/float-complex-sin.rkt | 2 +- .../optimizer/tests/float-complex.rkt | 4 +- .../optimizer/tests/float-fun.rkt | 2 +- .../optimizer/tests/float-promotion.rkt | 6 +-- .../optimizer/tests/float-real.rkt | 4 +- .../optimizer/tests/flvector-length.rkt | 2 +- .../typed-scheme/optimizer/tests/fx-fl.rkt | 2 +- .../optimizer/tests/invalid-exact-inexact.rkt | 2 +- .../optimizer/tests/invalid-unboxed-let.rkt | 6 +-- .../optimizer/tests/invalid-unboxed-let2.rkt | 6 +-- .../optimizer/tests/known-vector-length.rkt | 4 +- .../optimizer/tests/let-float.rkt | 4 +- .../typed-scheme/optimizer/tests/let-rhs.rkt | 2 +- .../optimizer/tests/literal-int.rkt | 2 +- .../optimizer/tests/magnitude.rkt | 2 +- .../optimizer/tests/make-flrectangular.rkt | 4 +- .../optimizer/tests/make-polar.rkt | 14 +++--- .../optimizer/tests/maybe-exact-complex.rkt | 2 +- .../typed-scheme/optimizer/tests/mpair.rkt | 14 +++--- .../optimizer/tests/n-ary-float-complex.rkt | 2 +- .../optimizer/tests/n-ary-float.rkt | 2 +- .../optimizer/tests/nested-float-complex.rkt | 4 +- .../optimizer/tests/nested-float.rkt | 4 +- .../optimizer/tests/nested-float2.rkt | 4 +- .../optimizer/tests/nested-let-loop.rkt | 22 ++++----- .../optimizer/tests/nested-pair1.rkt | 4 +- .../optimizer/tests/nested-pair2.rkt | 4 +- .../optimizer/tests/nested-unboxed-let.rkt | 6 +-- .../optimizer/tests/one-arg-arith.rkt | 30 ++++++------ .../typed-scheme/optimizer/tests/pair-fun.rkt | 2 +- .../tests/pair-known-length-list.rkt | 24 +++++----- .../optimizer/tests/rational-literal.rkt | 2 +- .../optimizer/tests/real-part-loop.rkt | 12 ++--- .../optimizer/tests/simple-float.rkt | 2 +- .../optimizer/tests/simple-pair.rkt | 2 +- .../optimizer/tests/sqrt-segfault.rkt | 4 +- .../typed-scheme/optimizer/tests/sqrt.rkt | 2 +- .../optimizer/tests/string-length.rkt | 4 +- .../typed-scheme/optimizer/tests/structs.rkt | 4 +- .../optimizer/tests/unary-fixnum-nested.rkt | 5 +- .../optimizer/tests/unary-fixnum.rkt | 2 +- .../optimizer/tests/unary-float.rkt | 2 +- .../optimizer/tests/unboxed-for.rkt | 2 +- .../tests/unboxed-let-functions1.rkt | 8 ++-- .../tests/unboxed-let-functions2.rkt | 8 ++-- .../tests/unboxed-let-functions3.rkt | 8 ++-- .../tests/unboxed-let-functions4.rkt | 8 ++-- .../tests/unboxed-let-functions5.rkt | 2 +- .../tests/unboxed-let-functions6.rkt | 12 ++--- .../tests/unboxed-let-functions7.rkt | 10 ++-- .../tests/unboxed-let-functions8.rkt | 2 +- .../optimizer/tests/unboxed-let.rkt | 6 +-- .../optimizer/tests/unboxed-let2.rkt | 6 +-- .../optimizer/tests/unboxed-let3.rkt | 4 +- .../tests/unboxed-letrec-syntaxes+values.rkt | 4 +- .../optimizer/tests/unboxed-letrec.rkt | 4 +- .../tests/unboxed-make-rectangular.rkt | 8 ++-- .../optimizer/tests/vector-length-nested.rkt | 4 +- .../optimizer/tests/vector-length.rkt | 2 +- .../optimizer/tests/vector-ref-set-ref.rkt | 6 +-- .../optimizer/tests/vector-ref.rkt | 2 +- .../optimizer/tests/vector-ref2.rkt | 2 +- .../optimizer/tests/vector-set-quote.rkt | 2 +- .../optimizer/tests/vector-set.rkt | 2 +- .../optimizer/tests/vector-set2.rkt | 2 +- .../optimizer/tests/with-type.rkt | 2 +- .../typed-scheme/optimizer/tests/zero.rkt | 6 +-- collects/typed-scheme/optimizer/apply.rkt | 2 +- collects/typed-scheme/optimizer/box.rkt | 2 +- collects/typed-scheme/optimizer/fixnum.rkt | 30 ++++++------ .../typed-scheme/optimizer/float-complex.rkt | 44 ++++++++--------- collects/typed-scheme/optimizer/float.rkt | 22 ++++----- collects/typed-scheme/optimizer/number.rkt | 2 +- collects/typed-scheme/optimizer/pair.rkt | 6 +-- collects/typed-scheme/optimizer/sequence.rkt | 8 ++-- collects/typed-scheme/optimizer/string.rkt | 4 +- collects/typed-scheme/optimizer/struct.rkt | 4 +- collects/typed-scheme/optimizer/vector.rkt | 8 ++-- 114 files changed, 387 insertions(+), 388 deletions(-) diff --git a/collects/tests/typed-scheme/optimizer/missed-optimizations/pair.rkt b/collects/tests/typed-scheme/optimizer/missed-optimizations/pair.rkt index 69264660..12d50fcf 100644 --- a/collects/tests/typed-scheme/optimizer/missed-optimizations/pair.rkt +++ b/collects/tests/typed-scheme/optimizer/missed-optimizations/pair.rkt @@ -1,34 +1,34 @@ #; ( TR missed opt: pair.rkt 58:0 (car (ann (list 1 2 3) (Listof Byte))) -- car/cdr on a potentially empty list -- caused by: 58:10 (list 1 2 3) -TR opt: pair.rkt 59:1 car -- pair +TR opt: pair.rkt 59:0 (car (list 1 2 3)) -- pair TR missed opt: pair.rkt 60:0 (cdr (ann (list 1 2 3) (Listof Byte))) -- car/cdr on a potentially empty list -- caused by: 60:10 (list 1 2 3) -TR opt: pair.rkt 61:1 cdr -- pair -TR opt: pair.rkt 62:1 cdr -- pair -TR opt: pair.rkt 62:6 cdr -- pair -TR opt: pair.rkt 63:1 cdr -- pair -TR opt: pair.rkt 63:6 cdr -- pair -TR opt: pair.rkt 63:11 cdr -- pair +TR opt: pair.rkt 61:0 (cdr (list 1 2 3)) -- pair +TR opt: pair.rkt 62:0 (cdr (cdr (list 1 2 3))) -- pair +TR opt: pair.rkt 62:5 (cdr (list 1 2 3)) -- pair +TR opt: pair.rkt 63:0 (cdr (cdr (cdr (list 1 2 3)))) -- pair +TR opt: pair.rkt 63:5 (cdr (cdr (list 1 2 3))) -- pair +TR opt: pair.rkt 63:10 (cdr (list 1 2 3)) -- pair TR missed opt: pair.rkt 64:16 (cdr (cdr (cdr (cdr (list 1 2 3))))) -- car/cdr on a potentially empty list -- caused by: 64:21 (cdr (cdr (cdr (list 1 2 3)))) -TR opt: pair.rkt 64:22 cdr -- pair -TR opt: pair.rkt 64:27 cdr -- pair -TR opt: pair.rkt 64:32 cdr -- pair +TR opt: pair.rkt 64:21 (cdr (cdr (cdr (list 1 2 3)))) -- pair +TR opt: pair.rkt 64:26 (cdr (cdr (list 1 2 3))) -- pair +TR opt: pair.rkt 64:31 (cdr (list 1 2 3)) -- pair TR missed opt: pair.rkt 67:0 (mcar (ann (mlist 1) (MListof Byte))) -- mpair op on a potentially empty mlist -- caused by: 67:0 (mcar (ann (mlist 1) (MListof Byte))) -TR opt: pair.rkt 68:1 mcar -- mutable pair +TR opt: pair.rkt 68:0 (mcar (mlist 1 2 3)) -- mutable pair TR missed opt: pair.rkt 69:0 (mcdr (ann (mlist 1) (MListof Byte))) -- mpair op on a potentially empty mlist -- caused by: 69:0 (mcdr (ann (mlist 1) (MListof Byte))) -TR opt: pair.rkt 70:1 mcdr -- mutable pair -TR opt: pair.rkt 71:1 mcdr -- mutable pair -TR opt: pair.rkt 71:7 mcdr -- mutable pair -TR opt: pair.rkt 72:1 mcdr -- mutable pair -TR opt: pair.rkt 72:7 mcdr -- mutable pair -TR opt: pair.rkt 72:13 mcdr -- mutable pair +TR opt: pair.rkt 70:0 (mcdr (mlist 1 2 3)) -- mutable pair +TR opt: pair.rkt 71:0 (mcdr (mcdr (mlist 1 2 3))) -- mutable pair +TR opt: pair.rkt 71:6 (mcdr (mlist 1 2 3)) -- mutable pair +TR opt: pair.rkt 72:0 (mcdr (mcdr (mcdr (mlist 1 2 3)))) -- mutable pair +TR opt: pair.rkt 72:6 (mcdr (mcdr (mlist 1 2 3))) -- mutable pair +TR opt: pair.rkt 72:12 (mcdr (mlist 1 2 3)) -- mutable pair TR missed opt: pair.rkt 73:0 (set-mcar! (ann (mlist 2) (MListof Byte)) 2) -- mpair op on a potentially empty mlist -- caused by: 73:0 (set-mcar! (ann (mlist 2) (MListof Byte)) 2) -TR opt: pair.rkt 74:1 set-mcar! -- mutable pair +TR opt: pair.rkt 74:0 (set-mcar! (mlist 2 3 4) 2) -- mutable pair TR missed opt: pair.rkt 75:0 (set-mcdr! (ann (mlist 2) (MListof Byte)) (ann (mlist 2) (MListof Byte))) -- mpair op on a potentially empty mlist -- caused by: 75:0 (set-mcdr! (ann (mlist 2) (MListof Byte)) (ann (mlist 2) (MListof Byte))) -TR opt: pair.rkt 77:1 mcar -- mutable pair -TR opt: pair.rkt 78:1 mcdr -- mutable pair -TR opt: pair.rkt 79:1 set-mcar! -- mutable pair -TR opt: pair.rkt 80:1 set-mcdr! -- mutable pair +TR opt: pair.rkt 77:0 (mcar (mcons 2 3)) -- mutable pair +TR opt: pair.rkt 78:0 (mcdr (mcons 2 3)) -- mutable pair +TR opt: pair.rkt 79:0 (set-mcar! (mcons 2 3) 3) -- mutable pair +TR opt: pair.rkt 80:0 (set-mcdr! (mcons 2 3) 4) -- mutable pair TR missed opt: pair.rkt 81:17 (mcar (quote ())) -- mpair op on a potentially empty mlist -- caused by: 81:23 (quote ()) TR missed opt: pair.rkt 82:17 (mcdr (quote ())) -- mpair op on a potentially empty mlist -- caused by: 82:23 (quote ()) TR missed opt: pair.rkt 83:17 (set-mcar! (quote ()) 2) -- mpair op on a potentially empty mlist -- caused by: 83:28 (quote ()) 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 58516c2d..20290d27 100644 --- a/collects/tests/typed-scheme/optimizer/missed-optimizations/precision-loss.rkt +++ b/collects/tests/typed-scheme/optimizer/missed-optimizations/precision-loss.rkt @@ -1,11 +1,11 @@ #; ( TR missed opt: precision-loss.rkt 24:0 (+ (* 3/4 2/3) 2.0) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 24:3 (* 3/4 2/3) -TR opt: precision-loss.rkt 24:1 + -- binary float -TR opt: precision-loss.rkt 26:1 + -- binary float +TR opt: precision-loss.rkt 24:0 (+ (* 3/4 2/3) 2.0) -- binary float +TR opt: precision-loss.rkt 26:0 (+ 3/4 2.0) -- binary float TR missed opt: precision-loss.rkt 28:0 (+ (- 3/4) 2.0) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 28:3 (- 3/4) -TR opt: precision-loss.rkt 28:1 + -- binary float -TR opt: precision-loss.rkt 30:1 + -- binary float +TR opt: precision-loss.rkt 28:0 (+ (- 3/4) 2.0) -- binary float +TR opt: precision-loss.rkt 30:0 (+ (vector-ref (quote #(2/3 1/2 3/4)) (assert (+ 1/4 3/4) exact-integer?)) 2.0) -- binary float TR missed opt: precision-loss.rkt 36:0 (* (ann (* 3/4 2/3) Real) 2.0) -- binary, args all float-arg-expr, return type not Float -- caused by: 36:11 3/4, 36:15 2/3 (2 times) TR missed opt: precision-loss.rkt 36:0 (* (ann (* 3/4 2/3) Real) 2.0) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 36:8 (* 3/4 2/3) 2.5 diff --git a/collects/tests/typed-scheme/optimizer/missed-optimizations/real-in-float-expr.rkt b/collects/tests/typed-scheme/optimizer/missed-optimizations/real-in-float-expr.rkt index 57ced8a3..6a8b8761 100644 --- a/collects/tests/typed-scheme/optimizer/missed-optimizations/real-in-float-expr.rkt +++ b/collects/tests/typed-scheme/optimizer/missed-optimizations/real-in-float-expr.rkt @@ -1,8 +1,8 @@ #; ( TR missed opt: real-in-float-expr.rkt 17:0 (* (ann 3 Real) 2.3) -- binary, args all float-arg-expr, return type not Float -- caused by: 17:8 3 -TR opt: real-in-float-expr.rkt 22:1 * -- fixnum bounded expr -TR opt: real-in-float-expr.rkt 23:1 + -- fixnum bounded expr +TR opt: real-in-float-expr.rkt 22:0 (* 2 3) -- fixnum bounded expr +TR opt: real-in-float-expr.rkt 23:0 (+ 2 3) -- fixnum bounded expr TR missed opt: real-in-float-expr.rkt 26:0 (* (ann 2 Natural) 2.0) -- binary, args all float-arg-expr, return type not Float -- caused by: 26:8 2 6.8999999999999995 6 diff --git a/collects/tests/typed-scheme/optimizer/missed-optimizations/unexpected-complex.rkt b/collects/tests/typed-scheme/optimizer/missed-optimizations/unexpected-complex.rkt index 904ba023..fab4c50d 100644 --- a/collects/tests/typed-scheme/optimizer/missed-optimizations/unexpected-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/missed-optimizations/unexpected-complex.rkt @@ -1,8 +1,8 @@ #; ( TR missed opt: unexpected-complex.rkt 16:0 (sqrt (ann 4 Integer)) -- unexpected complex type +TR opt: unexpected-complex.rkt 17:0 (+ 1.2+3.4i 2.0) -- unboxed binary float complex TR opt: unexpected-complex.rkt 17:0 (+ 1.2+3.4i 2.0) -- unboxed float complex -TR opt: unexpected-complex.rkt 17:1 + -- unboxed binary float complex TR opt: unexpected-complex.rkt 17:3 1.2+3.4i -- unboxed literal TR opt: unexpected-complex.rkt 17:12 2.0 -- float-arg-expr in complex ops 2 diff --git a/collects/tests/typed-scheme/optimizer/tests/add1.rkt b/collects/tests/typed-scheme/optimizer/tests/add1.rkt index b831427e..733a367d 100644 --- a/collects/tests/typed-scheme/optimizer/tests/add1.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/add1.rkt @@ -1,9 +1,9 @@ #; ( -TR opt: add1.rkt 14:6 add1 -- fixnum add1 -TR opt: add1.rkt 15:6 sub1 -- fixnum sub1 -TR opt: add1.rkt 16:6 add1 -- float add1 -TR opt: add1.rkt 17:6 sub1 -- float sub1 +TR opt: add1.rkt 14:5 (add1 5) -- fixnum add1 +TR opt: add1.rkt 15:5 (sub1 3) -- fixnum sub1 +TR opt: add1.rkt 16:5 (add1 2.3) -- float add1 +TR opt: add1.rkt 17:5 (sub1 2.25) -- float sub1 6 2 3.3 diff --git a/collects/tests/typed-scheme/optimizer/tests/apply-plus.rkt b/collects/tests/typed-scheme/optimizer/tests/apply-plus.rkt index b3f9b862..171d63db 100644 --- a/collects/tests/typed-scheme/optimizer/tests/apply-plus.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/apply-plus.rkt @@ -1,7 +1,7 @@ #; ( -TR opt: apply-plus.rkt 12:7 + -- apply-map -TR opt: apply-plus.rkt 13:7 * -- apply-map +TR opt: apply-plus.rkt 12:0 (apply + (map add1 (list 1 2 3))) -- apply-map +TR opt: apply-plus.rkt 13:0 (apply * (map add1 (list 1 2 3))) -- apply-map 9 24 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/begin-float.rkt b/collects/tests/typed-scheme/optimizer/tests/begin-float.rkt index 467250b3..80867f20 100644 --- a/collects/tests/typed-scheme/optimizer/tests/begin-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/begin-float.rkt @@ -1,7 +1,7 @@ #; ( -TR opt: begin-float.rkt 12:8 - -- binary float -TR opt: begin-float.rkt 13:8 * -- binary float +TR opt: begin-float.rkt 12:7 (- 2.0 3.0) -- binary float +TR opt: begin-float.rkt 13:7 (* 2.0 3.0) -- binary float -1.0 6.0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/binary-fixnum.rkt b/collects/tests/typed-scheme/optimizer/tests/binary-fixnum.rkt index 2fe6ba05..0f1c8ab4 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 @@ #; ( -TR opt: binary-fixnum.rkt 12:3 bitwise-and -- binary fixnum -TR opt: binary-fixnum.rkt 12:16 vector-length -- vector-length +TR opt: binary-fixnum.rkt 12:2 (bitwise-and (vector-length v) 1) -- binary fixnum +TR opt: binary-fixnum.rkt 12:15 (vector-length v) -- 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 d60fa184..4ef8c76c 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 @@ #; ( -TR opt: binary-nonzero-fixnum.rkt 11:1 modulo -- binary nonzero fixnum -TR opt: binary-nonzero-fixnum.rkt 11:9 vector-length -- vector-length +TR opt: binary-nonzero-fixnum.rkt 11:0 (modulo (vector-length (quote #(1 2 3))) 2) -- binary nonzero fixnum +TR opt: binary-nonzero-fixnum.rkt 11:8 (vector-length (quote #(1 2 3))) -- vector-length 1 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/box.rkt b/collects/tests/typed-scheme/optimizer/tests/box.rkt index c1a4f4f5..fbb76f78 100644 --- a/collects/tests/typed-scheme/optimizer/tests/box.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/box.rkt @@ -1,8 +1,8 @@ #; ( -TR opt: box.rkt 17:1 unbox -- box -TR opt: box.rkt 18:1 set-box! -- box -TR opt: box.rkt 19:1 unbox -- box +TR opt: box.rkt 17:0 (unbox x) -- box +TR opt: box.rkt 18:0 (set-box! x 2) -- box +TR opt: box.rkt 19:0 (unbox x) -- box 1 2 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/cross-module-struct2.rkt b/collects/tests/typed-scheme/optimizer/tests/cross-module-struct2.rkt index 4a99e16f..b74cf571 100644 --- a/collects/tests/typed-scheme/optimizer/tests/cross-module-struct2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/cross-module-struct2.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: cross-module-struct2.rkt 11:1 x-x -- struct ref +TR opt: cross-module-struct2.rkt 11:0 (x-x a) -- struct ref 1 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/dead-else.rkt b/collects/tests/typed-scheme/optimizer/tests/dead-else.rkt index 4afaa1ba..fa0ca8b8 100644 --- a/collects/tests/typed-scheme/optimizer/tests/dead-else.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/dead-else.rkt @@ -1,8 +1,8 @@ #; ( -TR opt: dead-else.rkt 13:14 + -- binary float +TR opt: dead-else.rkt 13:13 (+ 2.0 3.0) -- binary float TR opt: dead-else.rkt 14:13 (+ 4.0 5.0) -- dead else branch -TR opt: dead-else.rkt 16:14 + -- binary float +TR opt: dead-else.rkt 16:13 (+ 2.0 3.0) -- binary float TR opt: dead-else.rkt 17:13 (+ 4.0 5.0) -- dead else branch 5.05.0) diff --git a/collects/tests/typed-scheme/optimizer/tests/dead-then.rkt b/collects/tests/typed-scheme/optimizer/tests/dead-then.rkt index 24ff3a5c..25f6ad58 100644 --- a/collects/tests/typed-scheme/optimizer/tests/dead-then.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/dead-then.rkt @@ -1,9 +1,9 @@ #; ( TR opt: dead-then.rkt 13:13 (+ 2.0 3.0) -- dead then branch -TR opt: dead-then.rkt 14:14 + -- binary float +TR opt: dead-then.rkt 14:13 (+ 4.0 5.0) -- binary float TR opt: dead-then.rkt 16:13 (+ 2.0 3.0) -- dead then branch -TR opt: dead-then.rkt 17:14 + -- binary float +TR opt: dead-then.rkt 17:13 (+ 4.0 5.0) -- binary float 9.09.0) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/define-begin-float.rkt b/collects/tests/typed-scheme/optimizer/tests/define-begin-float.rkt index 488f786a..1159a1df 100644 --- a/collects/tests/typed-scheme/optimizer/tests/define-begin-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/define-begin-float.rkt @@ -1,7 +1,7 @@ #; ( -TR opt: define-begin-float.rkt 10:27 - -- binary float -TR opt: define-begin-float.rkt 11:18 * -- binary float +TR opt: define-begin-float.rkt 10:26 (- 2.0 3.0) -- binary float +TR opt: define-begin-float.rkt 11:17 (* 2.0 3.0) -- binary float -1.0) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/define-call-float.rkt b/collects/tests/typed-scheme/optimizer/tests/define-call-float.rkt index 5c368b84..cb235a66 100644 --- a/collects/tests/typed-scheme/optimizer/tests/define-call-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/define-call-float.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: define-call-float.rkt 9:17 + -- binary float +TR opt: define-call-float.rkt 9:16 (+ 1.0 2.0) -- binary float ) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/define-float.rkt b/collects/tests/typed-scheme/optimizer/tests/define-float.rkt index 7c5740a3..9e343ae9 100644 --- a/collects/tests/typed-scheme/optimizer/tests/define-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/define-float.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: define-float.rkt 9:11 + -- binary float +TR opt: define-float.rkt 9:10 (+ 1.0 2.0) -- binary float ) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/define-pair.rkt b/collects/tests/typed-scheme/optimizer/tests/define-pair.rkt index 86b691e8..4dc34ef7 100644 --- a/collects/tests/typed-scheme/optimizer/tests/define-pair.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/define-pair.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: define-pair.rkt 9:11 car -- pair +TR opt: define-pair.rkt 9:10 (car (quote (1 3))) -- pair ) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/double-float.rkt b/collects/tests/typed-scheme/optimizer/tests/double-float.rkt index 0e5ebdaa..3a218c6d 100644 --- a/collects/tests/typed-scheme/optimizer/tests/double-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/double-float.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: double-float.rkt 10:1 + -- binary float +TR opt: double-float.rkt 10:0 (+ 2.0 2.0 2.0) -- binary float 6.0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/exact-inexact.rkt b/collects/tests/typed-scheme/optimizer/tests/exact-inexact.rkt index db3296e2..245c7255 100644 --- a/collects/tests/typed-scheme/optimizer/tests/exact-inexact.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/exact-inexact.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: exact-inexact.rkt 10:1 exact->inexact -- int to float +TR opt: exact-inexact.rkt 10:0 (exact->inexact (expt 10 100)) -- int to float 1e+100 ) 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 b77a1344..d22251bc 100644 --- a/collects/tests/typed-scheme/optimizer/tests/fixnum-bounded-expr.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/fixnum-bounded-expr.rkt @@ -1,29 +1,29 @@ #; ( -TR opt: fixnum-bounded-expr.rkt 60:3 + -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 66:3 - -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 66:8 * -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 73:3 + -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 76:3 + -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 81:1 abs -- fixnum fxabs -TR opt: fixnum-bounded-expr.rkt 84:1 fx+ -- fixnum fx+ -TR opt: fixnum-bounded-expr.rkt 85:1 fx+ -- fixnum fx+ -TR opt: fixnum-bounded-expr.rkt 85:6 + -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 85:17 * -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 86:1 fx+ -- fixnum fx+ -TR opt: fixnum-bounded-expr.rkt 86:6 + -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 86:9 + -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 87:1 fx+ -- fixnum fx+ -TR opt: fixnum-bounded-expr.rkt 87:9 + -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 87:12 + -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 88:6 + -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 88:18 + -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 90:1 fx- -- fixnum fx- -TR opt: fixnum-bounded-expr.rkt 90:6 + -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 90:18 + -- fixnum bounded expr -TR opt: fixnum-bounded-expr.rkt 93:1 fx* -- fixnum fx* -TR opt: fixnum-bounded-expr.rkt 96:1 fxquotient -- fixnum fxquotient -TR opt: fixnum-bounded-expr.rkt 99:1 fxabs -- fixnum fxabs +TR opt: fixnum-bounded-expr.rkt 60:2 (+ x (sqr y)) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 66:2 (- x (* y y)) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 66:7 (* y y) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 73:2 (+ x y) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 76:2 (+ x y) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 81:0 (abs 45) -- fixnum fxabs +TR opt: fixnum-bounded-expr.rkt 84:0 (fx+ 5 2) -- fixnum fx+ +TR opt: fixnum-bounded-expr.rkt 85:0 (fx+ (+ 34 231) (* 24 25)) -- fixnum fx+ +TR opt: fixnum-bounded-expr.rkt 85:5 (+ 34 231) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 85:16 (* 24 25) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 86:0 (fx+ (+ (+ 34 231) 23) -4) -- fixnum fx+ +TR opt: fixnum-bounded-expr.rkt 86:5 (+ (+ 34 231) 23) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 86:8 (+ 34 231) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 87:0 (fx+ -4 (+ (+ 34 231) 23)) -- fixnum fx+ +TR opt: fixnum-bounded-expr.rkt 87:8 (+ (+ 34 231) 23) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 87:11 (+ 34 231) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 88:5 (+ 300 301) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 88:17 (+ 301 302) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 90:0 (fx- (+ 300 301) (+ 301 302)) -- fixnum fx- +TR opt: fixnum-bounded-expr.rkt 90:5 (+ 300 301) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 90:17 (+ 301 302) -- fixnum bounded expr +TR opt: fixnum-bounded-expr.rkt 93:0 (fx* 4 5) -- fixnum fx* +TR opt: fixnum-bounded-expr.rkt 96:0 (fxquotient (ann 34 Nonnegative-Fixnum) (ann -4 Fixnum)) -- fixnum fxquotient +TR opt: fixnum-bounded-expr.rkt 99:0 (fxabs (ann 64235 Nonnegative-Fixnum)) -- fixnum fxabs 28 89525 28 diff --git a/collects/tests/typed-scheme/optimizer/tests/fixnum-comparison.rkt b/collects/tests/typed-scheme/optimizer/tests/fixnum-comparison.rkt index 7b1cd4e2..9a154c53 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 @@ #; ( -TR opt: #f (no location) op -- string-length -TR opt: fixnum-comparison.rkt 12:1 < -- binary fixnum -TR opt: fixnum-comparison.rkt 12:4 vector-length -- vector-length +TR opt: fixnum-comparison.rkt 12:0 (< (vector-length (quote #(1 2 3))) (string-length "asdf")) -- binary fixnum +TR opt: fixnum-comparison.rkt 12:3 (vector-length (quote #(1 2 3))) -- vector-length +TR opt: fixnum-comparison.rkt 12:29 (string-length "asdf") -- string-length #t ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-comp.rkt b/collects/tests/typed-scheme/optimizer/tests/float-comp.rkt index e6b178e6..db4ffa8a 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-comp.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-comp.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: float-comp.rkt 10:1 < -- binary float comp +TR opt: float-comp.rkt 10:0 (< 1.0 2.0) -- binary float comp #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 ddf93d6c..2cc402bc 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,8 +1,8 @@ #; ( TR opt: float-complex-conjugate-top.rkt 14:0 (conjugate (+ 1.0+2.0i 2.0+4.0i)) -- unboxed float complex -TR opt: float-complex-conjugate-top.rkt 14:1 conjugate -- unboxed unary float complex -TR opt: float-complex-conjugate-top.rkt 14:12 + -- unboxed binary float complex +TR opt: float-complex-conjugate-top.rkt 14:0 (conjugate (+ 1.0+2.0i 2.0+4.0i)) -- unboxed unary float complex +TR opt: float-complex-conjugate-top.rkt 14:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: float-complex-conjugate-top.rkt 14:14 1.0+2.0i -- unboxed literal TR opt: float-complex-conjugate-top.rkt 14:23 2.0+4.0i -- unboxed literal 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 4a8e66f6..9f742944 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate.rkt @@ -1,10 +1,10 @@ #; ( +TR opt: float-complex-conjugate.rkt 15:0 (+ (conjugate 1.0+2.0i) (conjugate 2.0+4.0i)) -- unboxed binary float complex TR opt: float-complex-conjugate.rkt 15:0 (+ (conjugate 1.0+2.0i) (conjugate 2.0+4.0i)) -- unboxed float complex -TR opt: float-complex-conjugate.rkt 15:1 + -- unboxed binary float complex -TR opt: float-complex-conjugate.rkt 15:4 conjugate -- unboxed unary float complex +TR opt: float-complex-conjugate.rkt 15:3 (conjugate 1.0+2.0i) -- unboxed unary float complex TR opt: float-complex-conjugate.rkt 15:14 1.0+2.0i -- unboxed literal -TR opt: float-complex-conjugate.rkt 15:25 conjugate -- unboxed unary float complex +TR opt: float-complex-conjugate.rkt 15:24 (conjugate 2.0+4.0i) -- unboxed unary float complex TR opt: 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 6a506a81..45784796 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-div.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-div.rkt @@ -1,7 +1,7 @@ #; ( +TR opt: float-complex-div.rkt 14:0 (/ 1.0+2.0i 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-div.rkt 14:0 (/ 1.0+2.0i 2.0+4.0i 3.0+6.0i) -- unboxed float complex -TR opt: float-complex-div.rkt 14:1 / -- unboxed binary float complex TR opt: float-complex-div.rkt 14:3 1.0+2.0i -- unboxed literal TR opt: float-complex-div.rkt 14:12 2.0+4.0i -- unboxed literal TR opt: float-complex-div.rkt 14:21 3.0+6.0i -- unboxed literal 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 3b1ada98..83f12b43 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-fixnum.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-fixnum.rkt @@ -1,9 +1,9 @@ #; ( +TR opt: float-complex-fixnum.rkt 15:0 (+ (modulo 2 1) 1.0+2.0i 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-fixnum.rkt 15:0 (+ (modulo 2 1) 1.0+2.0i 3.0+6.0i) -- unboxed float complex -TR opt: float-complex-fixnum.rkt 15:1 + -- unboxed binary float complex +TR opt: float-complex-fixnum.rkt 15:3 (modulo 2 1) -- binary nonzero fixnum TR opt: float-complex-fixnum.rkt 15:3 (modulo 2 1) -- float-arg-expr in complex ops -TR opt: float-complex-fixnum.rkt 15:4 modulo -- binary nonzero fixnum TR opt: float-complex-fixnum.rkt 15:16 1.0+2.0i -- unboxed literal TR opt: float-complex-fixnum.rkt 15:25 3.0+6.0i -- unboxed literal 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 9d01d88d..6c5f4c23 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,39 +1,39 @@ #; ( -TR opt: float-complex-float-div.rkt 47:52 real-part -- unboxed float complex +TR opt: float-complex-float-div.rkt 47:51 (real-part x) -- unboxed float complex TR opt: float-complex-float-div.rkt 47:62 x -- unbox float-complex -TR opt: float-complex-float-div.rkt 48:52 imag-part -- unboxed float complex +TR opt: float-complex-float-div.rkt 48:51 (imag-part x) -- unboxed float complex TR opt: float-complex-float-div.rkt 48:62 x -- unbox float-complex +TR opt: float-complex-float-div.rkt 50:6 (/ 1.0 2.0+4.0i) -- unboxed binary float complex TR opt: float-complex-float-div.rkt 50:6 (/ 1.0 2.0+4.0i) -- unboxed float complex -TR opt: float-complex-float-div.rkt 50:7 / -- unboxed binary float complex TR opt: float-complex-float-div.rkt 50:9 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float-div.rkt 50:13 2.0+4.0i -- unboxed literal +TR opt: float-complex-float-div.rkt 51:6 (/ 1.0+2.0i 2.0) -- unboxed binary float complex TR opt: float-complex-float-div.rkt 51:6 (/ 1.0+2.0i 2.0) -- unboxed float complex -TR opt: float-complex-float-div.rkt 51:7 / -- unboxed binary float complex TR opt: float-complex-float-div.rkt 51:9 1.0+2.0i -- unboxed literal TR opt: float-complex-float-div.rkt 51:18 2.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-div.rkt 52:6 (/ 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-float-div.rkt 52:6 (/ 1.0 2.0+4.0i 3.0+6.0i) -- unboxed float complex -TR opt: float-complex-float-div.rkt 52:7 / -- unboxed binary float complex TR opt: float-complex-float-div.rkt 52:9 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float-div.rkt 52:13 2.0+4.0i -- unboxed literal TR opt: float-complex-float-div.rkt 52:22 3.0+6.0i -- unboxed literal +TR opt: float-complex-float-div.rkt 53:6 (/ 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-float-div.rkt 53:6 (/ 1.0+2.0i 2.0 3.0+6.0i) -- unboxed float complex -TR opt: float-complex-float-div.rkt 53:7 / -- unboxed binary float complex TR opt: float-complex-float-div.rkt 53:9 1.0+2.0i -- unboxed literal TR opt: float-complex-float-div.rkt 53:18 2.0 -- float-arg-expr in complex ops TR opt: float-complex-float-div.rkt 53:22 3.0+6.0i -- unboxed literal +TR opt: float-complex-float-div.rkt 54:6 (/ 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex TR opt: float-complex-float-div.rkt 54:6 (/ 1.0+2.0i 2.0+4.0i 3.0) -- unboxed float complex -TR opt: float-complex-float-div.rkt 54:7 / -- unboxed binary float complex TR opt: float-complex-float-div.rkt 54:9 1.0+2.0i -- unboxed literal TR opt: float-complex-float-div.rkt 54:18 2.0+4.0i -- unboxed literal TR opt: float-complex-float-div.rkt 54:27 3.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-div.rkt 55:6 (/ 1.0+2.0i 2.0 3.0) -- unboxed binary float complex TR opt: float-complex-float-div.rkt 55:6 (/ 1.0+2.0i 2.0 3.0) -- unboxed float complex -TR opt: float-complex-float-div.rkt 55:7 / -- unboxed binary float complex TR opt: float-complex-float-div.rkt 55:9 1.0+2.0i -- unboxed literal TR opt: float-complex-float-div.rkt 55:18 2.0 -- float-arg-expr in complex ops TR opt: float-complex-float-div.rkt 55:22 3.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-div.rkt 56:6 (/ 1.0 2.0 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-float-div.rkt 56:6 (/ 1.0 2.0 3.0+6.0i) -- unboxed float complex -TR opt: float-complex-float-div.rkt 56:7 / -- unboxed binary float complex TR opt: float-complex-float-div.rkt 56:9 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float-div.rkt 56:13 2.0 -- float-arg-expr in complex ops TR opt: float-complex-float-div.rkt 56:17 3.0+6.0i -- unboxed literal 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 0b585862..6d0537d4 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,30 +1,30 @@ #; ( +TR opt: float-complex-float-mul.rkt 42:0 (* 1.0 2.0+4.0i) -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 42:0 (* 1.0 2.0+4.0i) -- unboxed float complex -TR opt: float-complex-float-mul.rkt 42:1 * -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 42:3 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float-mul.rkt 42:7 2.0+4.0i -- unboxed literal +TR opt: float-complex-float-mul.rkt 43:0 (* 1.0+2.0i 2.0) -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 43:0 (* 1.0+2.0i 2.0) -- unboxed float complex -TR opt: float-complex-float-mul.rkt 43:1 * -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 43:3 1.0+2.0i -- unboxed literal TR opt: float-complex-float-mul.rkt 43:12 2.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-mul.rkt 44:0 (* 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 44:0 (* 1.0 2.0+4.0i 3.0+6.0i) -- unboxed float complex -TR opt: float-complex-float-mul.rkt 44:1 * -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 44:3 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float-mul.rkt 44:7 2.0+4.0i -- unboxed literal TR opt: float-complex-float-mul.rkt 44:16 3.0+6.0i -- unboxed literal +TR opt: float-complex-float-mul.rkt 45:0 (* 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 45:0 (* 1.0+2.0i 2.0 3.0+6.0i) -- unboxed float complex -TR opt: float-complex-float-mul.rkt 45:1 * -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 45:3 1.0+2.0i -- unboxed literal TR opt: float-complex-float-mul.rkt 45:12 2.0 -- float-arg-expr in complex ops TR opt: float-complex-float-mul.rkt 45:16 3.0+6.0i -- unboxed literal +TR opt: float-complex-float-mul.rkt 46:0 (* 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 46:0 (* 1.0+2.0i 2.0+4.0i 3.0) -- unboxed float complex -TR opt: float-complex-float-mul.rkt 46:1 * -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 46:3 1.0+2.0i -- unboxed literal TR opt: float-complex-float-mul.rkt 46:12 2.0+4.0i -- unboxed literal TR opt: float-complex-float-mul.rkt 46:21 3.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-mul.rkt 47:0 (* 1.0+2.0i 2.0 3.0) -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 47:0 (* 1.0+2.0i 2.0 3.0) -- unboxed float complex -TR opt: float-complex-float-mul.rkt 47:1 * -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 47:3 1.0+2.0i -- unboxed literal TR opt: float-complex-float-mul.rkt 47:12 2.0 -- float-arg-expr in complex ops TR opt: float-complex-float-mul.rkt 47:16 3.0 -- float-arg-expr in complex ops 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 7ead37fd..26b86aa7 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,26 +1,26 @@ #; ( +TR opt: float-complex-float-small.rkt 36:0 (+ 1.0+2.0i 3.0) -- unboxed binary float complex TR opt: float-complex-float-small.rkt 36:0 (+ 1.0+2.0i 3.0) -- unboxed float complex -TR opt: float-complex-float-small.rkt 36:1 + -- unboxed binary float complex TR opt: float-complex-float-small.rkt 36:3 1.0+2.0i -- unboxed literal TR opt: float-complex-float-small.rkt 36:12 3.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-small.rkt 37:0 (+ 1.0 2.0+4.0i) -- unboxed binary float complex TR opt: float-complex-float-small.rkt 37:0 (+ 1.0 2.0+4.0i) -- unboxed float complex -TR opt: float-complex-float-small.rkt 37:1 + -- unboxed binary float complex TR opt: float-complex-float-small.rkt 37:3 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float-small.rkt 37:7 2.0+4.0i -- unboxed literal +TR opt: float-complex-float-small.rkt 38:0 (- 1.0+2.0i 3.0) -- unboxed binary float complex TR opt: float-complex-float-small.rkt 38:0 (- 1.0+2.0i 3.0) -- unboxed float complex -TR opt: float-complex-float-small.rkt 38:1 - -- unboxed binary float complex TR opt: float-complex-float-small.rkt 38:3 1.0+2.0i -- unboxed literal TR opt: float-complex-float-small.rkt 38:12 3.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-small.rkt 39:0 (- 1.0 2.0+4.0i) -- unboxed binary float complex TR opt: float-complex-float-small.rkt 39:0 (- 1.0 2.0+4.0i) -- unboxed float complex -TR opt: float-complex-float-small.rkt 39:1 - -- unboxed binary float complex TR opt: float-complex-float-small.rkt 39:3 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float-small.rkt 39:7 2.0+4.0i -- unboxed literal +TR opt: float-complex-float-small.rkt 40:0 (+ 1.0+2.0i (+ 1.0 2.0)) -- unboxed binary float complex TR opt: float-complex-float-small.rkt 40:0 (+ 1.0+2.0i (+ 1.0 2.0)) -- unboxed float complex -TR opt: float-complex-float-small.rkt 40:1 + -- unboxed binary float complex TR opt: float-complex-float-small.rkt 40:3 1.0+2.0i -- unboxed literal +TR opt: float-complex-float-small.rkt 40:12 (+ 1.0 2.0) -- binary float TR opt: float-complex-float-small.rkt 40:12 (+ 1.0 2.0) -- float-arg-expr in complex ops -TR opt: float-complex-float-small.rkt 40:13 + -- binary float TR opt: float-complex-float-small.rkt 40:15 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float-small.rkt 40:19 2.0 -- float-arg-expr in complex ops 4.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 72f763dd..aea9e090 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-float.rkt @@ -1,22 +1,22 @@ #; ( +TR opt: float-complex-float.rkt 32:0 (+ 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-float.rkt 32:0 (+ 1.0+2.0i 2.0 3.0+6.0i) -- unboxed float complex -TR opt: float-complex-float.rkt 32:1 + -- unboxed binary float complex TR opt: float-complex-float.rkt 32:3 1.0+2.0i -- unboxed literal TR opt: float-complex-float.rkt 32:12 2.0 -- float-arg-expr in complex ops TR opt: float-complex-float.rkt 32:16 3.0+6.0i -- unboxed literal +TR opt: float-complex-float.rkt 33:0 (- 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-float.rkt 33:0 (- 1.0 2.0+4.0i 3.0+6.0i) -- unboxed float complex -TR opt: float-complex-float.rkt 33:1 - -- unboxed binary float complex TR opt: float-complex-float.rkt 33:3 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float.rkt 33:7 2.0+4.0i -- unboxed literal TR opt: float-complex-float.rkt 33:16 3.0+6.0i -- unboxed literal +TR opt: float-complex-float.rkt 34:0 (- 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-float.rkt 34:0 (- 1.0+2.0i 2.0 3.0+6.0i) -- unboxed float complex -TR opt: float-complex-float.rkt 34:1 - -- unboxed binary float complex TR opt: float-complex-float.rkt 34:3 1.0+2.0i -- unboxed literal TR opt: float-complex-float.rkt 34:12 2.0 -- float-arg-expr in complex ops TR opt: float-complex-float.rkt 34:16 3.0+6.0i -- unboxed literal +TR opt: float-complex-float.rkt 35:0 (- 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex TR opt: float-complex-float.rkt 35:0 (- 1.0+2.0i 2.0+4.0i 3.0) -- unboxed float complex -TR opt: float-complex-float.rkt 35:1 - -- unboxed binary float complex TR opt: float-complex-float.rkt 35:3 1.0+2.0i -- unboxed literal TR opt: float-complex-float.rkt 35:12 2.0+4.0i -- unboxed literal TR opt: float-complex-float.rkt 35:21 3.0 -- float-arg-expr in complex ops 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 cac8e823..7778c227 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-i.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-i.rkt @@ -1,9 +1,9 @@ #; ( +TR opt: float-complex-i.rkt 15:0 (+ 1.0+2.0i (* 0+1.0i 2.0+4.0i)) -- unboxed binary float complex TR opt: float-complex-i.rkt 15:0 (+ 1.0+2.0i (* 0+1.0i 2.0+4.0i)) -- unboxed float complex -TR opt: float-complex-i.rkt 15:1 + -- unboxed binary float complex TR opt: float-complex-i.rkt 15:3 1.0+2.0i -- unboxed literal -TR opt: float-complex-i.rkt 15:13 * -- unboxed binary float complex +TR opt: float-complex-i.rkt 15:12 (* 0+1.0i 2.0+4.0i) -- unboxed binary float complex TR opt: float-complex-i.rkt 15:15 0+1.0i -- unboxed literal TR opt: float-complex-i.rkt 15:21 2.0+4.0i -- unboxed literal -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 05ef1922..e83d4c24 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-integer.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-integer.rkt @@ -1,7 +1,7 @@ #; ( +TR opt: float-complex-integer.rkt 13:0 (+ (expt 2 100) 1.0+2.0i) -- unboxed binary float complex TR opt: float-complex-integer.rkt 13:0 (+ (expt 2 100) 1.0+2.0i) -- unboxed float complex -TR opt: float-complex-integer.rkt 13:1 + -- unboxed binary float complex TR opt: float-complex-integer.rkt 13:3 (expt 2 100) -- float-arg-expr in complex ops TR opt: float-complex-integer.rkt 13:16 1.0+2.0i -- unboxed literal 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 01b2f23b..baa9c447 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-mult.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-mult.rkt @@ -1,7 +1,7 @@ #; ( +TR opt: float-complex-mult.rkt 14:0 (* 1.0+2.0i 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-mult.rkt 14:0 (* 1.0+2.0i 2.0+4.0i 3.0+6.0i) -- unboxed float complex -TR opt: float-complex-mult.rkt 14:1 * -- unboxed binary float complex TR opt: float-complex-mult.rkt 14:3 1.0+2.0i -- unboxed literal TR opt: float-complex-mult.rkt 14:12 2.0+4.0i -- unboxed literal TR opt: float-complex-mult.rkt 14:21 3.0+6.0i -- unboxed literal 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 a8c8b181..54dbf2b3 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-parts.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-parts.rkt @@ -1,10 +1,10 @@ #; ( -TR opt: float-complex-parts.rkt 17:1 real-part -- unboxed float complex +TR opt: float-complex-parts.rkt 17:0 (real-part 1.0+2.0i) -- unboxed float complex TR opt: float-complex-parts.rkt 17:11 1.0+2.0i -- unboxed literal -TR opt: float-complex-parts.rkt 18:1 imag-part -- unboxed float complex +TR opt: float-complex-parts.rkt 18:0 (imag-part 1.0+2.0i) -- unboxed float complex TR opt: float-complex-parts.rkt 18:11 1.0+2.0i -- unboxed literal -TR opt: float-complex-parts.rkt 19:1 real-part -- unboxed float complex +TR opt: float-complex-parts.rkt 19:0 (real-part 1.0+2.0i) -- unboxed float complex TR opt: float-complex-parts.rkt 19:11 1.0+2.0i -- unboxed literal 1.0 2.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 7fa20e05..53770c29 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-parts2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-parts2.rkt @@ -1,23 +1,23 @@ #; ( -TR opt: float-complex-parts2.rkt 34:1 real-part -- unboxed float complex +TR opt: float-complex-parts2.rkt 34:0 (real-part (+ 1.0+2.0i 2.0+4.0i)) -- unboxed float complex +TR opt: float-complex-parts2.rkt 34:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: float-complex-parts2.rkt 34:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed float complex -TR opt: float-complex-parts2.rkt 34:12 + -- unboxed binary float complex TR opt: float-complex-parts2.rkt 34:14 1.0+2.0i -- unboxed literal TR opt: float-complex-parts2.rkt 34:23 2.0+4.0i -- unboxed literal -TR opt: float-complex-parts2.rkt 35:1 unsafe-flreal-part -- unboxed float complex +TR opt: float-complex-parts2.rkt 35:0 (unsafe-flreal-part (+ 1.0+2.0i 2.0+4.0i)) -- unboxed float complex +TR opt: float-complex-parts2.rkt 35:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: float-complex-parts2.rkt 35:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed float complex -TR opt: float-complex-parts2.rkt 35:21 + -- unboxed binary float complex TR opt: float-complex-parts2.rkt 35:23 1.0+2.0i -- unboxed literal TR opt: float-complex-parts2.rkt 35:32 2.0+4.0i -- unboxed literal -TR opt: float-complex-parts2.rkt 36:1 imag-part -- unboxed float complex +TR opt: float-complex-parts2.rkt 36:0 (imag-part (+ 1.0+2.0i 2.0+4.0i)) -- unboxed float complex +TR opt: float-complex-parts2.rkt 36:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: float-complex-parts2.rkt 36:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed float complex -TR opt: float-complex-parts2.rkt 36:12 + -- unboxed binary float complex TR opt: float-complex-parts2.rkt 36:14 1.0+2.0i -- unboxed literal TR opt: float-complex-parts2.rkt 36:23 2.0+4.0i -- unboxed literal -TR opt: float-complex-parts2.rkt 37:1 unsafe-flimag-part -- unboxed float complex +TR opt: float-complex-parts2.rkt 37:0 (unsafe-flimag-part (+ 1.0+2.0i 2.0+4.0i)) -- unboxed float complex +TR opt: float-complex-parts2.rkt 37:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: float-complex-parts2.rkt 37:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed float complex -TR opt: float-complex-parts2.rkt 37:21 + -- unboxed binary float complex TR opt: float-complex-parts2.rkt 37:23 1.0+2.0i -- unboxed literal TR opt: float-complex-parts2.rkt 37:32 2.0+4.0i -- unboxed literal 3.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 cfa24958..92ad609b 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-parts3.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-parts3.rkt @@ -1,31 +1,31 @@ #; ( +TR opt: float-complex-parts3.rkt 42:0 (+ 1.0+2.0i (real-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed binary float complex TR opt: float-complex-parts3.rkt 42:0 (+ 1.0+2.0i (real-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed float complex -TR opt: float-complex-parts3.rkt 42:1 + -- unboxed binary float complex TR opt: float-complex-parts3.rkt 42:3 1.0+2.0i -- unboxed literal -TR opt: float-complex-parts3.rkt 42:13 real-part -- unboxed unary float complex -TR opt: float-complex-parts3.rkt 42:24 + -- unboxed binary float complex +TR opt: float-complex-parts3.rkt 42:12 (real-part (+ 2.0+4.0i 3.0+6.0i)) -- unboxed unary float complex +TR opt: float-complex-parts3.rkt 42:23 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-parts3.rkt 42:26 2.0+4.0i -- unboxed literal TR opt: float-complex-parts3.rkt 42:35 3.0+6.0i -- unboxed literal +TR opt: float-complex-parts3.rkt 43:0 (+ 1.0+2.0i (unsafe-flreal-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed binary float complex TR opt: float-complex-parts3.rkt 43:0 (+ 1.0+2.0i (unsafe-flreal-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed float complex -TR opt: float-complex-parts3.rkt 43:1 + -- unboxed binary float complex TR opt: float-complex-parts3.rkt 43:3 1.0+2.0i -- unboxed literal -TR opt: float-complex-parts3.rkt 43:13 unsafe-flreal-part -- unboxed unary float complex -TR opt: float-complex-parts3.rkt 43:33 + -- unboxed binary float complex +TR opt: float-complex-parts3.rkt 43:12 (unsafe-flreal-part (+ 2.0+4.0i 3.0+6.0i)) -- unboxed unary float complex +TR opt: float-complex-parts3.rkt 43:32 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-parts3.rkt 43:35 2.0+4.0i -- unboxed literal TR opt: float-complex-parts3.rkt 43:44 3.0+6.0i -- unboxed literal +TR opt: float-complex-parts3.rkt 44:0 (+ 1.0+2.0i (imag-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed binary float complex TR opt: float-complex-parts3.rkt 44:0 (+ 1.0+2.0i (imag-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed float complex -TR opt: float-complex-parts3.rkt 44:1 + -- unboxed binary float complex TR opt: float-complex-parts3.rkt 44:3 1.0+2.0i -- unboxed literal -TR opt: float-complex-parts3.rkt 44:13 imag-part -- unboxed unary float complex -TR opt: float-complex-parts3.rkt 44:24 + -- unboxed binary float complex +TR opt: float-complex-parts3.rkt 44:12 (imag-part (+ 2.0+4.0i 3.0+6.0i)) -- unboxed unary float complex +TR opt: float-complex-parts3.rkt 44:23 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-parts3.rkt 44:26 2.0+4.0i -- unboxed literal TR opt: float-complex-parts3.rkt 44:35 3.0+6.0i -- unboxed literal +TR opt: float-complex-parts3.rkt 45:0 (+ 1.0+2.0i (unsafe-flimag-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed binary float complex TR opt: float-complex-parts3.rkt 45:0 (+ 1.0+2.0i (unsafe-flimag-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed float complex -TR opt: float-complex-parts3.rkt 45:1 + -- unboxed binary float complex TR opt: float-complex-parts3.rkt 45:3 1.0+2.0i -- unboxed literal -TR opt: float-complex-parts3.rkt 45:13 unsafe-flimag-part -- unboxed unary float complex -TR opt: float-complex-parts3.rkt 45:33 + -- unboxed binary float complex +TR opt: float-complex-parts3.rkt 45:12 (unsafe-flimag-part (+ 2.0+4.0i 3.0+6.0i)) -- unboxed unary float complex +TR opt: float-complex-parts3.rkt 45:32 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex TR opt: float-complex-parts3.rkt 45:35 2.0+4.0i -- unboxed literal TR opt: float-complex-parts3.rkt 45:44 3.0+6.0i -- unboxed literal 6.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 907a1ec7..261fe680 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-sin.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-sin.rkt @@ -1,7 +1,7 @@ #; ( +TR opt: float-complex-sin.rkt 16:10 (+ (sin (* t 6.28)) 0.0+0.0i) -- unboxed binary float complex TR opt: float-complex-sin.rkt 16:10 (+ (sin (* t 6.28)) 0.0+0.0i) -- unboxed float complex -TR opt: float-complex-sin.rkt 16:11 + -- unboxed binary float complex TR missed opt: float-complex-sin.rkt 16:13 (sin (* t 6.28)) -- unary, arg float-arg-expr, return type not Float TR opt: float-complex-sin.rkt 16:13 (sin (* t 6.28)) -- float-arg-expr in complex ops TR missed opt: float-complex-sin.rkt 16:18 (* t 6.28) -- binary, args all float-arg-expr, return type not Float -- caused by: 16:21 t diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex.rkt index 582d40ed..dd103153 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex.rkt @@ -1,11 +1,11 @@ #; ( +TR opt: float-complex.rkt 18:0 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: float-complex.rkt 18:0 (+ 1.0+2.0i 2.0+4.0i) -- unboxed float complex -TR opt: float-complex.rkt 18:1 + -- unboxed binary float complex TR opt: float-complex.rkt 18:3 1.0+2.0i -- unboxed literal TR opt: float-complex.rkt 18:12 2.0+4.0i -- unboxed literal +TR opt: float-complex.rkt 19:0 (- 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: float-complex.rkt 19:0 (- 1.0+2.0i 2.0+4.0i) -- unboxed float complex -TR opt: float-complex.rkt 19:1 - -- unboxed binary float complex TR opt: float-complex.rkt 19:3 1.0+2.0i -- unboxed literal TR opt: float-complex.rkt 19:12 2.0+4.0i -- unboxed literal 3.0+6.0i diff --git a/collects/tests/typed-scheme/optimizer/tests/float-fun.rkt b/collects/tests/typed-scheme/optimizer/tests/float-fun.rkt index a574595c..540baa43 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-fun.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-fun.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: float-fun.rkt 12:3 + -- binary float +TR opt: float-fun.rkt 12:2 (+ x 1.0) -- binary float ) #lang typed/racket diff --git a/collects/tests/typed-scheme/optimizer/tests/float-promotion.rkt b/collects/tests/typed-scheme/optimizer/tests/float-promotion.rkt index 3c8c2451..01c5089f 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-promotion.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-promotion.rkt @@ -1,8 +1,8 @@ #; ( -TR opt: float-promotion.rkt 13:1 + -- binary float -TR opt: float-promotion.rkt 13:4 modulo -- binary nonzero fixnum -TR opt: float-promotion.rkt 14:1 + -- binary float +TR opt: float-promotion.rkt 13:0 (+ (modulo 1 1) 2.0) -- binary float +TR opt: float-promotion.rkt 13:3 (modulo 1 1) -- binary nonzero fixnum +TR opt: float-promotion.rkt 14:0 (+ (expt 100 100) 2.0) -- binary float 2.0 1e+200 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-real.rkt b/collects/tests/typed-scheme/optimizer/tests/float-real.rkt index 73769990..751892d0 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-real.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-real.rkt @@ -1,8 +1,8 @@ #; ( -TR opt: float-real.rkt 18:1 + -- binary float +TR opt: float-real.rkt 18:0 (+ 2.3 (ann 3 Real)) -- binary float TR missed opt: float-real.rkt 19:0 (+ 2.3 (* (ann 2 Integer) 3.2)) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 19:7 (* (ann 2 Integer) 3.2) -TR opt: float-real.rkt 19:1 + -- binary float +TR opt: float-real.rkt 19:0 (+ 2.3 (* (ann 2 Integer) 3.2)) -- binary float TR missed opt: float-real.rkt 19:7 (* (ann 2 Integer) 3.2) -- binary, args all float-arg-expr, return type not Float -- caused by: 19:15 2 TR missed opt: float-real.rkt 20:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- binary, args all float-arg-expr, return type not Float -- caused by: 20:15 2 (2 times) TR missed opt: float-real.rkt 20:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 20:7 (* (ann 2 Integer) 3.1) diff --git a/collects/tests/typed-scheme/optimizer/tests/flvector-length.rkt b/collects/tests/typed-scheme/optimizer/tests/flvector-length.rkt index 473544c8..68716f49 100644 --- a/collects/tests/typed-scheme/optimizer/tests/flvector-length.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/flvector-length.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: flvector-length.rkt 10:1 flvector-length -- flvector-length +TR opt: flvector-length.rkt 10:0 (flvector-length (flvector 0.0 1.2)) -- flvector-length 2 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/fx-fl.rkt b/collects/tests/typed-scheme/optimizer/tests/fx-fl.rkt index 2f3d5eec..0e2eb493 100644 --- a/collects/tests/typed-scheme/optimizer/tests/fx-fl.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/fx-fl.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: fx-fl.rkt 10:1 exact->inexact -- fixnum to float +TR opt: fx-fl.rkt 10:0 (exact->inexact 1) -- fixnum to float 1.0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/invalid-exact-inexact.rkt b/collects/tests/typed-scheme/optimizer/tests/invalid-exact-inexact.rkt index 9b852711..2ba7e726 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-exact-inexact.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-exact-inexact.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: invalid-exact-inexact.rkt 9:1 exact->inexact -- float to float +TR opt: invalid-exact-inexact.rkt 9:0 (exact->inexact 1.0) -- float to float 1.0 ) 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 a26f62a3..df48ef04 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let.rkt @@ -1,15 +1,15 @@ #; ( TR opt: invalid-unboxed-let.rkt 22:0 (let ((t1 (+ 1.0+2.0i 2.0+4.0i)) (t2 (+ 3.0+6.0i 4.0+8.0i)) (t3 1.0+2.0i) (t4 1)) (display (+ t1 t1)) (display t2) (display t3) (display t4)) -- unboxed let bindings -TR opt: invalid-unboxed-let.rkt 22:11 + -- unboxed binary float complex +TR opt: invalid-unboxed-let.rkt 22:10 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: invalid-unboxed-let.rkt 22:13 1.0+2.0i -- unboxed literal TR opt: invalid-unboxed-let.rkt 22:22 2.0+4.0i -- unboxed literal +TR opt: invalid-unboxed-let.rkt 23:10 (+ 3.0+6.0i 4.0+8.0i) -- unboxed binary float complex TR opt: invalid-unboxed-let.rkt 23:10 (+ 3.0+6.0i 4.0+8.0i) -- unboxed float complex -TR opt: invalid-unboxed-let.rkt 23:11 + -- unboxed binary float complex TR opt: invalid-unboxed-let.rkt 23:13 3.0+6.0i -- unboxed literal TR opt: invalid-unboxed-let.rkt 23:22 4.0+8.0i -- unboxed literal +TR opt: invalid-unboxed-let.rkt 26:11 (+ t1 t1) -- unboxed binary float complex TR opt: invalid-unboxed-let.rkt 26:11 (+ t1 t1) -- unboxed float complex -TR opt: invalid-unboxed-let.rkt 26:12 + -- unboxed binary float complex TR opt: invalid-unboxed-let.rkt 26:14 t1 -- leave var unboxed TR opt: invalid-unboxed-let.rkt 26:14 t1 -- unbox float-complex TR opt: invalid-unboxed-let.rkt 26:17 t1 -- leave var unboxed 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 d013519c..2532811e 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let2.rkt @@ -1,15 +1,15 @@ #; ( +TR opt: invalid-unboxed-let2.rkt 24:30 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: invalid-unboxed-let2.rkt 24:30 (+ 1.0+2.0i 2.0+4.0i) -- unboxed float complex -TR opt: invalid-unboxed-let2.rkt 24:31 + -- unboxed binary float complex TR opt: invalid-unboxed-let2.rkt 24:33 1.0+2.0i -- unboxed literal TR opt: invalid-unboxed-let2.rkt 24:42 2.0+4.0i -- unboxed literal +TR opt: invalid-unboxed-let2.rkt 24:52 (+ 3.0+6.0i 4.0+8.0i) -- unboxed binary float complex TR opt: invalid-unboxed-let2.rkt 24:52 (+ 3.0+6.0i 4.0+8.0i) -- unboxed float complex -TR opt: invalid-unboxed-let2.rkt 24:53 + -- unboxed binary float complex TR opt: invalid-unboxed-let2.rkt 24:55 3.0+6.0i -- unboxed literal TR opt: invalid-unboxed-let2.rkt 24:64 4.0+8.0i -- unboxed literal +TR opt: invalid-unboxed-let2.rkt 25:2 (+ t1 t2) -- unboxed binary float complex TR opt: invalid-unboxed-let2.rkt 25:2 (+ t1 t2) -- unboxed float complex -TR opt: invalid-unboxed-let2.rkt 25:3 + -- unboxed binary float complex TR opt: invalid-unboxed-let2.rkt 25:5 t1 -- unbox float-complex TR opt: invalid-unboxed-let2.rkt 25:8 t2 -- unbox 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 1a194416..eb848492 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 @@ #; ( -TR opt: known-vector-length.rkt 11:1 + -- fixnum bounded expr -TR opt: known-vector-length.rkt 11:6 vector-length -- known-length vector-length +TR opt: known-vector-length.rkt 11:0 (+ 2 (vector-length (ann (vector 1 2) (Vector Integer Integer)))) -- fixnum bounded expr +TR opt: known-vector-length.rkt 11:5 (vector-length (ann (vector 1 2) (Vector Integer Integer))) -- known-length vector-length 4 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/let-float.rkt b/collects/tests/typed-scheme/optimizer/tests/let-float.rkt index d338f66f..9bdbcae7 100644 --- a/collects/tests/typed-scheme/optimizer/tests/let-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/let-float.rkt @@ -1,7 +1,7 @@ #; ( -TR opt: let-float.rkt 11:10 + -- binary float -TR opt: let-float.rkt 12:3 * -- binary float +TR opt: let-float.rkt 11:9 (+ 3.0 2.0) -- binary float +TR opt: let-float.rkt 12:2 (* 9.0 x) -- binary float 45.0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/let-rhs.rkt b/collects/tests/typed-scheme/optimizer/tests/let-rhs.rkt index 2074a0b6..eb332c22 100644 --- a/collects/tests/typed-scheme/optimizer/tests/let-rhs.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/let-rhs.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: let-rhs.rkt 12:10 + -- binary float +TR opt: let-rhs.rkt 12:9 (+ 1.0 2.0) -- binary float 3.0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/literal-int.rkt b/collects/tests/typed-scheme/optimizer/tests/literal-int.rkt index 09d35ffe..67668bca 100644 --- a/collects/tests/typed-scheme/optimizer/tests/literal-int.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/literal-int.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: literal-int.rkt 13:1 + -- binary float +TR opt: literal-int.rkt 13:0 (+ 1 2.0) -- binary float 3.0 1 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/magnitude.rkt b/collects/tests/typed-scheme/optimizer/tests/magnitude.rkt index 159fcacb..3a74de16 100644 --- a/collects/tests/typed-scheme/optimizer/tests/magnitude.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/magnitude.rkt @@ -1,7 +1,7 @@ #; ( TR opt: magnitude.rkt 14:0 (magnitude 3.0+4.0i) -- unboxed float complex->float -TR opt: magnitude.rkt 14:1 magnitude -- unboxed unary float complex +TR opt: magnitude.rkt 14:0 (magnitude 3.0+4.0i) -- unboxed unary float complex TR opt: magnitude.rkt 14:11 3.0+4.0i -- unboxed literal 5.0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/make-flrectangular.rkt b/collects/tests/typed-scheme/optimizer/tests/make-flrectangular.rkt index 5b04e616..bf1d12e5 100644 --- a/collects/tests/typed-scheme/optimizer/tests/make-flrectangular.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/make-flrectangular.rkt @@ -1,7 +1,7 @@ #; ( -TR opt: make-flrectangular.rkt 12:1 make-rectangular -- binary float comp -TR opt: make-flrectangular.rkt 13:1 make-flrectangular -- binary float comp +TR opt: make-flrectangular.rkt 12:0 (make-rectangular 1.0 2.2) -- binary float comp +TR opt: make-flrectangular.rkt 13:0 (make-flrectangular 1.0 2.2) -- binary float comp 1.0+2.2i 1.0+2.2i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/make-polar.rkt b/collects/tests/typed-scheme/optimizer/tests/make-polar.rkt index 4dcc6802..ef92e041 100644 --- a/collects/tests/typed-scheme/optimizer/tests/make-polar.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/make-polar.rkt @@ -1,18 +1,18 @@ #; ( -TR opt: make-polar.rkt 28:1 make-polar -- make-polar -TR opt: make-polar.rkt 28:1 make-polar -- make-rectangular elimination +TR opt: make-polar.rkt 28:0 (make-polar 1.0 1.0) -- make-polar +TR opt: make-polar.rkt 28:0 (make-polar 1.0 1.0) -- make-rectangular elimination TR opt: make-polar.rkt 31:0 (let ((p (+ 1.0+2.0i (make-polar 2.0 4.0)))) (string-append (real->decimal-string (real-part p) 10) (real->decimal-string (imag-part p) 10))) -- unboxed let bindings -TR opt: make-polar.rkt 31:10 + -- unboxed binary float complex +TR opt: make-polar.rkt 31:9 (+ 1.0+2.0i (make-polar 2.0 4.0)) -- unboxed binary float complex TR opt: make-polar.rkt 31:12 1.0+2.0i -- unboxed literal -TR opt: make-polar.rkt 31:22 make-polar -- make-rectangular elimination +TR opt: make-polar.rkt 31:21 (make-polar 2.0 4.0) -- make-rectangular elimination +TR opt: make-polar.rkt 32:39 (real-part p) -- unboxed float complex TR opt: make-polar.rkt 32:39 (real-part p) -- unboxed float complex->float -TR opt: make-polar.rkt 32:40 real-part -- unboxed float complex -TR opt: make-polar.rkt 32:40 real-part -- unboxed unary float complex +TR opt: make-polar.rkt 32:39 (real-part p) -- unboxed unary float complex TR opt: make-polar.rkt 32:50 p -- leave var unboxed TR opt: make-polar.rkt 32:50 p -- unbox float-complex TR opt: make-polar.rkt 32:50 p -- unboxed complex variable -TR opt: make-polar.rkt 33:40 imag-part -- unboxed float complex +TR opt: make-polar.rkt 33:39 (imag-part p) -- unboxed float complex TR opt: make-polar.rkt 33:50 p -- leave var unboxed TR opt: make-polar.rkt 33:50 p -- unboxed complex variable 0.5403023058681398+0.8414709848078965i 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 c05efca7..5d72587c 100644 --- a/collects/tests/typed-scheme/optimizer/tests/maybe-exact-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/maybe-exact-complex.rkt @@ -1,7 +1,7 @@ #; ( +TR opt: maybe-exact-complex.rkt 15:0 (+ 1.0+2.0i 2+4i) -- unboxed binary float complex TR opt: maybe-exact-complex.rkt 15:0 (+ 1.0+2.0i 2+4i) -- unboxed float complex -TR opt: maybe-exact-complex.rkt 15:1 + -- unboxed binary float complex TR opt: maybe-exact-complex.rkt 15:3 1.0+2.0i -- unboxed literal TR opt: maybe-exact-complex.rkt 15:12 2+4i -- unboxed literal 3.0+6.0i diff --git a/collects/tests/typed-scheme/optimizer/tests/mpair.rkt b/collects/tests/typed-scheme/optimizer/tests/mpair.rkt index 863a6f77..4f61b8f2 100644 --- a/collects/tests/typed-scheme/optimizer/tests/mpair.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/mpair.rkt @@ -1,12 +1,12 @@ #; ( -TR opt: mpair.rkt 19:1 mcar -- mutable pair -TR opt: mpair.rkt 20:1 mcdr -- mutable pair -TR opt: mpair.rkt 21:1 set-mcar! -- mutable pair -TR opt: mpair.rkt 21:14 + -- fixnum bounded expr -TR opt: mpair.rkt 22:1 set-mcdr! -- mutable pair -TR opt: mpair.rkt 22:14 + -- binary float -TR opt: mpair.rkt 28:7 mcar -- mutable pair +TR opt: mpair.rkt 19:0 (mcar x) -- mutable pair +TR opt: mpair.rkt 20:0 (mcdr x) -- mutable pair +TR opt: mpair.rkt 21:0 (set-mcar! x (+ 1 2)) -- mutable pair +TR opt: mpair.rkt 21:13 (+ 1 2) -- fixnum bounded expr +TR opt: mpair.rkt 22:0 (set-mcdr! x (+ 1.0 2.0)) -- mutable pair +TR opt: mpair.rkt 22:13 (+ 1.0 2.0) -- binary float +TR opt: mpair.rkt 28:6 (mcar x) -- mutable pair 1 1.0 ) 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 4ecf3b32..dd5a0212 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,7 +1,7 @@ #; ( +TR opt: n-ary-float-complex.rkt 15:0 (+ 1.0+2.0i 2.0+4.0i 3.0+6.0i 4.0+8.0i) -- unboxed binary float complex TR opt: n-ary-float-complex.rkt 15:0 (+ 1.0+2.0i 2.0+4.0i 3.0+6.0i 4.0+8.0i) -- unboxed float complex -TR opt: n-ary-float-complex.rkt 15:1 + -- unboxed binary float complex TR opt: n-ary-float-complex.rkt 15:3 1.0+2.0i -- unboxed literal TR opt: n-ary-float-complex.rkt 15:12 2.0+4.0i -- unboxed literal TR opt: n-ary-float-complex.rkt 15:21 3.0+6.0i -- unboxed literal diff --git a/collects/tests/typed-scheme/optimizer/tests/n-ary-float.rkt b/collects/tests/typed-scheme/optimizer/tests/n-ary-float.rkt index 82604a3c..2f16809c 100644 --- a/collects/tests/typed-scheme/optimizer/tests/n-ary-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/n-ary-float.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: n-ary-float.rkt 10:1 + -- binary float +TR opt: n-ary-float.rkt 10:0 (+ 1.0 2.0 3.0) -- binary float 6.0 ) 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 7e1cb42c..9fcc7003 100644 --- a/collects/tests/typed-scheme/optimizer/tests/nested-float-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/nested-float-complex.rkt @@ -1,9 +1,9 @@ #; ( +TR opt: nested-float-complex.rkt 15:0 (+ 1.0+2.0i (- 2.0+4.0i 3.0+6.0i)) -- unboxed binary float complex TR opt: nested-float-complex.rkt 15:0 (+ 1.0+2.0i (- 2.0+4.0i 3.0+6.0i)) -- unboxed float complex -TR opt: nested-float-complex.rkt 15:1 + -- unboxed binary float complex TR opt: nested-float-complex.rkt 15:3 1.0+2.0i -- unboxed literal -TR opt: nested-float-complex.rkt 15:13 - -- unboxed binary float complex +TR opt: nested-float-complex.rkt 15:12 (- 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex TR opt: nested-float-complex.rkt 15:15 2.0+4.0i -- unboxed literal TR opt: nested-float-complex.rkt 15:24 3.0+6.0i -- unboxed literal 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 51928b09..ea6de6b8 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 @@ #; ( -TR opt: nested-float.rkt 11:1 + -- binary float -TR opt: nested-float.rkt 11:8 + -- binary float +TR opt: nested-float.rkt 11:0 (+ 2.0 (+ 3.0 4.0)) -- binary float +TR opt: nested-float.rkt 11:7 (+ 3.0 4.0) -- 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 a9cd1ce5..830df163 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 @@ #; ( -TR opt: nested-float2.rkt 11:1 + -- binary float -TR opt: nested-float2.rkt 11:8 * -- binary float +TR opt: nested-float2.rkt 11:0 (+ 2.0 (* 3.0 4.0)) -- binary float +TR opt: nested-float2.rkt 11:7 (* 3.0 4.0) -- 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 c1ddf53b..9ccff9d4 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 @@ #; ( TR opt: nested-let-loop.rkt 40:0 (let: loop1 : Float-Complex ((x : (Listof Float-Complex) (quote (1.0+2.0i 2.0+4.0i))) (r : Float-Complex 0.0+0.0i)) (if (null? x) r (let: loop2 : Float-Complex ((y : (Listof Float-Complex) (quote (3.0+6.0i 4.0+8.0i))) (s : Float-Complex 0.0+0.0i)) (if (null? y) (loop1 (cdr x) (+ r s)) (loop2 (cdr y) (+ s (car x) (car y))))))) -- unboxed call site -TR opt: nested-let-loop.rkt 45:10 (let: loop2 : Float-Complex ((y : (Listof Float-Complex) (quote (3.0+6.0i 4.0+8.0i))) (s : Float-Complex 0.0+0.0i)) (if (null? y) (loop1 (cdr x) (+ r s)) (loop2 (cdr y) (+ s (car x) (car y))))) -- unboxed call site TR opt: nested-let-loop.rkt 40:6 loop1 -- fun -> unboxed fun TR opt: nested-let-loop.rkt 40:6 loop1 -- unboxed function -> table TR opt: nested-let-loop.rkt 40:6 loop1 -- unboxed let loop TR opt: nested-let-loop.rkt 42:8 r -- unboxed var -> table TR opt: nested-let-loop.rkt 42:28 0.0+0.0i -- unboxed literal TR opt: nested-let-loop.rkt 44:10 r -- unboxed complex variable +TR opt: nested-let-loop.rkt 45:10 (let: loop2 : Float-Complex ((y : (Listof Float-Complex) (quote (3.0+6.0i 4.0+8.0i))) (s : Float-Complex 0.0+0.0i)) (if (null? y) (loop1 (cdr x) (+ r s)) (loop2 (cdr y) (+ s (car x) (car y))))) -- unboxed call site TR opt: nested-let-loop.rkt 45:16 loop2 -- fun -> unboxed fun TR opt: nested-let-loop.rkt 45:16 loop2 -- unboxed function -> table TR opt: nested-let-loop.rkt 45:16 loop2 -- unboxed let loop TR opt: nested-let-loop.rkt 47:18 s -- unboxed var -> table TR opt: nested-let-loop.rkt 47:38 0.0+0.0i -- unboxed literal -TR opt: nested-let-loop.rkt 49:21 loop1 -- call to fun with unboxed args -TR opt: nested-let-loop.rkt 49:21 loop1 -- unboxed call site -TR opt: nested-let-loop.rkt 49:28 cdr -- pair +TR opt: nested-let-loop.rkt 49:20 (loop1 (cdr x) (+ r s)) -- call to fun with unboxed args +TR opt: nested-let-loop.rkt 49:20 (loop1 (cdr x) (+ r s)) -- unboxed call site +TR opt: nested-let-loop.rkt 49:27 (cdr x) -- pair +TR opt: nested-let-loop.rkt 49:35 (+ r s) -- unboxed binary float complex TR opt: nested-let-loop.rkt 49:35 (+ r s) -- unboxed float complex -TR opt: nested-let-loop.rkt 49:36 + -- unboxed binary float complex TR opt: nested-let-loop.rkt 49:38 r -- leave var unboxed TR opt: nested-let-loop.rkt 49:38 r -- unbox float-complex TR opt: nested-let-loop.rkt 49:40 s -- leave var unboxed TR opt: nested-let-loop.rkt 49:40 s -- unbox float-complex -TR opt: nested-let-loop.rkt 50:21 loop2 -- call to fun with unboxed args -TR opt: nested-let-loop.rkt 50:21 loop2 -- unboxed call site -TR opt: nested-let-loop.rkt 50:28 cdr -- pair -TR opt: nested-let-loop.rkt 50:36 + -- unboxed binary float complex +TR opt: nested-let-loop.rkt 50:20 (loop2 (cdr y) (+ s (car x) (car y))) -- call to fun with unboxed args +TR opt: nested-let-loop.rkt 50:20 (loop2 (cdr y) (+ s (car x) (car y))) -- unboxed call site +TR opt: nested-let-loop.rkt 50:27 (cdr y) -- pair +TR opt: nested-let-loop.rkt 50:35 (+ s (car x) (car y)) -- unboxed binary float complex TR opt: nested-let-loop.rkt 50:38 s -- leave var unboxed +TR opt: nested-let-loop.rkt 50:40 (car x) -- pair TR opt: nested-let-loop.rkt 50:40 (car x) -- unbox float-complex -TR opt: nested-let-loop.rkt 50:41 car -- pair +TR opt: nested-let-loop.rkt 50:48 (car y) -- pair TR opt: nested-let-loop.rkt 50:48 (car y) -- unbox float-complex -TR opt: nested-let-loop.rkt 50:49 car -- pair 20.0+40.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/nested-pair1.rkt b/collects/tests/typed-scheme/optimizer/tests/nested-pair1.rkt index 307a0a36..cec999e0 100644 --- a/collects/tests/typed-scheme/optimizer/tests/nested-pair1.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/nested-pair1.rkt @@ -1,7 +1,7 @@ #; ( -TR opt: nested-pair1.rkt 11:1 car -- pair -TR opt: nested-pair1.rkt 11:6 cdr -- pair +TR opt: nested-pair1.rkt 11:0 (car (cdr (quote (1 2)))) -- pair +TR opt: nested-pair1.rkt 11:5 (cdr (quote (1 2))) -- pair 2 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/nested-pair2.rkt b/collects/tests/typed-scheme/optimizer/tests/nested-pair2.rkt index 3c5fd996..ee216187 100644 --- a/collects/tests/typed-scheme/optimizer/tests/nested-pair2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/nested-pair2.rkt @@ -1,7 +1,7 @@ #; ( -TR opt: nested-pair2.rkt 11:1 car -- pair -TR opt: nested-pair2.rkt 11:6 cdr -- pair +TR opt: nested-pair2.rkt 11:0 (car (cdr (cons 3 (cons (cons 2 (quote ())) 1)))) -- pair +TR opt: nested-pair2.rkt 11:5 (cdr (cons 3 (cons (cons 2 (quote ())) 1))) -- pair '(2) ) 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 e63ca26f..28e5a26a 100644 --- a/collects/tests/typed-scheme/optimizer/tests/nested-unboxed-let.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/nested-unboxed-let.rkt @@ -1,17 +1,17 @@ #; ( TR opt: nested-unboxed-let.rkt 24:0 (let ((x (+ 1.0+2.0i 2.0+3.0i))) (let ((x (+ x 2.0+3.0i))) (+ x 3.0+6.0i))) -- unboxed let bindings -TR opt: nested-unboxed-let.rkt 24:10 + -- unboxed binary float complex +TR opt: nested-unboxed-let.rkt 24:9 (+ 1.0+2.0i 2.0+3.0i) -- unboxed binary float complex TR opt: nested-unboxed-let.rkt 24:12 1.0+2.0i -- unboxed literal TR opt: nested-unboxed-let.rkt 24:21 2.0+3.0i -- unboxed literal TR opt: nested-unboxed-let.rkt 25:2 (let ((x (+ x 2.0+3.0i))) (+ x 3.0+6.0i)) -- unboxed let bindings +TR opt: nested-unboxed-let.rkt 25:11 (+ x 2.0+3.0i) -- unboxed binary float complex TR opt: nested-unboxed-let.rkt 25:11 (+ x 2.0+3.0i) -- unboxed float complex -TR opt: nested-unboxed-let.rkt 25:12 + -- unboxed binary float complex TR opt: nested-unboxed-let.rkt 25:14 x -- leave var unboxed TR opt: nested-unboxed-let.rkt 25:14 x -- unbox float-complex TR opt: nested-unboxed-let.rkt 25:16 2.0+3.0i -- unboxed literal +TR opt: nested-unboxed-let.rkt 26:4 (+ x 3.0+6.0i) -- unboxed binary float complex TR opt: nested-unboxed-let.rkt 26:4 (+ x 3.0+6.0i) -- unboxed float complex -TR opt: nested-unboxed-let.rkt 26:5 + -- unboxed binary float complex TR opt: nested-unboxed-let.rkt 26:7 x -- leave var unboxed TR opt: nested-unboxed-let.rkt 26:7 x -- unbox float-complex TR opt: nested-unboxed-let.rkt 26:9 3.0+6.0i -- unboxed literal diff --git a/collects/tests/typed-scheme/optimizer/tests/one-arg-arith.rkt b/collects/tests/typed-scheme/optimizer/tests/one-arg-arith.rkt index cee2973a..497a827f 100644 --- a/collects/tests/typed-scheme/optimizer/tests/one-arg-arith.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/one-arg-arith.rkt @@ -1,20 +1,20 @@ #; ( -TR opt: one-arg-arith.rkt 40:1 - -- unary fixnum -TR opt: one-arg-arith.rkt 41:1 - -- unary float -TR opt: one-arg-arith.rkt 42:1 / -- unary float -TR opt: one-arg-arith.rkt 44:1 + -- unary number -TR opt: one-arg-arith.rkt 45:1 + -- unary number -TR opt: one-arg-arith.rkt 46:1 + -- unary number -TR opt: one-arg-arith.rkt 47:1 * -- unary number -TR opt: one-arg-arith.rkt 48:1 * -- unary number -TR opt: one-arg-arith.rkt 49:1 * -- unary number -TR opt: one-arg-arith.rkt 50:1 min -- unary number -TR opt: one-arg-arith.rkt 51:1 min -- unary number -TR opt: one-arg-arith.rkt 52:1 min -- unary number -TR opt: one-arg-arith.rkt 53:1 max -- unary number -TR opt: one-arg-arith.rkt 54:1 max -- unary number -TR opt: one-arg-arith.rkt 55:1 max -- unary number +TR opt: one-arg-arith.rkt 40:0 (- 12) -- unary fixnum +TR opt: one-arg-arith.rkt 41:0 (- 12.0) -- unary float +TR opt: one-arg-arith.rkt 42:0 (/ 4.2) -- unary float +TR opt: one-arg-arith.rkt 44:0 (+ 1) -- unary number +TR opt: one-arg-arith.rkt 45:0 (+ 1.0) -- unary number +TR opt: one-arg-arith.rkt 46:0 (+ (expt 2 100)) -- unary number +TR opt: one-arg-arith.rkt 47:0 (* 1) -- unary number +TR opt: one-arg-arith.rkt 48:0 (* 1.0) -- unary number +TR opt: one-arg-arith.rkt 49:0 (* (expt 2 100)) -- unary number +TR opt: one-arg-arith.rkt 50:0 (min 1) -- unary number +TR opt: one-arg-arith.rkt 51:0 (min 1.0) -- unary number +TR opt: one-arg-arith.rkt 52:0 (min (expt 2 100)) -- unary number +TR opt: one-arg-arith.rkt 53:0 (max 1) -- unary number +TR opt: one-arg-arith.rkt 54:0 (max 1.0) -- unary number +TR opt: one-arg-arith.rkt 55:0 (max (expt 2 100)) -- unary number -12 -12.0 0.23809523809523808 diff --git a/collects/tests/typed-scheme/optimizer/tests/pair-fun.rkt b/collects/tests/typed-scheme/optimizer/tests/pair-fun.rkt index 1a2b2f38..dbe99fd4 100644 --- a/collects/tests/typed-scheme/optimizer/tests/pair-fun.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/pair-fun.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: pair-fun.rkt 13:7 car -- pair +TR opt: pair-fun.rkt 13:6 (car x) -- pair ) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/pair-known-length-list.rkt b/collects/tests/typed-scheme/optimizer/tests/pair-known-length-list.rkt index 6c4d66e3..9496ff76 100644 --- a/collects/tests/typed-scheme/optimizer/tests/pair-known-length-list.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/pair-known-length-list.rkt @@ -1,17 +1,17 @@ #; ( -TR opt: pair-known-length-list.rkt 27:1 car -- pair -TR opt: pair-known-length-list.rkt 28:1 cdr -- pair -TR opt: pair-known-length-list.rkt 29:1 car -- pair -TR opt: pair-known-length-list.rkt 29:6 cdr -- pair -TR opt: pair-known-length-list.rkt 30:1 cdr -- pair -TR opt: pair-known-length-list.rkt 30:6 cdr -- pair -TR opt: pair-known-length-list.rkt 31:1 car -- pair -TR opt: pair-known-length-list.rkt 31:6 cdr -- pair -TR opt: pair-known-length-list.rkt 31:11 cdr -- pair -TR opt: pair-known-length-list.rkt 32:1 cdr -- pair -TR opt: pair-known-length-list.rkt 32:6 cdr -- pair -TR opt: pair-known-length-list.rkt 32:11 cdr -- pair +TR opt: pair-known-length-list.rkt 27:0 (car x) -- pair +TR opt: pair-known-length-list.rkt 28:0 (cdr x) -- pair +TR opt: pair-known-length-list.rkt 29:0 (car (cdr x)) -- pair +TR opt: pair-known-length-list.rkt 29:5 (cdr x) -- pair +TR opt: pair-known-length-list.rkt 30:0 (cdr (cdr x)) -- pair +TR opt: pair-known-length-list.rkt 30:5 (cdr x) -- pair +TR opt: pair-known-length-list.rkt 31:0 (car (cdr (cdr x))) -- pair +TR opt: pair-known-length-list.rkt 31:5 (cdr (cdr x)) -- pair +TR opt: pair-known-length-list.rkt 31:10 (cdr x) -- pair +TR opt: pair-known-length-list.rkt 32:0 (cdr (cdr (cdr x))) -- pair +TR opt: pair-known-length-list.rkt 32:5 (cdr (cdr x)) -- pair +TR opt: pair-known-length-list.rkt 32:10 (cdr x) -- pair 1 '(2 3) 2 diff --git a/collects/tests/typed-scheme/optimizer/tests/rational-literal.rkt b/collects/tests/typed-scheme/optimizer/tests/rational-literal.rkt index 72d2daf0..5f104925 100644 --- a/collects/tests/typed-scheme/optimizer/tests/rational-literal.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/rational-literal.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: rational-literal.rkt 8:1 + -- binary float +TR opt: rational-literal.rkt 8:0 (+ 3/4 1.2) -- binary float 1.95 ) #lang typed/racket #:optimize 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 66ad2548..b24389bb 100644 --- a/collects/tests/typed-scheme/optimizer/tests/real-part-loop.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/real-part-loop.rkt @@ -6,16 +6,16 @@ TR opt: real-part-loop.rkt 30:6 loop -- unboxed function -> table TR opt: real-part-loop.rkt 30:6 loop -- unboxed let loop TR opt: real-part-loop.rkt 30:13 v -- unboxed var -> table TR opt: real-part-loop.rkt 30:15 0.0+1.0i -- unboxed literal -TR opt: real-part-loop.rkt 31:7 > -- binary float comp +TR opt: real-part-loop.rkt 31:6 (> (real-part v) 70000.2) -- binary float comp +TR opt: real-part-loop.rkt 31:9 (real-part v) -- unboxed float complex TR opt: real-part-loop.rkt 31:9 (real-part v) -- unboxed float complex->float -TR opt: real-part-loop.rkt 31:10 real-part -- unboxed float complex -TR opt: real-part-loop.rkt 31:10 real-part -- unboxed unary float complex +TR opt: real-part-loop.rkt 31:9 (real-part v) -- unboxed unary float complex TR opt: real-part-loop.rkt 31:20 v -- leave var unboxed TR opt: real-part-loop.rkt 31:20 v -- unbox float-complex TR opt: real-part-loop.rkt 31:20 v -- unboxed complex variable -TR opt: real-part-loop.rkt 33:7 loop -- call to fun with unboxed args -TR opt: real-part-loop.rkt 33:7 loop -- unboxed call site -TR opt: real-part-loop.rkt 33:13 + -- unboxed binary float complex +TR opt: real-part-loop.rkt 33:6 (loop (+ v 3.6)) -- call to fun with unboxed args +TR opt: real-part-loop.rkt 33:6 (loop (+ v 3.6)) -- unboxed call site +TR opt: real-part-loop.rkt 33:12 (+ v 3.6) -- unboxed binary float complex TR opt: real-part-loop.rkt 33:15 v -- leave var unboxed TR opt: real-part-loop.rkt 33:17 3.6 -- float-arg-expr in complex ops 0 diff --git a/collects/tests/typed-scheme/optimizer/tests/simple-float.rkt b/collects/tests/typed-scheme/optimizer/tests/simple-float.rkt index bf5d5c92..e6871776 100644 --- a/collects/tests/typed-scheme/optimizer/tests/simple-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/simple-float.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: simple-float.rkt 10:1 + -- binary float +TR opt: simple-float.rkt 10:0 (+ 2.0 3.0) -- binary float 5.0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/simple-pair.rkt b/collects/tests/typed-scheme/optimizer/tests/simple-pair.rkt index 3ae082fb..60e06b54 100644 --- a/collects/tests/typed-scheme/optimizer/tests/simple-pair.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/simple-pair.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: simple-pair.rkt 10:1 car -- pair +TR opt: simple-pair.rkt 10:0 (car (cons 1 2)) -- pair 1 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/sqrt-segfault.rkt b/collects/tests/typed-scheme/optimizer/tests/sqrt-segfault.rkt index 24cf77b9..df1fa224 100644 --- a/collects/tests/typed-scheme/optimizer/tests/sqrt-segfault.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/sqrt-segfault.rkt @@ -1,7 +1,7 @@ #; ( -TR opt: sqrt-segfault.rkt 18:15 - -- binary float -TR opt: sqrt-segfault.rkt 19:15 * -- binary float +TR opt: sqrt-segfault.rkt 18:14 (- 0.0 0.0) -- binary float +TR opt: sqrt-segfault.rkt 19:14 (* dx dx) -- binary float TR missed opt: sqrt-segfault.rkt 20:31 (sqrt dist2) -- unexpected complex type ) diff --git a/collects/tests/typed-scheme/optimizer/tests/sqrt.rkt b/collects/tests/typed-scheme/optimizer/tests/sqrt.rkt index e9e8d9e0..f7863856 100644 --- a/collects/tests/typed-scheme/optimizer/tests/sqrt.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/sqrt.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: sqrt.rkt 11:3 sqrt -- unary float +TR opt: sqrt.rkt 11:2 (sqrt x) -- unary float ) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/string-length.rkt b/collects/tests/typed-scheme/optimizer/tests/string-length.rkt index c924d7bb..6d32bce8 100644 --- a/collects/tests/typed-scheme/optimizer/tests/string-length.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/string-length.rkt @@ -1,7 +1,7 @@ #; ( -TR opt: #f (no location) op -- string-length -TR opt: #f (no location) op -- bytes-length +TR opt: string-length.rkt 14:0 (string-length "eh") -- string-length +TR opt: string-length.rkt 15:0 (bytes-length #"eh") -- bytes-length 2 2 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/structs.rkt b/collects/tests/typed-scheme/optimizer/tests/structs.rkt index b5746228..7b8d7704 100644 --- a/collects/tests/typed-scheme/optimizer/tests/structs.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/structs.rkt @@ -1,7 +1,7 @@ #; ( -TR opt: structs.rkt 13:1 pt-x -- struct ref -TR opt: structs.rkt 14:1 set-pt-y! -- struct set +TR opt: structs.rkt 13:0 (pt-x a) -- struct ref +TR opt: structs.rkt 14:0 (set-pt-y! a 5) -- struct set 3 ) 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 f16a5234..ab6a8f8c 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unary-fixnum-nested.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unary-fixnum-nested.rkt @@ -1,8 +1,7 @@ #; ( -TR opt: unary-fixnum-nested.rkt 12:1 bitwise-not -- unary fixnum -TR opt: unary-fixnum-nested.rkt 12:14 bitwise-not -- unary fixnum -TR opt: unary-fixnum-nested.rkt 12:27 length -- known-length list length +TR opt: unary-fixnum-nested.rkt 11:0 (bitwise-not (bitwise-not (length (quote (1 2 3))))) -- unary fixnum +TR opt: unary-fixnum-nested.rkt 11:13 (bitwise-not (length (quote (1 2 3)))) -- unary fixnum 3 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unary-fixnum.rkt b/collects/tests/typed-scheme/optimizer/tests/unary-fixnum.rkt index bfc6435c..57f4e809 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unary-fixnum.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unary-fixnum.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: unary-fixnum.rkt 10:1 bitwise-not -- unary fixnum +TR opt: unary-fixnum.rkt 10:0 (bitwise-not 4) -- unary fixnum -5 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unary-float.rkt b/collects/tests/typed-scheme/optimizer/tests/unary-float.rkt index e57b4083..a5512376 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unary-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unary-float.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: unary-float.rkt 10:1 sin -- unary float +TR opt: unary-float.rkt 10:0 (sin 2.0) -- unary float 0.9092974268256817 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt index b2d56403..b8ae1879 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt @@ -19,8 +19,8 @@ TR opt: unboxed-for.rkt 34:31 sum -- unboxed var -> table TR opt: unboxed-for.rkt 34:53 0.0+0.0i -- unboxed literal TR opt: unboxed-for.rkt 35:13 i -- unboxed complex variable TR opt: unboxed-for.rkt 35:13 i -- unboxed complex variable +TR opt: unboxed-for.rkt 36:6 (+ i sum) -- unboxed binary float complex TR opt: unboxed-for.rkt 36:6 (+ i sum) -- unboxed float complex -TR opt: unboxed-for.rkt 36:7 + -- unboxed binary float complex TR opt: unboxed-for.rkt 36:9 i -- leave var unboxed TR opt: unboxed-for.rkt 36:9 i -- unbox float-complex TR opt: unboxed-for.rkt 36:11 sum -- leave var unboxed 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 b1d10add..271717f8 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions1.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions1.rkt @@ -3,14 +3,14 @@ TR opt: unboxed-let-functions1.rkt 23:7 f -- fun -> unboxed fun TR opt: unboxed-let-functions1.rkt 23:7 f -- unboxed function -> table TR opt: unboxed-let-functions1.rkt 23:20 x -- unboxed var -> table +TR opt: unboxed-let-functions1.rkt 23:42 (+ x 3.0+6.0i) -- unboxed binary float complex TR opt: unboxed-let-functions1.rkt 23:42 (+ x 3.0+6.0i) -- unboxed float complex -TR opt: unboxed-let-functions1.rkt 23:43 + -- unboxed binary float complex TR opt: unboxed-let-functions1.rkt 23:45 x -- leave var unboxed TR opt: unboxed-let-functions1.rkt 23:45 x -- unbox float-complex TR opt: unboxed-let-functions1.rkt 23:47 3.0+6.0i -- unboxed literal -TR opt: unboxed-let-functions1.rkt 24:3 f -- call to fun with unboxed args -TR opt: unboxed-let-functions1.rkt 24:3 f -- unboxed call site -TR opt: unboxed-let-functions1.rkt 24:6 + -- unboxed binary float complex +TR opt: unboxed-let-functions1.rkt 24:2 (f (+ 1.0+2.0i 2.0+4.0i)) -- call to fun with unboxed args +TR opt: unboxed-let-functions1.rkt 24:2 (f (+ 1.0+2.0i 2.0+4.0i)) -- unboxed call site +TR opt: unboxed-let-functions1.rkt 24:5 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: unboxed-let-functions1.rkt 24:8 1.0+2.0i -- unboxed literal TR opt: unboxed-let-functions1.rkt 24:17 2.0+4.0i -- unboxed literal 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 a9cf8042..4d086c77 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions2.rkt @@ -4,15 +4,15 @@ TR opt: unboxed-let-functions2.rkt 26:7 f -- fun -> unboxed fun TR opt: unboxed-let-functions2.rkt 26:7 f -- unboxed function -> table TR opt: unboxed-let-functions2.rkt 26:20 x -- unboxed var -> table TR opt: unboxed-let-functions2.rkt 26:42 y -- unboxed var -> table +TR opt: unboxed-let-functions2.rkt 27:18 (+ x y) -- unboxed binary float complex TR opt: unboxed-let-functions2.rkt 27:18 (+ x y) -- unboxed float complex -TR opt: unboxed-let-functions2.rkt 27:19 + -- unboxed binary float complex TR opt: unboxed-let-functions2.rkt 27:21 x -- leave var unboxed TR opt: unboxed-let-functions2.rkt 27:21 x -- unbox float-complex TR opt: unboxed-let-functions2.rkt 27:23 y -- leave var unboxed TR opt: unboxed-let-functions2.rkt 27:23 y -- unbox float-complex -TR opt: unboxed-let-functions2.rkt 28:3 f -- call to fun with unboxed args -TR opt: unboxed-let-functions2.rkt 28:3 f -- unboxed call site -TR opt: unboxed-let-functions2.rkt 28:6 + -- unboxed binary float complex +TR opt: unboxed-let-functions2.rkt 28:2 (f (+ 1.0+2.0i 2.0+4.0i) 3.0+6.0i) -- call to fun with unboxed args +TR opt: unboxed-let-functions2.rkt 28:2 (f (+ 1.0+2.0i 2.0+4.0i) 3.0+6.0i) -- unboxed call site +TR opt: unboxed-let-functions2.rkt 28:5 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: unboxed-let-functions2.rkt 28:8 1.0+2.0i -- unboxed literal TR opt: unboxed-let-functions2.rkt 28:17 2.0+4.0i -- unboxed literal TR opt: unboxed-let-functions2.rkt 29:5 3.0+6.0i -- unboxed literal 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 8cd92170..f22de134 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions3.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions3.rkt @@ -3,14 +3,14 @@ TR opt: unboxed-let-functions3.rkt 23:7 f -- fun -> unboxed fun TR opt: unboxed-let-functions3.rkt 23:7 f -- unboxed function -> table TR opt: unboxed-let-functions3.rkt 23:20 x -- unboxed var -> table +TR opt: unboxed-let-functions3.rkt 24:18 (+ x y) -- unboxed binary float complex TR opt: unboxed-let-functions3.rkt 24:18 (+ x y) -- unboxed float complex -TR opt: unboxed-let-functions3.rkt 24:19 + -- unboxed binary float complex TR opt: unboxed-let-functions3.rkt 24:21 x -- leave var unboxed TR opt: unboxed-let-functions3.rkt 24:21 x -- unbox float-complex TR opt: unboxed-let-functions3.rkt 24:23 y -- float-arg-expr in complex ops -TR opt: unboxed-let-functions3.rkt 25:3 f -- call to fun with unboxed args -TR opt: unboxed-let-functions3.rkt 25:3 f -- unboxed call site -TR opt: unboxed-let-functions3.rkt 25:6 + -- unboxed binary float complex +TR opt: unboxed-let-functions3.rkt 25:2 (f (+ 1.0+2.0i 2.0+4.0i) 3.0) -- call to fun with unboxed args +TR opt: unboxed-let-functions3.rkt 25:2 (f (+ 1.0+2.0i 2.0+4.0i) 3.0) -- unboxed call site +TR opt: unboxed-let-functions3.rkt 25:5 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: unboxed-let-functions3.rkt 25:8 1.0+2.0i -- unboxed literal TR opt: unboxed-let-functions3.rkt 25:17 2.0+4.0i -- unboxed literal 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 7f911cd1..289378a5 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions4.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions4.rkt @@ -3,14 +3,14 @@ TR opt: unboxed-let-functions4.rkt 23:7 f -- fun -> unboxed fun TR opt: unboxed-let-functions4.rkt 23:7 f -- unboxed function -> table TR opt: unboxed-let-functions4.rkt 23:32 x -- unboxed var -> table +TR opt: unboxed-let-functions4.rkt 24:18 (+ x y) -- unboxed binary float complex TR opt: unboxed-let-functions4.rkt 24:18 (+ x y) -- unboxed float complex -TR opt: unboxed-let-functions4.rkt 24:19 + -- unboxed binary float complex TR opt: unboxed-let-functions4.rkt 24:21 x -- leave var unboxed TR opt: unboxed-let-functions4.rkt 24:21 x -- unbox float-complex TR opt: unboxed-let-functions4.rkt 24:23 y -- float-arg-expr in complex ops -TR opt: unboxed-let-functions4.rkt 25:3 f -- call to fun with unboxed args -TR opt: unboxed-let-functions4.rkt 25:3 f -- unboxed call site -TR opt: unboxed-let-functions4.rkt 26:6 + -- unboxed binary float complex +TR opt: unboxed-let-functions4.rkt 25:2 (f 3.0 (+ 1.0+2.0i 2.0+4.0i)) -- call to fun with unboxed args +TR opt: unboxed-let-functions4.rkt 25:2 (f 3.0 (+ 1.0+2.0i 2.0+4.0i)) -- unboxed call site +TR opt: unboxed-let-functions4.rkt 26:5 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: unboxed-let-functions4.rkt 26:8 1.0+2.0i -- unboxed literal TR opt: unboxed-let-functions4.rkt 26:17 2.0+4.0i -- unboxed literal 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 ffd88c84..d2047d34 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions5.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions5.rkt @@ -1,7 +1,7 @@ #; ( +TR opt: unboxed-let-functions5.rkt 20:12 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: unboxed-let-functions5.rkt 20:12 (+ 1.0+2.0i 2.0+4.0i) -- unboxed float complex -TR opt: unboxed-let-functions5.rkt 20:13 + -- unboxed binary float complex TR opt: unboxed-let-functions5.rkt 20:15 1.0+2.0i -- unboxed literal TR opt: unboxed-let-functions5.rkt 20:24 2.0+4.0i -- unboxed literal 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 188d32af..ec87dd67 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions6.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions6.rkt @@ -6,18 +6,18 @@ TR opt: unboxed-let-functions6.rkt 27:6 loop -- unboxed function -> table TR opt: unboxed-let-functions6.rkt 27:6 loop -- unboxed let loop TR opt: unboxed-let-functions6.rkt 27:31 z -- unboxed var -> table TR opt: unboxed-let-functions6.rkt 27:51 0.0+0.0i -- unboxed literal +TR opt: unboxed-let-functions6.rkt 30:10 (+ z 0.0+1.0i) -- unboxed binary float complex TR opt: unboxed-let-functions6.rkt 30:10 (+ z 0.0+1.0i) -- unboxed float complex -TR opt: unboxed-let-functions6.rkt 30:11 + -- unboxed binary float complex TR opt: unboxed-let-functions6.rkt 30:13 z -- leave var unboxed TR opt: unboxed-let-functions6.rkt 30:13 z -- unbox float-complex TR opt: unboxed-let-functions6.rkt 30:15 0.0+1.0i -- unboxed literal -TR opt: unboxed-let-functions6.rkt 31:11 loop -- call to fun with unboxed args -TR opt: unboxed-let-functions6.rkt 31:11 loop -- unboxed call site -TR opt: unboxed-let-functions6.rkt 31:17 + -- unboxed binary float complex +TR opt: unboxed-let-functions6.rkt 31:10 (loop (+ z (car l)) (cdr l)) -- call to fun with unboxed args +TR opt: unboxed-let-functions6.rkt 31:10 (loop (+ z (car l)) (cdr l)) -- unboxed call site +TR opt: unboxed-let-functions6.rkt 31:16 (+ z (car l)) -- unboxed binary float complex TR opt: unboxed-let-functions6.rkt 31:19 z -- leave var unboxed TR opt: unboxed-let-functions6.rkt 31:21 (car l) -- float-arg-expr in complex ops -TR opt: unboxed-let-functions6.rkt 31:22 car -- pair -TR opt: unboxed-let-functions6.rkt 32:17 cdr -- pair +TR opt: unboxed-let-functions6.rkt 31:21 (car l) -- pair +TR opt: unboxed-let-functions6.rkt 32:16 (cdr l) -- 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 692bee92..108d7930 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions7.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions7.rkt @@ -7,15 +7,15 @@ TR opt: unboxed-let-functions7.rkt 26:6 loop -- unboxed let loop TR opt: unboxed-let-functions7.rkt 26:31 z -- unboxed var -> table TR opt: unboxed-let-functions7.rkt 26:51 0.0+0.0i -- unboxed literal TR opt: unboxed-let-functions7.rkt 29:6 z -- unboxed complex variable -TR opt: unboxed-let-functions7.rkt 30:7 loop -- call to fun with unboxed args -TR opt: unboxed-let-functions7.rkt 30:7 loop -- unboxed call site +TR opt: unboxed-let-functions7.rkt 30:6 (loop (+ z (car l)) (cdr l)) -- call to fun with unboxed args +TR opt: unboxed-let-functions7.rkt 30:6 (loop (+ z (car l)) (cdr l)) -- unboxed call site +TR opt: unboxed-let-functions7.rkt 30:12 (+ z (car l)) -- unboxed binary float complex TR opt: unboxed-let-functions7.rkt 30:12 (+ z (car l)) -- unboxed float complex -TR opt: unboxed-let-functions7.rkt 30:13 + -- unboxed binary float complex TR opt: unboxed-let-functions7.rkt 30:15 z -- leave var unboxed TR opt: unboxed-let-functions7.rkt 30:15 z -- unbox float-complex TR opt: unboxed-let-functions7.rkt 30:17 (car l) -- float-arg-expr in complex ops -TR opt: unboxed-let-functions7.rkt 30:18 car -- pair -TR opt: unboxed-let-functions7.rkt 31:13 cdr -- pair +TR opt: unboxed-let-functions7.rkt 30:17 (car l) -- pair +TR opt: unboxed-let-functions7.rkt 31:12 (cdr l) -- 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 c1a03cd2..2eec993f 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions8.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions8.rkt @@ -1,7 +1,7 @@ #; ( +TR opt: unboxed-let-functions8.rkt 15:64 (+ x 2.0+4.0i) -- unboxed binary float complex TR opt: unboxed-let-functions8.rkt 15:64 (+ x 2.0+4.0i) -- unboxed float complex -TR opt: unboxed-let-functions8.rkt 15:65 + -- unboxed binary float complex TR opt: unboxed-let-functions8.rkt 15:67 x -- unbox float-complex TR opt: unboxed-let-functions8.rkt 15:69 2.0+4.0i -- unboxed literal 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 5a1dc7e1..65b8c0e5 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let.rkt @@ -3,17 +3,17 @@ TR opt: unboxed-let.rkt 29:0 (let* ((t1 (+ 1.0+2.0i 2.0+4.0i)) (t2 (- t1 3.0+6.0i)) (t3 4.0+8.0i)) (+ t2 t3)) -- unboxed let bindings TR opt: unboxed-let.rkt 29:0 (let* ((t1 (+ 1.0+2.0i 2.0+4.0i)) (t2 (- t1 3.0+6.0i)) (t3 4.0+8.0i)) (+ t2 t3)) -- unboxed let bindings TR opt: unboxed-let.rkt 29:0 (let* ((t1 (+ 1.0+2.0i 2.0+4.0i)) (t2 (- t1 3.0+6.0i)) (t3 4.0+8.0i)) (+ t2 t3)) -- unboxed let bindings -TR opt: unboxed-let.rkt 29:12 + -- unboxed binary float complex +TR opt: unboxed-let.rkt 29:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: unboxed-let.rkt 29:14 1.0+2.0i -- unboxed literal TR opt: unboxed-let.rkt 29:23 2.0+4.0i -- unboxed literal +TR opt: unboxed-let.rkt 30:11 (- t1 3.0+6.0i) -- unboxed binary float complex TR opt: unboxed-let.rkt 30:11 (- t1 3.0+6.0i) -- unboxed float complex -TR opt: unboxed-let.rkt 30:12 - -- unboxed binary float complex TR opt: unboxed-let.rkt 30:14 t1 -- leave var unboxed TR opt: unboxed-let.rkt 30:14 t1 -- unbox float-complex TR opt: unboxed-let.rkt 30:17 3.0+6.0i -- unboxed literal TR opt: unboxed-let.rkt 31:11 4.0+8.0i -- unboxed literal +TR opt: unboxed-let.rkt 32:2 (+ t2 t3) -- unboxed binary float complex TR opt: unboxed-let.rkt 32:2 (+ t2 t3) -- unboxed float complex -TR opt: unboxed-let.rkt 32:3 + -- unboxed binary float complex TR opt: unboxed-let.rkt 32:5 t2 -- leave var unboxed TR opt: unboxed-let.rkt 32:5 t2 -- unbox float-complex TR opt: unboxed-let.rkt 32:8 t3 -- leave var unboxed diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let2.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let2.rkt index cb39be64..84732b12 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let2.rkt @@ -1,14 +1,14 @@ #; ( TR opt: unboxed-let2.rkt 22:0 (let ((t1 (+ 1.0+2.0i 2.0+4.0i)) (t2 (+ 3.0+6.0i 4.0+8.0i))) (+ t1 t2)) -- unboxed let bindings -TR opt: unboxed-let2.rkt 22:11 + -- unboxed binary float complex +TR opt: unboxed-let2.rkt 22:10 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: unboxed-let2.rkt 22:13 1.0+2.0i -- unboxed literal TR opt: unboxed-let2.rkt 22:22 2.0+4.0i -- unboxed literal -TR opt: unboxed-let2.rkt 23:11 + -- unboxed binary float complex +TR opt: unboxed-let2.rkt 23:10 (+ 3.0+6.0i 4.0+8.0i) -- unboxed binary float complex TR opt: unboxed-let2.rkt 23:13 3.0+6.0i -- unboxed literal TR opt: unboxed-let2.rkt 23:22 4.0+8.0i -- unboxed literal +TR opt: unboxed-let2.rkt 24:2 (+ t1 t2) -- unboxed binary float complex TR opt: unboxed-let2.rkt 24:2 (+ t1 t2) -- unboxed float complex -TR opt: unboxed-let2.rkt 24:3 + -- unboxed binary float complex TR opt: unboxed-let2.rkt 24:5 t1 -- leave var unboxed TR opt: unboxed-let2.rkt 24:5 t1 -- unbox float-complex TR opt: unboxed-let2.rkt 24:8 t2 -- leave var unboxed diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let3.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let3.rkt index afd5705a..7e8748fb 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let3.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let3.rkt @@ -1,12 +1,12 @@ #; ( TR opt: unboxed-let3.rkt 26:0 (let ((x (+ 1.0+2.0i 2.0+4.0i))) (if (even? 2) x (+ x 2.0+4.0i))) -- unboxed let bindings -TR opt: unboxed-let3.rkt 26:10 + -- unboxed binary float complex +TR opt: unboxed-let3.rkt 26:9 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: unboxed-let3.rkt 26:12 1.0+2.0i -- unboxed literal TR opt: unboxed-let3.rkt 26:21 2.0+4.0i -- unboxed literal TR opt: unboxed-let3.rkt 28:6 x -- unboxed complex variable +TR opt: unboxed-let3.rkt 29:6 (+ x 2.0+4.0i) -- unboxed binary float complex TR opt: unboxed-let3.rkt 29:6 (+ x 2.0+4.0i) -- unboxed float complex -TR opt: unboxed-let3.rkt 29:7 + -- unboxed binary float complex TR opt: unboxed-let3.rkt 29:9 x -- leave var unboxed TR opt: unboxed-let3.rkt 29:9 x -- unbox float-complex TR opt: unboxed-let3.rkt 29:11 2.0+4.0i -- unboxed literal 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 dd0a19d2..1ba4145b 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,11 +1,11 @@ #; ( TR opt: unboxed-letrec-syntaxes+values.rkt 18:0 (letrec-syntaxes+values (((s) (syntax-rules () ((_ x) x)))) (((x) (+ 1.0+2.0i 2.0+4.0i))) (+ x 2.0+4.0i)) -- unboxed let bindings -TR opt: unboxed-letrec-syntaxes+values.rkt 19:31 + -- unboxed binary float complex +TR opt: unboxed-letrec-syntaxes+values.rkt 19:30 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex TR opt: unboxed-letrec-syntaxes+values.rkt 19:33 1.0+2.0i -- unboxed literal TR opt: unboxed-letrec-syntaxes+values.rkt 19:42 2.0+4.0i -- unboxed literal +TR opt: unboxed-letrec-syntaxes+values.rkt 20:24 (+ x 2.0+4.0i) -- unboxed binary float complex TR opt: unboxed-letrec-syntaxes+values.rkt 20:24 (+ x 2.0+4.0i) -- unboxed float complex -TR opt: unboxed-letrec-syntaxes+values.rkt 20:25 + -- unboxed binary float complex TR opt: unboxed-letrec-syntaxes+values.rkt 20:27 x -- leave var unboxed TR opt: unboxed-letrec-syntaxes+values.rkt 20:27 x -- unbox float-complex TR opt: unboxed-letrec-syntaxes+values.rkt 20:29 2.0+4.0i -- unboxed literal diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec.rkt index be255092..011a608d 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec.rkt @@ -2,11 +2,11 @@ ( TR opt: unboxed-letrec.rkt 22:0 (letrec: ((f : (Any -> Any) (lambda: ((x : Any)) (f x))) (x : Float-Complex 1.0+2.0i) (y : Float-Complex (+ 2.0+4.0i 3.0+6.0i))) (+ x y)) -- unboxed let bindings TR opt: unboxed-letrec.rkt 23:31 1.0+2.0i -- unboxed literal -TR opt: unboxed-letrec.rkt 24:32 + -- unboxed binary float complex +TR opt: unboxed-letrec.rkt 24:31 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex TR opt: unboxed-letrec.rkt 24:34 2.0+4.0i -- unboxed literal TR opt: unboxed-letrec.rkt 24:43 3.0+6.0i -- unboxed literal +TR opt: unboxed-letrec.rkt 25:2 (+ x y) -- unboxed binary float complex TR opt: unboxed-letrec.rkt 25:2 (+ x y) -- unboxed float complex -TR opt: unboxed-letrec.rkt 25:3 + -- unboxed binary float complex TR opt: unboxed-letrec.rkt 25:5 x -- leave var unboxed TR opt: unboxed-letrec.rkt 25:5 x -- unbox float-complex TR opt: unboxed-letrec.rkt 25:7 y -- leave var unboxed 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 c1e0c27a..aa3da5cd 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-make-rectangular.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-make-rectangular.rkt @@ -1,16 +1,16 @@ #; ( TR opt: unboxed-make-rectangular.rkt 27:0 (let ((x (make-rectangular 1.0 2.0))) (+ x 2.0+4.0i)) -- unboxed let bindings -TR opt: unboxed-make-rectangular.rkt 27:10 make-rectangular -- make-rectangular elimination +TR opt: unboxed-make-rectangular.rkt 27:9 (make-rectangular 1.0 2.0) -- make-rectangular elimination +TR opt: unboxed-make-rectangular.rkt 28:2 (+ x 2.0+4.0i) -- unboxed binary float complex TR opt: unboxed-make-rectangular.rkt 28:2 (+ x 2.0+4.0i) -- unboxed float complex -TR opt: unboxed-make-rectangular.rkt 28:3 + -- unboxed binary float complex TR opt: unboxed-make-rectangular.rkt 28:5 x -- leave var unboxed TR opt: unboxed-make-rectangular.rkt 28:5 x -- unbox float-complex TR opt: unboxed-make-rectangular.rkt 28:7 2.0+4.0i -- unboxed literal TR opt: unboxed-make-rectangular.rkt 29:0 (let ((x (unsafe-make-flrectangular 1.0 2.0))) (+ x 2.0+4.0i)) -- unboxed let bindings -TR opt: unboxed-make-rectangular.rkt 29:10 unsafe-make-flrectangular -- make-rectangular elimination +TR opt: unboxed-make-rectangular.rkt 29:9 (unsafe-make-flrectangular 1.0 2.0) -- make-rectangular elimination +TR opt: unboxed-make-rectangular.rkt 30:2 (+ x 2.0+4.0i) -- unboxed binary float complex TR opt: unboxed-make-rectangular.rkt 30:2 (+ x 2.0+4.0i) -- unboxed float complex -TR opt: unboxed-make-rectangular.rkt 30:3 + -- unboxed binary float complex TR opt: unboxed-make-rectangular.rkt 30:5 x -- leave var unboxed TR opt: unboxed-make-rectangular.rkt 30:5 x -- unbox float-complex TR opt: unboxed-make-rectangular.rkt 30:7 2.0+4.0i -- unboxed literal diff --git a/collects/tests/typed-scheme/optimizer/tests/vector-length-nested.rkt b/collects/tests/typed-scheme/optimizer/tests/vector-length-nested.rkt index 563c3d49..a9029c3a 100644 --- a/collects/tests/typed-scheme/optimizer/tests/vector-length-nested.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/vector-length-nested.rkt @@ -1,7 +1,7 @@ #; ( -TR opt: vector-length-nested.rkt 11:1 vector-length -- vector-length -TR opt: vector-length-nested.rkt 12:2 vector-ref -- vector +TR opt: vector-length-nested.rkt 11:0 (vector-length (vector-ref (ann (vector (vector 1 2) 2 3) (Vector (Vectorof Integer) Integer Integer)) 0)) -- vector-length +TR opt: vector-length-nested.rkt 12:1 (vector-ref (ann (vector (vector 1 2) 2 3) (Vector (Vectorof Integer) Integer Integer)) 0) -- vector 2 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/vector-length.rkt b/collects/tests/typed-scheme/optimizer/tests/vector-length.rkt index 57c4b8b0..fb31857f 100644 --- a/collects/tests/typed-scheme/optimizer/tests/vector-length.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/vector-length.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: vector-length.rkt 10:1 vector-length -- vector-length +TR opt: vector-length.rkt 10:0 (vector-length (vector 1 2 3)) -- vector-length 3 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/vector-ref-set-ref.rkt b/collects/tests/typed-scheme/optimizer/tests/vector-ref-set-ref.rkt index 9f173e8e..748255fd 100644 --- a/collects/tests/typed-scheme/optimizer/tests/vector-ref-set-ref.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/vector-ref-set-ref.rkt @@ -1,8 +1,8 @@ #; ( -TR opt: vector-ref-set-ref.rkt 15:1 vector-ref -- vector -TR opt: vector-ref-set-ref.rkt 16:1 vector-set! -- vector -TR opt: vector-ref-set-ref.rkt 17:1 vector-ref -- vector +TR opt: vector-ref-set-ref.rkt 15:0 (vector-ref x 0) -- vector +TR opt: vector-ref-set-ref.rkt 16:0 (vector-set! x 1 "2") -- vector +TR opt: vector-ref-set-ref.rkt 17:0 (vector-ref x 1) -- vector 1 "2" ) diff --git a/collects/tests/typed-scheme/optimizer/tests/vector-ref.rkt b/collects/tests/typed-scheme/optimizer/tests/vector-ref.rkt index d225aaf7..9e2b744a 100644 --- a/collects/tests/typed-scheme/optimizer/tests/vector-ref.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/vector-ref.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: vector-ref.rkt 10:1 vector-ref -- vector +TR opt: vector-ref.rkt 10:0 (vector-ref (ann (vector 1 2) (Vector Integer Integer)) 0) -- vector 1 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/vector-ref2.rkt b/collects/tests/typed-scheme/optimizer/tests/vector-ref2.rkt index aa303c35..6034fb83 100644 --- a/collects/tests/typed-scheme/optimizer/tests/vector-ref2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/vector-ref2.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: vector-ref2.rkt 10:1 vector-ref -- vector +TR opt: vector-ref2.rkt 10:0 (vector-ref (vector 1 2 3) 0) -- vector 1 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/vector-set-quote.rkt b/collects/tests/typed-scheme/optimizer/tests/vector-set-quote.rkt index 6ec9ab7f..d009c858 100644 --- a/collects/tests/typed-scheme/optimizer/tests/vector-set-quote.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/vector-set-quote.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: vector-set-quote.rkt 9:1 vector-set! -- vector +TR opt: vector-set-quote.rkt 9:0 (vector-set! (ann (vector (quote (1 2))) (Vector Any)) 0 (quote (+ 1.0 2.0))) -- vector ) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/vector-set.rkt b/collects/tests/typed-scheme/optimizer/tests/vector-set.rkt index bc0392c5..5b9ca873 100644 --- a/collects/tests/typed-scheme/optimizer/tests/vector-set.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/vector-set.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: vector-set.rkt 9:1 vector-set! -- vector +TR opt: vector-set.rkt 9:0 (vector-set! (ann (vector 1 2) (Vector Integer Integer)) 0 1) -- vector ) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/vector-set2.rkt b/collects/tests/typed-scheme/optimizer/tests/vector-set2.rkt index 57ad2a9a..2fea5bef 100644 --- a/collects/tests/typed-scheme/optimizer/tests/vector-set2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/vector-set2.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: vector-set2.rkt 9:1 vector-set! -- vector +TR opt: vector-set2.rkt 9:0 (vector-set! (vector 1 2) 0 2) -- vector ) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/with-type.rkt b/collects/tests/typed-scheme/optimizer/tests/with-type.rkt index 82ebe1dd..156e7753 100644 --- a/collects/tests/typed-scheme/optimizer/tests/with-type.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/with-type.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: with-type.rkt 13:19 + -- binary float +TR opt: with-type.rkt 13:18 (#%app + x val) -- binary float 34.6 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/zero.rkt b/collects/tests/typed-scheme/optimizer/tests/zero.rkt index 1eca9c92..3ecfb5a8 100644 --- a/collects/tests/typed-scheme/optimizer/tests/zero.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/zero.rkt @@ -1,8 +1,8 @@ #; ( -TR opt: zero.rkt 13:1 zero? -- fixnum zero? -TR opt: zero.rkt 14:1 zero? -- float zero? -TR opt: zero.rkt 14:8 sqrt -- unary float +TR opt: zero.rkt 13:0 (zero? 1) -- fixnum zero? +TR opt: zero.rkt 14:0 (zero? (sqrt 3.0)) -- float zero? +TR opt: zero.rkt 14:7 (sqrt 3.0) -- unary float #f #f ) diff --git a/collects/typed-scheme/optimizer/apply.rkt b/collects/typed-scheme/optimizer/apply.rkt index cd4eb0f2..975580fb 100644 --- a/collects/typed-scheme/optimizer/apply.rkt +++ b/collects/typed-scheme/optimizer/apply.rkt @@ -21,7 +21,7 @@ (with-syntax ([(f* lp v lst) (map unboxed-gensym '(f* loop v lst))] [l ((optimize) #'l)] [f ((optimize) #'f)]) - (log-optimization "apply-map" #'op) + (log-optimization "apply-map" this-syntax) #'(let ([f* f]) (let lp ([v op.identity] [lst l]) (if (null? lst) diff --git a/collects/typed-scheme/optimizer/box.rkt b/collects/typed-scheme/optimizer/box.rkt index e2d6bd64..f7efd863 100644 --- a/collects/typed-scheme/optimizer/box.rkt +++ b/collects/typed-scheme/optimizer/box.rkt @@ -28,5 +28,5 @@ #:commit (pattern (#%plain-app op:box-op b:box-expr new:expr ...) #:with opt - (begin (log-optimization "box" #'op) + (begin (log-optimization "box" this-syntax) #`(op.unsafe b.opt #,@(syntax-map (optimize) #'(new ...)))))) diff --git a/collects/typed-scheme/optimizer/fixnum.rkt b/collects/typed-scheme/optimizer/fixnum.rkt index 2e431e25..bf9d9e2b 100644 --- a/collects/typed-scheme/optimizer/fixnum.rkt +++ b/collects/typed-scheme/optimizer/fixnum.rkt @@ -71,35 +71,35 @@ #:commit (pattern (#%plain-app op:fixnum-unary-op n:fixnum-expr) #:with opt - (begin (log-optimization "unary fixnum" #'op) + (begin (log-optimization "unary fixnum" this-syntax) #'(op.unsafe n.opt))) (pattern (#%plain-app (~var op (fixnum-op binary-fixnum-ops)) n1:fixnum-expr n2:fixnum-expr ns:fixnum-expr ...) #:with opt - (begin (log-optimization "binary fixnum" #'op) + (begin (log-optimization "binary fixnum" this-syntax) (n-ary->binary #'op.unsafe #'n1.opt #'n2.opt #'(ns.opt ...)))) (pattern (#%plain-app op:nonzero-fixnum-binary-op n1:fixnum-expr n2:nonzero-fixnum-expr) #:with opt - (begin (log-optimization "binary nonzero fixnum" #'op) + (begin (log-optimization "binary nonzero fixnum" this-syntax) #'(op.unsafe n1.opt n2.opt))) (pattern (#%plain-app (~and op (~literal -)) f:fixnum-expr) #:with opt - (begin (log-optimization "unary fixnum" #'op) + (begin (log-optimization "unary fixnum" this-syntax) #'(unsafe-fx- 0 f.opt))) (pattern (#%plain-app (~and op (~literal exact->inexact)) n:fixnum-expr) #:with opt - (begin (log-optimization "fixnum to float" #'op) + (begin (log-optimization "fixnum to float" this-syntax) #'(unsafe-fx->fl n.opt))) (pattern (#%plain-app (~and op (~literal zero?)) n:fixnum-expr) #:with opt - (begin (log-optimization "fixnum zero?" #'op) + (begin (log-optimization "fixnum zero?" this-syntax) #'(unsafe-fx= n.opt 0))) ;; The following are not closed on fixnums, but we can guarantee that results @@ -109,7 +109,7 @@ n1:fixnum-expr n2:fixnum-expr ns:fixnum-expr ...) #:when (subtypeof? this-syntax -Fixnum) #:with opt - (begin (log-optimization "fixnum bounded expr" #'op) + (begin (log-optimization "fixnum bounded expr" this-syntax) (let ([post-opt (syntax->list #'(n1.opt n2.opt ns.opt ...))]) (n-ary->binary #'op.unsafe (car post-opt) (cadr post-opt) (cddr post-opt))))) @@ -117,7 +117,7 @@ n1:fixnum-expr n2:nonzero-fixnum-expr) #:when (subtypeof? this-syntax -Fixnum) #:with opt - (begin (log-optimization "nonzero fixnum bounded expr" #'op) + (begin (log-optimization "nonzero fixnum bounded expr" this-syntax) #'(op.unsafe n1.opt n2.opt))) ;; for fx-specific ops, we need to mimic the typing rules of their generic ;; counterparts, since fx-specific ops rely on error behavior for typechecking @@ -127,36 +127,36 @@ (and (subtypeof? #'n1 -NonNegFixnum) (subtypeof? #'n2 -NonPosFixnum)) (and (subtypeof? #'n1 -NonPosFixnum) (subtypeof? #'n2 -NonNegFixnum))) #:with opt - (begin (log-optimization "fixnum fx+" #'op) + (begin (log-optimization "fixnum fx+" this-syntax) #'(unsafe-fx+ n1.opt n2.opt))) (pattern (#%plain-app (~and op (~literal fx-)) n1:fixnum-expr n2:fixnum-expr) #:when (and (subtypeof? #'n1 -NonNegFixnum) (subtypeof? #'n2 -NonNegFixnum)) #:with opt - (begin (log-optimization "fixnum fx-" #'op) + (begin (log-optimization "fixnum fx-" this-syntax) #'(unsafe-fx- n1.opt n2.opt))) (pattern (#%plain-app (~and op (~literal fx*)) n1:fixnum-expr n2:fixnum-expr) #:when (and (subtypeof? #'n1 -Byte) (subtypeof? #'n2 -Byte)) #:with opt - (begin (log-optimization "fixnum fx*" #'op) + (begin (log-optimization "fixnum fx*" this-syntax) #'(unsafe-fx* n1.opt n2.opt))) (pattern (#%plain-app (~and op (~literal fxquotient)) n1:fixnum-expr n2:fixnum-expr) #:when (and (subtypeof? #'n1 -NonNegFixnum) (subtypeof? #'n2 -Fixnum)) #:with opt - (begin (log-optimization "fixnum fxquotient" #'op) + (begin (log-optimization "fixnum fxquotient" this-syntax) #'(unsafe-fxquotient n1.opt n2.opt))) (pattern (#%plain-app (~and op (~or (~literal fxabs) (~literal abs))) n:fixnum-expr) #:when (subtypeof? #'n -NonNegFixnum) ; (abs min-fixnum) is not a fixnum #:with opt - (begin (log-optimization "fixnum fxabs" #'op) + (begin (log-optimization "fixnum fxabs" this-syntax) #'(unsafe-fxabs n.opt))) (pattern (#%plain-app (~and op (~literal add1)) n:fixnum-expr) #:when (subtypeof? this-syntax -Fixnum) #:with opt - (begin (log-optimization "fixnum add1" #'op) + (begin (log-optimization "fixnum add1" this-syntax) #'(unsafe-fx+ n.opt 1))) (pattern (#%plain-app (~and op (~literal sub1)) n:fixnum-expr) #:when (subtypeof? this-syntax -Fixnum) #:with opt - (begin (log-optimization "fixnum sub1" #'op) + (begin (log-optimization "fixnum sub1" this-syntax) #'(unsafe-fx- n.opt 1)))) diff --git a/collects/typed-scheme/optimizer/float-complex.rkt b/collects/typed-scheme/optimizer/float-complex.rkt index e33ba28c..b7ab5acf 100644 --- a/collects/typed-scheme/optimizer/float-complex.rkt +++ b/collects/typed-scheme/optimizer/float-complex.rkt @@ -41,7 +41,7 @@ #:with real-binding (unboxed-gensym "unboxed-real-") #:with imag-binding (unboxed-gensym "unboxed-imag-") #:with (bindings ...) - (begin (log-optimization "unboxed binary float complex" #'op) + (begin (log-optimization "unboxed binary float complex" this-syntax) #`(#,@(append (syntax->list #'(c1.bindings ... c2.bindings ... cs.bindings ... ...)) (let () ;; we can skip the real parts of imaginaries (#f) and vice versa @@ -66,7 +66,7 @@ #:with real-binding (unboxed-gensym "unboxed-real-") #:with imag-binding (unboxed-gensym "unboxed-imag-") #:with (bindings ...) - (begin (log-optimization "unboxed binary float complex" #'op) + (begin (log-optimization "unboxed binary float complex" this-syntax) #`(#,@(append (syntax->list #'(c1.bindings ... c2.bindings ... cs.bindings ... ...)) (let () ;; unlike addition, we simply can't skip real parts of imaginaries @@ -93,7 +93,7 @@ #:with real-binding (unboxed-gensym "unboxed-real-") #:with imag-binding (unboxed-gensym "unboxed-imag-") #:with (bindings ...) - (begin (log-optimization "unboxed binary float complex" #'op) + (begin (log-optimization "unboxed binary float complex" this-syntax) #`(c1.bindings ... c2.bindings ... cs.bindings ... ... ;; we want to bind the intermediate results to reuse them ;; the final results are bound to real-binding and imag-binding @@ -146,7 +146,7 @@ #:with imags (syntax-map (lambda (x) (if (syntax->datum x) x #'0.0)) #'(c1.imag-binding c2.imag-binding cs.imag-binding ...)) #:with (bindings ...) - (begin (log-optimization "unboxed binary float complex" #'op) + (begin (log-optimization "unboxed binary float complex" this-syntax) #`(c1.bindings ... c2.bindings ... cs.bindings ... ... ;; we want to bind the intermediate results to reuse them ;; the final results are bound to real-binding and imag-binding @@ -210,7 +210,7 @@ #:with real-binding #'c.real-binding #:with imag-binding (unboxed-gensym "unboxed-imag-") #:with (bindings ...) - (begin (log-optimization "unboxed unary float complex" #'op) + (begin (log-optimization "unboxed unary float complex" this-syntax) #`(#,@(append (syntax->list #'(c.bindings ...)) (list #'((imag-binding) (unsafe-fl- 0.0 c.imag-binding))))))) @@ -218,7 +218,7 @@ #:with real-binding (unboxed-gensym "unboxed-real-") #:with imag-binding #f #:with (bindings ...) - (begin (log-optimization "unboxed unary float complex" #'op) + (begin (log-optimization "unboxed unary float complex" this-syntax) #`(c.bindings ... ((real-binding) (unsafe-flsqrt (unsafe-fl+ (unsafe-fl* c.real-binding c.real-binding) @@ -229,14 +229,14 @@ #:with real-binding #'c.real-binding #:with imag-binding #f #:with (bindings ...) - (begin (log-optimization "unboxed unary float complex" #'op) + (begin (log-optimization "unboxed unary float complex" this-syntax) #'(c.bindings ...))) (pattern (#%plain-app (~and op (~or (~literal imag-part) (~literal unsafe-flimag-part))) c:unboxed-float-complex-opt-expr) #:with real-binding #'c.imag-binding #:with imag-binding #f #:with (bindings ...) - (begin (log-optimization "unboxed unary float complex" #'op) + (begin (log-optimization "unboxed unary float complex" this-syntax) #'(c.bindings ...))) ;; special handling of reals inside complex operations @@ -244,7 +244,7 @@ (pattern e:float-arg-expr #:with real-binding (unboxed-gensym 'unboxed-float-) #:with imag-binding #f - #:when (log-optimization "float-arg-expr in complex ops" #'e) + #:when (log-optimization "float-arg-expr in complex ops" this-syntax) #:with (bindings ...) #`(((real-binding) e.opt))) @@ -256,7 +256,7 @@ #:with real-binding (unboxed-gensym "unboxed-real-") #:with imag-binding (unboxed-gensym "unboxed-imag-") #:with (bindings ...) - (begin (log-optimization "make-rectangular elimination" #'op) + (begin (log-optimization "make-rectangular elimination" this-syntax) #'(((real-binding) real.opt) ((imag-binding) imag.opt)))) (pattern (#%plain-app (~and op (~literal make-polar)) @@ -266,7 +266,7 @@ #:with real-binding (unboxed-gensym "unboxed-real-") #:with imag-binding (unboxed-gensym "unboxed-imag-") #:with (bindings ...) - (begin (log-optimization "make-rectangular elimination" #'op) + (begin (log-optimization "make-rectangular elimination" this-syntax) #'(((magnitude) r.opt) ((angle) theta.opt) ((real-binding) (unsafe-fl* magnitude (unsafe-flcos angle))) @@ -279,7 +279,7 @@ #:with real-binding (car (syntax->list #'unboxed-info)) #:with imag-binding (cadr (syntax->list #'unboxed-info)) #:with (bindings ...) - (begin (log-optimization "leave var unboxed" #'v) + (begin (log-optimization "leave var unboxed" this-syntax) #'())) ;; else, do the unboxing here @@ -292,7 +292,7 @@ #:with real-binding (unboxed-gensym "unboxed-real-") #:with imag-binding (unboxed-gensym "unboxed-imag-") #:with (bindings ...) - (begin (log-optimization "unboxed literal" #'n) + (begin (log-optimization "unboxed literal" this-syntax) (let ((n (syntax->datum #'n))) #`(((real-binding) #,(datum->syntax #'here @@ -305,7 +305,7 @@ #:with real-binding (unboxed-gensym "unboxed-real-") #:with imag-binding #f #:with (bindings ...) - (begin (log-optimization "unboxed literal" #'n) + (begin (log-optimization "unboxed literal" this-syntax) #`(((real-binding) #,(datum->syntax #'here (exact->inexact (syntax->datum #'n))))))) @@ -316,7 +316,7 @@ #:with real-binding (unboxed-gensym "unboxed-real-") #:with imag-binding (unboxed-gensym "unboxed-imag-") #:with (bindings ...) - (begin (log-optimization "unbox float-complex" #'e) + (begin (log-optimization "unbox float-complex" this-syntax) #`(((e*) #,((optimize) #'e)) ((real-binding) (unsafe-flreal-part e*)) ((imag-binding) (unsafe-flimag-part e*))))) @@ -326,7 +326,7 @@ #:with real-binding (unboxed-gensym "unboxed-real-") #:with imag-binding (unboxed-gensym "unboxed-imag-") #:with (bindings ...) - (begin (log-optimization "unbox complex" #'e) + (begin (log-optimization "unbox complex" this-syntax) #`(((e*) #,((optimize) #'e)) ((real-binding) (exact->inexact (real-part e*))) ((imag-binding) (exact->inexact (imag-part e*)))))) @@ -393,7 +393,7 @@ c:float-complex-expr) #:with c*:unboxed-float-complex-opt-expr #'c #:with opt - (begin (log-optimization "unboxed float complex" #'op) + (begin (log-optimization "unboxed float complex" this-syntax) (reset-unboxed-gensym) #`(let*-values (c*.bindings ...) #,(if (or (free-identifier=? #'op #'real-part) @@ -404,14 +404,14 @@ (pattern (#%plain-app op:float-complex-unary-op n:float-complex-expr) #:with opt - (begin (log-optimization "unary float complex" #'op) + (begin (log-optimization "unary float complex" this-syntax) #'(op.unsafe n.opt))) (pattern (#%plain-app (~and op (~literal make-polar)) r theta) #:when (subtypeof? this-syntax -FloatComplex) #:with exp*:unboxed-float-complex-opt-expr this-syntax #:with opt - (begin (log-optimization "make-polar" #'op) + (begin (log-optimization "make-polar" this-syntax) (reset-unboxed-gensym) #'(let*-values (exp*.bindings ...) (unsafe-make-flrectangular exp*.real-binding @@ -424,7 +424,7 @@ #'unboxed-info #'op)) ; no need to optimize op this-syntax #:with opt - (begin (log-optimization "call to fun with unboxed args" #'op) + (begin (log-optimization "call to fun with unboxed args" this-syntax) #'e*.opt)) (pattern e:float-complex-arith-opt-expr @@ -466,7 +466,7 @@ #:with (bindings ...) #'() ;; unboxed variable used in a boxed fashion, we have to box #:with opt - (begin (log-optimization "unboxed complex variable" #'v) + (begin (log-optimization "unboxed complex variable" this-syntax) (reset-unboxed-gensym) #'(unsafe-make-flrectangular real-binding imag-binding)))) @@ -486,7 +486,7 @@ (define (get-arg i) (list-ref args i)) (syntax-parse (map get-arg unboxed) [(e:unboxed-float-complex-opt-expr ...) - (log-optimization "unboxed call site" #'op) + (log-optimization "unboxed call site" this-syntax) (reset-unboxed-gensym) #`(let*-values (e.bindings ... ...) (#%plain-app #,opt-operator diff --git a/collects/typed-scheme/optimizer/float.rkt b/collects/typed-scheme/optimizer/float.rkt index a50270f9..7be4ecc9 100644 --- a/collects/typed-scheme/optimizer/float.rkt +++ b/collects/typed-scheme/optimizer/float.rkt @@ -85,7 +85,7 @@ this-syntax)) safe-to-opt?) #:with opt - (begin (log-optimization "unary float" #'op) + (begin (log-optimization "unary float" this-syntax) #'(op.unsafe f.opt))) (pattern (#%plain-app (~var op (float-op binary-float-ops)) f1:float-arg-expr @@ -130,50 +130,50 @@ [_ #f]))) safe-to-opt?) #:with opt - (begin (log-optimization "binary float" #'op) + (begin (log-optimization "binary float" this-syntax) (n-ary->binary #'op.unsafe #'f1.opt #'f2.opt #'(fs.opt ...)))) (pattern (#%plain-app (~var op (float-op binary-float-comps)) f1:float-expr f2:float-expr fs:float-expr ...) #:with opt - (begin (log-optimization "binary float comp" #'op) + (begin (log-optimization "binary float comp" this-syntax) (n-ary->binary #'op.unsafe #'f1.opt #'f2.opt #'(fs.opt ...)))) (pattern (#%plain-app (~and op (~literal -)) f:float-expr) #:with opt - (begin (log-optimization "unary float" #'op) + (begin (log-optimization "unary float" this-syntax) #'(unsafe-fl- 0.0 f.opt))) (pattern (#%plain-app (~and op (~literal /)) f:float-expr) #:with opt - (begin (log-optimization "unary float" #'op) + (begin (log-optimization "unary float" this-syntax) #'(unsafe-fl/ 1.0 f.opt))) (pattern (#%plain-app (~and op (~literal sqr)) f:float-expr) #:with opt - (begin (log-optimization "unary float" #'op) + (begin (log-optimization "unary float" this-syntax) #'(let ([tmp f.opt]) (unsafe-fl* tmp tmp)))) ;; we can optimize exact->inexact if we know we're giving it an Integer (pattern (#%plain-app (~and op (~literal exact->inexact)) n:int-expr) #:with opt - (begin (log-optimization "int to float" #'op) + (begin (log-optimization "int to float" this-syntax) #'(->fl n.opt))) ;; we can get rid of it altogether if we're giving it a float (pattern (#%plain-app (~and op (~literal exact->inexact)) f:float-expr) #:with opt - (begin (log-optimization "float to float" #'op) + (begin (log-optimization "float to float" this-syntax) #'f.opt)) (pattern (#%plain-app (~and op (~literal zero?)) f:float-expr) #:with opt - (begin (log-optimization "float zero?" #'op) + (begin (log-optimization "float zero?" this-syntax) #'(unsafe-fl= f.opt 0.0))) (pattern (#%plain-app (~and op (~literal add1)) n:float-expr) #:with opt - (begin (log-optimization "float add1" #'op) + (begin (log-optimization "float add1" this-syntax) #'(unsafe-fl+ n.opt 1.0))) (pattern (#%plain-app (~and op (~literal sub1)) n:float-expr) #:with opt - (begin (log-optimization "float sub1" #'op) + (begin (log-optimization "float sub1" this-syntax) #'(unsafe-fl- n.opt 1.0)))) diff --git a/collects/typed-scheme/optimizer/number.rkt b/collects/typed-scheme/optimizer/number.rkt index 8673f9a5..3e17ddb8 100644 --- a/collects/typed-scheme/optimizer/number.rkt +++ b/collects/typed-scheme/optimizer/number.rkt @@ -13,5 +13,5 @@ (pattern (#%plain-app (~and op (~or (~literal +) (~literal *) (~literal min) (~literal max))) f:expr) #:with opt - (begin (log-optimization "unary number" #'op) + (begin (log-optimization "unary number" this-syntax) ((optimize) #'f)))) diff --git a/collects/typed-scheme/optimizer/pair.rkt b/collects/typed-scheme/optimizer/pair.rkt index 255f1ddf..da33786a 100644 --- a/collects/typed-scheme/optimizer/pair.rkt +++ b/collects/typed-scheme/optimizer/pair.rkt @@ -37,7 +37,7 @@ #:commit (pattern e:pair-derived-opt-expr #:with opt - (begin (log-optimization "derived pair" #'e) + (begin (log-optimization "derived pair" this-syntax) #'e.opt)) (pattern (#%plain-app op:pair-op p:expr) #:when (or (has-pair-type? #'p) @@ -49,7 +49,7 @@ this-syntax #'p) #f)) #:with opt - (begin (log-optimization "pair" #'op) + (begin (log-optimization "pair" this-syntax) #`(op.unsafe #,((optimize) #'p)))) (pattern (#%plain-app op:mpair-op p:expr e:expr ...) #:when (or (has-mpair-type? #'p) @@ -58,7 +58,7 @@ this-syntax #'p) #f)) #:with opt - (begin (log-optimization "mutable pair" #'op) + (begin (log-optimization "mutable pair" this-syntax) #`(op.unsafe #,@(syntax-map (optimize) #'(p e ...)))))) diff --git a/collects/typed-scheme/optimizer/sequence.rkt b/collects/typed-scheme/optimizer/sequence.rkt index 35e5413c..964993cf 100644 --- a/collects/typed-scheme/optimizer/sequence.rkt +++ b/collects/typed-scheme/optimizer/sequence.rkt @@ -38,7 +38,7 @@ #:when (id-from? #'op 'make-sequence 'racket/private/for) #:with l*:list-expr #'l #:with opt - (begin (log-optimization "in-list" #'op) + (begin (log-optimization "in-list" this-syntax) #'(let ((i l*.opt)) (values unsafe-car unsafe-cdr i (lambda (x) (not (null? x))) @@ -49,7 +49,7 @@ #:when (id-from? #'op 'make-sequence 'racket/private/for) #:with v*:vector-expr #'v #:with opt - (begin (log-optimization "in-vector" #'op) + (begin (log-optimization "in-vector" this-syntax) #'(let* ((i v*.opt) (len (unsafe-vector-length i))) (values (lambda (x) (unsafe-vector-ref i x)) @@ -63,7 +63,7 @@ #:when (id-from? #'op 'make-sequence 'racket/private/for) #:with s*:string-expr #'s #:with opt - (begin (log-optimization "in-string" #'op) + (begin (log-optimization "in-string" this-syntax) #'(let* ((i s*.opt) (len (string-length i))) (values (lambda (x) (string-ref i x)) @@ -76,7 +76,7 @@ #:when (id-from? #'op 'make-sequence 'racket/private/for) #:with s*:bytes-expr #'s #:with opt - (begin (log-optimization "in-bytes" #'op) + (begin (log-optimization "in-bytes" this-syntax) #'(let* ((i s*.opt) (len (bytes-length i))) (values (lambda (x) (bytes-ref i x)) diff --git a/collects/typed-scheme/optimizer/string.rkt b/collects/typed-scheme/optimizer/string.rkt index 58177435..13024e12 100644 --- a/collects/typed-scheme/optimizer/string.rkt +++ b/collects/typed-scheme/optimizer/string.rkt @@ -23,9 +23,9 @@ #:commit (pattern (#%plain-app (~literal string-length) s:string-expr) #:with opt - (begin (log-optimization "string-length" #'op) + (begin (log-optimization "string-length" this-syntax) #'(unsafe-string-length s.opt))) (pattern (#%plain-app (~literal bytes-length) s:bytes-expr) #:with opt - (begin (log-optimization "bytes-length" #'op) + (begin (log-optimization "bytes-length" this-syntax) #'(unsafe-bytes-length s.opt)))) diff --git a/collects/typed-scheme/optimizer/struct.rkt b/collects/typed-scheme/optimizer/struct.rkt index 1d8bc63f..c91015a1 100644 --- a/collects/typed-scheme/optimizer/struct.rkt +++ b/collects/typed-scheme/optimizer/struct.rkt @@ -17,8 +17,8 @@ #:with opt (let ([idx (struct-fn-idx #'op)]) (if (struct-accessor? #'op) - (begin (log-optimization "struct ref" #'op) + (begin (log-optimization "struct ref" this-syntax) #`(unsafe-struct-ref #,((optimize) #'s) #,idx)) - (begin (log-optimization "struct set" #'op) + (begin (log-optimization "struct set" this-syntax) #`(unsafe-struct-set! #,((optimize) #'s) #,idx #,@(syntax-map (optimize) #'(v ...)))))))) diff --git a/collects/typed-scheme/optimizer/vector.rkt b/collects/typed-scheme/optimizer/vector.rkt index 59309853..cfc64ab3 100644 --- a/collects/typed-scheme/optimizer/vector.rkt +++ b/collects/typed-scheme/optimizer/vector.rkt @@ -37,7 +37,7 @@ (~literal unsafe-vector*-length))) v:known-length-vector-expr) #:with opt - (begin (log-optimization "known-length vector-length" #'op) + (begin (log-optimization "known-length vector-length" this-syntax) (match (type-of #'v) [(tc-result1: (HeterogenousVector: es)) #`(begin v.opt #,(length es))]))) ; v may have side effects @@ -46,12 +46,12 @@ ;; we can optimize no matter what. (pattern (#%plain-app (~and op (~literal vector-length)) v:expr) #:with opt - (begin (log-optimization "vector-length" #'op) + (begin (log-optimization "vector-length" this-syntax) #`(unsafe-vector-length #,((optimize) #'v)))) ;; same for flvector-length (pattern (#%plain-app (~and op (~literal flvector-length)) v:expr) #:with opt - (begin (log-optimization "flvector-length" #'op) + (begin (log-optimization "flvector-length" this-syntax) #`(unsafe-flvector-length #,((optimize) #'v)))) ;; we can optimize vector ref and set! on vectors of known length if we know ;; the index is within bounds (for now, literal or singleton type) @@ -65,7 +65,7 @@ [_ #f])))) (and (integer? ival) (exact? ival) (<= 0 ival (sub1 len)))) #:with opt - (begin (log-optimization "vector" #'op) + (begin (log-optimization "vector" this-syntax) #`(op.unsafe v.opt #,((optimize) #'i) #,@(syntax-map (optimize) #'(new ...)))))