[Bug middle-end/56077] [4.6/4.7/4.8 Regression] volatile ignored when function inlined

2013-02-25 Thread abel at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56077



--- Comment #10 from Andrey Belevantsev abel at gcc dot gnu.org 2013-02-25 
08:48:48 UTC ---

Author: abel

Date: Mon Feb 25 08:48:42 2013

New Revision: 196252



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=196252

Log:

2013-02-25  Andrey Belevantsev  a...@ispras.ru

Alexander Monakov  amona...@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.





Modified:

trunk/gcc/ChangeLog

trunk/gcc/sched-deps.c


[Bug middle-end/56077] [4.6/4.7/4.8 Regression] volatile ignored when function inlined

2013-02-18 Thread abel at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56077



--- Comment #9 from Andrey Belevantsev abel at gcc dot gnu.org 2013-02-18 
11:08:10 UTC ---

I will test the patch removing the JUMP_P part of the conditional on x86-64 and

ia64, but for 4.8 I'd suggest trying some more platforms, like ppc at the

minimum.


[Bug middle-end/56077] [4.6/4.7/4.8 Regression] volatile ignored when function inlined

2013-02-08 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56077



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



   Priority|P3  |P2


[Bug middle-end/56077] [4.6/4.7/4.8 Regression] volatile ignored when function inlined

2013-02-04 Thread amonakov at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56077



Alexander Monakov amonakov at gcc dot gnu.org changed:



   What|Removed |Added



 CC||amonakov at gcc dot gnu.org



--- Comment #8 from Alexander Monakov amonakov at gcc dot gnu.org 2013-02-04 
17:25:05 UTC ---

The difference in behaviour is due to this change in sched_analyze_insn, inside

if (reg_pending_barrier):



+  /* Flush pending lists on jumps, but not on speculative checks.  */

+  if (JUMP_P (insn)  !(sel_sched_p () 

+  sel_insn_is_speculation_check (insn)))

flush_pending_lists (deps, insn, true, true);



The JUMP_P (insn)   part in the condition seems to be an unintended change.


[Bug middle-end/56077] [4.6/4.7/4.8 Regression] volatile ignored when function inlined

2013-01-24 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56077



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 CC||abel at gcc dot gnu.org,

   ||jakub at gcc dot gnu.org,

   ||vmakarov at gcc dot gnu.org

   Target Milestone|--- |4.6.4

Summary|volatile ignored when   |[4.6/4.7/4.8 Regression]

   |function inlined|volatile ignored when

   ||function inlined



--- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org 2013-01-24 
12:30:54 UTC ---

This (for -O2) regressed with

http://gcc.gnu.org/viewcvs?root=gccview=revrev=139854

(for -O -fschedule-insns2 it regressed later, when fwprop got added for -O1).

r139854 added sel-sched support, but I believe it wasn't (and isn't) the

default scheduler on x86_64/i?86, thus clearly the branch merge must have

affected also behavior of the normal scheduler.