Commit Graph

214 Commits

Author SHA1 Message Date
Eric Dobson
cea9472b31 Cleanup some syntax->list uses in the optimizer. 2013-05-29 08:58:42 -07:00
Eric Dobson
564a7bcf2f Remove unused code. 2013-05-29 08:58:42 -07:00
Eric Dobson
9af426b99f Move from syntax->list and map to stx-map. 2013-05-28 20:31:09 -07:00
Eric Dobson
3e4a8acf70 Move from syntax-map to stx-map. 2013-05-28 20:31:09 -07:00
Eric Dobson
4af6b6ffcf Make TR use syntax-length instead of (length (syntax->list x)). 2013-05-28 20:31:09 -07:00
Eric Dobson
83f38f4d3b Use in-syntax instead of in-list/syntax->list. 2013-05-28 20:31:08 -07:00
Eric Dobson
f6050d5587 Make for loops in TR use an annotation when applicable. 2013-05-28 20:23:46 -07:00
Eric Dobson
4310f04eaf Consolidate the rest of the syntax properties in TR. 2013-05-28 20:22:55 -07:00
Eric Dobson
a325e38046 Centralized typechecker:ignore properties. 2013-05-28 20:21:58 -07:00
Vincent St-Amour
d9264525bd Don't splice in vector creation when optimizing vector-length.
Closes PR13788.
2013-05-28 11:57:00 -04:00
Vincent St-Amour
459c731bb9 Have Optimization Coach report unsound float division missed optimizations. 2013-04-04 15:31:50 -04:00
Vincent St-Amour
a50d9bad7e Avoid unsound optimization for complex division.
Found using random testing.
2013-04-04 10:05:53 -04:00
Vincent St-Amour
b808d2809e Fix optimization on exp of complex numbers.
Found using random testing.
2013-04-02 16:29:11 -04:00
Vincent St-Amour
6e10dd6a4d Imitate untyped division more closely.
Found using random testing.
2013-04-02 16:29:08 -04:00
Vincent St-Amour
5f9bcbca49 Abstract unboxing of complex division. 2013-04-02 16:29:08 -04:00
Vincent St-Amour
ca63915693 Fix coercions from single-floats to floats.
Found using random testing.
2013-04-02 16:29:07 -04:00
Vincent St-Amour
77b89fab99 Reimplement unboxing of complex division.
Add special cases to be consistent with untyped Racket.

Found using random testing.
2013-04-02 16:29:06 -04:00
Eli Barzilay
af6be85ff5 Fix lots of indentation mistakes.
(Found by my ayatollah script...)
2013-03-14 10:55:47 -04:00
Vincent St-Amour
60959467cf Fix optimization of unary complex - and /. 2013-02-14 18:24:52 -05:00
Vincent St-Amour
c6029cacf8 Fix optimizations for complex unboxing.
Omitted parts were not used properly.
2013-02-14 18:24:52 -05:00
Eric Dobson
40a9794c8f Add missing pure functions. 2013-02-08 11:19:10 -05:00
Vincent St-Amour
2c8e5f9acb Move Optimization Coach to PLaneT 2. 2013-01-11 18:40:23 -05:00
Vincent St-Amour
54c8394280 Call inner when augmenting methods. 2013-01-11 18:40:23 -05:00
Vincent St-Amour
65bd79b003 Improve UI for profiling support. 2013-01-11 18:40:23 -05:00
Vincent St-Amour
09683d4441 Don't prune cold inlining successes. 2013-01-11 18:40:23 -05:00
Vincent St-Amour
8202de8f4a Log ill-formed log entries instead of erroring. 2013-01-11 18:40:23 -05:00
Vincent St-Amour
6480addbd1 Distinguish between different kinds of inlining failures. 2013-01-11 18:40:23 -05:00
Vincent St-Amour
8e9f21b181 Make inliner log parsing more robust.
Relies less on regular expressions and more on a custom reader.
2013-01-11 18:40:22 -05:00
Vincent St-Amour
6f6a95fdaa Don't reverse accumulated logs.
Not necessary anymore.
2013-01-11 18:40:22 -05:00
Vincent St-Amour
50777aaca4 Refactor arithmetic hidden cost logging. 2013-01-11 18:40:22 -05:00
Vincent St-Amour
e82a0ee608 Clean up checks for profile information.
It is now always available when reporting about inlining.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
3da04201cd Move Typed Racket-specific processing to its own file. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
96078c9da6 Don't track provenance at the log entry level.
Not necessary anymore.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
928ea23a12 Have separate checkbox for hidden costs. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
8ffbaabfa6 Have hidden cost reporting produce report entries directly.
Since I'm more likely to do locality than causality merging for them,
there's no reason to produce log entries instead of report entries.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
e4f3d8e73c Only show inlining reports when profiling information is available.
Without profiling information, pruning is not good enough.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
6d7f1627b8 Have inlining reporting produce report entries directly. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
4933d9f00f Separate TR optimization and info logs. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
677550cbe2 Major refactoring. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
ebf25a3cdb Prune inlining recommendations more aggressively. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
defa1b96ff Refactoring. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
a2f1e33d00 Scale badness using profile data. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
4271675f69 Report potential exact rational arithmetic in hot code. 2013-01-11 18:40:20 -05:00
Vincent St-Amour
6e9ed24eae Implement TR pruning. 2013-01-11 18:40:20 -05:00
Vincent St-Amour
9c73563705 Report struct constructors used in hot code. 2013-01-11 18:40:20 -05:00
Vincent St-Amour
a474eb9838 Report hidden parameter accesses. 2013-01-11 18:40:20 -05:00
Vincent St-Amour
cc168d148d Log operations with hidden costs from TR.
Currently only implicit parameter dereferences.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
8170eda45c Keep reports for functions that contain hot functions.
Helps for curried functions.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
48a55f7e74 Revert "Recommend turning "hot" higher-order calls into first-order calls."
This reverts commit bb0c20ce6eff2112a25eb1f98d394b36da0128f8.

Was never useful in practice.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
89948b2954 Recommend turning "hot" higher-order calls into first-order calls. 2013-01-11 18:40:20 -05:00