Irmen de Jong
|
ba76fbfe85
|
fix code generation for "return <void function call>"
|
2026-09-17 22:39:53 +02:00 |
|
Irmen de Jong
|
ce2b298d6f
|
code cleanups
|
2026-09-08 22:36:54 +02:00 |
|
Irmen de Jong
|
9a461628f2
|
Merge branch 'v12maintenance'
|
2026-09-02 19:14:57 +02:00 |
|
Irmen de Jong
|
c8f309307f
|
fix inlining bug: subroutines with register-mapped parameters cannot be inlined
|
2026-09-02 19:10:21 +02:00 |
|
Irmen de Jong
|
b702ea50da
|
no longer mangle inline asm that uses pipe operator (in other spots that is used as an instruction separator...)
|
2026-09-02 02:02:53 +02:00 |
|
Irmen de Jong
|
5af6afef61
|
step 3 to allow for loop 'step' to be variable not only const: 6502 codegen
|
2026-08-11 05:29:55 +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
|
58363ff4e4
|
Add required support for inlined asmsub routines in IR and new codegen
|
2026-06-30 03:17:19 +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
|
69261c51b3
|
IR: Add single-bit manipulation opcodes (BITTST, BITSET, BITCLR, BITTOG)
|
2026-06-16 21:52:31 +02:00 |
|
Irmen de Jong
|
98355d3850
|
avoid shouldContain asserts on large strings in tests to avoid massive log dumps
|
2026-06-12 02:48:41 +02:00 |
|
Irmen de Jong
|
4f36a6958c
|
fix a few if-expression typecast issues
|
2026-05-28 00:55:15 +02:00 |
|
Irmen de Jong
|
7c44835772
|
const folding is always done even when -noopt is used
|
2026-05-15 12:22:52 +02:00 |
|
Irmen de Jong
|
96f0d112d2
|
fix problem where no efficient code was generated anymore for pointer+index
|
2026-05-02 02:14:18 +02:00 |
|
Irmen de Jong
|
1c376aa9d1
|
fix some 6502 code gen regressions
|
2026-04-26 00:18:28 +02:00 |
|
Irmen de Jong
|
2bf5d1406d
|
make cx16/starszoom example fill the whole screen, and rotate
|
2026-04-22 19:52:11 +02:00 |
|
Irmen de Jong
|
4fb3df977e
|
fix correct evaluation of floats in multi-value returns
|
2026-04-07 05:41:27 +02:00 |
|
Irmen de Jong
|
9f742e1806
|
6502 codegen: handle floats as part of multi-value result
|
2026-04-07 04:50:23 +02:00 |
|
Irmen de Jong
|
aca6c22098
|
IR codegen: handle floats as part of multi-value result
|
2026-04-07 04:31:17 +02:00 |
|
Irmen de Jong
|
7666b72fea
|
implement missing codegen for returning multivalue result of a subroutine call
|
2026-03-28 23:38:52 +01:00 |
|
Irmen de Jong
|
652da4c692
|
fix some (not all) problems with directly returning multivalue returncalls
|
2026-03-15 22:33:17 +01:00 |
|
Irmen de Jong
|
9736ac19d1
|
implementing multiple return values for builtin functions
|
2026-02-22 19:54:21 +01:00 |
|
Irmen de Jong
|
093be9f2dd
|
sys.push(), sys.pop() etc etc are now builtin functions again push() pop() to avoid storing value in temporary variables
this means that all of the syslib.p8 library files no longer contain all those stack related asmsubs
|
2026-02-21 02:11:34 +01:00 |
|
Irmen de Jong
|
78d6d2d59a
|
breaking change: renamed R0R1_32 etc combined register parameters to just R0R1, R2R3, etc etc (_32 suffix is removed to make it more consistent with the other existing register names)
|
2026-01-07 21:56:16 +01:00 |
|
Irmen de Jong
|
71b66f506d
|
fix asmsub register order crash when using longs + something else
|
2025-12-28 01:08:10 +01:00 |
|
Irmen de Jong
|
e57d9f59a2
|
fix long 0 argument to asmsub with 32-bits combined virtual register to pass it in
|
2025-12-21 22:23:17 +01:00 |
|
Irmen de Jong
|
b38fff76e9
|
hack to work around struct name prefix inconsistency
see github issue 198
|
2025-12-03 21:07:08 +01:00 |
|
Irmen de Jong
|
f4f34fc2ed
|
added symboltable into CompilationResult because it might be useful to inspect in tests
|
2025-10-07 00:26:43 +02:00 |
|
Irmen de Jong
|
08b314c37d
|
IR: fix various register type mismatches
|
2025-05-28 22:15:07 +02:00 |
|
Irmen de Jong
|
86eef7039f
|
@(..) now also accepts pointer to ubyte address
|
2025-05-15 20:07:02 +02:00 |
|
Irmen de Jong
|
40952a788a
|
PtSub: params and returns now as children (in PtSignature node) for easier Ast walking
PtPointerDeref: same but for its start identifier
|
2025-05-02 00:41:42 +02:00 |
|
Irmen de Jong
|
7668a3c660
|
use kotest tempdir instead of hardcoded output directory
|
2025-03-14 01:18:33 +01:00 |
|
Irmen de Jong
|
49982b49b6
|
extracting neo and atari compiler targets into configuration files instead
|
2025-02-12 13:58:34 +01:00 |
|
Irmen de Jong
|
e5ff3c1ff3
|
fix compiler crash when using strings in if-expression. Remove harmless info message.
|
2025-01-06 01:34:42 +01:00 |
|
Irmen de Jong
|
056c0a24d9
|
better way of doing BIT instructions
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
827df04b32
|
IR: BIT instruction added
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
529ea5bf58
|
added coroutines library and multitasking example. Added sys.push_returnaddress().
|
2024-12-26 00:57:39 +01:00 |
|
Irmen de Jong
|
1a1ab0dac6
|
changed the data type system to composite types
|
2024-12-05 21:48:51 +01:00 |
|
Irmen de Jong
|
b4fb43bc80
|
fix the if not check in ir codegen
|
2024-11-18 22:33:47 +01:00 |
|
Irmen de Jong
|
b88f550c5b
|
todo
|
2024-11-07 00:48:13 +01:00 |
|
Irmen de Jong
|
9864abd393
|
romsub keyword is now extsub
|
2024-11-06 22:14:53 +01:00 |
|
Irmen de Jong
|
4b4af9b527
|
no longer silently add RTS to asmsubs that don't have one
|
2024-10-27 13:49:00 +01:00 |
|
Irmen de Jong
|
d1ddf05e38
|
check that block address leaves room for program startup logic
|
2024-10-03 22:30:06 +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
|
29dd758302
|
Fix compiler crash in for loops with just 1 iteration
|
2024-09-05 21:26:46 +02:00 |
|
Irmen de Jong
|
d12b7ccc6b
|
fix syslib importing for raw outputs. fixes #144
|
2024-08-19 13:33:02 +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
|
f40b7b62bb
|
updated unit tests and some basic changes for them
|
2024-03-02 23:19:20 +01:00 |
|
Irmen de Jong
|
f8084e7955
|
fix const replacement optimization error on memory mapped variable
|
2024-01-07 18:48:18 +01:00 |
|