Commit Graph

2213 Commits

Author SHA1 Message Date
Vincent St-Amour
77e9234c06 Display irritants nicely.
original commit: 26b909744cb2697c00bf09638871c7688d328657
2011-06-17 18:18:04 -04:00
Vincent St-Amour
261821834f Don't merge missed optimizations repeatedly, which artificially increases badness.
original commit: e8dcee732e139885fe9eb8348e33799ff3a659c6
2011-06-17 18:18:04 -04:00
Vincent St-Amour
467f00562c Display badness of missed optimizations.
original commit: fc08b4d401b446a6f69818e2e4b42db1e48f2422
2011-06-17 18:18:04 -04:00
Vincent St-Amour
dadfa4b62d Use write instead of display for syntax in logs.
original commit: 9dbca39cfe20876b131592871670f5567471fcf7
2011-06-17 18:18:04 -04:00
Vincent St-Amour
f2c1f3c7aa Don't keep useless return values around.
original commit: dda1b1c8804dcc833082d02a59c99ae77a15ab26
2011-06-17 18:18:04 -04:00
Vincent St-Amour
51dd8b0469 Do duplicate detection at the expanded syntax level, instead of the source level.
original commit: 847e4b2e233d95d0a3fff1f8ceaf6bc62ea31e05
2011-06-17 18:18:04 -04:00
Vincent St-Amour
151ce60dc1 Adapt the log update script to work on specific files.
original commit: 866225b65977a7f5bedcfaccd8d9aabc56e1fff7
2011-06-17 18:18:04 -04:00
Vincent St-Amour
205f0882a5 Report opts and missed opts in terms of the original programs, not in terms of expanded code.
original commit: fddf18953094f1a98fe8b4afe0a95dd1500f5194
2011-06-17 18:18:04 -04:00
Vincent St-Amour
56279151a7 Add script to update test files to new log formats.
original commit: fc25b43293a88967825c9e9b70f9aca89070e0dc
2011-06-17 18:18:03 -04:00
Vincent St-Amour
4180449ead Specify opt or missed opt in the TR log format.
original commit: 86efbc83968ddd0486dea493830f409c05b52e5e
2011-06-17 18:18:03 -04:00
Vincent St-Amour
d5ee54a9e9 Refactoring.
original commit: d9256f2b766af163c208c9d9ea93c1bb0579a218
2011-06-17 18:18:03 -04:00
Vincent St-Amour
d4a251d72e Fix test log to use new format.
original commit: 9f78a926137698280508ef4067005a558167d4ab
2011-06-17 18:18:03 -04:00
Vincent St-Amour
56f8d7e069 Handle the case where we would need to merge with multiple children at once.
original commit: 1a2080fc9708f49c0dc872c92266b24b4bbc42c2
2011-06-17 18:18:02 -04:00
Vincent St-Amour
beb05e473c Simplify log sorting.
original commit: e095976c8b09dc4ee126c6e78809ef4907ead770
2011-06-17 18:18:02 -04:00
Vincent St-Amour
d2d2432b1d 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.

