This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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
> 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.

jeff



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]