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
Justin Ethier
5303c0cf6c
Added TODO
2017-02-03 04:32:18 -05:00
Justin Ethier
ca3074e6bc
Issue #154 - Handle many top-level prog imports
2017-02-03 00:51:03 -05:00
Justin Ethier
ca048d5538
Add new command line options
2017-02-01 16:56:30 -05:00
Justin Ethier
cc0aefd3f2
Issue #165 - Handle includes as well
2017-02-02 02:03:28 -05:00
Justin Ethier
17d819a399
Issue #165 - -A
and -I
options
2017-02-02 00:10:54 -05:00
Justin Ethier
379cac7ac3
WIP: allowing append/prepend library paths
2017-01-31 18:50:40 -05:00
Justin Ethier
130274588c
Append/prepend dirs for .o files
2017-01-31 18:16:56 -05:00
Justin Ethier
7b927d8b35
Added collect-opt-values
2017-01-31 17:03:28 -05:00
Justin Ethier
66993ebce5
Issue #43 - Add -O0
to disable optimizations
...
This is the first step to being able to specify optimization level from the command line. This will be more important as more optimizations are added and when (if) some of them are not always safe to apply.
2016-11-11 17:19:04 -05:00