mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-12 06:06:19 +00:00
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
This commit is contained in:
parent
8dd25288f9
commit
ef562471ce
@ -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
|
// 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.
|
// the tail call cannot access or modify the local stack.
|
||||||
if (isa<AllocaInst>(Object) ||
|
if (isa<AllocaInst>(Object) ||
|
||||||
cast<Argument>(Object)->hasByValAttr())
|
(isa<Argument>(Object) && cast<Argument>(Object)->hasByValAttr()))
|
||||||
if (CallInst *CI = dyn_cast<CallInst>(CS.getInstruction()))
|
if (CallInst *CI = dyn_cast<CallInst>(CS.getInstruction()))
|
||||||
if (CI->isTailCall())
|
if (CI->isTailCall())
|
||||||
return NoModRef;
|
return NoModRef;
|
||||||
|
Loading…
Reference in New Issue
Block a user