summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-01 15:03:23 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-01 15:03:23 +0000
commitcd227334edb210c5a05ce2efb6eee1dfb2c63aad (patch)
tree2246f86f2dd6ce0a10fe7cf9d8ab7700b0b6e579
parentdbd44b2592d3b4759c0ee5734c011b9f8dd8ff79 (diff)
downloadppe42-gcc-cd227334edb210c5a05ce2efb6eee1dfb2c63aad.tar.gz
ppe42-gcc-cd227334edb210c5a05ce2efb6eee1dfb2c63aad.zip
* config/ms1/ms1.c (ms1_reorg_hazard): Don't count noop moves.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107821 138bc75d-0d04-0410-961f-82ee72b054a4
-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