diff options
author | Andrey Belevantsev <abel@ispras.ru> | 2013-04-01 08:06:18 +0000 |
---|---|---|
committer | Andrey Belevantsev <abel@ispras.ru> | 2013-04-01 08:06:18 +0000 |
commit | a55f385ba457e98bd24f1174ff8a1bc52cbe4192 (patch) | |
tree | 29c448bf07c374a038f717c5a4ead5d29588ab08 | |
parent | b645b68bd7b105052ba0431f0f393fdf6fd8e164 (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/ChangeLog | 10 | ||||
-rw-r--r-- | 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 <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; |