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
Vincent St-Amour
5a35d4ea66
Optimize add1 and sub1 on floats and fixnums.
...
original commit: 3ebe9e78f9c86feb14d80dd499adec6438dc37e3
2011-03-18 13:25:05 -04:00
Vincent St-Amour
b05cef80e3
Use subtype test, just in case.
...
original commit: d06bf0de912355eb776f060c9d7a0a137f50a339
2011-03-18 13:25:05 -04:00
Vincent St-Amour
c8a4abd264
Improve TR's fixnum optimizations, using the new sub-fixnum types.
...
original commit: 1f0386b46cc7ef08ac59d1d3453412f5eaf3f1e3
2011-03-18 10:25:22 -04:00
David Van Horn
091a0f64e3
Fixes more spelling errors.
...
original commit: 760a58b65df2b91010d2bcc2739ddab2a4489729
2011-02-04 19:44:13 -07:00
Vincent St-Amour
2b933e4436
Remove some legacy bindings.
...
original commit: d65438c9ea1bacce33579c81cc0e22120ab64f5d
2011-01-31 16:39:19 -05:00
Vincent St-Amour
f6590e9db2
Fix optimizer to work with new types.
...
original commit: 768bb6336142726023bfe2029b5aa25728bda0a3
2011-01-31 16:39:14 -05:00
Vincent St-Amour
d5941cb2d6
TR's numeric tower is now built from unions of non-overlapping base types.
...
A lot of the work that was done by special-casing number types can now be
done by TR's handling of unions. This makes it easier to add more numeric
types to the tower and should make writing down types for numeric
primitives much less error-prone.
In addition, this commit adds several numeric types that will help get
tighter bounds on integer arithmetic, such as Index types. They will have
to be integrated to the base environment before they can be useful.
original commit: d4c93cc12e6df893ba2e782f0e0ea5529738315a
2011-01-31 16:39:13 -05:00
Vincent St-Amour
dc0473f67f
map + syntax->list -> syntax-map
...
original commit: 33581fd67e26e5cc21acac50b5380087e8e9c8b8
2010-12-08 18:17:05 -05:00
Matthew Flatt
28406c5093
swap vector*-ref' and
vector-ref', etc.
...
Merge to 5.0.2
original commit: 5d8e000d6d37cb9a032f4bcf4d82c63d8e51bae1
2010-10-25 11:22:35 -06:00
Vincent St-Amour
4a6b3b2b57
Removed logging when no optimization actually happens.
...
original commit: 12a5454b147468df59e92cb7057e0e9515ad5abd
2010-10-14 14:13:06 -04:00
Vincent St-Amour
1a4e176824
Inexact-Complex -> Float-Complex
...
original commit: 27e722f27b673cbfcee60aaba75dfdcab7e396c5
2010-10-12 16:47:46 -04:00
Vincent St-Amour
92b3f9af03
Changed the TR numeric tower to use the new flonums.
...
original commit: a59a99c42dffec38be98f3c0449097c80bad40fe
2010-10-12 16:47:45 -04:00
Vincent St-Amour
428e96980b
Added optimization for first, second and co when possible.
...
original commit: 2c4d6fbb015e7433fbd8aec68867134988f367bf
2010-10-12 16:47:44 -04:00
Vincent St-Amour
ed4294a6f2
Have the optimizer ignore struct/exec.
...
original commit: 99178c70a0dd5add19b13eec4380f357e0e6680c
2010-10-06 18:43:35 -04:00
Vincent St-Amour
71d2819cba
Removed an obsolete comment.
...
original commit: 1b28aa41c706292734f81a61411305e8d4546847
2010-09-15 20:21:51 -04:00
Vincent St-Amour
f88c8f479e
Extended pair optimization to the rest of the standard derived pair accessors.
...
original commit: 0166ece180194605a52841a2a91fb2618e0372a1
2010-09-09 18:54:34 -04:00
Vincent St-Amour
19dcce8809
Refactoring.
...
original commit: 74508210687ad0e415af1f28037357ec2640e3ba
2010-09-09 18:54:34 -04:00
Vincent St-Amour
dee0ddc16e
Extended pair optimizations to some derived pair accessors.
...
original commit: 024f873947bb5664b92cd68be55653b2ca4a24ee
2010-09-09 18:54:33 -04:00
Vincent St-Amour
51faa45faa
Removed useless requires.
...
original commit: 6e5ea420a1bad921ab07788c64df6a2daaa933af
2010-09-09 18:54:33 -04:00
Vincent St-Amour
66770afa1c
Removed unused exports.
...
original commit: 85550953c8b484da89bb107f7785c4e8e1188e2c
2010-09-09 18:54:33 -04:00
Sam Tobin-Hochstadt
e717d29b74
Lots more laziness, and useless require removal.
...
original commit: b6b840076b275d653843400f18259bf7f67c7a53
2010-09-09 16:08:03 -04:00
Vincent St-Amour
a50913b597
Removed unsafe optimization on fixnums.
...
original commit: ae88abd5c849b664e4720fb0ac20b29c684b2a2b
2010-09-07 16:57:02 -04:00
Ryan Culpepper
721c939b95
added #:commit to TR optimizer stxclasses
...
original commit: 0c4f82a434daa05decb6f4c92bede7ef11d5b998
2010-08-31 16:21:44 -06:00
Ryan Culpepper
7799959a8b
fixed TR optimizer to work with backtracking syntax/parse update
...
problem was unboxed-inexact-complex-opt-expr, "non exhaustive" error variant
original commit: 04a93812b455586ca3ad8c69844e20ddc6025162
2010-08-31 10:55:58 -06:00
Vincent St-Amour
5ead0f43e2
Cleanup of syntax-parse patterns.
...
original commit: 988466369739ac5682205e49185c3956e07f3f0d
2010-08-27 14:43:19 -04:00
Vincent St-Amour
31342660e4
Improved logging since it's now used for testing.
...
original commit: ca16ac4db50032324c2886766f477909f38b983c
2010-08-27 13:29:42 -04:00
Vincent St-Amour
2ed40e6b09
Adapted filename logging for testing purposes.
...
original commit: 6f6ec3b2bf1999e64c04b9ff2afb29739e9c3eef
2010-08-27 13:29:42 -04:00
Vincent St-Amour
99658f326c
Logging can be turned on from the command-line.
...
original commit: 9b598df60a5fb621491a3513ff445e2db6053f83
2010-08-27 13:29:41 -04:00
Sam Tobin-Hochstadt
4d0a7b1d97
Fixes for real/imag-part
...
original commit: 52c90628ce5ec306287c8202ab863fefbb9a1d62
2010-08-26 16:59:12 -04:00
Sam Tobin-Hochstadt
c35ef60c7f
Avoid reboxing when computing real/imag-part.
...
original commit: c40c48bd97b12526e8cc9da0b9a68926478cdbdf
2010-08-26 16:59:12 -04:00
Sam Tobin-Hochstadt
daa11ce61f
Add optimization for `magnitude', fix handling of functions that return floats, not complexes.
...
original commit: fd2d37a7108855691b566997d4c9a3032416f169
2010-08-26 16:59:12 -04:00
Vincent St-Amour
918d50b25d
Changed optimization order for reals in complex operations.
...
Made generated names more informative and updated tests accordingly.
original commit: c653a8e655712d1108bedfff505cb51d9b804005
2010-08-05 16:43:36 -04:00
Vincent St-Amour
d65ea9ef38
Unbox literals at expansion time.
...
original commit: 1105e70b302416c40269c11e60d7ddaa3d14b66e
2010-08-05 09:04:23 -04:00
Vincent St-Amour
82340857d9
Optimize coercion of integer literals.
...
original commit: bdf84f371d4ccf952e08251703a4249c37f81a85
2010-08-05 09:04:23 -04:00
Vincent St-Amour
4c41407d64
Added optimization for make-polar
...
original commit: fb31a6556e04d9aa6aa31c215394a80b9d146bd7
2010-08-05 09:04:22 -04:00
Vincent St-Amour
492c89be8d
Eliminate user-introduced boxing.
...
original commit: b47a77dd57a4ed92f49cd92253c6c06905923f9f
2010-08-02 21:33:30 -04:00
Vincent St-Amour
fbb55c63c4
Extended use-site analysis to look through trivial rebindings, to support for loops.
...
original commit: 27f8279711ae93601c00d27c8041a017afdf592c
2010-07-29 18:29:59 -04:00
Vincent St-Amour
a016db4697
Make sure that let-bound functions don't escape through a rhs before we change their interface.
...
original commit: 260de85a6efbc692abaec64d6837a4dfa965cb78
2010-07-29 18:29:58 -04:00
Vincent St-Amour
78a27d2bf9
Fixed over-generous pattern matching.
...
original commit: 435407b37a519c2e0c4401f9a07f93de99e134cb
2010-07-29 18:29:58 -04:00
Vincent St-Amour
851401b25b
Fixed a bug that caused the let optimizations to choke on TR-introduced code.
...
original commit: b58461da2dc2fd495e555e24ffd1abddca3a25b3
2010-07-29 18:29:58 -04:00