This is the mail archive of the gcc@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: RTL sharing bootstrap failure on sparc-sun-solaris2.10


> Jan Hubicka <hubicka@ucw.cz> writes:
> 
> > Producing USE expressions embedding whole INSN.  The comment promise
> > that those will be removed before reorg ends, but they are not.  This
> > patch just adds simple code to remove them in very last dbr_schedule
> > pass. 
> 
> I see code in dbr_schedule to delete them:
> 
>   /* Delete any USE insns made by update_block; subsequent passes don't need
>      them or know how to deal with them.  */
>   for (insn = first; insn; insn = next)
>     {
>       next = NEXT_INSN (insn);
> 
>       if (NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE
> 	  && INSN_P (XEXP (PATTERN (insn), 0)))
> 	next = delete_related_insns (insn);
>     }
> 
> Why is that not working?

Hmm, good catch. I didn't noticed that code.
The problem is that update_block is still called after this loop is
done, at least moving that loop down past the loop just bellow it solves
the ICE too.

I must admit I have no idea what those placeholders are good for...

Honza
> 
> Ian


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