aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2005-12-01 15:03:23 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2005-12-01 15:03:23 +0000
commit96fd03a4d5c51d70222b2a2470699dfc52ee8d10 (patch)
tree2246f86f2dd6ce0a10fe7cf9d8ab7700b0b6e579 /gcc
parent9e28024aeb0a31037280e3cc579e7c289287d8ee (diff)
downloadgcc-96fd03a4d5c51d70222b2a2470699dfc52ee8d10.zip
gcc-96fd03a4d5c51d70222b2a2470699dfc52ee8d10.tar.gz
gcc-96fd03a4d5c51d70222b2a2470699dfc52ee8d10.tar.bz2
* config/ms1/ms1.c (ms1_reorg_hazard): Don't count noop moves.
From-SVN: r107821
Diffstat (limited to 'gcc')
-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 17808f0..28a1856 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 19f02a1..9bc5138 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)