Make TR optimizer tests reset the port line counting.
This means new logging lines should not change the numbering of all existing logs making diffs much cleaner.
This commit is contained in:
parent
ec4793ad16
commit
f1b52be26a
|
@ -1,17 +1,17 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: all-real.rkt 29:0 (+ (ann 3 Real) (ann 4 Real)) -- possible exact real arith
|
||||
TR info: all-real.rkt 30:0 (* (ann 3 Real) (ann 4 Real)) -- possible exact real arith
|
||||
TR missed opt: all-real.rkt 29:0 (+ (ann 3 Real) (ann 4 Real)) -- all args float-arg-expr, result not Float -- caused by: 29:8 3, 29:21 4
|
||||
TR missed opt: all-real.rkt 30:0 (* (ann 3 Real) (ann 4 Real)) -- all args float-arg-expr, result not Float -- caused by: 30:8 3, 30:21 4
|
||||
TR info: all-real.rkt 15:0 (+ (ann 3 Real) (ann 4 Real)) -- possible exact real arith
|
||||
TR info: all-real.rkt 16:0 (* (ann 3 Real) (ann 4 Real)) -- possible exact real arith
|
||||
TR missed opt: all-real.rkt 15:0 (+ (ann 3 Real) (ann 4 Real)) -- all args float-arg-expr, result not Float -- caused by: 15:8 3, 15:21 4
|
||||
TR missed opt: all-real.rkt 16:0 (* (ann 3 Real) (ann 4 Real)) -- all args float-arg-expr, result not Float -- caused by: 16:8 3, 16:21 4
|
||||
END
|
||||
#<<END
|
||||
7
|
||||
12
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
;; all-real expressions
|
||||
;; They currently get reported as missed float optimizations.
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: fixnum-no-bound.rkt 22:0 (fx+ (ann 2 Fixnum) (ann 3 Fixnum)) -- non-optimized fixnum op
|
||||
TR info: fixnum-no-bound.rkt 23:0 (fx- (ann 2 Fixnum) (ann 3 Fixnum)) -- non-optimized fixnum op
|
||||
TR info: fixnum-no-bound.rkt 24:0 (fx* (ann 2 Fixnum) (ann 3 Fixnum)) -- non-optimized fixnum op
|
||||
TR info: fixnum-no-bound.rkt 25:0 (fxquotient (ann 2 Fixnum) (ann 3 Fixnum)) -- non-optimized fixnum op
|
||||
TR info: fixnum-no-bound.rkt 26:0 (fxmodulo (ann 2 Fixnum) (ann 3 Fixnum)) -- non-optimized fixnum op
|
||||
TR info: fixnum-no-bound.rkt 27:0 (fxremainder (ann 2 Fixnum) (ann 3 Fixnum)) -- non-optimized fixnum op
|
||||
TR info: fixnum-no-bound.rkt 2:0 (fx+ (ann 2 Fixnum) (ann 3 Fixnum)) -- non-optimized fixnum op
|
||||
TR info: fixnum-no-bound.rkt 3:0 (fx- (ann 2 Fixnum) (ann 3 Fixnum)) -- non-optimized fixnum op
|
||||
TR info: fixnum-no-bound.rkt 4:0 (fx* (ann 2 Fixnum) (ann 3 Fixnum)) -- non-optimized fixnum op
|
||||
TR info: fixnum-no-bound.rkt 5:0 (fxquotient (ann 2 Fixnum) (ann 3 Fixnum)) -- non-optimized fixnum op
|
||||
TR info: fixnum-no-bound.rkt 6:0 (fxmodulo (ann 2 Fixnum) (ann 3 Fixnum)) -- non-optimized fixnum op
|
||||
TR info: fixnum-no-bound.rkt 7:0 (fxremainder (ann 2 Fixnum) (ann 3 Fixnum)) -- non-optimized fixnum op
|
||||
END
|
||||
#<<END
|
||||
5
|
||||
|
@ -16,8 +16,8 @@ END
|
|||
2
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(require racket/fixnum)
|
||||
(fx+ (ann 2 Fixnum) (ann 3 Fixnum))
|
||||
(fx- (ann 2 Fixnum) (ann 3 Fixnum))
|
||||
|
|
|
@ -1,35 +1,35 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: fixnum.rkt 105:28 (- 1 (expt 2 (- (system-type (quote word)) 2))) -- possible exact real arith
|
||||
TR info: fixnum.rkt 73:0 (fx* (values (ann x Index)) (values (ann y Index))) -- non-optimized fixnum op
|
||||
TR info: fixnum.rkt 76:0 (fx+ (+ 300 301) (+ 301 302)) -- non-optimized fixnum op
|
||||
TR info: fixnum.rkt 77:0 (fxquotient -4 -5) -- non-optimized fixnum op
|
||||
TR missed opt: fixnum.rkt 101:3 (+ max-fixnum max-fixnum) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 102:3 (+ min-fixnum min-fixnum) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 106:3 (quotient min-fixnum -1) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 71:0 (+ (ann z Fixnum) 234) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 72:0 (* (ann x Index) (ann y Index)) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 75:0 (+ (+ 300 301) (+ 301 302)) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 88:0 (sub1 min-fixnum) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 94:0 (add1 max-fixnum) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 98:3 (- max-fixnum min-fixnum) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 99:3 (- min-fixnum max-fixnum) -- out of fixnum range
|
||||
TR opt: fixnum.rkt 103:0 (= (+ max-fixnum min-fixnum) -1) -- binary fixnum comp
|
||||
TR opt: fixnum.rkt 103:3 (+ max-fixnum min-fixnum) -- fixnum bounded expr
|
||||
TR opt: fixnum.rkt 105:3 (quotient max-fixnum -1) -- nonzero fixnum bounded expr
|
||||
TR opt: fixnum.rkt 68:10 (* x y) -- fixnum bounded expr
|
||||
TR opt: fixnum.rkt 75:15 (+ 301 302) -- fixnum bounded expr
|
||||
TR opt: fixnum.rkt 75:3 (+ 300 301) -- fixnum bounded expr
|
||||
TR opt: fixnum.rkt 76:17 (+ 301 302) -- fixnum bounded expr
|
||||
TR opt: fixnum.rkt 76:5 (+ 300 301) -- fixnum bounded expr
|
||||
TR opt: fixnum.rkt 89:0 (add1 min-fixnum) -- fixnum add1
|
||||
TR opt: fixnum.rkt 91:0 (- max-fixnum) -- unary fixnum
|
||||
TR opt: fixnum.rkt 92:0 (abs max-fixnum) -- fixnum fxabs
|
||||
TR opt: fixnum.rkt 93:0 (sub1 max-fixnum) -- fixnum sub1
|
||||
TR opt: fixnum.rkt 96:0 (= (- max-fixnum max-fixnum) 0) -- binary fixnum comp
|
||||
TR opt: fixnum.rkt 96:3 (- max-fixnum max-fixnum) -- fixnum bounded expr
|
||||
TR opt: fixnum.rkt 97:0 (= (- min-fixnum min-fixnum) 0) -- binary fixnum comp
|
||||
TR opt: fixnum.rkt 97:3 (- min-fixnum min-fixnum) -- fixnum bounded expr
|
||||
TR info: fixnum.rkt 12:0 (fx* (values (ann x Index)) (values (ann y Index))) -- non-optimized fixnum op
|
||||
TR info: fixnum.rkt 15:0 (fx+ (+ 300 301) (+ 301 302)) -- non-optimized fixnum op
|
||||
TR info: fixnum.rkt 16:0 (fxquotient -4 -5) -- non-optimized fixnum op
|
||||
TR info: fixnum.rkt 44:28 (- 1 (expt 2 (- (system-type (quote word)) 2))) -- possible exact real arith
|
||||
TR missed opt: fixnum.rkt 10:0 (+ (ann z Fixnum) 234) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 11:0 (* (ann x Index) (ann y Index)) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 14:0 (+ (+ 300 301) (+ 301 302)) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 27:0 (sub1 min-fixnum) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 33:0 (add1 max-fixnum) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 37:3 (- max-fixnum min-fixnum) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 38:3 (- min-fixnum max-fixnum) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 40:3 (+ max-fixnum max-fixnum) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 41:3 (+ min-fixnum min-fixnum) -- out of fixnum range
|
||||
TR missed opt: fixnum.rkt 45:3 (quotient min-fixnum -1) -- out of fixnum range
|
||||
TR opt: fixnum.rkt 14:15 (+ 301 302) -- fixnum bounded expr
|
||||
TR opt: fixnum.rkt 14:3 (+ 300 301) -- fixnum bounded expr
|
||||
TR opt: fixnum.rkt 15:17 (+ 301 302) -- fixnum bounded expr
|
||||
TR opt: fixnum.rkt 15:5 (+ 300 301) -- fixnum bounded expr
|
||||
TR opt: fixnum.rkt 28:0 (add1 min-fixnum) -- fixnum add1
|
||||
TR opt: fixnum.rkt 30:0 (- max-fixnum) -- unary fixnum
|
||||
TR opt: fixnum.rkt 31:0 (abs max-fixnum) -- fixnum fxabs
|
||||
TR opt: fixnum.rkt 32:0 (sub1 max-fixnum) -- fixnum sub1
|
||||
TR opt: fixnum.rkt 35:0 (= (- max-fixnum max-fixnum) 0) -- binary fixnum comp
|
||||
TR opt: fixnum.rkt 35:3 (- max-fixnum max-fixnum) -- fixnum bounded expr
|
||||
TR opt: fixnum.rkt 36:0 (= (- min-fixnum min-fixnum) 0) -- binary fixnum comp
|
||||
TR opt: fixnum.rkt 36:3 (- min-fixnum min-fixnum) -- fixnum bounded expr
|
||||
TR opt: fixnum.rkt 42:0 (= (+ max-fixnum min-fixnum) -1) -- binary fixnum comp
|
||||
TR opt: fixnum.rkt 42:3 (+ max-fixnum min-fixnum) -- fixnum bounded expr
|
||||
TR opt: fixnum.rkt 44:3 (quotient max-fixnum -1) -- nonzero fixnum bounded expr
|
||||
TR opt: fixnum.rkt 7:10 (* x y) -- fixnum bounded expr
|
||||
END
|
||||
#<<END
|
||||
468
|
||||
|
@ -59,6 +59,7 @@ END
|
|||
|
||||
END
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(require racket/fixnum)
|
||||
|
||||
|
|
|
@ -1,39 +1,40 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: mandelbrot.rkt 46:15 (/ (* 2.0 y) n) -- possible exact real arith
|
||||
TR info: mandelbrot.rkt 46:18 (* 2.0 y) -- possible exact real arith
|
||||
TR info: mandelbrot.rkt 47:15 (/ (* 2.0 x) n) -- possible exact real arith
|
||||
TR info: mandelbrot.rkt 47:18 (* 2.0 x) -- possible exact real arith
|
||||
TR info: mandelbrot.rkt 57:28 (* 2 zr zi) -- possible exact real arith
|
||||
TR info: mandelbrot.rkt 57:28 (* 2 zr zi) -- possible exact real arith
|
||||
TR missed opt: mandelbrot.rkt 46:12 (- (/ (* 2.0 y) n) 1.0) -- all args float-arg-expr, result not Float -- caused by: 46:15 (/ (* 2.0 y) n)
|
||||
TR missed opt: mandelbrot.rkt 46:12 (- (/ (* 2.0 y) n) 1.0) -- exact ops inside float expr -- caused by: 46:15 (/ (* 2.0 y) n)
|
||||
TR missed opt: mandelbrot.rkt 46:15 (/ (* 2.0 y) n) -- all args float-arg-expr, result not Float -- caused by: 46:18 (* 2.0 y), 46:28 n
|
||||
TR missed opt: mandelbrot.rkt 46:18 (* 2.0 y) -- all args float-arg-expr, result not Float -- caused by: 46:25 y
|
||||
TR missed opt: mandelbrot.rkt 47:12 (- (/ (* 2.0 x) n) 1.5) -- all args float-arg-expr, result not Float -- caused by: 47:15 (/ (* 2.0 x) n)
|
||||
TR missed opt: mandelbrot.rkt 47:12 (- (/ (* 2.0 x) n) 1.5) -- exact ops inside float expr -- caused by: 47:15 (/ (* 2.0 x) n)
|
||||
TR missed opt: mandelbrot.rkt 47:15 (/ (* 2.0 x) n) -- all args float-arg-expr, result not Float -- caused by: 47:18 (* 2.0 x), 47:28 n
|
||||
TR missed opt: mandelbrot.rkt 47:18 (* 2.0 x) -- all args float-arg-expr, result not Float -- caused by: 47:25 x
|
||||
TR missed opt: mandelbrot.rkt 54:14 (> (+ zrq ziq) 4) -- generic comparison -- caused by: 54:29 4
|
||||
TR missed opt: mandelbrot.rkt 54:14 (> (+ zrq ziq) 4) -- generic comparison -- caused by: 54:29 4
|
||||
TR missed opt: mandelbrot.rkt 57:25 (- (* 2 zr zi) ci) -- all args float-arg-expr, result not Float -- caused by: 57:28 (* 2 zr zi)
|
||||
TR missed opt: mandelbrot.rkt 57:25 (- (* 2 zr zi) ci) -- all args float-arg-expr, result not Float -- caused by: 57:28 (* 2 zr zi)
|
||||
TR missed opt: mandelbrot.rkt 57:28 (* 2 zr zi) -- all args float-arg-expr, result not Float -- caused by: 57:31 2
|
||||
TR missed opt: mandelbrot.rkt 57:28 (* 2 zr zi) -- all args float-arg-expr, result not Float -- caused by: 57:31 2
|
||||
TR opt: mandelbrot.rkt 51:21 (* zr zr) -- binary float
|
||||
TR opt: mandelbrot.rkt 51:21 (* zr zr) -- binary float
|
||||
TR opt: mandelbrot.rkt 52:21 (* zi zi) -- binary float
|
||||
TR opt: mandelbrot.rkt 52:21 (* zi zi) -- binary float
|
||||
TR opt: mandelbrot.rkt 54:17 (+ zrq ziq) -- binary float
|
||||
TR opt: mandelbrot.rkt 54:17 (+ zrq ziq) -- binary float
|
||||
TR opt: mandelbrot.rkt 56:25 (+ (- zrq ziq) cr) -- binary float
|
||||
TR opt: mandelbrot.rkt 56:25 (+ (- zrq ziq) cr) -- binary float
|
||||
TR opt: mandelbrot.rkt 56:28 (- zrq ziq) -- binary float
|
||||
TR opt: mandelbrot.rkt 56:28 (- zrq ziq) -- binary float
|
||||
TR info: mandelbrot.rkt 10:15 (/ (* 2.0 y) n) -- possible exact real arith
|
||||
TR info: mandelbrot.rkt 10:18 (* 2.0 y) -- possible exact real arith
|
||||
TR info: mandelbrot.rkt 11:15 (/ (* 2.0 x) n) -- possible exact real arith
|
||||
TR info: mandelbrot.rkt 11:18 (* 2.0 x) -- possible exact real arith
|
||||
TR info: mandelbrot.rkt 21:28 (* 2 zr zi) -- possible exact real arith
|
||||
TR info: mandelbrot.rkt 21:28 (* 2 zr zi) -- possible exact real arith
|
||||
TR missed opt: mandelbrot.rkt 10:12 (- (/ (* 2.0 y) n) 1.0) -- all args float-arg-expr, result not Float -- caused by: 10:15 (/ (* 2.0 y) n)
|
||||
TR missed opt: mandelbrot.rkt 10:12 (- (/ (* 2.0 y) n) 1.0) -- exact ops inside float expr -- caused by: 10:15 (/ (* 2.0 y) n)
|
||||
TR missed opt: mandelbrot.rkt 10:15 (/ (* 2.0 y) n) -- all args float-arg-expr, result not Float -- caused by: 10:18 (* 2.0 y), 10:28 n
|
||||
TR missed opt: mandelbrot.rkt 10:18 (* 2.0 y) -- all args float-arg-expr, result not Float -- caused by: 10:25 y
|
||||
TR missed opt: mandelbrot.rkt 11:12 (- (/ (* 2.0 x) n) 1.5) -- all args float-arg-expr, result not Float -- caused by: 11:15 (/ (* 2.0 x) n)
|
||||
TR missed opt: mandelbrot.rkt 11:12 (- (/ (* 2.0 x) n) 1.5) -- exact ops inside float expr -- caused by: 11:15 (/ (* 2.0 x) n)
|
||||
TR missed opt: mandelbrot.rkt 11:15 (/ (* 2.0 x) n) -- all args float-arg-expr, result not Float -- caused by: 11:18 (* 2.0 x), 11:28 n
|
||||
TR missed opt: mandelbrot.rkt 11:18 (* 2.0 x) -- all args float-arg-expr, result not Float -- caused by: 11:25 x
|
||||
TR missed opt: mandelbrot.rkt 18:14 (> (+ zrq ziq) 4) -- generic comparison -- caused by: 18:29 4
|
||||
TR missed opt: mandelbrot.rkt 18:14 (> (+ zrq ziq) 4) -- generic comparison -- caused by: 18:29 4
|
||||
TR missed opt: mandelbrot.rkt 21:25 (- (* 2 zr zi) ci) -- all args float-arg-expr, result not Float -- caused by: 21:28 (* 2 zr zi)
|
||||
TR missed opt: mandelbrot.rkt 21:25 (- (* 2 zr zi) ci) -- all args float-arg-expr, result not Float -- caused by: 21:28 (* 2 zr zi)
|
||||
TR missed opt: mandelbrot.rkt 21:28 (* 2 zr zi) -- all args float-arg-expr, result not Float -- caused by: 21:31 2
|
||||
TR missed opt: mandelbrot.rkt 21:28 (* 2 zr zi) -- all args float-arg-expr, result not Float -- caused by: 21:31 2
|
||||
TR opt: mandelbrot.rkt 15:21 (* zr zr) -- binary float
|
||||
TR opt: mandelbrot.rkt 15:21 (* zr zr) -- binary float
|
||||
TR opt: mandelbrot.rkt 16:21 (* zi zi) -- binary float
|
||||
TR opt: mandelbrot.rkt 16:21 (* zi zi) -- binary float
|
||||
TR opt: mandelbrot.rkt 18:17 (+ zrq ziq) -- binary float
|
||||
TR opt: mandelbrot.rkt 18:17 (+ zrq ziq) -- binary float
|
||||
TR opt: mandelbrot.rkt 20:25 (+ (- zrq ziq) cr) -- binary float
|
||||
TR opt: mandelbrot.rkt 20:25 (+ (- zrq ziq) cr) -- binary float
|
||||
TR opt: mandelbrot.rkt 20:28 (- zrq ziq) -- binary float
|
||||
TR opt: mandelbrot.rkt 20:28 (- zrq ziq) -- binary float
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
;; from Matthew's talk at Mozilla
|
||||
;; 2 things were blocking futures:
|
||||
|
|
|
@ -1,31 +1,32 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: marketplace-struct.rkt 117:39 process -- struct constructor
|
||||
TR info: marketplace-struct.rkt 124:3 vm -- struct constructor
|
||||
TR info: marketplace-struct.rkt 66:9 vm -- struct constructor
|
||||
TR info: marketplace-struct.rkt 66:9 vm -- struct constructor
|
||||
TR missed opt: marketplace-struct.rkt 146:34 (in-hash-keys (vm-processes state)) -- non-specialized for clause
|
||||
TR missed opt: marketplace-struct.rkt 155:32 (in-hash-keys (vm-processes state)) -- non-specialized for clause
|
||||
TR missed opt: marketplace-struct.rkt 160:46 (in-hash-keys (process-endpoints p)) -- non-specialized for clause
|
||||
TR missed opt: marketplace-struct.rkt 160:46 (in-hash-keys (process-endpoints p)) -- non-specialized for clause
|
||||
TR opt: marketplace-struct.rkt 131:2 (struct-copy vm state (processes (hash-set (vm-processes state) (Process-pid wp) wp))) -- dead else branch
|
||||
TR opt: marketplace-struct.rkt 131:2 (struct-copy vm state (processes (hash-set (vm-processes state) (Process-pid wp) wp))) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 131:45 (vm-processes state) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 138:23 (vm-processes state) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 139:10 (if wp (struct-copy vm state (processes (hash-remove (vm-processes state) pid))) state) -- dead else branch
|
||||
TR opt: marketplace-struct.rkt 139:10 (if wp (struct-copy vm state (processes (hash-remove (vm-processes state) pid))) state) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 140:60 (vm-processes state) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 146:48 (vm-processes state) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 155:46 (vm-processes state) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 160:60 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 160:60 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 161:35 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 161:35 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 161:35 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 161:35 (process-endpoints p) -- struct ref
|
||||
TR info: marketplace-struct.rkt 38:9 vm -- struct constructor
|
||||
TR info: marketplace-struct.rkt 38:9 vm -- struct constructor
|
||||
TR info: marketplace-struct.rkt 89:39 process -- struct constructor
|
||||
TR info: marketplace-struct.rkt 96:3 vm -- struct constructor
|
||||
TR missed opt: marketplace-struct.rkt 118:34 (in-hash-keys (vm-processes state)) -- non-specialized for clause
|
||||
TR missed opt: marketplace-struct.rkt 127:32 (in-hash-keys (vm-processes state)) -- non-specialized for clause
|
||||
TR missed opt: marketplace-struct.rkt 132:46 (in-hash-keys (process-endpoints p)) -- non-specialized for clause
|
||||
TR missed opt: marketplace-struct.rkt 132:46 (in-hash-keys (process-endpoints p)) -- non-specialized for clause
|
||||
TR opt: marketplace-struct.rkt 103:2 (struct-copy vm state (processes (hash-set (vm-processes state) (Process-pid wp) wp))) -- dead else branch
|
||||
TR opt: marketplace-struct.rkt 103:2 (struct-copy vm state (processes (hash-set (vm-processes state) (Process-pid wp) wp))) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 103:45 (vm-processes state) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 110:23 (vm-processes state) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 111:10 (if wp (struct-copy vm state (processes (hash-remove (vm-processes state) pid))) state) -- dead else branch
|
||||
TR opt: marketplace-struct.rkt 111:10 (if wp (struct-copy vm state (processes (hash-remove (vm-processes state) pid))) state) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 112:60 (vm-processes state) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 118:48 (vm-processes state) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 127:46 (vm-processes state) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 132:60 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 132:60 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 133:35 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 133:35 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 133:35 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 133:35 (process-endpoints p) -- struct ref
|
||||
END
|
||||
""
|
||||
#lang typed/racket/base
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
;; excerpt from marketplace
|
||||
;; a struct constructor logging bug was causing this to fail
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: multi-file1.rkt 13:2 (* x (ann 3 Integer)) -- possible exact real arith
|
||||
TR missed opt: multi-file1.rkt 13:2 (* x (ann 3 Integer)) -- all args float-arg-expr, result not Float -- caused by: 13:12 3
|
||||
TR info: multi-file1.rkt 5:2 (* x (ann 3 Integer)) -- possible exact real arith
|
||||
TR missed opt: multi-file1.rkt 5:2 (* x (ann 3 Integer)) -- all args float-arg-expr, result not Float -- caused by: 5:12 3
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(provide f)
|
||||
|
||||
(: f : Float -> Real)
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: multi-file2.rkt 14:10 (+ 3 5) -- fixnum bounded expr
|
||||
TR opt: multi-file2.rkt 14:3 (* 3.4 (+ 3 5)) -- binary float
|
||||
TR opt: multi-file2.rkt 3:10 (+ 3 5) -- fixnum bounded expr
|
||||
TR opt: multi-file2.rkt 3:3 (* 3.4 (+ 3 5)) -- binary float
|
||||
END
|
||||
#<<END
|
||||
81.6
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(require "multi-file1.rkt")
|
||||
|
||||
(f (* 3.4 (+ 3 5)))
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: multiple-irritants.rkt 13:0 (* (ann 4 Integer) (ann 5 Integer) 6.0) -- possible exact real arith
|
||||
TR missed opt: multiple-irritants.rkt 13:0 (* (ann 4 Integer) (ann 5 Integer) 6.0) -- all args float-arg-expr, result not Float -- caused by: 13:8 4, 13:24 5
|
||||
TR info: multiple-irritants.rkt 2:0 (* (ann 4 Integer) (ann 5 Integer) 6.0) -- possible exact real arith
|
||||
TR missed opt: multiple-irritants.rkt 2:0 (* (ann 4 Integer) (ann 5 Integer) 6.0) -- all args float-arg-expr, result not Float -- caused by: 2:8 4, 2:24 5
|
||||
END
|
||||
#<<END
|
||||
120.0
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(* (ann 4 Integer) (ann 5 Integer) 6.0)
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: nested-same-kind.rkt 37:0 (* 2.0 (* 3.0 (ann 4 Integer))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 37:7 (* 3.0 (ann 4 Integer)) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 38:0 (* 1.0 (* 2.0 (* 3.0 (ann 4 Integer)))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 38:14 (* 3.0 (ann 4 Integer)) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 38:7 (* 2.0 (* 3.0 (ann 4 Integer))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 39:0 (* 2.0 (* 3.0 (ann 4 Integer) (ann 5 Integer))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 39:7 (* 3.0 (ann 4 Integer) (ann 5 Integer)) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 40:0 (* (* 3.0 (ann 4 Integer)) (* 3.0 (ann 4 Integer))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 40:27 (* 3.0 (ann 4 Integer)) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 40:3 (* 3.0 (ann 4 Integer)) -- possible exact real arith
|
||||
TR missed opt: nested-same-kind.rkt 37:0 (* 2.0 (* 3.0 (ann 4 Integer))) -- all args float-arg-expr, result not Float -- caused by: 37:7 (* 3.0 (ann 4 Integer))
|
||||
TR missed opt: nested-same-kind.rkt 37:7 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 37:19 4
|
||||
TR missed opt: nested-same-kind.rkt 38:0 (* 1.0 (* 2.0 (* 3.0 (ann 4 Integer)))) -- all args float-arg-expr, result not Float -- caused by: 38:7 (* 2.0 (* 3.0 (ann 4 Integer)))
|
||||
TR missed opt: nested-same-kind.rkt 38:14 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 38:26 4
|
||||
TR missed opt: nested-same-kind.rkt 38:7 (* 2.0 (* 3.0 (ann 4 Integer))) -- all args float-arg-expr, result not Float -- caused by: 38:14 (* 3.0 (ann 4 Integer))
|
||||
TR missed opt: nested-same-kind.rkt 39:0 (* 2.0 (* 3.0 (ann 4 Integer) (ann 5 Integer))) -- all args float-arg-expr, result not Float -- caused by: 39:7 (* 3.0 (ann 4 Integer) (ann 5 Integer))
|
||||
TR missed opt: nested-same-kind.rkt 39:7 (* 3.0 (ann 4 Integer) (ann 5 Integer)) -- all args float-arg-expr, result not Float -- caused by: 39:19 4, 39:35 5
|
||||
TR missed opt: nested-same-kind.rkt 40:0 (* (* 3.0 (ann 4 Integer)) (* 3.0 (ann 4 Integer))) -- all args float-arg-expr, result not Float -- caused by: 40:3 (* 3.0 (ann 4 Integer)), 40:27 (* 3.0 (ann 4 Integer))
|
||||
TR missed opt: nested-same-kind.rkt 40:27 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 40:39 4
|
||||
TR missed opt: nested-same-kind.rkt 40:3 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 40:15 4
|
||||
TR info: nested-same-kind.rkt 5:0 (* 2.0 (* 3.0 (ann 4 Integer))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 5:7 (* 3.0 (ann 4 Integer)) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 6:0 (* 1.0 (* 2.0 (* 3.0 (ann 4 Integer)))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 6:14 (* 3.0 (ann 4 Integer)) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 6:7 (* 2.0 (* 3.0 (ann 4 Integer))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 7:0 (* 2.0 (* 3.0 (ann 4 Integer) (ann 5 Integer))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 7:7 (* 3.0 (ann 4 Integer) (ann 5 Integer)) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 8:0 (* (* 3.0 (ann 4 Integer)) (* 3.0 (ann 4 Integer))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 8:27 (* 3.0 (ann 4 Integer)) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 8:3 (* 3.0 (ann 4 Integer)) -- possible exact real arith
|
||||
TR missed opt: nested-same-kind.rkt 5:0 (* 2.0 (* 3.0 (ann 4 Integer))) -- all args float-arg-expr, result not Float -- caused by: 5:7 (* 3.0 (ann 4 Integer))
|
||||
TR missed opt: nested-same-kind.rkt 5:7 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 5:19 4
|
||||
TR missed opt: nested-same-kind.rkt 6:0 (* 1.0 (* 2.0 (* 3.0 (ann 4 Integer)))) -- all args float-arg-expr, result not Float -- caused by: 6:7 (* 2.0 (* 3.0 (ann 4 Integer)))
|
||||
TR missed opt: nested-same-kind.rkt 6:14 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 6:26 4
|
||||
TR missed opt: nested-same-kind.rkt 6:7 (* 2.0 (* 3.0 (ann 4 Integer))) -- all args float-arg-expr, result not Float -- caused by: 6:14 (* 3.0 (ann 4 Integer))
|
||||
TR missed opt: nested-same-kind.rkt 7:0 (* 2.0 (* 3.0 (ann 4 Integer) (ann 5 Integer))) -- all args float-arg-expr, result not Float -- caused by: 7:7 (* 3.0 (ann 4 Integer) (ann 5 Integer))
|
||||
TR missed opt: nested-same-kind.rkt 7:7 (* 3.0 (ann 4 Integer) (ann 5 Integer)) -- all args float-arg-expr, result not Float -- caused by: 7:19 4, 7:35 5
|
||||
TR missed opt: nested-same-kind.rkt 8:0 (* (* 3.0 (ann 4 Integer)) (* 3.0 (ann 4 Integer))) -- all args float-arg-expr, result not Float -- caused by: 8:3 (* 3.0 (ann 4 Integer)), 8:27 (* 3.0 (ann 4 Integer))
|
||||
TR missed opt: nested-same-kind.rkt 8:27 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 8:39 4
|
||||
TR missed opt: nested-same-kind.rkt 8:3 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 8:15 4
|
||||
END
|
||||
#<<END
|
||||
24.0
|
||||
|
@ -28,8 +28,8 @@ END
|
|||
144.0
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
;; when a single "bubble" causes missed optimizations to cascade, a single
|
||||
;; close call should be reported, with the outermost expression being reported
|
||||
;; but with the innermost flagged as the cause
|
||||
|
|
|
@ -1,38 +1,38 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR missed opt: pair.rkt 61:0 (car (ann (list 1 2 3) (Listof Byte))) -- car/cdr on a potentially empty list -- caused by: 61:10 (list 1 2 3)
|
||||
TR missed opt: pair.rkt 63:0 (cdr (ann (list 1 2 3) (Listof Byte))) -- car/cdr on a potentially empty list -- caused by: 63:10 (list 1 2 3)
|
||||
TR missed opt: pair.rkt 67:16 (cdr (cdr (cdr (cdr (list 1 2 3))))) -- car/cdr on a potentially empty list -- caused by: 67:21 (cdr (cdr (cdr (list 1 2 3))))
|
||||
TR missed opt: pair.rkt 70:0 (mcar (values (ann (mlist 1) (MListof Byte)))) -- car/cdr on a potentially empty list -- caused by: 70:6 (values (ann (mlist 1) (MListof Byte)))
|
||||
TR missed opt: pair.rkt 72:0 (mcdr (values (ann (mlist 1) (MListof Byte)))) -- car/cdr on a potentially empty list -- caused by: 72:6 (values (ann (mlist 1) (MListof Byte)))
|
||||
TR missed opt: pair.rkt 76:0 (set-mcar! (values (ann (mlist 2) (MListof Byte))) 2) -- car/cdr on a potentially empty list -- caused by: 76:11 (values (ann (mlist 2) (MListof Byte)))
|
||||
TR missed opt: pair.rkt 78:0 (set-mcdr! (values (ann (mlist 2) (MListof Byte))) (values (ann (mlist 2) (MListof Byte)))) -- car/cdr on a potentially empty list -- caused by: 78:11 (values (ann (mlist 2) (MListof Byte)))
|
||||
TR missed opt: pair.rkt 84:17 (mcar (quote ())) -- car/cdr on a potentially empty list -- caused by: 84:23 (quote ())
|
||||
TR missed opt: pair.rkt 85:17 (mcdr (quote ())) -- car/cdr on a potentially empty list -- caused by: 85:23 (quote ())
|
||||
TR missed opt: pair.rkt 86:17 (set-mcar! (quote ()) 2) -- car/cdr on a potentially empty list -- caused by: 86:28 (quote ())
|
||||
TR missed opt: pair.rkt 87:17 (set-mcdr! (ann (quote ()) (MListof Integer)) (ann (mlist 3) (MListof Integer))) -- car/cdr on a potentially empty list -- caused by: 87:33 (quote ())
|
||||
TR opt: pair.rkt 62:0 (car (list 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 64:0 (cdr (list 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 65:0 (cdr (cdr (list 1 2 3))) -- pair
|
||||
TR opt: pair.rkt 65:5 (cdr (list 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 66:0 (cdr (cdr (cdr (list 1 2 3)))) -- pair
|
||||
TR opt: pair.rkt 66:10 (cdr (list 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 66:5 (cdr (cdr (list 1 2 3))) -- pair
|
||||
TR opt: pair.rkt 67:21 (cdr (cdr (cdr (list 1 2 3)))) -- pair
|
||||
TR opt: pair.rkt 67:26 (cdr (cdr (list 1 2 3))) -- pair
|
||||
TR opt: pair.rkt 67:31 (cdr (list 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 71:0 (mcar (mlist 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 73:0 (mcdr (mlist 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 74:0 (mcdr (mcdr (mlist 1 2 3))) -- pair
|
||||
TR opt: pair.rkt 74:6 (mcdr (mlist 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 75:0 (mcdr (mcdr (mcdr (mlist 1 2 3)))) -- pair
|
||||
TR opt: pair.rkt 75:12 (mcdr (mlist 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 75:6 (mcdr (mcdr (mlist 1 2 3))) -- pair
|
||||
TR opt: pair.rkt 77:0 (set-mcar! (mlist 2 3 4) 2) -- pair
|
||||
TR opt: pair.rkt 80:0 (mcar (mcons 2 3)) -- pair
|
||||
TR opt: pair.rkt 81:0 (mcdr (mcons 2 3)) -- pair
|
||||
TR opt: pair.rkt 82:0 (set-mcar! (mcons 2 3) 3) -- pair
|
||||
TR opt: pair.rkt 83:0 (set-mcdr! (mcons 2 3) 4) -- pair
|
||||
TR missed opt: pair.rkt 12:16 (cdr (cdr (cdr (cdr (list 1 2 3))))) -- car/cdr on a potentially empty list -- caused by: 12:21 (cdr (cdr (cdr (list 1 2 3))))
|
||||
TR missed opt: pair.rkt 15:0 (mcar (values (ann (mlist 1) (MListof Byte)))) -- car/cdr on a potentially empty list -- caused by: 15:6 (values (ann (mlist 1) (MListof Byte)))
|
||||
TR missed opt: pair.rkt 17:0 (mcdr (values (ann (mlist 1) (MListof Byte)))) -- car/cdr on a potentially empty list -- caused by: 17:6 (values (ann (mlist 1) (MListof Byte)))
|
||||
TR missed opt: pair.rkt 21:0 (set-mcar! (values (ann (mlist 2) (MListof Byte))) 2) -- car/cdr on a potentially empty list -- caused by: 21:11 (values (ann (mlist 2) (MListof Byte)))
|
||||
TR missed opt: pair.rkt 23:0 (set-mcdr! (values (ann (mlist 2) (MListof Byte))) (values (ann (mlist 2) (MListof Byte)))) -- car/cdr on a potentially empty list -- caused by: 23:11 (values (ann (mlist 2) (MListof Byte)))
|
||||
TR missed opt: pair.rkt 29:17 (mcar (quote ())) -- car/cdr on a potentially empty list -- caused by: 29:23 (quote ())
|
||||
TR missed opt: pair.rkt 30:17 (mcdr (quote ())) -- car/cdr on a potentially empty list -- caused by: 30:23 (quote ())
|
||||
TR missed opt: pair.rkt 31:17 (set-mcar! (quote ()) 2) -- car/cdr on a potentially empty list -- caused by: 31:28 (quote ())
|
||||
TR missed opt: pair.rkt 32:17 (set-mcdr! (ann (quote ()) (MListof Integer)) (ann (mlist 3) (MListof Integer))) -- car/cdr on a potentially empty list -- caused by: 32:33 (quote ())
|
||||
TR missed opt: pair.rkt 6:0 (car (ann (list 1 2 3) (Listof Byte))) -- car/cdr on a potentially empty list -- caused by: 6:10 (list 1 2 3)
|
||||
TR missed opt: pair.rkt 8:0 (cdr (ann (list 1 2 3) (Listof Byte))) -- car/cdr on a potentially empty list -- caused by: 8:10 (list 1 2 3)
|
||||
TR opt: pair.rkt 10:0 (cdr (cdr (list 1 2 3))) -- pair
|
||||
TR opt: pair.rkt 10:5 (cdr (list 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 11:0 (cdr (cdr (cdr (list 1 2 3)))) -- pair
|
||||
TR opt: pair.rkt 11:10 (cdr (list 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 11:5 (cdr (cdr (list 1 2 3))) -- pair
|
||||
TR opt: pair.rkt 12:21 (cdr (cdr (cdr (list 1 2 3)))) -- pair
|
||||
TR opt: pair.rkt 12:26 (cdr (cdr (list 1 2 3))) -- pair
|
||||
TR opt: pair.rkt 12:31 (cdr (list 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 16:0 (mcar (mlist 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 18:0 (mcdr (mlist 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 19:0 (mcdr (mcdr (mlist 1 2 3))) -- pair
|
||||
TR opt: pair.rkt 19:6 (mcdr (mlist 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 20:0 (mcdr (mcdr (mcdr (mlist 1 2 3)))) -- pair
|
||||
TR opt: pair.rkt 20:12 (mcdr (mlist 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 20:6 (mcdr (mcdr (mlist 1 2 3))) -- pair
|
||||
TR opt: pair.rkt 22:0 (set-mcar! (mlist 2 3 4) 2) -- pair
|
||||
TR opt: pair.rkt 25:0 (mcar (mcons 2 3)) -- pair
|
||||
TR opt: pair.rkt 26:0 (mcdr (mcons 2 3)) -- pair
|
||||
TR opt: pair.rkt 27:0 (set-mcar! (mcons 2 3) 3) -- pair
|
||||
TR opt: pair.rkt 28:0 (set-mcdr! (mcons 2 3) 4) -- pair
|
||||
TR opt: pair.rkt 7:0 (car (list 1 2 3)) -- pair
|
||||
TR opt: pair.rkt 9:0 (cdr (list 1 2 3)) -- pair
|
||||
END
|
||||
#<<END
|
||||
1
|
||||
|
@ -51,8 +51,8 @@ END
|
|||
3
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(require compatibility/mlist)
|
||||
|
||||
;; car/cdr can be optimized if they are guaranteed to be applied only to
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: precision-loss.rkt 38:3 (* 3/4 2/3) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 42:3 (- 3/4) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 44:39 (+ 1/4 3/4) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 50:0 (* (* (r 3/4) 2/3) (car (list (* 2.0 (* (r 3/4) 2/3)))) 2.0) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 50:3 (* (r 3/4) 2/3) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 51:14 (* 2.0 (* (r 3/4) 2/3)) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 51:21 (* (r 3/4) 2/3) -- possible exact real arith
|
||||
TR missed opt: precision-loss.rkt 38:0 (+ (* 3/4 2/3) 2.0) -- exact ops inside float expr -- caused by: 38:3 (* 3/4 2/3)
|
||||
TR missed opt: precision-loss.rkt 42:0 (+ (- 3/4) 2.0) -- exact ops inside float expr -- caused by: 42:3 (- 3/4)
|
||||
TR missed opt: precision-loss.rkt 44:0 (+ (vector-ref (quote #(2/3 1/2 3/4)) (assert (+ 1/4 3/4) exact-integer?)) 2.0) -- all args float-arg-expr, result not Float -- caused by: 44:3 (vector-ref (quote #(2/3 1/2 3/4)) (assert (+ 1/4 3/4) exact-integer?))
|
||||
TR missed opt: precision-loss.rkt 50:0 (* (* (r 3/4) 2/3) (car (list (* 2.0 (* (r 3/4) 2/3)))) 2.0) -- all args float-arg-expr, result not Float -- caused by: 50:3 (* (r 3/4) 2/3), 51:3 (car (list (* 2.0 (* (r 3/4) 2/3))))
|
||||
TR missed opt: precision-loss.rkt 50:3 (* (r 3/4) 2/3) -- all args float-arg-expr, result not Float -- caused by: 50:6 (r 3/4), 50:14 2/3
|
||||
TR missed opt: precision-loss.rkt 51:14 (* 2.0 (* (r 3/4) 2/3)) -- all args float-arg-expr, result not Float -- caused by: 51:21 (* (r 3/4) 2/3)
|
||||
TR missed opt: precision-loss.rkt 51:21 (* (r 3/4) 2/3) -- all args float-arg-expr, result not Float -- caused by: 51:24 (r 3/4), 51:32 2/3
|
||||
TR opt: precision-loss.rkt 38:0 (+ (* 3/4 2/3) 2.0) -- binary float
|
||||
TR opt: precision-loss.rkt 40:0 (+ 3/4 2.0) -- binary float
|
||||
TR opt: precision-loss.rkt 42:0 (+ (- 3/4) 2.0) -- binary float
|
||||
TR opt: precision-loss.rkt 51:3 (car (list (* 2.0 (* (r 3/4) 2/3)))) -- pair
|
||||
TR info: precision-loss.rkt 10:3 (- 3/4) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 12:39 (+ 1/4 3/4) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 18:0 (* (* (r 3/4) 2/3) (car (list (* 2.0 (* (r 3/4) 2/3)))) 2.0) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 18:3 (* (r 3/4) 2/3) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 19:14 (* 2.0 (* (r 3/4) 2/3)) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 19:21 (* (r 3/4) 2/3) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 6:3 (* 3/4 2/3) -- possible exact real arith
|
||||
TR missed opt: precision-loss.rkt 10:0 (+ (- 3/4) 2.0) -- exact ops inside float expr -- caused by: 10:3 (- 3/4)
|
||||
TR missed opt: precision-loss.rkt 12:0 (+ (vector-ref (quote #(2/3 1/2 3/4)) (assert (+ 1/4 3/4) exact-integer?)) 2.0) -- all args float-arg-expr, result not Float -- caused by: 12:3 (vector-ref (quote #(2/3 1/2 3/4)) (assert (+ 1/4 3/4) exact-integer?))
|
||||
TR missed opt: precision-loss.rkt 18:0 (* (* (r 3/4) 2/3) (car (list (* 2.0 (* (r 3/4) 2/3)))) 2.0) -- all args float-arg-expr, result not Float -- caused by: 18:3 (* (r 3/4) 2/3), 19:3 (car (list (* 2.0 (* (r 3/4) 2/3))))
|
||||
TR missed opt: precision-loss.rkt 18:3 (* (r 3/4) 2/3) -- all args float-arg-expr, result not Float -- caused by: 18:6 (r 3/4), 18:14 2/3
|
||||
TR missed opt: precision-loss.rkt 19:14 (* 2.0 (* (r 3/4) 2/3)) -- all args float-arg-expr, result not Float -- caused by: 19:21 (* (r 3/4) 2/3)
|
||||
TR missed opt: precision-loss.rkt 19:21 (* (r 3/4) 2/3) -- all args float-arg-expr, result not Float -- caused by: 19:24 (r 3/4), 19:32 2/3
|
||||
TR missed opt: precision-loss.rkt 6:0 (+ (* 3/4 2/3) 2.0) -- exact ops inside float expr -- caused by: 6:3 (* 3/4 2/3)
|
||||
TR opt: precision-loss.rkt 10:0 (+ (- 3/4) 2.0) -- binary float
|
||||
TR opt: precision-loss.rkt 19:3 (car (list (* 2.0 (* (r 3/4) 2/3)))) -- pair
|
||||
TR opt: precision-loss.rkt 6:0 (+ (* 3/4 2/3) 2.0) -- binary float
|
||||
TR opt: precision-loss.rkt 8:0 (+ 3/4 2.0) -- binary float
|
||||
END
|
||||
#<<END
|
||||
2.5
|
||||
|
@ -27,9 +27,8 @@ END
|
|||
1.0
|
||||
|
||||
END
|
||||
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(: r (Real -> Real))
|
||||
(define (r x) x)
|
||||
;; warn when the extra precision gained by doing exact computations would
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: real-in-float-expr.rkt 23:0 (* (ann 3 Real) 2.3) -- possible exact real arith
|
||||
TR info: real-in-float-expr.rkt 30:0 (+ 2/3 3/4) -- possible exact real arith
|
||||
TR info: real-in-float-expr.rkt 32:0 (* (ann 2 Natural) 2.0) -- possible exact real arith
|
||||
TR missed opt: real-in-float-expr.rkt 23:0 (* (ann 3 Real) 2.3) -- all args float-arg-expr, result not Float -- caused by: 23:8 3
|
||||
TR missed opt: real-in-float-expr.rkt 32:0 (* (ann 2 Natural) 2.0) -- all args float-arg-expr, result not Float -- caused by: 32:8 2
|
||||
TR opt: real-in-float-expr.rkt 28:0 (* 2 3) -- fixnum bounded expr
|
||||
TR opt: real-in-float-expr.rkt 29:0 (+ 2 3) -- fixnum bounded expr
|
||||
TR info: real-in-float-expr.rkt 11:0 (* (ann 2 Natural) 2.0) -- possible exact real arith
|
||||
TR info: real-in-float-expr.rkt 2:0 (* (ann 3 Real) 2.3) -- possible exact real arith
|
||||
TR info: real-in-float-expr.rkt 9:0 (+ 2/3 3/4) -- possible exact real arith
|
||||
TR missed opt: real-in-float-expr.rkt 11:0 (* (ann 2 Natural) 2.0) -- all args float-arg-expr, result not Float -- caused by: 11:8 2
|
||||
TR missed opt: real-in-float-expr.rkt 2:0 (* (ann 3 Real) 2.3) -- all args float-arg-expr, result not Float -- caused by: 2:8 3
|
||||
TR opt: real-in-float-expr.rkt 7:0 (* 2 3) -- fixnum bounded expr
|
||||
TR opt: real-in-float-expr.rkt 8:0 (+ 2 3) -- fixnum bounded expr
|
||||
END
|
||||
#<<END
|
||||
6.8999999999999995
|
||||
|
@ -19,6 +19,7 @@ END
|
|||
|
||||
END
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(* (ann 3 Real) ; with type Real, typechecker must assume it could be exact 0
|
||||
2.3)
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR missed opt: sequence.rkt 10:22 s -- non-specialized for clause
|
||||
TR missed opt: sequence.rkt 4:22 s -- non-specialized for clause
|
||||
END
|
||||
""
|
||||
#lang typed/racket/base
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(: seq-generic : (Sequenceof Integer) -> Void)
|
||||
(define (seq-generic s)
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: struct-constructor.rkt 14:7 foo -- struct constructor
|
||||
TR info: struct-constructor.rkt 6:7 foo -- struct constructor
|
||||
END
|
||||
""
|
||||
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(provide (struct-out foo))
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: unary-float.rkt 20:0 (sin (ann 3.4 Real)) -- possible exact real arith
|
||||
TR info: unary-float.rkt 21:0 (sin 3) -- possible exact real arith
|
||||
TR info: unary-float.rkt 22:0 (abs (ann 3.4 Real)) -- possible exact real arith
|
||||
TR missed opt: unary-float.rkt 20:0 (sin (ann 3.4 Real)) -- all args float-arg-expr, result not Float -- caused by: 20:10 3.4
|
||||
TR missed opt: unary-float.rkt 21:0 (sin 3) -- all args float-arg-expr, result not Float -- caused by: 21:5 3
|
||||
TR missed opt: unary-float.rkt 22:0 (abs (ann 3.4 Real)) -- all args float-arg-expr, result not Float -- caused by: 22:10 3.4
|
||||
TR info: unary-float.rkt 2:0 (sin (ann 3.4 Real)) -- possible exact real arith
|
||||
TR info: unary-float.rkt 3:0 (sin 3) -- possible exact real arith
|
||||
TR info: unary-float.rkt 4:0 (abs (ann 3.4 Real)) -- possible exact real arith
|
||||
TR missed opt: unary-float.rkt 2:0 (sin (ann 3.4 Real)) -- all args float-arg-expr, result not Float -- caused by: 2:10 3.4
|
||||
TR missed opt: unary-float.rkt 3:0 (sin 3) -- all args float-arg-expr, result not Float -- caused by: 3:5 3
|
||||
TR missed opt: unary-float.rkt 4:0 (abs (ann 3.4 Real)) -- all args float-arg-expr, result not Float -- caused by: 4:10 3.4
|
||||
END
|
||||
#<<END
|
||||
-0.2555411020268312
|
||||
|
@ -14,8 +14,8 @@ END
|
|||
3
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(sin (ann 3.4 Real))
|
||||
(sin 3)
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR missed opt: unexpected-complex.rkt 18:0 (sqrt (ann 4 Integer)) -- unexpected complex type
|
||||
TR opt: unexpected-complex.rkt 19:0 (+ 1.2+3.4i 2.0) -- unboxed binary float complex
|
||||
TR opt: unexpected-complex.rkt 19:12 2.0 -- float in complex ops
|
||||
TR opt: unexpected-complex.rkt 19:3 1.2+3.4i -- unboxed literal
|
||||
TR missed opt: unexpected-complex.rkt 4:0 (sqrt (ann 4 Integer)) -- unexpected complex type
|
||||
TR opt: unexpected-complex.rkt 5:0 (+ 1.2+3.4i 2.0) -- unboxed binary float complex
|
||||
TR opt: unexpected-complex.rkt 5:12 2.0 -- float in complex ops
|
||||
TR opt: unexpected-complex.rkt 5:3 1.2+3.4i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
2
|
||||
3.2+3.4i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
;; a Complex type is "unexpected" if it pops up in an expressions for which
|
||||
;; all subexpressions have a Real type
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
#lang racket/base
|
||||
;; Reader extension used by the optimizer tests to make changes to the logging less disruptive to
|
||||
;; existing logging.
|
||||
|
||||
(provide read-syntax)
|
||||
|
||||
(define (read-syntax name port)
|
||||
(read-line port)
|
||||
(when (port-counts-lines? port)
|
||||
(set-port-next-location! port 1 0 1))
|
||||
(make-special-comment 'typed-racket/optimizer/reset-port))
|
|
@ -1,9 +1,9 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: add1.rkt 17:5 (add1 5) -- fixnum add1
|
||||
TR opt: add1.rkt 18:5 (sub1 3) -- fixnum sub1
|
||||
TR opt: add1.rkt 19:5 (add1 2.3) -- float add1
|
||||
TR opt: add1.rkt 20:5 (sub1 2.25) -- float sub1
|
||||
TR opt: add1.rkt 1:5 (add1 5) -- fixnum add1
|
||||
TR opt: add1.rkt 2:5 (sub1 3) -- fixnum sub1
|
||||
TR opt: add1.rkt 3:5 (add1 2.3) -- float add1
|
||||
TR opt: add1.rkt 4:5 (sub1 2.25) -- float sub1
|
||||
END
|
||||
#<<END
|
||||
6
|
||||
|
@ -12,8 +12,8 @@ END
|
|||
1.25
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket #:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(ann (add1 5) Fixnum)
|
||||
(ann (sub1 3) Fixnum)
|
||||
(ann (add1 2.3) Float)
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: annotations.rkt 11:10 (+ 1.0 2.0) -- binary float
|
||||
TR opt: annotations.rkt 14:10 (+ 1.0 2.0) -- binary float
|
||||
TR opt: annotations.rkt 17:10 (+ 1.0 2.0) -- binary float
|
||||
TR opt: annotations.rkt 19:15 (+ 1.0 2.0) -- binary float
|
||||
TR opt: annotations.rkt 10:15 (+ 1.0 2.0) -- binary float
|
||||
TR opt: annotations.rkt 2:10 (+ 1.0 2.0) -- binary float
|
||||
TR opt: annotations.rkt 5:10 (+ 1.0 2.0) -- binary float
|
||||
TR opt: annotations.rkt 8:10 (+ 1.0 2.0) -- binary float
|
||||
END
|
||||
""
|
||||
#lang typed/racket #:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(define a (+ 1.0 2.0))
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: apply-plus.rkt 15:0 (apply + (map add1 (list 1 2 3))) -- apply-map
|
||||
TR opt: apply-plus.rkt 16:0 (apply * (map add1 (list 1 2 3))) -- apply-map
|
||||
TR opt: apply-plus.rkt 2:0 (apply + (map add1 (list 1 2 3))) -- apply-map
|
||||
TR opt: apply-plus.rkt 3:0 (apply * (map add1 (list 1 2 3))) -- apply-map
|
||||
END
|
||||
#<<END
|
||||
9
|
||||
|
@ -11,6 +11,7 @@ END
|
|||
|
||||
#lang typed/racket
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(apply + (map add1 (list 1 2 3)))
|
||||
(apply * (map add1 (list 1 2 3)))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: begin-float.rkt 15:7 (- 2.0 3.0) -- binary float
|
||||
TR opt: begin-float.rkt 16:7 (* 2.0 3.0) -- binary float
|
||||
TR opt: begin-float.rkt 2:7 (- 2.0 3.0) -- binary float
|
||||
TR opt: begin-float.rkt 3:7 (* 2.0 3.0) -- binary float
|
||||
END
|
||||
#<<END
|
||||
-1.0
|
||||
|
@ -11,6 +11,7 @@ END
|
|||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(begin (- 2.0 3.0)
|
||||
(* 2.0 3.0))
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: binary-fixnum.rkt 13:15 (vector-length v) -- vector-length
|
||||
TR opt: binary-fixnum.rkt 13:2 (bitwise-and (vector-length v) 1) -- binary fixnum
|
||||
TR opt: binary-fixnum.rkt 4:15 (vector-length v) -- vector-length
|
||||
TR opt: binary-fixnum.rkt 4:2 (bitwise-and (vector-length v) 1) -- binary fixnum
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(: f (All (X) ((Vectorof X) -> Natural)))
|
||||
(define (f v)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: binary-nonzero-fixnum.rkt 14:0 (modulo (vector-length (quote #(1 2 3))) 2) -- binary nonzero fixnum
|
||||
TR opt: binary-nonzero-fixnum.rkt 14:8 (vector-length (quote #(1 2 3))) -- known-length vector-length
|
||||
TR opt: binary-nonzero-fixnum.rkt 2:0 (modulo (vector-length (quote #(1 2 3))) 2) -- binary nonzero fixnum
|
||||
TR opt: binary-nonzero-fixnum.rkt 2:8 (vector-length (quote #(1 2 3))) -- known-length vector-length
|
||||
END
|
||||
#<<END
|
||||
1
|
||||
|
@ -10,5 +10,6 @@ END
|
|||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(modulo (vector-length '#(1 2 3)) 2)
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: bounds-check.rkt 46:1 displayln -- hidden parameter
|
||||
TR info: bounds-check.rkt 48:1 displayln -- hidden parameter
|
||||
TR info: bounds-check.rkt 50:1 displayln -- hidden parameter
|
||||
TR info: bounds-check.rkt 67:1 displayln -- hidden parameter
|
||||
TR info: bounds-check.rkt 69:1 displayln -- hidden parameter
|
||||
TR info: bounds-check.rkt 71:1 displayln -- hidden parameter
|
||||
TR opt: bounds-check.rkt 34:2 (vector-ref v i) -- vector partial bounds checking elimination
|
||||
TR opt: bounds-check.rkt 37:2 (vector-set! v i n) -- vector partial bounds checking elimination
|
||||
TR opt: bounds-check.rkt 40:2 (vector-ref v i) -- vector partial bounds checking elimination
|
||||
TR opt: bounds-check.rkt 43:2 (vector-set! v i n) -- vector partial bounds checking elimination
|
||||
TR opt: bounds-check.rkt 55:2 (flvector-ref v i) -- flvector partial bounds checking elimination
|
||||
TR opt: bounds-check.rkt 58:2 (flvector-set! v i n) -- flvector partial bounds checking elimination
|
||||
TR opt: bounds-check.rkt 61:2 (flvector-ref v i) -- flvector partial bounds checking elimination
|
||||
TR opt: bounds-check.rkt 64:2 (flvector-set! v i n) -- flvector partial bounds checking elimination
|
||||
TR info: bounds-check.rkt 18:1 displayln -- hidden parameter
|
||||
TR info: bounds-check.rkt 20:1 displayln -- hidden parameter
|
||||
TR info: bounds-check.rkt 22:1 displayln -- hidden parameter
|
||||
TR info: bounds-check.rkt 39:1 displayln -- hidden parameter
|
||||
TR info: bounds-check.rkt 41:1 displayln -- hidden parameter
|
||||
TR info: bounds-check.rkt 43:1 displayln -- hidden parameter
|
||||
TR opt: bounds-check.rkt 12:2 (vector-ref v i) -- vector partial bounds checking elimination
|
||||
TR opt: bounds-check.rkt 15:2 (vector-set! v i n) -- vector partial bounds checking elimination
|
||||
TR opt: bounds-check.rkt 27:2 (flvector-ref v i) -- flvector partial bounds checking elimination
|
||||
TR opt: bounds-check.rkt 30:2 (flvector-set! v i n) -- flvector partial bounds checking elimination
|
||||
TR opt: bounds-check.rkt 33:2 (flvector-ref v i) -- flvector partial bounds checking elimination
|
||||
TR opt: bounds-check.rkt 36:2 (flvector-set! v i n) -- flvector partial bounds checking elimination
|
||||
TR opt: bounds-check.rkt 6:2 (vector-ref v i) -- vector partial bounds checking elimination
|
||||
TR opt: bounds-check.rkt 9:2 (vector-set! v i n) -- vector partial bounds checking elimination
|
||||
END
|
||||
#<<END
|
||||
3
|
||||
|
@ -26,6 +26,7 @@ END
|
|||
END
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(require racket/flonum)
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: box.rkt 20:0 (unbox x) -- box
|
||||
TR opt: box.rkt 21:0 (set-box! x 2) -- box
|
||||
TR opt: box.rkt 22:0 (unbox x) -- box
|
||||
TR opt: box.rkt 4:0 (unbox x) -- box
|
||||
TR opt: box.rkt 5:0 (set-box! x 2) -- box
|
||||
TR opt: box.rkt 6:0 (unbox x) -- box
|
||||
END
|
||||
#<<END
|
||||
1
|
||||
|
@ -12,8 +12,7 @@ END
|
|||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
|
||||
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(: x (Boxof Integer))
|
||||
(define x (box 1))
|
||||
|
|
|
@ -1,30 +1,17 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: case-arrow.rkt 42:12 (* (- max min) x) -- possible exact real arith
|
||||
TR info: case-arrow.rkt 42:15 (- max min) -- possible exact real arith
|
||||
TR info: case-arrow.rkt 42:2 (+ min (/ (* (- max min) x) p)) -- possible exact real arith
|
||||
TR info: case-arrow.rkt 42:9 (/ (* (- max min) x) p) -- possible exact real arith
|
||||
TR missed opt: case-arrow.rkt 42:12 (* (- max min) x) -- all args float-arg-expr, result not Float -- caused by: 42:15 (- max min), 42:27 x
|
||||
TR missed opt: case-arrow.rkt 42:15 (- max min) -- all args float-arg-expr, result not Float -- caused by: 42:18 max, 42:22 min
|
||||
TR missed opt: case-arrow.rkt 42:2 (+ min (/ (* (- max min) x) p)) -- all args float-arg-expr, result not Float -- caused by: 42:5 min, 42:9 (/ (* (- max min) x) p)
|
||||
TR missed opt: case-arrow.rkt 42:9 (/ (* (- max min) x) p) -- all args float-arg-expr, result not Float -- caused by: 42:12 (* (- max min) x), 42:30 p
|
||||
TR info: case-arrow.rkt 15:12 (* (- max min) x) -- possible exact real arith
|
||||
TR info: case-arrow.rkt 15:15 (- max min) -- possible exact real arith
|
||||
TR info: case-arrow.rkt 15:2 (+ min (/ (* (- max min) x) p)) -- possible exact real arith
|
||||
TR info: case-arrow.rkt 15:9 (/ (* (- max min) x) p) -- possible exact real arith
|
||||
TR missed opt: case-arrow.rkt 15:12 (* (- max min) x) -- all args float-arg-expr, result not Float -- caused by: 15:15 (- max min), 15:27 x
|
||||
TR missed opt: case-arrow.rkt 15:15 (- max min) -- all args float-arg-expr, result not Float -- caused by: 15:18 max, 15:22 min
|
||||
TR missed opt: case-arrow.rkt 15:2 (+ min (/ (* (- max min) x) p)) -- all args float-arg-expr, result not Float -- caused by: 15:5 min, 15:9 (/ (* (- max min) x) p)
|
||||
TR missed opt: case-arrow.rkt 15:9 (/ (* (- max min) x) p) -- all args float-arg-expr, result not Float -- caused by: 15:12 (* (- max min) x), 15:30 p
|
||||
END
|
||||
""
|
||||
#lang typed/racket
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
;; Typechecking functions with case-> types causes the body to be typechecked
|
||||
;; multiple times, which is fine, except that it used to cause the type table
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: case-lambda-dead-branch.rkt 13:5 (x y) -- dead case-lambda branch
|
||||
TR opt: case-lambda-dead-branch.rkt 19:5 (x y) -- dead case-lambda branch
|
||||
TR opt: case-lambda-dead-branch.rkt 12:5 (x y) -- dead case-lambda branch
|
||||
TR opt: case-lambda-dead-branch.rkt 6:5 (x y) -- dead case-lambda branch
|
||||
END
|
||||
""
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(: f (case-> (Symbol Symbol -> String)))
|
||||
(define f
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR missed opt: complex-exp.rkt 16:3 (exp 0) -- non-complex value in complex arithmetic
|
||||
TR opt: complex-exp.rkt 16:0 (- (exp 0) 1.0+2.0i) -- unboxed binary float complex
|
||||
TR opt: complex-exp.rkt 16:11 1.0+2.0i -- unboxed literal
|
||||
TR opt: complex-exp.rkt 16:3 (exp 0) -- non float complex in complex ops
|
||||
TR opt: complex-exp.rkt 16:8 0 -- non float complex in complex ops
|
||||
TR missed opt: complex-exp.rkt 2:3 (exp 0) -- non-complex value in complex arithmetic
|
||||
TR opt: complex-exp.rkt 2:0 (- (exp 0) 1.0+2.0i) -- unboxed binary float complex
|
||||
TR opt: complex-exp.rkt 2:11 1.0+2.0i -- unboxed literal
|
||||
TR opt: complex-exp.rkt 2:3 (exp 0) -- non float complex in complex ops
|
||||
TR opt: complex-exp.rkt 2:8 0 -- non float complex in complex ops
|
||||
END
|
||||
#<<END
|
||||
0.0-2.0i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(- (exp 0) 1.0+2.0i)
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
#<<END
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/scheme #:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
;; will be imported by cross-module-struct2
|
||||
(provide (struct-out x))
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: cross-module-struct2.rkt 14:0 (x-x a) -- struct ref
|
||||
TR opt: cross-module-struct2.rkt 4:0 (x-x a) -- struct ref
|
||||
END
|
||||
#<<END
|
||||
1
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme #:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(require (file "cross-module-struct.rkt"))
|
||||
(define a (make-x 1))
|
||||
|
|
|
@ -1,15 +1,16 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: dead-else.rkt 13:1 display -- hidden parameter
|
||||
TR info: dead-else.rkt 16:1 display -- hidden parameter
|
||||
TR opt: dead-else.rkt 14:13 (+ 2.0 3.0) -- binary float
|
||||
TR opt: dead-else.rkt 15:13 (+ 4.0 5.0) -- dead else branch
|
||||
TR opt: dead-else.rkt 17:13 (+ 2.0 3.0) -- binary float
|
||||
TR opt: dead-else.rkt 18:13 (+ 4.0 5.0) -- dead else branch
|
||||
TR info: dead-else.rkt 1:1 display -- hidden parameter
|
||||
TR info: dead-else.rkt 4:1 display -- hidden parameter
|
||||
TR opt: dead-else.rkt 2:13 (+ 2.0 3.0) -- binary float
|
||||
TR opt: dead-else.rkt 3:13 (+ 4.0 5.0) -- dead else branch
|
||||
TR opt: dead-else.rkt 5:13 (+ 2.0 3.0) -- binary float
|
||||
TR opt: dead-else.rkt 6:13 (+ 4.0 5.0) -- dead else branch
|
||||
END
|
||||
"5.05.0"
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(display (if (number? 3)
|
||||
(+ 2.0 3.0)
|
||||
(+ 4.0 5.0)))
|
||||
|
|
|
@ -1,83 +1,83 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: dead-inf-comp.rkt 177:4 (< rat +inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 180:4 (< +inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 183:4 (< rat -inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 186:4 (< -inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 190:4 (> +inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 193:4 (> rat +inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 196:4 (> -inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 199:4 (> rat -inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 203:4 (<= rat +inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 206:4 (<= +inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 209:4 (<= rat -inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 212:4 (<= -inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 216:4 (>= +inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 219:4 (>= rat +inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 222:4 (>= -inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 225:4 (>= rat -inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 230:41 displayln -- hidden parameter
|
||||
TR info: dead-inf-comp.rkt 230:41 displayln -- hidden parameter
|
||||
TR missed opt: dead-inf-comp.rkt 124:4 (< rat +inf.0) -- generic comparison -- caused by: 124:7 rat
|
||||
TR missed opt: dead-inf-comp.rkt 127:4 (< +inf.0 rat) -- generic comparison -- caused by: 127:14 rat
|
||||
TR missed opt: dead-inf-comp.rkt 130:4 (< rat -inf.0) -- generic comparison -- caused by: 130:7 rat
|
||||
TR missed opt: dead-inf-comp.rkt 133:4 (< -inf.0 rat) -- generic comparison -- caused by: 133:14 rat
|
||||
TR missed opt: dead-inf-comp.rkt 137:4 (> +inf.0 rat) -- generic comparison -- caused by: 137:14 rat
|
||||
TR missed opt: dead-inf-comp.rkt 140:4 (> rat +inf.0) -- generic comparison -- caused by: 140:7 rat
|
||||
TR missed opt: dead-inf-comp.rkt 143:4 (> -inf.0 rat) -- generic comparison -- caused by: 143:14 rat
|
||||
TR missed opt: dead-inf-comp.rkt 146:4 (> rat -inf.0) -- generic comparison -- caused by: 146:7 rat
|
||||
TR missed opt: dead-inf-comp.rkt 150:4 (<= rat +inf.0) -- generic comparison -- caused by: 150:8 rat
|
||||
TR missed opt: dead-inf-comp.rkt 153:4 (<= +inf.0 rat) -- generic comparison -- caused by: 153:15 rat
|
||||
TR missed opt: dead-inf-comp.rkt 156:4 (<= rat -inf.0) -- generic comparison -- caused by: 156:8 rat
|
||||
TR missed opt: dead-inf-comp.rkt 159:4 (<= -inf.0 rat) -- generic comparison -- caused by: 159:15 rat
|
||||
TR missed opt: dead-inf-comp.rkt 163:4 (>= +inf.0 rat) -- generic comparison -- caused by: 163:15 rat
|
||||
TR missed opt: dead-inf-comp.rkt 166:4 (>= rat +inf.0) -- generic comparison -- caused by: 166:8 rat
|
||||
TR missed opt: dead-inf-comp.rkt 169:4 (>= -inf.0 rat) -- generic comparison -- caused by: 169:15 rat
|
||||
TR missed opt: dead-inf-comp.rkt 172:4 (>= rat -inf.0) -- generic comparison -- caused by: 172:8 rat
|
||||
TR missed opt: dead-inf-comp.rkt 230:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- generic comparison -- caused by: 230:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i))
|
||||
TR missed opt: dead-inf-comp.rkt 230:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- generic comparison -- caused by: 230:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i))
|
||||
TR opt: dead-inf-comp.rkt 126:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 128:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 131:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 135:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 139:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 141:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 144:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 148:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 152:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 154:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 157:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 161:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 165:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 167:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 170:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 174:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 179:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 181:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 184:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 188:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 192:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 194:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 197:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 201:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 205:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 207:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 210:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 214:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 218:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 220:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 223:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 227:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 230:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 230:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 230:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 230:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 230:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 230:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 230:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 230:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 230:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 230:36 3 -- in-range
|
||||
TR info: dead-inf-comp.rkt 102:4 (>= -inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 105:4 (>= rat -inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 110:41 displayln -- hidden parameter
|
||||
TR info: dead-inf-comp.rkt 110:41 displayln -- hidden parameter
|
||||
TR info: dead-inf-comp.rkt 57:4 (< rat +inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 60:4 (< +inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 63:4 (< rat -inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 66:4 (< -inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 70:4 (> +inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 73:4 (> rat +inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 76:4 (> -inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 79:4 (> rat -inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 83:4 (<= rat +inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 86:4 (<= +inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 89:4 (<= rat -inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 92:4 (<= -inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 96:4 (>= +inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 99:4 (>= rat +inf.f) -- possible exact real arith
|
||||
TR missed opt: dead-inf-comp.rkt 10:4 (< rat -inf.0) -- generic comparison -- caused by: 10:7 rat
|
||||
TR missed opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- generic comparison -- caused by: 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i))
|
||||
TR missed opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- generic comparison -- caused by: 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i))
|
||||
TR missed opt: dead-inf-comp.rkt 13:4 (< -inf.0 rat) -- generic comparison -- caused by: 13:14 rat
|
||||
TR missed opt: dead-inf-comp.rkt 17:4 (> +inf.0 rat) -- generic comparison -- caused by: 17:14 rat
|
||||
TR missed opt: dead-inf-comp.rkt 20:4 (> rat +inf.0) -- generic comparison -- caused by: 20:7 rat
|
||||
TR missed opt: dead-inf-comp.rkt 23:4 (> -inf.0 rat) -- generic comparison -- caused by: 23:14 rat
|
||||
TR missed opt: dead-inf-comp.rkt 26:4 (> rat -inf.0) -- generic comparison -- caused by: 26:7 rat
|
||||
TR missed opt: dead-inf-comp.rkt 30:4 (<= rat +inf.0) -- generic comparison -- caused by: 30:8 rat
|
||||
TR missed opt: dead-inf-comp.rkt 33:4 (<= +inf.0 rat) -- generic comparison -- caused by: 33:15 rat
|
||||
TR missed opt: dead-inf-comp.rkt 36:4 (<= rat -inf.0) -- generic comparison -- caused by: 36:8 rat
|
||||
TR missed opt: dead-inf-comp.rkt 39:4 (<= -inf.0 rat) -- generic comparison -- caused by: 39:15 rat
|
||||
TR missed opt: dead-inf-comp.rkt 43:4 (>= +inf.0 rat) -- generic comparison -- caused by: 43:15 rat
|
||||
TR missed opt: dead-inf-comp.rkt 46:4 (>= rat +inf.0) -- generic comparison -- caused by: 46:8 rat
|
||||
TR missed opt: dead-inf-comp.rkt 49:4 (>= -inf.0 rat) -- generic comparison -- caused by: 49:15 rat
|
||||
TR missed opt: dead-inf-comp.rkt 4:4 (< rat +inf.0) -- generic comparison -- caused by: 4:7 rat
|
||||
TR missed opt: dead-inf-comp.rkt 52:4 (>= rat -inf.0) -- generic comparison -- caused by: 52:8 rat
|
||||
TR missed opt: dead-inf-comp.rkt 7:4 (< +inf.0 rat) -- generic comparison -- caused by: 7:14 rat
|
||||
TR opt: dead-inf-comp.rkt 100:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 103:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 107:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:36 3 -- in-range
|
||||
TR opt: dead-inf-comp.rkt 11:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 15:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 19:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 21:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 24:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 28:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 32:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 34:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 37:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 41:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 45:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 47:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 50:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 54:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 59:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 61:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 64:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 68:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 6:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 72:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 74:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 77:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 81:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 85:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 87:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 8:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 90:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 94:4 (quote dead) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 98:4 (quote dead) -- dead else branch
|
||||
END
|
||||
#<<END
|
||||
'live
|
||||
|
@ -118,6 +118,7 @@ END
|
|||
|
||||
END
|
||||
#lang typed/racket/base
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(define: rat : Exact-Rational 2/3)
|
||||
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: dead-substructs.rkt 28:4 make-child1 -- struct constructor
|
||||
TR info: dead-substructs.rkt 29:4 make-child2 -- struct constructor
|
||||
TR info: dead-substructs.rkt 15:4 make-child1 -- struct constructor
|
||||
TR info: dead-substructs.rkt 16:4 make-child2 -- struct constructor
|
||||
END
|
||||
#<<END
|
||||
1
|
||||
2
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
;; originally from nucleic3
|
||||
;; cond on substructs, branches were considered dead
|
||||
|
|
|
@ -1,15 +1,16 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: dead-then.rkt 13:1 display -- hidden parameter
|
||||
TR info: dead-then.rkt 16:1 display -- hidden parameter
|
||||
TR opt: dead-then.rkt 14:13 (+ 2.0 3.0) -- dead then branch
|
||||
TR opt: dead-then.rkt 15:13 (+ 4.0 5.0) -- binary float
|
||||
TR opt: dead-then.rkt 17:13 (+ 2.0 3.0) -- dead then branch
|
||||
TR opt: dead-then.rkt 18:13 (+ 4.0 5.0) -- binary float
|
||||
TR info: dead-then.rkt 1:1 display -- hidden parameter
|
||||
TR info: dead-then.rkt 4:1 display -- hidden parameter
|
||||
TR opt: dead-then.rkt 2:13 (+ 2.0 3.0) -- dead then branch
|
||||
TR opt: dead-then.rkt 3:13 (+ 4.0 5.0) -- binary float
|
||||
TR opt: dead-then.rkt 5:13 (+ 2.0 3.0) -- dead then branch
|
||||
TR opt: dead-then.rkt 6:13 (+ 4.0 5.0) -- binary float
|
||||
END
|
||||
"9.09.0"
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(display (if (number? "eh")
|
||||
(+ 2.0 3.0)
|
||||
(+ 4.0 5.0)))
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: define-begin-float.rkt 11:18 display -- hidden parameter
|
||||
TR opt: define-begin-float.rkt 11:26 (- 2.0 3.0) -- binary float
|
||||
TR opt: define-begin-float.rkt 12:17 (* 2.0 3.0) -- binary float
|
||||
TR info: define-begin-float.rkt 1:18 display -- hidden parameter
|
||||
TR opt: define-begin-float.rkt 1:26 (- 2.0 3.0) -- binary float
|
||||
TR opt: define-begin-float.rkt 2:17 (* 2.0 3.0) -- binary float
|
||||
END
|
||||
"-1.0"
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(define a (begin (display (- 2.0 3.0))
|
||||
(* 2.0 3.0)))
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: define-call-float.rkt 10:16 (+ 1.0 2.0) -- binary float
|
||||
TR opt: define-call-float.rkt 2:16 (+ 1.0 2.0) -- binary float
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(define x (cons (+ 1.0 2.0) 3.0))
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: define-float.rkt 10:10 (+ 1.0 2.0) -- binary float
|
||||
TR opt: define-float.rkt 2:10 (+ 1.0 2.0) -- binary float
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(define x (+ 1.0 2.0))
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: define-pair.rkt 10:10 (car (quote (1 3))) -- pair
|
||||
TR opt: define-pair.rkt 2:10 (car (quote (1 3))) -- pair
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(define x (car '(1 3)))
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: derived-pair.rkt 22:0 (caar (cons (cons 1 2) 3)) -- pair
|
||||
TR opt: derived-pair.rkt 22:0 (caar (cons (cons 1 2) 3)) -- pair
|
||||
TR opt: derived-pair.rkt 23:0 (cadr (cons 1 (cons 2 3))) -- pair
|
||||
TR opt: derived-pair.rkt 23:0 (cadr (cons 1 (cons 2 3))) -- pair
|
||||
TR opt: derived-pair.rkt 24:0 (cdar (cons (cons 1 2) 3)) -- pair
|
||||
TR opt: derived-pair.rkt 24:0 (cdar (cons (cons 1 2) 3)) -- pair
|
||||
TR opt: derived-pair.rkt 25:0 (cddr (cons 1 (cons 2 3))) -- pair
|
||||
TR opt: derived-pair.rkt 25:0 (cddr (cons 1 (cons 2 3))) -- pair
|
||||
TR opt: derived-pair.rkt 2:0 (caar (cons (cons 1 2) 3)) -- pair
|
||||
TR opt: derived-pair.rkt 2:0 (caar (cons (cons 1 2) 3)) -- pair
|
||||
TR opt: derived-pair.rkt 3:0 (cadr (cons 1 (cons 2 3))) -- pair
|
||||
TR opt: derived-pair.rkt 3:0 (cadr (cons 1 (cons 2 3))) -- pair
|
||||
TR opt: derived-pair.rkt 4:0 (cdar (cons (cons 1 2) 3)) -- pair
|
||||
TR opt: derived-pair.rkt 4:0 (cdar (cons (cons 1 2) 3)) -- pair
|
||||
TR opt: derived-pair.rkt 5:0 (cddr (cons 1 (cons 2 3))) -- pair
|
||||
TR opt: derived-pair.rkt 5:0 (cddr (cons 1 (cons 2 3))) -- pair
|
||||
END
|
||||
#<<END
|
||||
1
|
||||
|
@ -16,8 +16,8 @@ END
|
|||
3
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket #:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(caar (cons (cons 1 2) 3))
|
||||
(cadr (cons 1 (cons 2 3)))
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: derived-pair2.rkt 42:0 (caaar (cons (cons (cons 1 2) 3) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 42:0 (caaar (cons (cons (cons 1 2) 3) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 42:0 (caaar (cons (cons (cons 1 2) 3) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 43:0 (caadr (cons 1 (cons (cons 2 3) 4))) -- pair
|
||||
TR opt: derived-pair2.rkt 43:0 (caadr (cons 1 (cons (cons 2 3) 4))) -- pair
|
||||
TR opt: derived-pair2.rkt 43:0 (caadr (cons 1 (cons (cons 2 3) 4))) -- pair
|
||||
TR opt: derived-pair2.rkt 44:0 (cadar (cons (cons 1 (cons 2 3)) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 44:0 (cadar (cons (cons 1 (cons 2 3)) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 44:0 (cadar (cons (cons 1 (cons 2 3)) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 45:0 (caddr (cons 1 (cons 2 (cons 3 4)))) -- pair
|
||||
TR opt: derived-pair2.rkt 45:0 (caddr (cons 1 (cons 2 (cons 3 4)))) -- pair
|
||||
TR opt: derived-pair2.rkt 45:0 (caddr (cons 1 (cons 2 (cons 3 4)))) -- pair
|
||||
TR opt: derived-pair2.rkt 46:0 (cdaar (cons (cons (cons 1 2) 3) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 46:0 (cdaar (cons (cons (cons 1 2) 3) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 46:0 (cdaar (cons (cons (cons 1 2) 3) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 47:0 (cdadr (cons 1 (cons (cons 2 3) 4))) -- pair
|
||||
TR opt: derived-pair2.rkt 47:0 (cdadr (cons 1 (cons (cons 2 3) 4))) -- pair
|
||||
TR opt: derived-pair2.rkt 47:0 (cdadr (cons 1 (cons (cons 2 3) 4))) -- pair
|
||||
TR opt: derived-pair2.rkt 48:0 (cddar (cons (cons 1 (cons 2 3)) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 48:0 (cddar (cons (cons 1 (cons 2 3)) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 48:0 (cddar (cons (cons 1 (cons 2 3)) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 49:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- pair
|
||||
TR opt: derived-pair2.rkt 49:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- pair
|
||||
TR opt: derived-pair2.rkt 49:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- pair
|
||||
TR opt: derived-pair2.rkt 2:0 (caaar (cons (cons (cons 1 2) 3) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 2:0 (caaar (cons (cons (cons 1 2) 3) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 2:0 (caaar (cons (cons (cons 1 2) 3) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 3:0 (caadr (cons 1 (cons (cons 2 3) 4))) -- pair
|
||||
TR opt: derived-pair2.rkt 3:0 (caadr (cons 1 (cons (cons 2 3) 4))) -- pair
|
||||
TR opt: derived-pair2.rkt 3:0 (caadr (cons 1 (cons (cons 2 3) 4))) -- pair
|
||||
TR opt: derived-pair2.rkt 4:0 (cadar (cons (cons 1 (cons 2 3)) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 4:0 (cadar (cons (cons 1 (cons 2 3)) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 4:0 (cadar (cons (cons 1 (cons 2 3)) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 5:0 (caddr (cons 1 (cons 2 (cons 3 4)))) -- pair
|
||||
TR opt: derived-pair2.rkt 5:0 (caddr (cons 1 (cons 2 (cons 3 4)))) -- pair
|
||||
TR opt: derived-pair2.rkt 5:0 (caddr (cons 1 (cons 2 (cons 3 4)))) -- pair
|
||||
TR opt: derived-pair2.rkt 6:0 (cdaar (cons (cons (cons 1 2) 3) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 6:0 (cdaar (cons (cons (cons 1 2) 3) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 6:0 (cdaar (cons (cons (cons 1 2) 3) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 7:0 (cdadr (cons 1 (cons (cons 2 3) 4))) -- pair
|
||||
TR opt: derived-pair2.rkt 7:0 (cdadr (cons 1 (cons (cons 2 3) 4))) -- pair
|
||||
TR opt: derived-pair2.rkt 7:0 (cdadr (cons 1 (cons (cons 2 3) 4))) -- pair
|
||||
TR opt: derived-pair2.rkt 8:0 (cddar (cons (cons 1 (cons 2 3)) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 8:0 (cddar (cons (cons 1 (cons 2 3)) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 8:0 (cddar (cons (cons 1 (cons 2 3)) 4)) -- pair
|
||||
TR opt: derived-pair2.rkt 9:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- pair
|
||||
TR opt: derived-pair2.rkt 9:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- pair
|
||||
TR opt: derived-pair2.rkt 9:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- pair
|
||||
END
|
||||
#<<END
|
||||
1
|
||||
|
@ -36,8 +36,8 @@ END
|
|||
4
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket #:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(caaar (cons (cons (cons 1 2) 3) 4))
|
||||
(caadr (cons 1 (cons (cons 2 3) 4)))
|
||||
|
|
|
@ -1,69 +1,69 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: derived-pair3.rkt 100:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 100:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 100:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 100:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 101:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 101:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 101:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 101:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 102:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 102:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 102:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 102:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 103:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 103:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 103:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 103:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 104:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 104:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 104:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 104:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 105:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 105:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 105:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 105:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 90:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 90:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 90:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 90:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 91:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 91:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 91:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 91:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 92:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 92:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 92:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 92:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 93:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 93:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 93:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 93:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 94:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 94:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 94:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 94:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 95:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 95:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 95:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 95:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 96:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 96:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 96:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 96:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 97:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 97:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 97:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 97:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 98:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 98:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 98:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 98:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 99:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 99:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 99:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 99:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 10:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 10:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 10:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 10:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 11:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 11:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 11:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 11:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 12:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 12:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 12:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 12:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 13:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 13:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 13:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 13:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 14:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 14:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 14:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 14:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 15:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 15:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 15:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 15:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 16:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 16:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 16:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 16:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 17:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 17:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 17:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 17:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 2:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 2:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 2:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 2:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 3:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 3:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 3:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 3:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 4:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 4:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 4:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 4:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 5:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 5:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 5:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 5:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
|
||||
TR opt: derived-pair3.rkt 6:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 6:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 6:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 6:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 7:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 7:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 7:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 7:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
|
||||
TR opt: derived-pair3.rkt 8:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 8:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 8:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 8:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
|
||||
TR opt: derived-pair3.rkt 9:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 9:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 9:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
TR opt: derived-pair3.rkt 9:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
|
||||
END
|
||||
#<<END
|
||||
1
|
||||
|
@ -84,8 +84,8 @@ END
|
|||
5
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket #:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(caaaar (cons (cons (cons (cons 1 2) 3) 4) 5))
|
||||
(caaadr (cons 1 (cons (cons (cons 2 3) 4) 5)))
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: different-langs.rkt 14:0 (/ 1 2) -- possible exact real arith
|
||||
TR info: different-langs.rkt 3:0 (/ 1 2) -- possible exact real arith
|
||||
END
|
||||
#<<END
|
||||
1/2
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
;; to see if the harness supports having the 2 versions of a test being
|
||||
;; written in different languages
|
||||
(/ 1 2)
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: double-float.rkt 13:0 (+ 2.0 2.0 2.0) -- binary float
|
||||
TR opt: double-float.rkt 2:0 (+ 2.0 2.0 2.0) -- binary float
|
||||
END
|
||||
#<<END
|
||||
6.0
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(+ 2.0 2.0 2.0)
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: drop-pure-pred.rkt 17:6 (list 2) -- dead else branch
|
||||
TR opt: drop-pure-pred.rkt 6:6 (list 2) -- dead else branch
|
||||
END
|
||||
#<<END
|
||||
'(1)
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(let ()
|
||||
(define x 7)
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: exact-inexact.rkt 25:0 (exact->inexact (expt 10 100)) -- int to float
|
||||
TR opt: exact-inexact.rkt 26:0 (round (exact->inexact (expt 2.3 3.2))) -- unary float
|
||||
TR opt: exact-inexact.rkt 26:7 (exact->inexact (expt 2.3 3.2)) -- float to float
|
||||
TR opt: exact-inexact.rkt 27:0 (real->double-flonum (expt 10 100)) -- int to float
|
||||
TR opt: exact-inexact.rkt 28:0 (round (real->double-flonum (expt 2.3 3.2))) -- unary float
|
||||
TR opt: exact-inexact.rkt 28:7 (real->double-flonum (expt 2.3 3.2)) -- float to float
|
||||
TR opt: exact-inexact.rkt 31:0 (exact->inexact (expt 1.0f0 2.0f0)) -- single-float to single-float
|
||||
TR opt: exact-inexact.rkt 32:0 (real->single-flonum (expt 1.0f0 2.0f0)) -- single-float to single-float
|
||||
TR opt: exact-inexact.rkt 2:0 (exact->inexact (expt 10 100)) -- int to float
|
||||
TR opt: exact-inexact.rkt 3:0 (round (exact->inexact (expt 2.3 3.2))) -- unary float
|
||||
TR opt: exact-inexact.rkt 3:7 (exact->inexact (expt 2.3 3.2)) -- float to float
|
||||
TR opt: exact-inexact.rkt 4:0 (real->double-flonum (expt 10 100)) -- int to float
|
||||
TR opt: exact-inexact.rkt 5:0 (round (real->double-flonum (expt 2.3 3.2))) -- unary float
|
||||
TR opt: exact-inexact.rkt 5:7 (real->double-flonum (expt 2.3 3.2)) -- float to float
|
||||
TR opt: exact-inexact.rkt 8:0 (exact->inexact (expt 1.0f0 2.0f0)) -- single-float to single-float
|
||||
TR opt: exact-inexact.rkt 9:0 (real->single-flonum (expt 1.0f0 2.0f0)) -- single-float to single-float
|
||||
END
|
||||
#<<END
|
||||
1e+100
|
||||
|
@ -18,9 +18,9 @@ END
|
|||
1.0f0
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(exact->inexact (expt 10 100)) ; must not be a fixnum
|
||||
(round (exact->inexact (expt 2.3 3.2))) ; already a float
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: expt.rkt 15:2 (real-part (expt (sin 0.25) 1.0)) -- possible exact real arith
|
||||
TR missed opt: expt.rkt 15:13 (expt (sin 0.25) 1.0) -- unexpected complex type
|
||||
TR opt: expt.rkt 15:19 (sin 0.25) -- unary float
|
||||
TR info: expt.rkt 6:2 (real-part (expt (sin 0.25) 1.0)) -- possible exact real arith
|
||||
TR missed opt: expt.rkt 6:13 (expt (sin 0.25) 1.0) -- unexpected complex type
|
||||
TR opt: expt.rkt 6:19 (sin 0.25) -- unary float
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
;; PR 12526
|
||||
;; result of expt was Float-Complex, and shouldn't have been
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: false-huh-dead-code.rkt 13:16 1 -- dead then branch
|
||||
TR opt: false-huh-dead-code.rkt 14:13 1 -- dead then branch
|
||||
TR opt: false-huh-dead-code.rkt 1:16 1 -- dead then branch
|
||||
TR opt: false-huh-dead-code.rkt 2:13 1 -- dead then branch
|
||||
END
|
||||
#<<END
|
||||
2
|
||||
2
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(if (false? #t) 1 2)
|
||||
(if (not #t) 1 2)
|
||||
|
|
|
@ -1,34 +1,34 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: fixnum-bounded-expr.rkt 101:0 (fx- (ann 3 Fixnum) (ann 4 Fixnum)) -- non-optimized fixnum op
|
||||
TR info: fixnum-bounded-expr.rkt 104:0 (fx* 300 300) -- non-optimized fixnum op
|
||||
TR info: fixnum-bounded-expr.rkt 107:0 (fxquotient -4 -5) -- non-optimized fixnum op
|
||||
TR info: fixnum-bounded-expr.rkt 98:0 (fx+ (+ 300 301) (+ 301 302)) -- non-optimized fixnum op
|
||||
TR missed opt: fixnum-bounded-expr.rkt 89:2 (+ x y) -- out of fixnum range
|
||||
TR opt: fixnum-bounded-expr.rkt 100:0 (fx- (+ 300 301) (+ 301 302)) -- fixnum fx-
|
||||
TR opt: fixnum-bounded-expr.rkt 100:17 (+ 301 302) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 100:5 (+ 300 301) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 103:0 (fx* 4 5) -- fixnum fx*
|
||||
TR opt: fixnum-bounded-expr.rkt 106:0 (fxquotient (ann 34 Nonnegative-Fixnum) (ann -4 Negative-Fixnum)) -- fixnum fxquotient
|
||||
TR opt: fixnum-bounded-expr.rkt 109:0 (fxabs (ann 64235 Nonnegative-Fixnum)) -- fixnum fxabs
|
||||
TR opt: fixnum-bounded-expr.rkt 70:2 (+ x (sqr y)) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 76:2 (- x (* y y)) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 76:7 (* y y) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 83:2 (+ x y) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 86:2 (+ x y) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 91:0 (abs 45) -- fixnum fxabs
|
||||
TR opt: fixnum-bounded-expr.rkt 94:0 (fx+ 5 2) -- fixnum fx+
|
||||
TR opt: fixnum-bounded-expr.rkt 95:0 (fx+ (+ 34 231) (* 24 25)) -- fixnum fx+
|
||||
TR opt: fixnum-bounded-expr.rkt 95:16 (* 24 25) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 95:5 (+ 34 231) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 96:0 (fx+ (+ (+ 34 231) 23) -4) -- fixnum fx+
|
||||
TR opt: fixnum-bounded-expr.rkt 96:5 (+ (+ 34 231) 23) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 96:8 (+ 34 231) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 97:0 (fx+ -4 (+ (+ 34 231) 23)) -- fixnum fx+
|
||||
TR opt: fixnum-bounded-expr.rkt 97:11 (+ 34 231) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 97:8 (+ (+ 34 231) 23) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 98:17 (+ 301 302) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 98:5 (+ 300 301) -- fixnum bounded expr
|
||||
TR info: fixnum-bounded-expr.rkt 34:0 (fx+ (+ 300 301) (+ 301 302)) -- non-optimized fixnum op
|
||||
TR info: fixnum-bounded-expr.rkt 37:0 (fx- (ann 3 Fixnum) (ann 4 Fixnum)) -- non-optimized fixnum op
|
||||
TR info: fixnum-bounded-expr.rkt 40:0 (fx* 300 300) -- non-optimized fixnum op
|
||||
TR info: fixnum-bounded-expr.rkt 43:0 (fxquotient -4 -5) -- non-optimized fixnum op
|
||||
TR missed opt: fixnum-bounded-expr.rkt 25:2 (+ x y) -- out of fixnum range
|
||||
TR opt: fixnum-bounded-expr.rkt 12:2 (- x (* y y)) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 12:7 (* y y) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 19:2 (+ x y) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 22:2 (+ x y) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 27:0 (abs 45) -- fixnum fxabs
|
||||
TR opt: fixnum-bounded-expr.rkt 30:0 (fx+ 5 2) -- fixnum fx+
|
||||
TR opt: fixnum-bounded-expr.rkt 31:0 (fx+ (+ 34 231) (* 24 25)) -- fixnum fx+
|
||||
TR opt: fixnum-bounded-expr.rkt 31:16 (* 24 25) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 31:5 (+ 34 231) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 32:0 (fx+ (+ (+ 34 231) 23) -4) -- fixnum fx+
|
||||
TR opt: fixnum-bounded-expr.rkt 32:5 (+ (+ 34 231) 23) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 32:8 (+ 34 231) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 33:0 (fx+ -4 (+ (+ 34 231) 23)) -- fixnum fx+
|
||||
TR opt: fixnum-bounded-expr.rkt 33:11 (+ 34 231) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 33:8 (+ (+ 34 231) 23) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 34:17 (+ 301 302) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 34:5 (+ 300 301) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 36:0 (fx- (+ 300 301) (+ 301 302)) -- fixnum fx-
|
||||
TR opt: fixnum-bounded-expr.rkt 36:17 (+ 301 302) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 36:5 (+ 300 301) -- fixnum bounded expr
|
||||
TR opt: fixnum-bounded-expr.rkt 39:0 (fx* 4 5) -- fixnum fx*
|
||||
TR opt: fixnum-bounded-expr.rkt 42:0 (fxquotient (ann 34 Nonnegative-Fixnum) (ann -4 Negative-Fixnum)) -- fixnum fxquotient
|
||||
TR opt: fixnum-bounded-expr.rkt 45:0 (fxabs (ann 64235 Nonnegative-Fixnum)) -- fixnum fxabs
|
||||
TR opt: fixnum-bounded-expr.rkt 6:2 (+ x (sqr y)) -- fixnum bounded expr
|
||||
END
|
||||
#<<END
|
||||
28
|
||||
|
@ -55,16 +55,12 @@ END
|
|||
4
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
||||
#lang typed/racket
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(require racket/fixnum)
|
||||
|
||||
|
||||
|
||||
(: f : Index Byte -> Nonnegative-Fixnum)
|
||||
(define (f x y)
|
||||
(+ x (sqr y)))
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: fixnum-comparison.rkt 15:0 (< (vector-length (quote #(1 2 3))) (string-length "asdf")) -- binary fixnum comp
|
||||
TR opt: fixnum-comparison.rkt 15:29 (string-length "asdf") -- string-length
|
||||
TR opt: fixnum-comparison.rkt 15:3 (vector-length (quote #(1 2 3))) -- known-length vector-length
|
||||
TR opt: fixnum-comparison.rkt 2:0 (< (vector-length (quote #(1 2 3))) (string-length "asdf")) -- binary fixnum comp
|
||||
TR opt: fixnum-comparison.rkt 2:29 (string-length "asdf") -- string-length
|
||||
TR opt: fixnum-comparison.rkt 2:3 (vector-length (quote #(1 2 3))) -- known-length vector-length
|
||||
END
|
||||
#<<END
|
||||
#t
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(< (vector-length '#(1 2 3)) (string-length "asdf"))
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-comp.rkt 13:0 (< 1.0 2.0) -- binary float comp
|
||||
TR opt: float-comp.rkt 2:0 (< 1.0 2.0) -- binary float comp
|
||||
END
|
||||
#<<END
|
||||
#t
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(< 1.0 2.0)
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-conjugate-top.rkt 16:0 (conjugate (+ 1.0+2.0i 2.0+4.0i)) -- unboxed unary float complex
|
||||
TR opt: float-complex-conjugate-top.rkt 16:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-conjugate-top.rkt 16:14 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-conjugate-top.rkt 16:23 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-conjugate-top.rkt 2:0 (conjugate (+ 1.0+2.0i 2.0+4.0i)) -- unboxed unary float complex
|
||||
TR opt: float-complex-conjugate-top.rkt 2:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-conjugate-top.rkt 2:14 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-conjugate-top.rkt 2:23 2.0+4.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
3.0-6.0i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(conjugate (+ 1.0+2.0i 2.0+4.0i))
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-conjugate.rkt 20:0 (+ (conjugate 1.0+2.0i) (conjugate 2.0+4.0i)) -- unboxed binary float complex
|
||||
TR opt: float-complex-conjugate.rkt 20:14 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-conjugate.rkt 20:24 (conjugate 2.0+4.0i) -- unboxed unary float complex
|
||||
TR opt: float-complex-conjugate.rkt 20:3 (conjugate 1.0+2.0i) -- unboxed unary float complex
|
||||
TR opt: float-complex-conjugate.rkt 20:35 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-conjugate.rkt 21:0 (conjugate 1.0+0.0i) -- unboxed unary float complex
|
||||
TR opt: float-complex-conjugate.rkt 21:11 1.0+0.0i -- unboxed literal
|
||||
TR opt: float-complex-conjugate.rkt 2:0 (+ (conjugate 1.0+2.0i) (conjugate 2.0+4.0i)) -- unboxed binary float complex
|
||||
TR opt: float-complex-conjugate.rkt 2:14 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-conjugate.rkt 2:24 (conjugate 2.0+4.0i) -- unboxed unary float complex
|
||||
TR opt: float-complex-conjugate.rkt 2:3 (conjugate 1.0+2.0i) -- unboxed unary float complex
|
||||
TR opt: float-complex-conjugate.rkt 2:35 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-conjugate.rkt 3:0 (conjugate 1.0+0.0i) -- unboxed unary float complex
|
||||
TR opt: float-complex-conjugate.rkt 3:11 1.0+0.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
3.0-6.0i
|
||||
1.0-0.0i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(+ (conjugate 1.0+2.0i) (conjugate 2.0+4.0i))
|
||||
(conjugate 1.0+0.0i)
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-div.rkt 16:0 (/ 1.0+2.0i 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-div.rkt 16:12 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-div.rkt 16:21 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-div.rkt 16:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-div.rkt 2:0 (/ 1.0+2.0i 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-div.rkt 2:12 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-div.rkt 2:21 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-div.rkt 2:3 1.0+2.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
0.03333333333333333-0.06666666666666667i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(/ 1.0+2.0i 2.0+4.0i 3.0+6.0i)
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-fixnum.rkt 17:0 (+ (modulo 2 1) 1.0+2.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-fixnum.rkt 17:16 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-fixnum.rkt 17:25 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-fixnum.rkt 17:3 (modulo 2 1) -- binary nonzero fixnum
|
||||
TR opt: float-complex-fixnum.rkt 17:3 (modulo 2 1) -- non float complex in complex ops
|
||||
TR opt: float-complex-fixnum.rkt 2:0 (+ (modulo 2 1) 1.0+2.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-fixnum.rkt 2:16 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-fixnum.rkt 2:25 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-fixnum.rkt 2:3 (modulo 2 1) -- binary nonzero fixnum
|
||||
TR opt: float-complex-fixnum.rkt 2:3 (modulo 2 1) -- non float complex in complex ops
|
||||
END
|
||||
#<<END
|
||||
4.0+8.0i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(+ (modulo 2 1) 1.0+2.0i 3.0+6.0i)
|
||||
|
|
|
@ -1,43 +1,43 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-float-div.rkt 43:51 (real-part x) -- complex accessor elimination
|
||||
TR opt: float-complex-float-div.rkt 43:62 x -- unbox float-complex
|
||||
TR opt: float-complex-float-div.rkt 44:51 (imag-part x) -- complex accessor elimination
|
||||
TR opt: float-complex-float-div.rkt 44:62 x -- unbox float-complex
|
||||
TR opt: float-complex-float-div.rkt 46:13 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 46:6 (/ 1.0 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-div.rkt 46:9 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 47:18 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 47:6 (/ 1.0+2.0i 2.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-div.rkt 47:9 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 48:13 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 48:22 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 48:6 (/ 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-div.rkt 48:9 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 49:18 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 49:22 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 49:6 (/ 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-div.rkt 49:9 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 50:18 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 50:27 3.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 50:6 (/ 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-div.rkt 50:9 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 51:18 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 51:22 3.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 51:6 (/ 1.0+2.0i 2.0 3.0) -- 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 52:13 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 52:17 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 52:6 (/ 1.0 2.0 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-div.rkt 52:9 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 10:18 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 10:27 3.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 10:6 (/ 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-div.rkt 10:9 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 11:18 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 11:22 3.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 11:6 (/ 1.0+2.0i 2.0 3.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-div.rkt 11:9 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 12:13 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 12:17 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 12:6 (/ 1.0 2.0 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-div.rkt 12:9 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 3:51 (real-part x) -- complex accessor elimination
|
||||
TR opt: float-complex-float-div.rkt 3:62 x -- unbox float-complex
|
||||
TR opt: float-complex-float-div.rkt 4:51 (imag-part x) -- complex accessor elimination
|
||||
TR opt: float-complex-float-div.rkt 4:62 x -- unbox float-complex
|
||||
TR opt: float-complex-float-div.rkt 6:13 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 6:6 (/ 1.0 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-div.rkt 6:9 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 7:18 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 7:6 (/ 1.0+2.0i 2.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-div.rkt 7:9 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 8:13 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 8:22 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 8:6 (/ 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-div.rkt 8:9 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 9:18 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-div.rkt 9:22 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float-div.rkt 9:6 (/ 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-div.rkt 9:9 1.0+2.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
'("0.1000000000-0.2000000000" "0.50000000001.0000000000" "-0.0200000000-0.0266666667" "0.16666666670.0000000000" "0.16666666670.0000000000" "0.16666666670.3333333333" "0.0333333333-0.0666666667")
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(map (lambda: ((x : Float-Complex))
|
||||
(string-append (real->decimal-string (real-part x) 10)
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-float-mul.rkt 39:0 (* 1.0 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-mul.rkt 39:3 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-mul.rkt 39:7 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 40:0 (* 1.0+2.0i 2.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-mul.rkt 40:12 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-mul.rkt 40:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 41:0 (* 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-mul.rkt 41:16 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 41:3 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-mul.rkt 41:7 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 42:0 (* 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-mul.rkt 42:12 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-mul.rkt 42:16 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 42:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 43:0 (* 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-mul.rkt 43:12 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 43:21 3.0 -- float in complex ops
|
||||
TR opt: float-complex-float-mul.rkt 43:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 44:0 (* 1.0+2.0i 2.0 3.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-mul.rkt 44:12 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-mul.rkt 44:16 3.0 -- float in complex ops
|
||||
TR opt: float-complex-float-mul.rkt 44:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 2:0 (* 1.0 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-mul.rkt 2:3 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-mul.rkt 2:7 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 3:0 (* 1.0+2.0i 2.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-mul.rkt 3:12 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-mul.rkt 3:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 4:0 (* 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-mul.rkt 4:16 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 4:3 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-mul.rkt 4:7 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 5:0 (* 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-mul.rkt 5:12 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-mul.rkt 5:16 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 5:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 6:0 (* 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-mul.rkt 6:12 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 6:21 3.0 -- float in complex ops
|
||||
TR opt: float-complex-float-mul.rkt 6:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-mul.rkt 7:0 (* 1.0+2.0i 2.0 3.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-mul.rkt 7:12 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-mul.rkt 7:16 3.0 -- float in complex ops
|
||||
TR opt: float-complex-float-mul.rkt 7:3 1.0+2.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
2.0+4.0i
|
||||
|
@ -32,9 +32,9 @@ END
|
|||
6.0+12.0i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(* 1.0 2.0+4.0i)
|
||||
(* 1.0+2.0i 2.0)
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-float-small.rkt 35:0 (+ 1.0+2.0i 3.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-small.rkt 35:12 3.0 -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 35:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-small.rkt 36:0 (+ 1.0 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-small.rkt 36:3 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 36:7 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-small.rkt 37:0 (- 1.0+2.0i 3.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-small.rkt 37:12 3.0 -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 37:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-small.rkt 38:0 (- 1.0 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-small.rkt 38:3 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 38:7 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-small.rkt 39:0 (+ 1.0+2.0i (+ 1.0 2.0)) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-small.rkt 39:12 (+ 1.0 2.0) -- binary float
|
||||
TR opt: float-complex-float-small.rkt 39:12 (+ 1.0 2.0) -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 39:15 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 39:15 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 39:19 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 39:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-small.rkt 2:0 (+ 1.0+2.0i 3.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-small.rkt 2:12 3.0 -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 2:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-small.rkt 3:0 (+ 1.0 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-small.rkt 3:3 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 3:7 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-small.rkt 4:0 (- 1.0+2.0i 3.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-small.rkt 4:12 3.0 -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 4:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float-small.rkt 5:0 (- 1.0 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-small.rkt 5:3 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 5:7 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float-small.rkt 6:0 (+ 1.0+2.0i (+ 1.0 2.0)) -- unboxed binary float complex
|
||||
TR opt: float-complex-float-small.rkt 6:12 (+ 1.0 2.0) -- binary float
|
||||
TR opt: float-complex-float-small.rkt 6:12 (+ 1.0 2.0) -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 6:15 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 6:15 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 6:19 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float-small.rkt 6:3 1.0+2.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
4.0+2.0i
|
||||
|
@ -28,9 +28,9 @@ END
|
|||
4.0+2.0i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(+ 1.0+2.0i 3.0)
|
||||
(+ 1.0 2.0+4.0i)
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-float.rkt 31:0 (+ 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float.rkt 31:12 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float.rkt 31:16 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 31:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 32:0 (- 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float.rkt 32:16 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 32:3 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float.rkt 32:7 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 33:0 (- 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float.rkt 33:12 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float.rkt 33:16 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 33:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 34:0 (- 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float.rkt 34:12 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 34:21 3.0 -- float in complex ops
|
||||
TR opt: float-complex-float.rkt 34:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 2:0 (+ 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float.rkt 2:12 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float.rkt 2:16 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 2:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 3:0 (- 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float.rkt 3:16 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 3:3 1.0 -- float in complex ops
|
||||
TR opt: float-complex-float.rkt 3:7 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 4:0 (- 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-float.rkt 4:12 2.0 -- float in complex ops
|
||||
TR opt: float-complex-float.rkt 4:16 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 4:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 5:0 (- 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex
|
||||
TR opt: float-complex-float.rkt 5:12 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-float.rkt 5:21 3.0 -- float in complex ops
|
||||
TR opt: float-complex-float.rkt 5:3 1.0+2.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
6.0+8.0i
|
||||
|
@ -24,9 +24,9 @@ END
|
|||
-4.0-2.0i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(+ 1.0+2.0i 2.0 3.0+6.0i)
|
||||
(- 1.0 2.0+4.0i 3.0+6.0i)
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-i.rkt 18:0 (+ 1.0+2.0i (* 0+1.0i 2.0+4.0i)) -- unboxed binary float complex
|
||||
TR opt: float-complex-i.rkt 18:12 (* 0+1.0i 2.0+4.0i) -- non float complex in complex ops
|
||||
TR opt: float-complex-i.rkt 18:15 0+1.0i -- unboxed literal
|
||||
TR opt: float-complex-i.rkt 18:15 0+1.0i -- unboxed literal
|
||||
TR opt: float-complex-i.rkt 18:21 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-i.rkt 18:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-i.rkt 2:0 (+ 1.0+2.0i (* 0+1.0i 2.0+4.0i)) -- unboxed binary float complex
|
||||
TR opt: float-complex-i.rkt 2:12 (* 0+1.0i 2.0+4.0i) -- non float complex in complex ops
|
||||
TR opt: float-complex-i.rkt 2:15 0+1.0i -- unboxed literal
|
||||
TR opt: float-complex-i.rkt 2:15 0+1.0i -- unboxed literal
|
||||
TR opt: float-complex-i.rkt 2:21 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-i.rkt 2:3 1.0+2.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
-3.0+4.0i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(+ 1.0+2.0i (* +1.0i 2.0+4.0i))
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-integer.rkt 15:0 (+ (expt 2 100) 1.0+2.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-integer.rkt 15:16 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-integer.rkt 15:3 (expt 2 100) -- non float complex in complex ops
|
||||
TR opt: float-complex-integer.rkt 2:0 (+ (expt 2 100) 1.0+2.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-integer.rkt 2:16 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-integer.rkt 2:3 (expt 2 100) -- non float complex in complex ops
|
||||
END
|
||||
#<<END
|
||||
1.2676506002282294e+30+2.0i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(+ (expt 2 100) 1.0+2.0i)
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-mult.rkt 16:0 (* 1.0+2.0i 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-mult.rkt 16:12 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-mult.rkt 16:21 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-mult.rkt 16:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-mult.rkt 2:0 (* 1.0+2.0i 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-mult.rkt 2:12 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-mult.rkt 2:21 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-mult.rkt 2:3 1.0+2.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
-66.0-12.0i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(* 1.0+2.0i 2.0+4.0i 3.0+6.0i)
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-number-mul.rkt 17:0 (imag-part (* 0.0+1.0i (* 1 2))) -- complex accessor elimination
|
||||
TR opt: float-complex-number-mul.rkt 17:11 (* 0.0+1.0i (* 1 2)) -- unboxed binary float complex
|
||||
TR opt: float-complex-number-mul.rkt 17:14 0.0+1.0i -- unboxed literal
|
||||
TR opt: float-complex-number-mul.rkt 17:23 (* 1 2) -- fixnum bounded expr
|
||||
TR opt: float-complex-number-mul.rkt 17:23 (* 1 2) -- non float complex in complex ops
|
||||
TR opt: float-complex-number-mul.rkt 17:26 1 -- non float complex in complex ops
|
||||
TR opt: float-complex-number-mul.rkt 17:26 1 -- non float complex in complex ops
|
||||
TR opt: float-complex-number-mul.rkt 17:28 2 -- non float complex in complex ops
|
||||
TR opt: float-complex-number-mul.rkt 1:0 (imag-part (* 0.0+1.0i (* 1 2))) -- complex accessor elimination
|
||||
TR opt: float-complex-number-mul.rkt 1:11 (* 0.0+1.0i (* 1 2)) -- unboxed binary float complex
|
||||
TR opt: float-complex-number-mul.rkt 1:14 0.0+1.0i -- unboxed literal
|
||||
TR opt: float-complex-number-mul.rkt 1:23 (* 1 2) -- fixnum bounded expr
|
||||
TR opt: float-complex-number-mul.rkt 1:23 (* 1 2) -- non float complex in complex ops
|
||||
TR opt: float-complex-number-mul.rkt 1:26 1 -- non float complex in complex ops
|
||||
TR opt: float-complex-number-mul.rkt 1:26 1 -- non float complex in complex ops
|
||||
TR opt: float-complex-number-mul.rkt 1:28 2 -- non float complex in complex ops
|
||||
END
|
||||
#<<END
|
||||
2.0
|
||||
|
||||
END
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(imag-part (* 0.0+1.0i (* 1 2)))
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-parts.rkt 20:0 (real-part 1.0+2.0i) -- complex accessor elimination
|
||||
TR opt: float-complex-parts.rkt 20:11 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts.rkt 21:0 (imag-part 1.0+2.0i) -- complex accessor elimination
|
||||
TR opt: float-complex-parts.rkt 21:11 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts.rkt 22:0 (real-part 1.0+2.0i) -- complex accessor elimination
|
||||
TR opt: float-complex-parts.rkt 22:11 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts.rkt 2:0 (real-part 1.0+2.0i) -- complex accessor elimination
|
||||
TR opt: float-complex-parts.rkt 2:11 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts.rkt 3:0 (imag-part 1.0+2.0i) -- complex accessor elimination
|
||||
TR opt: float-complex-parts.rkt 3:11 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts.rkt 4:0 (real-part 1.0+2.0i) -- complex accessor elimination
|
||||
TR opt: float-complex-parts.rkt 4:11 1.0+2.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
1.0
|
||||
|
@ -13,9 +13,9 @@ END
|
|||
1.0
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(real-part 1.0+2.0i)
|
||||
(imag-part 1+2.0i)
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-parts2.rkt 45:0 (real-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts2.rkt 45:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts2.rkt 45:14 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 45:23 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 46:0 (unsafe-flreal-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts2.rkt 46:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts2.rkt 46:23 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 46:32 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 47:0 (imag-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts2.rkt 47:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts2.rkt 47:14 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 47:23 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 48:0 (unsafe-flimag-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts2.rkt 48:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts2.rkt 48:23 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 48:32 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 4:0 (real-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts2.rkt 4:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts2.rkt 4:14 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 4:23 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 5:0 (unsafe-flreal-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts2.rkt 5:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts2.rkt 5:23 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 5:32 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 6:0 (imag-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts2.rkt 6:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts2.rkt 6:14 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 6:23 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 7:0 (unsafe-flimag-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts2.rkt 7:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts2.rkt 7:23 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts2.rkt 7:32 2.0+4.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
3.0
|
||||
|
@ -24,21 +24,9 @@ END
|
|||
6.0
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(require racket/unsafe/ops)
|
||||
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-parts3.rkt 45: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 45:12 (real-part (+ 2.0+4.0i 3.0+6.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts3.rkt 45:12 (real-part (+ 2.0+4.0i 3.0+6.0i)) -- float in complex ops
|
||||
TR opt: float-complex-parts3.rkt 45:23 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts3.rkt 45:26 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 45:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 45:35 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 46: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 46:12 (unsafe-flreal-part (+ 2.0+4.0i 3.0+6.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts3.rkt 46:12 (unsafe-flreal-part (+ 2.0+4.0i 3.0+6.0i)) -- float in complex ops
|
||||
TR opt: float-complex-parts3.rkt 46:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 46:32 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts3.rkt 46:35 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 46:44 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 47: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 47:12 (imag-part (+ 2.0+4.0i 3.0+6.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts3.rkt 47:12 (imag-part (+ 2.0+4.0i 3.0+6.0i)) -- float in complex ops
|
||||
TR opt: float-complex-parts3.rkt 47:23 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts3.rkt 47:26 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 47:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 47:35 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 48: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 48:12 (unsafe-flimag-part (+ 2.0+4.0i 3.0+6.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts3.rkt 48:12 (unsafe-flimag-part (+ 2.0+4.0i 3.0+6.0i)) -- float in complex ops
|
||||
TR opt: float-complex-parts3.rkt 48:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 48:32 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts3.rkt 48:35 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 48:44 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 4: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 4:12 (real-part (+ 2.0+4.0i 3.0+6.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts3.rkt 4:12 (real-part (+ 2.0+4.0i 3.0+6.0i)) -- float in complex ops
|
||||
TR opt: float-complex-parts3.rkt 4:23 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts3.rkt 4:26 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 4:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 4:35 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 5: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 5:12 (unsafe-flreal-part (+ 2.0+4.0i 3.0+6.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts3.rkt 5:12 (unsafe-flreal-part (+ 2.0+4.0i 3.0+6.0i)) -- float in complex ops
|
||||
TR opt: float-complex-parts3.rkt 5:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 5:32 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts3.rkt 5:35 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 5:44 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 6: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 6:12 (imag-part (+ 2.0+4.0i 3.0+6.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts3.rkt 6:12 (imag-part (+ 2.0+4.0i 3.0+6.0i)) -- float in complex ops
|
||||
TR opt: float-complex-parts3.rkt 6:23 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts3.rkt 6:26 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 6:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 6:35 3.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 7: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 7:12 (unsafe-flimag-part (+ 2.0+4.0i 3.0+6.0i)) -- complex accessor elimination
|
||||
TR opt: float-complex-parts3.rkt 7:12 (unsafe-flimag-part (+ 2.0+4.0i 3.0+6.0i)) -- float in complex ops
|
||||
TR opt: float-complex-parts3.rkt 7:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 7:32 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-parts3.rkt 7:35 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-parts3.rkt 7:44 3.0+6.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
6.0+2.0i
|
||||
|
@ -36,9 +36,9 @@ END
|
|||
11.0+2.0i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(require racket/unsafe/ops)
|
||||
|
||||
|
|
|
@ -1,22 +1,20 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: float-complex-sin.rkt 21:13 (sin (* t 6.28)) -- possible exact real arith
|
||||
TR info: float-complex-sin.rkt 21:18 (* t 6.28) -- possible exact real arith
|
||||
TR missed opt: float-complex-sin.rkt 21:13 (sin (* t 6.28)) -- all args float-arg-expr, result not Float -- caused by: 21:18 (* t 6.28)
|
||||
TR missed opt: float-complex-sin.rkt 21:18 (* t 6.28) -- all args float-arg-expr, result not Float -- caused by: 21:21 t
|
||||
TR opt: float-complex-sin.rkt 21:10 (+ (sin (* t 6.28)) 0.0+0.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-sin.rkt 21:13 (sin (* t 6.28)) -- non float complex in complex ops
|
||||
TR opt: float-complex-sin.rkt 21:30 0.0+0.0i -- unboxed literal
|
||||
TR info: float-complex-sin.rkt 2:13 (sin (* t 6.28)) -- possible exact real arith
|
||||
TR info: float-complex-sin.rkt 2:18 (* t 6.28) -- possible exact real arith
|
||||
TR missed opt: float-complex-sin.rkt 2:13 (sin (* t 6.28)) -- all args float-arg-expr, result not Float -- caused by: 2:18 (* t 6.28)
|
||||
TR missed opt: float-complex-sin.rkt 2:18 (* t 6.28) -- all args float-arg-expr, result not Float -- caused by: 2:21 t
|
||||
TR opt: float-complex-sin.rkt 2:10 (+ (sin (* t 6.28)) 0.0+0.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-sin.rkt 2:13 (sin (* t 6.28)) -- non float complex in complex ops
|
||||
TR opt: float-complex-sin.rkt 2:30 0.0+0.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
-0.0031853017931379904+0.0i
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
((lambda: ((t : Integer))
|
||||
(+ (sin (* t 6.28)) 0.0+0.0i))
|
||||
1)
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-complex-unary.rkt 31:0 (real-part (+ 1.0+2.0i (+ (* 3.0+4.0i 5.0+6.0i)))) -- complex accessor elimination
|
||||
TR opt: float-complex-unary.rkt 31:11 (+ 1.0+2.0i (+ (* 3.0+4.0i 5.0+6.0i))) -- unboxed binary float complex
|
||||
TR opt: float-complex-unary.rkt 31:14 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 31:23 (+ (* 3.0+4.0i 5.0+6.0i)) -- unboxed unary float complex
|
||||
TR opt: float-complex-unary.rkt 31:26 (* 3.0+4.0i 5.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-unary.rkt 31:26 (* 3.0+4.0i 5.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-unary.rkt 31:29 3.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 31:29 3.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 31:38 5.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 31:38 5.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 32:0 (real-part (+ 7.0+8.0i (* (+ 9.0+10.0i 11.0+12.0i)))) -- complex accessor elimination
|
||||
TR opt: float-complex-unary.rkt 32:11 (+ 7.0+8.0i (* (+ 9.0+10.0i 11.0+12.0i))) -- unboxed binary float complex
|
||||
TR opt: float-complex-unary.rkt 32:14 7.0+8.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 32:23 (* (+ 9.0+10.0i 11.0+12.0i)) -- unboxed unary float complex
|
||||
TR opt: float-complex-unary.rkt 32:26 (+ 9.0+10.0i 11.0+12.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-unary.rkt 32:26 (+ 9.0+10.0i 11.0+12.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-unary.rkt 32:29 9.0+10.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 32:29 9.0+10.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 32:39 11.0+12.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 32:39 11.0+12.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 2:0 (real-part (+ 1.0+2.0i (+ (* 3.0+4.0i 5.0+6.0i)))) -- complex accessor elimination
|
||||
TR opt: float-complex-unary.rkt 2:11 (+ 1.0+2.0i (+ (* 3.0+4.0i 5.0+6.0i))) -- unboxed binary float complex
|
||||
TR opt: float-complex-unary.rkt 2:14 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 2:23 (+ (* 3.0+4.0i 5.0+6.0i)) -- unboxed unary float complex
|
||||
TR opt: float-complex-unary.rkt 2:26 (* 3.0+4.0i 5.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-unary.rkt 2:26 (* 3.0+4.0i 5.0+6.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-unary.rkt 2:29 3.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 2:29 3.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 2:38 5.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 2:38 5.0+6.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 3:0 (real-part (+ 7.0+8.0i (* (+ 9.0+10.0i 11.0+12.0i)))) -- complex accessor elimination
|
||||
TR opt: float-complex-unary.rkt 3:11 (+ 7.0+8.0i (* (+ 9.0+10.0i 11.0+12.0i))) -- unboxed binary float complex
|
||||
TR opt: float-complex-unary.rkt 3:14 7.0+8.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 3:23 (* (+ 9.0+10.0i 11.0+12.0i)) -- unboxed unary float complex
|
||||
TR opt: float-complex-unary.rkt 3:26 (+ 9.0+10.0i 11.0+12.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-unary.rkt 3:26 (+ 9.0+10.0i 11.0+12.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex-unary.rkt 3:29 9.0+10.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 3:29 9.0+10.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 3:39 11.0+12.0i -- unboxed literal
|
||||
TR opt: float-complex-unary.rkt 3:39 11.0+12.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
-8.0
|
||||
|
@ -27,6 +27,7 @@ END
|
|||
|
||||
END
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(real-part (+ 1.0+2.0i (+ (* 3.0+4.0i 5.0+6.0i))))
|
||||
(real-part (+ 7.0+8.0i (* (+ 9.0+10.0i 11.0+12.0i))))
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
#;#;
|
||||
#<<END
|
||||
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:12 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex.rkt 19:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex.rkt 20:0 (- 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex.rkt 20:12 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex.rkt 20:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex.rkt 2:0 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex.rkt 2:12 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex.rkt 2:3 1.0+2.0i -- unboxed literal
|
||||
TR opt: float-complex.rkt 3:0 (- 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: float-complex.rkt 3:12 2.0+4.0i -- unboxed literal
|
||||
TR opt: float-complex.rkt 3:3 1.0+2.0i -- unboxed literal
|
||||
END
|
||||
#<<END
|
||||
3.0+6.0i
|
||||
-1.0-2.0i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(+ 1.0+2.0i 2.0+4.0i)
|
||||
(- 1.0+2.0i 2.0+4.0i)
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-fun.rkt 13:2 (+ x 1.0) -- binary float
|
||||
TR opt: float-fun.rkt 4:2 (+ x 1.0) -- binary float
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/racket
|
||||
#:optimize
|
||||
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(: f (Float -> Float))
|
||||
(define (f x)
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: float-promotion.rkt 16:0 (+ (assert (modulo 1 2) exact-positive-integer?) 2.0) -- binary float
|
||||
TR opt: float-promotion.rkt 16:11 (modulo 1 2) -- binary nonzero fixnum
|
||||
TR opt: float-promotion.rkt 17:0 (+ (expt 100 100) 2.0) -- binary float
|
||||
TR opt: float-promotion.rkt 2:0 (+ (assert (modulo 1 2) exact-positive-integer?) 2.0) -- binary float
|
||||
TR opt: float-promotion.rkt 2:11 (modulo 1 2) -- binary nonzero fixnum
|
||||
TR opt: float-promotion.rkt 3:0 (+ (expt 100 100) 2.0) -- binary float
|
||||
END
|
||||
#<<END
|
||||
3.0
|
||||
1e+200
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(+ (assert (modulo 1 2) exact-positive-integer?) 2.0)
|
||||
(+ (expt 100 100) 2.0)
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: float-real.rkt 22:15 (* (ann 2 Integer) 3.2) -- possible exact real arith
|
||||
TR info: float-real.rkt 23:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- possible exact real arith
|
||||
TR info: float-real.rkt 23:7 (* (ann 2 Integer) 3.1) -- possible exact real arith
|
||||
TR missed opt: float-real.rkt 22:15 (* (ann 2 Integer) 3.2) -- all args float-arg-expr, result not Float -- caused by: 22:23 2
|
||||
TR missed opt: float-real.rkt 23:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- all args float-arg-expr, result not Float -- caused by: 23:7 (* (ann 2 Integer) 3.1)
|
||||
TR missed opt: float-real.rkt 23:7 (* (ann 2 Integer) 3.1) -- all args float-arg-expr, result not Float -- caused by: 23:15 2
|
||||
TR opt: float-real.rkt 21:0 (+ 2.3 (ann 3 Positive-Real)) -- binary float
|
||||
TR opt: float-real.rkt 22:0 (+ 2.3 (assert (* (ann 2 Integer) 3.2) positive?)) -- binary float
|
||||
TR info: float-real.rkt 3:15 (* (ann 2 Integer) 3.2) -- possible exact real arith
|
||||
TR info: float-real.rkt 4:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- possible exact real arith
|
||||
TR info: float-real.rkt 4:7 (* (ann 2 Integer) 3.1) -- possible exact real arith
|
||||
TR missed opt: float-real.rkt 3:15 (* (ann 2 Integer) 3.2) -- all args float-arg-expr, result not Float -- caused by: 3:23 2
|
||||
TR missed opt: float-real.rkt 4:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- all args float-arg-expr, result not Float -- caused by: 4:7 (* (ann 2 Integer) 3.1)
|
||||
TR missed opt: float-real.rkt 4:7 (* (ann 2 Integer) 3.1) -- all args float-arg-expr, result not Float -- caused by: 4:15 2
|
||||
TR opt: float-real.rkt 2:0 (+ 2.3 (ann 3 Positive-Real)) -- binary float
|
||||
TR opt: float-real.rkt 3:0 (+ 2.3 (assert (* (ann 2 Integer) 3.2) positive?)) -- binary float
|
||||
END
|
||||
#<<END
|
||||
5.3
|
||||
|
@ -15,8 +15,8 @@ END
|
|||
14.26
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
;; reals within float expressions should be coerced when it's safe to do so
|
||||
(+ 2.3 (ann 3 Positive-Real)) ; safe
|
||||
(+ 2.3 (assert (* (ann 2 Integer) 3.2) positive?)) ; inner = unsafe, outer = unsafe
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: flrandom.rkt 14:7 random -- hidden parameter (random)
|
||||
TR info: flrandom.rkt 15:7 random -- hidden parameter (random)
|
||||
TR opt: flrandom.rkt 14:6 (random) -- float 0-arg random
|
||||
TR opt: flrandom.rkt 16:6 (random (current-pseudo-random-generator)) -- float random
|
||||
TR opt: flrandom.rkt 17:6 (flrandom (current-pseudo-random-generator)) -- float random
|
||||
TR info: flrandom.rkt 3:7 random -- hidden parameter (random)
|
||||
TR info: flrandom.rkt 4:7 random -- hidden parameter (random)
|
||||
TR opt: flrandom.rkt 3:6 (random) -- float 0-arg random
|
||||
TR opt: flrandom.rkt 5:6 (random (current-pseudo-random-generator)) -- float random
|
||||
TR opt: flrandom.rkt 6:6 (flrandom (current-pseudo-random-generator)) -- float random
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(require racket/flonum)
|
||||
(void (random)) ; yes
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: flvector-length.rkt 13:0 (flvector-length (flvector 0.0 1.2)) -- flvector-length
|
||||
TR opt: flvector-length.rkt 2:0 (flvector-length (flvector 0.0 1.2)) -- flvector-length
|
||||
END
|
||||
#<<END
|
||||
2
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(require racket/flonum)
|
||||
(flvector-length (flvector 0.0 1.2))
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: fx-fl.rkt 13:0 (exact->inexact 1) -- fixnum to float
|
||||
TR opt: fx-fl.rkt 2:0 (exact->inexact 1) -- fixnum to float
|
||||
END
|
||||
#<<END
|
||||
1.0
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(exact->inexact 1)
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: in-bytes.rkt 11:7 display -- hidden parameter
|
||||
TR info: in-bytes.rkt 11:7 display -- hidden parameter
|
||||
TR opt: in-bytes.rkt 10:20 #"123" -- in-bytes
|
||||
TR info: in-bytes.rkt 2:7 display -- hidden parameter
|
||||
TR info: in-bytes.rkt 2:7 display -- hidden parameter
|
||||
TR opt: in-bytes.rkt 1:20 #"123" -- in-bytes
|
||||
END
|
||||
"495051"
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(for: ((i : Integer #"123"))
|
||||
(display i))
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: in-list.rkt 11:7 display -- hidden parameter
|
||||
TR info: in-list.rkt 11:7 display -- hidden parameter
|
||||
TR opt: in-list.rkt 10:20 (quote (1 2 3)) -- in-list
|
||||
TR info: in-list.rkt 2:7 display -- hidden parameter
|
||||
TR info: in-list.rkt 2:7 display -- hidden parameter
|
||||
TR opt: in-list.rkt 1:20 (quote (1 2 3)) -- in-list
|
||||
END
|
||||
"123"
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(for: ((i : Natural '(1 2 3)))
|
||||
(display i))
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: in-range.rkt 11:3 display -- hidden parameter
|
||||
TR info: in-range.rkt 11:3 display -- hidden parameter
|
||||
TR opt: in-range.rkt 10:9 4 -- in-range
|
||||
TR info: in-range.rkt 2:3 display -- hidden parameter
|
||||
TR info: in-range.rkt 2:3 display -- hidden parameter
|
||||
TR opt: in-range.rkt 1:9 4 -- in-range
|
||||
END
|
||||
"0123"
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(for ([i 4])
|
||||
(display i))
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: in-string.rkt 11:7 display -- hidden parameter
|
||||
TR info: in-string.rkt 11:7 display -- hidden parameter
|
||||
TR opt: in-string.rkt 10:17 "123" -- in-string
|
||||
TR info: in-string.rkt 2:7 display -- hidden parameter
|
||||
TR info: in-string.rkt 2:7 display -- hidden parameter
|
||||
TR opt: in-string.rkt 1:17 "123" -- in-string
|
||||
END
|
||||
"123"
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(for: ((i : Char "123"))
|
||||
(display i))
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: in-vector.rkt 11:7 display -- hidden parameter
|
||||
TR info: in-vector.rkt 11:7 display -- hidden parameter
|
||||
TR opt: in-vector.rkt 10:20 (vector 1 2 3) -- in-vector
|
||||
TR info: in-vector.rkt 2:7 display -- hidden parameter
|
||||
TR info: in-vector.rkt 2:7 display -- hidden parameter
|
||||
TR opt: in-vector.rkt 1:20 (vector 1 2 3) -- in-vector
|
||||
END
|
||||
"123"
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(for: ((i : Integer (vector 1 2 3)))
|
||||
(display i))
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: invalid-binary-nonzero-fixnum.rkt 11:3 display -- hidden parameter
|
||||
TR info: invalid-binary-nonzero-fixnum.rkt 3:3 display -- hidden parameter
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(: f ( -> Void))
|
||||
(define (f) ; in a function, to prevent evaluation
|
||||
(display (quotient 4 0))) ; 2 fixnums, but the second is 0, cannot optimize
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR missed opt: invalid-derived-pair.rkt 13:2 (cadr x) -- car/cdr on a potentially empty list -- caused by: 13:2 (cadr x)
|
||||
TR missed opt: invalid-derived-pair.rkt 18:6 (cadr x) -- car/cdr on a potentially empty list -- caused by: 18:6 (cadr x)
|
||||
TR missed opt: invalid-derived-pair.rkt 10:6 (cadr x) -- car/cdr on a potentially empty list -- caused by: 10:6 (cadr x)
|
||||
TR missed opt: invalid-derived-pair.rkt 5:2 (cadr x) -- car/cdr on a potentially empty list -- caused by: 5:2 (cadr x)
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/racket #:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
;; can't optimize, the lists may not be long enough
|
||||
(: f ((Listof Integer) -> Integer))
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: invalid-exact-inexact.rkt 12:0 (exact->inexact 1.0) -- float to float
|
||||
TR opt: invalid-exact-inexact.rkt 1:0 (exact->inexact 1.0) -- float to float
|
||||
END
|
||||
#<<END
|
||||
1.0
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(exact->inexact 1.0) ; not an integer, can't optimize
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR missed opt: invalid-float-comp.rkt 13:0 (< 1.0 2) -- generic comparison -- caused by: 13:7 2
|
||||
TR missed opt: invalid-float-comp.rkt 2:0 (< 1.0 2) -- generic comparison -- caused by: 2:7 2
|
||||
END
|
||||
#<<END
|
||||
#t
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(< 1.0 2)
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: invalid-float-promotion.rkt 16:0 (/ (ann 1 Integer) 2.0) -- possible exact real arith
|
||||
TR info: invalid-float-promotion.rkt 17:0 (* (ann 2/3 Exact-Rational) 3.0) -- possible exact real arith
|
||||
TR missed opt: invalid-float-promotion.rkt 16:0 (/ (ann 1 Integer) 2.0) -- all args float-arg-expr, result not Float -- caused by: 16:8 1
|
||||
TR missed opt: invalid-float-promotion.rkt 17:0 (* (ann 2/3 Exact-Rational) 3.0) -- all args float-arg-expr, result not Float -- caused by: 17:8 2/3
|
||||
TR info: invalid-float-promotion.rkt 2:0 (/ (ann 1 Integer) 2.0) -- possible exact real arith
|
||||
TR info: invalid-float-promotion.rkt 3:0 (* (ann 2/3 Exact-Rational) 3.0) -- possible exact real arith
|
||||
TR missed opt: invalid-float-promotion.rkt 2:0 (/ (ann 1 Integer) 2.0) -- all args float-arg-expr, result not Float -- caused by: 2:8 1
|
||||
TR missed opt: invalid-float-promotion.rkt 3:0 (* (ann 2/3 Exact-Rational) 3.0) -- all args float-arg-expr, result not Float -- caused by: 3:8 2/3
|
||||
END
|
||||
#<<END
|
||||
0.5
|
||||
|
@ -12,6 +12,7 @@ END
|
|||
END
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
;; the ann are necessary, since (* PosReal Float) -> Float (exact 0 is not in PosReal)
|
||||
(/ (ann 1 Integer) 2.0) ; result is not a float, can't optimize
|
||||
(* (ann 2/3 Exact-Rational) 3.0)
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: invalid-fxquotient.rkt 17:14 (fxquotient 3 0) -- non-optimized fixnum op
|
||||
TR missed opt: invalid-fxquotient.rkt 15:21 (quotient fixnum-min -1) -- out of fixnum range
|
||||
TR info: invalid-fxquotient.rkt 5:14 (fxquotient 3 0) -- non-optimized fixnum op
|
||||
TR missed opt: invalid-fxquotient.rkt 3:21 (quotient fixnum-min -1) -- out of fixnum range
|
||||
END
|
||||
#<<END
|
||||
#t
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket/base
|
||||
(require racket/fixnum)
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(define: fixnum-min : Nonpositive-Fixnum (assert (- (expt 2 30)) fixnum?))
|
||||
(define: q : Natural (quotient fixnum-min -1)) ; this can't be optimized safely
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: invalid-inexact-complex-parts.rkt 12:0 (real-part 1+2i) -- possible exact real arith
|
||||
TR info: invalid-inexact-complex-parts.rkt 1:0 (real-part 1+2i) -- possible exact real arith
|
||||
END
|
||||
#<<END
|
||||
1
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(real-part 1+2i)
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: invalid-log-complex.rkt 14:0 (real-part (log (ann 2.0 Float))) -- possible exact real arith
|
||||
TR missed opt: invalid-log-complex.rkt 14:11 (log (ann 2.0 Float)) -- unexpected complex type
|
||||
TR info: invalid-log-complex.rkt 2:0 (real-part (log (ann 2.0 Float))) -- possible exact real arith
|
||||
TR missed opt: invalid-log-complex.rkt 2:11 (log (ann 2.0 Float)) -- unexpected complex type
|
||||
END
|
||||
#<<END
|
||||
0.6931471805599453
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(real-part (log (ann 2.0 Float)))
|
||||
|
|
|
@ -5,7 +5,7 @@ END
|
|||
1+2i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(make-rectangular 1 2)
|
||||
|
|
|
@ -5,8 +5,8 @@ END
|
|||
0
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(make-polar 0 0)
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR missed opt: invalid-mpair.rkt 11:2 (mcar x) -- car/cdr on a potentially empty list -- caused by: 11:8 x
|
||||
TR missed opt: invalid-mpair.rkt 3:2 (mcar x) -- car/cdr on a potentially empty list -- caused by: 3:8 x
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(: f ((MListof Integer) -> Integer))
|
||||
(define (f x)
|
||||
(mcar x))
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR missed opt: invalid-sqrt.rkt 12:0 (sqrt -2.0) -- unexpected complex type
|
||||
TR missed opt: invalid-sqrt.rkt 1:0 (sqrt -2.0) -- unexpected complex type
|
||||
END
|
||||
#<<END
|
||||
0+1.4142135623730951i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(sqrt -2.0) ; not a nonnegative flonum, can't optimize
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: invalid-unboxed-let.rkt 27:3 display -- hidden parameter
|
||||
TR info: invalid-unboxed-let.rkt 28:3 display -- hidden parameter
|
||||
TR info: invalid-unboxed-let.rkt 29:3 display -- hidden parameter
|
||||
TR info: invalid-unboxed-let.rkt 30:3 display -- hidden parameter
|
||||
TR opt: invalid-unboxed-let.rkt 23:10 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: invalid-unboxed-let.rkt 23:13 1.0+2.0i -- unboxed literal
|
||||
TR opt: invalid-unboxed-let.rkt 23:22 2.0+4.0i -- unboxed literal
|
||||
TR opt: invalid-unboxed-let.rkt 23:6 (t1 (+ 1.0+2.0i 2.0+4.0i)) -- unboxed let bindings
|
||||
TR opt: invalid-unboxed-let.rkt 24:10 (+ 3.0+6.0i 4.0+8.0i) -- unboxed binary float complex
|
||||
TR opt: invalid-unboxed-let.rkt 24:13 3.0+6.0i -- unboxed literal
|
||||
TR opt: invalid-unboxed-let.rkt 24:22 4.0+8.0i -- unboxed literal
|
||||
TR opt: invalid-unboxed-let.rkt 27:11 (+ t1 t1) -- unboxed binary float complex
|
||||
TR opt: invalid-unboxed-let.rkt 27:14 t1 -- leave var unboxed
|
||||
TR opt: invalid-unboxed-let.rkt 27:17 t1 -- leave var unboxed
|
||||
TR info: invalid-unboxed-let.rkt 6:3 display -- hidden parameter
|
||||
TR info: invalid-unboxed-let.rkt 7:3 display -- hidden parameter
|
||||
TR info: invalid-unboxed-let.rkt 8:3 display -- hidden parameter
|
||||
TR info: invalid-unboxed-let.rkt 9:3 display -- hidden parameter
|
||||
TR opt: invalid-unboxed-let.rkt 2:10 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: invalid-unboxed-let.rkt 2:13 1.0+2.0i -- unboxed literal
|
||||
TR opt: invalid-unboxed-let.rkt 2:22 2.0+4.0i -- unboxed literal
|
||||
TR opt: invalid-unboxed-let.rkt 2:6 (t1 (+ 1.0+2.0i 2.0+4.0i)) -- unboxed let bindings
|
||||
TR opt: invalid-unboxed-let.rkt 3:10 (+ 3.0+6.0i 4.0+8.0i) -- unboxed binary float complex
|
||||
TR opt: invalid-unboxed-let.rkt 3:13 3.0+6.0i -- unboxed literal
|
||||
TR opt: invalid-unboxed-let.rkt 3:22 4.0+8.0i -- unboxed literal
|
||||
TR opt: invalid-unboxed-let.rkt 6:11 (+ t1 t1) -- unboxed binary float complex
|
||||
TR opt: invalid-unboxed-let.rkt 6:14 t1 -- leave var unboxed
|
||||
TR opt: invalid-unboxed-let.rkt 6:17 t1 -- leave var unboxed
|
||||
END
|
||||
"6.0+12.0i7.0+14.0i1.0+2.0i1"
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(let ((t1 (+ 1.0+2.0i 2.0+4.0i)) ; can be unboxed
|
||||
(t2 (+ 3.0+6.0i 4.0+8.0i)) ; can't be unboxed
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
#;#;
|
||||
#<<END
|
||||
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: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: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:5 t1 -- unbox float-complex
|
||||
TR opt: invalid-unboxed-let2.rkt 25:8 t2 -- unbox float-complex
|
||||
TR opt: invalid-unboxed-let2.rkt 5:30 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
|
||||
TR opt: invalid-unboxed-let2.rkt 5:33 1.0+2.0i -- unboxed literal
|
||||
TR opt: invalid-unboxed-let2.rkt 5:42 2.0+4.0i -- unboxed literal
|
||||
TR opt: invalid-unboxed-let2.rkt 5:52 (+ 3.0+6.0i 4.0+8.0i) -- unboxed binary float complex
|
||||
TR opt: invalid-unboxed-let2.rkt 5:55 3.0+6.0i -- unboxed literal
|
||||
TR opt: invalid-unboxed-let2.rkt 5:64 4.0+8.0i -- unboxed literal
|
||||
TR opt: invalid-unboxed-let2.rkt 6:2 (+ t1 t2) -- unboxed binary float complex
|
||||
TR opt: invalid-unboxed-let2.rkt 6:5 t1 -- unbox float-complex
|
||||
TR opt: invalid-unboxed-let2.rkt 6:8 t2 -- unbox float-complex
|
||||
END
|
||||
#<<END
|
||||
10.0+20.0i
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: invalid-vector-ref.rkt 11:2 (vector-ref x 0) -- vector partial bounds checking elimination
|
||||
TR opt: invalid-vector-ref.rkt 3:2 (vector-ref x 0) -- vector partial bounds checking elimination
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(: f ((Vectorof Integer) -> Integer))
|
||||
(define (f x)
|
||||
(vector-ref x 0)) ; type is (Vectorof Integer), length is unknown, can't optimize
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: invalid-vector-set.rkt 11:2 (vector-set! x 0 2) -- vector partial bounds checking elimination
|
||||
TR opt: invalid-vector-set.rkt 3:2 (vector-set! x 0 2) -- vector partial bounds checking elimination
|
||||
END
|
||||
""
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
(: f ((Vectorof Integer) -> Void))
|
||||
(define (f x)
|
||||
(vector-set! x 0 2)) ; type is (Vectorof Integer), length is ot known, can't optimize
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: known-length-lists.rkt 41:0 (length l) -- known-length list length
|
||||
TR opt: known-length-lists.rkt 42:0 (list-ref l i) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 43:0 (list-ref l j) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 44:0 (list-ref l k) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 45:0 (list-tail l i) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 46:0 (list-tail l j) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 47:0 (list-tail l k) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 48:0 (list-ref l 0) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 49:0 (list-ref l 1) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 50:0 (list-ref l 2) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 51:0 (list-tail l 0) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 52:0 (list-tail l 1) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 53:0 (list-tail l 2) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 10:0 (list-ref l k) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 11:0 (list-tail l i) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 12:0 (list-tail l j) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 13:0 (list-tail l k) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 14:0 (list-ref l 0) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 15:0 (list-ref l 1) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 16:0 (list-ref l 2) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 17:0 (list-tail l 0) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 18:0 (list-tail l 1) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 19:0 (list-tail l 2) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 7:0 (length l) -- known-length list length
|
||||
TR opt: known-length-lists.rkt 8:0 (list-ref l i) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 9:0 (list-ref l j) -- known-length list op
|
||||
END
|
||||
#<<END
|
||||
3
|
||||
|
@ -30,8 +30,8 @@ END
|
|||
'(3)
|
||||
|
||||
END
|
||||
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(define i 0)
|
||||
(define j 1)
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: known-vector-length.rkt 14:0 (+ 2 (vector-length (ann (vector 1 2) (Vector Integer Integer)))) -- fixnum bounded expr
|
||||
TR opt: known-vector-length.rkt 14:5 (vector-length (ann (vector 1 2) (Vector Integer Integer))) -- known-length vector-length
|
||||
TR opt: known-vector-length.rkt 2:0 (+ 2 (vector-length (ann (vector 1 2) (Vector Integer Integer)))) -- fixnum bounded expr
|
||||
TR opt: known-vector-length.rkt 2:5 (vector-length (ann (vector 1 2) (Vector Integer Integer))) -- known-length vector-length
|
||||
END
|
||||
#<<END
|
||||
4
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(+ 2 (vector-length (ann (vector 1 2) (Vector Integer Integer))))
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: let-float.rkt 14:9 (+ 3.0 2.0) -- binary float
|
||||
TR opt: let-float.rkt 15:2 (* 9.0 x) -- binary float
|
||||
TR opt: let-float.rkt 2:9 (+ 3.0 2.0) -- binary float
|
||||
TR opt: let-float.rkt 3:2 (* 9.0 x) -- binary float
|
||||
END
|
||||
#<<END
|
||||
45.0
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
(let ((x (+ 3.0 2.0)))
|
||||
(* 9.0 x))
|
||||
|
|
|
@ -1,30 +1,30 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: let-loop-effects.rkt 45:34 displayln -- hidden parameter
|
||||
TR info: let-loop-effects.rkt 46:34 displayln -- hidden parameter
|
||||
TR info: let-loop-effects.rkt 47:34 displayln -- hidden parameter
|
||||
TR opt: let-loop-effects.rkt 40:0 (real-part (let: loop : Float-Complex ((x : Float-Complex 0.0+0.0i) (y : Integer 0) (z : Float-Complex 0.0+0.0i)) (if (zero? y) (+ 1.0+0.0i (loop (begin (displayln (quote x)) x) (begin (displayln (quote y)) (add1 y)) (begin (displayln (quote z)) z))) (+ x z)))) -- complex accessor elimination
|
||||
TR opt: let-loop-effects.rkt 41:2 (let: loop : Float-Complex ((x : Float-Complex 0.0+0.0i) (y : Integer 0) (z : Float-Complex 0.0+0.0i)) (if (zero? y) (+ 1.0+0.0i (loop (begin (displayln (quote x)) x) (begin (displayln (quote y)) (add1 y)) (begin (displayln (quote z)) z))) (+ x z))) -- unbox float-complex
|
||||
TR opt: let-loop-effects.rkt 41:2 (let: loop : Float-Complex ((x : Float-Complex 0.0+0.0i) (y : Integer 0) (z : Float-Complex 0.0+0.0i)) (if (zero? y) (+ 1.0+0.0i (loop (begin (displayln (quote x)) x) (begin (displayln (quote y)) (add1 y)) (begin (displayln (quote z)) z))) (+ x z))) -- unboxed call site
|
||||
TR opt: let-loop-effects.rkt 41:31 x -- unboxed var -> table
|
||||
TR opt: let-loop-effects.rkt 41:49 0.0+0.0i -- unboxed literal
|
||||
TR opt: let-loop-effects.rkt 41:8 loop -- fun -> unboxed fun
|
||||
TR opt: let-loop-effects.rkt 41:8 loop -- unboxed let loop
|
||||
TR opt: let-loop-effects.rkt 43:31 z -- unboxed var -> table
|
||||
TR opt: let-loop-effects.rkt 43:49 0.0+0.0i -- unboxed literal
|
||||
TR opt: let-loop-effects.rkt 45:11 1.0+0.0i -- unboxed literal
|
||||
TR opt: let-loop-effects.rkt 45:20 (loop (begin (displayln (quote x)) x) (begin (displayln (quote y)) (add1 y)) (begin (displayln (quote z)) z)) -- call to fun with unboxed args
|
||||
TR opt: let-loop-effects.rkt 45:20 (loop (begin (displayln (quote x)) x) (begin (displayln (quote y)) (add1 y)) (begin (displayln (quote z)) z)) -- unbox float-complex
|
||||
TR opt: let-loop-effects.rkt 45:20 (loop (begin (displayln (quote x)) x) (begin (displayln (quote y)) (add1 y)) (begin (displayln (quote z)) z)) -- unboxed call site
|
||||
TR opt: let-loop-effects.rkt 45:26 (begin (displayln (quote x)) x) -- unbox float-complex
|
||||
TR opt: let-loop-effects.rkt 45:48 x -- unboxed complex variable
|
||||
TR opt: let-loop-effects.rkt 45:8 (+ 1.0+0.0i (loop (begin (displayln (quote x)) x) (begin (displayln (quote y)) (add1 y)) (begin (displayln (quote z)) z))) -- unboxed binary float complex
|
||||
TR opt: let-loop-effects.rkt 46:48 (add1 y) -- fixnum add1
|
||||
TR opt: let-loop-effects.rkt 47:26 (begin (displayln (quote z)) z) -- unbox float-complex
|
||||
TR opt: let-loop-effects.rkt 47:48 z -- unboxed complex variable
|
||||
TR opt: let-loop-effects.rkt 48:11 x -- leave var unboxed
|
||||
TR opt: let-loop-effects.rkt 48:13 z -- leave var unboxed
|
||||
TR opt: let-loop-effects.rkt 48:8 (+ x z) -- unboxed binary float complex
|
||||
TR info: let-loop-effects.rkt 10:34 displayln -- hidden parameter
|
||||
TR info: let-loop-effects.rkt 11:34 displayln -- hidden parameter
|
||||
TR info: let-loop-effects.rkt 9:34 displayln -- hidden parameter
|
||||
TR opt: let-loop-effects.rkt 10:48 (add1 y) -- fixnum add1
|
||||
TR opt: let-loop-effects.rkt 11:26 (begin (displayln (quote z)) z) -- unbox float-complex
|
||||
TR opt: let-loop-effects.rkt 11:48 z -- unboxed complex variable
|
||||
TR opt: let-loop-effects.rkt 12:11 x -- leave var unboxed
|
||||
TR opt: let-loop-effects.rkt 12:13 z -- leave var unboxed
|
||||
TR opt: let-loop-effects.rkt 12:8 (+ x z) -- unboxed binary float complex
|
||||
TR opt: let-loop-effects.rkt 4:0 (real-part (let: loop : Float-Complex ((x : Float-Complex 0.0+0.0i) (y : Integer 0) (z : Float-Complex 0.0+0.0i)) (if (zero? y) (+ 1.0+0.0i (loop (begin (displayln (quote x)) x) (begin (displayln (quote y)) (add1 y)) (begin (displayln (quote z)) z))) (+ x z)))) -- complex accessor elimination
|
||||
TR opt: let-loop-effects.rkt 5:2 (let: loop : Float-Complex ((x : Float-Complex 0.0+0.0i) (y : Integer 0) (z : Float-Complex 0.0+0.0i)) (if (zero? y) (+ 1.0+0.0i (loop (begin (displayln (quote x)) x) (begin (displayln (quote y)) (add1 y)) (begin (displayln (quote z)) z))) (+ x z))) -- unbox float-complex
|
||||
TR opt: let-loop-effects.rkt 5:2 (let: loop : Float-Complex ((x : Float-Complex 0.0+0.0i) (y : Integer 0) (z : Float-Complex 0.0+0.0i)) (if (zero? y) (+ 1.0+0.0i (loop (begin (displayln (quote x)) x) (begin (displayln (quote y)) (add1 y)) (begin (displayln (quote z)) z))) (+ x z))) -- unboxed call site
|
||||
TR opt: let-loop-effects.rkt 5:31 x -- unboxed var -> table
|
||||
TR opt: let-loop-effects.rkt 5:49 0.0+0.0i -- unboxed literal
|
||||
TR opt: let-loop-effects.rkt 5:8 loop -- fun -> unboxed fun
|
||||
TR opt: let-loop-effects.rkt 5:8 loop -- unboxed let loop
|
||||
TR opt: let-loop-effects.rkt 7:31 z -- unboxed var -> table
|
||||
TR opt: let-loop-effects.rkt 7:49 0.0+0.0i -- unboxed literal
|
||||
TR opt: let-loop-effects.rkt 9:11 1.0+0.0i -- unboxed literal
|
||||
TR opt: let-loop-effects.rkt 9:20 (loop (begin (displayln (quote x)) x) (begin (displayln (quote y)) (add1 y)) (begin (displayln (quote z)) z)) -- call to fun with unboxed args
|
||||
TR opt: let-loop-effects.rkt 9:20 (loop (begin (displayln (quote x)) x) (begin (displayln (quote y)) (add1 y)) (begin (displayln (quote z)) z)) -- unbox float-complex
|
||||
TR opt: let-loop-effects.rkt 9:20 (loop (begin (displayln (quote x)) x) (begin (displayln (quote y)) (add1 y)) (begin (displayln (quote z)) z)) -- unboxed call site
|
||||
TR opt: let-loop-effects.rkt 9:26 (begin (displayln (quote x)) x) -- unbox float-complex
|
||||
TR opt: let-loop-effects.rkt 9:48 x -- unboxed complex variable
|
||||
TR opt: let-loop-effects.rkt 9:8 (+ 1.0+0.0i (loop (begin (displayln (quote x)) x) (begin (displayln (quote y)) (add1 y)) (begin (displayln (quote z)) z))) -- unboxed binary float complex
|
||||
END
|
||||
#<<END
|
||||
x
|
||||
|
@ -34,6 +34,7 @@ z
|
|||
|
||||
END
|
||||
#lang typed/racket
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
|
||||
;; Ensure that loop unboxing doesn't change order of effects
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: let-rhs.rkt 15:9 (+ 1.0 2.0) -- binary float
|
||||
TR opt: let-rhs.rkt 4:9 (+ 1.0 2.0) -- binary float
|
||||
END
|
||||
#<<END
|
||||
3.0
|
||||
|
||||
END
|
||||
|
||||
#lang typed/scheme
|
||||
#:optimize
|
||||
#reader tests/typed-racket/optimizer/reset-port
|
||||
|
||||
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user