Commit Graph

129 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
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
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
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
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
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
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
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
968f60d8e1 Report close calls for pair/mpair optimizations.
original commit: 89ca99210ec6e62167e1aebc846b48882a31354e
2011-06-17 18:17:59 -04:00
Vincent St-Amour
a0de25443c Show irritant for the currently detected close calls.
original commit: 95bf94577c7c9d3c2c41075b3ba5d0b2ce2c1155
2011-06-17 18:17:59 -04:00
Vincent St-Amour
6837e13536 Made logging format more compact and less ambiguous.
original commit: 33962befd4fe704f4e15caa4b157187c10cf9944
2011-06-17 18:17:59 -04:00
Vincent St-Amour
78767f809a Add layer predicates.
original commit: 26cc2cf6dc81323463e0d448de890bbb2621a3ae
2011-06-17 18:17:59 -04:00
Vincent St-Amour
69b3ea5f28 First attempt at logging unexpected Real types popping up.
original commit: 7b2c6f5765c2f3b5aefd24f15bbd6f9bf5855749
2011-06-17 18:17:58 -04:00
Vincent St-Amour
0b6c2b40c9 Add logging infrastructure to log close calls.
original commit: 303e1f7f883be6ada89b665d58cf40eade568ec6
2011-06-17 18:17:58 -04:00
Vincent St-Amour
5dfb07f5b4 Optimize sqr on floats.
original commit: 6de5f48810f00c943104ac67603800b7f6da2f36
2011-06-02 16:49:25 -04:00
Vincent St-Amour
534cd21a09 Preserve source location in the optimizer.
original commit: c7d2f13dd0124cf87ea8770c8c5b0299d95694d5
2011-05-24 16:53:53 -04:00
Vincent St-Amour
7e441e8e31 Remove trailing whitespace.
original commit: 3b036388d64c33a63bad18e53341b54bac719b1a
2011-05-18 17:09:45 -04:00
Vincent St-Amour
a724f07dc3 Better solution to the toplevel printing bug.
original commit: bc4a7df94d199ac036087b778f22c434d276c0f6
2011-05-17 18:30:53 -04:00
Vincent St-Amour
2b172d3a25 Avoid printing results of tests when eliminating if branches at the toplevel.
Closes PR 11928.

original commit: 8f6d3c792024ea0985679ac3e07f4d32b02d19c1
2011-05-17 17:47:21 -04:00
Vincent St-Amour
9ae241c0b8 Coerce reals in float expressions when valid.
original commit: 4cd0ad4b1a462ff89c8959e65e815fb558454f73
2011-05-16 11:44:35 -04:00
Vincent St-Amour
5b11b9f98b Promote more literals at compile-time.
original commit: 4d24cbee606b19dea77d7225fba4517957d6fc0a
2011-04-29 17:16:39 -04:00
Sam Tobin-Hochstadt
8ebebdeb8f Copy properties when optimizing bodies of lambda/define-values.
Closes PR 11860.

original commit: 981616d504c1c0c6f91effedc6166a324de328e3
2011-04-18 15:41:50 -04:00
Ryan Culpepper
332517bc27 created racket/syntax from parts of unstable/syntax
original commit: 73ab1675222761363f6633061bc1156189f4ba59
2011-04-07 09:47:20 -06:00
Vincent St-Amour
f01605d921 Fix bounded-fixnum opts to only fire with the right number of arguments.
original commit: 9c3bee03e7f24390338e3f37d06eb84940d6a137
2011-04-01 14:56:17 -04:00