Irmen de Jong
|
af06fdfffc
|
fix more 6502-only struct pointer-field bugs; add indexed in-place support
fixes #237
|
2026-09-10 19:20:02 +02:00 |
|
Irmen de Jong
|
5ba494c5e5
|
fix IR codegen needing explicit CMP instructions because of changed status bits contract (see commit #19238cc36)
|
2026-08-09 22:36:39 +02:00 |
|
Irmen de Jong
|
07910fc543
|
IR: fix register type error for power of 2 multiplies as shifts
|
2026-08-04 00:06:09 +02:00 |
|
Irmen de Jong
|
13e032e1a3
|
add new IR instructions ADDIM and SUBIM
|
2026-08-03 19:31:57 +02:00 |
|
Irmen de Jong
|
5130a74754
|
removed expericodegen
|
2026-07-02 01:07:21 +02:00 |
|
Irmen de Jong
|
f1f925ecee
|
clarify sqrt() behavior on values <0
|
2026-07-01 20:51:06 +02:00 |
|
Irmen de Jong
|
ab422c0ebc
|
fix wrong codegen and 'empty' library subroutines
|
2026-07-01 20:25:00 +02:00 |
|
Irmen de Jong
|
19238cc366
|
IR: introduce strict and broad status flags contract for cpu targets
fix cmpi for words and longs
|
2026-07-01 01:38:35 +02:00 |
|
Irmen de Jong
|
e3d4401d99
|
fix callfar
|
2026-07-01 00:02:26 +02:00 |
|
Irmen de Jong
|
6a867d98eb
|
new codegen: syscall support started
|
2026-06-30 05:57:19 +02:00 |
|
Irmen de Jong
|
58363ff4e4
|
Add required support for inlined asmsub routines in IR and new codegen
|
2026-06-30 03:17:19 +02:00 |
|
Irmen de Jong
|
3b94fd4c4b
|
IR: more consistent BSS handling
|
2026-06-30 01:14:31 +02:00 |
|
Irmen de Jong
|
95f500c32f
|
fixing codegen
|
2026-06-29 23:10:55 +02:00 |
|
Irmen de Jong
|
870c2e8827
|
add name to StExtSubParameter to pass this to the codegen (required for @R0 etc)
|
2026-06-29 04:43:24 +02:00 |
|
Irmen de Jong
|
bb95d40d6d
|
asm syntax
|
2026-06-29 04:43:24 +02:00 |
|
Irmen de Jong
|
55ea599fca
|
Remove hardcoded external KERNAL entry points in codegen
|
2026-06-29 04:43:24 +02:00 |
|
Irmen de Jong
|
fd5fdf3d13
|
IR codegen: Emit extsub as inline assembly equate for codegen references
|
2026-06-29 04:43:24 +02:00 |
|
Irmen de Jong
|
71583a5b93
|
Move symbol prefixing logic from 6502 codegen to IR generation.
|
2026-06-28 21:33:10 +02:00 |
|
Irmen de Jong
|
407ba34c72
|
IR fix certain setmsb/setlsb and rol/ror crashes on indexed pointers
|
2026-06-27 14:50:45 +02:00 |
|
Irmen de Jong
|
fc4782a35b
|
Support &blockname in IR generation
|
2026-06-27 12:54:36 +02:00 |
|
Irmen de Jong
|
a827f4c4ce
|
Support block-level %align in IR
|
2026-06-27 09:51:08 +02:00 |
|
Irmen de Jong
|
01c5794799
|
IR: fixing zeropage array initialization
|
2026-06-27 02:42:55 +02:00 |
|
Irmen de Jong
|
2ed95c52ef
|
tune JSRFAR bank byte setup
|
2026-06-23 01:01:35 +02:00 |
|
Irmen de Jong
|
73fb04aaf5
|
Add support for unique call-site IDs in banked subroutines
|
2026-06-23 00:28:22 +02:00 |
|
Irmen de Jong
|
69261c51b3
|
IR: Add single-bit manipulation opcodes (BITTST, BITSET, BITCLR, BITTOG)
|
2026-06-16 21:52:31 +02:00 |
|
Irmen de Jong
|
63d7ef7105
|
IR: Replace 6502-specific hardware register LOAD/STORE opcodes with generic, parameterized LOADHR/STOREHR opcodes
|
2026-06-16 20:59:51 +02:00 |
|
Irmen de Jong
|
be12fb507e
|
arrays in structs
|
2026-06-14 15:35:30 +02:00 |
|
Irmen de Jong
|
8e6a27d7c1
|
@bank now also allows the name of a subroutine for dynamic / overlay banking
|
2026-06-12 23:47:16 +02:00 |
|
Irmen de Jong
|
628bd41740
|
update kotest
|
2026-06-08 20:43:54 +02:00 |
|
Irmen de Jong
|
de988f72c6
|
switch from IDEA iml to Gradle build config, this finally fixes Kotest integration as well
|
2026-06-08 20:43:54 +02:00 |
|
Irmen de Jong
|
8e43fc426c
|
IR: handle extsub with banked addresses properly
|
2026-05-28 03:25:04 +02:00 |
|
Irmen de Jong
|
ba1b6e127a
|
IR: properly consume registers for void targets
|
2026-05-28 00:57:00 +02:00 |
|
Irmen de Jong
|
bddf872906
|
better romable awareness in IR
|
2026-05-20 19:54:12 +02:00 |
|
Irmen de Jong
|
48214a6fdb
|
more IR peephole optimizations, added some implementation plans to the todo
|
2026-05-19 00:26:35 +02:00 |
|
Irmen de Jong
|
6d1dfd2a09
|
due to internal complexity, only pointers to bytes can be made const
|
2026-05-09 22:45:44 +02:00 |
|
Irmen de Jong
|
1fe5ff18b1
|
memory() turned into 2 new ast nodes (slab reservation and slab ref) - still somewhat broken
|
2026-05-09 11:16:09 +02:00 |
|
Irmen de Jong
|
cd2d30c2c7
|
const pointer support added (but lacks proper const-folding still)
|
2026-05-05 23:21:32 +02:00 |
|
Irmen de Jong
|
9d1fa856d4
|
added unit tests that use the ksim65 simulator to actually run the compiled code
|
2026-05-02 06:15:09 +02:00 |
|
Irmen de Jong
|
9fdd9254f1
|
fix missing CMP in IR after conditional expression
|
2026-04-25 22:23:10 +02:00 |
|
Irmen de Jong
|
ae4c4ca160
|
IR: optimized boolean expression codegen (use status flags directly more often instead of transforming to 1 / 0 values)
|
2026-04-24 22:26:16 +02:00 |
|
Irmen de Jong
|
7ab4880c4a
|
IR: optimized poke() and pokemon()
|
2026-04-24 19:38:18 +02:00 |
|
Irmen de Jong
|
5c16a40f33
|
IR: optimized float and bol comparison code gen
|
2026-04-24 09:41:45 +02:00 |
|
Irmen de Jong
|
2589f953c3
|
fix IR peephole optimizer fault that incorrectly optimized 20-x expression
|
2026-04-24 04:49:09 +02:00 |
|
Irmen de Jong
|
a40f9de9e6
|
fix IR codegen issue with DIVMOD and some other instructions
|
2026-04-24 04:22:29 +02:00 |
|
Irmen de Jong
|
930697dad5
|
using builder to improve massive lists of constructor params
|
2026-04-19 01:39:50 +02:00 |
|
Irmen de Jong
|
c794d2a50b
|
fix invalid IR opcode used for inplace assignments to memory targets
|
2026-04-14 15:32:12 +02:00 |
|
Irmen de Jong
|
e2702d3e22
|
IRFileWriter and IRFileReader improvements
|
2026-04-09 05:06:39 +02:00 |
|
Irmen de Jong
|
74475d023b
|
improving IR symbolic references
|
2026-04-09 03:54:51 +02:00 |
|
Irmen de Jong
|
9ae0623ad0
|
making MemoryAddress an Unsigned Int
|
2026-04-09 02:40:24 +02:00 |
|
Irmen de Jong
|
33b34b990e
|
making RegisterNum type safe
|
2026-04-08 02:57:45 +02:00 |
|