typed-racket/typed-racket-test/optimizer/tests
Vincent St-Amour e997f02095 Rewrite compound pair operation optimization.
Previous version replaced calls to, e.g., `cadr` with calls to `cdr`
then `car`, called the typechecker to populate the type table, then
optimized the exploded operations. The call to the typechecker failed
on open terms, limiting the applicability of the optimization, and was
just generally brittle.

The new version instead explodes operations, then optimizes them inside
out for as long as the argument's type guarantees it's safe. This works
on open terms, and should be more robust.
2015-08-14 17:28:47 -05:00
..
add1.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
annotations.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
apply-plus.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
begin-float.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
binary-fixnum.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
binary-nonzero-fixnum.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
both-if-branches-dead.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
bounds-check.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
box.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
case-arrow.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
case-lambda-dead-branch.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
complex-exp.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
cross-module-struct.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
cross-module-struct2.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
dead-case-lambda.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
dead-else.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
dead-inf-comp.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
dead-substructs.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
dead-then.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
define-begin-float.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
define-call-float.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
define-float.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
define-pair.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
derived-pair-open-terms.rkt Rewrite compound pair operation optimization. 2015-08-14 17:28:47 -05:00
derived-pair.rkt Rewrite compound pair operation optimization. 2015-08-14 17:28:47 -05:00
derived-pair2.rkt Rewrite compound pair operation optimization. 2015-08-14 17:28:47 -05:00
derived-pair3.rkt Rewrite compound pair operation optimization. 2015-08-14 17:28:47 -05:00
different-langs.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
double-float.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
drop-pure-pred.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
exact-inexact.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
expt.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
extflonums.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
false-huh-dead-code.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
fixnum-bounded-expr.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
fixnum-comparison.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-comp.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-conjugate-top.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-conjugate.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-div.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-fixnum.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-float-div.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-float-mul.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-float-small.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-float.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-i.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-integer.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-mult.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-number-mul.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-parts.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-parts2.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-parts3.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-sin.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex-unary.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-complex.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-fun.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-promotion.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
float-real.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
flrandom.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
flvector-length.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
fx-fl.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
fx2fl.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
gh60.rkt Optimize pair operations, even in the absence of syntactic pair types. 2015-03-24 16:47:06 -04:00
in-bytes.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
in-list.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
in-range.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
in-string.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
in-vector.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-binary-nonzero-fixnum.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-derived-pair.rkt Rewrite compound pair operation optimization. 2015-08-14 17:28:47 -05:00
invalid-exact-inexact.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-float-comp.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-float-promotion.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-fxquotient.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-inexact-complex-parts.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-log-complex.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-make-flrectangular.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-make-polar.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-mpair.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-sqrt.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-unboxed-let.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-unboxed-let2.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-vector-ref.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
invalid-vector-set.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
known-length-lists.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
known-vector-length.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
let-float.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
let-loop-effects.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
let-rhs.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
list.rkt Rewrite compound pair operation optimization. 2015-08-14 17:28:47 -05:00
literal-int.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
magnitude.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
make-flrectangular.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
make-polar.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
maybe-exact-complex.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
module-path.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
mpair.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
multi-flcomp.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
n-ary-float-complex.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
n-ary-float.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
nested-float-complex.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
nested-float.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
nested-float2.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
nested-let-loop.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
nested-pair1.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
nested-pair2.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
nested-unboxed-let.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
one-arg-arith.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
pair-fun.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
pair-known-length-list.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
pr12475.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
pr13468.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
pr13788.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
pr14284.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
pr14380.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
projections.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
quote.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
rational-literal.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
real-part-loop.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
silent-dead-branch.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
simple-float.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
simple-pair.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
sqrt-segfault.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
sqrt.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
string-length.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
structs.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
ternary-equality.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unary-fixnum-nested.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unary-fixnum.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unary-float.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unary-minus-float-complex.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-exp.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-for.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-let-constants-fail1.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-let-constants.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-let-functions1.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-let-functions2.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-let-functions3.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-let-functions4.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-let-functions5.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-let-functions6.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-let-functions7.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-let-functions8.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-let.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-let2.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-let3.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-letrec-syntaxes+values.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-letrec.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
unboxed-make-rectangular.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
vector-bounds-check.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
vector-chaperone1.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
vector-chaperone2.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
vector-length-impersonator.rkt Reduce directory nesting for tests. 2014-12-16 10:07:25 -05:00
vector-length-nested.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
vector-length.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
vector-ref-set-ref.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
vector-ref.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
vector-ref2.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
vector-set-quote.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
vector-set.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
vector-set2.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
vector-sum.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
with-type.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
zero.rkt Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00