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
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