[PATCH] D50730: [AST] Generalize argument specific aliasing

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 23 12:10:34 PDT 2018


reames updated this revision to Diff 162245.
reames added a comment.

rebase and incorporate suggestions.

There are a couple of key changes here:

1. I'm intentionally leaving in the redundant memset, and memtransfer pieces.  I'll remove this in a following NFC, but the code changes were contributing to rebase problems and weren't strictly needed.  Same with removing the invariant_start from addUnknown.
2. I removed the AA change in favour of doing this directly in the caller.  This turned out to be needed for invariant_start handling (added in the rebase), and the docs for the function I was modifying contradicted my change anyway.  This is much better isolated.
3. All of the tests have landed, so only the updates are shown.

In general, I'm really unhappy with how the write-for-control-flow-only handling (guards, assumes, invariant_starts) is leaking out into more places.  For the moment, I'd like to land this as is, but I plan to take a closer look at the framing there and see if we can better abstract this.


https://reviews.llvm.org/D50730

Files:
  include/llvm/Analysis/AliasSetTracker.h
  include/llvm/Analysis/MemoryLocation.h
  lib/Analysis/AliasAnalysis.cpp
  lib/Analysis/AliasSetTracker.cpp
  lib/Analysis/MemoryLocation.cpp
  test/Analysis/AliasSet/argmemonly.ll
  test/Transforms/LICM/argmemonly-call.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D50730.162245.patch
Type: text/x-patch
Size: 13791 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180823/4025698d/attachment.bin>


More information about the llvm-commits mailing list