original commit: 8d2f66faa6e77376e04827cd56be440325d77a29
2011-06-17 18:18:02 -04:00
Vincent St-Amour
33d343dd6f Sort irritants by source location.
original commit: 6de90b71853d6b8b82e9f6a161fc3846d1f94cf3
2011-06-17 18:18:02 -04:00
Vincent St-Amour
4eece2b27f Abstract out printing of missed optimization log messages.
original commit: c5ca1422a2affa91caeb36e99a35321694ccbedc
2011-06-17 18:18:02 -04:00
Vincent St-Amour
2151a7edc0 Put logging code in its own file.
original commit: 4c31b085546f5e4c6f20982b805fcebd6c6bb5ba
2011-06-17 18:18:02 -04:00
Vincent St-Amour
1621df5042 Have more structure to missed optimizations, for eventual handling of nesting and/or missed optimization cascades.
original commit: c54717d5575b3521553c65982d19b52b721c2ade
2011-06-17 18:18:02 -04:00
Vincent St-Amour
4af09c09bc Have multiple irritants for missed optimizations.
original commit: 6b5095df2de13287ad85f8309c84a1c966632eac
2011-06-17 18:18:02 -04:00
Vincent St-Amour
f808b49551 Change log message to reflect new behavior.
original commit: cb706aab9c8ade7b929f7aa9655fe3d302acc67e
2011-06-17 18:18:02 -04:00
Vincent St-Amour
db610d44eb Remove useless irritant.
original commit: f547b99ed510d34a8f738c4f255757bff6ae56f6
2011-06-17 18:18:02 -04:00
Vincent St-Amour
b5f2771096 Swap miss region and irritant.
original commit: 9528f63cf0bd37bc8b871adaede5c2b5f27c0683
2011-06-17 18:18:02 -04:00
Vincent St-Amour
ff34fbdd82 Report missed optimizations for unary float operations.
original commit: 647ae4fe9aed2c9c171957bc631e22df54ba60fc
2011-06-17 18:18:01 -04:00
Vincent St-Amour
c333078bae Make unary float optimizations less restrictive.
original commit: cc129adb39f15f01c19ebf43270e03fde99acffd
2011-06-17 18:18:01 -04:00
Vincent St-Amour
289457fa27 Rephrase a missed optimization message.
original commit: 484fb029f100562891e50d073826fb38768cb0c1
2011-06-17 18:18:01 -04:00
Vincent St-Amour
2413e0d498 Fix missed-optimization tests to also look for optimization messages.
original commit: a319ba1058cae034c50caa84b7e9a1ed7eb9c2a2
2011-06-17 18:18:01 -04:00
Vincent St-Amour
6e9edea55d Fix optimization tests to also look for missed-optimization messages.
original commit: e8621f58eab1a363fb26febe6b4249d76d81e47b
2011-06-17 18:18:01 -04:00
Vincent St-Amour
22d40980c3 Have optimizer test harness look only at log messages that came from the optimizer.
original commit: 28692786b3dd95bdc7725a247a60ca04fe1d84b6
2011-06-17 18:18:01 -04:00
Vincent St-Amour
7dca73dd33 Fix optimizer test harness to use the new syntax of with-logging-to-port.
original commit: 641dd731ab0c699180435578fdc0a393ef03d1a5
2011-06-17 18:18:01 -04:00
Vincent St-Amour
b5cf24813c Add a "unique" key to log messages that are sent by the optimizer.
original commit: 81d6e380dad25205ddbf82120cad27ad65c83235
2011-06-17 18:18:01 -04:00
Vincent St-Amour
c8052ab240 Use with-logging-to-port from unstable.
original commit: 09015722e3dd8e2843524f80e5ebc1f7d09cfed0
2011-06-17 18:18:01 -04:00
Vincent St-Amour
191c3b4601 Revise with-logging-to-port to avoid the extra dummy log entry.
original commit: 47f48c08ad4aaa5d33b8dd9ac91f7228e7cfc2b5
2011-06-17 18:18:01 -04:00
Vincent St-Amour
0f51793f04 Adapt the optimizer's test harness for the new logging strategy.
original commit: a2afe2c285c377e9ca15bbb5eb682ab93e7dc500
2011-06-17 18:18:01 -04:00
Vincent St-Amour
8b52f84497 Use racket's logging facilities for the optimizer logs.
original commit: 7347da4919ca6c5a7496992c5cd9f0e83d215b5b
2011-06-17 18:18:01 -04:00
Vincent St-Amour
f3e69a8ac4 Sort optimizer logs by source location, to prepare for eventual user consumption.
original commit: 9ae4f82c0a3992508afdd4fbb5cbc355fa146b03
2011-06-17 18:18:00 -04:00
Vincent St-Amour
9c0d671167 Keep source location around for derived pair optimizations.
original commit: 5a151420e46fd06221c63504509de9608365e411
2011-06-17 18:18:00 -04:00
Vincent St-Amour
90e30bb455 Don't print duplicate log entries.
original commit: b8b061fb3993a154786b18b5d75d8d4d9d0b54cd
2011-06-17 18:18:00 -04:00
Vincent St-Amour
3fbdaccc51 Extra test for precision loss.
original commit: 147032e428ccb82d6487624bf8d820e50478a198
2011-06-17 18:18:00 -04:00
Vincent St-Amour
08d32b5b0c Add an extra test that checks for non-reporting of false positives.
original commit: 0432ea16cb75bfb897d915c9d6d50d93db15c477
2011-06-17 18:18:00 -04:00
Vincent St-Amour
5d201843e5 close-call -> missed-optimization
original commit: b598c4a1ebbe6eae71384355d2b0f55d0bed6fa7
2011-06-17 18:18:00 -04:00
Vincent St-Amour
7600062905 Report unexpected complex types in arithmetic expressions.
original commit: c73bc6c918af143a774bc79d83df789888393fa6
2011-06-17 18:18:00 -04:00
Vincent St-Amour
d64af4df5d Add in-complex-layer?.
original commit: 2a7254a324e6ec68982d3966df04e8c264d89bca
2011-06-17 18:18:00 -04:00
Vincent St-Amour
292433204b Generalize reporting of wasted precision to arbitrary exact arithmetic expressions.
original commit: 2a4a4e818424cf1879afcfbd6e7f5dfa0284ced3
2011-06-17 18:18:00 -04:00
Vincent St-Amour
58360f3a16 Add an arith-expr syntax class, to simplify parts of the optimizer.
original commit: ec696f26ae5375b83f4eb8666047e803b19214e4
2011-06-17 18:17:59 -04:00
Vincent St-Amour
6cb0669985 Move layer predicates to their own file.
original commit: b64b49b078e444f0ec9c41a9ecf4543fb397d059
2011-06-17 18:17:59 -04:00
Vincent St-Amour
4c08c496f6 Report when exact arithmetic is used inside float expressions, which may make the extra precision useless.
original commit: cd027109c9aa71d788764d934992d290bd586a39
2011-06-17 18:17:59 -04:00
Vincent St-Amour
9d1bfedc5e Add a test case for close-calls on all-real arithmetic expressions.
original commit: 5d4ef5c62478ca1dfeeb5a79d6ed65479283a31f
2011-06-17 18:17:59 -04:00
Vincent St-Amour
968f60d8e1 Report close calls for pair/mpair optimizations.
original commit: 89ca99210ec6e62167e1aebc846b48882a31354e
2011-06-17 18:17:59 -04:00
Vincent St-Amour
c21628133e Add extra checks to avoid spurious close call reporting involving integer operations.
original commit: 526a84f10b0dc08ffb8f0cbc52b08d7a441487ba
2011-06-17 18:17:59 -04:00