aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Belevantsev <abel@ispras.ru>2013-04-01 08:06:18 +0000
committerAndrey Belevantsev <abel@ispras.ru>2013-04-01 08:06:18 +0000
commita55f385ba457e98bd24f1174ff8a1bc52cbe4192 (patch)
tree29c448bf07c374a038f717c5a4ead5d29588ab08
parentb645b68bd7b105052ba0431f0f393fdf6fd8e164 (diff)
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: https://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@197297 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/sched-deps.c6
2 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5d465ecac74..3e031d19fc8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+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-03-30 Gerald Pfeifer <gerald@pfeifer.com>
* doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 33a6996fe4f..09858cb0a15 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -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);
}
- /* Flush pending lists on jumps, but not on speculative checks. */
- if (JUMP_P (insn) && !(sel_sched_p ()
- && sel_insn_is_speculation_check (insn)))
+ /* Don't flush pending lists on speculative checks for
+ selective scheduling. */
+ if (!sel_sched_p () || !sel_insn_is_speculation_check (insn))
flush_pending_lists (deps, insn, true, true);
reg_pending_barrier = NOT_A_BARRIER;