From: Daniel Berlin Date: Fri, 19 May 2017 19:01:21 +0000 (+0000) Subject: BasicAA: Uninserted instructions have no parent, and notDifferentParent explicitly... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a55349e67c8beaf6f13366502fb1e351d748a7ca;p=llvm BasicAA: Uninserted instructions have no parent, and notDifferentParent explicitly allows for this case, but getParent crashes when handed one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303442 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp index a33c01a0e46..f743cb234c4 100644 --- a/lib/Analysis/BasicAliasAnalysis.cpp +++ b/lib/Analysis/BasicAliasAnalysis.cpp @@ -683,8 +683,11 @@ static bool isIntrinsicCall(ImmutableCallSite CS, Intrinsic::ID IID) { #ifndef NDEBUG static const Function *getParent(const Value *V) { - if (const Instruction *inst = dyn_cast(V)) + if (const Instruction *inst = dyn_cast(V)) { + if (!inst->getParent()) + return nullptr; return inst->getParent()->getParent(); + } if (const Argument *arg = dyn_cast(V)) return arg->getParent();