Commit Graph

109 Commits

Author SHA1 Message Date
Vincent St-Amour
cc129adb39 Make unary float optimizations less restrictive. 2011-06-17 18:18:01 -04:00
Vincent St-Amour
484fb029f1 Rephrase a missed optimization message. 2011-06-17 18:18:01 -04:00
Vincent St-Amour
81d6e380da Add a "unique" key to log messages that are sent by the optimizer. 2011-06-17 18:18:01 -04:00
Vincent St-Amour
7347da4919 Use racket's logging facilities for the optimizer logs. 2011-06-17 18:18:01 -04:00
Vincent St-Amour
9ae4f82c0a Sort optimizer logs by source location, to prepare for eventual user consumption. 2011-06-17 18:18:00 -04:00
Vincent St-Amour
5a151420e4 Keep source location around for derived pair optimizations. 2011-06-17 18:18:00 -04:00
Vincent St-Amour
b8b061fb39 Don't print duplicate log entries. 2011-06-17 18:18:00 -04:00
Vincent St-Amour
b598c4a1eb close-call -> missed-optimization 2011-06-17 18:18:00 -04:00
Vincent St-Amour
c73bc6c918 Report unexpected complex types in arithmetic expressions. 2011-06-17 18:18:00 -04:00
Vincent St-Amour
2a7254a324 Add in-complex-layer?. 2011-06-17 18:18:00 -04:00
Vincent St-Amour
2a4a4e8184 Generalize reporting of wasted precision to arbitrary exact arithmetic expressions. 2011-06-17 18:18:00 -04:00
Vincent St-Amour
ec696f26ae Add an arith-expr syntax class, to simplify parts of the optimizer. 2011-06-17 18:17:59 -04:00
Vincent St-Amour
b64b49b078 Move layer predicates to their own file. 2011-06-17 18:17:59 -04:00
Vincent St-Amour
cd027109c9 Report when exact arithmetic is used inside float expressions, which may make the extra precision useless. 2011-06-17 18:17:59 -04:00
Vincent St-Amour
89ca99210e Report close calls for pair/mpair optimizations. 2011-06-17 18:17:59 -04:00
Vincent St-Amour
95bf94577c Show irritant for the currently detected close calls. 2011-06-17 18:17:59 -04:00
Vincent St-Amour
33962befd4 Made logging format more compact and less ambiguous. 2011-06-17 18:17:59 -04:00
Vincent St-Amour
26cc2cf6dc Add layer predicates. 2011-06-17 18:17:59 -04:00
Vincent St-Amour
7b2c6f5765 First attempt at logging unexpected Real types popping up. 2011-06-17 18:17:58 -04:00
Vincent St-Amour
303e1f7f88 Add logging infrastructure to log close calls. 2011-06-17 18:17:58 -04:00
Vincent St-Amour
6de5f48810 Optimize sqr on floats. 2011-06-02 16:49:25 -04:00
Vincent St-Amour
c7d2f13dd0 Preserve source location in the optimizer. 2011-05-24 16:53:53 -04:00
Vincent St-Amour
3b036388d6 Remove trailing whitespace. 2011-05-18 17:09:45 -04:00
Vincent St-Amour
bc4a7df94d Better solution to the toplevel printing bug. 2011-05-17 18:30:53 -04:00
Vincent St-Amour
8f6d3c7920 Avoid printing results of tests when eliminating if branches at the toplevel.
Closes PR 11928.
2011-05-17 17:47:21 -04:00
Vincent St-Amour
4cd0ad4b1a Coerce reals in float expressions when valid. 2011-05-16 11:44:35 -04:00
Vincent St-Amour
4d24cbee60 Promote more literals at compile-time. 2011-04-29 17:16:39 -04:00
Sam Tobin-Hochstadt
981616d504 Copy properties when optimizing bodies of lambda/define-values.
Closes PR 11860.
2011-04-18 15:41:50 -04:00
Ryan Culpepper
73ab167522 created racket/syntax from parts of unstable/syntax 2011-04-07 09:47:20 -06:00
Vincent St-Amour
9c3bee03e7 Fix bounded-fixnum opts to only fire with the right number of arguments. 2011-04-01 14:56:17 -04:00
Vincent St-Amour
3ebe9e78f9 Optimize add1 and sub1 on floats and fixnums. 2011-03-18 13:25:05 -04:00
Vincent St-Amour
d06bf0de91 Use subtype test, just in case. 2011-03-18 13:25:05 -04:00
Vincent St-Amour
1f0386b46c Improve TR's fixnum optimizations, using the new sub-fixnum types. 2011-03-18 10:25:22 -04:00
David Van Horn
760a58b65d Fixes more spelling errors. 2011-02-04 19:44:13 -07:00
Vincent St-Amour
d65438c9ea Remove some legacy bindings. 2011-01-31 16:39:19 -05:00
Vincent St-Amour
768bb63361 Fix optimizer to work with new types. 2011-01-31 16:39:14 -05:00
Vincent St-Amour
d4c93cc12e TR's numeric tower is now built from unions of non-overlapping base types.
A lot of the work that was done by special-casing number types can now be
done by TR's handling of unions. This makes it easier to add more numeric
types to the tower and should make writing down types for numeric
primitives much less error-prone.

In addition, this commit adds several numeric types that will help get
tighter bounds on integer arithmetic, such as Index types. They will have
to be integrated to the base environment before they can be useful.
2011-01-31 16:39:13 -05:00
Vincent St-Amour
33581fd67e map + syntax->list -> syntax-map 2010-12-08 18:17:05 -05:00
Matthew Flatt
5d8e000d6d swap vector*-ref' and vector-ref', etc.
Merge to 5.0.2
2010-10-25 11:22:35 -06:00
Vincent St-Amour
12a5454b14 Removed logging when no optimization actually happens. 2010-10-14 14:13:06 -04:00
Vincent St-Amour
27e722f27b Inexact-Complex -> Float-Complex 2010-10-12 16:47:46 -04:00
Vincent St-Amour
a59a99c42d Changed the TR numeric tower to use the new flonums. 2010-10-12 16:47:45 -04:00
Vincent St-Amour
2c4d6fbb01 Added optimization for first, second and co when possible. 2010-10-12 16:47:44 -04:00
Vincent St-Amour
99178c70a0 Have the optimizer ignore struct/exec. 2010-10-06 18:43:35 -04:00
Vincent St-Amour
1b28aa41c7 Removed an obsolete comment. 2010-09-15 20:21:51 -04:00
Vincent St-Amour
0166ece180 Extended pair optimization to the rest of the standard derived pair accessors. 2010-09-09 18:54:34 -04:00
Vincent St-Amour
7450821068 Refactoring. 2010-09-09 18:54:34 -04:00
Vincent St-Amour
024f873947 Extended pair optimizations to some derived pair accessors. 2010-09-09 18:54:33 -04:00
Vincent St-Amour
6e5ea420a1 Removed useless requires. 2010-09-09 18:54:33 -04:00
Vincent St-Amour
85550953c8 Removed unused exports. 2010-09-09 18:54:33 -04:00