[all-commits] [llvm/llvm-project] 910733: [BasicAA] Fix handling of indirect assumption base...
Nikita Popov via All-commits
all-commits at lists.llvm.org
Thu Jul 25 03:25:40 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 91073380ac5a0dceebdd09f360a1dc194d7ee93f
https://github.com/llvm/llvm-project/commit/91073380ac5a0dceebdd09f360a1dc194d7ee93f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
A llvm/test/Transforms/SLPVectorizer/X86/pr98978.ll
Log Message:
-----------
[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.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list