aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/haifa-sched.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dff7d07..0f9ce6c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR bootstrap/48403
+ * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
+ if old and new states differ.
+
2011-04-05 Joseph Myers <joseph@codesourcery.com>
* config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index 8f2e4ad..30f55be 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -3230,10 +3230,12 @@ schedule_block (basic_block *target_bb)
if (recog_memoized (insn) >= 0)
{
+ memcpy (temp_state, curr_state, dfa_state_size);
cost = state_transition (curr_state, insn);
if (!flag_sched_pressure)
gcc_assert (cost < 0);
- cycle_issued_insns++;
+ if (memcmp (temp_state, curr_state, dfa_state_size) != 0)
+ cycle_issued_insns++;
asm_p = false;
}
else