diff options
author | Nikita Popov <npopov@redhat.com> | 2024-07-25 12:25:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-25 12:25:19 +0200 |
commit | 91073380ac5a0dceebdd09f360a1dc194d7ee93f (patch) | |
tree | c98fedc5d7f0da1d054c2bac97b99a98aea7d817 /llvm/lib/Bitcode | |
parent | b72689a5cbd8645c183476cd87e32948308c5b64 (diff) | |
download | llvm-91073380ac5a0dceebdd09f360a1dc194d7ee93f.zip llvm-91073380ac5a0dceebdd09f360a1dc194d7ee93f.tar.gz llvm-91073380ac5a0dceebdd09f360a1dc194d7ee93f.tar.bz2 |
[BasicAA] Fix handling of indirect assumption based results (#100130)
If a result is potentially based on a not yet proven assumption,
BasicAA will remember it inside AssumptionBasedResults and remove
the cache entry if an assumption higher up is later disproved.
However, we currently miss the case where another cache entry ends
up depending on such an AssumptionBased result.
Fix this by introducing an additional AssumptionBased state for
cache entries. If such a result is used, we'll still increment
AAQI.NumAssumptionUses, which means that the using entry will
also become AssumptionBased and be cleared if the assumption is
disproved.
At the end of the root query, convert remaining AssumptionBased
results into definitive results.
Fixes https://github.com/llvm/llvm-project/issues/98978.
Diffstat (limited to 'llvm/lib/Bitcode')
0 files changed, 0 insertions, 0 deletions