This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: RTL sharing bootstrap failure on sparc-sun-solaris2.10
On Thu, 6 Sep 2007, Jan Hubicka wrote:
> Ah, I see.
> The attached patch seems to work on my testcase too.
>
> Honza
>
> Index: reorg.c
> ===================================================================
> --- reorg.c (revision 128145)
> +++ reorg.c (working copy)
> @@ -3863,17 +3863,6 @@ dbr_schedule (rtx first)
> relax_delay_slots (first);
> }
>
> - /* 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);
> - }
> -
> /* If we made an end of function label, indicate that it is now
> safe to delete it by undoing our prior adjustment to LABEL_NUSES.
> If it is now unused, delete it. */
> @@ -3885,6 +3874,17 @@ dbr_schedule (rtx first)
> make_return_insns (first);
> #endif
>
> + /* 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);
> + }
> +
> obstack_free (&unfilled_slots_obstack, unfilled_firstobj);
>
> /* It is not clear why the line below is needed, but it does seem to be. */
This second patch also allows bootstrap to complete on my sparc box.
Thanks,
--Kaveh
--
Kaveh R. Ghazi ghazi@caip.rutgers.edu