[fpc-devel] Progress on reviewing x86_64 optimizer overhaul and node semantic pass
Florian Klämpfl
florian at freepascal.org
Sat Oct 26 14:26:08 CEST 2019
Am 18.10.19 um 18:07 schrieb J. Gareth Moreton:
> Hi everyone,
>
> How is everyone doing? Sorry for my silence - been a bit tied up with
> things in life. Anyway, that aside, has there been any further progress
> on reviewing the x86_64 optimizer overhaul over at
> https://bugs.freepascal.org/view.php?id=34628? I ask because I've
> sort-of blocked myself in any further improvements to the peephole
> optimizer.
I had meanwhile a look at it and to be honest, I am against applying the
remainders in its current form.
- First, the patches are inter-winded and the single patches do not
cover one single topic. Today, using e.g. TortoiseGit on Windows (sorry,
on Linux there is no tool which comes close) such patches can be
re-arranged without too much hazzle.
- Breaking the principle of the multiple optimizer passes is reasonable
on the one hand, on the other hand it makes complicated code even more
complicated and in particular as only the optimizer benefits, I see no
reason to do so. In particular in combination with using gotos, the
price being payed regarding maintainability is very high.
- Also things like ConditionalJumpShortcut in aoptx86.pas containing arm
and aarch64 defines does not convince me regarding the patches.
- Patches contains open todo: "TODO: FIXME removing the first
instruction fails"
I would really like to see parts of the patch applied, but this requires
that it is re-arranged in small, oversee-able changes.
More information about the fpc-devel
mailing list