OSDN Git Service

PR middle-end/56848
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Apr 2013 21:17:40 +0000 (21:17 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Apr 2013 21:17:40 +0000 (21:17 +0000)
Revert
2013-04-01  Andrey Belevantsev  <abel@ispras.ru>

Backport from mainline
2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
Alexander Monakov  <amonakov@ispras.ru>

PR middle-end/56077
* sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
flush pending lists also on non-jumps.  Adjust comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@197536 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/sched-deps.c

index 42b104b..3af950d 100644 (file)
@@ -1,3 +1,17 @@
+2013-04-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/56848
+       Revert
+       2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
+
+       Backport from mainline
+       2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
+       Alexander Monakov  <amonakov@ispras.ru>
+
+       PR middle-end/56077
+       * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
+       flush pending lists also on non-jumps.  Adjust comment.
+
 2013-04-03  Richard Biener  <rguenther@suse.de>
 
        PR tree-optimization/56501
index 09858cb..33a6996 100644 (file)
@@ -3262,9 +3262,9 @@ sched_analyze_insn (struct deps_desc *deps, rtx x, rtx insn)
             SET_REGNO_REG_SET (&deps->reg_last_in_use, i);
           }
 
-      /* Don't flush pending lists on speculative checks for
-        selective scheduling.  */
-      if (!sel_sched_p () || !sel_insn_is_speculation_check (insn))
+      /* Flush pending lists on jumps, but not on speculative checks.  */
+      if (JUMP_P (insn) && !(sel_sched_p ()
+                             && sel_insn_is_speculation_check (insn)))
        flush_pending_lists (deps, insn, true, true);
 
       reg_pending_barrier = NOT_A_BARRIER;