[llvm-commits] CVS: llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp DataStructure.cpp Local.cpp Steensgaard.cpp TopDownClosure.cpp

Chris Lattner lattner at cs.uiuc.edu
Sat Nov 9 14:56:07 PST 2002


Changes in directory llvm/lib/Analysis/DataStructure:

BottomUpClosure.cpp updated: 1.36 -> 1.37
DataStructure.cpp updated: 1.57 -> 1.58
Local.cpp updated: 1.33 -> 1.34
Steensgaard.cpp updated: 1.10 -> 1.11
TopDownClosure.cpp updated: 1.25 -> 1.26

---
Log message:

Make removeTriviallyDeadNodes a private interface of DSGraph


---
Diffs of the changes:

Index: llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp
diff -u llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp:1.36 llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp:1.37
--- llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp:1.36	Fri Nov  8 16:27:25 2002
+++ llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp	Sat Nov  9 14:55:24 2002
@@ -154,10 +154,11 @@
     }
   } while (Inlined && !FCs.empty());
 
+#if 0
   Graph->maskIncompleteMarkers();
   Graph->markIncompleteNodes();
-  Graph->removeTriviallyDeadNodes(false);
   Graph->removeDeadNodes(/*KeepAllGlobals*/ true, /*KeepCalls*/ true);
+#endif
 
   DEBUG(std::cerr << "  [BU] Done inlining: " << F.getName() << " ["
         << Graph->getGraphSize() << "+" << Graph->getFunctionCalls().size()


Index: llvm/lib/Analysis/DataStructure/DataStructure.cpp
diff -u llvm/lib/Analysis/DataStructure/DataStructure.cpp:1.57 llvm/lib/Analysis/DataStructure/DataStructure.cpp:1.58
--- llvm/lib/Analysis/DataStructure/DataStructure.cpp:1.57	Sat Nov  9 14:00:45 2002
+++ llvm/lib/Analysis/DataStructure/DataStructure.cpp	Sat Nov  9 14:55:24 2002
@@ -772,8 +772,7 @@
 //
 bool DSGraph::isNodeDead(DSNode *N) {
   // Is it a trivially dead shadow node...
-  if (N->getReferrers().empty() &&
-      (N->NodeType == 0 || N->NodeType == DSNode::DEAD))
+  if (N->getReferrers().empty() && (N->NodeType & ~DSNode::DEAD) == 0)
     return true;
 
   // Is it a function node or some other trivially unused global?


Index: llvm/lib/Analysis/DataStructure/Local.cpp
diff -u llvm/lib/Analysis/DataStructure/Local.cpp:1.33 llvm/lib/Analysis/DataStructure/Local.cpp:1.34
--- llvm/lib/Analysis/DataStructure/Local.cpp:1.33	Sat Nov  9 14:14:03 2002
+++ llvm/lib/Analysis/DataStructure/Local.cpp	Sat Nov  9 14:55:24 2002
@@ -74,9 +74,6 @@
           getValueDest(*I);
 
       visit(G.getFunction());  // Single pass over the function
-
-      // Not inlining, only eliminate trivially dead nodes.
-      G.removeTriviallyDeadNodes();
     }
 
   private:
@@ -135,6 +132,9 @@
   // Use the graph builder to construct the local version of the graph
   GraphBuilder B(*this, Nodes, RetNode, ScalarMap, FunctionCalls);
   markIncompleteNodes();
+
+  // Remove any nodes made dead due to merging...
+  removeDeadNodes(true, true);
 }
 
 


Index: llvm/lib/Analysis/DataStructure/Steensgaard.cpp
diff -u llvm/lib/Analysis/DataStructure/Steensgaard.cpp:1.10 llvm/lib/Analysis/DataStructure/Steensgaard.cpp:1.11
--- llvm/lib/Analysis/DataStructure/Steensgaard.cpp:1.10	Fri Nov  8 15:27:37 2002
+++ llvm/lib/Analysis/DataStructure/Steensgaard.cpp	Sat Nov  9 14:55:24 2002
@@ -194,7 +194,7 @@
   ResultGraph->markIncompleteNodes(false);
 
   // Remove any nodes that are dead after all of the merging we have done...
-  ResultGraph->removeTriviallyDeadNodes();
+  ResultGraph->removeDeadNodes(true, true);
 
   DEBUG(print(std::cerr, &M));
   return false;


Index: llvm/lib/Analysis/DataStructure/TopDownClosure.cpp
diff -u llvm/lib/Analysis/DataStructure/TopDownClosure.cpp:1.25 llvm/lib/Analysis/DataStructure/TopDownClosure.cpp:1.26
--- llvm/lib/Analysis/DataStructure/TopDownClosure.cpp:1.25	Fri Nov  8 16:26:43 2002
+++ llvm/lib/Analysis/DataStructure/TopDownClosure.cpp	Sat Nov  9 14:55:24 2002
@@ -180,7 +180,6 @@
       CG.maskIncompleteMarkers();
       CG.markIncompleteNodes(/*markFormals*/ !F.hasInternalLinkage()
                              /*&& FIXME: NEED TO CHECK IF ALL CALLERS FOUND!*/);
-      CG.removeTriviallyDeadNodes(false);
       CG.removeDeadNodes(false, true) ;///*KeepAllGlobals*/ false, true);
       ///*KeepCalls*/ false);
     }





More information about the llvm-commits mailing list