diff options
author | Johannes Doerfert <johannes@jdoerfert.de> | 2021-07-11 21:04:28 -0500 |
---|---|---|
committer | Johannes Doerfert <johannes@jdoerfert.de> | 2021-07-26 23:33:36 -0500 |
commit | adddd3dbdae074285f879c5eb7369a92fdd99117 (patch) | |
tree | 461e9d87cdf8670e6dce02dec386119c77a15a80 /llvm/lib/Transforms/Utils/LoopSimplify.cpp | |
parent | 402461beb051b6a5c158f1e36d8e2c2b676e8804 (diff) | |
download | llvm-adddd3dbdae074285f879c5eb7369a92fdd99117.zip llvm-adddd3dbdae074285f879c5eb7369a92fdd99117.tar.gz llvm-adddd3dbdae074285f879c5eb7369a92fdd99117.tar.bz2 |
[Attributor] Introduce getPotentialCopiesOfStoredValue and use it
This patch introduces `getPotentialCopiesOfStoredValue` which uses
AAPointerInfo to determine all "aliases" or "potential copies" of a
value that is stored into memory. This operation can fail but if it
succeeds it means we can visit all "uses" of a value even if it is
temporarily stored in memory.
There are two users for the function:
1) `Attributor::checkForAllUses` which will now ignore the value use
in a store if all "potential copies" can be identified and instead
be visited. This allows various AAs, including AAPointerInfo
itself, to look through memory.
2) `AANoCapture` which uses a custom use tracking through the
CaptureTracker interface and therefore needs to be thought
explicitly.
Differential Revision: https://reviews.llvm.org/D106185
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopSimplify.cpp')
0 files changed, 0 insertions, 0 deletions