1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-16 21:07:56 +00:00
Commit Graph

34 Commits

Author SHA1 Message Date
jespergravgaard
6253bdce28 Improved out 2020-10-05 22:58:02 +02:00
jespergravgaard
946327da37 Improves ball[i].x rewriting for 16bit i. Closes #533 2020-10-04 21:43:41 +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
95a3759087 Renamed a few VIC II registers 2020-05-02 11:38:51 +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
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
db6f8b5a36 Added variable nomodify/volatile information to log. 2020-03-29 21:00:25 +02:00
jespergravgaard
7dacbb2c75 Fixed code for __ma. 2020-02-15 09:30:27 +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
ecccf55a08 Moving array properties from type to variable. A few tests still failing. 2019-11-18 22:02:29 +01:00
jespergravgaard
fa5f96221d Removed inferedType from Variable. 2019-11-17 19:58:06 +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
0c4e0a833c Removed support for register(NUMBER) and memory(NUMBER). Added keywords for using zeropage memory (__zp) or main memory (__mem). Added support for __zp(NUMBER) and __mem(NUMBER). 2019-10-13 22:09:33 +02:00
jespergravgaard
198f4ee55f Optimized constant handling in pass 1. 2019-09-29 22:42:37 +02:00
jespergravgaard
bfdd2fb0a5 Optimizing constant detection - avoiding versions. 2019-09-29 22:36:02 +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
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
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
dacd25ac5f Added constant loop-head detection to a switchable optimization option -Oloophead. #246
Implemented for()-loop condition checking before body. Closes #183
2019-08-07 11:27:56 +02:00
jespergravgaard
a50e9e212a Added support for literal arrays of structs by making the literal-identification and literal-handling and code-generation recursive over the value lists. Closes #223 2019-07-28 23:05:30 +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
62d7ecbeff Moved back to malloc() based impl. 2019-07-10 12:07:06 +02:00
jespergravgaard
7a36932c48 Finished bucket-based spiral 2019-07-09 18:13:05 +02:00
jespergravgaard
91a428d22b Updated to 256 buckets & parametrized screen. 2019-07-09 16:05:55 +02:00
jespergravgaard
bf0d399b2c Working on buckets 2019-07-09 15:03:02 +02:00
jespergravgaard
80e84f3234 Added fragments. Implemented working buckets. 2019-07-09 14:41:29 +02:00
jespergravgaard
a7ac33a653 Changed HEAP to grow down from $a000. Fixed inner increment problem. Closes #216 2019-07-09 11:40:56 +02:00
jespergravgaard
b5222c7929 Fixed tests. 2019-07-09 00:51:54 +02:00
jespergravgaard
f8b4dde791 Added fragments - fixed object equality problem when incrementing complex expressions of non-byte type. 2019-07-09 00:31:44 +02:00