Commit Graph

142 Commits

Author SHA1 Message Date
Vincent St-Amour
2ecec626b3 Remove highlights after editing. 2011-07-15 15:04:52 -04:00
Vincent St-Amour
14be886288 Highlight opts and missed-opts in the editor. 2011-07-15 15:04:52 -04:00
Vincent St-Amour
7f3bb5d017 Pass log struct along with the log messages. 2011-07-15 15:04:52 -04:00
Vincent St-Amour
75f62dbdcc Preserve lines and columns. 2011-07-15 15:04:51 -04:00
Vincent St-Amour
c598ae2048 Switch to using get-port-name. 2011-07-15 15:04:51 -04:00
Vincent St-Amour
27f3eb3870 Report optimizations and missed optimizations with the DrRacket tool.
Currently, that just means showing the text that would be shown on the
command line. Eventually, it should highlight code in the editor, and
have tooltips explaining what happened.
2011-07-15 15:04:51 -04:00
Vincent St-Amour
a71a45e41f Relocate TR logging capture. 2011-07-15 15:04:51 -04:00
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