1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-09-27 12:57:41 +00:00
Commit Graph

343 Commits

Author SHA1 Message Date
Karol Stasiak
1e4a193741 Optimization hints 2021-03-15 00:44:14 +01:00
Karol Stasiak
83393d49f1 Z80: optimization improvements 2021-02-26 23:12:43 +01:00
Karol Stasiak
919f11af2e #101: Allow using local labels in all assembly instructions and all assembly expressions 2021-02-03 09:50:44 +01:00
Karol Stasiak
fe4f0dcfd9 6502: Optimize more jumps in place 2021-01-13 19:26:17 +01:00
Karol Stasiak
91699b64c6 Less useless logging 2021-01-13 14:18:41 +01:00
Karol Stasiak
2a5933e115 6502: Fix sbyte to word promotion in some contexts 2021-01-13 14:18:28 +01:00
Karol Stasiak
90a9538936 Various optimizations 2020-12-01 18:18:56 +01:00
Karol Stasiak
97c7d0ffed Basic groundwork for optimization hint support 2020-11-18 22:37:58 +01:00
Karol Stasiak
1decf2f087 65816: Various codegen bugfixes 2020-09-22 17:59:14 +02:00
Karol Stasiak
ca5fe5cdb0 6809: various optimizations 2020-09-15 17:08:38 +02:00
Karol Stasiak
57776f7f93 8080: Optimization improvements 2020-08-14 22:29:19 +02:00
Karol Stasiak
49816d18fe Fix volatile 2020-08-14 22:28:31 +02:00
Karol Stasiak
70256e9d46 Fix evaluation of boolean expressions on all targets (#56) 2020-08-14 22:27:23 +02:00
Karol Stasiak
33d67ec932 6809: Correctly assemble STS and STY 2020-07-31 13:25:42 +02:00
Karol Stasiak
b24ac32932 Z80: Support IXH/IXL/IYH/IYL registers. Add Intel syntax for Z80 instructions. 2020-07-24 17:27:37 +02:00
Karol Stasiak
8a0c552762 6502: Optimize some more rarer repeated index calculations (#50) 2020-07-19 01:46:09 +02:00
Karol Stasiak
09ff184172 6502: Optimizations for certain byte additions (#50) 2020-07-19 00:56:23 +02:00
Karol Stasiak
63aab64204 6502: Optimize array accesses for small arrays and also for repeated indices (#50) 2020-07-18 01:32:41 +02:00
Karol Stasiak
d0bf683657 Various fixes 2020-07-18 01:16:31 +02:00
Karol Stasiak
a22571f60b 6809: tons of improvements:
* stack variables
* large comparisons
* pointer optimizations
* fixed constant evaluation
2020-07-09 01:50:18 +02:00
Karol Stasiak
b387ece71d 6809: Improved support for large types 2020-06-18 20:29:31 +02:00
Karol Stasiak
dd78b14c5e 6809: more optimizations 2020-06-09 21:44:22 +02:00
Karol Stasiak
c8492173ee 6502: Improve index register optimizations 2020-04-27 12:02:45 +02:00
Karol Stasiak
29335d376a 8080: Use a register pair instead of absolute addressing when the registers are loaded anyway 2020-04-08 09:26:44 +02:00
Karol Stasiak
eba91e26e5 Remove a debugging message 2020-04-06 13:28:23 +02:00
Karol Stasiak
5b3e812bb1 8080: Fix some stack-related optimizations 2020-04-06 12:00:10 +02:00
Karol Stasiak
078b22869a 8080: optimize some more cases of stack use 2020-04-05 23:13:43 +02:00
Karol Stasiak
7ce088514f 6502: Fix and optimize sign extension 2020-04-02 00:22:15 +02:00
Karol Stasiak
63ff28e94e Changes to macros and parameter list syntax:
* non-asm macros can now take `const` and `call` parameters
* register parameters to asm functions and macros can be given names if annotated explicitly
2020-03-30 19:23:48 +02:00
Karol Stasiak
5dd3e91c2d 6502: correctly optimize code before BIT instructions 2020-03-29 01:45:02 +01:00
Karol Stasiak
842393106e Remove debugging statements 2020-03-26 01:29:26 +01:00
Karol Stasiak
9cd1e47a37 6502: Fix optimization bug 2020-03-19 18:58:49 +01:00
Karol Stasiak
2eb8ef53ca Put almost all warnings behind internal flags 2020-03-17 21:08:43 +01:00
Karol Stasiak
7939b0f2c1 Optimize commutative in-place modifications using arrays and pointers 2020-03-17 12:20:55 +01:00
Karol Stasiak
128dabba3f Reorganize optimizations a bit 2020-03-17 12:20:16 +01:00
Karol Stasiak
9f128d3c35 Remove debugging code 2020-03-15 01:04:21 +01:00
Karol Stasiak
21ffbfc466 Extra optimization pass over non-inlined functions (implements #43) 2020-02-27 01:33:34 +01:00
Karol Stasiak
63d4bf2317 6502 Fix an optimization bug with the carry flag (fixes #46) 2020-02-11 01:10:49 +01:00
Karol Stasiak
5c40d581c0 6502: Fix optimization bug (fixes #41) and add more optimizations involving ARR 2020-01-24 02:19:04 +01:00
Karol Stasiak
f247516187 6502: Fix fatal failure when considering undocumented optimizations (fixes #38) 2020-01-18 22:06:50 +01:00
Karol Stasiak
6774c283ae 6502: Add KIL instruction (fixes #37) 2020-01-18 00:09:06 +01:00
Karol Stasiak
09359235c7 Add immediate addressing mode for short branches and BRK to support some ugly tricks 2020-01-18 00:07:26 +01:00
Karol Stasiak
b3fba658dd Use zeropage indexed adressing when possible 2020-01-18 00:06:20 +01:00
Karol Stasiak
49bf0d2777 6502: Correctly inlie variables that happen to be returned (fixes #32) 2020-01-11 22:20:02 +01:00
Karol Stasiak
6e36166af2 Never remove or inline volatile variables (fixes #27) 2020-01-03 21:28:10 +01:00
Karol Stasiak
f39fd67a89 6809: Implement more things 2019-12-15 23:48:02 +01:00
Karol Stasiak
769453418c 8080: Optimization bugfix 2019-12-01 03:38:19 +01:00
Karol Stasiak
7be5b14a7d Optimize loads of the same value that was just checked to be in a register 2019-12-01 03:11:30 +01:00
Karol Stasiak
4e04725f93 Fix stack overflow 2019-12-01 01:51:17 +01:00
Karol Stasiak
59784ad5f1 HuC6280: Full assembly support 2019-11-24 01:30:30 +01:00