[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