This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: patch to fix PR58784 (ARM LRA crash)
- From: Steven Bosscher <stevenb dot gcc at gmail dot com>
- To: Yvan Roux <yvan dot roux at linaro dot org>
- Cc: Ramana Radhakrishnan <ramrad01 at arm dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>, Vladimir Makarov <vmakarov at redhat dot com>
- Date: Fri, 8 Nov 2013 22:13:22 +0100
- Subject: Re: patch to fix PR58784 (ARM LRA crash)
- Authentication-results: sourceware.org; auth=none
- References: <52711FB9 dot 7000802 at redhat dot com> <CAJA7tRbHd1bsNrj_W5X8O8K35YAM=n8DL2MBpyLGKHioNL6f5A at mail dot gmail dot com> <CAD57uCfBREgmndPwp=mBkOhZUHezjtjRrdngWQ5u6QGDqcbsEw at mail dot gmail dot com> <CAD57uCc53UcHUhkj8H7aqFcNWOXaQMuwtvrhapqE_r3rShasdA at mail dot gmail dot com> <CAD57uCfneEfJmdnQbEdd4=zFGEVBJSrh1Js0AARp7JLyWjg7gg at mail dot gmail dot com>
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