[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
Loading
Please register or sign in to comment