[all-commits] [llvm/llvm-project] f96ea5: [AA] Do not track Must in ModRefInfo
Nikita Popov via All-commits
all-commits at lists.llvm.org
Sun Jul 31 22:18:43 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f96ea53e892e0dfc1ee778868c1ed33616b95a82
https://github.com/llvm/llvm-project/commit/f96ea53e892e0dfc1ee778868c1ed33616b95a82
Author: Nikita Popov <npopov at redhat.com>
Date: 2022-08-01 (Mon, 01 Aug 2022)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/AliasAnalysisEvaluator.h
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/AliasAnalysisEvaluator.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/GlobalsModRef.cpp
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/test/Analysis/BasicAA/args-rets-allocas-loads.ll
M llvm/test/Analysis/BasicAA/atomic-memory-intrinsics.ll
M llvm/test/Analysis/BasicAA/call-attrs.ll
M llvm/test/Analysis/BasicAA/cs-cs.ll
M llvm/test/Analysis/BasicAA/libfuncs.ll
M llvm/test/Analysis/MemorySSA/basicaa-memcpy.ll
M llvm/test/Analysis/MemorySSA/call-bitcast.ll
M llvm/test/Analysis/MemorySSA/optimize-use.ll
M llvm/test/Analysis/MemorySSA/phi-translation.ll
M llvm/test/Analysis/MemorySSA/print-walker.ll
M llvm/test/Analysis/MemorySSA/scalable-vec.ll
M llvm/unittests/Analysis/MemorySSATest.cpp
Log Message:
-----------
[AA] Do not track Must in ModRefInfo
getModRefInfo() queries currently track whether the result is a
MustAlias on a best-effort basis. The only user of this functionality
is the optimized memory access type in MemorySSA -- which in turn
has no users. Given that this functionality has not found a user
since it was introduced five years ago (in D38862), I think we
should drop it again.
The context is that I'm working to separate FunctionModRefBehavior
to track mod/ref for different location kinds (like argmem or
inaccessiblemem) separately, and the fact that ModRefInfo also has
an unrelated Must flag makes this quite awkward, especially as this
means that NoModRef is not a zero value. If we want to retain the
functionality, I would probably split getModRefInfo() results into
a part that just contains the ModRef information, and a separate
part containing a (best-effort) AliasResult.
Differential Revision: https://reviews.llvm.org/D130713
More information about the All-commits
mailing list