summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/config/ms1/ms1.c11
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 17808f0f738..28a1856011c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,7 @@
2005-12-01 Nathan Sidwell <nathan@codesourcery.com>
+ * config/ms1/ms1.c (ms1_reorg_hazard): Don't count noop moves.
+
* vec.h (VEC_block_remove): New.
2005-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
diff --git a/gcc/config/ms1/ms1.c b/gcc/config/ms1/ms1.c
index 19f02a1c746..9bc5138d4c3 100644
--- a/gcc/config/ms1/ms1.c
+++ b/gcc/config/ms1/ms1.c
@@ -1915,7 +1915,16 @@ ms1_reorg_hazard (void)
break;
}
}
- count -= INSN_CODE (prev) >= 0;
+
+ if (INSN_CODE (prev) >= 0)
+ {
+ rtx set = single_set (prev);
+
+ /* A noop set will get deleted in a later split pass,
+ so we can't count on it for hazard avoidance. */
+ if (!set || !set_noop_p (set))
+ count--;
+ }
}
if (rescan)
OpenPOWER on IntegriCloud