drmortalwombat
|
2ee5cc7bf4
|
Fix loss of memory live status when reversing compare
|
2025-03-07 17:23:50 +01:00 |
|
drmortalwombat
|
490180f9dc
|
Fix compare reversal and reuse if z flag used
|
2025-03-07 08:17:51 +01:00 |
|
drmortalwombat
|
5c70c20c6e
|
Reverse cross block accu to index propagation
|
2025-02-28 16:20:07 +01:00 |
|
drmortalwombat
|
ee0e4d5428
|
Fix void pointer arithmetic
|
2025-02-23 11:04:29 +01:00 |
|
drmortalwombat
|
f6296e83e5
|
Improve outliner for short loops
|
2025-02-18 14:51:42 +01:00 |
|
drmortalwombat
|
39840b5fb1
|
Convert add to compare if only flags needed
|
2025-02-18 11:35:06 +01:00 |
|
drmortalwombat
|
fe0bfccfaa
|
Reduce eagerness to join stores with short leas
|
2025-02-18 09:22:28 +01:00 |
|
drmortalwombat
|
9f7d4c0ab0
|
Improved index register use in short loops
|
2025-02-16 17:16:27 +01:00 |
|
drmortalwombat
|
038928232c
|
Propagate conditional stores behind blocks
|
2025-02-15 10:51:55 +01:00 |
|
drmortalwombat
|
100affa083
|
Reverse zp register alias move across single block loops
|
2025-02-14 10:40:00 +01:00 |
|
drmortalwombat
|
e27075955d
|
Optimize enums in bitfield usage
|
2025-02-12 15:12:06 +01:00 |
|
drmortalwombat
|
e23d78eb86
|
Fix move of store abs cross function call
|
2025-02-01 20:13:18 +01:00 |
|
drmortalwombat
|
0126dd53a3
|
Fix infinite optimizer loop
|
2025-01-31 18:43:01 +01:00 |
|
drmortalwombat
|
115129e1dd
|
Reorder lda x, cmp y to reuse y
|
2025-01-21 22:26:57 +01:00 |
|
drmortalwombat
|
f41d594015
|
Fix load/binop/store with different sizes
|
2025-01-19 21:26:25 +01:00 |
|
drmortalwombat
|
c8abb42c3c
|
Optimize outliner compile time performance
|
2025-01-19 18:10:02 +01:00 |
|
drmortalwombat
|
95732265f6
|
Add experimental native code outliner
|
2025-01-19 17:28:20 +01:00 |
|
drmortalwombat
|
d10d8bf7ae
|
Optimize index register use for one bit high byte
|
2025-01-10 21:09:03 +01:00 |
|
drmortalwombat
|
f6a2db7866
|
Reuse index register transfer to avoid compare
|
2025-01-09 20:12:09 +01:00 |
|
drmortalwombat
|
f5dff9620b
|
Fix degrading merge of stores that prevent absolute addressing
|
2025-01-07 22:07:36 +01:00 |
|
drmortalwombat
|
6170c81af3
|
Improve 8 to 16 bit signed add
|
2025-01-06 18:54:21 +01:00 |
|
drmortalwombat
|
3d578170db
|
Improve 16bit op pair reordering
|
2025-01-06 15:58:41 +01:00 |
|
drmortalwombat
|
d99499b6e3
|
Improve double indexed pointer from table
|
2025-01-04 11:11:37 +01:00 |
|
drmortalwombat
|
38bb033328
|
Fix global variable changes bypassing assembly blocks
|
2024-12-30 18:06:26 +01:00 |
|
drmortalwombat
|
9e994560a7
|
Improve double indexed loop with fixed stride
|
2024-12-29 09:46:33 +01:00 |
|
drmortalwombat
|
e37de95079
|
Add bounded integer class
|
2024-12-26 14:57:23 +01:00 |
|
drmortalwombat
|
e7cece0f0f
|
Fix debug assert for negative array index intermediate result
|
2024-12-23 22:31:04 +01:00 |
|
drmortalwombat
|
5b2ae228cc
|
Improve table pointer forwarding
|
2024-12-22 21:22:05 +01:00 |
|
drmortalwombat
|
4fce263228
|
Optimize hires line draw
|
2024-12-15 16:34:53 +01:00 |
|
drmortalwombat
|
067e169803
|
Fix analysis of register usage of inline assembler
|
2024-12-06 18:54:55 +01:00 |
|
drmortalwombat
|
ccdbbe799a
|
Fix assert in linux autotest
|
2024-12-05 08:05:43 +01:00 |
|
drmortalwombat
|
803b868356
|
Improve zero page addressing of global variables in inline assembler
|
2024-12-01 15:33:51 +01:00 |
|
drmortalwombat
|
c12bca7b4e
|
Fix crash in optimizer due to lack of updated register dependecy set when splitting block in loop
|
2024-11-30 09:40:26 +01:00 |
|
drmortalwombat
|
df18dc273e
|
Forward binary op in txax
|
2024-11-17 21:54:55 +01:00 |
|
drmortalwombat
|
4acee4531c
|
Remove needless register transfers from inner loops
|
2024-11-12 13:37:50 +01:00 |
|
drmortalwombat
|
5a0f736d41
|
Fix in block branch collides with fcall proxy generation
|
2024-11-05 08:17:18 +01:00 |
|
drmortalwombat
|
cee2801847
|
Fixed negative offset leas
|
2024-11-03 15:36:53 +01:00 |
|
drmortalwombat
|
bb01d1024a
|
Fix striped indirect arrays
|
2024-11-02 14:52:06 +01:00 |
|
drmortalwombat
|
a6f9c733a1
|
Fix drop of reading from volatile with discarding result
|
2024-11-01 20:32:54 +01:00 |
|
drmortalwombat
|
3c129ff4e5
|
Fix complex diamond pointer forwarding
Forwarding failed when pointer was used and modified in one branch of the diamond
|
2024-10-31 22:48:34 +01:00 |
|
drmortalwombat
|
179cc694e3
|
Reduce code size by recycling nearby jmp for far branches
|
2024-10-27 16:56:35 +01:00 |
|
drmortalwombat
|
4fff9f7060
|
Add optional static memory profile output file
|
2024-10-24 13:58:14 +02:00 |
|
drmortalwombat
|
5946f17632
|
Detangle XY abs load/store pairs
|
2024-10-22 17:17:29 +02:00 |
|
drmortalwombat
|
7e0ff7449c
|
Fix address/register mismatch in 16bit sum forwarding
|
2024-10-22 13:21:16 +02:00 |
|
drmortalwombat
|
d597219aea
|
Fix loss of memory live status when shortcuting zp shift add
|
2024-10-21 21:36:18 +02:00 |
|
drmortalwombat
|
a311396cf8
|
Loop optimization for x and y used in simple loop
|
2024-10-20 18:09:50 +02:00 |
|
drmortalwombat
|
4e2a2c99ba
|
Fix x reg zp dependency during peephole shuffle
|
2024-10-17 18:12:08 +02:00 |
|
drmortalwombat
|
ea33f253d4
|
Reduce branches in short basic block sequences
|
2024-10-15 07:37:35 +02:00 |
|
drmortalwombat
|
ebc41560d9
|
Fix value forwarding register forgetting memory reference
|
2024-10-13 19:52:52 +02:00 |
|
drmortalwombat
|
2d2c696aa4
|
Add sprite pad tile import
|
2024-10-10 16:12:35 +02:00 |
|
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 |
|