]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR bootstrap/50825 (bootstrap fails at stage1 libgcc from r180302)
authorBernd Schmidt <bernds@codesourcery.com>
Fri, 21 Oct 2011 18:38:44 +0000 (18:38 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Fri, 21 Oct 2011 18:38:44 +0000 (18:38 +0000)
PR bootstrap/50825
* sched-deps.c (add_dependence): If not doing predication, promote
REG_DEP_CONTROL to REG_DEP_ANTI.

From-SVN: r180310

gcc/ChangeLog
gcc/sched-deps.c

index 9d3269f63220981f049535b0194bf76b782e0ba9..bc6fdd978298dfd81fc65f5aacddb4935bb1efe2 100644 (file)
@@ -1,3 +1,9 @@
+2011-10-21  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR bootstrap/50825
+       * sched-deps.c (add_dependence): If not doing predication, promote
+       REG_DEP_CONTROL to REG_DEP_ANTI.
+
 2011-10-21  Georg-Johann Lay  <avr@gjlay.de>
 
        * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Pass address of X
index b669cd34957452f7b1ce5514b9b9cf4803c2fd77..a778721d20b2fe0930538d505b5561970d937c68 100644 (file)
@@ -1505,6 +1505,10 @@ sd_debug_lists (rtx insn, sd_list_types_def types)
 void
 add_dependence (rtx con, rtx pro, enum reg_note dep_type)
 {
+  if (dep_type == REG_DEP_CONTROL
+      && !(current_sched_info->flags & DO_PREDICATION))
+    dep_type = REG_DEP_ANTI;
+
   /* A REG_DEP_CONTROL dependence may be eliminated through predication,
      so we must also make the insn dependent on the setter of the
      condition.  */