Irmen de Jong
|
c7e25e323a
|
some script fixes and izx0 image format
|
2026-08-09 12:26:59 +02:00 |
|
Irmen de Jong
|
9c8e81b566
|
IR: fix m68k indexing datatype size
|
2026-08-08 18:14:30 +02:00 |
|
Irmen de Jong
|
45f48d2e88
|
amiga: added %option amiga_chipram in blocks to allocate them in CHIP ram (for sound and graphics data)
|
2026-08-08 02:01:04 +02:00 |
|
Irmen de Jong
|
8d6ed7712d
|
fix ir block cleanup bug
|
2026-08-08 01:24:09 +02:00 |
|
Irmen de Jong
|
eea185bb83
|
keep label at top of block instead of moving vardecls before it, IR: fix bug that removed labels in blocks without code
|
2026-08-08 01:06:42 +02:00 |
|
Irmen de Jong
|
c47a6bde0e
|
IR: fix register type error when 0-assigning into an array
|
2026-08-06 19:31:05 +02:00 |
|
Irmen de Jong
|
e5d9609db1
|
IR: added new multi-bit shifting opcodes
|
2026-08-05 01:42:49 +02:00 |
|
Irmen de Jong
|
b5fd07bb91
|
IR: added STOREIM instruction for immediate store constant to memory
|
2026-08-04 23:11:07 +02:00 |
|
Irmen de Jong
|
bef1678c2a
|
IR: divmod no longer uses stack to return the quotient and remainer
|
2026-08-04 12:46:36 +02:00 |
|
Irmen de Jong
|
01c82f92eb
|
Merge branch 'refs/heads/master' into new-codegens
# Conflicts:
# examples/test.p8
# intermediate/src/prog8/intermediate/IRInstructions.kt
|
2026-08-03 19:36:25 +02:00 |
|
Irmen de Jong
|
13e032e1a3
|
add new IR instructions ADDIM and SUBIM
|
2026-08-03 19:31:57 +02:00 |
|
Irmen de Jong
|
bf0733f8b3
|
amiga LVOs (extsub library callfars) are now represented by their familiar negative decimal offset number instead of a hex unsigned long.
Actual JSR to the library LVO uses the symbolic name if possible to create code that is easier to debug
|
2026-07-16 21:42:04 +02:00 |
|
Irmen de Jong
|
b0cf649c2d
|
register packer does't work well
|
2026-07-16 20:33:27 +02:00 |
|
Irmen de Jong
|
c43cacdc2f
|
added a IR RegisterPacking optimization step that reduces the number of registers through reuse of register slots
|
2026-07-15 22:39:19 +02:00 |
|
Irmen de Jong
|
b52a07c7c4
|
tweak m68k roxl/roxr semantix (X bit)
work on m68k conv routines
|
2026-07-14 02:49:19 +02:00 |
|
Irmen de Jong
|
f210c8b0db
|
amiga library calls
|
2026-07-13 22:58:34 +02:00 |
|
Irmen de Jong
|
4506a3cb3e
|
pass compilation target to more places to be able to determine correct types
|
2026-07-12 03:52:57 +02:00 |
|
Irmen de Jong
|
8a7922ffcc
|
fix split words arrays on m68k to be not split
|
2026-07-10 01:47:18 +02:00 |
|
Irmen de Jong
|
1f4ffdffc1
|
fix IR constant prefixing/no prefixing
|
2026-07-07 01:45:55 +02:00 |
|
Irmen de Jong
|
7f51bbd777
|
working on encoding support for variable sized pointers in the IR
|
2026-07-07 00:06:28 +02:00 |
|
Irmen de Jong
|
5c36e21948
|
working on fixing pointer arithmethic
but see transformWithPointerArithmetic() still unfinished
|
2026-07-06 02:20:32 +02:00 |
|
Irmen de Jong
|
57055b3b55
|
map m68k cpu registers to and from slots
|
2026-07-05 16:25:20 +02:00 |
|
Irmen de Jong
|
11e3b39486
|
m68k (incomplete) attempt to fix 32 bits pointers
|
2026-07-05 06:31:24 +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
|
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
|
71583a5b93
|
Move symbol prefixing logic from 6502 codegen to IR generation.
|
2026-06-28 21:33:10 +02:00 |
|
Irmen de Jong
|
a827f4c4ce
|
Support block-level %align in IR
|
2026-06-27 09:51:08 +02:00 |
|
Irmen de Jong
|
887df44359
|
fix IR loadhr/storehr parsing from p8ir
|
2026-06-25 03:30:10 +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
|
435b7e56fa
|
IR VM refactor to reduce class size
|
2026-05-29 23:14:44 +02:00 |
|
Irmen de Jong
|
14f13fac53
|
IR tweaks
|
2026-05-29 22:17:56 +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
|
e867cb88a7
|
fix astprinter crash,
IR: fixed using memory() as initialization value for a const uword or const pointer crashed the compiler
|
2026-05-06 01:31:40 +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
|
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
|
60e2a38060
|
fix IR read error on structs with typed pointer fields
|
2026-04-17 21:01:51 +02:00 |
|