From 359543a76b786a7de710423df5a1f8ba9abe11cf Mon Sep 17 00:00:00 2001 From: abel Date: Mon, 1 Apr 2013 08:06:18 +0000 Subject: [PATCH] Backport from mainline 2013-02-25 Andrey Belevantsev Alexander Monakov 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@197297 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 10 ++++++++++ gcc/sched-deps.c | 6 +++--- 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 + + Backport from mainline + 2013-02-25 Andrey Belevantsev + Alexander Monakov + + 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 * 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; -- 2.39.2