[PATCH] D74935: [LangRef][AliasAnalysis] Clarify `noalias` affects only modified objects

Jeroen Dobbelaere via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 4 02:53:01 PST 2020


jeroen.dobbelaere added a comment.

Be aware that c99 restrict has a special case for nested restrict that makes the rules stronger:

  void f(int* restrict *restrict pA, int* restrict * restrict pB) {
    **pA=**pB;
  }

although pA and pB are only read,  (c99 6.7.3.1 #4) specifies that, writing to **pA is as if you are also writing to *pA.
Which means for this case, that pA and pB will point to there own sets of objects, and because of that, *pA and *pB also point to their own (different) sets of objects.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74935/new/

https://reviews.llvm.org/D74935





More information about the llvm-commits mailing list