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 |
|
jespergravgaard
|
b4abb9394e
|
Fixed ClassCastException when attempting to removing a procedure with an empty start. Added a pointer conter increment test.
|
2017-10-19 09:12:46 +02:00 |
|
jespergravgaard
|
5a4388d6d3
|
Added KC-based scroller
|
2017-10-19 01:29:44 +02:00 |
|
jespergravgaard
|
7be265f42c
|
Fixed culling problem causing conditional branches into phi-functions to be skipped.
|
2017-10-18 14:16:59 +02:00 |
|
jespergravgaard
|
6fb5372f1b
|
Added support for ASM .string directives through string initializer.
|
2017-10-17 22:51:16 +02:00 |
|
jespergravgaard
|
1a649008b9
|
Added support for ASM .byte directives through array initializers.
|
2017-10-17 13:34:41 +02:00 |
|
jespergravgaard
|
feba0565b4
|
Cleaned up RValue hierarchy. Removing redundant Constant interface. Moving ConstantVar out of the value-hierarchy.
|
2017-10-17 11:35:37 +02:00 |
|
jespergravgaard
|
efc750ce11
|
Moved type inference into the model. Renamed ICL to model.
|
2017-10-17 09:58:00 +02:00 |
|
jespergravgaard
|
09ed57fb98
|
Separated ASM fragment system out from ASM base
|
2017-10-17 09:47:26 +02:00 |
|
jespergravgaard
|
1f4efe0a4f
|
Added asm names to symbol table printout.
|
2017-10-17 09:39:15 +02:00 |
|
Jesper Gravgaard
|
5de6bbba13
|
Added missing fragments (through signature rewriting)
|
2017-10-16 13:20:08 +02:00 |
|
jespergravgaard
|
520361f7b6
|
Optimized live range effective - vastly improving compile speed.
|
2017-10-16 12:47:42 +02:00 |
|
jespergravgaard
|
d551f8c569
|
Small numbers skip $
|
2017-10-15 23:15:49 +02:00 |
|
jespergravgaard
|
3c1f4d2901
|
Minor syntax fixes
|
2017-10-15 22:48:04 +02:00 |
|
Jesper Gravgaard
|
46ffa81633
|
Added operator precedence to constant printing - avoiding unnecesary perenthesis
|
2017-10-15 22:39:50 +02:00 |
|
Jesper Gravgaard
|
7b9e80aaac
|
Added constant addition consolidation optimization.
|
2017-10-15 17:53:18 +02:00 |
|
jespergravgaard
|
525ac454cc
|
Added a new constant test
|
2017-10-14 22:37:30 +02:00 |
|
jespergravgaard
|
a09ca15dbf
|
Inlining constants that are unnamed, single versions of a variable or aliases of other constants
|
2017-10-14 22:36:52 +02:00 |
|
jespergravgaard
|
1a9ae72668
|
Added unnamed constant inlining
|
2017-10-13 08:06:55 +02:00 |
|
jespergravgaard
|
ccfa6bdbf3
|
added simple asm constants (syntax error still)
|
2017-10-04 01:08:36 +02:00 |
|
Jesper Gravgaard
|
6f2dfdbec3
|
Initial working implementation of constants in the symbol table and ASM. Still needs to output const definitions (intelligently).
|
2017-10-02 21:47:12 +02:00 |
|
Jesper Gravgaard
|
a553cb97c3
|
Added more fragments
|
2017-09-06 21:23:48 +02:00 |
|
Jesper Gravgaard
|
616311daf8
|
Finally new live ranges are working correctly - including effective live ranges for statements inside methods.
|
2017-09-06 18:59:53 +02:00 |
|