1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-06-12 22:29:33 +00:00

Update documentation and changelog

This commit is contained in:
Karol Stasiak 2019-12-01 03:16:09 +01:00
parent 7be5b14a7d
commit 6b2002f426
3 changed files with 26 additions and 1 deletions

View File

@ -2,6 +2,20 @@
## Current version
* Full assembly support for HuC6280.
* Improvements to subroutine extraction; it's now much faster, less buggy and actually effective.
* 8080: function parameters can now be optimized to registers.
* Fixed error messages about invalid function flags.
* 6502: Fixed compilation of interrupt routines.
* 65C02: Fixed fatal bugs related to some 65C02 subtypes.
* Other bug fixes.
## 0.3.12
* **Breaking change!**

View File

@ -17,3 +17,12 @@ You can control inlining behavior in several ways:
* the remaining functions may be inlined only if the `-finline` command-line option is enabled
and the compiler decides the function is worth doing
## Automatic subroutine extraction
Subroutine extraction is the opposite of inlining.
When given the `-fsubroutine-extraction`, the compiler will attempt to extract common code fragments to new subroutines.
The code will get smaller and slower.
Generally, when using `-fsubroutine-extraction`, it's recommended to also use `-finline`.
This allows the compiler to first inline and optimize code and then extract it back when appropriate.

View File

@ -220,7 +220,9 @@ Default: yes.
* `-fsubroutine-extraction`, `-fno-subroutine-extraction`
Whether identical fragments of functions should be extracted into subroutines (experimental).
Makes the code smaller. Computationally very expensive.
Makes the code smaller.
For large programs, the effect is often much bigger than `-Os` (use both for even better effect).
May occasionally be computationally very expensive.
`.ini` equivalent: `subroutine_extraction`.
Default: no.