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)


On Thu, Nov 7, 2013 at 10:42 AM, Yvan Roux <yvan.roux@linaro.org> wrote:
> 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))))


This store_minmaxsi insn is not recognized because
optimize_function_for_size_p() is false. The problem is in the place
where this insn was created. Trying to figure that out now...

Ciao!
Steven


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