From 82962de3b92c1df483430e5b03804a56c8c652dd Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 3 Nov 2004 18:51:26 +0000 Subject: [PATCH] Don't call Constant::getNullValue when the argument could be VoidTy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17457 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/DataStructure/Local.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/Analysis/DataStructure/Local.cpp b/lib/Analysis/DataStructure/Local.cpp index b12a8ccb526..18e7df91455 100644 --- a/lib/Analysis/DataStructure/Local.cpp +++ b/lib/Analysis/DataStructure/Local.cpp @@ -209,7 +209,7 @@ DSGraph::DSGraph(const TargetData &td, Function &F, DSGraph *GG) /// DSNodeHandle GraphBuilder::getValueDest(Value &Val) { Value *V = &Val; - if (V == Constant::getNullValue(V->getType())) + if (isa(V) && cast(V)->isNullValue()) return 0; // Null doesn't point to anything, don't add to ScalarMap! DSNodeHandle &NH = ScalarMap[V]; @@ -528,7 +528,8 @@ void GraphBuilder::visitCallSite(CallSite CS) { return; } else if (F->getName() == "realloc") { DSNodeHandle RetNH = getValueDest(*CS.getInstruction()); - RetNH.mergeWith(getValueDest(**CS.arg_begin())); + if (CS.arg_begin() != CS.arg_end()) + RetNH.mergeWith(getValueDest(**CS.arg_begin())); if (DSNode *N = RetNH.getNode()) N->setHeapNodeMarker()->setModifiedMarker()->setReadMarker(); return;