Commit graph

179 commits

Author SHA1 Message Date
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
Justin Ethier
ff07229be1 Issue #185 - Identify pass thru exports
That is, exports that are not defined in a library, but are just "pass throughs" from other libraries imported by the library being compiled.
2017-03-20 14:02:15 +00:00
Justin Ethier
da0899b3e6 CC commands, not directories 2017-02-07 20:39:00 +00:00
Justin Ethier
ff94b013ab Issue #153 - Added -CP -CE -CL command options 2017-02-07 20:34:42 +00:00
Justin Ethier
91c8171c93 WIP - cond-expand library declarations 2017-02-04 17:54:55 -05:00
Justin Ethier
c8c8ad6e3f Refactoring and TODO 2017-02-03 23:46:06 +00:00
Justin Ethier
eef7892d14 Added (base-expander) 2017-02-04 00:10:20 -05:00
Justin Ethier
d57f55f406 Allow a program to use cond-expand for imports 2017-02-02 18:29:09 -05:00
Justin Ethier
3fe1dca790 Relocate imports for lib:get-all-import-deps
Read program imports earlier to also handle lib-deps
2017-02-02 17:28:26 -05:00