[llvm-commits] CVS: llvm-poolalloc/lib/DSA/DataStructure.cpp

Andrew Lenharth alenhar2 at cs.uiuc.edu
Mon Jan 22 09:03:56 PST 2007



Changes in directory llvm-poolalloc/lib/DSA:

DataStructure.cpp updated: 1.257 -> 1.258
---
Log message:

fix a incompleteness bug

---
Diffs of the changes:  (+8 -0)

 DataStructure.cpp |    8 ++++++++
 1 files changed, 8 insertions(+)


Index: llvm-poolalloc/lib/DSA/DataStructure.cpp
diff -u llvm-poolalloc/lib/DSA/DataStructure.cpp:1.257 llvm-poolalloc/lib/DSA/DataStructure.cpp:1.258
--- llvm-poolalloc/lib/DSA/DataStructure.cpp:1.257	Wed Jan 10 12:10:32 2007
+++ llvm-poolalloc/lib/DSA/DataStructure.cpp	Mon Jan 22 11:03:41 2007
@@ -1993,6 +1993,14 @@
            E = AuxFunctionCalls.end(); I != E; ++I)
       markIncomplete(*I);
 
+  // Mark stuff passed into external functions as being incomplete.
+  // External functions may not appear in Aux during td, so process
+  // them specially
+  for (std::list<DSCallSite>::iterator I = FunctionCalls.begin(),
+         E = FunctionCalls.end(); I != E; ++I)
+    if(I->isDirectCall() && I->getCalleeFunc()->isExternal())
+      markIncomplete(*I);
+
   // Mark all global nodes as incomplete.
   for (DSScalarMap::global_iterator I = ScalarMap.global_begin(),
          E = ScalarMap.global_end(); I != E; ++I)






More information about the llvm-commits mailing list