Karol Stasiak
|
2500f842e9
|
Interprocedural optimization plus some minor fixes:
– fixed handling LDX/LDY/LDZ when inlining variables into registers
– fixed CLA/CLX/CLY instruction generation
– refactored optimization definitions
|
2018-06-25 21:29:04 +02:00 |
|
Karol Stasiak
|
57740cc6b4
|
Optimizations for shifting
|
2018-06-25 01:13:01 +02:00 |
|
Karol Stasiak
|
d39aac86ac
|
C64 should compile with no illegals by default, for SuperCPU, C65 and Mega65 compatibility
|
2018-06-24 19:39:16 +02:00 |
|
Karol Stasiak
|
a692a9868e
|
Update changelog
|
2018-06-24 00:31:10 +02:00 |
|
Karol Stasiak
|
83e055a1d1
|
Allow for "file" array specifier inside another array
|
2018-06-24 00:30:57 +02:00 |
|
Karol Stasiak
|
86ce4c75ad
|
Take into account that the sole byte parameter is passed via the accumulator in more locations
|
2018-06-23 23:47:18 +02:00 |
|
Karol Stasiak
|
456c674a0c
|
Track equality of S and X. Add relevant optimizations.
|
2018-06-23 23:24:32 +02:00 |
|
Karol Stasiak
|
bc21e5befc
|
If a function has one small parameter, pass it via the accumulator
|
2018-06-23 23:14:53 +02:00 |
|
Karol Stasiak
|
3d47c51804
|
Less restrictive licensing for the standard library
|
2018-06-22 18:16:10 +02:00 |
|
Karol Stasiak
|
816bfb5f06
|
Optimization improvements:
– better zeropage register flow tracking
– reverse flow analysis speed improvement
– optimize TXA/TAX after LAX
– don't stash A onto stack over externally linear code blocks
|
2018-06-19 14:23:24 +02:00 |
|
Karol Stasiak
|
5ee9fd85ce
|
Humblebrag
|
2018-06-19 00:08:18 +02:00 |
|
Karol Stasiak
|
992ea7090e
|
Comparison fixes and improvements
|
2018-06-19 00:08:04 +02:00 |
|
Karol Stasiak
|
bf1a3a6677
|
Fix label name clash
|
2018-06-18 22:40:32 +02:00 |
|
Karol Stasiak
|
13b06bd505
|
Fix zeropage allocation
|
2018-06-18 22:40:14 +02:00 |
|
Karol Stasiak
|
b5aa4674b4
|
Update Notepad++ syntax colouring scheme
|
2018-06-18 20:13:02 +02:00 |
|
Karol Stasiak
|
9b7d58cf65
|
Optimizing addition by replacing it with bit ops (NMOS) or increments (CMOS)
|
2018-06-18 19:48:47 +02:00 |
|
Karol Stasiak
|
7510b44412
|
Optimization improvements:
– reloading from zeropage is faster than stashing the result into another register
– more jumping optimizations
|
2018-06-18 19:12:36 +02:00 |
|
Karol Stasiak
|
daf8461c07
|
Allocating arbitrary variables in the zeropage and using zeropage addressing when appropriate
|
2018-06-18 17:59:47 +02:00 |
|
Karol Stasiak
|
ca14e417dd
|
Loop compilation/optimization fixes/improvements
|
2018-06-18 17:54:45 +02:00 |
|
Karol Stasiak
|
24a3943501
|
Array filters (@word, @word_be)
|
2018-06-18 02:52:14 +02:00 |
|
Karol Stasiak
|
0f453e2d2c
|
Start of the Z80 backend
|
2018-06-17 02:01:35 +02:00 |
|
Karol Stasiak
|
780bfa3428
|
Fix for i,$FF,downto,0
|
2018-06-12 23:35:26 +02:00 |
|
Karol Stasiak
|
5ee550af3b
|
Fix double load optimization
|
2018-06-12 23:34:41 +02:00 |
|
Karol Stasiak
|
7fc8678eec
|
Better logging when shortening jumps
|
2018-06-12 23:34:16 +02:00 |
|
Karol Stasiak
|
5281b5f527
|
Refactoring for the upcoming Z80 support
|
2018-06-12 22:46:20 +02:00 |
|
Karol Stasiak
|
70818cc3d2
|
Fixing invalid short jumps
|
2018-06-11 00:04:24 +02:00 |
|
Karol Stasiak
|
a16f662031
|
Optimization fixes
|
2018-06-10 23:44:45 +02:00 |
|
Karol Stasiak
|
278cbcec63
|
Fixed return dispatch returns on LUnix. Added non-relocated address constants.
|
2018-06-10 01:56:04 +02:00 |
|
Karol Stasiak
|
8a417768b8
|
Removed a really invalid optimization
|
2018-06-10 01:48:42 +02:00 |
|
Karol Stasiak
|
8931ced6fc
|
Preliminary LUnix support
|
2018-06-09 00:18:21 +02:00 |
|
Karol Stasiak
|
5dc1bba8ed
|
Multiple improvements:
- fixed some invalid LDX(zp),Y instructions
- better error reporting
- removing unused extern functions
- a new testcase
|
2018-06-09 00:08:17 +02:00 |
|
Karol Stasiak
|
775707801c
|
Documentation improvements
|
2018-06-09 00:05:17 +02:00 |
|
Karol Stasiak
|
10860f6c5f
|
Fixed flag checks during optimisation
|
2018-06-04 16:49:45 +02:00 |
|
Karol Stasiak
|
c71af26989
|
Documentation updates
|
2018-06-04 16:24:18 +02:00 |
|
Karol Stasiak
|
0919a98e4b
|
Fix for i,const,downto,0 loops
|
2018-06-04 09:44:54 +02:00 |
|
Karol Stasiak
|
0c50c4562a
|
Optimize more pointless loads from the same memory/register
|
2018-06-04 09:44:24 +02:00 |
|
Karol Stasiak
|
beef56cdab
|
Fillout the call graph for variable overlap calculations
|
2018-06-04 09:43:51 +02:00 |
|
Karol Stasiak
|
b6e61f16ec
|
Optimizations of adding one
|
2018-06-01 09:51:59 +02:00 |
|
Karol Stasiak
|
1d468e1313
|
Index changing optimization fix
|
2018-06-01 09:51:30 +02:00 |
|
Karol Stasiak
|
e2f7c6ee32
|
Typo fix
|
2018-06-01 09:51:04 +02:00 |
|
Karol Stasiak
|
a671ac1d06
|
Optimization improvements and fixes
|
2018-05-14 02:20:36 +02:00 |
|
Karol Stasiak
|
fae7bb31c9
|
Flow analysis fixes
|
2018-05-14 02:19:39 +02:00 |
|
Karol Stasiak
|
8cc3399239
|
Comparison fix
|
2018-05-14 02:18:46 +02:00 |
|
Karol Stasiak
|
28e53272b9
|
Removal of pointless constant type; variable-to-register inlining fix
|
2018-05-14 02:18:33 +02:00 |
|
Karol Stasiak
|
2f1faa12c2
|
A 24-bit integer type
|
2018-05-14 02:16:46 +02:00 |
|
Karol Stasiak
|
60b9378554
|
More aggressive constant simplification
|
2018-04-15 02:21:51 +02:00 |
|
Karol Stasiak
|
a2171aeef0
|
Trace output fix
|
2018-04-15 02:21:28 +02:00 |
|
Karol Stasiak
|
58f85bb46e
|
Optimization improvements
|
2018-04-15 02:07:44 +02:00 |
|
Karol Stasiak
|
cdfbbf61b8
|
Fixed allocating allocating local variables twice
|
2018-04-15 01:29:47 +02:00 |
|
Karol Stasiak
|
7eab7c439e
|
Preliminary Atari 2600 support
|
2018-04-03 23:13:57 +02:00 |
|