[fpc-devel] Maintainability
Florian Klämpfl
florian at freepascal.org
Sun Aug 11 21:11:37 CEST 2019
Am 11.08.19 um 20:15 schrieb J. Gareth Moreton:
> Hi everyone,
>
> This is a bit of a nebulous question, but when might something be
> considered unmaintainable and hence rejected? For example, with my
> x86_64 optimiser overhaul, I've tried to make the code as
> straightforward as possible, but there are a few questionable tricks
> because one of my design restrictions was that -O1 and -O2 must not
> perform any worse than before, which was a bit difficult because pass 1
> used to be executed twice no matter what (the one that stands out is how
> OptPass1MOV calls OptPass1XOR so it doesn't miss out on any
> optimisations with multiple concurrent MOV operations). Might the
> restriction be waived if the resultant code became simpler?
IMO yes. If the code with -O1 or -O2 gets worse in a few cases, it
doesn't matter. -O3 and -O4 are relevant for the best code.
More information about the fpc-devel
mailing list