On Fri, Nov 30, 2012 at 1:29 PM, Uros Bizjak <ubiz...@gmail.com> wrote:

>>>> This one-liner causes following runtime test failure [1] for
>>>> alphaev68-linux-gnu:
>>>>
>>>> FAIL: gfortran.fortran-torture/execute/save_1.f90 execution,  -O2
>>>> FAIL: gfortran.fortran-torture/execute/save_1.f90 execution,  -O2
>>>> -fomit-frame-pointer -finline-functions
>>>> FAIL: gfortran.fortran-torture/execute/save_1.f90 execution,  -O2
>>>> -fomit-frame-pointer -finline-functions -funroll-loops
>>>> FAIL: gfortran.fortran-torture/execute/save_1.f90 execution,  -O2
>>>> -fbounds-check
>>>>
>>>> The patch miscompiles libgfortran library.
>>>>
>>>> I will provide more info tomorrow, any hint what/where should I look
>>>> for differences?
>>>
>>> Anywhere.  The bug disabled a large part of alias analysis.
>>>
>>> Perhaps you can bisect it and backport the fix along the steps.
>>
>> Or open a PR and assign it to me, ultimately I'm responsible for this 
>> breakage.
>
> I have found the problem. Luckily, it is the testcase that is
> miscompiled. The problem is in sched1 pass that moves write to an
> address "addrX" that happens to be aliased with AND mutilated address
> "addrY & -7". The improved alias analysis does not notice that the
> write is inside (addr & -7) region, allowing write to be moved after
> read.
>
> I'm preparing a detailed PR.

Reported as PR55547.

Uros.

Reply via email to