Commit graph

187 commits

Author SHA1 Message Date
Justin Ethier
dd9b612be4 Disable debug printing 2018-12-18 17:32:57 -05:00
Justin Ethier
06d900bea9 Added TODO 2018-12-18 17:08:17 -05:00
Justin Ethier
d075a3a34a Report elapsed time 2018-12-18 17:07:57 -05:00
Justin Ethier
a46a9e92d3 Pre-sort the list of globals
This cuts down on the amount of work that must be done by the alpha conversion.
2018-12-18 16:33:24 -05:00
Justin Ethier
1450d2520e Added placeholder code 2018-12-17 12:54:20 -05:00
Justin Ethier
e31b357f4c WIP 2018-11-12 16:30:11 -05:00
Justin Ethier
8cbcf82121 Added a special (program) feature 2018-11-10 06:52:54 -05:00
Justin Ethier
ef2adcdb11 WIP 2018-11-10 05:55:49 -05:00
Justin Ethier
8d327b9dd2 Enable lambda renumbering 2018-09-25 12:38:46 -04:00
Justin Ethier
2fe6b80b3e Experimenting with renaming lambdas 2018-09-24 18:49:26 -04:00
Justin Ethier
c531799663 Emit analysis DB after closure conv
This allows us to see the final DB prior to C code generation, as we are now modifying it after the CPS optimization phase.
2018-09-20 12:50:22 -04:00
Justin Ethier
c9fd208a72 Added stub 2018-09-12 17:17:31 -04:00
Justin Ethier
8359f7a6f9 WIP - emit AST lambda's from closure convert 2018-09-06 13:32:01 -04:00
Justin Ethier
bea5644503 Pretty-print closure converted code 2018-09-06 12:53:26 -04:00
Justin Ethier
b2f4502651 WIP - preserve AST through to closure-conversion 2018-08-31 19:50:58 -04:00
Justin Ethier
e705824a6d Less verbose CPS debug printing 2018-05-21 13:31:37 -04:00
Justin Ethier
a55ab6780c Remove obsolete imports 2017-11-28 17:01:41 -05:00
Justin Ethier
d0772c2238 Allow a program to have macros expand into a top-level import expression. 2017-10-06 18:43:30 -04:00
Justin Ethier
6d0d81f9ef Call opt:add-inlinable-functions to load inlines 2017-08-23 16:30:40 +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
2febd970bb Issue #200 - Consistency with new icyc cmd line 2017-05-16 04:39:07 +00:00
Justin Ethier
e378fd70dd Add 3rd round of CPS optimizations 2017-05-15 20:03:39 +00:00
Justin Ethier
8be4221c1c Cleanup, adjust formatting, remove debug statement 2017-05-10 10:37:55 +00:00
Justin Ethier
b74213ec2d Attempt 2 CPS optimization passes 2017-05-04 05:11:23 +00:00
Justin Ethier
10569ddcfd Get root library name 2017-04-29 00:46:47 +00:00
Justin Ethier
dc42d5a1d4 Only inline specifically designated functions 2017-04-28 21:28:30 +00:00
Justin Ethier
8b6830ea49 WIP - explicit inlines 2017-04-30 19:04:53 -04:00
Justin Ethier
eb4fe26284 Relocated function 2017-04-28 17:54:04 +00:00
Justin Ethier
8d7bff212a WIP 2017-04-28 17:43:57 +00:00
Justin Ethier
4ae3269373 WIP 2017-04-27 19:06:08 -04:00
Justin Ethier
9b3a4769dc Avoid naming conflicts with user defined inlines
Do not allow an inline if it conflicts with a global in the current module. This at least attempts to avoid obvious name conflicts. TBD if it is good enough or if additional fixes are necessary.
2017-04-27 18:52:22 -04:00
Justin Ethier
c2929af714 Added exception handler 2017-04-26 18:08:07 -04:00
Justin Ethier
51a1a63700 Register built-in inlines 2017-04-26 17:35:58 -04:00
Justin Ethier
f88016eb3e WIP 2017-04-25 06:22:40 +00:00
Justin Ethier
3d2fdb36d9 WIP 2017-04-24 23:30:27 +00:00
Justin Ethier
998fb4efaa WIP 2017-04-24 23:27:25 +00:00
Justin Ethier
0dafd88ed3 Check for inlinable functions after prim conv
At this point there are more opportunities for inlining.
2017-04-24 18:57:52 -04:00
Justin Ethier
9b7a5e3cfe Explicitly check for a (define) form 2017-04-19 00:25:47 +00:00
Justin Ethier
9f26868ef0 Exclude lib init from inlinable top level funcs 2017-04-18 12:51:30 +00:00
Justin Ethier
d27b55d27b Allow scheme inlines through, though C comp fails 2017-04-18 09:54:13 +00:00
Justin Ethier
547d1e218d Re-enable inline searching code 2017-04-18 09:02:44 +00:00
Justin Ethier
124c137987 WIP 2017-04-18 07:47:32 +00:00
Justin Ethier
f1d5bb6f83 Find inlinable scheme functions 2017-04-18 05:55:00 +00:00
Justin Ethier
b607f9a420 WIP: (inlinable-top-level-function? expr) 2017-04-18 19:03:31 -04:00
Justin Ethier
c94dcf7be2 Fix compilation 2017-04-04 05:47:20 +00:00
Justin Ethier
298338586a WIP - register inlinable Scheme functions 2017-04-04 19:02:24 -04:00
Justin Ethier
a93c1e8cde Added so generation and dl lib 2017-03-23 04:47:47 -04:00
Justin Ethier
afcc5eaecd WIP 2017-03-23 00:21:16 -04:00
Justin Ethier
bf2643ce3d Added prim-convert 2017-03-21 11:15:53 +00:00
Justin Ethier
78c253e1c3 Issue #185 - Allow export of another lib's export 2017-03-20 17:01:25 +00:00