Irmen de Jong
|
ced4c5944a
|
fix broken optimization for wordvar - value expressions
|
2025-09-09 08:05:51 +02:00 |
|
Irmen de Jong
|
0b9384b556
|
fix typecasted byte-to-word pointer assignment, some more asm optimizations
|
2025-09-09 05:56:55 +02:00 |
|
Irmen de Jong
|
e178097735
|
support more struct instance assignments via memcopy()
|
2025-09-08 13:18:50 +02:00 |
|
Irmen de Jong
|
a1ab8ed208
|
fixing alias bugs
|
2025-09-07 22:52:13 +02:00 |
|
Irmen de Jong
|
52a757ea78
|
todo
|
2025-09-02 00:42:46 +02:00 |
|
Irmen de Jong
|
28df08eea8
|
introduce P8ZP_SCRATCH_PTR temporary zp pointer to avoid clobbering W1,W2
|
2025-09-01 23:56:31 +02:00 |
|
Irmen de Jong
|
79505308ba
|
optimize indexed pointer code a bit more
|
2025-09-01 22:18:17 +02:00 |
|
Irmen de Jong
|
a7e9d8e14b
|
fix struct field offset calculations
|
2025-09-01 18:57:02 +02:00 |
|
Irmen de Jong
|
3ef09d7d9a
|
use LOADFIELD instruction more instead of an extra explicit ADD
add implicit @zp to pointer variables if they don't have a preference
|
2025-08-31 15:53:44 +02:00 |
|
Irmen de Jong
|
13e6f64d3b
|
implement missing struct pointer indexing codegen
|
2025-08-31 12:20:38 +02:00 |
|
Irmen de Jong
|
4a1256c772
|
optimizing some pointer codegen for indexed derefs
|
2025-08-30 21:20:14 +02:00 |
|
Irmen de Jong
|
ff9bec90ec
|
fix struct pointer array indexing field dereferencing
the pointers/sorting example now actually works on the 6502 too
|
2025-08-30 12:24:30 +02:00 |
|
Irmen de Jong
|
a6fee1e510
|
fixing deref()
|
2025-08-30 07:04:01 +02:00 |
|
Irmen de Jong
|
5eb2fc8d86
|
fix a bad pointer arithmetic optimization
|
2025-08-29 19:36:57 +02:00 |
|
Irmen de Jong
|
221a093e5f
|
optimize some pointer arithmetic, fix pointer arithmetic for ptr-value
|
2025-08-28 23:08:06 +02:00 |
|
Irmen de Jong
|
9a76941e10
|
fix invalid optimization for ptr-value
|
2025-08-28 20:13:02 +02:00 |
|
Irmen de Jong
|
0285a4cce1
|
avoid needless pointer arithmetic multiplication by struct size 1
|
2025-08-27 21:50:09 +02:00 |
|
Irmen de Jong
|
5a3aa1bd25
|
optimized IR to return a constant value: use RETURNI
|
2025-08-26 22:54:11 +02:00 |
|
Irmen de Jong
|
0f79351de9
|
support word size indexing on typed pointers
|
2025-08-25 22:58:48 +02:00 |
|
Irmen de Jong
|
b7193bd0c6
|
update examples to use typed pointers where appropriate
(found 2 regressions that still need to be handled)
|
2025-08-24 15:17:47 +02:00 |
|
Irmen de Jong
|
d30f58004e
|
converting untyped to typed pointers in custom target libraries
|
2025-08-24 14:27:25 +02:00 |
|
Irmen de Jong
|
a68209be37
|
converting untyped to typed pointers in cx16 libraries
|
2025-08-24 14:13:02 +02:00 |
|
Irmen de Jong
|
8e53c83844
|
optimize certain ptr+value expression on 6502
|
2025-08-24 05:46:49 +02:00 |
|
Irmen de Jong
|
e2a2db1256
|
converting untyped to typed pointers in libraries
|
2025-08-22 22:47:19 +02:00 |
|
Irmen de Jong
|
fad17cc094
|
support a few other simple cases of struct instance assignment
|
2025-08-21 00:04:30 +02:00 |
|
Irmen de Jong
|
f93d957999
|
proper warning for struct instance assignment (not yet supported)
|
2025-08-20 20:35:29 +02:00 |
|
Irmen de Jong
|
a4769702f9
|
todo
|
2025-08-19 23:06:04 +02:00 |
|
Irmen de Jong
|
369303c46d
|
fix register clobbering in pointer deref
|
2025-08-18 23:36:35 +02:00 |
|
Irmen de Jong
|
d65670cc7b
|
fix 6502 address-of for array-indexed pointers (pointer arithmetic)
|
2025-08-18 20:24:39 +02:00 |
|
Irmen de Jong
|
f74eeaee0f
|
fix IR address-of for array-indexed pointers (pointer arithmetic)
|
2025-08-18 03:24:32 +02:00 |
|
Irmen de Jong
|
826fb3e9c2
|
implemented assign indexed ptr byte
|
2025-08-17 13:21:31 +02:00 |
|
Irmen de Jong
|
0cc36ed6e4
|
pointer TODO's all as stub methods in the PointerAssignmentsGen class
|
2025-08-16 16:21:06 +02:00 |
|
Irmen de Jong
|
4a8d5def84
|
code cleanups, pointer TODOs, docs dark mode
|
2025-08-16 11:25:18 +02:00 |
|
Irmen de Jong
|
2f60716082
|
6502 struct allocation to asm file, struct name and field prefixing (maybe unneeded...)
|
2025-08-16 01:49:22 +02:00 |
|
Irmen de Jong
|
729efb04e1
|
fix code size regressions
|
2025-08-14 23:59:59 +02:00 |
|
Irmen de Jong
|
4ea8b4d445
|
fix unknown field test and redundant errors
|
2025-08-14 21:01:25 +02:00 |
|
Irmen de Jong
|
e800c165f9
|
fix 6502 inplace pointer variable assignment
|
2025-08-14 20:38:18 +02:00 |
|
Irmen de Jong
|
fd9bd23449
|
6502 statementreorderer: str -> ^^ubyte
|
2025-08-13 18:45:29 +02:00 |
|
Irmen de Jong
|
8880ed1393
|
fix address-of struct fields
|
2025-08-08 23:08:47 +02:00 |
|
Irmen de Jong
|
f7fde070ca
|
fix boolean pointer condition in if expression
|
2025-08-08 22:15:58 +02:00 |
|
Irmen de Jong
|
8972235a0e
|
fix missing peekbool() and pokebool() code gen
|
2025-08-07 21:22:48 +02:00 |
|
Irmen de Jong
|
7c0fb10197
|
fix bug: VM MULR float error, another pointer dependency checker error
|
2025-08-05 22:00:05 +02:00 |
|
Irmen de Jong
|
9e85571a7b
|
fix pointer variable usage detection in other block
|
2025-08-05 17:39:22 +02:00 |
|
Irmen de Jong
|
bbd06c0c99
|
implement peekbool/pokebool on 6502, fix float assignment register error
|
2025-08-02 21:38:29 +02:00 |
|
Irmen de Jong
|
d4e83b28bb
|
error messages and trying to improve support for struct allocs in arrays
added sorting example
|
2025-08-02 19:22:58 +02:00 |
|
Irmen de Jong
|
bc58a25765
|
allow sizeof(^^type) to return the size of a pointer
|
2025-08-02 11:33:15 +02:00 |
|
Irmen de Jong
|
38645022c9
|
actually disallow ^^str
|
2025-08-02 05:49:12 +02:00 |
|
Irmen de Jong
|
647cd0fbe1
|
fix pointer[i].field compiler crash
|
2025-08-02 05:29:16 +02:00 |
|
Irmen de Jong
|
dee761a99e
|
fix compiler crash on certain pointer assignments
|
2025-08-01 22:22:43 +02:00 |
|
Irmen de Jong
|
eb8b408b82
|
fix countries[2]^^ = 0 compiler crash
|
2025-07-31 02:03:18 +02:00 |
|