[llvm] ed63fcb - [GlobalsModRef] Remove check for allocator calls
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 21 05:24:24 PDT 2022
Author: Nikita Popov
Date: 2022-06-21T14:24:13+02:00
New Revision: ed63fcb232b409310a33dcebe46f5f9c893223e3
URL: https://github.com/llvm/llvm-project/commit/ed63fcb232b409310a33dcebe46f5f9c893223e3
DIFF: https://github.com/llvm/llvm-project/commit/ed63fcb232b409310a33dcebe46f5f9c893223e3.diff
LOG: [GlobalsModRef] Remove check for allocator calls
As the FIXME already indicates, I don't see why this code would be
necessary. If there's a call to an allocator function, that should
get treated just like any other function call -- usually it will be
a declaration and handled conservatively based on memory attributes
only. There should be no need to explicitly force it to be modref.
No test failures either, so I think this is just dead code.
Differential Revision: https://reviews.llvm.org/D127273
Added:
Modified:
llvm/lib/Analysis/GlobalsModRef.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Analysis/GlobalsModRef.cpp b/llvm/lib/Analysis/GlobalsModRef.cpp
index c179fd383de2..e82d2fae9356 100644
--- a/llvm/lib/Analysis/GlobalsModRef.cpp
+++ b/llvm/lib/Analysis/GlobalsModRef.cpp
@@ -597,12 +597,7 @@ void GlobalsAAResult::AnalyzeCallGraph(CallGraph &CG, Module &M) {
// We handle calls specially because the graph-relevant aspects are
// handled above.
if (auto *Call = dyn_cast<CallBase>(&I)) {
- auto &TLI = GetTLI(*Node->getFunction());
- if (isAllocationFn(Call, &TLI) || isFreeCall(Call, &TLI)) {
- // FIXME: It is completely unclear why this is necessary and not
- // handled by the above graph code.
- FI.addModRefInfo(ModRefInfo::ModRef);
- } else if (Function *Callee = Call->getCalledFunction()) {
+ if (Function *Callee = Call->getCalledFunction()) {
// The callgraph doesn't include intrinsic calls.
if (Callee->isIntrinsic()) {
if (isa<DbgInfoIntrinsic>(Call))
More information about the llvm-commits
mailing list