mirror of
https://github.com/irmen/prog8.git
synced 2024-07-05 06:29:02 +00:00
todo
This commit is contained in:
parent
8e9cbab053
commit
6012839f0e
@ -3,13 +3,10 @@ TODO
|
|||||||
|
|
||||||
For next minor release
|
For next minor release
|
||||||
^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
- 6502 codegen optimize array1[index] += / -= array2[index] to not use slow stackeval (attemptAssignOptimizedBinexpr)
|
- BSS in 6502 codegen: create BSS section in output assembly code and put StStaticVariables in there with bss=true.
|
||||||
- various optimizers skip stuff if compTarget.name==VMTarget.NAME. When 6502-codegen is no longer done from
|
|
||||||
the old CompilerAst, those checks should probably be removed, or be made permanent
|
|
||||||
- 6502 codegen: create BSS section in output assembly code and put StStaticVariables in there with bss=true.
|
|
||||||
Don't forget to add init code to zero out everything that was put in bss. If array in bss->only zero ONCE if possible.
|
Don't forget to add init code to zero out everything that was put in bss. If array in bss->only zero ONCE if possible.
|
||||||
Note that bss can still contain variables that have @zp tag and those are already dealt with differently
|
Note that bss can still contain variables that have @zp tag and those are already dealt with differently
|
||||||
- bss: subroutine parameters don't have to be set to 0.
|
- BSS: subroutine parameters don't have to be set to 0.
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
||||||
@ -84,6 +81,8 @@ Optimizations:
|
|||||||
- when a loopvariable of a forloop isn't referenced in the body, and the iterations are known, replace the loop by a repeatloop
|
- when a loopvariable of a forloop isn't referenced in the body, and the iterations are known, replace the loop by a repeatloop
|
||||||
but we have no efficient way right now to see if the body references a variable.
|
but we have no efficient way right now to see if the body references a variable.
|
||||||
- optimize function argument expressions better (use temporary variables to replace non-simple expressions?)
|
- optimize function argument expressions better (use temporary variables to replace non-simple expressions?)
|
||||||
|
- various optimizers skip stuff if compTarget.name==VMTarget.NAME. Once 6502-codegen is done from IR code,
|
||||||
|
those checks should probably be removed, or be made permanent
|
||||||
|
|
||||||
|
|
||||||
STRUCTS again?
|
STRUCTS again?
|
||||||
|
Loading…
Reference in New Issue
Block a user