[fpc-devel] Optimizer Overhaul Take 2... Jump Optimizations

Sven Barth pascaldragon at googlemail.com
Fri Nov 1 15:11:13 CET 2019

J. Gareth Moreton <gareth at moreton-family.com> schrieb am Fr., 1. Nov. 2019,

> So the tests all passed on i386-win32 and x86_64-win64, so that's s a
> good sign.  I can't submit the patches for evaluation yet because I
> haven't finished the design spec yet, and also because of a minor bug
> that deals with collapsing label clusters:
>      .p2align 4,,10
>      .p2align 3
> .Lj370:
> .Lj367:
> .Lj364:
> .Lj361:
> .Lj358:
> .Lj355:
> .Lj352:
> .Lj349:
> .Lj346:
> .Lj343:
> .Lj340:
> In this segment, everything is stripped except for the last label, which
> is fine as all the references are changed too. Unfortunately, the
> alignment fields are removed too, which shouldn't happen.  It doesn't
> produce incorrect code, but it may incur a performance penalty, so
> shouldn't be removed - I'm just trying to figure out why that's happening!

Considering that you said that this feature is essentially cross platform:
on some other platform the alignments might be important beside performance
(e.g. a branch inside a branch delay slot or something like that). So,
yeah, that should be fixed...


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20191101/22f3c586/attachment.html>

More information about the fpc-devel mailing list