------- Comment #40 from ian at airs dot com 2007-05-04 07:37 ------- Created an attachment (id=13506) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13506&action=view) Patch
Here is yet another patch, an improvement over the previous one. It finally dawned on me that we can use an asm to represent the exact memory operations we care about, namely a use of the memory accessed via the old type and a def of the memory accessed via the new type. This way we don't mess with alias sets at all per se, we just put down a barrier for exactly the memory addresses that matter (of course the effect may be to VUSE and VDEF SMT tags, but the aliasing machinery takes care of that for us). This patch still needs some more testing--in particular I need to make sure it does the right thing for templates--but it passes bootstrap and the g++ testsuite. Richard, could you test it on your C++ test case(s)? Thanks. -- ian at airs dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #13504|0 |1 is obsolete| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29286