Commit Graph

1259 Commits

Author SHA1 Message Date
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
Eric Dobson
2c4a553459 Cleaned up base-env. Added comments about untyped identifiers.
Used one-of/c to clean up some types.

original commit: 1348887bd14a115518a4e0eab053b3bdd348e91b
2011-06-17 15:17:20 -04:00
Eric Dobson
ee96de4dce Moved tests for equality to unit tests
original commit: 0671945a8d39c87dfe3536291a06bf2dc00f241d
2011-06-17 15:17:20 -04:00
Eric Dobson
ef4531d328 Added types for reading and writing operations
original commit: feeccc062bb4a00cf3ab4f77e6bf8f100d72f630
2011-06-17 15:17:19 -04:00
Eric Dobson
c189a053f5 Added types for regexp operations. Changed Regexp to correspond to regexp?.
original commit: 029651b9eeaed6b4cecb800da2c01fa6cbed1270
2011-06-17 15:17:19 -04:00
Eric Dobson
ba0a3b98e7 Added public names for recently added types
original commit: 3e1a95750d41acc4d4ae418f6f8acafc9085f6dc
2011-06-17 15:17:19 -04:00
Eric Dobson
fedb424889 Added types for I/O operations
original commit: 6f3bbad3676120d2618e8ca359cf44c588c693b2
2011-06-17 15:17:19 -04:00
Eric Dobson
400b626e8b Added types and some tests for port operations
original commit: 54a12afb49de224a305ae1c8ecd09c517ad7a95e
2011-06-17 15:17:19 -04:00
Eric Dobson
c99acfa622 Added types and tests for equality operations.
original commit: c77e906c7afb257d94e61a01706553064150a1a6
2011-06-17 15:17:19 -04:00
Eric Dobson
5fef88131d Added types and tests for raising and handling exceptions
original commit: 2d152bac79e8a447d92ca8c5a05a78aef27da020
2011-06-17 15:17:19 -04:00
Eric Dobson
fff49902ea Added types and tests for symbol operations
original commit: 4ba12dd20e618fee9d00601a94d7ce060f2a31ee
2011-06-17 15:17:19 -04:00
Eric Dobson
046b62fdaf Added types and tests for string operations
original commit: ab23db7b5b2bbb310e503cac7345eed73af94f56
2011-06-17 15:17:19 -04:00
Vincent St-Amour
3face0ff46 Unify types and filter behavior of not and false?.
original commit: 26541ffbbdccf7d27db1f1ae439430090fcb4b0b
2011-06-16 18:08:44 -04:00
Sam Tobin-Hochstadt
a431e7b5c7 Add contracts for `Sequenceof' values.
original commit: eaa156554a5c5305d147371bec0619436a0e7993
2011-06-15 17:02:09 -04:00