backport: re PR middle-end/56077 (volatile ignored when function inlined)

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.

From-SVN: r197297
This commit is contained in:
Andrey Belevantsev 2013-04-01 12:06:18 +04:00 committed by Andrey Belevantsev
parent 4d3be9710f
commit df19a4cddb
2 changed files with 13 additions and 3 deletions

View File

@ -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.

View 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);
}
/* 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;