drmortalwombat
|
b622c25a56
|
FIx previous case for TYA as well
|
2024-10-06 22:31:22 +02:00 |
|
drmortalwombat
|
439cf499ed
|
Fix peephole opt for while (x--)
|
2024-10-06 22:17:29 +02:00 |
|
drmortalwombat
|
cd5f1daaba
|
Fixing O3 cases for gcc tests
|
2024-10-06 16:44:22 +02:00 |
|
drmortalwombat
|
056b49e1d1
|
Optimize 8 by 16 bit multiply
|
2024-10-04 20:06:56 +02:00 |
|
drmortalwombat
|
1f492e7820
|
Improve size optimization
|
2024-10-03 20:57:01 +02:00 |
|
drmortalwombat
|
bf5f5a807c
|
Reduce inline assembly in stdio and conio
|
2024-09-28 12:25:44 +02:00 |
|
drmortalwombat
|
57d8747cb7
|
Reduce generated code size with -Os
|
2024-09-27 20:01:22 +02:00 |
|
drmortalwombat
|
bf6343616b
|
Fix XY detangling in loop
|
2024-09-26 14:03:42 +02:00 |
|
drmortalwombat
|
861eeaefe2
|
Improve signed integer compare
|
2024-09-26 12:39:38 +02:00 |
|
drmortalwombat
|
db3c6a3135
|
Peephole optimizations
|
2024-09-26 09:15:09 +02:00 |
|
drmortalwombat
|
b1440a9b3f
|
Fix zero page parameter aliasing
|
2024-09-23 21:27:27 +02:00 |
|
drmortalwombat
|
49893f6976
|
Fix various gcc torture tests
|
2024-09-22 21:40:27 +02:00 |
|
drmortalwombat
|
c87887cbd1
|
Fix drop of Y register in asm code
|
2024-09-22 13:46:29 +02:00 |
|
drmortalwombat
|
2c9fd0e1a6
|
Fix immediate coalescing with zero flag loss
|
2024-09-21 13:06:06 +02:00 |
|
drmortalwombat
|
7f41936df0
|
Fix constant pointer difference
|
2024-09-19 14:10:23 +02:00 |
|
drmortalwombat
|
ce710fca5d
|
Add float long conversion
|
2024-09-19 09:49:16 +02:00 |
|
drmortalwombat
|
723f407757
|
FIx unary not for unsigned const long
|
2024-09-15 19:54:00 +02:00 |
|
drmortalwombat
|
f7b00eff95
|
Fix object array member init regression
|
2024-09-15 13:00:33 +02:00 |
|
drmortalwombat
|
163354b33e
|
Merge pull request #94 from jadziamd/main
Adds Diagnostic Directives & Fixes comparison between different enumeration types
|
2024-09-15 12:16:24 +02:00 |
|
drmortalwombat
|
7efd512ee9
|
Fix class member array initialization
|
2024-09-15 12:13:28 +02:00 |
|
John Schneiderman
|
14e5896e37
|
Fixes comparison between different enumeration types.
|
2024-09-15 08:53:38 +02:00 |
|
drmortalwombat
|
f0f174e439
|
Optimize conditional select of const values
|
2024-09-10 22:26:34 +02:00 |
|
drmortalwombat
|
dcfa50e36e
|
Fix float fast parameter aliasing
|
2024-09-02 22:01:50 +02:00 |
|
drmortalwombat
|
ca995bf342
|
Fix zero delimiter on opp::string for fixed range string constructor
|
2024-08-21 19:28:40 +02:00 |
|
drmortalwombat
|
c58bb46e7e
|
Fix invalid abs,y to abs,x propagation
|
2024-08-18 13:26:35 +02:00 |
|
drmortalwombat
|
09641d16f5
|
Add PLx and PHx to non simple asm instructions
|
2024-08-17 16:08:36 +02:00 |
|
drmortalwombat
|
9ecf1546cc
|
Fix invalid "ldx abs,x" code generation when propagating 16bit values in merge tree
|
2024-08-14 22:53:14 +02:00 |
|
drmortalwombat
|
7ffa623d92
|
Fix clrscr() for VIC20
|
2024-08-13 19:16:19 +02:00 |
|
drmortalwombat
|
62cede95ce
|
Optimize right shift with small 16 bit values
|
2024-08-11 14:11:07 +02:00 |
|
drmortalwombat
|
f9b7dd8418
|
Fix breakpoint to tail jmp conversion
|
2024-08-09 20:14:45 +02:00 |
|
drmortalwombat
|
8a6e3eb924
|
Add breakpoint intrinsic in oscar.h
|
2024-08-09 18:05:44 +02:00 |
|
drmortalwombat
|
d98c4b760f
|
Optimize sprite multiplexer
|
2024-08-08 22:07:44 +02:00 |
|
drmortalwombat
|
6f069946ba
|
Pointer arguments in constexpr evaluation
|
2024-08-05 18:19:54 +02:00 |
|
drmortalwombat
|
3df85b09fc
|
Align heap allocation on four byte boundaries
|
2024-08-04 18:02:04 +02:00 |
|
drmortalwombat
|
f49027b2d7
|
Fix loss of carry when moving shift up to store
|
2024-08-04 11:53:26 +02:00 |
|
drmortalwombat
|
d24e666f92
|
Fix left shift 1ul for upper 16 bits
|
2024-08-03 19:18:17 +02:00 |
|
drmortalwombat
|
65b9c58504
|
Move zero page shift up to previous store
|
2024-08-01 22:19:16 +02:00 |
|
drmortalwombat
|
60868c71d3
|
Fix single tail loop opt for search loops (e.g. strlen)
|
2024-07-31 21:11:13 +02:00 |
|
drmortalwombat
|
9013952431
|
Fix missing int range adaption on complex address optimization
|
2024-07-31 17:59:20 +02:00 |
|
drmortalwombat
|
5bb8ca0b89
|
Improve fix point arithmetic
|
2024-07-28 14:41:17 +02:00 |
|
drmortalwombat
|
7ecd6adb20
|
Improve global address in register reuse
|
2024-07-24 15:31:23 +02:00 |
|
drmortalwombat
|
5b50389340
|
Optimize 32bit shifts
|
2024-07-21 21:43:59 +02:00 |
|
drmortalwombat
|
5f2e05d1dd
|
Fix some partial value forwarding errors
|
2024-07-21 17:53:52 +02:00 |
|
drmortalwombat
|
3dd23ec789
|
Additional register allocation step after late inlining
|
2024-07-21 10:40:37 +02:00 |
|
drmortalwombat
|
efd688320f
|
Improve peephole optimizer for shifts
|
2024-07-18 14:18:06 +02:00 |
|
drmortalwombat
|
d3536a718e
|
Merge partially common register loads across basic blocks
|
2024-07-13 20:44:49 +02:00 |
|
drmortalwombat
|
5909db71d5
|
Fix loss of dependency when propagating (zp),y single use load across basic blocks
|
2024-07-12 21:02:46 +02:00 |
|
drmortalwombat
|
96ada6e22a
|
Optimize int->long conversion for known positive values
|
2024-07-11 16:32:11 +02:00 |
|
drmortalwombat
|
85f01b833c
|
Fix invalid index propagation
|
2024-07-10 18:49:10 +02:00 |
|
drmortalwombat
|
a3bf7296bb
|
Reduce index register usage, where ORA Imm would suffice
|
2024-07-09 11:24:02 +02:00 |
|
drmortalwombat
|
dd1f5b9043
|
Fix literal string concatenation in parser
|
2024-07-07 21:18:17 +02:00 |
|
drmortalwombat
|
fcc2cbbebe
|
Remove superfluous CPX/CPY with #0
|
2024-07-06 15:08:03 +02:00 |
|
drmortalwombat
|
470462fe8b
|
Optimize consecutive increments
|
2024-07-05 22:59:16 +02:00 |
|
drmortalwombat
|
301431f12a
|
Eliminate duplicate loop counting variables
|
2024-07-05 10:12:55 +02:00 |
|
drmortalwombat
|
4068957442
|
Fix register dependency update in multi block loop optimization
|
2024-07-04 10:42:22 +02:00 |
|
drmortalwombat
|
bf89d7af33
|
Improve loop register allocation
|
2024-07-03 22:23:27 +02:00 |
|
drmortalwombat
|
ad310f8484
|
Fix sign flag propagationa after immediate ora
|
2024-06-30 21:28:35 +02:00 |
|
drmortalwombat
|
1c0db235a8
|
Fix emulator cycle count
|
2024-06-30 12:29:41 +02:00 |
|
drmortalwombat
|
94181326ca
|
Add uppercase -D for define without separate argument
|
2024-06-28 16:00:48 +02:00 |
|
drmortalwombat
|
cd7567452a
|
Fix return of reference of simple type from inlined function into non ref argument
|
2024-06-27 19:34:57 +02:00 |
|
drmortalwombat
|
2fec9f066f
|
Refactor large peephole optimizer loop
|
2024-06-27 15:28:21 +02:00 |
|
drmortalwombat
|
715f295f5e
|
Add goto and labels in C code
|
2024-06-25 20:45:44 +02:00 |
|
drmortalwombat
|
9678814654
|
Fix crash with extern object pointer arithmetic
|
2024-06-23 17:05:46 +02:00 |
|
drmortalwombat
|
1a6a98e57e
|
Reduce stack usage when compiled with MSVC due to optimizer function size limit
|
2024-06-21 12:04:39 +02:00 |
|
drmortalwombat
|
bf5099f57b
|
Improve auto inline heuristics
|
2024-06-20 21:02:55 +02:00 |
|
drmortalwombat
|
17002e4c78
|
More native code load/store forwarding
|
2024-06-19 21:40:38 +02:00 |
|
drmortalwombat
|
cf9a006005
|
Retain Z flag when restoring Y after index reduction
|
2024-06-19 17:45:20 +02:00 |
|
drmortalwombat
|
3f9d042863
|
Optimize xy before loop index register assignment
|
2024-06-18 16:08:53 +02:00 |
|
drmortalwombat
|
c99c1756a9
|
Fix parameter address reference in __asm embedding
|
2024-06-11 13:07:50 +02:00 |
|
drmortalwombat
|
5ccfab0342
|
Fix IEC code for non interrupt usage
|
2024-06-11 12:12:29 +02:00 |
|
drmortalwombat
|
4954a285e7
|
Add interleave option for sectors in disk image
|
2024-06-05 22:21:21 +02:00 |
|
drmortalwombat
|
2e696d9e1a
|
Optimize small inline function calls
|
2024-05-30 17:51:34 +02:00 |
|
drmortalwombat
|
af38f64a99
|
Add opp::function
|
2024-05-25 21:25:02 +02:00 |
|
drmortalwombat
|
9fa8b644a7
|
Add object placement retry if page locking does not fit
|
2024-05-23 09:54:07 +02:00 |
|
drmortalwombat
|
ccf13c78f0
|
Fix index register conflict when removing condition check after load
|
2024-05-21 22:03:51 +02:00 |
|
drmortalwombat
|
2c28551ca3
|
Improve index register cross block handling
|
2024-05-20 16:24:28 +02:00 |
|
drmortalwombat
|
d79aae3078
|
Fix inline mapper for inline assembler
|
2024-05-19 19:11:48 +02:00 |
|
drmortalwombat
|
86e0cbf9c2
|
Alternate forward and backward int value range check
|
2024-05-19 10:19:42 +02:00 |
|
drmortalwombat
|
3ea44d1979
|
Fix usage of "ldx abs,x" in some corner cases
|
2024-05-16 17:45:36 +02:00 |
|
drmortalwombat
|
04d1abd803
|
Some peephole loop optimizations
|
2024-05-12 21:06:50 +02:00 |
|
drmortalwombat
|
ba1bc29b1a
|
Fix X vz Z flag swapping
|
2024-05-05 20:54:21 +02:00 |
|
drmortalwombat
|
37776dfaee
|
Remove more conditional branches from loops
|
2024-05-05 13:14:23 +02:00 |
|
drmortalwombat
|
c28f342f3e
|
Remove some superflous range violation warnings
|
2024-05-03 14:54:58 +02:00 |
|
drmortalwombat
|
976703f713
|
Fix O2 parameter forwarding optimization
|
2024-05-01 14:08:42 +02:00 |
|
drmortalwombat
|
dc5afa6e79
|
Fix shift optimization had wrong address check
|
2024-04-30 08:51:22 +02:00 |
|
drmortalwombat
|
740762d4a1
|
Fix loss of zero flag in 16bit optimization
|
2024-04-30 08:06:20 +02:00 |
|
drmortalwombat
|
f0b7cddeb1
|
Optimize indirecte 16bit store by flipping low/high order
|
2024-04-28 21:13:41 +02:00 |
|
drmortalwombat
|
9b47a34840
|
Improve reordering of function arguments
|
2024-04-28 20:15:17 +02:00 |
|
drmortalwombat
|
bb8c31bf32
|
Some peephole optimization
|
2024-04-23 20:54:48 +02:00 |
|
drmortalwombat
|
411648b130
|
Improve long counting loops
|
2024-04-22 22:48:15 +02:00 |
|
drmortalwombat
|
611f672b81
|
Add warning for static buffer overflow
|
2024-04-15 15:40:37 +02:00 |
|
drmortalwombat
|
fbfd597306
|
Fix float param to const propagation
|
2024-04-12 15:50:46 +02:00 |
|
drmortalwombat
|
0184a550c5
|
Fix volatile violation when recycling immediates
|
2024-04-10 15:15:22 +02:00 |
|
drmortalwombat
|
2cdc95ba05
|
Fix assert in samples
|
2024-04-09 15:57:53 +02:00 |
|
drmortalwombat
|
fefa462730
|
Improve zero page variable usage
|
2024-04-08 22:04:50 +02:00 |
|
drmortalwombat
|
7b20e6cca0
|
Optimize 16 bit counting loops
|
2024-03-31 14:29:22 +02:00 |
|
drmortalwombat
|
ed82e3595b
|
Bump version number
|
2024-03-30 10:40:00 +01:00 |
|
drmortalwombat
|
1f17f1c198
|
Fix assert in peephole optimizer
|
2024-03-26 08:23:13 +01:00 |
|
drmortalwombat
|
aa601a5727
|
Change memset and memclr to intrinsic functions
|
2024-03-24 11:22:13 +01:00 |
|
drmortalwombat
|
85fad64e9c
|
Optimize post inc/dec while loop conditions
|
2024-03-21 19:33:50 +01:00 |
|
drmortalwombat
|
30d942478f
|
Fix infinite loop in move condition out of loop
|
2024-03-13 22:14:29 +01:00 |
|
drmortalwombat
|
89750c3f73
|
promote array of const members to be const as well
|
2024-03-11 13:40:54 +01:00 |
|
drmortalwombat
|
0c43952e37
|
Improve constant branch forwarding
|
2024-03-07 13:20:39 +01:00 |
|
drmortalwombat
|
f877e5b8c2
|
Fix assert in linux sample build
|
2024-02-28 21:26:25 +01:00 |
|
drmortalwombat
|
bdecbe77e4
|
Fix 16bit zero page global variable inc/dec
|
2024-02-27 09:08:56 +01:00 |
|
drmortalwombat
|
f39cb38eb3
|
Fix unary ops on striped struct members
|
2024-02-26 20:38:02 +01:00 |
|
drmortalwombat
|
e2f822e7d1
|
Improve short function call loop
|
2024-02-25 18:43:53 +01:00 |
|
drmortalwombat
|
22ffbfa63c
|
Fix source location when coalescing JSR and RTS in JMP
|
2024-02-24 09:52:32 +01:00 |
|
drmortalwombat
|
94a3097ba7
|
Fix find loop optimization with mirrored condition
|
2024-02-21 15:05:17 +01:00 |
|
drmortalwombat
|
aab71cbab3
|
Add more std c include files
|
2024-02-20 14:16:32 +01:00 |
|
drmortalwombat
|
5e9df61ffc
|
Fix read after write hazzard in function param proxy size optimization
|
2024-02-18 20:35:07 +01:00 |
|
drmortalwombat
|
6b98a44fc0
|
Improve auto inlining decision with O2
|
2024-02-18 14:35:41 +01:00 |
|
drmortalwombat
|
020ab117a4
|
Fix value copy crossing function call
|
2024-02-17 17:37:47 +01:00 |
|
drmortalwombat
|
b84cce7609
|
Improve compatibility with some C quirks
|
2024-02-16 21:39:35 +01:00 |
|
drmortalwombat
|
8fc382c11e
|
Fix high byte address calculation cascade
|
2024-02-15 20:52:10 +01:00 |
|
drmortalwombat
|
7ebf71b161
|
Switch to Visual Studio 2022 toolset
|
2024-02-15 15:36:25 +01:00 |
|
drmortalwombat
|
18cfbc713a
|
Force some inline calls in vdc
|
2024-02-14 15:24:01 +01:00 |
|
drmortalwombat
|
ecaab1b5b3
|
Fix crash compiling infinite loop
|
2024-01-30 15:04:13 +01:00 |
|
drmortalwombat
|
80efe2351b
|
Optimize short wait loop handling
|
2024-01-28 19:09:59 +01:00 |
|
drmortalwombat
|
fafbbe82d1
|
Fix prevent swap of X and Y when used in JSR
|
2024-01-27 19:50:34 +01:00 |
|
drmortalwombat
|
b3d80bcb0f
|
Limit inline asm check to same section
|
2024-01-27 17:50:53 +01:00 |
|
drmortalwombat
|
974688a8a5
|
Fix overlay prg file save
|
2024-01-27 17:11:10 +01:00 |
|
drmortalwombat
|
7f51d6330e
|
Fixed 1 - i for bytes, wrong operand order
|
2024-01-26 12:41:13 +01:00 |
|
drmortalwombat
|
bcc5e9d362
|
Fix propagation of conditions out of loops
|
2024-01-23 09:02:38 +01:00 |
|
drmortalwombat
|
8a49ffd111
|
Improve unrolled loops towards zero
|
2024-01-20 13:49:25 +01:00 |
|
drmortalwombat
|
265be6e766
|
Move linker chattyness into -v2
|
2024-01-12 22:51:11 +01:00 |
|
drmortalwombat
|
0bc4e7cda6
|
Fix inc/mov of absolute values
|
2024-01-07 16:13:01 +01:00 |
|
drmortalwombat
|
5d51cf75e8
|
Fix cross block zp move optimization
|
2024-01-04 14:14:28 +01:00 |
|
drmortalwombat
|
c138c0f2ae
|
Fix loss of zp dependency on diamond register propagation
|
2023-12-31 10:29:59 +01:00 |
|
drmortalwombat
|
da20b4d27a
|
Fix atan2, failed in mathtest.c
|
2023-12-30 09:21:17 +01:00 |
|
drmortalwombat
|
a305dbb1cd
|
Improve function placement in linker
|
2023-12-23 10:40:45 +01:00 |
|
drmortalwombat
|
04518e4ff3
|
Add error message for unnamed structs
|
2023-12-17 22:45:21 +01:00 |
|
drmortalwombat
|
4a8010a3a0
|
Fix loss of zero page dependency in tail code merge
|
2023-12-17 12:40:09 +01:00 |
|
drmortalwombat
|
ae4b48c445
|
Various loop optimizations
|
2023-12-16 21:03:09 +01:00 |
|
drmortalwombat
|
6cf8466dfd
|
Fix overeager lda/sta join of tail blocks
|
2023-12-12 22:39:22 +01:00 |
|
drmortalwombat
|
6bbf325720
|
Add BIT instruction for sign check, add inlay sections in linker
|
2023-12-12 11:08:59 +01:00 |
|
drmortalwombat
|
16810b63d4
|
Fix over eager lda/sta movement
|
2023-12-10 09:48:23 +01:00 |
|
drmortalwombat
|
1e0450cd8a
|
Optimize sprite multiplexer
|
2023-12-09 13:40:58 +01:00 |
|
drmortalwombat
|
1d337f1244
|
Fix accu train movement to end of block
|
2023-12-07 14:22:05 +01:00 |
|
drmortalwombat
|
cce2f272ef
|
Add optimization section to readme
|
2023-12-06 13:55:38 +01:00 |
|
drmortalwombat
|
d48da32586
|
Improve placement of "if" cascades
|
2023-12-04 22:09:33 +01:00 |
|
drmortalwombat
|
8ab46e29dd
|
Direct parameter forwarding
|
2023-12-02 10:58:20 +01:00 |
|
drmortalwombat
|
cf28c1a618
|
Move conditions out of loops
|
2023-11-28 17:40:44 +01:00 |
|
drmortalwombat
|
8fd560a643
|
Bump version number
|
2023-11-26 22:41:17 +01:00 |
|
drmortalwombat
|
d5026ed9b0
|
Fix join common branch sequence
|
2023-11-26 21:34:06 +01:00 |
|
drmortalwombat
|
57537cd43a
|
Join common branch code sequences
|
2023-11-26 15:46:59 +01:00 |
|
drmortalwombat
|
eec4ed45d1
|
Fix global array aliasing error
|
2023-11-20 22:53:12 +01:00 |
|
drmortalwombat
|
0309fcb286
|
Fixed copy with offset
|
2023-11-20 08:29:23 +01:00 |
|
drmortalwombat
|
38e1cd0bab
|
Fix join entry loadstore zp if accu is used cross block
|
2023-11-16 21:52:06 +01:00 |
|
drmortalwombat
|
157f9c00e5
|
Fix do while loop with function condition
|
2023-11-16 16:40:11 +01:00 |
|