jespergravgaard
|
8462d75265
|
Closes #3 Pointer: Support calculated pointers eg. *(ptr+i)
|
2017-11-13 21:52:38 +01:00 |
|
jespergravgaard
|
365357596b
|
Closes #26 Change pointer derefs ASM signature to _deref_xxx (from _star_xxx)
|
2017-11-13 19:05:57 +01:00 |
|
jespergravgaard
|
f351b28f58
|
Using *(BGCOL)++ instead of *BGCOL=*BGCOL+1;
|
2017-11-13 00:55:46 +01:00 |
|
jespergravgaard
|
de5f92498d
|
Implemented more proper pointer handling by wrapping any unary *'s into PointerDerefs.
|
2017-11-13 00:47:05 +01:00 |
|
jespergravgaard
|
1b999c8c1d
|
Using cached symbol table for faster uplift
|
2017-11-11 18:45:33 +01:00 |
|
jespergravgaard
|
ffbc958d47
|
Using cached symbol table for faster uplift
|
2017-11-11 18:22:45 +01:00 |
|
jespergravgaard
|
796edcc05b
|
Added cached symbol table for faster uplift
|
2017-11-11 18:07:44 +01:00 |
|
jespergravgaard
|
af281612d2
|
Added cached map for statement from index
|
2017-11-11 08:46:56 +01:00 |
|
jespergravgaard
|
15d6935601
|
added TODO for compile time keyword
|
2017-11-10 08:29:55 +01:00 |
|
jespergravgaard
|
b0e6ae0b67
|
Added a test with two levels of methods to test live ranges / call-paths and allocation of a minimal number of registers.
|
2017-11-10 00:27:56 +01:00 |
|
jespergravgaard
|
514797897e
|
Optimized effective live ranges further to improce uplift speed
|
2017-11-10 00:12:34 +01:00 |
|
jespergravgaard
|
a3c18cf756
|
Optimized live range equivalence classe set lookup from variable to spped up uplift.
|
2017-11-10 00:01:49 +01:00 |
|
jespergravgaard
|
58500b39e0
|
Implemented a less verbose statement print for uplift performance
|
2017-11-09 23:28:21 +01:00 |
|
jespergravgaard
|
88d765324a
|
Caching statement->block mapping for uplift performance
|
2017-11-09 23:05:23 +01:00 |
|
jespergravgaard
|
fdf4e7ac3a
|
Caching Variable Reference Infos to improve uplift performance.
|
2017-11-09 22:34:46 +01:00 |
|
jespergravgaard
|
baa84880ea
|
Succesfully implemented new live range calculation utilizing call-paths. Need a new optimization round for uplift.
|
2017-11-09 21:34:13 +01:00 |
|
jespergravgaard
|
4fd32274af
|
Working on handling procedure parameter aliases
|
2017-11-08 12:09:15 +01:00 |
|
jespergravgaard
|
e4bf84c57c
|
Improved call-path alias detection to inclide all call-parameters but no call-returns
|
2017-11-08 10:10:43 +01:00 |
|
jespergravgaard
|
0026676080
|
Implemented call-path based effective alive analysis with call-path specific aliases.
|
2017-11-07 09:32:16 +01:00 |
|
jespergravgaard
|
b20327590f
|
Working on better live ranges that take into account the call-path taken to the current statement and any aliases on that path (due to phi statements)
|
2017-11-06 08:20:33 +01:00 |
|
jespergravgaard
|
9d3c8afdf0
|
Restructured TODO
|
2017-11-05 12:01:30 +01:00 |
|
jespergravgaard
|
f18b40d4ac
|
Removed semicolon after inline asm.
|
2017-11-05 11:31:10 +01:00 |
|
jespergravgaard
|
8ba5a2733f
|
Added inline ASM TODO's
|
2017-11-05 11:17:08 +01:00 |
|
jespergravgaard
|
f46aba8c9b
|
Added inline ASM clobber test.
|
2017-11-05 09:56:04 +01:00 |
|
jespergravgaard
|
09dd676363
|
Added semicolon to do {} while ();
|
2017-11-05 09:44:00 +01:00 |
|
jespergravgaard
|
f1512af630
|
Added failing test for inline asm with variable reference parameters.
|
2017-11-05 03:10:10 +01:00 |
|
jespergravgaard
|
8d68d449c4
|
Implemented inline asm syntax and code generation. Now need to handle parameters.
|
2017-11-05 03:01:32 +01:00 |
|
jespergravgaard
|
86b1d0db73
|
Created a single parser for KickC incorporating the ASM parser (for inline ASM - but also for ASM fragment files. )
|
2017-11-05 02:20:29 +01:00 |
|
jespergravgaard
|
506b891ef3
|
Added basic upstart jumping to main()
|
2017-11-04 19:53:55 +01:00 |
|
Jesper Gravgaard
|
fc45798d75
|
Separated fragment generation & fragment signature / loading / synthesizing.
|
2017-11-04 19:04:39 +01:00 |
|
jespergravgaard
|
3d607aba7f
|
Working on inline asm
|
2017-11-04 14:15:44 +01:00 |
|
jespergravgaard
|
bcef1c3662
|
Fixed constant propagation problem: (const-identification.kc) Constants are not identified correctly. Some times constant pointers are treated as variables Eg. byte* SCREEN = $0400 is adressed through zero-page even though it can be adressed directly.
|
2017-11-03 07:58:02 +01:00 |
|
jespergravgaard
|
14219443a8
|
Ensured that assignment to variables with ALU potential does not affect potential registers through clobbering.
|
2017-11-01 16:43:13 +01:00 |
|
jespergravgaard
|
4bcef390f3
|
Fixed bresenham line to do proper word-based addition.
|
2017-11-01 14:10:49 +01:00 |
|
jespergravgaard
|
0317fc50c3
|
Improved constant inlining to inline constants with different valued versions
|
2017-11-01 13:26:32 +01:00 |
|
jespergravgaard
|
4de433730f
|
Fixed problems with versioned constant call parameters being mixed up and with missing scope name on constant references across scopes.
|
2017-11-01 12:59:29 +01:00 |
|
jespergravgaard
|
6097d80b91
|
Added a bunch of test cases highlighting each known error
|
2017-10-29 11:43:39 +01:00 |
|
jespergravgaard
|
c4c60a5b36
|
Added a bunch of test cases highlighting each known error
|
2017-10-29 11:41:35 +01:00 |
|
jespergravgaard
|
00f53c49b6
|
Added support for lo/hi lvalues. Added more ALU options. Working on bitmap plotter.
|
2017-10-29 01:56:53 +02:00 |
|
jespergravgaard
|
f60be66531
|
Working on bitmap bresenham. Added lo/hi unary operators.
|
2017-10-26 12:48:04 +02:00 |
|
jespergravgaard
|
7def3abf28
|
Improved TODO
|
2017-10-23 01:29:39 +02:00 |
|
jespergravgaard
|
0d9a0a84f8
|
Added another known problem
|
2017-10-23 01:23:39 +02:00 |
|
jespergravgaard
|
cd2c50b8a8
|
Fixed NPE
|
2017-10-23 01:22:36 +02:00 |
|
jespergravgaard
|
471117561b
|
Updated TODO. Removed string keyword.
|
2017-10-23 01:12:13 +02:00 |
|
jespergravgaard
|
943775d97d
|
Implemented phi transition assignment clobber checking.
|
2017-10-23 00:48:22 +02:00 |
|
jespergravgaard
|
ee5499a313
|
Added minimal PHI clobber example.
|
2017-10-21 13:34:42 +02:00 |
|
jespergravgaard
|
f63a540d15
|
Removed unnecessary (synthesizeable) fragments.
|
2017-10-21 12:58:03 +02:00 |
|
jespergravgaard
|
774e909a20
|
Added half-asses halfscii.
|
2017-10-21 12:36:37 +02:00 |
|
jespergravgaard
|
c569ce8de9
|
Improved fragment manager enabling synthesis of more fragments. Added boolean operators (and, or, xor, not)
|
2017-10-20 17:25:04 +02:00 |
|
jespergravgaard
|
1ee63ce40a
|
Added literal char syntax. Added literal test. Improved voronoi by using inmem arrays.
|
2017-10-19 10:21:32 +02:00 |
|