[Bug tree-optimization/56360] Loop invariant motion can introduce speculative store

2013-02-17 Thread ian at airs dot com


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



--- Comment #6 from Ian Lance Taylor  2013-02-17 15:33:16 
UTC ---

I think this is an important goal for 4.8, as speculative stores baffle lots of

people working on multi-threaded code, including in the Linux kernel.


[Bug tree-optimization/56360] Loop invariant motion can introduce speculative store

2013-02-16 Thread pinskia at gcc dot gnu.org


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



--- Comment #5 from Andrew Pinski  2013-02-17 
05:46:09 UTC ---

>7. Add flag for multi-threaded vs single threaded.



is still left and that is what needs to turn on --param

allow-store-data-races=0 .


[Bug tree-optimization/56360] Loop invariant motion can introduce speculative store

2013-02-16 Thread ian at airs dot com


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



--- Comment #4 from Ian Lance Taylor  2013-02-17 05:15:01 
UTC ---

Bitfields are an issue but I thought that speculative stores were fixed.


[Bug tree-optimization/56360] Loop invariant motion can introduce speculative store

2013-02-16 Thread pinskia at gcc dot gnu.org


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



--- Comment #3 from Andrew Pinski  2013-02-17 
04:58:05 UTC ---

http://gcc.gnu.org/wiki/Atomic/GCCMM/gcc4.8 describes what is left.  bitfields

is a big issue.


[Bug tree-optimization/56360] Loop invariant motion can introduce speculative store

2013-02-16 Thread pinskia at gcc dot gnu.org


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



--- Comment #2 from Andrew Pinski  2013-02-17 
04:55:40 UTC ---

(In reply to comment #1)

> The speculative store can be disabled via --param allow-store-data-races=0.

> 

> So perhaps the question is: shouldn't that be set by -std=gnu++11?



As I understand the C++11 memory model is not fully there in 4.8.


[Bug tree-optimization/56360] Loop invariant motion can introduce speculative store

2013-02-16 Thread ian at airs dot com


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



--- Comment #1 from Ian Lance Taylor  2013-02-17 04:21:28 
UTC ---

The speculative store can be disabled via --param allow-store-data-races=0.



So perhaps the question is: shouldn't that be set by -std=gnu++11?