jespergravgaard
|
526bfbb60c
|
Added support for converting non-boolean conditions to boolean. Fixed problem with ranged for iterating signed bytes. Closes #135
|
2019-06-03 00:44:46 +02:00 |
|
Jesper Gravgaard
|
45471f6848
|
Implemented syntax supporting string character encodings. Closes #59
|
2019-06-02 17:25:04 +02:00 |
|
jespergravgaard
|
8947882e20
|
Moved zero-page coalesce to an optimization option.
|
2019-05-31 23:17:57 +02:00 |
|
jespergravgaard
|
67a198c48f
|
Updated number type test. Closes #181
|
2019-05-31 20:19:23 +02:00 |
|
jespergravgaard
|
487c06fbbc
|
Removed -O0 switch
|
2019-05-31 18:51:39 +02:00 |
|
jespergravgaard
|
8925a57955
|
Cached phi transition calculations yilding significantly faster compilation of complex programs.
|
2019-05-31 18:20:03 +02:00 |
|
jespergravgaard
|
b6ee63ea9f
|
Caching effective alive for each call path.
|
2019-05-31 15:48:20 +02:00 |
|
jespergravgaard
|
97f6051b12
|
Fixed static optimization problem not detecting modified memory. Fixed thread problem not handling global variables properly. Added compiler switch -O0 doing less optimization for faster compiles.
|
2019-05-31 12:46:50 +02:00 |
|
jespergravgaard
|
29aa5322b2
|
Fixed issue with const/label.
|
2019-05-31 01:56:59 +02:00 |
|
jespergravgaard
|
ecf4181ce1
|
Fixed tests (added missing toString(). Changed global reserve directiveu to #reserve(zp,zp,zp,...). Added global directive specifying code address #zp(addr). Closes #190
|
2019-05-30 23:50:26 +02:00 |
|
jespergravgaard
|
b755cd448f
|
Readded cfg/log/sym-files to tests
|
2019-05-30 22:29:07 +02:00 |
|
jespergravgaard
|
036724c92d
|
Readded nop cast inlining - and fixed some recursion problems.
|
2019-05-30 21:38:12 +02:00 |
|
jespergravgaard
|
33b75c3db6
|
Merged 181-type-system
|
2019-05-30 17:55:53 +02:00 |
|
Jesper Gravgaard
|
ef953a12b4
|
Added some pointer-based struct tests (simulating the ASM we want for array indexing).
|
2019-05-29 17:45:17 +02:00 |
|
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 |
|