1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-12-21 14:30:21 +00:00
Commit Graph

391 Commits

Author SHA1 Message Date
jespergravgaard
c43ab3acef Implemented variable live range identification 2017-07-26 00:26:50 +02:00
jespergravgaard
69cbee294d Made room for new pass 3 interval analysis 2017-07-25 00:56:42 +02:00
jespergravgaard
0aa64b3203 Added pass1 optimization removing empty blocks. 2017-07-25 00:21:40 +02:00
jespergravgaard
2819d3c58a Added pass1 optimization removing empty blocks. 2017-07-25 00:17:56 +02:00
jespergravgaard
524252105a Refactored toString to avoid redundant code. 2017-07-24 08:19:44 +02:00
jespergravgaard
300bb644b9 Refactored phi to use blocks instead of individual statements 2017-07-23 23:29:40 +02:00
jespergravgaard
122cef4e30 Better label naming when creating intermediate labels 2017-07-21 12:18:05 +02:00
jespergravgaard
88c7ed453a Better label naming when creating intermediate labels 2017-07-21 11:32:41 +02:00
jespergravgaard
4c0a9cd241 Removed cast calls to getSymbol() 2017-07-21 10:49:28 +02:00
jespergravgaard
6ef3af4fdf ICL Programs are now JSON serializable 2017-07-21 01:53:38 +02:00
jespergravgaard
d38c26eeb5 added a few toString()s 2017-07-20 10:14:22 +02:00
jespergravgaard
00463cd72f Moved all ref creation to getRef() 2017-07-20 10:02:25 +02:00
Jesper Gravgaard
de88808c5f Replaced all program labels with labelrefs ans procedures with procedurerefs. 2017-07-20 09:26:06 +02:00
Jesper Gravgaard
e6d09187e3 Added typed and untyped print functions everywhere. Now getting the same output as the old compilation! 2017-07-19 13:21:16 +02:00
Jesper Gravgaard
6e087e9a1c Now serializing all symbol types 2017-07-18 23:13:24 +02:00
Jesper Gravgaard
819c904419 Implementing JSON serialization of ICL 2017-07-18 22:49:25 +02:00
Jesper Gravgaard
1b0b81baf2 Restructured code in new packages 2017-07-18 18:12:11 +02:00
Jesper Gravgaard
92747454c7 Restructured code in new packages 2017-07-18 18:10:12 +02:00
Jesper Gravgaard
32a2c9eb2b Optimized registers for fibmem. 2017-07-18 16:46:52 +02:00
Jesper Gravgaard
a7e0e2b1d0 Added main method to flipper. Fixed a few bugs in compiler. 2017-07-16 11:09:32 +02:00
Jesper Gravgaard
f6eeb5ff83 Removed comments from ASM output 2017-07-16 09:41:27 +02:00
Jesper Gravgaard
67b4257ad9 Added a second test 2017-07-15 23:32:25 +02:00
Jesper Gravgaard
0116c9e21d Added full compile log to test 2017-07-15 23:26:45 +02:00
Jesper Gravgaard
8e59603418 made map linked for predictability 2017-07-15 22:21:07 +02:00
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