Here is my patch to fix the bootstrap comparision failure (PR 54128) on MIPS. The reason for the comparision failure was a difference in register usage and I tracked it down to build_insn_chain which checked all instructions for register usage in order to set the dead_or_set and live_relevant_regs bitmaps instead of checking only non-debug instructions. Changing INSN_P to NONDEBUG_INSN_P in build_insn_chain allowed me to bootstrap and caused no regressions.
OK to checkin? Steve Ellcey sell...@mips.com 2012-08-31 Steve Ellcey <sell...@mips.com> PR bootstrap/54128 * ira.c (build_insn_chain): Check only NONDEBUG instructions for register usage. diff --git a/gcc/ira.c b/gcc/ira.c index 3825498..477c87b 100644 --- a/gcc/ira.c +++ b/gcc/ira.c @@ -3341,7 +3341,7 @@ build_insn_chain (void) c->insn = insn; c->block = bb->index; - if (INSN_P (insn)) + if (NONDEBUG_INSN_P (insn)) for (def_rec = DF_INSN_UID_DEFS (uid); *def_rec; def_rec++) { df_ref def = *def_rec; @@ -3432,7 +3432,7 @@ build_insn_chain (void) bitmap_and_compl_into (live_relevant_regs, elim_regset); bitmap_copy (&c->live_throughout, live_relevant_regs); - if (INSN_P (insn)) + if (NONDEBUG_INSN_P (insn)) for (use_rec = DF_INSN_UID_USES (uid); *use_rec; use_rec++) { df_ref use = *use_rec;