1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-10-08 07:55:50 +00:00
Commit Graph

525 Commits

Author SHA1 Message Date
Karol Stasiak
bcb2e362b2 Restrict subroutine extraction to make exponential runtime less likely 2019-06-29 00:07:32 +02:00
Karol Stasiak
3e0dad4cb0 Few more optimizations 2019-06-28 23:19:58 +02:00
Karol Stasiak
e1b2b7f2c9 Let's hope this doesn't break anything 2019-06-28 21:45:12 +02:00
Karol Stasiak
13c23c1bd1 Java 11 compatibility 2019-06-28 17:54:08 +02:00
Karol Stasiak
39b07a8bae Fix init_rw_memory on Atari 2600 2019-06-28 16:44:41 +02:00
Karol Stasiak
674f8d1983 Allow initializing writable variables on cartridge targets 2019-06-28 16:28:49 +02:00
Karol Stasiak
3d68d4f990 mapValues is lazy what the fuck 2019-06-28 16:24:49 +02:00
Karol Stasiak
4d59edbe51 6502: Better error messages 2019-06-28 16:23:24 +02:00
Karol Stasiak
7d051eb5e0 Don't modify macro invocations 2019-06-27 00:50:21 +02:00
Karol Stasiak
efe69eb5a9 Fix performance regressions and some bugs 2019-06-27 00:18:05 +02:00
Karol Stasiak
261486b3cd Don't enable -fsubroutine-extraction when using -Os or -Of 2019-06-26 19:07:25 +02:00
Karol Stasiak
14d6cf4d5c Fix stack overflow 2019-06-26 19:06:45 +02:00
Karol Stasiak
51599c9615 Allow defining free zeropage bytes instead of pointers 2019-06-26 18:33:59 +02:00
Karol Stasiak
c580ba33ea Fix nested #ifs 2019-06-26 18:31:45 +02:00
Karol Stasiak
c9a65d5971 Added #define directive 2019-06-26 13:43:15 +02:00
Karol Stasiak
22cdd1c768 Z80: Fix stack variable optimizations when addresses of stack variables are taken (2) 2019-06-26 10:46:59 +02:00
Karol Stasiak
afa871abcf Z80: Fix stack variable optimizations when addresses of stack variables are taken 2019-06-26 02:11:53 +02:00
Karol Stasiak
a3b21c4810 8080: Use pointers instead of indexing when traversing an array in a loop 2019-06-26 01:56:32 +02:00
Karol Stasiak
8304650b3e 6502: Fix summing for-loops 2019-06-26 01:47:43 +02:00
Karol Stasiak
6cf746045f 8080/Z80: More optimizations 2019-06-26 01:47:03 +02:00
Karol Stasiak
507791bcaf Fix stack overflow 2019-06-26 01:46:31 +02:00
Karol Stasiak
f90d6afc43 8080: Fixed inlining of byte-sized variables into registers 2019-06-26 01:45:34 +02:00
Karol Stasiak
2282e56845 6502: Faster summing for-loops 2019-06-25 18:23:31 +02:00
Karol Stasiak
260cfd50c4 Fix putword optimization 2019-06-25 18:19:57 +02:00
Karol Stasiak
e394fe15c3 Add struct literals 2019-06-25 00:45:49 +02:00
Karol Stasiak
978d97cd7d Fix unused object detection 2019-06-25 00:26:52 +02:00
Karol Stasiak
d8defaad82 Fix and document for-each loops 2019-06-24 23:51:17 +02:00
Karol Stasiak
25c440f17d Add local arrays 2019-06-24 22:32:29 +02:00
Karol Stasiak
663e38c264 Optimizations:
– optimize multiplication and division by constants
– optimize multiplication, division and shifts for size
2019-06-24 15:20:39 +02:00
Karol Stasiak
8ea3957023 8080: optimize loads to HL 2019-06-24 15:18:44 +02:00
Karol Stasiak
15475b6886 Don't require -Os for code deduplication 2019-06-24 15:17:35 +02:00
Karol Stasiak
23b4b110a6 8080: optimize more pointless loads 2019-06-24 15:17:05 +02:00
Karol Stasiak
4dd470141a 6502: zero-extend the division result 2019-06-24 15:16:14 +02:00
Karol Stasiak
4654698891 8080: tail call optimization 2019-06-24 00:47:07 +02:00
Karol Stasiak
869211658a Division optimizations 2019-06-24 00:13:16 +02:00
Karol Stasiak
fbe20a240b 8080: Fix division 2019-06-24 00:13:02 +02:00
Karol Stasiak
0205520bf9 Allow taking addresses of stack variables 2019-06-23 22:53:42 +02:00
Karol Stasiak
f22b62e57f Z80: Fix stack variable inlining 2019-06-23 22:31:46 +02:00
Karol Stasiak
63c43c414a Various fixes related to the -> operator 2019-06-23 19:44:53 +02:00
Karol Stasiak
088b28989f Division by zero warnings 2019-06-23 19:44:34 +02:00
Karol Stasiak
f46466365b Compilation order should be decided by the import statements 2019-06-14 23:20:03 +02:00
Karol Stasiak
ba16021426 Allow using $$ instead of # in preprocessor directives 2019-06-14 15:33:17 +02:00
Karol Stasiak
ffff51dee9 6502: optimize variable pointers 2019-06-14 15:19:29 +02:00
Karol Stasiak
2a233930e8 8080: improve comparisons against constants 2019-06-14 15:19:13 +02:00
Karol Stasiak
51a6ec9d73 Preprocessor: add #use A=B and if(i,t,e) 2019-06-14 12:00:45 +02:00
Karol Stasiak
3852b2dbe9 More label file formats 2019-06-14 11:39:11 +02:00
Karol Stasiak
ecb366eafb Add the -i option 2019-06-14 11:28:26 +02:00
Karol Stasiak
50415714fa Detect the default include directiory when running the native executable 2019-06-13 00:16:45 +02:00
Karol Stasiak
dc13dbaa9a Code cleanup 2019-06-12 22:55:34 +02:00
Karol Stasiak
0f179f79aa Many big important things:
– Add support for undocumented 8085 instructions
– Convert undocumented  8085 instructions to 8086
– Add new CPU types and categorize CPU types correctly
– Fix macro expansion in some situations
– Improve 8080 optimizations
– Improve documentation
– Other improvements
2019-06-12 12:06:02 +02:00