1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-12-25 06:29:17 +00:00
Commit Graph

443 Commits

Author SHA1 Message Date
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
Karol Stasiak
3296d5a201 Documentation improvements 2018-04-03 00:21:26 +02:00
Karol Stasiak
76a30acf9a Preliminary BBC Micro support 2018-04-02 23:40:40 +02:00
Karol Stasiak
146e598636 Optimizing CMP/CPX/CPY/CPZ #0 2018-04-02 21:57:53 +02:00
Karol Stasiak
0ddf2f31c8 Inserting raw byte sequences in assembly 2018-04-02 21:40:54 +02:00
Karol Stasiak
d6995091cf Character literals 2018-04-02 21:06:18 +02:00
Karol Stasiak
95375378ed More text codecs 2018-04-02 19:47:11 +02:00
Karol Stasiak
2ea964f35b Small documentation fix 2018-03-28 19:47:44 +02:00
Karol Stasiak
b93340e7d1 Set theme jekyll-theme-dinky 2018-03-28 19:38:48 +02:00
Karol Stasiak
c2a4110c6b Set theme jekyll-theme-cayman 2018-03-28 19:37:46 +02:00
Karol Stasiak
d484959a85 Set theme jekyll-theme-dinky 2018-03-28 19:36:03 +02:00
Karol Stasiak
66597ffc57 Set theme jekyll-theme-minimal 2018-03-28 19:31:51 +02:00
Karol Stasiak
1a0737e4c9 Rename documentation files 2018-03-28 19:31:10 +02:00
Karol Stasiak
1fcbf9fd5b More uses for the DCP instruction 2018-03-28 18:56:11 +02:00
Karol Stasiak
343d339da3 Don't remove loads that are required for flags 2018-03-28 18:55:49 +02:00
Karol Stasiak
d785d43ae7 Many optimization improvements and bugfixes
- fixed VariableToRegisterOptimization removing variables during superoptimization
- fixed PointlessMathFromFlow giving results that do not fit a byte
- fixed PointlessLoadBeforeReturn moving reads from before to after memory modification
- achieved and exceeded CC65 performance when doing 16-bit Eratosthenes sieve
2018-03-28 12:37:38 +02:00