1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-11-01 05:05:32 +00:00
Commit Graph

133 Commits

Author SHA1 Message Date
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
Karol Stasiak
bf851af2e4 LAX optimization bugfix 2018-03-09 17:33:56 +01:00
Karol Stasiak
871143cc21 Flow analysis bugfixes 2018-03-09 17:33:39 +01:00
Karol Stasiak
a414feedec Fixed object allocation fixes, assembly output improvements 2018-03-09 16:31:49 +01:00
Karol Stasiak
807a9df8ac Fixed org option 2018-03-09 00:07:05 +01:00
Karol Stasiak
34b827df38 Small optimization bugfix 2018-03-07 16:22:28 +01:00
Karol Stasiak
1d865302ca Indexing fixes; 16-bit indexing 2018-03-07 12:36:21 +01:00
Karol Stasiak
11337f4975 Optimizing predictable reads from local variables 2018-03-06 23:43:09 +01:00
Karol Stasiak
d4d9dafbbe Inlining improvements 2018-03-06 23:28:03 +01:00
Karol Stasiak
af812fe348 else if 2018-03-06 16:46:50 +01:00
Karol Stasiak
791f910cc4 Optimize away impossible odd/even equalities 2018-03-06 16:44:57 +01:00
Karol Stasiak
9e66a0d252 Optimization performance improvements 2018-03-06 15:49:28 +01:00
Karol Stasiak
53245eb1e2 Single threaded mode 2018-03-06 01:01:22 +01:00
Karol Stasiak
1909fd7154 Initialize constant registers outside loops 2018-03-06 00:22:39 +01:00
Karol Stasiak
addfde48ec Better addition of words on stack on 65816 2018-03-06 00:21:43 +01:00
Karol Stasiak
9634ea9516 Don't emit warnings if an unused variable was assigned a simple expression 2018-03-06 00:20:50 +01:00
Karol Stasiak
92dd5d6913 Flow analysis improvements 2018-03-05 19:14:42 +01:00
Karol Stasiak
0f6bf6e63e HuC6280's SAX and SAY depend on A 2018-03-05 19:13:44 +01:00
Karol Stasiak
3cd6540f13 Slightly faster variable to register optimization 2018-03-05 19:13:20 +01:00
Karol Stasiak
56e4b1fb70 Fixed miscompiled loops 2018-03-05 18:21:20 +01:00
Karol Stasiak
05e147b880 Removal of detailed flow analysis; it was slow and not worth it 2018-03-05 12:41:43 +01:00
Karol Stasiak
15dbaad6d1 Use zero page locations as as pseudo-registers; 8-bit multiplication and 16-bit shifts 2018-03-05 12:05:37 +01:00
Karol Stasiak
656dbef184 Optimize pulling a known constant from the stack in more cases 2018-03-05 11:32:31 +01:00
Karol Stasiak
38efdcc979 Allow inlinging variables to registers if there is a non-conflicting SEP/REP instruction 2018-03-05 11:31:02 +01:00
Karol Stasiak
606011ea38 New target: C64 with SuperCPU in native mode 2018-03-03 21:41:49 +01:00
Karol Stasiak
839c52204f 65816 native mode optimization improvements 2018-03-03 21:36:26 +01:00
Karol Stasiak
50ddd52786 Added break and continue statements 2018-03-03 21:34:12 +01:00
Karol Stasiak
ccb6e35a29 Fixed PHD/PHB-related optimizations 2018-03-03 15:06:49 +01:00
Karol Stasiak
2024c33ef2 Fixed suboptimal selection of variables for register inlining 2018-03-03 15:04:39 +01:00
Karol Stasiak
77797af564 65816 and 65CE02 optimization improvements 2018-03-03 14:33:07 +01:00
Karol Stasiak
33ee5115e0 Better stack- and interrupt handling for 65816 and 65CE02 2018-03-03 14:32:11 +01:00
Karol Stasiak
35f06d5486 Optimizer shouldn't remove LDA's before TSR and TRB 2018-03-03 14:31:06 +01:00
Karol Stasiak
6ed5d51260 Preliminary support for 65816, 65CE02 and HuC6280 2018-03-03 01:21:57 +01:00
Karol Stasiak
b3e96a0c6e Using (zp,X) addressing mode when appropriate 2018-03-01 15:58:28 +01:00
Karol Stasiak
50b93db337 Constant pointer optimization 2018-03-01 15:57:54 +01:00
Karol Stasiak
f8bd496b6b Important bugfixes; removing empty stores to larger variables 2018-03-01 15:57:18 +01:00
Karol Stasiak
3dc526bcb7 hi()/lo() builtins; identity table for using index registers as operands 2018-02-28 01:13:05 +01:00
Karol Stasiak
f31086e686 Inlining improvements and bugfixes 2018-02-28 01:11:14 +01:00
Karol Stasiak
828cef58dd Small optimization fix 2018-02-28 01:09:22 +01:00
Karol Stasiak
3d056a7eee Optimization improvements 2018-02-27 12:02:15 +01:00
Karol Stasiak
f9835ebf7e Removed invalid optimization, added bit shifting optimization 2018-02-27 12:01:53 +01:00