Commit graph

233 commits

Author SHA1 Message Date
Justin Ethier
17213d94ac Added a TODO 2018-09-12 17:41:44 -04:00
Justin Ethier
c9fd208a72 Added stub 2018-09-12 17:17:31 -04:00
Justin Ethier
d45c44388f Allow AST to track well-known procedures 2018-09-12 17:01:24 -04:00
Justin Ethier
39e92c1be7 Added TODO 2018-09-12 13:33:47 -04:00
Justin Ethier
8359f7a6f9 WIP - emit AST lambda's from closure convert 2018-09-06 13:32:01 -04:00
Justin Ethier
8e75b435d7 WIP, emit AST lambda's from closure convert 2018-09-05 18:56:57 -04:00
Justin Ethier
7b76453591 WIP - passing AST lambda's to closure-convert 2018-09-04 19:00:22 -04:00
Justin Ethier
b2f4502651 WIP - preserve AST through to closure-conversion 2018-08-31 19:50:58 -04:00
Justin Ethier
4a79e764f6 Take function scope into account when using adbv:mutated-indirectly 2018-08-15 13:20:38 -04:00
Justin Ethier
11f3963864 Store scopes in mutated-indirectly field 2018-08-15 13:14:46 -04:00
Justin Ethier
3065eae9a4 Added TODO items 2018-08-15 09:51:17 -04:00
Justin Ethier
7b5fd98695 Detect loops before optimizing CPS 2018-08-14 17:22:01 -04:00
Justin Ethier
3629e7892b Do not beta expand recursive calls 2018-06-18 13:29:27 -04:00
Justin Ethier
6a57b69517 Do not beta expand a recursive function w/itself 2018-06-15 19:04:47 -04:00
Justin Ethier
d5e4603e14 Added additional debugging 2018-06-04 13:46:32 -04:00
Justin Ethier
ff94309bcc Check continuation for direct rec calls 2018-06-04 13:16:40 -04:00
Justin Ethier
2cdc9336c0 Added TODO 2018-06-01 16:49:58 -04:00
Justin Ethier
d379d1bfb3 Track direct recursive calls 2018-06-01 13:42:24 -04:00
Justin Ethier
d4633314fc Integrate finding direct rec calls 2018-06-01 13:11:37 -04:00
Justin Ethier
f24c711f93 Remove trace statements 2018-05-25 15:11:22 -04:00
Justin Ethier
be25f055f0 If param is referenced in a loop (but defined outside) do not inline function into the loop 2018-05-24 16:37:04 -04:00
Justin Ethier
5a73c7b83e Integrate finding named let's 2018-05-23 18:28:33 -04:00
Justin Ethier
e92be3e80b Integrating code to find named lets 2018-05-23 14:00:51 -04:00
Justin Ethier
c1cdad0065 Issue #257 - Prevent possible infinite loop 2018-05-04 02:17:01 +00:00
Justin Ethier
ebc68e6746 Issue #248 - Ensure unique lambda ID's/args
During a beta expansion, renumber lambda ID's and rename lambda args if necessary so that we do not introduce duplicates. Dupes are a problem as they throw of the analysis DB and can lead to the optimizer inserting the wrong values when code is optimized-out.
2018-03-24 19:23:30 -04:00
Justin Ethier
c5ddd79aff Added opt:add-inlinable-functions 2017-08-23 16:30:18 +00:00
Justin Ethier
8684c93e20 Possible TODO 2017-08-02 13:07:52 +00:00
Justin Ethier
69a54ecb6a Added constant folding back 2017-08-01 18:43:33 -04:00
Justin Ethier
9a9bb4079f Disabling cyc-seq for now, since it breaks gcbench
Compiling with this seems to cause crashes (segfaults, etc) on the gcbench program.
2017-08-01 18:08:12 -04:00
Justin Ethier
0e5257eb91 Reverting constant folding for now 2017-08-01 13:27:49 +00:00
Justin Ethier
e8aa42e247 Issue #207 - Added comments 2017-07-27 11:43:49 +00:00
Justin Ethier
67ca9edbec WIP 2017-07-26 19:02:31 -04:00
Justin Ethier
a758111aad Issue #207 - Added constant folding 2017-07-26 14:52:03 +00:00
Justin Ethier
f2db6235e0 Issue #206 - Fix cyc-seq, and only do it as an optimization 2017-07-18 17:41:33 -04:00
Justin Ethier
d78a516138 WIP - experimental optimization 2017-07-11 18:53:06 -04:00
Justin Ethier
37d510a41f Only use Cyc-seq for non-CPSing arguments 2017-07-10 13:26:30 +00:00
Justin Ethier
8ed042573a WIP, eliminating more unused lambda's 2017-07-07 14:14:16 +00:00
Justin Ethier
2fd88a15e6 Relocate closure conversion 2017-07-07 13:03:30 +00:00
Justin Ethier
5390802816 Added adbv:ref-count 2017-05-26 15:49:56 +00:00
Justin Ethier
da2f2bb05f Issue #201 - disabling for now 2017-05-26 15:41:46 +00:00
Justin Ethier
4e83e93cd7 Added TODO 2017-05-26 14:21:00 +00:00
Justin Ethier
a6093601de Issue #201 - Inline if expressions 2017-05-26 14:10:25 +00:00
Justin Ethier
ce6b24cc10 WIP 2017-05-25 18:54:55 -04:00
Justin Ethier
7cdabc02b6 WIP 2017-05-25 17:46:41 -04:00
Justin Ethier
85a74f3a1e WIP 2017-05-25 16:20:10 +00:00
Justin Ethier
7606eeeb5c WIP 2017-05-25 13:25:03 +00:00
Justin Ethier
6118325ff4 Added opt:beta-expand 2017-05-15 18:50:37 +00:00
Justin Ethier
eee5695c1f Bug fixes for beta expansion 2017-05-15 13:37:30 +00:00
Justin Ethier
7794f3edce Ensure list of formals before performing list ops 2017-05-15 11:21:13 +00:00
Justin Ethier
1d36fec61e WIP 2017-05-12 19:42:38 -04:00