On Thu, Mar 31, 2011 at 3:08 PM, Jeff Law <l...@redhat.com> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 03/24/11 17:57, Andrew MacLeod wrote: >> My fault for not being specific about it... I tend to just use data race >> as a catch all for all these types of things when talking about them >> with Aldy. >> >> the testcase should have for (x=0; x< limit; x++) sum[x] = global; >> rather than x<5, so that its not a known loop count. >> >> The hoisted load is then not allowed as it become a speculative load of >> 'global' on the main path which would not otherwise have been there. >> When the value of limit < 0, this can cause a load race detection on >> systems with either a software or hardware data race detector. > We generally don't allow this kind of code motion anyway -- though it's > more because we haven't built any kind of analysis to determine that > this kind of speculative load is often profitable and can't result in a > fault. > > However, having a switch we can throw to avoid this behaviour (assuming > we add this kind of speculative code motion one day) is, IMHO, a good thing.
If we know the access to global cannot trap I see no reason to disallow speculative reading of it. Richard. > Jeff > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.11 (GNU/Linux) > Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ > > iQEcBAEBAgAGBQJNlHzgAAoJEBRtltQi2kC7h24H/1TJ9gdSKfPwjtiKQL7BLraO > yAwvJJJihacO3xM2pkVZIXRVlHwFyqzU03x0ygExMOex3QMuLMByBbpxsk3uQV7t > 30xF5MDEdXEmQ7L1jWI7gYXbKZk5lnJhDQKewPePdUbcVzJj3H71SQGP2uWCLMUE > 7ToPioN2w3DazoWdnYC/Jqi5JwBLnKpcxkGXQPYbCvqII8W5Xkmlh743Zq5RF7ax > q1nAkRmKdsgIq0SJJNF0GVxdzfOQkt1q7yzR7W74PCG1h6Yam6DNsePSbswDSu46 > 0gxkqnlGb6dkgx1iCHAS0PtNDAurGVCAOd5rijH1yib7C+P48XLmoF10Y13v82I= > =D+1J > -----END PGP SIGNATURE----- >