Irmen de Jong
|
b6e2b36692
|
refactor
|
2020-07-03 23:37:38 +02:00 |
|
Irmen de Jong
|
a6d789cfbc
|
fixed function argument type cast bug
|
2020-07-03 17:24:43 +02:00 |
|
Irmen de Jong
|
c07907e7bd
|
fixed missing shifts codegen
|
2020-07-02 21:28:48 +02:00 |
|
Irmen de Jong
|
7d8496c874
|
fixed missing shifts codegen
|
2020-07-02 19:18:47 +02:00 |
|
Irmen de Jong
|
a9d4b8b0fa
|
fixed ast modifications on node arrays, in particular function call parameter lists
|
2020-07-01 22:03:54 +02:00 |
|
Irmen de Jong
|
ec7b9f54c2
|
subroutine inlining is an optimizer step
|
2020-07-01 12:41:10 +02:00 |
|
Irmen de Jong
|
307558a7e7
|
removed some double code related to call tree
|
2020-06-30 20:42:55 +02:00 |
|
Irmen de Jong
|
a999c23014
|
simple subroutine inlining added
|
2020-06-27 17:03:03 +02:00 |
|
Irmen de Jong
|
b166576e54
|
comments
|
2020-06-17 23:27:54 +02:00 |
|
Irmen de Jong
|
ee2ba5f398
|
some more optimizations for swap() function call asm code generation
|
2020-06-17 22:40:57 +02:00 |
|
Irmen de Jong
|
cb9825484d
|
some more optimized in-array assignments codegeneration
|
2020-06-17 21:41:38 +02:00 |
|
Irmen de Jong
|
76cda82e23
|
v2.2
|
2020-06-16 01:43:44 +02:00 |
|
Irmen de Jong
|
37b61d9e6b
|
v2.2
|
2020-06-16 01:39:11 +02:00 |
|
Irmen de Jong
|
52f0222a6d
|
Got rid of old Ast transformer Api, some compiler error fixes
|
2020-06-16 01:25:49 +02:00 |
|
Irmen de Jong
|
75ccac2f2c
|
refactoring last of old Ast modification Api
|
2020-06-16 00:36:02 +02:00 |
|
Irmen de Jong
|
5c771a91f7
|
refactoring last of old Ast modification Api
|
2020-06-14 16:56:48 +02:00 |
|
Irmen de Jong
|
a242ad10e6
|
fix double printing of sub param vardecl
|
2020-06-14 13:46:46 +02:00 |
|
Irmen de Jong
|
b5086b6a8f
|
refactoring last of old Ast modification Api
|
2020-06-14 03:17:42 +02:00 |
|
Irmen de Jong
|
3e47dad12a
|
clearer no modifications
|
2020-06-14 02:54:29 +02:00 |
|
Irmen de Jong
|
235610f40c
|
refactored StatementOptimizer
|
2020-06-14 02:41:23 +02:00 |
|
Irmen de Jong
|
6b59559c65
|
memory address assignment codegen
|
2020-06-14 02:12:40 +02:00 |
|
Irmen de Jong
|
23e954f716
|
refactoring StatementOptimizer
|
2020-06-14 02:00:32 +02:00 |
|
Irmen de Jong
|
983c899cad
|
refactor AstIdentifierChecker
|
2020-06-13 00:14:19 +02:00 |
|
Irmen de Jong
|
c2f9385965
|
refactor AstIdentifierChecker
|
2020-06-12 21:34:27 +02:00 |
|
Irmen de Jong
|
ceb2c9e4f8
|
added string value assignment, leftstr, rightstr, substr functions
|
2020-06-06 00:05:39 +02:00 |
|
Irmen de Jong
|
68a7f9c665
|
version 2.1
|
2020-06-04 23:03:18 +02:00 |
|
Irmen de Jong
|
ffd8d9c7c1
|
more assignment expression optimizations
|
2020-06-04 22:57:32 +02:00 |
|
Irmen de Jong
|
c66fc8630c
|
fixed missing repeated constant folding in expression optimization
|
2020-06-04 20:22:37 +02:00 |
|
Irmen de Jong
|
9ca1c66f2b
|
added some optimizations for >= 0 and <0 comparisons for integers
|
2020-06-04 01:43:37 +02:00 |
|
Irmen de Jong
|
33647a29d0
|
be smarter about certain implicit type casts
|
2020-06-03 23:55:41 +02:00 |
|
Irmen de Jong
|
02b12cc762
|
optimized swap() for byte and word vars, optimized graphics line routine
|
2020-06-03 23:27:50 +02:00 |
|
Irmen de Jong
|
3280993e2a
|
stricter type checking in assignments (less implicit typecasts)
|
2020-06-02 22:36:57 +02:00 |
|
Irmen de Jong
|
3723c22054
|
fix string param type
|
2020-06-02 02:09:52 +02:00 |
|
Irmen de Jong
|
0a2c4ea0c4
|
improved ast printing
|
2020-06-02 01:51:27 +02:00 |
|
Irmen de Jong
|
58a83c0439
|
improved code gen for passing string and array types.
|
2020-06-02 01:44:42 +02:00 |
|
Irmen de Jong
|
d665489054
|
implemented asm for addressof-assignment
|
2020-06-02 00:31:56 +02:00 |
|
Irmen de Jong
|
9200992024
|
slightly improved asm gen error messages
|
2020-06-02 00:31:20 +02:00 |
|
Irmen de Jong
|
961bcdb7ae
|
some more todo's noted down
|
2020-05-15 00:24:25 +02:00 |
|
Irmen de Jong
|
edee70cf31
|
use new api for ast mods in unused code remover
|
2020-05-15 00:16:53 +02:00 |
|
Irmen de Jong
|
1978a9815a
|
version 2.0
|
2020-05-14 23:59:18 +02:00 |
|
Irmen de Jong
|
f5e6db9d66
|
big compiler speedup due to optimized scope lookups
|
2020-05-14 23:59:02 +02:00 |
|
Irmen de Jong
|
a94bc40ab0
|
performance todo's
|
2020-05-08 20:41:10 +02:00 |
|
Irmen de Jong
|
5ebd9b54e4
|
added some more optimized array assignments
|
2020-04-10 23:30:19 +02:00 |
|
Irmen de Jong
|
cc4e272526
|
the new assignment code (once complete) really is a big enough change to bump the version to 2.0
|
2020-04-09 00:24:37 +02:00 |
|
Irmen de Jong
|
295e199bfa
|
optimized asm output for unneeded typecasts, fixed parent node linking issues with replaceChildNode, Assignment aug_op field is now mutable to avoid having to recreate many Assignment nodes
|
2020-04-09 00:12:50 +02:00 |
|
Irmen de Jong
|
e4fe1d2b8d
|
attempts to optimize in-place assignments
|
2020-04-08 03:11:38 +02:00 |
|
Irmen de Jong
|
b8b9244ffa
|
merged AddressOfInserter into StatementReorderer
|
2020-04-06 15:23:54 +02:00 |
|
Irmen de Jong
|
3be3989e1c
|
version
|
2020-04-06 14:31:23 +02:00 |
|
Irmen de Jong
|
ed54cf680a
|
fixed ast parent link bug in AstWalker, rewrote StatementReorderer using new API, when labels are sorted.
|
2020-04-06 14:31:02 +02:00 |
|
Irmen de Jong
|
95e76058d3
|
version
|
2020-04-03 23:55:29 +02:00 |
|
Irmen de Jong
|
a6bee6a860
|
some slight tweaks to asm for setting float value in array
|
2020-04-03 22:44:10 +02:00 |
|
Irmen de Jong
|
d22780ee44
|
implemented asm for lsl array values
|
2020-04-03 21:45:52 +02:00 |
|
Irmen de Jong
|
f8b0b9575d
|
implemented asm for rol array values
|
2020-04-03 21:31:39 +02:00 |
|
Irmen de Jong
|
4274fd168e
|
implemented asm for rol2 array values
|
2020-04-03 21:24:55 +02:00 |
|
Irmen de Jong
|
be7f5957f3
|
implemented asm for ror2 array values
|
2020-04-03 21:04:42 +02:00 |
|
Irmen de Jong
|
f2e5d987a9
|
implemented asm for ror array values
|
2020-04-03 00:03:42 +02:00 |
|
Irmen de Jong
|
f01173d8db
|
fixed compilation of clear/set_carry() and clear/set_irqd() functions
|
2020-04-03 00:00:58 +02:00 |
|
Irmen de Jong
|
15e8e0bf6d
|
implemented asm for lsr array values
|
2020-04-02 23:38:45 +02:00 |
|
Irmen de Jong
|
2c59cbdece
|
fixed a crash in astchecking of array init values
|
2020-04-02 18:40:04 +02:00 |
|
Irmen de Jong
|
b73da4ed02
|
some more obvious optimizations for X+X and X-X
|
2020-03-31 23:54:01 +02:00 |
|
Irmen de Jong
|
267adb4612
|
doc
|
2020-03-29 03:06:51 +02:00 |
|
Irmen de Jong
|
05c73fa8bc
|
version
|
2020-03-28 17:06:59 +01:00 |
|
Irmen de Jong
|
bed34378be
|
doc
|
2020-03-28 14:24:00 +01:00 |
|
Irmen de Jong
|
fffe36e358
|
fix bresenham line
|
2020-03-28 13:42:24 +01:00 |
|
Irmen de Jong
|
0af5582ca7
|
fix compiler crash for undefined symbol in expression
|
2020-03-27 23:09:46 +01:00 |
|
Irmen de Jong
|
4108a528e1
|
proepr compiler error when there's no main module
|
2020-03-26 23:22:01 +01:00 |
|
Irmen de Jong
|
ab7d7c2907
|
fix comparison of memory expressions (this error prevented some optimizations)
|
2020-03-26 22:59:42 +01:00 |
|
Irmen de Jong
|
152888ee93
|
fix direcetmemoryread invalid asm
|
2020-03-26 22:46:05 +01:00 |
|
Irmen de Jong
|
22f8f4f359
|
fixed memory pointer access asm code for direct reads and direct assignments
|
2020-03-26 19:20:39 +01:00 |
|
Irmen de Jong
|
b734dc44fd
|
fix invalid assembly for @(address)++/--
|
2020-03-26 01:13:20 +01:00 |
|
Irmen de Jong
|
fab224f509
|
fix compiler crashing with invalid array initializer built from single integer
|
2020-03-25 01:23:54 +01:00 |
|
Irmen de Jong
|
a335ba519a
|
fix warnings about unreachable code
|
2020-03-24 22:37:42 +01:00 |
|
Irmen de Jong
|
8805693ed2
|
cleaned up the way return statements are added to avoid code falling through in/out of subroutines
|
2020-03-24 22:02:50 +01:00 |
|
Irmen de Jong
|
f2bb238e9b
|
cleaned up various ast checks/mutations
|
2020-03-24 19:37:54 +01:00 |
|
Irmen de Jong
|
131fe670a4
|
optimized scroll routines by removing needless twin loops
|
2020-03-24 17:33:47 +01:00 |
|
Irmen de Jong
|
11e9539416
|
smooth scroll
|
2020-03-24 02:42:32 +01:00 |
|
Irmen de Jong
|
3881ebe429
|
begun skramble clone
|
2020-03-24 01:47:02 +01:00 |
|
Irmen de Jong
|
bcc75732e9
|
optimize asm jsr+rts into jmp
|
2020-03-23 23:51:27 +01:00 |
|
Irmen de Jong
|
50a85ee6b0
|
attempt to optimize asm for bitshifts more.
|
2020-03-23 22:59:29 +01:00 |
|
Irmen de Jong
|
2c7424fd43
|
fix: datatype mismatch in optimized bitshift const value
|
2020-03-23 22:35:23 +01:00 |
|
Irmen de Jong
|
7426587c38
|
fix: add proper return statement type cast if needed, now also for non constant values
|
2020-03-23 19:49:11 +01:00 |
|
Irmen de Jong
|
1f39749a5e
|
tweak bitshift asm
|
2020-03-23 17:35:58 +01:00 |
|
Irmen de Jong
|
ca63051c71
|
replaced todo's that aren't real todo's with regular exception
|
2020-03-23 13:00:44 +01:00 |
|
Irmen de Jong
|
6dd44aaf0d
|
compiler main cleanup
|
2020-03-23 02:54:04 +01:00 |
|
Irmen de Jong
|
f89457ba68
|
fixed var initialization bug in anonymous scopes
|
2020-03-23 02:09:30 +01:00 |
|
Irmen de Jong
|
0c561d8528
|
fixed subroutine parameter value issue
|
2020-03-23 00:13:46 +01:00 |
|
Irmen de Jong
|
8bfa2c4c02
|
proper initialization of block-level global variables
|
2020-03-22 22:47:05 +01:00 |
|
Irmen de Jong
|
f0d4c3aba9
|
moved initialvalues to asmgen, fixed sgn bug and internal float 0.0 variable disappearing bug
|
2020-03-22 18:17:12 +01:00 |
|
Irmen de Jong
|
3a99115070
|
Initial variable values semantics changed: now always sets value at program (re)start (except strings/arrays).
This may change later by introducing a compiler option to choose a strategy, perhaps.
|
2020-03-22 15:12:26 +01:00 |
|
Irmen de Jong
|
7232134931
|
fix some compiler errors
|
2020-03-22 13:47:13 +01:00 |
|
Irmen de Jong
|
954e911eb3
|
optimized zeros array initializer
|
2020-03-22 02:58:51 +01:00 |
|
Irmen de Jong
|
63c073c93f
|
got rid of the Simulator / AST VM
|
2020-03-22 02:50:34 +01:00 |
|
Irmen de Jong
|
78feef9d59
|
simplified handling of initial vardecl values in codegeneration
|
2020-03-22 02:45:42 +01:00 |
|
Irmen de Jong
|
4fbdd6d570
|
fix ubyte number print bug for 100-109 and 200-209 missing the tens digit
|
2020-03-22 01:49:05 +01:00 |
|
Irmen de Jong
|
4929c198ba
|
tweak error reporting, expanded lines and circles example
|
2020-03-22 00:43:46 +01:00 |
|
Irmen de Jong
|
9409f17372
|
bugfixes in new optimization routines
|
2020-03-21 23:09:18 +01:00 |
|
Irmen de Jong
|
43781c02d0
|
tweaked ast modifications
|
2020-03-21 18:42:40 +01:00 |
|
Irmen de Jong
|
824f06e17f
|
new var init values
|
2020-03-21 14:54:19 +01:00 |
|
Irmen de Jong
|
270ea54ff7
|
now properly compile assignment of struct literal value to struct variable (outside of vardecl)
|
2020-03-21 00:57:20 +01:00 |
|
Irmen de Jong
|
771ac7aba7
|
error when struct literal value element count doesn't match struct members in assignment
|
2020-03-20 23:14:03 +01:00 |
|