[BasicAA] Remove support for PhiValues analysis
authorNikita Popov <npopov@redhat.com>
Fri, 9 Dec 2022 14:29:35 +0000 (15:29 +0100)
committerNikita Popov <npopov@redhat.com>
Mon, 12 Dec 2022 08:47:30 +0000 (09:47 +0100)
commit243acd5dcbc637e477062877185ad76d8ff63d9d
tree01c4556875b8d8cf63a0a8f90b3448d3384afc69
parent2f8cdea36d97b78ebc7e6f8d79ec9d69a4c503aa
[BasicAA] Remove support for PhiValues analysis

BasicAA currently has an optional dependency on the PhiValues
analysis. However, at least with our current pipeline setup, we
never actually make use of it. It's possible that this used to work
with the legacy pass manager, but I'm not sure of that either.

Given that this analysis has not actually been in use for a long
time, and nobody noticed or complained, I think we should drop
support for it and focus on one code path. It is worth noting that
analysis quality for the non-PhiValues case has significantly
improved in the meantime.

If we really wanted to make use of PhiValues, the right way would
probably be to pass it in via AAQI in places we want to use it,
rather than using an optional pass manager dependency (which are
an unpredictable PITA and should really only ever be used for
analyses that are only preserved and not used).

Differential Revision: https://reviews.llvm.org/D139719
15 files changed:
llvm/include/llvm/Analysis/BasicAliasAnalysis.h
llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
llvm/lib/Analysis/BasicAliasAnalysis.cpp
llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
llvm/test/Analysis/BasicAA/invalidation.ll
llvm/test/Analysis/BasicAA/phi-aa.ll
llvm/test/Analysis/BasicAA/recphi.ll
llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
llvm/test/Other/new-pm-defaults.ll
llvm/test/Other/new-pm-lto-defaults.ll
llvm/test/Other/new-pm-thinlto-defaults.ll
llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll