This commit is contained in:
Irmen de Jong 2020-03-29 03:06:51 +02:00
parent 05c73fa8bc
commit 267adb4612
3 changed files with 27 additions and 2 deletions

View File

@ -1 +1 @@
1.90 1.91-SNAPSHOT

View File

@ -6,7 +6,7 @@ TODO
- aliases for imported symbols for example perhaps '%alias print = c64scr.print' - aliases for imported symbols for example perhaps '%alias print = c64scr.print'
- option to load library files from a directory instead of the embedded ones (easier library development/debugging) - option to load library files from a directory instead of the embedded ones (easier library development/debugging)
- investigate support for 8bitguy's Commander X16 platform https://murray2.com/forums/commander-x16.9/
Memory Block Operations integrated in language? Memory Block Operations integrated in language?
@ -36,6 +36,7 @@ Add more compiler optimizations to the existing ones.
the program will then rely solely on the values as they are in memory at the time of program startup. the program will then rely solely on the values as they are in memory at the time of program startup.
- Also some library routines and code patterns could perhaps be optimized further - Also some library routines and code patterns could perhaps be optimized further
- can the parameter passing to subroutines be optimized to avoid copying? - can the parameter passing to subroutines be optimized to avoid copying?
- subroutine calling convention? like: 1 byte arg -> pass in A, 2 bytes -> pass in A+Y, return value likewise.
- more optimizations on the language AST level - more optimizations on the language AST level
- more optimizations on the final assembly source level - more optimizations on the final assembly source level

View File

@ -5,6 +5,30 @@
main { main {
sub start() { sub start() {
ubyte ub
byte bb
word ww
uword uw
uword auw
word aww
byte ab
ubyte aub
; TODO optimize all of these:
ab = bb+bb ; TODO bb * 2? (bb<<1)
ab = bb+bb+bb
aww = ww+ww
aww = ww+ww+ww
aub = ub+ub
aub = ub+ub+ub
auw = uw+uw
auw = uw+uw+uw
A = A+A
Y=Y+Y+Y
} }
} }