aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopSimplify.cpp
diff options
context:
space:
mode:
authorJohannes Doerfert <johannes@jdoerfert.de>2021-07-11 21:04:28 -0500
committerJohannes Doerfert <johannes@jdoerfert.de>2021-07-26 23:33:36 -0500
commitadddd3dbdae074285f879c5eb7369a92fdd99117 (patch)
tree461e9d87cdf8670e6dce02dec386119c77a15a80 /llvm/lib/Transforms/Utils/LoopSimplify.cpp
parent402461beb051b6a5c158f1e36d8e2c2b676e8804 (diff)
downloadllvm-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