jespergravgaard
|
64a8389e6e
|
Working on fixing test errors - 228/350 working.
|
2019-05-08 00:11:33 +02:00 |
|
jespergravgaard
|
21b3114b58
|
Working on fixing test errors - 202/350 working.
|
2019-05-07 23:39:57 +02:00 |
|
jespergravgaard
|
cab95b6ba5
|
Working on fixing test errors - 198/350 working.
|
2019-05-07 22:08:59 +02:00 |
|
jespergravgaard
|
44e9cff722
|
Working on fixing test errors - 198/350 working.
|
2019-05-07 21:53:08 +02:00 |
|
jespergravgaard
|
82729cb4d9
|
Working on fixing test errors - 196/350 working.
|
2019-05-07 21:03:26 +02:00 |
|
jespergravgaard
|
47aa623f25
|
Working on fixing test errors.
|
2019-05-07 18:52:01 +02:00 |
|
jespergravgaard
|
87e6fecb8f
|
Working on fixing test errors.
|
2019-05-07 09:19:50 +02:00 |
|
jespergravgaard
|
b097b5c2c5
|
Working on fixing test errors.
|
2019-05-07 01:46:23 +02:00 |
|
jespergravgaard
|
7e174898b8
|
Number conversion working. Added program expression iterator.
|
2019-05-07 00:59:54 +02:00 |
|
jespergravgaard
|
49ae6a0e66
|
Working on number conversion... not compiling atm.
|
2019-05-06 08:06:18 +02:00 |
|
jespergravgaard
|
d0d5b5715b
|
Implemented framework for number type conversion - the BinaryExpressionIterator. Added first case (type match) in new PassNAddNumberTybeConversions.
|
2019-05-06 01:08:41 +02:00 |
|
jespergravgaard
|
35ec65ce94
|
Implemented much of integer type conversion and the number type. Still a lot left to do.
|
2019-05-05 01:26:40 +02:00 |
|
jespergravgaard
|
facd8c6c5b
|
Expanded testing of types to include operators
|
2019-05-03 08:45:33 +02:00 |
|
jespergravgaard
|
eb895fffef
|
Added parser for typed integer literal postfix (ub/sb/uc/sc/uw/sw/ui/si/us/ss/ud/sd/ul/sl and l)
|
2019-05-02 01:23:49 +02:00 |
|
jespergravgaard
|
fd72ecc0c7
|
Added syntax for typed integer literal postfix (ub/sb/uc/sc/uw/sw/ui/si/us/ss/ud/sd/ul/sl and l)
|
2019-04-27 12:12:44 +02:00 |
|
jespergravgaard
|
93937b60d0
|
Merge remote-tracking branch 'origin/master' into 180-type-system
|
2019-04-27 08:13:57 +02:00 |
|
jespergravgaard
|
4735c8940b
|
Added fixed comments to sandbox
|
2019-04-27 08:13:44 +02:00 |
|
jespergravgaard
|
e43a2e2c61
|
Added assert securing that phi predecessors are direct predecessors.
|
2019-04-27 08:04:44 +02:00 |
|
Jesper Gravgaard
|
c64713c913
|
Fixed char - number. Closes #184.
Also fixed problem with nested ternary. Closes #185.
|
2019-04-25 07:58:17 +02:00 |
|
jespergravgaard
|
58502ecf79
|
Added issue links to most coments. Added separate test demonstrating nested ternary problem.
|
2019-04-24 00:46:45 +02:00 |
|
jespergravgaard
|
7edc154133
|
Added Paul Nelsen sandbox test of sivision - with sprintf skeleton implementation.
|
2019-04-23 23:26:47 +02:00 |
|
jespergravgaard
|
1fa41859b0
|
Starting work on type system.
|
2019-04-23 20:42:18 +02:00 |
|
jespergravgaard
|
21d7c6849c
|
Added tests failing due to constant type interference problems. Working on #181
|
2019-04-22 13:47:22 +02:00 |
|
jespergravgaard
|
88e3ad66b7
|
Fixed test.
|
2019-04-22 13:35:52 +02:00 |
|
jespergravgaard
|
7427c8bbcf
|
Added typeid(expr) that returns byte representing the type of the expression. Closes #180
|
2019-04-22 11:50:48 +02:00 |
|
jespergravgaard
|
94bd8cef0a
|
Added support for special types signed/unsigned (that are implicitly int). Closes #158
|
2019-04-22 09:20:14 +02:00 |
|
jespergravgaard
|
e9ece1a8f0
|
REmoved wrong dependency.
|
2019-04-21 21:13:08 +02:00 |
|
jespergravgaard
|
7db4308b94
|
Implemented de-inlining of ptr[w] with word-size indexes.
|
2019-04-21 01:22:14 +02:00 |
|
jespergravgaard
|
957fe13e4e
|
Improved word array test.
|
2019-04-21 00:26:18 +02:00 |
|
jespergravgaard
|
6b287741b5
|
Removed unused fragments.
|
2019-04-20 23:52:29 +02:00 |
|
jespergravgaard
|
c44fe2138a
|
Changed syntax a bit
|
2019-04-20 23:02:39 +02:00 |
|
jespergravgaard
|
fc75878f9d
|
Now optimizing *(ptr+n) into ptr[n] when possible.
|
2019-04-20 22:12:56 +02:00 |
|
jespergravgaard
|
d6427d58df
|
Eliminating redundant casts.
|
2019-04-20 13:08:12 +02:00 |
|
jespergravgaard
|
27444f7c7d
|
Implemented test simulating a struct.
|
2019-04-20 11:13:49 +02:00 |
|
jespergravgaard
|
5da972b5b2
|
Improved test.
|
2019-04-20 01:48:11 +02:00 |
|
jespergravgaard
|
1ea5a3af76
|
Added directive reserve($02, $03, $04) for reserving zero page variables to avoid the compiler using them. Directive can be added to functions or globally. Closes #133
|
2019-04-20 01:44:54 +02:00 |
|
jespergravgaard
|
fc79ac187e
|
Updated version number
|
2019-04-19 13:52:09 +02:00 |
|
jespergravgaard
|
85b904b46f
|
Updated manual.
|
2019-04-19 13:50:48 +02:00 |
|
jespergravgaard
|
dda11749e2
|
Tests now working with proper word/dword-array indexing! Closes #139
|
2019-04-19 13:36:08 +02:00 |
|
jespergravgaard
|
5a54b45ed9
|
Fixing more tests with word arrays/pointers. Preparing for #139
|
2019-04-19 11:56:21 +02:00 |
|
jespergravgaard
|
4e93f0b056
|
Fixing more tests with word arrays/pointers. Preparing for #139
|
2019-04-19 11:25:29 +02:00 |
|
jespergravgaard
|
898dc3e833
|
Fixing more tests with word arrays/pointers. Preparing for #139
|
2019-04-19 11:16:40 +02:00 |
|
jespergravgaard
|
4f04aa47b7
|
Fixing tests with word arrays/pointers. Preparing for #139
|
2019-04-19 10:50:15 +02:00 |
|
Jesper Gravgaard
|
eb26618295
|
Fixed issue where compound addignments multiplied the index by sizeof() squared.
|
2019-04-19 08:42:42 +02:00 |
|
jespergravgaard
|
46e2f3ced4
|
Implemented pointer array indexing sizeof() fixing
|
2019-04-18 01:26:51 +02:00 |
|
jespergravgaard
|
287a6ecb2e
|
Implemented pointer math (+/-) fixing
|
2019-04-18 01:06:22 +02:00 |
|
jespergravgaard
|
85317a1c5e
|
Working on pointer math and sizeof(element)
|
2019-04-18 00:32:28 +02:00 |
|
jespergravgaard
|
7b157f9b44
|
Added tests suitable for changing word-pointer behavior. Preparing for #139
|
2019-04-17 23:58:10 +02:00 |
|
jespergravgaard
|
d55a958c70
|
Implemented sizeof(expr). Closes #171
|
2019-04-17 21:27:32 +02:00 |
|
jespergravgaard
|
417a1d4b22
|
Implemented sizeof(type).
|
2019-04-17 09:34:10 +02:00 |
|
jespergravgaard
|
0116dcfe55
|
Brought fire sample closer to the original.
|
2019-04-16 00:45:21 +02:00 |
|
jespergravgaard
|
f41744cd96
|
Added support for comma-separated variable declarations in for()-loop init. Closes #159
|
2019-04-16 00:22:47 +02:00 |
|
jespergravgaard
|
24ca7e9c68
|
Implemented support for comma-separated variable declarations.
|
2019-04-15 23:13:15 +02:00 |
|
jespergravgaard
|
0f5d8f906b
|
Added support for comma-expressions (and fixed non-working unused variable elimination). Closes #157
|
2019-04-15 14:03:50 +02:00 |
|
jespergravgaard
|
f5afa992c1
|
Updated testdata.
|
2019-04-15 11:53:07 +02:00 |
|
jespergravgaard
|
aecf1ea7b2
|
Optimized unrolled plasma to ~16.500 cycles per screen.
|
2019-04-15 11:31:15 +02:00 |
|
jespergravgaard
|
8234877eeb
|
Fixed error where classic for() failed when init was empty. Closes #163
|
2019-04-15 10:44:18 +02:00 |
|
jespergravgaard
|
50c54e2d36
|
Fixed error where classic for() failed when increment was empty. Closes #160
|
2019-04-15 10:37:00 +02:00 |
|
jespergravgaard
|
21f65d7ddf
|
Rewrote many example routines to use multiply/divide instead of shifts.
|
2019-04-15 10:20:55 +02:00 |
|
jespergravgaard
|
056289aaaf
|
Rewrote d018/dd00 routines to use multiply/divide.
|
2019-04-15 09:54:48 +02:00 |
|
jespergravgaard
|
dfe6663082
|
Added handling of *1 / /1.
|
2019-04-15 09:44:32 +02:00 |
|
jespergravgaard
|
38d67ea581
|
Merge remote-tracking branch 'origin/master'
|
2019-04-15 09:33:59 +02:00 |
|
jespergravgaard
|
5f1496e33d
|
Implemented rewriting of multiply/divide by powers of 2 to shifts. Closes #165
|
2019-04-15 09:33:49 +02:00 |
|
Jesper Gravgaard
|
dd99f73b8e
|
Merge remote-tracking branch 'origin/master'
|
2019-04-11 22:24:25 +02:00 |
|
Jesper Gravgaard
|
c8cfb3406c
|
Changed comparison rewriting to only rewrite when comparing to bytes (not words).
|
2019-04-11 22:24:07 +02:00 |
|
jespergravgaard
|
c61b1556cd
|
Optimized imports etc.
|
2019-04-11 21:17:43 +02:00 |
|
Travis Fisher
|
c9cce92509
|
make live range analysis use statement index instead of statement where it helps with speed
|
2019-04-11 00:14:31 -04:00 |
|
Travis Fisher
|
b81349b3de
|
make StatementInfos map control flow block objects instead of labelRef's (~5% compiler speedup)
|
2019-04-10 22:22:17 -04:00 |
|
Travis Fisher
|
1f54a91463
|
use static array of short number strings (~3% test speedup)
|
2019-04-10 19:47:54 -04:00 |
|
Jesper Gravgaard
|
97f88fb128
|
Fixed comparison optimization to ignore 0
|
2019-04-10 16:06:03 +02:00 |
|
Jesper Gravgaard
|
15acdc3752
|
Merged with master.
|
2019-04-10 13:52:57 +02:00 |
|
Jesper Gravgaard
|
070fb7937d
|
Implemented comparison rewriting optimization.
|
2019-04-10 11:12:49 +02:00 |
|
jespergravgaard
|
c9768022af
|
Optimized unrolled plasma more by moving x-value lookup outside the unrolled loop.
|
2019-04-10 08:27:36 +02:00 |
|
Travis Fisher
|
073845093b
|
store symbol full names instead of constructing on demand. (~5% overall compiler speed improvement)
|
2019-04-09 23:09:42 -04:00 |
|
jespergravgaard
|
fa2024296b
|
Added more pointer cast tests
|
2019-04-09 22:58:42 +02:00 |
|
jespergravgaard
|
9a707c250e
|
Added pointer cast test
|
2019-04-09 21:30:21 +02:00 |
|
jespergravgaard
|
82b394a80f
|
Minor syntax changes.
|
2019-04-09 01:40:38 +02:00 |
|
jespergravgaard
|
23e3533064
|
Merged Travis Fishers upstream optimizations. Closes #92
|
2019-04-09 01:22:47 +02:00 |
|
jespergravgaard
|
bce68180ef
|
Merge branch 'master' of https://gitlab.com/tfisher98/kickc
|
2019-04-09 00:59:19 +02:00 |
|
jespergravgaard
|
756d5c22d5
|
Strings zer now zero-terminated by default. To avoid zero-termination use suffix z - eg. "qwe"z is not zero-terminiated. Closes #137
|
2019-04-09 00:51:53 +02:00 |
|
Travis Fisher
|
7454027829
|
update reference results
|
2019-04-08 18:25:03 -04:00 |
|
Travis Fisher
|
0bc03ffdb0
|
add deep nesting test program
|
2019-04-08 18:05:25 -04:00 |
|
Travis Fisher
|
68a737cf0f
|
Merge branch 'master' of https://gitlab.com/camelot/kickc
|
2019-04-08 17:31:16 -04:00 |
|
jespergravgaard
|
c3849c78b0
|
Added support for void parameter lists. Closes #161
|
2019-04-08 23:27:05 +02:00 |
|
jespergravgaard
|
9a9e4f456e
|
Added more fragments.
|
2019-04-08 21:25:54 +02:00 |
|
jespergravgaard
|
44a5f66a7c
|
Added fire sample from CC65. (~100.000 cycles per update in KickC vs ~300.000 in CC65). Fixed tests. Added some signed fragments.
|
2019-04-08 20:54:23 +02:00 |
|
jespergravgaard
|
b2a0b629e3
|
Changed plasma routines to use standard C types.
|
2019-04-08 16:33:52 +02:00 |
|
jespergravgaard
|
63f10a28de
|
Added support for standard C types (char, short, int, long). Closes #108
|
2019-04-08 16:26:39 +02:00 |
|
jespergravgaard
|
c613edf2b2
|
Updated test data.
|
2019-04-08 09:12:00 +02:00 |
|
jespergravgaard
|
41029fec17
|
Added plasma with unrolled inner loop for ~50fps.
|
2019-04-08 09:00:48 +02:00 |
|
Travis Fisher
|
47d2f74690
|
put caches associated to pass n variable reference infos back out of control flow block class
|
2019-04-08 01:16:31 -04:00 |
|
Travis Fisher
|
b7b01a89a8
|
speed improvement in pass n variable reference infos
|
2019-04-07 23:57:38 -04:00 |
|
Travis Fisher
|
7393d095b9
|
speed improvement in pass n variable reference infos
|
2019-04-07 23:09:50 -04:00 |
|
jespergravgaard
|
7b23951eb2
|
Fixed tests after adding fragment.
|
2019-04-08 01:42:00 +02:00 |
|
jespergravgaard
|
35659a67be
|
Ported plasma sample from CC65 to KickC.
|
2019-04-08 00:44:09 +02:00 |
|
Travis Fisher
|
2ee07b0806
|
store compiled regexes for speed
|
2019-04-07 16:05:34 -04:00 |
|
jespergravgaard
|
23b1f15101
|
Added support for more complex ternary expressions.
|
2019-04-07 18:35:50 +02:00 |
|
jespergravgaard
|
67b97130b7
|
Implemented ternary operator. Closes #77
|
2019-04-07 17:59:44 +02:00 |
|
jespergravgaard
|
e1cf957b2f
|
Pointers to pointers working. Closes #156
|
2019-04-07 13:35:23 +02:00 |
|
jespergravgaard
|
a334855da8
|
Pointers to noargs functions working pretty well. Closes #120
|
2019-04-07 11:08:39 +02:00 |
|