Commit Graph

66 Commits

Author SHA1 Message Date
drmortalwombat ee3f6fc4a5 Struct value forwarding 2025-04-21 08:18:55 +02:00
drmortalwombat fc2095301d Fix aliasing problem when auto inlining non early embedded assembly stubs 2025-03-16 20:29:03 +01:00
drmortalwombat 8a6e3eb924 Add breakpoint intrinsic in oscar.h 2024-08-09 18:05:44 +02:00
drmortalwombat 932c7ec222 Fix static stack in recursion
Fix static stack allocation and placement for non recursive sub trees in a recursive call tree
2024-08-09 16:18:38 +02:00
drmortalwombat 2e696d9e1a Optimize small inline function calls 2024-05-30 17:51:34 +02:00
drmortalwombat 9fa8b644a7 Add object placement retry if page locking does not fit 2024-05-23 09:54:07 +02:00
drmortalwombat fefa462730 Improve zero page variable usage 2024-04-08 22:04:50 +02:00
drmortalwombat 80efe2351b Optimize short wait loop handling 2024-01-28 19:09:59 +01:00
drmortalwombat 974688a8a5 Fix overlay prg file save 2024-01-27 17:11:10 +01:00
drmortalwombat b0dc6fdd1e Add save as .prg for overlay files 2024-01-27 09:37:48 +01:00
drmortalwombat 3992b1d547 Add warning for out of bounds accesses 2024-01-24 17:30:03 +01:00
drmortalwombat 265be6e766 Move linker chattyness into -v2 2024-01-12 22:51:11 +01:00
drmortalwombat a305dbb1cd Improve function placement in linker 2023-12-23 10:40:45 +01:00
drmortalwombat 6bbf325720 Add BIT instruction for sign check, add inlay sections in linker 2023-12-12 11:08:59 +01:00
drmortalwombat a9fc83d63c Add xname attribute to .dbj file 2023-11-20 17:28:48 +01:00
drmortalwombat 619c4f8962 Join consecutive functions in linker 2023-09-24 22:22:48 +02:00
drmortalwombat c674fc9a8b Add variadic sizeof... 2023-09-17 11:39:18 +02:00
drmortalwombat 3a9cd85072 Optimize simple const ref to value in functions 2023-08-18 13:13:39 +02:00
drmortalwombat 0d95a74813 Add cartridge bank lookup for lables in asm file 2023-08-07 15:50:01 +02:00
drmortalwombat 0b1d42b7d5 Expand global aliasing analysis 2023-07-29 22:15:00 +02:00
drmortalwombat e577791252 Constructors with parameter overloading 2023-06-20 10:26:49 +02:00
drmortalwombat d047152646 Reduce line number toggling in debug file 2023-05-01 15:38:48 +02:00
drmortalwombat b1fc2e3736 Add __bankof operator 2023-04-30 18:35:04 +02:00
drmortalwombat bb00b5af12 Add more generic cartridge support 2023-04-14 18:40:27 +02:00
drmortalwombat 6308f22f25 Fix warnings 2023-04-12 19:02:27 +02:00
drmortalwombat 32ea493c17 Prepare per function optimization config using pragmas 2023-04-02 19:04:10 +02:00
drmortalwombat 2f1172076a Add source level debug information 2023-03-28 21:01:17 +02:00
drmortalwombat aed086bdb9 Add rom mappers to NES target 2023-03-11 11:01:11 +01:00
drmortalwombat efff725745 Improve labels in disassembler listing, add mlb file for nes 2023-03-09 19:29:46 +01:00
drmortalwombat 4f89ad7680 Add support for Atari 8 bit systems 2023-03-08 15:51:27 +01:00
drmortalwombat 6189e0cc49 Prepare NES machine type 2023-03-04 14:07:34 +01:00
drmortalwombat df89082846 Track state of fast call parameters across function calls to avoid duplicate push 2023-03-01 08:49:51 +01:00
drmortalwombat 0fae7abd72 Optimize simple inline assembler code 2023-01-21 22:41:13 +01:00
drmortalwombat 02db5b5eb1 Static call graph analysis for function arguments 2023-01-15 18:38:18 +01:00
drmortalwombat d6fcb5f9ca Use CPU register A for single byte parameter and returns 2023-01-10 20:41:55 +01:00
drmortalwombat 0055911491 Add overlay support 2022-12-10 17:15:25 +01:00
drmortalwombat 3edd541750 Fix over eager forwarding of global addresses across loop boundaries 2022-12-06 18:29:37 +01:00
drmortalwombat f56fb9e505 Fix crash in optimizer when declaring too many unused local variables 2022-12-06 15:55:31 +01:00
drmortalwombat 38fab44cca Dump cartridge bank usage to map file 2022-09-13 09:55:38 +02:00
drmortalwombat 75e5471dd1 Add support for d64 image creation 2022-05-08 15:37:30 +02:00
drmortalwombat 62d08e139b Optimize pointer arithmetic in loops 2022-04-28 15:52:27 +02:00
drmortalwombat 72264109e9 Add experimental zero page allocation for global variables 2022-04-06 19:16:44 +02:00
drmortalwombat aafb4adfa2 Optimize linker placement, avoiding array crossing page boundaries 2022-04-03 11:40:23 +02:00
drmortalwombat ea09c2aa7b Static stack allocations for complex locals in non recursive calls 2022-03-13 15:46:03 +01:00
drmortalwombat 1221649a3d Add check for __interrupt attribute on function pointers call from interrupt code 2022-02-15 09:49:46 +01:00
drmortalwombat 2f009f129e Add regions replicated in multiple easyflash banks 2022-02-07 18:04:17 +01:00
drmortalwombat 5c8b1c6daf Add __export, __native and __interrupt storage class specifiers 2022-01-26 21:48:19 +01:00
drmortalwombat ca93f107c3 Add relocated sections 2022-01-22 18:21:52 +01:00
drmortalwombat fad67d18aa Add auto loop unrolling and binary (verbatim) format linking 2022-01-21 21:52:16 +01:00
drmortalwombat d621ab32cd Optimize space in linker when using aligned objects 2022-01-02 15:08:47 +01:00