Added a stupid testcase for iterators.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp
index a0cf140..ff513d7 100644
--- a/tools/opt/opt.cpp
+++ b/tools/opt/opt.cpp
@@ -29,6 +29,25 @@
 #include "llvm/Tools/CommandLine.h"
 #include "llvm/Opt/AllOpts.h"
 
+#if 1  // Testcase, TODO: REMOVE
+#include "llvm/CFG.h"
+#include "llvm/Assembly/Writer.h"
+#include "llvm/Method.h"
+static bool DoPrintM(Method *M) {
+  df_iterator I = df_begin(M->getBasicBlocks().front(), false);
+  df_iterator E = df_end(M->getBasicBlocks().front());
+  unsigned i = 0;
+  for (; I != E; ++I, ++i) {
+    cerr << "Basic Block Visited #" << i << *I;
+  }
+  return false;
+}
+
+static bool DoPrint(Module *C) {
+  return ApplyOptToAllMethods(C, DoPrintM);
+}
+#endif
+
 struct {
   const string ArgName, Name;
   bool (*OptPtr)(Module *C);
@@ -38,6 +57,7 @@
   { "-inline"   ,"Method Inlining",       DoMethodInlining      },
   { "-strip"    ,"Strip Symbols",         DoSymbolStripping     },
   { "-mstrip"   ,"Strip Module Symbols",  DoFullSymbolStripping },
+  { "-print"    ,"Test printing stuff",   DoPrint               },
 };
 
 int main(int argc, char **argv) {