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
|
a5978a913b
|
m68k: added coroutines module
|
2026-08-06 22:08:59 +02:00 |
|
Irmen de Jong
|
42e8e91034
|
disable signed div bias-shift method because of code bloat
|
2026-08-04 18:38:35 +02:00 |
|
Irmen de Jong
|
7138ee024b
|
fix memory-byte read sign extension error when the byte was signed
|
2026-08-04 15:45:14 +02:00 |
|
Irmen de Jong
|
b9f65186cb
|
fix expression operand swap bug when there are side effects
|
2026-08-04 14:49:01 +02:00 |
|
Irmen de Jong
|
27aeafef0d
|
more ast optimization gatings for m68k
|
2026-08-04 13:58:03 +02:00 |
|
Irmen de Jong
|
4cfe9b2729
|
Merge branch 'master' into new-codegens
|
2026-08-04 04:58:22 +02:00 |
|
Irmen de Jong
|
a919ea63e4
|
remove wrong ast node copy() overrides
|
2026-08-04 04:54:53 +02:00 |
|
Irmen de Jong
|
93b953cf60
|
implement IR ADDIM and SUBIM in the new codegens
|
2026-08-03 21:53:54 +02:00 |
|
Irmen de Jong
|
d144235dc9
|
Merge branch 'master' into new-codegens
|
2026-08-03 14:35:47 +02:00 |
|
Irmen de Jong
|
c3b5ee3dfd
|
optimize imports
|
2026-08-03 14:31:42 +02:00 |
|
Irmen de Jong
|
3e03980478
|
tweaking ast optimizations for m68k
|
2026-08-03 12:45:48 +02:00 |
|
Irmen de Jong
|
6a165e951b
|
amiga500 target
|
2026-07-12 19:05:13 +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
|
37a86f3899
|
switch back to M68020 CPU so code migth eventually run on a stock Amiga 1200
|
2026-07-08 23:03:10 +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
|
36238267d0
|
reuse AssemblyProgram6502 in newcodegen for 6502
|
2026-07-02 01:36:25 +02:00 |
|
Irmen de Jong
|
0ab36bcbf6
|
added qemu68k compilation target
|
2026-07-01 23:47:13 +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
|
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
|
22d4fa73d6
|
rename bankmanager to bankselector
|
2026-06-23 19:07:31 +02:00 |
|
Irmen de Jong
|
2ed95c52ef
|
tune JSRFAR bank byte setup
|
2026-06-23 01:01:35 +02:00 |
|
Irmen de Jong
|
b5fc25b2f4
|
Merge branch 'v12.2.1'
# Conflicts:
# compiler/test/TestCompilerOnExamples.kt
# docs/source/_static/symboldumps/skeletons-cx16.txt
|
2026-06-17 19:41:34 +02:00 |
|
Irmen de Jong
|
0f80b695e7
|
Fix invalid optimizer edge cases
|
2026-06-17 01:18:39 +02:00 |
|
Irmen de Jong
|
be12fb507e
|
arrays in structs
|
2026-06-14 15:35:30 +02:00 |
|
Irmen de Jong
|
b2dcd02ee4
|
prioritize frequently accessed variables for zeropage allocation based on usage scores
|
2026-06-14 13:41:31 +02:00 |
|
Irmen de Jong
|
0e53113b85
|
Merge branch 'v12.2.1'
# Conflicts:
# gradle.properties
|
2026-06-11 23:12:28 +02:00 |
|
Irmen de Jong
|
e9a3ed457e
|
fix optimizer problem that removed var inits for pointer vars in certain cases. Fixes #225
|
2026-06-11 22:37:51 +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
|
505243aff7
|
fix a optimizer crash
|
2026-06-06 23:29:16 +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
|
793b2a703b
|
first step refactoring memory() calls
|
2026-05-08 19:32:33 +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
|
5560c342db
|
Merge branch 'optimizing_ifs'
|
2026-05-02 18:47:04 +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
|
0011dd8f4c
|
Merge branch 'master' into optimizing_ifs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/IfElseAsmGen.kt
# compiler/test/TestCompilerOnExamples.kt
|
2026-05-01 19:54:16 +02:00 |
|
Irmen de Jong
|
5ce463d133
|
added jitpack.io library repository and ksim65 library for possible future use
|
2026-05-01 18:59:58 +02:00 |
|
Irmen de Jong
|
5926473281
|
working on improving operand order swap
|
2026-04-30 05:44:13 +02:00 |
|
Irmen de Jong
|
0a1d06b7f2
|
corrected associative -> commutative operators names, simplified maySwapOperandOrder logic
|
2026-04-30 01:13:50 +02:00 |
|
Irmen de Jong
|
310d17d8bb
|
optimizing if-expressions too: typecast const operand unwrapping
|
2026-04-28 19:54:29 +02:00 |
|
Irmen de Jong
|
0117ab410b
|
fix an uninitialized parent issue
|
2026-04-28 19:52:28 +02:00 |
|
Irmen de Jong
|
b05bc9ac0e
|
add IR peephole optimization for x * negative power of 2
|
2026-04-24 04:57:28 +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
|
930697dad5
|
using builder to improve massive lists of constructor params
|
2026-04-19 01:39:50 +02:00 |
|
Irmen de Jong
|
c0103f149e
|
more general implementation of struct definition equality check see github #198
|
2026-04-12 20:43:19 +02:00 |
|