1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-29 03:56:15 +00:00
Commit Graph

48 Commits

Author SHA1 Message Date
jespergravgaard
78209db593 Variable printing now in C syntax. #121 2021-04-30 17:26:46 +02:00
jespergravgaard
f3a878014b Renamed VICII_CONTROL to VICII_CONTROL1. 2021-02-07 16:14:44 +01:00
jespergravgaard
2dd2697ba1 Updated const names to VICII. 2020-12-30 01:55:04 +01:00
jespergravgaard
da789e007f Removed support for programs without segments. Closes #465 2020-12-21 08:57:41 +01:00
jespergravgaard
089125ff5e Implemented new interrupt system supporting more platforms and CPUs. Closes #599 2020-12-21 01:04:34 +01:00
jespergravgaard
78d961fd19 Merged improved integer type inference by @tfisher98. Closes !2, #594, #334, #199 2020-12-12 00:01:15 +01: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
4149381b74 Finished better ASM fragment handling for pointer to pointer. Closes #484 2020-07-01 23:38:56 +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
239cfdb48e Implemented #platform target() functionality configured by a TGT-file in JSON. 2020-05-11 02:36:37 +02:00
jespergravgaard
95a3759087 Renamed a few VIC II registers 2020-05-02 11:38:51 +02:00
jespergravgaard
facd70053d Added support for address-of pointers to members of structs. 2020-04-30 22:15:59 +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
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
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
7b81b51bc0 Rewrote constant identification to allow nested arrays/structs. TODO: function-as-array 2020-01-01 18:27:53 +01:00
jespergravgaard
2bad8c915f Improved log message. 2019-12-08 16:04:35 +01:00
jespergravgaard
09c504e693 Working on catching all declared constants in parse 0. 2019-11-17 01:51:42 +01:00
jespergravgaard
0b477d24ae Identifying declared constants already during Pass0. 2019-11-03 17:05:55 +01:00
jespergravgaard
85676bc83a Implemented support for fixed address main memory variables using __mem(0x1000) directive. 2019-10-14 00:51:19 +02:00
Jesper Gravgaard
70aa2836da Improved printing register ZP. 2019-10-12 11:40:36 +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
587027397d Variable storage strategy implementation almost done. 2019-09-29 20:57:28 +02:00
jespergravgaard
51d1e6f41f Changed control flow graph to print procedure signatures. 2019-09-18 23:00:34 +02:00
jespergravgaard
3d0871f757 Added support for #pragma cpu(). Added test of program without illegal opcodes. Closes #303 2019-09-08 02:29:20 +02:00
jespergravgaard
62f9d7c9d9 Added initial support for specifying which CPU to compile to. #303 2019-09-08 01:35:38 +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
jespergravgaard
e8a0694f34 Added support for different target platforms. Added first platforms c64basic and asm6502 (no upstart). Closes #232 2019-07-25 17:06:19 +02:00
jespergravgaard
02ff354d3f Dropped SelfPhiEliminate pass - so now phi-variables have value for all predecessor-blocks. Added self-phi-handling to Identical-PHI optimization step instead. Closes #231 2019-07-25 14:35:43 +02:00
jespergravgaard
0e59591d6c Improved output from -Sc option adding C-code comments to the ASM. 2019-07-08 16:43:10 +02:00
jespergravgaard
bf60fab6d0 Removed segment ID from default log. 2019-07-08 12:04:44 +02:00
jespergravgaard
7d049f70a3 Added CIA timer test. Removed pointer cast logging (to improve test reproducability). 2019-07-03 21:15:54 +02:00
jespergravgaard
3ae5f0981a Added a file data segment. Improved negate word fragment. 2019-06-21 22:12:05 +02:00
jespergravgaard
526bfbb60c Added support for converting non-boolean conditions to boolean. Fixed problem with ranged for iterating signed bytes. Closes #135 2019-06-03 00:44:46 +02:00
jespergravgaard
b755cd448f Readded cfg/log/sym-files to tests 2019-05-30 22:29:07 +02:00
jespergravgaard
de8c42eba8 Fixed problem with overlapping variables in threads. 2019-04-02 22:31:26 +02:00
Jesper Gravgaard
4424ffe92c Implemented loop break. 2019-03-31 17:57:54 +02:00
jespergravgaard
d13ca4e03b Implemented block label renumbering ensuring generated ASM labels are slightly more sensible to the reader. 2019-03-31 17:10:43 +02:00
jespergravgaard
126813ff4e Implemented local scopes for blocks - enabling reuse of variable names (for instance in for loops). Closes #64 2019-03-30 00:15:53 +01:00
jespergravgaard
7fcb6e525a Fixed problem where zeropage allocations inside IRQ and outside could overlap. Closes #154 2019-03-29 08:01:02 +01:00