jespergravgaard
|
007985111a
|
Temporary implementation for arrays of structs
|
2019-05-29 08:05:34 +02:00 |
|
jespergravgaard
|
837104f4fd
|
Working on structs
|
2019-05-28 22:56:52 +02:00 |
|
jespergravgaard
|
9c682e37fe
|
Testing structs
|
2019-05-28 22:28:17 +02:00 |
|
Jesper Gravgaard
|
30d6878ade
|
Minimalistic struct example working with several shortcuts in the code.
|
2019-05-27 08:39:59 +02:00 |
|
Jesper Gravgaard
|
75af42ad3f
|
Added struct syntax
|
2019-05-24 23:00:13 +02:00 |
|
Jesper Gravgaard
|
e46fd03ec5
|
Added support for string concatenation C style (using simple space separation).
Fixed tests.
|
2019-05-24 20:57:43 +02:00 |
|
jespergravgaard
|
3376a462fc
|
Fixed number range test
|
2019-05-24 18:02:42 +02:00 |
|
jespergravgaard
|
999afdcbc7
|
Fixed 2/3. One remaining!
|
2019-05-24 09:02:31 +02:00 |
|
jespergravgaard
|
c42156c4e9
|
Working in unumber/snumber. Updated test files.
|
2019-05-24 00:52:30 +02:00 |
|
jespergravgaard
|
f574bb676c
|
Working in unumber/snumber. Only few failing tests.
|
2019-05-24 00:50:48 +02:00 |
|
jespergravgaard
|
9ef7c69c3e
|
Improved comparisons to avoid branch/jmp sequences by negating comparisons.
|
2019-05-23 17:50:44 +02:00 |
|
jespergravgaard
|
06147e2634
|
Moved malloc/free trivial implementations to stdlib
|
2019-05-23 15:48:34 +02:00 |
|
jespergravgaard
|
430c128cc3
|
Simplified constant inlining pass2
|
2019-05-23 12:33:15 +02:00 |
|
jespergravgaard
|
682d007ba8
|
Replaced Pass1EliminiateEmptyBlocks with PassNCullEmptyBlocks (which was removed from pass 2).
|
2019-05-23 12:19:20 +02:00 |
|
jespergravgaard
|
01e833681a
|
Improved planned sequence for A->B->C sequences where B is conditional successor of A.
|
2019-05-23 12:02:52 +02:00 |
|
jespergravgaard
|
d5ebe81c21
|
Eliminated two redundant pass2 steps
|
2019-05-23 07:41:18 +02:00 |
|
jespergravgaard
|
1df77d5ded
|
Collected all type inference in pass2 together.
|
2019-05-23 07:39:10 +02:00 |
|
jespergravgaard
|
fdbfa68c1c
|
Eliminated Pass2EliminateRedundantCasts.
|
2019-05-23 07:12:52 +02:00 |
|
jespergravgaard
|
009b141ef1
|
Eliminated PassNDowngradeConstantTypeConversion. Simplified PassNAddTypeConversionAssignment.
|
2019-05-23 01:07:59 +02:00 |
|
jespergravgaard
|
2a14671496
|
Renamed for clarity
|
2019-05-23 00:46:43 +02:00 |
|
jespergravgaard
|
65c92716f0
|
Cleaning up type inference.
|
2019-05-23 00:38:35 +02:00 |
|
jespergravgaard
|
49a61ecbdd
|
Cleaning up type inference.
|
2019-05-23 00:28:34 +02:00 |
|
jespergravgaard
|
669064bd37
|
Eliminated SymbolTypeNumberInference.
|
2019-05-22 23:59:43 +02:00 |
|
jespergravgaard
|
864b993f14
|
Eliminated SymbolTypeSimple. Eliminated SymbolTypeInference.infer(type, ...). Eliminiated most of SymbolTypeNumberInference.
|
2019-05-22 23:50:50 +02:00 |
|
jespergravgaard
|
2fb9a5baf3
|
Moved symbol table update functions to PassNTypeInference (cleaning up SymbolTypeInference).
|
2019-05-22 23:38:34 +02:00 |
|
Jesper Gravgaard
|
9636e26191
|
Changed all type comparisons to use SymbolType.XXX.equals()
|
2019-05-22 15:53:48 +02:00 |
|
Jesper Gravgaard
|
aaf556abe1
|
Improved utoa16 implementation using pointer to pointer.
|
2019-05-22 15:42:00 +02:00 |
|
Jesper Gravgaard
|
ff7e4bff2a
|
Removed duplicate compiler step.
|
2019-05-22 15:32:42 +02:00 |
|
Jesper Gravgaard
|
39c4f0d6b4
|
Fixed identification of identical Phi RValues that are constant pointers to symbols.
|
2019-05-22 15:29:47 +02:00 |
|
jespergravgaard
|
67db0f0f6f
|
Improved duplicate assignment right side optimization slightly.
|
2019-05-22 08:19:43 +02:00 |
|
jespergravgaard
|
2c808e59d6
|
Added tests for duplicate assignment right side optimization.
|
2019-05-22 08:06:54 +02:00 |
|
Jesper Gravgaard
|
c1213f4d55
|
Added right side duplicate identification.
|
2019-05-21 23:06:13 +02:00 |
|
jespergravgaard
|
5f2b798a8a
|
Added test for pointer-to-pointer optimization.
|
2019-05-21 10:23:39 +02:00 |
|
jespergravgaard
|
fd259fe47e
|
Added pointer to pointer test.
|
2019-05-21 01:45:32 +02:00 |
|
jespergravgaard
|
3132790ab5
|
Added very naive heap implementation.
|
2019-05-21 00:33:36 +02:00 |
|
jespergravgaard
|
b3041e326d
|
Optimizing compiler passes
|
2019-05-21 00:05:17 +02:00 |
|
jespergravgaard
|
bc699a9e27
|
Added utoa16(). Fixed early constant identification not taking procedure parameters into account.
|
2019-05-20 23:41:58 +02:00 |
|
Jesper Gravgaard
|
2b26c813d9
|
Rafactoring pass 2
|
2019-05-20 11:01:58 +02:00 |
|
Jesper Gravgaard
|
27c6c3fb86
|
Rafactoring pass 2
|
2019-05-20 10:54:06 +02:00 |
|
Jesper Gravgaard
|
77d24eddc6
|
Rafactoring pass 2
|
2019-05-20 10:47:53 +02:00 |
|
Jesper Gravgaard
|
5d988dd859
|
Rafactoring pass 2
|
2019-05-20 10:36:58 +02:00 |
|
Jesper Gravgaard
|
9864995afb
|
Created utoa10 with smaller memory footprint.
|
2019-05-19 21:17:39 +02:00 |
|
jespergravgaard
|
2ec68d6fd5
|
added hex2dec test
|
2019-05-19 09:31:12 +02:00 |
|
jespergravgaard
|
6246871538
|
Fixed tests
|
2019-05-19 01:16:12 +02:00 |
|
jespergravgaard
|
f31dc244b5
|
fixed tests
|
2019-05-19 00:07:52 +02:00 |
|
jespergravgaard
|
fa6e54fb87
|
Added test ref
|
2019-05-18 23:58:24 +02:00 |
|
jespergravgaard
|
b5a9d47472
|
Improved code by avoiding unnecesary casts
|
2019-05-18 23:58:04 +02:00 |
|
jespergravgaard
|
abfa6f875f
|
Added a few tests
|
2019-05-18 22:40:46 +02:00 |
|
jespergravgaard
|
eed4018450
|
Added a blitter box
|
2019-05-18 22:07:16 +02:00 |
|
jespergravgaard
|
9cec38d075
|
Fixed negative numbers, zero-addition, zero inlining.
|
2019-05-18 21:37:34 +02:00 |
|
jespergravgaard
|
fe41c2ba42
|
Fixed array indexing using word-size indices
|
2019-05-18 13:58:26 +02:00 |
|
jespergravgaard
|
06aed186e2
|
Fixed type inference for rangenext
|
2019-05-18 12:43:13 +02:00 |
|
jespergravgaard
|
13cc9e453c
|
Fixed a few tests. +0 in derefidx and rangenext() on signed words.
|
2019-05-18 12:23:13 +02:00 |
|
jespergravgaard
|
855434afa9
|
Added missing fragment and ternary type inference test
|
2019-05-18 08:51:22 +02:00 |
|
jespergravgaard
|
9f27006540
|
Working on casts
|
2019-05-18 08:14:34 +02:00 |
|
Jesper Gravgaard
|
c200eaa535
|
Working on casts
|
2019-05-18 00:37:09 +02:00 |
|
jespergravgaard
|
0876603ca7
|
Working on casts
|
2019-05-17 08:55:04 +02:00 |
|
jespergravgaard
|
71cedd4d29
|
Working on fixing casts.
|
2019-05-17 01:07:47 +02:00 |
|
Jesper Gravgaard
|
17a0db4472
|
Minor fixes
|
2019-05-16 08:51:14 +02:00 |
|
jespergravgaard
|
6cfa5c750c
|
Implemented cast constant identification. 282/359
|
2019-05-14 00:16:17 +02:00 |
|
jespergravgaard
|
6e0b665423
|
Added an array initializer with negative values.
|
2019-05-13 09:24:23 +02:00 |
|
jespergravgaard
|
3d56f3705a
|
Array initializer with number handling - 278/358
|
2019-05-13 09:17:30 +02:00 |
|
jespergravgaard
|
fe60b31f73
|
New literal word constructor handling - 277/354
|
2019-05-12 21:18:55 +02:00 |
|
jespergravgaard
|
07b67efb7c
|
Eliminating SymbolTypeMulti - 274/351
|
2019-05-12 14:42:41 +02:00 |
|
jespergravgaard
|
7767c1216b
|
Added missing fragment - 274/351
|
2019-05-12 14:32:16 +02:00 |
|
jespergravgaard
|
ef05cc8c3b
|
Eliminating SymbolTypeMulti - 273/351
|
2019-05-12 13:56:04 +02:00 |
|
jespergravgaard
|
8db7736830
|
Improved no-cast detection. 273/351
|
2019-05-12 13:51:36 +02:00 |
|
jespergravgaard
|
e09d81cd13
|
Improved no-cast detection. 271/351
|
2019-05-12 12:59:47 +02:00 |
|
jespergravgaard
|
6e566852ba
|
Fixed assignment type conversions and unnecesary byte/word casts. 269/351
|
2019-05-12 12:27:48 +02:00 |
|
Jesper Gravgaard
|
e56e66acd8
|
Working on multiply/divide.
|
2019-05-11 23:16:03 +02:00 |
|
Jesper Gravgaard
|
bd6ece561b
|
Fixed multiply to shift. 260/351.
|
2019-05-11 20:14:14 +02:00 |
|
Jesper Gravgaard
|
3c8845d6a6
|
Added alias elimination to constant optimization phase. 255/351.
|
2019-05-11 19:55:03 +02:00 |
|
Jesper Gravgaard
|
51c10d29c3
|
Working on fixing type conversion casting. Still a work in progress!
|
2019-05-10 11:20:37 +02:00 |
|
jespergravgaard
|
f6f25e728b
|
Working on special word+byte downgrade. - down to 190/351.
|
2019-05-09 07:43:47 +02:00 |
|
jespergravgaard
|
ea990b5e87
|
Working on fixing test errors - fixed pointer-dereference-indexed - 228/350 working.
|
2019-05-08 23:24:48 +02:00 |
|
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 |
|
jespergravgaard
|
ca9453346b
|
Added missing RTS after jsr main
|
2019-04-06 11:53:56 +02:00 |
|
Travis Fisher
|
d3b4e895dc
|
use cheaper hash function for speed improvement
|
2019-04-04 21:47:37 -04:00 |
|
jespergravgaard
|
9ccc5d828f
|
Improved pointer-to-pointer functionality significantly.
|
2019-04-05 01:05:15 +02:00 |
|
jespergravgaard
|
44b6ed1fb8
|
Improved test.
|
2019-04-04 20:49:07 +02:00 |
|
jespergravgaard
|
64b3a07ee6
|
Added all functions that become pointers as separate thread heads.
|
2019-04-04 20:45:52 +02:00 |
|
jespergravgaard
|
10dd5e4c7b
|
Added support for arrays containing pointers for noargs functions.
|
2019-04-04 19:23:38 +02:00 |
|
jespergravgaard
|
ec6404bafd
|
Added support for functions returning constant pointers to functions.
|
2019-04-04 19:01:47 +02:00 |
|
jespergravgaard
|
c6597a2736
|
Added support for functions returning pointers to functions.
|
2019-04-04 18:45:57 +02:00 |
|
jespergravgaard
|
06b90b6ee3
|
Refactored code to reuse ProgramValueIterator and Scope features.
|
2019-04-04 17:58:28 +02:00 |
|
jespergravgaard
|
e258b9593d
|
Function pointers now working both when constant and variable (in simple noargs non-scope-crossing cases with no local variables in the referenced functions.)
|
2019-04-04 17:44:14 +02:00 |
|
Travis Fisher
|
54e79d91a1
|
try again update test reference. maven config for tests in parallel.
|
2019-04-02 21:41:57 -04:00 |
|
jespergravgaard
|
3434a695d2
|
Implemented a bunch of the foundation needed for function pointers - incl. the parser and handling of pointers in zeropage variables.
|
2019-04-03 00:03:37 +02:00 |
|
jespergravgaard
|
de8c42eba8
|
Fixed problem with overlapping variables in threads.
|
2019-04-02 22:31:26 +02:00 |
|
Travis Fisher
|
c78aef2312
|
update test reference results
|
2019-04-02 02:28:13 -04:00 |
|
Travis Fisher
|
7784f174b7
|
replace jmp to rts with rts in double jump elimination pass
|
2019-04-01 18:14:18 -04:00 |
|
jespergravgaard
|
fe9a9005ed
|
Added test with both break & continue. Added SID-files to assembly.
|
2019-03-31 23:32:25 +02:00 |
|
jespergravgaard
|
7687163a4a
|
Added synth rule to detect missing C1 and move down the other Cs using mapC. This lowers the number of rules since rules rewriting C1 no longer need to avoid twoC or use mapC. A similar rule was added for missing C2s and mapC3.
|
2019-03-31 22:34:28 +02:00 |
|
jespergravgaard
|
f773c96cbc
|
Removed all fragments using _derefidx_vbs.. - and replaced them with a synthesis rule.
|
2019-03-31 22:01:08 +02:00 |
|
jespergravgaard
|
2d7825a0b9
|
Implemented continue statement. Closes #91
|
2019-03-31 20:15:01 +02:00 |
|
Jesper Gravgaard
|
4424ffe92c
|
Implemented loop break.
|
2019-03-31 17:57:54 +02:00 |
|
Jesper Gravgaard
|
547cfb6237
|
Merge remote-tracking branch 'origin/master'
|
2019-03-31 17:49:54 +02:00 |
|
Jesper Gravgaard
|
03296d9173
|
Moved in attempt to avoid conflict.
|
2019-03-31 17:49:50 +02:00 |
|
Jesper Gravgaard
|
864c79335f
|
Implemented break statement breaking out of the current loop.
|
2019-03-31 17:38:21 +02:00 |
|
jespergravgaard
|
613322153e
|
Added synthesis rules suggested by Travis Fisher allowing synthesis of pbuc1_derefidx_vbuxx / pbuc1_derefidx_vbuyy also when C1 is used elsewhere in the fragment.
|
2019-03-31 17:35:16 +02:00 |
|
jespergravgaard
|
d13ca4e03b
|
Implemented block label renumbering ensuring generated ASM labels are slightly more sensible to the reader.
|
2019-03-31 17:10:43 +02:00 |
|