aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2008-02-18 10:11:00 +0000
committerOwen Anderson <resistor@mac.com>2008-02-18 10:11:00 +0000
commitef562471cebd643288a19fca1ece8c52e70ceff0 (patch)
tree9cc3857ee25d882d84c8c1c945c18b991dee726e
parent8dd25288f9c79596e531b32c1b0bdfadcee7ffb9 (diff)
Since we're not checking for the more general AllocationInst first, we need to explicitly check
that Object is an Argument before casting it to one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47268 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Analysis/BasicAliasAnalysis.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp
index 5124376a98..fa5c5b894c 100644
--- a/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/lib/Analysis/BasicAliasAnalysis.cpp
@@ -272,7 +272,7 @@ BasicAliasAnalysis::getModRefInfo(CallSite CS, Value *P, unsigned Size) {
// If this is a tail call and P points to a stack location, we know that
// the tail call cannot access or modify the local stack.
if (isa<AllocaInst>(Object) ||
- cast<Argument>(Object)->hasByValAttr())
+ (isa<Argument>(Object) && cast<Argument>(Object)->hasByValAttr()))
if (CallInst *CI = dyn_cast<CallInst>(CS.getInstruction()))
if (CI->isTailCall())
return NoModRef;