> Hello,
> 
> > > > GCC trunk revision 120704 failed to build SPEC cpu2000/gcc on -O1 and 
> > > > higher optimization level at x86_64-redhat-linux.
> > > > 
> > > > reload1.c: In function 'reload':
> > > > reload1.c:449: error: address taken, but ADDRESSABLE bit not set
> > > > bad_spill_regs
> > > > 
> > > > reload1.c:449: error: address taken, but ADDRESSABLE bit not set
> > > > bad_spill_regs
> > > > 
> > > > reload1.c:449: internal compiler error: verify_stmts failed
> > > > Please submit a full bug report,
> > > > with preprocessed source if appropriate.
> > > > See <URL:http://gcc.gnu.org/bugs.html> for instructions.
> > > > 
> > > > Does anybody see the same?
> > 
> > I can reproduce this on i686.  I will check what the problem is,
> 
> this is probably due to some of the recent IPA changes.
> ipa-reference.c:analyze_function does not traverse phi nodes,
> and thus misses that the address of bad_spill_regs is taken inside the
> phi node (and clears the addressable flag from it, causing an ICE
> later).  I am working on the patch.

Thanks for looking into that.  THe problem seems to be that
ipa-reference and early optimization was more or less tested each
independently, so I never noticed this problem (it does not reproduce on
IPA branch that has both changes in however).
Proper fix is probably to make ipa-reference and symmetrically also the
other IPA pass use PHI operands infrastructure as suggested by comments
earlier.

Honza
> 
> Zdenek

Reply via email to