From 92e2196f0b651d5174d223d7509b3014d5773996 Mon Sep 17 00:00:00 2001 From: Andrew Lenharth Date: Wed, 19 Apr 2006 03:45:25 +0000 Subject: [PATCH] stupid stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27821 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/DataStructure/Local.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/Analysis/DataStructure/Local.cpp b/lib/Analysis/DataStructure/Local.cpp index e4de3cb7321..75d1f4e0bdc 100644 --- a/lib/Analysis/DataStructure/Local.cpp +++ b/lib/Analysis/DataStructure/Local.cpp @@ -591,8 +591,9 @@ void GraphBuilder::visitCallSite(CallSite CS) { } } - if (F->getName() == "calloc" || F->getName() == "posix_memalign" || - F->getName() == "memalign" || F->getName() == "valloc") { + if ((F->isExternal() && F->getName() == "calloc") + || F->getName() == "posix_memalign" + || F->getName() == "memalign" || F->getName() == "valloc") { setDestTo(*CS.getInstruction(), createNode()->setHeapNodeMarker()->setModifiedMarker()); return; @@ -611,7 +612,10 @@ void GraphBuilder::visitCallSite(CallSite CS) { if (DSNode *N = RetNH.getNode()) N->setModifiedMarker()->setReadMarker(); return; - + } else if (F->getName() == "free") { + // Mark that the node is written to... + if (DSNode *N = getValueDest(**CS.arg_begin()).getNode()) + N->setModifiedMarker()->setHeapNodeMarker(); } else if (F->getName() == "atoi" || F->getName() == "atof" || F->getName() == "atol" || F->getName() == "atoll" || F->getName() == "remove" || F->getName() == "unlink" ||