Vincent St-Amour
|
1105e70b30
|
Unbox literals at expansion time.
|
2010-08-05 09:04:23 -04:00 |
|
Vincent St-Amour
|
bdf84f371d
|
Optimize coercion of integer literals.
|
2010-08-05 09:04:23 -04:00 |
|
Vincent St-Amour
|
fb31a6556e
|
Added optimization for make-polar
|
2010-08-05 09:04:22 -04:00 |
|
Vincent St-Amour
|
b47a77dd57
|
Eliminate user-introduced boxing.
|
2010-08-02 21:33:30 -04:00 |
|
Vincent St-Amour
|
27f8279711
|
Extended use-site analysis to look through trivial rebindings, to support for loops.
|
2010-07-29 18:29:59 -04:00 |
|
Vincent St-Amour
|
260de85a6e
|
Make sure that let-bound functions don't escape through a rhs before we change their interface.
|
2010-07-29 18:29:58 -04:00 |
|
Vincent St-Amour
|
435407b37a
|
Fixed over-generous pattern matching.
|
2010-07-29 18:29:58 -04:00 |
|
Vincent St-Amour
|
b58461da2d
|
Fixed a bug that caused the let optimizations to choke on TR-introduced code.
|
2010-07-29 18:29:58 -04:00 |
|
Vincent St-Amour
|
f08456cf07
|
Extended unboxing of let-bound functions to support let loops.
|
2010-07-29 18:29:57 -04:00 |
|
Vincent St-Amour
|
855928eb7b
|
Fixed a bug in the complex use-site analysis.
|
2010-07-29 18:29:57 -04:00 |
|
Vincent St-Amour
|
4633a2a30a
|
Refactoring of the call-site correction code.
|
2010-07-29 18:29:55 -04:00 |
|
Vincent St-Amour
|
29b9eb389d
|
Changed optimization order, to avoid potential conflicts.
|
2010-07-29 18:29:55 -04:00 |
|
Vincent St-Amour
|
eed20f7c3a
|
Fix for escaping functions.
|
2010-07-29 18:29:55 -04:00 |
|
Vincent St-Amour
|
3e9e5560bf
|
Be more aggressive when unboxing let bindings.
|
2010-07-29 18:29:54 -04:00 |
|
Vincent St-Amour
|
defe96a148
|
Fixed a bug with functions with unboxed complex and non-complex args.
|
2010-07-29 18:29:53 -04:00 |
|
Vincent St-Amour
|
9d471df8b9
|
Added unboxed arguments to let-bound functions.
|
2010-07-29 18:29:53 -04:00 |
|
Vincent St-Amour
|
1d758ee782
|
Added an option to see the result of the optimizer before compiling.
|
2010-07-29 18:29:53 -04:00 |
|
Vincent St-Amour
|
b0d299d1b8
|
Added unboxed letrec-syntaxes+values bindings.
|
2010-07-29 18:29:52 -04:00 |
|
Vincent St-Amour
|
8dc23d43eb
|
Added unboxed letrec bindings.
|
2010-07-29 18:29:52 -04:00 |
|
Vincent St-Amour
|
4803eafa67
|
Fixed a bug with exact complexes.
|
2010-07-25 22:15:18 -04:00 |
|
Vincent St-Amour
|
1b998f25e5
|
Fix to tolerate complexes of unknown exactness inside inexact-complex
expressions.
|
2010-07-25 20:13:36 -04:00 |
|
Vincent St-Amour
|
80b6ef7dd1
|
The optimizer now ignores code that is inside a with-handlers form,
since it would be typechecked in an unusual manner.
|
2010-07-23 18:52:47 -04:00 |
|
Vincent St-Amour
|
5892ef2fad
|
Fixed unboxing of let bindings.
|
2010-07-23 18:52:46 -04:00 |
|
Vincent St-Amour
|
12ce9abda6
|
Fixed typo.
|
2010-07-23 18:52:45 -04:00 |
|
Vincent St-Amour
|
82b064a520
|
The optimizer now ignores expressions ignored by the typechecker.
|
2010-07-23 18:52:44 -04:00 |
|
Vincent St-Amour
|
83987fffac
|
let bindings of inexact-complex numbers can be replaced by bindings
for each of their components.
This allows unboxing of intermediate results that are bound and only
ever used in positions where they would be unboxed.
|
2010-07-23 18:52:42 -04:00 |
|
Vincent St-Amour
|
063b87697a
|
Optimized extracting parts of inexact complexes.
|
2010-07-23 18:52:42 -04:00 |
|
Vincent St-Amour
|
0493e6f762
|
Refactoring of the optimizer.
|
2010-07-23 18:52:41 -04:00 |
|
Sam Tobin-Hochstadt
|
5bb730f72c
|
Optimize (apply + (map f l)) to avoid the intermediate list.
|
2010-07-23 14:11:40 -04:00 |
|
Vincent St-Amour
|
0ee0886cab
|
Optimizations on one-argument cases of arithmetic operations.
|
2010-07-21 21:09:43 -04:00 |
|
Vincent St-Amour
|
4e944f73ab
|
Added optimization for string-length and bytes-length.
|
2010-07-21 21:09:42 -04:00 |
|
Vincent St-Amour
|
d6ce6e664f
|
Added box optimizations.
|
2010-07-21 21:09:42 -04:00 |
|
Vincent St-Amour
|
47195410cb
|
Added optimization for zero?.
|
2010-07-21 21:09:40 -04:00 |
|
Vincent St-Amour
|
fc29e7e856
|
Added mutable pair optimizations.
|
2010-07-16 12:22:16 -04:00 |
|
Vincent St-Amour
|
f21454e711
|
Fixed an infinite loop.
|
2010-07-16 12:22:16 -04:00 |
|
Vincent St-Amour
|
c587038b33
|
The imaginary parts of reals are ignored when doing complex division.
|
2010-07-16 12:22:15 -04:00 |
|
Vincent St-Amour
|
443d8b9f91
|
Fixnums and integers can now be coerced for complex operations.
|
2010-07-16 12:22:15 -04:00 |
|
Vincent St-Amour
|
c645aa7ebc
|
The imaginary parts of inexact reals are ignored when doing complex multiplication.
|
2010-07-16 12:22:15 -04:00 |
|
Vincent St-Amour
|
748e9e47ad
|
The imaginary parts of inexact reals are ignored when doing complex
addition or subtraction.
|
2010-07-16 12:22:13 -04:00 |
|
Vincent St-Amour
|
025af5b815
|
Added coercions for floats with unboxed complex operations.
However, this generates superfluous operations involving their
imaginary part of 0.
|
2010-07-16 12:22:13 -04:00 |
|
Vincent St-Amour
|
fff71e6a1d
|
Enabled optimization of complex conjugate at the top level of complex operations.
|
2010-07-16 12:22:12 -04:00 |
|
Vincent St-Amour
|
063211d922
|
Added unboxed complex conjugate.
|
2010-07-16 12:22:12 -04:00 |
|
Vincent St-Amour
|
0b0da84eba
|
Added optimizations for iterating over vectors and strings.
|
2010-07-16 12:22:12 -04:00 |
|
Vincent St-Amour
|
1e550139aa
|
Added dead code elimination.
|
2010-07-16 12:22:11 -04:00 |
|
Vincent St-Amour
|
dbda43ac6b
|
Pushed optimizations to auxiliary syntax classes.
|
2010-07-08 18:29:15 -04:00 |
|
Vincent St-Amour
|
c3f46cc8a6
|
Refactoring of the optimizer.
|
2010-07-08 18:29:15 -04:00 |
|
Vincent St-Amour
|
24aad77da3
|
Moved Typed Scheme's optimizer to its own subdirectory.
|
2010-07-08 18:29:15 -04:00 |
|