1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-10-04 12:55:29 +00:00
Commit Graph

177 Commits

Author SHA1 Message Date
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
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
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
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
Karol Stasiak
cb3d848d0a Prevent all functions with return dispatch from being inlined 2018-03-27 00:38:40 +02:00
Karol Stasiak
0231e4c4fd Added ATASCII text codec 2018-03-26 00:01:29 +02:00
Karol Stasiak
e32887b6b7 Added array initialization syntax with for 2018-03-25 23:14:16 +02:00
Karol Stasiak
08544159d4 Don't emit branching instructions with broken offsets 2018-03-25 16:18:19 +02:00
Karol Stasiak
0355495aff Fixed format of array contents in assembly output 2018-03-24 17:11:10 +01:00
Karol Stasiak
c9c0c16e98 Allowed more kinds of constants within variable and array initializers 2018-03-19 21:58:51 +01:00
Karol Stasiak
7ac86b97b5 Cosmetic fixes for messages 2018-03-18 23:54:48 +01:00
Karol Stasiak
046597e9a0 Do not allocate removed variables; also, some weird bugfix 2018-03-18 23:54:32 +01:00
Karol Stasiak
9ff888c0d9 Fixed zero-extending for bytes; improved adding bytes to constant words 2018-03-18 23:54:02 +01:00
Karol Stasiak
986252db5b Added some more optimizations 2018-03-18 23:52:40 +01:00
Karol Stasiak
6fa82a5a58 Added ZeropagePseugoregister to default compilation flags 2018-03-18 23:51:25 +01:00
Karol Stasiak
5f2ecb8258 Code cleanup 2018-03-17 18:12:31 +01:00
Karol Stasiak
4f46b21867 Tiny fix 2018-03-17 18:01:44 +01:00
Karol Stasiak
fa34402749 Segment syntax test 2018-03-17 13:49:37 +01:00
Karol Stasiak
fbd9fddf44 Few optimization improvements and fixes 2018-03-16 19:03:50 +01:00
Karol Stasiak
4d927a8949 Loop unrolling improvements 2018-03-16 14:13:24 +01:00
Karol Stasiak
45e284bdb1 Fixed treatment of -Of and -Ob commandline options 2018-03-16 14:12:38 +01:00
Karol Stasiak
e0c3a566b7 Long comparisons; word vs unsigned byte comparison optimization 2018-03-16 13:19:54 +01:00
Karol Stasiak
2548822b8b Interrupt handler optimization fixes 2018-03-16 11:42:42 +01:00
Karol Stasiak
516d7eae26 Removal of the <<<< operator; nonet operation improvements
Use `nonet(a << b)` instead of `a <<<< b`
2018-03-16 00:34:24 +01:00
Karol Stasiak
8a347e5058 Preliminary segment support; C16/+4 fixes 2018-03-15 23:09:19 +01:00
Karol Stasiak
9e8a125487 Various optimization improvements and bugfixes 2018-03-14 18:50:58 +01:00
Karol Stasiak
38f3923d4d Shifting by variable amount 2018-03-11 23:02:34 +01:00
Karol Stasiak
89b23ee425 Expanding macros from within assembly 2018-03-10 21:52:28 +01:00
Karol Stasiak
739461bfa9 Word addition and bit ops; better handling of side effects 2018-03-10 21:48:04 +01:00
Karol Stasiak
59cf1e06b4 nonet() operator 2018-03-10 00:08:13 +01:00
Karol Stasiak
e95d403752 Flow analyser bugfixes 2018-03-10 00:07:40 +01:00
Karol Stasiak
bc077d3ada Inline assembly parsing improvements 2018-03-10 00:06:50 +01:00