1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-06-02 00:41:42 +00:00
Commit Graph

56 Commits

Author SHA1 Message Date
Jesper Gravgaard
294bb27eec Updated %nn to 0bnn and $nn to 0xnn. 2024-01-02 19:45:16 +01:00
jespergravgaard
dfbeba7805 #815 working on moving control flow graphs into procedure compilation. 2023-04-09 23:59:49 +02: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
48f4e99826 Added support for snprintf(). Closes #698 2021-08-13 21:22:17 +02:00
jespergravgaard
ea760e4731 Added support for snprintf(). Closes #698 2021-08-13 20:06:59 +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
5439910ae3 Improved parameter type errors to show expected and actual types. Closes #703 2021-08-07 10:32:20 +02:00
jespergravgaard
79f85b439f Now synthesizing _deref_p..c. fragments using v..m. Closes #674 2021-06-30 00:58:50 +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
10df356dda Working on deprecating lo/hi operators. Closes #667 2021-06-13 14:24:57 +02:00
jespergravgaard
65847f84b3 Working on deprecating lo/hi operators. Closes #667 2021-06-12 20:57:35 +02:00
jespergravgaard
d1b7d45372 Implemented function pointer types in standard C syntax. #121 2021-05-11 23:11:51 +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
78209db593 Variable printing now in C syntax. #121 2021-04-30 17:26:46 +02:00
Jesper Gravgaard
7e6c97779b Fixed problem with NPE when removing unused code can leave global constants referencing removed variables. Closes #650 2021-04-21 19:34:18 +02:00
jespergravgaard
b2375f49c7 optimized fragments. 2021-02-17 23:35:01 +01:00
jespergravgaard
4648165f86 Added "c64-" prefix on all C64-only libraries. 2021-02-04 09:18:27 +01:00
jespergravgaard
da789e007f Removed support for programs without segments. Closes #465 2020-12-21 08:57:41 +01:00
jespergravgaard
7c995f82a1 Added a few missing fragments. Improved fragments for if() where rvalue1==0. Closes #598 2020-12-12 00:48:31 +01:00
jespergravgaard
78d961fd19 Merged improved integer type inference by @tfisher98. Closes !2, #594, #334, #199 2020-12-12 00:01:15 +01:00
Travis Fisher
3ee2792070 add additional step in pass2 to finalize all numbers 2020-12-05 22:26:41 -05:00
jespergravgaard
66d7c4ed51 Improved log/sym/cfg output format for readability. Shortened log a bit. Closes #534 2020-10-05 23:14:34 +02:00
jespergravgaard
6253bdce28 Improved out 2020-10-05 22:58:02 +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
c1b22d345e Removed old @begin / @end global blocks. Now using __start(), __init(). Closes #257 2020-06-27 22:36:52 +02:00
jespergravgaard
9c9a39f109 Updated remaining ref files. 2020-06-27 21:18:00 +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
36f82d5745 Added pseuso random number generator to <stdlib.h>. Closes #434 2020-05-05 07:46:48 +02:00
jespergravgaard
0a9cee999d Updated C64 header file. 2020-04-28 22:58:16 +02:00
jespergravgaard
8f2b1c2134 Moved MOS 6526 and MOS 6581 to separate H-files. Removed log noise causes by structs in H-files. 2020-04-28 00:30:35 +02:00
jespergravgaard
b82c3f0a07 Added time-of-day utility for commodore 64 <tod.h>. Moved MOS 6526 CIA to structs. 2020-04-26 23:30:04 +02:00
jespergravgaard
793a776b04 Clean-up of pass 1 log to avoid modifying log-files evey time stdlib is modified. 2020-04-25 20:10:49 +02:00
jespergravgaard
031cde10e9 Fixed test data. 2020-04-25 17:57:48 +02:00
jespergravgaard
ae28cb9c67 Improved minus literal implementation. Added <ctype.h> toupper(), <string.h> strupr(). Added support for %X (upper case HEX) in printf() format. Closes #419 2020-04-25 13:15:22 +02:00
jespergravgaard
6a2937aa29 Casts are now inlined during parse - so they can be used for struct unwinding and more. They are then de-inlined around pass 1. This fixes problem with passing struct constructor as parameter to function. Closes #413 2020-04-19 11:05:54 +02:00
jespergravgaard
897cde29e4 Added printf.h which contains functions for printing formatted numbers and strings. 2020-04-18 20:54:39 +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
beb30de7d1 Fixed ASM re-labelling error. #369 2020-03-30 20:33:26 +02:00
jespergravgaard
db6f8b5a36 Added variable nomodify/volatile information to log. 2020-03-29 21:00:25 +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
1836a9bd92 Finally eliminated copy visitor!
Refactored CallPhiParameters to modify the current control flow graph.
2020-03-07 22:38:40 +01:00
jespergravgaard
c6f81595fb Added support for %E in linker scripts expanding to the name of the entry point label starting the program (ie. __bbegin). __bbegin handling could still use some love. 2020-03-03 08:58:31 +01:00
jespergravgaard
dc6175a0b6 Working on fixing #359 problem with load/store variables and simple-conditionals. 2020-02-22 20:45:35 +01:00
jespergravgaard
0beeab9be2 Refactored live ranges to work for multiple-assign variables. The price is that a few unused variables are no longer optimized away since they depend only on them selves. See duplace-loop-problem.kc. 2020-02-14 00:32:19 +01:00
Jesper Gravgaard
f92e750b61 Fixed removal of unused vars. 2020-02-13 13:46:54 +01:00