1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-06-11 17:29:39 +00:00
Commit Graph

36 Commits

Author SHA1 Message Date
Jesper Gravgaard
294bb27eec Updated %nn to 0bnn and $nn to 0xnn. 2024-01-02 19:45:16 +01:00
Jesper Gravgaard
5d6fcca6c2 Allocation of zp/memory to variables is now prioritized by the calculated weight of the variable. This ensures that the most used variables are kept on zeropage when variables spill over into main memory. Closes #712 2021-09-23 08:24:56 +02:00
jespergravgaard
8a38c2a887 Using C declaration format for types in logs, errors, comments and more. 2021-08-10 17:48:55 +02:00
jespergravgaard
bc0fcc50fd Added NULL pointer to standard library. Closes #647 2021-08-02 22:30:04 +02:00
jespergravgaard
1df68ee4d8 Working on eliminating memcpy() statements when using classic structs. #197 2021-07-27 19:11:14 +02:00
jespergravgaard
79f85b439f Now synthesizing _deref_p..c. fragments using v..m. Closes #674 2021-06-30 00:58:50 +02:00
jespergravgaard
62b79212cb Now synthesizing _deref_p..c. fragments using v..m. Closes #674 2021-06-30 00:05:01 +02:00
jespergravgaard
bde31dac4c Improved doxygen documentation. #672 2021-06-19 22:28:44 +02:00
jespergravgaard
78e6ef761f Improved doxygen documentation. #672 2021-06-19 22:11:26 +02:00
jespergravgaard
6585f08f55 Updated tests with doxygen standard library documentation. #672 2021-06-19 21:26:05 +02:00
jespergravgaard
65847f84b3 Working on deprecating lo/hi operators. Closes #667 2021-06-12 20:57:35 +02:00
jespergravgaard
f0970364b5 Parser now based on declarator - allowing for more advanced pointer/array syntax. Preparing for declarator-based functions. #121 2021-05-02 14:28:03 +02:00
jespergravgaard
da789e007f Removed support for programs without segments. Closes #465 2020-12-21 08:57:41 +01:00
jespergravgaard
26a25364c2 Added missing fragments. Aligned clc sequence. Closes #539 2020-10-12 20:28:00 +02:00
jespergravgaard
d9ced92fd7 Added another test for #525 demonstrating problem with reuse of index*sizeof(). Added more fragments and optimizing others. 2020-09-29 01:35:08 +02:00
jespergravgaard
b195a3c545 Improved ASM procedure sequence to match calling sequence in program. 2020-06-27 23:26:57 +02:00
jespergravgaard
34e9c50775 Fixed comments. 2020-06-27 20:59:59 +02:00
jespergravgaard
aee57979ef Now comments on global variables are no longer destroyed. However some comments appear twice! 2020-06-27 20:32:09 +02:00
jespergravgaard
711458ec1f Moved #include to CPreprocessor. Fixed problem where #include does not respect #if. Closes #442 2020-05-29 23:11:52 +02:00
jespergravgaard
facd70053d Added support for address-of pointers to members of structs. 2020-04-30 22:15:59 +02:00
jespergravgaard
cb07791eab Renamed print.h functions. 2020-04-13 20:06:30 +02:00
jespergravgaard
d12daf874d Updated all stdlib files to use standard C types. 2020-04-13 20:00:13 +02:00
jespergravgaard
ae1536f429 Merged simpler live range calculation to master. Improved scope weight calculation to combine call graph depth and loop depth. Added missing fragments. 2020-03-23 00:10:07 +01:00
jespergravgaard
6b3b4bec5a Working on live range effective simple. Fixed aliasing and parameters. There is still problems with functions calling functions - such as print_w(), print_sw() and print_char(). 2020-03-22 22:26:39 +01:00
jespergravgaard
d1ec933032 Fixed error in recursive caller code. 2020-03-08 23:26:49 +01:00
jespergravgaard
1836a9bd92 Finally eliminated copy visitor!
Refactored CallPhiParameters to modify the current control flow graph.
2020-03-07 22:38:40 +01:00
jespergravgaard
5ffae4d92a Added C-source to generated test ASM. 2020-02-23 09:44:36 +01:00
jespergravgaard
3b043e11a7 Changed syntax for function signatures. 2019-12-26 09:51:41 +01:00
jespergravgaard
0b477d24ae Identifying declared constants already during Pass0. 2019-11-03 17:05:55 +01:00
jespergravgaard
82d3cc7e68 Improved ASM name shortening to remove labels representing the same variable with different versions and the same allocation. Closes #209 2019-10-20 01:43:51 +02:00
jespergravgaard
624c27686c Added underscores to compiler-generated ASM-symbols to avoid clashes with C-symbols. Closes #329 2019-09-29 23:13:42 +02:00
jespergravgaard
3aad07f4e1 Disabled constant loop head optimization by default (until the two known issues have been fixed.) 2019-08-25 22:21:58 +02:00
jespergravgaard
19e53bf6fd Implemented handling of expr-statements that do not produce a statement - this forces an assignment to a tmp-var (which means that it will be type-checked and more). Closes #276 2019-08-25 21:37:10 +02:00
jespergravgaard
7a49ded40c Now all instructions addressing zero-page have an explicit .z added to the ASM to ensure the ASM generated does zeropage-addressing. Closes #249 2019-08-07 21:00:21 +02:00
Jesper Gravgaard
ce5e3cf19a Added constant loop head optimization, that detects when the condition is constant in the first loop iteration. Closes #246 2019-08-07 13:22:05 +02:00
jespergravgaard
b2804ef335 Added a smaller sieve. 2019-08-07 11:35:15 +02:00