Add hack to get timing of analysis
authorChris Lattner <sabre@nondot.org>
Thu, 4 Apr 2002 19:21:27 +0000 (19:21 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 4 Apr 2002 19:21:27 +0000 (19:21 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2101 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/DataStructure/DataStructure.cpp

index 13d3dce174c0433fa5e62c51fae1160c89edd0f2..01ef27383cefa63c2b5277451996fae280408088 100644 (file)
@@ -29,9 +29,29 @@ void DataStructure::releaseMemory() {
   DSInfo.clear();
 }
 
+// FIXME REMOVE
+#include <sys/time.h>
+#include "Support/CommandLine.h"
+
+cl::Flag   Time("t", "Print analysis time...");
+
 
 // print - Print out the analysis results...
 void DataStructure::print(std::ostream &O, Module *M) const {
+  if (Time) {
+    timeval TV1, TV2;
+    gettimeofday(&TV1, 0);
+    for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I)
+      if (!(*I)->isExternal()) {
+        getDSGraph(*I);
+        getClosedDSGraph(*I);
+      }
+    gettimeofday(&TV2, 0);
+    cerr << "Analysis took "
+         << (TV2.tv_sec-TV1.tv_sec)*1000000+(TV2.tv_usec-TV1.tv_usec)
+         << " microseconds.\n";
+  }
+
   for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I)
     if (!(*I)->isExternal()) {
 
@@ -52,6 +72,9 @@ void DataStructure::print(std::ostream &O, Module *M) const {
       } else {
         O << "  error opening file for writing!\n";
       }
+      
+      O << (*I)->getName() << " " << getDSGraph(*I).getGraphSize() << " "
+        << getClosedDSGraph(*I).getGraphSize() << "\n";
     }
 }