[llvm-commits] [poolalloc] r52018 - /poolalloc/trunk/lib/DSA/StdLibPass.cpp

John Criswell criswell at uiuc.edu
Thu Jun 5 13:14:48 PDT 2008


Author: criswell
Date: Thu Jun  5 15:14:48 2008
New Revision: 52018

URL: http://llvm.org/viewvc/llvm-project?rev=52018&view=rev
Log:
Do not create a DSGraph for realloc() if it does not return a pointer.

Modified:
    poolalloc/trunk/lib/DSA/StdLibPass.cpp

Modified: poolalloc/trunk/lib/DSA/StdLibPass.cpp
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/DSA/StdLibPass.cpp?rev=52018&r1=52017&r2=52018&view=diff

==============================================================================
--- poolalloc/trunk/lib/DSA/StdLibPass.cpp (original)
+++ poolalloc/trunk/lib/DSA/StdLibPass.cpp Thu Jun  5 15:14:48 2008
@@ -54,10 +54,12 @@
         Graph.getReturnNodeFor(*I).getNode()->clearNodeFlags()
           ->setHeapMarker()->setModifiedMarker();
       } else if (Name == "realloc") {
-        Graph.getReturnNodeFor(*I).getNode()->clearNodeFlags()
-          ->setHeapMarker()->setModifiedMarker();
-        Graph.getNodeForValue(I->arg_begin()).getNode()->clearNodeFlags()
-          ->mergeWith(Graph.getReturnNodeFor(*I), 0);
+        if (isa<PointerType>(I->getReturnType())) {
+          Graph.getReturnNodeFor(*I).getNode()->clearNodeFlags()
+            ->setHeapMarker()->setModifiedMarker();
+          Graph.getNodeForValue(I->arg_begin()).getNode()->clearNodeFlags()
+            ->mergeWith(Graph.getReturnNodeFor(*I), 0);
+        }
       } else if (Name == "strdup") {
         Graph.getReturnNodeFor(*I).getNode()->clearNodeFlags()
           ->setHeapMarker()->setModifiedMarker();





More information about the llvm-commits mailing list