diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2021-09-25 22:01:28 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2021-09-25 22:08:15 +0200 |
commit | 1c3859f31d0ef8e99c4aabbcfd11e5eea03e3c15 (patch) | |
tree | f97eb0823645a131286cc49009ae8c8b51908db8 /llvm/lib/Analysis/BasicAliasAnalysis.cpp | |
parent | 897eb579c615260d68fee7ecc11a5d1773fa3781 (diff) | |
download | llvm-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.cpp | 3 |
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). |