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.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel