Vincent St-Amour
f9205665e4
Add a section on performance debugging to the TR guide.
2011-06-17 18:18:04 -04: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
dda1b1c880
Don't keep useless return values around.
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
866225b659
Adapt the log update script to work on specific files.
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
fc25b43293
Add script to update test files to new log formats.
2011-06-17 18:18:03 -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
9f78a92613
Fix test log to use new format.
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
a319ba1058
Fix missed-optimization tests to also look for optimization messages.
2011-06-17 18:18:01 -04:00
Vincent St-Amour
e8621f58ea
Fix optimization tests to also look for missed-optimization messages.
2011-06-17 18:18:01 -04:00
Vincent St-Amour
28692786b3
Have optimizer test harness look only at log messages that came from the optimizer.
2011-06-17 18:18:01 -04:00
Vincent St-Amour
641dd731ab
Fix optimizer test harness to use the new syntax of with-logging-to-port.
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
09015722e3
Use with-logging-to-port from unstable.
2011-06-17 18:18:01 -04:00
Vincent St-Amour
47f48c08ad
Revise with-logging-to-port to avoid the extra dummy log entry.
2011-06-17 18:18:01 -04:00
Vincent St-Amour
a2afe2c285
Adapt the optimizer's test harness for the new logging strategy.
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
28cbad21b9
Add a directory for optimizer tests that we know fail.
2011-06-17 18:18:00 -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
147032e428
Extra test for precision loss.
2011-06-17 18:18:00 -04:00
Vincent St-Amour
0432ea16cb
Add an extra test that checks for non-reporting of false positives.
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
fb36786c4d
Add failing test for nicer reporting of cascades of missed optimizations.
2011-06-17 18:17:59 -04:00