This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Removing unnecessary ADDR_EXPRs
On 5/17/05, Jeffrey A Law <law@redhat.com> wrote:
> On Tue, 2005-05-17 at 20:54 +0200, Richard Guenther wrote:
>
> > > Can you send me your .ii file and I'll see if I can make it fail.
> > >
> > > Based on the information you've provided so far we must have done a
> > > ADDR_EXPR substitution into an INDIRECT_REF which did not fold away
> > > the ADDR_EXPR and INDIRECT_REF for one reason or another. I can't
> > > immediately think of what would cause a failure to fold, but I'll
> > > poke around and see if anything looks interesting. At the worst
> > > fixing this just means using a little more memory so that we can
> > > undo the propagation if folding fails.
> >
> > Preprocessed source is at
> > http://www.tat.physik.uni-tuebingen.de/~rguenth/fstream-inst.ii.gz
> >
> > pinska said it ICEs somehow different on ppc-darwin. I forgot to mention
> > I'm building on i686 with CC=gcc-3.4 and CFLAGS=-g, i.e. it's a -O0
> > build. A standard build doesn't show the ICE.
> Well, in theory it shouldn't matter what the bootstrap compiler and
> flags are -- if it does, then there's something horribly horribly wrong
> somewhere.
>
> Can you dump the types of the outer INDIRECT_REF, the ADDR_EXPR and
> the first argument to the ADDR_EXPR? The only way I can see folding
> failing is if there's a type bogosity somewhere. I've instrumented that
> code locally, but haven't managed to make it trip yet.
I have now confirmed this bug happens because I have the patches
for fold_indirect_ref still applied in my tree. So I'll have to update that
again now ...
Sorry for the noise,
Richard.