1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-06-28 23:29:51 +00:00
Commit Graph

461 Commits

Author SHA1 Message Date
Karol Stasiak
9b5134c7b9 6502: preserve line numbers in more optimizations 2019-05-29 14:09:55 +02:00
Karol Stasiak
d461046566 6502: use index registers less often 2019-05-29 14:09:41 +02:00
Karol Stasiak
d23f6e4248 6502: improve optimizations using undocumented instructions 2019-05-29 14:09:21 +02:00
Karol Stasiak
43686e0c33 6502: optimize signed comparisons against certain constants 2019-05-29 14:08:42 +02:00
Karol Stasiak
138dcfa19f 8080: implement signed byte comparisons for CPU's without the overflow flag 2019-05-29 14:07:57 +02:00
Karol Stasiak
0410cbea34 Preliminary GraalVM native-image support 2019-05-11 13:50:22 +02:00
Karol Stasiak
3d6e226f55 Update copyright dates 2019-05-11 01:15:51 +02:00
Karol Stasiak
62984fce9b 8080: optimize handling 2-byte parameters 2019-05-02 13:33:45 +02:00
Karol Stasiak
4eba80b735 Fix name clashes when passing parameters to functions 2019-05-02 13:24:21 +02:00
Karol Stasiak
1862fed70f The @struct array format; fix the @long format 2019-04-30 01:30:22 +02:00
Karol Stasiak
d9f88cdfad Const arrays 2019-04-30 00:41:42 +02:00
Karol Stasiak
00d190c3d8 8080: Optimization improvements 2019-04-18 16:24:57 +02:00
Karol Stasiak
546c4d0f44 Unified syntax for indexing 2019-04-18 16:24:46 +02:00
Karol Stasiak
85841c6395 Few more minor optimizations 2019-04-18 02:03:00 +02:00
Karol Stasiak
af84a214bb Z80: Optimization improvements 2019-04-17 23:11:35 +02:00
Karol Stasiak
4504556d3c Fix stack overflow 2019-04-17 23:04:46 +02:00
Karol Stasiak
e771b37db2 Remove diagnostic message 2019-04-17 19:17:55 +02:00
Karol Stasiak
0a36d83164 nullptr 2019-04-16 16:59:16 +02:00
Karol Stasiak
9ea04db566 Use the return variable directly if applicable 2019-04-16 16:34:17 +02:00
Karol Stasiak
668982cd5c LR35902: Use autoincrement operations 2019-04-16 12:10:31 +02:00
Karol Stasiak
629691dfb3 Fix stack variables on 8080 and LR35902 2019-04-16 12:09:14 +02:00
Karol Stasiak
d0f64f2cee Short syntax for small functions 2019-04-15 19:56:14 +02:00
Karol Stasiak
029e84b0f0 Unions, typed pointers, indirect field access via pointers 2019-04-15 19:45:26 +02:00
Karol Stasiak
2d0aa9724b Quick fix 2019-04-15 19:43:44 +02:00
Karol Stasiak
1ba4b57c1c Array elements can now be types other than byte 2019-04-15 01:57:18 +02:00
Karol Stasiak
d3e62c0065 Preliminary struct support 2019-04-15 01:30:47 +02:00
Karol Stasiak
4cd1db0e0f Allow putting pointer variables anywhere 2019-04-15 00:27:34 +02:00
Karol Stasiak
194f79f907 65816: Various fixes regarding (d,S),Y addressing mode 2019-04-15 00:21:25 +02:00
Karol Stasiak
69ccd993b2 6502: Functions shouldn't use index registers if not necessary 2019-03-18 21:54:26 +01:00
Karol Stasiak
c829c5eb37 Z80: Optimize 16-bit loads after 8-bit stores 2019-03-18 20:12:33 +01:00
Karol Stasiak
6f00cacc6d 6502: Optimize 16-bit multiplication by a constant 2019-03-18 20:01:40 +01:00
Karol Stasiak
b8547ed154 Aliases should access subfields 2019-03-18 15:14:13 +01:00
Karol Stasiak
6979cbfe39 Generate checksums for Game Boy 2019-01-11 15:17:48 +01:00
Karol Stasiak
8211b3cf49 8080: better compiler error messages 2019-01-11 15:17:01 +01:00
Karol Stasiak
f71b6a0b04 8080: parse "DEC BC" correctly 2019-01-11 15:16:28 +01:00
Karol Stasiak
56c806ffa3 Optimize the optimizer by trying less likely patterns first 2019-01-08 23:47:02 +01:00
Karol Stasiak
f23e71afa2 6502: Few more optimizations 2019-01-08 23:46:31 +01:00
Karol Stasiak
42ecc574f3 6502: Fix local variable read optimization 2019-01-08 23:46:08 +01:00
Karol Stasiak
7d596f3ed6 Minor improvements 2019-01-05 01:04:08 +01:00
Karol Stasiak
19c0668002 6502: Better passing of register parameters 2019-01-04 12:59:43 +01:00
Karol Stasiak
25ca2cd6b8 6502: detect zeropage pointers more aggressively 2019-01-04 11:55:35 +01:00
Karol Stasiak
bf0da19ab9 Track source position of else if 2019-01-04 11:54:46 +01:00
Karol Stasiak
b1374bb914 6502: Optimization fixes 2019-01-04 11:53:25 +01:00
Karol Stasiak
b400c884e0 Add memory barriers 2018-12-31 13:20:32 +01:00
Karol Stasiak
fb42e77e6e 6502: Two fixes:
– fix writing constants to volatile variables
– fix optimizing variables to registers yet again
2018-12-31 13:19:13 +01:00
Karol Stasiak
fc56c11b31 Hint typoed identifiers 2018-12-30 18:55:03 +01:00
Karol Stasiak
b068663729 PET: Add oldpet and origpet encodings 2018-12-30 18:54:45 +01:00
Karol Stasiak
6c8ee34a2e Z80: Fix jump following 2018-12-30 18:53:26 +01:00
Karol Stasiak
7a1abfba24 Optimization improvements 2018-12-30 00:52:40 +01:00
Karol Stasiak
d7b2181ef5 If a variable is used wholly within a loop body and initialized conditionally, do not remove the last store to it 2018-12-29 20:07:43 +01:00