1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-08-03 01:29:04 +00:00
Commit Graph

267 Commits

Author SHA1 Message Date
Jesper Gravgaard
81ba13c9c3 Implemented test comparing reference output to actual compilation output 2017-07-15 22:00:02 +02:00
Jesper Gravgaard
a908e4f1ca Proper implementation of pre-modifiers (++/--) 2017-07-14 12:13:16 +02:00
Jesper Gravgaard
1743e4f9d0 Proper handling of post modifiers 2017-07-14 01:59:04 +02:00
Jesper Gravgaard
1dfbcd1ca4 Working on predictability in output 2017-07-14 00:25:25 +02:00
Jesper Gravgaard
5c1aa7a2e7 Working on predictability in output 2017-07-14 00:15:33 +02:00
Jesper Gravgaard
20cb48b07d Working on predictability in output 2017-07-14 00:11:57 +02:00
Jesper Gravgaard
e271abb8a0 Using ++/-- post increment/decrement operators. 2017-07-13 23:48:25 +02:00
Jesper Gravgaard
ed7a4dded9 Added ++/-- post increment/decrement operators. 2017-07-13 23:40:17 +02:00
Jesper Gravgaard
de8e5139cc Added a phase 2 block assertion checking that the program always contains all referenced blocks. 2017-07-13 22:03:52 +02:00
Jesper Gravgaard
56cf4c80ef Added a phase 2 symbol assertion checking that the program always matches the symbol table. 2017-07-13 21:35:43 +02:00
Jesper Gravgaard
2e90516f34 Fixed problem with nested do loops being mixed up during empty block culling. Improved flipper implementation. 2017-07-13 20:41:16 +02:00
Jesper Gravgaard
d41f762a8b Completed KickC implementation of flipper 2017-07-13 00:50:53 +02:00
Jesper Gravgaard
8d7dfa8a8d Implemented most of flipper in KickC 2017-07-13 00:13:26 +02:00
Jesper Gravgaard
b25be31ba1 Implemented Control flow Graph Sequence Planner. Implemented working flipper. 2017-07-11 01:06:13 +02:00
jespergravgaard
01a26b4710 Implemented usage counting in sub-constant elimination. Added some more fragments 2017-06-17 11:09:59 +02:00
jespergravgaard
e5f1f7f387 Added support for multiple procs 2017-06-14 21:54:28 +02:00
jespergravgaard
5254d7d3a6 Fixed for callsum 2017-06-13 23:11:56 +02:00
jespergravgaard
790feb1dcc New alias elimination implementation. Optimized register allocation for test. 2017-06-13 22:48:03 +02:00
jespergravgaard
a5204acf79 Merge remote-tracking branch 'gitlab/master' 2017-06-13 19:48:14 +02:00
jespergravgaard
872c4cfc28 aliasing works on return statements 2017-06-13 19:48:09 +02:00
Jesper Gravgaard
fb3b083938 Working on parameter passing & return values 2017-06-13 07:18:07 +02:00
jespergravgaard
3b2cc5cde1 Refactoring control flow graph to enable proc calls. Still need to handle return values properly. 2017-06-11 23:36:05 +02:00
jespergravgaard
12bff79433 Control Flow Graph now handles procs & sub sprocs 2017-06-11 19:15:09 +02:00
jespergravgaard
40d44da2fc Added proc/endproc statements 2017-06-05 16:17:08 +02:00
jespergravgaard
03ee43c3b7 Looking at function calls 2017-06-05 16:01:50 +02:00
jespergravgaard
2dedf8263b Looking at function calls 2017-06-05 00:38:50 +02:00
jespergravgaard
4aa00d4536 Added special ALU register support 2017-06-04 00:45:40 +02:00
jespergravgaard
357bbecade Added *idx operator for array indexing. 2017-06-03 23:49:06 +02:00
jespergravgaard
65f41f874f Added constant addition optimization and improved alias-optimization 2017-06-03 22:37:12 +02:00
jespergravgaard
0f3da0ea3e Fixed bresenham array again 2017-05-31 01:12:23 +02:00
jespergravgaard
0bdd9d2f2e Implemented A register - and achieved optimal asm in sprite tabel generation. 2017-05-31 00:59:30 +02:00
jespergravgaard
aac15e64dd Added rol/ror and a table generation example 2017-05-30 23:55:02 +02:00
jespergravgaard
2a2d873e62 Added static register value analysis - eliminating uncecasary loads. 2017-05-30 11:09:39 +02:00
jespergravgaard
b7fd96c4ee Added clobber info on instruction set 2017-05-30 09:51:07 +02:00
jespergravgaard
cc3158e387 Added array-based bresenham 2017-05-29 22:54:36 +02:00
jespergravgaard
1540439d36 Added array-based bresenham 2017-05-29 22:43:05 +02:00
jespergravgaard
38408825cd Implemented simple bresenhm 2017-05-28 21:47:50 +02:00
jespergravgaard
5367a41bcf Asm Fragment binding using registers instead of variables. 2017-05-28 18:22:57 +02:00
jespergravgaard
5c907162f3 Added more general pointer support 2017-05-28 17:58:02 +02:00
jespergravgaard
b3dfb503f5 Now supporting fibonacci array generation 2017-05-28 12:46:14 +02:00
jespergravgaard
6f56b1bcfa added pointers/arrays 2017-05-28 08:58:22 +02:00
jespergravgaard
6376029dbf Now parsing array declarations 2017-05-25 02:24:18 +02:00
jespergravgaard
15b1dc60fe Added syntax for functions & arrays. 2017-05-23 08:51:39 +02:00
jespergravgaard
a565a0bea7 Added ASM optimization removing jumps / branches to next instruction. 2017-05-21 13:40:56 +02:00
jespergravgaard
39e5b5a894 Added do {} while(). Fixed relative jump labels. Added fib2 & y-usage. 2017-05-21 12:56:11 +02:00
jespergravgaard
0ba8ac742e Retired old ASM sequence for new ASM program 2017-05-21 10:56:26 +02:00
jespergravgaard
651f02e153 better syntax parser 2017-05-20 22:08:06 +02:00
jespergravgaard
da8ff513e6 Allowing last asm line without newline 2017-05-20 22:05:01 +02:00
jespergravgaard
8f9f042144 Created ASM parser & representation 2017-05-20 21:49:11 +02:00
jespergravgaard
91b455e042 Renamed fragment files to match windows 2017-05-20 11:48:01 +02:00