aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode
diff options
context:
space:
mode:
authorJohannes Doerfert <johannes@jdoerfert.de>2022-03-16 15:53:32 -0500
committerJohannes Doerfert <johannes@jdoerfert.de>2022-04-05 23:07:13 -0500
commitaf30de7788e121ec626d412abb5bddebd7701aee (patch)
treebe8e84b712e84e434266f772bddc7d476bd0109a /llvm/lib/Bitcode
parentc42aa1be74cbe457779ae185b9d2c0fe0fa06fd9 (diff)
downloadllvm-af30de7788e121ec626d412abb5bddebd7701aee.zip
llvm-af30de7788e121ec626d412abb5bddebd7701aee.tar.gz
llvm-af30de7788e121ec626d412abb5bddebd7701aee.tar.bz2
[Attributor] Introduce AAInstanceInfo
The Attributor, as many other parts in LLVM, uses pointer equivalence for `llvm::Value`s. This only works as long as `llvm::Value`s are dynamically unique, or, to be exact, we will never end up with the same `llvm::Value` representing two dynamic instances. We already provided a helper to check the former, namely `AA::isDynamicallyUnique`, however we could not check the latter. In this patch we move the logic into a separate AA which helps with the growing complexity and use cases. We also extend the interface to answer the second question rather than the first. So we do not determine dynamically uniqueness but if we might end up with the `llvm::Value` describing a different dynamic instance. Note that the latter is very much tied to the Attributor capabilities to look through memory, recursion, etc. so we need to update the logic as we go.
Diffstat (limited to 'llvm/lib/Bitcode')
0 files changed, 0 insertions, 0 deletions