drmortalwombat
|
de3c7415b3
|
Fix error in recursive macro expansion
|
2022-12-13 08:18:25 +01:00 |
|
drmortalwombat
|
0aa9ca0c70
|
Bump Version number
|
2022-12-10 16:15:04 +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
|
8b631d564e
|
Add autotest for striped arrays
|
2022-12-03 13:28:03 +01:00 |
|
drmortalwombat
|
9c6b745993
|
Fix self destruct of load store forwarding dict
|
2022-11-30 22:47:13 +01:00 |
|
drmortalwombat
|
bfe6311ca4
|
Add assignment of structs from and to striped arrays
|
2022-11-29 18:11:42 +01:00 |
|
drmortalwombat
|
02e4d4bd1b
|
Optimize indexing in loops
|
2022-11-26 14:12:13 +01:00 |
|
drmortalwombat
|
bc058a1c80
|
Known zero register value propagation
|
2022-11-25 22:31:23 +01:00 |
|
drmortalwombat
|
ebe9476bcc
|
Fix strided array unsigned struct member assignment
|
2022-11-24 18:15:16 +01:00 |
|
drmortalwombat
|
688fd92a6b
|
Bump version number
|
2022-11-22 20:25:03 +01:00 |
|
drmortalwombat
|
a5a27c039e
|
Fix __asume declaration in loop causing loss of temp chain
|
2022-11-20 17:35:31 +01:00 |
|
drmortalwombat
|
c6d0f44364
|
Fix unsigend int to/from float conversion
|
2022-11-19 10:58:44 +01:00 |
|
drmortalwombat
|
42b4f46356
|
Add striped array memory layout
|
2022-11-16 08:59:02 +01:00 |
|
drmortalwombat
|
6283f5f9e6
|
Improve accu train movement
|
2022-11-09 18:06:33 +01:00 |
|
drmortalwombat
|
54955b6b5f
|
Bump version number
|
2022-10-29 10:59:20 +02:00 |
|
drmortalwombat
|
93943f8f87
|
Fix pre decrement operator l value return type
|
2022-10-25 17:12:36 +02:00 |
|
drmortalwombat
|
04624f208c
|
Fix multiply add 2n + 1
|
2022-10-23 17:02:34 +02:00 |
|
drmortalwombat
|
0aee1ad452
|
Code size reduction for jmp to rts
|
2022-10-22 18:21:45 +02:00 |
|
drmortalwombat
|
ef7b391da0
|
Fix 16 bit indexed ops lost high byte offset
|
2022-10-16 16:05:55 +02:00 |
|
drmortalwombat
|
8ee390a532
|
Fix negative array access in native code path propagation
|
2022-10-16 10:49:51 +02:00 |
|
drmortalwombat
|
77010a0ab2
|
Fix propagation of volatile memory reads in loops
|
2022-10-15 17:44:49 +02:00 |
|
drmortalwombat
|
53e4019ecd
|
Fix 2D array access
|
2022-10-15 10:50:28 +02:00 |
|
drmortalwombat
|
634b7914ea
|
Fix movement of LDY/STY pair that conflicts with Z flag usage
|
2022-10-13 22:43:50 +02:00 |
|
drmortalwombat
|
4a49456a57
|
Improve accu train movement
|
2022-10-09 13:44:59 +02:00 |
|
drmortalwombat
|
bd32b38027
|
Preserve X or Y cross conditions
|
2022-10-08 11:34:42 +02:00 |
|
drmortalwombat
|
3e59f47748
|
Loop index optimizations
|
2022-10-03 10:50:24 +02:00 |
|
drmortalwombat
|
3907068014
|
Fix over eager down movement of xy load store
|
2022-09-25 16:41:21 +02:00 |
|
drmortalwombat
|
121f0476e1
|
Bump version number
|
2022-09-24 14:31:09 +02:00 |
|
drmortalwombat
|
0835b90219
|
Optimize negative const offsets in array index
|
2022-09-17 22:36:17 +02:00 |
|
drmortalwombat
|
bd2e198339
|
Fix loop exit condition z when using xy as loop invariants
|
2022-09-17 18:33:48 +02:00 |
|
drmortalwombat
|
49a822afbf
|
Fix load int range estimation
|
2022-09-17 16:15:35 +02:00 |
|
drmortalwombat
|
31dfc702ab
|
Fix lingering branch in idle loop elimination
|
2022-09-14 08:21:53 +02:00 |
|
drmortalwombat
|
840175d218
|
More accu train movement
|
2022-09-13 22:08:02 +02:00 |
|
drmortalwombat
|
f0c36c6400
|
Propagate sign and zero information cross branches
|
2022-09-11 11:50:57 +02:00 |
|
drmortalwombat
|
612e88456c
|
Bump version number
|
2022-09-10 16:56:49 +02:00 |
|
drmortalwombat
|
e50f3f9814
|
Fix lenient semicolon handling in parser
|
2022-09-10 10:05:44 +02:00 |
|
drmortalwombat
|
8287f03f49
|
Fix shortcut moves violating carry dependencies
|
2022-09-04 23:05:52 +02:00 |
|
drmortalwombat
|
b6a02550f9
|
Shortcut move from zp to parameter registers
|
2022-09-04 20:23:06 +02:00 |
|
drmortalwombat
|
6014018f4e
|
Improve XY usage in 16 bit arithmetic
|
2022-08-27 16:52:27 +02:00 |
|
drmortalwombat
|
5435e1c930
|
Improve register allocation in complex loops
|
2022-08-27 15:23:50 +02:00 |
|
drmortalwombat
|
da2c0b44ad
|
Bump version number
|
2022-08-25 18:51:27 +02:00 |
|
drmortalwombat
|
7dd8f4dae3
|
Fix easyflash placement of auto copied main section
|
2022-08-25 18:01:58 +02:00 |
|
drmortalwombat
|
4b4c8866dd
|
Optimize multiply of ranges 0..1
|
2022-08-22 22:00:16 +02:00 |
|
drmortalwombat
|
eafe13e557
|
Fix carray propagation in 16bit subtract with low byte const
|
2022-08-20 14:03:46 +02:00 |
|
drmortalwombat
|
65fc43c123
|
More multi path constant folding
|
2022-08-14 17:52:58 +02:00 |
|
drmortalwombat
|
3d23e7f0b1
|
Combine partialy constant 16bit adds
|
2022-08-09 16:39:47 +02:00 |
|
drmortalwombat
|
b9396542f0
|
Add page level unrolling
|
2022-08-07 22:29:33 +02:00 |
|
drmortalwombat
|
4d274f46d7
|
Fix move of 16 bit shft lower part across carry boundary
|
2022-08-06 18:45:37 +02:00 |
|
drmortalwombat
|
f0deaab394
|
Add charpad and spritepad import
|
2022-08-05 18:08:10 +02:00 |
|
drmortalwombat
|
ff1377f7bb
|
Optimize simple search loops
|
2022-07-30 12:36:05 +02:00 |
|
drmortalwombat
|
e1a30a25c7
|
Fix data dependency violation in cross diamond movement
|
2022-07-26 19:36:10 +02:00 |
|
drmortalwombat
|
ca37ebff0b
|
Fix native code peephole optimization with wrong type/mode enum
|
2022-07-23 14:50:28 +02:00 |
|
drmortalwombat
|
f9f2516a65
|
Move accu eval trains up to connect them
|
2022-07-23 14:12:11 +02:00 |
|
drmortalwombat
|
864c8ec9a5
|
Add samples for 32 and 64 sprite multiplexing
|
2022-07-18 21:22:12 +02:00 |
|
drmortalwombat
|
0742be3204
|
Improve dataflow analysis
|
2022-07-16 14:14:02 +02:00 |
|
drmortalwombat
|
460a1b9d84
|
Bump version number
|
2022-07-12 20:07:40 +02:00 |
|
drmortalwombat
|
4666e7a176
|
Fix single block loop optimization for function call in loop
|
2022-07-12 14:50:55 +02:00 |
|
drmortalwombat
|
0bd2ab9e3c
|
Fix global analyzer for global variable arrays of function pointers
|
2022-07-12 13:08:34 +02:00 |
|
drmortalwombat
|
ae07b2cee6
|
Fix local array of function pointers indexing
|
2022-07-11 09:15:01 +02:00 |
|
drmortalwombat
|
5f8797b4be
|
Fix regression with open array index by byte generated by a subtract
|
2022-07-10 10:07:33 +02:00 |
|
drmortalwombat
|
5d51ea13c5
|
Improve register allocator
|
2022-07-08 21:30:22 +02:00 |
|
drmortalwombat
|
931f9e71b9
|
Optimize bit check to bool conversion
|
2022-07-03 22:41:41 +02:00 |
|
drmortalwombat
|
eb55b2f55d
|
Remove dangling tail recursion rts after jmp
|
2022-07-03 13:13:32 +02:00 |
|
drmortalwombat
|
bcc59a9afb
|
Add intermediat code select operator
|
2022-07-02 14:53:00 +02:00 |
|
drmortalwombat
|
ba661759fb
|
Fix reordering of function calls
|
2022-06-30 20:28:36 +02:00 |
|
drmortalwombat
|
fdcaf54666
|
Add unroll pragma for simple loops
|
2022-06-30 09:33:11 +02:00 |
|
drmortalwombat
|
350403121d
|
Move load temporary register moves out of loops
|
2022-06-26 15:15:59 +02:00 |
|
drmortalwombat
|
2eeef2d71c
|
Fix data dependency lost due to instruction reshuffling
|
2022-06-22 22:09:32 +02:00 |
|
drmortalwombat
|
002c10ad13
|
Optimize array access and value propagation across simple loops
|
2022-06-21 20:57:58 +02:00 |
|
drmortalwombat
|
3cdc9032b4
|
Fix parameter loss in intermediate code branch forwarding
|
2022-06-19 18:31:07 +02:00 |
|
drmortalwombat
|
ecfb206d1c
|
Improve zero page register allocator
|
2022-06-19 15:20:53 +02:00 |
|
drmortalwombat
|
5000d521a1
|
Intermediate code generator cleanup
|
2022-06-18 20:21:41 +02:00 |
|
drmortalwombat
|
fc7bb2c377
|
Optimize parameter handling in loops
|
2022-06-18 17:32:14 +02:00 |
|
drmortalwombat
|
e7332192c0
|
Fix over eager elimination of byte to word conversion
|
2022-06-14 22:29:42 +02:00 |
|
drmortalwombat
|
6e37060c24
|
More aggressive reverse value range limit forwarding
|
2022-06-12 13:39:46 +02:00 |
|
drmortalwombat
|
078007c9fe
|
Fix infinite loop during size reduction
|
2022-06-10 16:36:52 +02:00 |
|
drmortalwombat
|
a81f810a63
|
Size optimizations
|
2022-06-10 15:56:08 +02:00 |
|
drmortalwombat
|
e73c40ba55
|
Fixed build issue with hscrollshmup on linux
|
2022-06-06 08:38:08 +02:00 |
|
drmortalwombat
|
36a5eaae00
|
Propagate independent instructions across diamond shaped basic blocks
|
2022-06-04 20:56:28 +02:00 |
|
drmortalwombat
|
f9eb91e980
|
Optimize X and Y usage
|
2022-06-03 19:04:05 +02:00 |
|
drmortalwombat
|
0ba2ddf195
|
Propagate x and y across block boundaries
|
2022-06-02 22:19:10 +02:00 |
|
drmortalwombat
|
1b8e1f4048
|
Optimize cmp#0 always has carry set
|
2022-05-30 22:28:36 +02:00 |
|
drmortalwombat
|
a86f5b877a
|
Upstream variant constant propagation
|
2022-05-29 21:02:57 +02:00 |
|
drmortalwombat
|
d833ca6834
|
Use array of struct assignments for index range validation
|
2022-05-26 13:55:00 +02:00 |
|
drmortalwombat
|
3dc35c5fff
|
Fix invalid bypassing of JSR with X register
|
2022-05-22 16:41:40 +02:00 |
|
drmortalwombat
|
3351ee81cc
|
Extend static stack allocation to zero page spilling
|
2022-05-22 13:22:36 +02:00 |
|
drmortalwombat
|
b356f726a4
|
More local xy register usage
|
2022-05-21 17:17:16 +02:00 |
|
drmortalwombat
|
e0f87c676c
|
Eliminate non existing data dependencies
|
2022-05-21 13:39:12 +02:00 |
|
drmortalwombat
|
b42c992a58
|
Fix buffer overflow in sprintf
|
2022-05-19 08:30:00 +02:00 |
|
drmortalwombat
|
9d18aef634
|
Optimize interval comparison cascades
|
2022-05-15 22:18:42 +02:00 |
|
drmortalwombat
|
46fe117f1f
|
add alias _Bool for bool
|
2022-05-15 10:53:58 +02:00 |
|
drmortalwombat
|
728e707024
|
Optimize single page 2D array access
|
2022-05-14 17:57:32 +02:00 |
|
drmortalwombat
|
e70162b2cc
|
Forward native code instruction if only used on single outgoing path
|
2022-05-12 17:55:24 +02:00 |
|
drmortalwombat
|
75e5471dd1
|
Add support for d64 image creation
|
2022-05-08 15:37:30 +02:00 |
|
drmortalwombat
|
c7de44b015
|
Optimize signed int with unsigned char comparison
|
2022-05-08 10:36:02 +02:00 |
|
drmortalwombat
|
29bd0c8d2d
|
Optimizations for global variables
|
2022-05-07 14:03:56 +02:00 |
|
drmortalwombat
|
ea1fa189b2
|
Add lz compression for embedded assets
|
2022-05-01 12:55:13 +02:00 |
|
drmortalwombat
|
62d08e139b
|
Optimize pointer arithmetic in loops
|
2022-04-28 15:52:27 +02:00 |
|
drmortalwombat
|
f619c5e0ab
|
More verbose debug output
|
2022-04-25 07:57:31 +02:00 |
|
drmortalwombat
|
3a689cc7a1
|
Validate register livetime during peephole optimization
|
2022-04-23 22:11:25 +02:00 |
|
drmortalwombat
|
4cdc501a34
|
Bit shift optimizations
|
2022-04-21 08:26:04 +02:00 |
|
drmortalwombat
|
253be26335
|
Constant pointer arithmetic for pointer initializers
|
2022-04-18 22:23:13 +02:00 |
|
drmortalwombat
|
ecb9bbee8a
|
Bump version number
|
2022-04-17 21:12:54 +02:00 |
|
drmortalwombat
|
41a4db4402
|
Prepare compressed embedded data
|
2022-04-17 18:41:53 +02:00 |
|
drmortalwombat
|
72d2fc1fac
|
Reverse integer range limit calculation
|
2022-04-15 11:06:49 +02:00 |
|
drmortalwombat
|
417574b4bb
|
Fix volatile copy
|
2022-04-12 22:08:40 +02:00 |
|
drmortalwombat
|
07afbc4714
|
Bump version number
|
2022-04-12 20:25:41 +02:00 |
|
drmortalwombat
|
1ee7845bb4
|
Fix disassembler choking on long names
|
2022-04-12 18:22:38 +02:00 |
|
drmortalwombat
|
7ed7134b53
|
Remove superfluous temporary move
|
2022-04-10 21:54:12 +02:00 |
|
drmortalwombat
|
6a40fdc75d
|
Opetimize sequence of ADC/SBC in native code
|
2022-04-10 15:29:07 +02:00 |
|
drmortalwombat
|
546dbfc45a
|
Some add/sub optimizations for global variables
|
2022-04-07 22:45:40 +02:00 |
|
drmortalwombat
|
72264109e9
|
Add experimental zero page allocation for global variables
|
2022-04-06 19:16:44 +02:00 |
|
drmortalwombat
|
27dee0223c
|
Cross block value forwarding
|
2022-04-05 16:56:02 +02:00 |
|
drmortalwombat
|
c9e1775469
|
Optimize data forwarding on loop exit
|
2022-04-04 20:25:05 +02:00 |
|
drmortalwombat
|
6b3c5249cf
|
Add \y00 for non adapted characters in s" or p" string literals
|
2022-04-04 16:35:37 +02:00 |
|
drmortalwombat
|
2435797bd1
|
Optimize x and y index order
|
2022-04-03 20:39:56 +02:00 |
|
drmortalwombat
|
aafb4adfa2
|
Optimize linker placement, avoiding array crossing page boundaries
|
2022-04-03 11:40:23 +02:00 |
|
drmortalwombat
|
358def836d
|
Fix optimization for absolute addressing and two indices
|
2022-04-01 20:35:55 +02:00 |
|
drmortalwombat
|
48f97b6e60
|
Optimize compare to boolean variable
|
2022-03-31 18:16:31 +02:00 |
|
drmortalwombat
|
5a1ff68926
|
Fix binary and/or with boolean values, now raising a warning
|
2022-03-30 14:58:41 +02:00 |
|
drmortalwombat
|
a60f5a783f
|
Optimize X and Y register livespan
|
2022-03-28 19:03:43 +02:00 |
|
drmortalwombat
|
7bd3622bbd
|
Instructions bypassing small if branches
|
2022-03-27 22:41:29 +02:00 |
|
drmortalwombat
|
d2503aaf1f
|
Constant folding address of global and static variables
|
2022-03-27 17:18:44 +02:00 |
|
drmortalwombat
|
f50613704c
|
Fix moving of abs store across function call
|
2022-03-26 21:39:30 +01:00 |
|
drmortalwombat
|
68e048b945
|
Fix volatile loads with unused result
|
2022-03-26 12:30:48 +01:00 |
|
drmortalwombat
|
fc5c9f137a
|
Add indexed const array initializer
|
2022-03-26 10:29:48 +01:00 |
|
drmortalwombat
|
5f0e0225e1
|
Loop MSB optimizations
|
2022-03-22 22:21:59 +01:00 |
|
drmortalwombat
|
8c77a5d256
|
Add "16bit * 8bit / 8bit" to fixed point math library
|
2022-03-20 22:53:51 +01:00 |
|
drmortalwombat
|
4538f0295d
|
Fix byte to long conversion
|
2022-03-20 21:33:58 +01:00 |
|
drmortalwombat
|
91cb2fda15
|
Documenting compiler optimizations
|
2022-03-19 14:35:49 +01:00 |
|
drmortalwombat
|
d37ecc44da
|
More documentation
|
2022-03-18 22:29:12 +01:00 |
|
drmortalwombat
|
dc0951ee9f
|
Order inter instructions into eval trains and sequences, optimize copyloops for size
|
2022-03-15 18:45:34 +01:00 |
|
drmortalwombat
|
a65c802485
|
Address promotion into struct copy inter instructions
|
2022-03-14 08:35:59 +01:00 |
|
drmortalwombat
|
ea09c2aa7b
|
Static stack allocations for complex locals in non recursive calls
|
2022-03-13 15:46:03 +01:00 |
|
drmortalwombat
|
736298238e
|
Pointer and float loop optimizations
|
2022-03-12 12:52:43 +01:00 |
|
drmortalwombat
|
3cb4bd0fba
|
Fix == instead of = for assignment
|
2022-03-11 13:07:38 +01:00 |
|
drmortalwombat
|
6f52a7beed
|
Loop optimizing index register usage
|
2022-03-10 22:18:09 +01:00 |
|
drmortalwombat
|
6fe9a4f167
|
Fastcall optimization for 2nd and 3rd level calls
|
2022-03-10 16:35:35 +01:00 |
|
drmortalwombat
|
b43edb2b4c
|
Avoid inlining of native functions into byte code
|
2022-03-09 20:27:11 +01:00 |
|
drmortalwombat
|
c5fc186336
|
Add horizontal scroll shmup sample game
|
2022-03-06 21:49:10 +01:00 |
|
drmortalwombat
|
d1104e1eb3
|
Optimize y index progression
|
2022-03-05 11:25:56 +01:00 |
|
drmortalwombat
|
7e458d1eda
|
More promotion of abs and abs indexed when only single use
|
2022-03-03 19:23:47 +01:00 |
|
drmortalwombat
|
9ec2b4fdef
|
Replace JMP with branch when possible
|
2022-03-02 21:18:06 +01:00 |
|
drmortalwombat
|
2a815a9709
|
More forward 8 bit index optimizations
|
2022-03-01 08:53:54 +01:00 |
|
drmortalwombat
|
fbdb513697
|
Optimize single use of global variables in function
|
2022-02-27 17:19:51 +01:00 |
|
drmortalwombat
|
756245694f
|
Optimize indexed static variable access
|
2022-02-26 18:10:23 +01:00 |
|
drmortalwombat
|
2719b1156b
|
Fix over eager livetime reduction of X and Y registers
|
2022-02-26 12:35:59 +01:00 |
|
drmortalwombat
|
f4f9ae1a6a
|
Some xy optimizations
|
2022-02-25 18:43:11 +01:00 |
|
drmortalwombat
|
a2293a0ed1
|
Native code size reduction
|
2022-02-23 18:48:31 +01:00 |
|