From f45e90535d0225cc6236b256f60d7b03e6cdfe26 Mon Sep 17 00:00:00 2001 From: Andrey Belevantsev <abel@ispras.ru> Date: Mon, 25 Feb 2013 12:48:42 +0400 Subject: [PATCH] re PR middle-end/56077 (volatile ignored when function inlined) 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. Co-Authored-By: Alexander Monakov <amonakov@ispras.ru> From-SVN: r196252 --- gcc/ChangeLog | 7 +++++++ gcc/sched-deps.c | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 71abb1c6b503..999a6bd83725 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +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-02-24 Catherine Moore <clm@codesourcery.com> Maciej W. Rozycki <macro@codesourcery.com> Tom de Vries <tom@codesourcery.com> diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index 7de974b6358e..da4b87910e58 100644 --- a/gcc/sched-deps.c +++ b/gcc/sched-deps.c @@ -3317,9 +3317,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 and 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; -- GitLab