[llvm] 1c3859f - [BasicAA] Don't consider Argument as escape source (NFCI)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Sat Sep 25 13:08:54 PDT 2021


Author: Nikita Popov
Date: 2021-09-25T22:08:15+02:00
New Revision: 1c3859f31d0ef8e99c4aabbcfd11e5eea03e3c15

URL: https://github.com/llvm/llvm-project/commit/1c3859f31d0ef8e99c4aabbcfd11e5eea03e3c15
DIFF: https://github.com/llvm/llvm-project/commit/1c3859f31d0ef8e99c4aabbcfd11e5eea03e3c15.diff

LOG: [BasicAA] Don't consider Argument as escape source (NFCI)

The case of an Argument and an identified function local is already
handled earlier, because we don't care about captures in that case.
As such, we don't need to additionally consider the combination of
an Argument with a non-escaping identified function local.

This ensures that isEscapeSource() only returns true for
instructions, which is necessary for D110368.

Added: 
    

Modified: 
    llvm/lib/Analysis/BasicAliasAnalysis.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
index 357772c9c4f2e..636206b6cffb4 100644
--- a/llvm/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
@@ -120,9 +120,6 @@ static bool isEscapeSource(const Value *V) {
   if (isa<CallBase>(V))
     return true;
 
-  if (isa<Argument>(V))
-    return true;
-
   // The load case works because isNonEscapingLocalObject considers all
   // stores to be escapes (it passes true for the StoreCaptures argument
   // to PointerMayBeCaptured).


        


More information about the llvm-commits mailing list