Irmen de Jong
|
5890a1ca1e
|
Merge branch 'master' into next_compositetypes
# Conflicts:
# examples/test.p8
|
2024-09-14 23:18:38 +02:00 |
|
Irmen de Jong
|
c7b1e8d772
|
fixed a variable scopedname issue where it took the fully scoped name instead of just the local name
this made 64tass not strip out that code if it was unused
|
2024-09-14 23:17:26 +02:00 |
|
Irmen de Jong
|
f45fd517ac
|
fix merge
|
2024-09-12 23:53:36 +02:00 |
|
Irmen de Jong
|
a737547fe9
|
Merge branch 'master' into next_compositetypes
# Conflicts:
# codeCore/src/prog8/code/ast/AstExpressions.kt
# codeCore/src/prog8/code/optimize/Optimizer.kt
# codeGenCpu6502/src/prog8/codegen/cpu6502/ForLoopsAsmGen.kt
# codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/ExpressionGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/IRCodeGen.kt
# codeOptimizers/src/prog8/optimizer/StatementOptimizer.kt
# compiler/src/prog8/compiler/astprocessing/LiteralsToAutoVars.kt
# compiler/src/prog8/compiler/astprocessing/VariousCleanups.kt
# docs/source/todo.rst
# examples/test.p8
|
2024-09-12 23:32:23 +02:00 |
|
Irmen de Jong
|
5986dcdd2f
|
add new containment check codegen for IR
|
2024-09-12 22:04:20 +02:00 |
|
Irmen de Jong
|
255c5bfaca
|
improve containment check for few values
|
2024-09-11 03:24:30 +02:00 |
|
Irmen de Jong
|
8eaf884f69
|
improve codegen for for loops downto 0,1 when start value is not const
|
2024-09-10 23:54:44 +02:00 |
|
Irmen de Jong
|
699a2bb7ab
|
improved codegen for for loops downto 0
|
2024-09-10 21:33:57 +02:00 |
|
Irmen de Jong
|
4e98fb75d6
|
support assigning multiple return flags from asmsub in 6502 codegen
|
2024-09-09 22:56:40 +02:00 |
|
Irmen de Jong
|
8f5d42dbc2
|
more tests and some cleanups/fixes
|
2024-09-08 23:01:49 +02:00 |
|
Irmen de Jong
|
759babb4c1
|
rename back to DataType
|
2024-09-08 22:59:08 +02:00 |
|
Irmen de Jong
|
a1dfcd07a8
|
fixing things
|
2024-09-08 22:58:40 +02:00 |
|
Irmen de Jong
|
5cbf1cd2b1
|
cleanup imports
|
2024-09-08 22:58:36 +02:00 |
|
Irmen de Jong
|
c41dc98936
|
making datatype more capable (subtypes)
|
2024-09-08 22:58:36 +02:00 |
|
Irmen de Jong
|
e80c22275d
|
making datatype more capable (subtypes)
|
2024-09-08 22:58:35 +02:00 |
|
Irmen de Jong
|
74e305b90c
|
making datatype more capable (subtypes)
|
2024-09-08 22:57:49 +02:00 |
|
Irmen de Jong
|
edc5a5a94f
|
improve data driven unit tests to use kotest withData()
|
2024-09-08 16:55:08 +02:00 |
|
Irmen de Jong
|
2396f707c6
|
fix bug in codegen for certain array lookups using word typed index value (i.e. via a pointer variable)
|
2024-09-06 18:11:41 +02:00 |
|
Irmen de Jong
|
29dd758302
|
Fix compiler crash in for loops with just 1 iteration
|
2024-09-05 21:26:46 +02:00 |
|
Irmen de Jong
|
2c2ae64194
|
replace java Stack by kotlin ArrayDeque
|
2024-09-02 00:15:28 +02:00 |
|
Irmen de Jong
|
bdeac74cfc
|
removed the -nostrictbool compiler option
boolean types and bytes are no longer implicitly interchangeable using this option
|
2024-09-01 20:53:39 +02:00 |
|
Irmen de Jong
|
b70ce0015c
|
fix missing opportunities to use TSB instruction
|
2024-07-24 22:51:49 +02:00 |
|
Irmen de Jong
|
c67f877857
|
Codegen: use BIT instruction for memory location bit 7 and 6 tests (use N and V flags)
|
2024-07-24 19:26:54 +02:00 |
|
Irmen de Jong
|
4c98070b3c
|
optimize shifts by 1 by inlining it better
|
2024-07-21 22:08:41 +02:00 |
|
Irmen de Jong
|
3681d6ee1c
|
optimize division by powers of 2 better (into bit shifts)
|
2024-07-21 21:34:38 +02:00 |
|
Irmen de Jong
|
0af17cdc33
|
todo's for division optimizations
|
2024-07-21 20:32:03 +02:00 |
|
Irmen de Jong
|
d18f2a7bfd
|
improved codegen for some pointer+index expressions
|
2024-07-18 23:41:34 +02:00 |
|
Irmen de Jong
|
9046fe8d3a
|
ringbuffer and pointer optimization todo
|
2024-07-16 22:59:31 +02:00 |
|
Irmen de Jong
|
78c7ee247a
|
generate 65c02 TSB/TRB instructions in certain cases
|
2024-07-16 00:36:00 +02:00 |
|
Irmen de Jong
|
484677b4b1
|
Get rid of any() and all() builtin functions.
Replaced by regular subroutines in the anyall module.
|
2024-07-06 18:49:03 +02:00 |
|
Irmen de Jong
|
25f25a8767
|
Get rid of sort() and reverse() builtin functions.
Sort() had too many gotchas and reverse() is kinda redundant you can loop in decreasing order through an array too.
|
2024-07-06 17:07:58 +02:00 |
|
Irmen de Jong
|
43c55b58d2
|
fix register overwriting for certain subroutine call parameter combinations. Fixes #136
|
2024-07-02 23:26:34 +02:00 |
|
Irmen de Jong
|
ead8aa7800
|
asm optimization: bxx+jmp -> opposite bxx
|
2024-06-29 17:22:57 +02:00 |
|
Irmen de Jong
|
7a9dd1ac9b
|
optimize trivial 65c02 stack instructions
|
2024-06-29 15:42:40 +02:00 |
|
Irmen de Jong
|
1c97c22eff
|
optimize simple word and byte addition/subtraction better
|
2024-06-29 14:33:42 +02:00 |
|
Irmen de Jong
|
4f8aaf9244
|
some tweaks and todos
|
2024-06-26 21:22:40 +02:00 |
|
Irmen de Jong
|
034f27a8dd
|
added queens example, update kotest lib
|
2024-06-19 23:57:43 +02:00 |
|
Irmen de Jong
|
c9a4235669
|
update to kotlin 2.0, fix several code style issues
|
2024-06-04 01:00:46 +02:00 |
|
Irmen de Jong
|
d3dcd24b4d
|
add profiler script
|
2024-05-29 00:56:31 +02:00 |
|
Irmen de Jong
|
fd1e6796ef
|
correct branch instruction, fixes #137
|
2024-05-24 20:54:40 +02:00 |
|
Irmen de Jong
|
0dc50a93a4
|
added @nozp variable flag
|
2024-05-21 21:53:58 +02:00 |
|
Irmen de Jong
|
c719e274d5
|
java version tweaks
|
2024-05-18 20:25:44 +02:00 |
|
Irmen de Jong
|
6e8a89e6f1
|
optimize const word repeat setup
|
2024-05-18 16:30:27 +02:00 |
|
Irmen de Jong
|
aa2437cfb8
|
fix invalid repeat loop when iterations is already in register Y
|
2024-05-18 15:09:56 +02:00 |
|
Irmen de Jong
|
4a710ecdfc
|
cleanups
|
2024-05-17 18:48:04 +02:00 |
|
Irmen de Jong
|
7915dda35f
|
update libraries
|
2024-05-12 03:02:54 +02:00 |
|
Irmen de Jong
|
a7247f5b8b
|
fix boolean expression optimization bug
|
2024-04-12 21:56:25 +02:00 |
|
Irmen de Jong
|
5d7ddebcad
|
fix bool to uword cast in 6502 codegen
|
2024-04-11 00:34:53 +02:00 |
|
Irmen de Jong
|
53df0eb707
|
cleanups
|
2024-04-10 22:04:03 +02:00 |
|
Irmen de Jong
|
66a6659a6e
|
cbm.STOP2() and cbm.GETIN2() convenience routines
|
2024-04-06 02:16:21 +02:00 |
|