aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/InlineCost.cpp
diff options
context:
space:
mode:
authorDávid Bolvanský <david.bolvansky@gmail.com>2023-04-06 10:02:38 +0200
committerDávid Bolvanský <david.bolvansky@gmail.com>2023-04-06 16:51:28 +0200
commit3b5ff3a67c1f0450a100dca34d899ecd3744cb36 (patch)
tree9059d0aad73883ec8aaf4b884e396d298fc4831f /llvm/lib/Analysis/InlineCost.cpp
parent91a0740474e3c4fe0bde8ff5699115bf808ca23f (diff)
downloadllvm-3b5ff3a67c1f0450a100dca34d899ecd3744cb36.zip
llvm-3b5ff3a67c1f0450a100dca34d899ecd3744cb36.tar.gz
llvm-3b5ff3a67c1f0450a100dca34d899ecd3744cb36.tar.bz2
[InlineCost] isKnownNonNullInCallee - handle also dereferenceable attribute
Diffstat (limited to 'llvm/lib/Analysis/InlineCost.cpp')
-rw-r--r--llvm/lib/Analysis/InlineCost.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/InlineCost.cpp b/llvm/lib/Analysis/InlineCost.cpp
index 6877e44..1eb4f2e 100644
--- a/llvm/lib/Analysis/InlineCost.cpp
+++ b/llvm/lib/Analysis/InlineCost.cpp
@@ -1732,7 +1732,7 @@ bool CallAnalyzer::isKnownNonNullInCallee(Value *V) {
// parameter attribute, but that's a less interesting case because hopefully
// the callee would already have been simplified based on that.
if (Argument *A = dyn_cast<Argument>(V))
- if (paramHasAttr(A, Attribute::NonNull))
+ if (paramHasAttr(A, Attribute::NonNull) || paramHasAttr(A, Attribute::Dereferenceable))
return true;
// Is this an alloca in the caller? This is distinct from the attribute case