PR 29145 is about an over-aggressive use of restrict. So far it's had only one response, and it was left in the UNCONFIRMED state.
tree-data-ref.c says this: /* An instruction writing through a restricted pointer is "independent" of any instruction reading or writing through a different pointer, in the same block/scope. */ else if ((TYPE_RESTRICT (type_a) && !DR_IS_READ (dra)) || (TYPE_RESTRICT (type_b) && !DR_IS_READ (drb))) { *differ_p = true; return true; } This is incorrect. The definition of restrict specifically allows restrict-qualified pointers to be copied in specific ways. More information and a small test case is available in PR 29145. One way to fix this would be to test that both pointers are restrict qualified, instead of just at least one. Thanks, Dan -- Dan Gohman, Cray Inc. <[EMAIL PROTECTED]>