This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Fix PR 46297
- From: Jeff Law <law at redhat dot com>
- To: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 06 Nov 2010 09:53:18 -0600
- Subject: Fix PR 46297
The fundamental problem is some ports have embedded auto-inc
addressing modes without REG_INC nodes. The improved reload
optimizations were not accounting for the possibility of embedded
auto-inc addressing, particularly for argument pushing.
As a result the new optimization applied, but the offset we generated in
the MEM was wrong due to the intervening autoinc addressing mode.
While we could track the auto-incs, it's far easier to treat them as an
unrecordable use/set which disables the optimization across the argument
pushes. While we lose a few optimization opportunities, I suspect they
definitely fall into the unmeasurable category.
Bootstrapped & regression tested on i686-pc-linux-gnu.
Attachment:
patch
Description: Text document
Attachment:
pr46297.f
Description: Text document