Vincent St-Amour
124cf9c5df
Add list optimizations.
...
original commit: 59a85b3eb2eb1f8db7200b5f3e79575ec6927362
2011-07-11 15:55:07 -04:00
Vincent St-Amour
6779719a18
Do partial bounds checking elimination for flvector operations.
...
original commit: a7459c5ee7f6ed135dc5a26e3e2788365326530d
2011-07-06 18:09:31 -04:00
Vincent St-Amour
9e995978e1
Do the impersonator? check up front.
...
original commit: 60f3074ccd6b2d399765c3254180afe1bcf2830d
2011-07-06 18:09:30 -04:00
Vincent St-Amour
30792214ae
First stab at optimizing bounds checking.
...
original commit: 979545a90ff3ca5cb730780a7a5699bb361eea48
2011-07-06 18:09:29 -04:00
Matthew Flatt
5fb4f1af3a
remove syntax certificates; add syntax taints
...
original commit: 1160d3df629ce65eb8fe9ebea2c33b8d4000ea50
2011-06-29 19:15:48 -06:00
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