aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/BasicAliasAnalysis.cpp
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2021-09-25 22:01:28 +0200
committerNikita Popov <nikita.ppv@gmail.com>2021-09-25 22:08:15 +0200
commit1c3859f31d0ef8e99c4aabbcfd11e5eea03e3c15 (patch)
treef97eb0823645a131286cc49009ae8c8b51908db8 /llvm/lib/Analysis/BasicAliasAnalysis.cpp
parent897eb579c615260d68fee7ecc11a5d1773fa3781 (diff)
downloadllvm-1c3859f31d0ef8e99c4aabbcfd11e5eea03e3c15.zip
llvm-1c3859f31d0ef8e99c4aabbcfd11e5eea03e3c15.tar.gz
llvm-1c3859f31d0ef8e99c4aabbcfd11e5eea03e3c15.tar.bz2
[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.
Diffstat (limited to 'llvm/lib/Analysis/BasicAliasAnalysis.cpp')
-rw-r--r--llvm/lib/Analysis/BasicAliasAnalysis.cpp3
1 files changed, 0 insertions, 3 deletions
diff --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
index 357772c..636206b 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).