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:
- 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.
- AANoCapture which uses a custom use tracking through the CaptureTracker interface and therefore needs to be thought explicitly.
Nit: typo