This is the mail archive of the
mailing list for the GCC project.
Re: Removing unnecessary ADDR_EXPRs
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
> 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
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.