aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2024-07-25 12:25:19 +0200
committerGitHub <noreply@github.com>2024-07-25 12:25:19 +0200
commit91073380ac5a0dceebdd09f360a1dc194d7ee93f (patch)
treec98fedc5d7f0da1d054c2bac97b99a98aea7d817 /llvm/lib/Bitcode
parentb72689a5cbd8645c183476cd87e32948308c5b64 (diff)
downloadllvm-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