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]>

Reply via email to