This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFA: Fix ICE related to ADDR_EXPR forward propagation
- From: Jeffrey A Law <law at redhat dot com>
- To: Daniel Berlin <dberlin at dberlin dot org>
- Cc: Richard Sandiford <rsandifo at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 20 May 2005 07:17:03 -0600
- Subject: Re: RFA: Fix ICE related to ADDR_EXPR forward propagation
- References: <87hdgywh4n.fsf@firetop.home> <1116587566.8357.8.camel@linux.site>
- Reply-to: law at redhat dot com
On Fri, 2005-05-20 at 07:12 -0400, Daniel Berlin wrote:
> On Fri, 2005-05-20 at 07:23 +0100, Richard Sandiford wrote:
> > Mainline currently segfaults while trying to build newlib's hash.c.
> > The problem seems to be caused by the recent patch to forward-propagate
> > ADDR_EXPRs. The idea of those changes is to replace:
> >
> > t1 = &thing[0]
> > t2 = index * scale
> > t3 = (ptr_type) t2
> > result = t1 + t3
> >
> > with:
> >
> > result = &thing[index]
>
>
> > I'm not exactly 100%
> > confident this will be accepted as the right fix though. ;)
>
>
> You want to call recompute_tree_invariant_for_addr_expr on the ADDR_EXPR
> after the operands are replaced.
>
> It'll do what it says (recompute the invariant flag, etc, as
> approriate).
Andrew Pinski has a patch for that -- I've twiddled it slightly
(moved it into the cleanup routine recently added by RTH).
I just need to verify that it still fixes the bugs it's supposed
to fix and it'll be ready to be checked in.
jeff