Commit Graph

135 Commits

Author SHA1 Message Date
Vincent St-Amour
101feb8200 Added a button for the performance report tool when in a typed language. 2011-07-15 15:04:51 -04:00
Vincent St-Amour
59a85b3eb2 Add list optimizations. 2011-07-11 15:55:07 -04:00
Vincent St-Amour
a7459c5ee7 Do partial bounds checking elimination for flvector operations. 2011-07-06 18:09:31 -04:00
Vincent St-Amour
60f3074ccd Do the impersonator? check up front. 2011-07-06 18:09:30 -04:00
Vincent St-Amour
979545a90f First stab at optimizing bounds checking. 2011-07-06 18:09:29 -04:00
Matthew Flatt
1160d3df62 remove syntax certificates; add syntax taints 2011-06-29 19:15:48 -06:00
Vincent St-Amour
26b909744c Display irritants nicely. 2011-06-17 18:18:04 -04:00
Vincent St-Amour
e8dcee732e Don't merge missed optimizations repeatedly, which artificially increases badness. 2011-06-17 18:18:04 -04:00
Vincent St-Amour
fc08b4d401 Display badness of missed optimizations. 2011-06-17 18:18:04 -04:00
Vincent St-Amour
9dbca39cfe Use write instead of display for syntax in logs. 2011-06-17 18:18:04 -04:00
Vincent St-Amour
847e4b2e23 Do duplicate detection at the expanded syntax level, instead of the source level. 2011-06-17 18:18:04 -04:00
Vincent St-Amour
fddf189530 Report opts and missed opts in terms of the original programs, not in terms of expanded code. 2011-06-17 18:18:04 -04:00
Vincent St-Amour
86efbc8396 Specify opt or missed opt in the TR log format. 2011-06-17 18:18:03 -04:00
Vincent St-Amour
d9256f2b76 Refactoring. 2011-06-17 18:18:03 -04:00
Vincent St-Amour
1a2080fc97 Handle the case where we would need to merge with multiple children at once. 2011-06-17 18:18:02 -04:00
Vincent St-Amour
e095976c8b Simplify log sorting. 2011-06-17 18:18:02 -04:00
Vincent St-Amour
8d2f66faa6 First attempt at handling missed optimization cascades.
Currently, if missed optimizations a and b are of the same kind, a is caused
by b, and b is caused by c, we merge them into a single miss with cause c.

This works in some cases, but fails in others.
2011-06-17 18:18:02 -04:00
Vincent St-Amour
6de90b7185 Sort irritants by source location. 2011-06-17 18:18:02 -04:00
Vincent St-Amour
c5ca1422a2 Abstract out printing of missed optimization log messages. 2011-06-17 18:18:02 -04:00
Vincent St-Amour
4c31b08554 Put logging code in its own file. 2011-06-17 18:18:02 -04:00
Vincent St-Amour
c54717d557 Have more structure to missed optimizations, for eventual handling of nesting and/or missed optimization cascades. 2011-06-17 18:18:02 -04:00
Vincent St-Amour
6b5095df2d Have multiple irritants for missed optimizations. 2011-06-17 18:18:02 -04:00
Vincent St-Amour
cb706aab9c Change log message to reflect new behavior. 2011-06-17 18:18:02 -04:00
Vincent St-Amour
f547b99ed5 Remove useless irritant. 2011-06-17 18:18:02 -04:00
Vincent St-Amour
9528f63cf0 Swap miss region and irritant. 2011-06-17 18:18:02 -04:00
Vincent St-Amour
647ae4fe9a Report missed optimizations for unary float operations. 2011-06-17 18:18:01 -04:00
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