[PATCH] D68507: [PATCH 24/38] [noalias] ScopedNoAliasAA: use C99 restrict rules for deducing noalias

Jeroen Dobbelaere via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 4 15:01:40 PDT 2019


jeroen.dobbelaere created this revision.
jeroen.dobbelaere added reviewers: hfinkel, jdoerfert, chandlerc.
Herald added subscribers: llvm-commits, asbirlea, hiraditya.
Herald added a project: LLVM.

This is part of the series started by D68484 <https://reviews.llvm.org/D68484>.

Look at {p.addr, p.objId, p.scope} for deducing noalias, making use
of recursive calls to AA to proof that p.addr is not aliasing.

Note: with the legacy pass manager, I succeeded in registering the Alias Analysis manager to the ScopedNoAliasAAPass.
I was not able to get the same effect with the new pass manager. Any help is welcome !

Note: this is a stable point and tests should run fine with the patches applied up to this point.


https://reviews.llvm.org/D68507

Files:
  llvm/include/llvm/Analysis/AliasSetTracker.h
  llvm/include/llvm/Analysis/BasicAliasAnalysis.h
  llvm/include/llvm/Analysis/ScopedNoAliasAA.h
  llvm/include/llvm/IR/Instruction.h
  llvm/include/llvm/IR/Metadata.h
  llvm/lib/Analysis/AliasAnalysis.cpp
  llvm/lib/Analysis/AliasSetTracker.cpp
  llvm/lib/Analysis/BasicAliasAnalysis.cpp
  llvm/lib/Analysis/ScopedNoAliasAA.cpp
  llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
  llvm/lib/Analysis/ValueTracking.cpp
  llvm/lib/IR/Metadata.cpp
  llvm/test/Analysis/ScopedNoAliasAA/basic-domains.ll
  llvm/test/Analysis/ScopedNoAliasAA/basic2.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias-calls.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias-dup-scope.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias2.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias_basics.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias_member.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias_phi.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias_phi_in_loop.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias_recursive.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias_select.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D68507.223310.patch
Type: text/x-patch
Size: 156236 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191004/e1ab9779/attachment.bin>


More information about the llvm-commits mailing list