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