aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2003-07-31 07:56:36 +0000
committerNick Clifton <nickc@gcc.gnu.org>2003-07-31 07:56:36 +0000
commitcaf819ae17ec6db89dc59af158478016f7f2d6a6 (patch)
tree922c4bdf450ef72ce6f619bf03f537cf8d4766f4 /gcc
parent0fd4ac72a2468d1cdaa524b2d4d9a7b2394dd3c2 (diff)
downloadgcc-caf819ae17ec6db89dc59af158478016f7f2d6a6.zip
gcc-caf819ae17ec6db89dc59af158478016f7f2d6a6.tar.gz
gcc-caf819ae17ec6db89dc59af158478016f7f2d6a6.tar.bz2
Prevent interblock move of CC0 setter.
From-SVN: r69992
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/sched-deps.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7729d5d..2c82f05 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-07-31 Vladimir Makarov <vmakarov@redhat.com>
+
+ * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
+ setter.
+
2003-07-30 Roger Sayle <roger@eyesopen.com>
* builtins.def: Alphabetize.
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 1a41e99..477203c 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -625,6 +625,9 @@ sched_analyze_2 (struct deps *deps, rtx x, rtx insn)
case CC0:
/* User of CC0 depends on immediately preceding insn. */
set_sched_group_p (insn);
+ /* Don't move CC0 setter to another block (it can set up the
+ same flag for previous CC0 users which is safe). */
+ CANT_MOVE (prev_nonnote_insn (insn)) = 1;
return;
#endif