This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: patch to fix PR58784 (ARM LRA crash)


Hi,

I've tested LRA on ARM in several configuration and it occurs that
only one regression is observed in Fortran for targets A15 and A9 in
hard and soft fp amd Thumb mode enabled by default (ARMv5 is clean).
The failing test case is gfortran.dg/realloc_on_assign_11.f90 in -O3
and the error seems to be of the same nature of
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58784, in the sens that
LRA ICEs in check_rtl on an insn which doesn't satisfy its
constraints.  Here is the insn :

(insn 633 543 656 24 (parallel [
            (set (mem/c:SI (plus:SI (reg/f:SI 907)
                        (const_int 8 [0x8])) [4 A.54+8 S4 A64])
                (smax:SI (reg:SI 562 [ D.5235 ])
                    (reg:SI 621 [ D.5235 ])))
            (clobber (reg:CC 100 cc))
        ]).../gfortran.dg/realloc_on_assign_11.f90:29 121 {*store_minmaxsi}
     (expr_list:REG_DEAD (reg:SI 621 [ D.5235 ])
        (expr_list:REG_UNUSED (reg:CC 100 cc)
            (nil))))

Thanks,
Yvan


On 31 October 2013 17:31, Yvan Roux <yvan.roux@linaro.org> wrote:
> (this time in plain text !)
>
>> Does this mean we can now turn on LRA for ARM state by default and
>> start looking at performance issues if any ?
>
> With the other patch for 58785 and a small one I've to post, we are even
> about to turn LRA on by default completely, as the compiler now bootstrap
> also in thumb and first testsuite are clean :-)
>
> I juste want ton pass a full validation before.
>
> Yvan
>
>
>>> Ramana
>>>
>>>
>>>
>>>
>>>
>>> > 2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>
>>> >
>>> >         PR target/58784
>>> >         * lra.c (check_rtl): Remove address check before LRA work.
>>> >
>>> > 2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>
>>> >
>>> >         PR target/58784
>>> >         * gcc.target/arm/pr58784.c: New.
>>> >


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]