The tarjan iterator now returns a reference to the current SCC, not a possibly null pointer!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8262 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/DataStructure/MemoryDepAnalysis.cpp b/lib/Analysis/DataStructure/MemoryDepAnalysis.cpp
index a185c89..417b4be 100644
--- a/lib/Analysis/DataStructure/MemoryDepAnalysis.cpp
+++ b/lib/Analysis/DataStructure/MemoryDepAnalysis.cpp
@@ -432,7 +432,7 @@
   SCC<Function*>* nextSCC;
   for (TarjanSCC_iterator<Function*> I = tarj_begin(&F), E = tarj_end(&F);
        I != E; ++I)
-    ProcessSCC(**I, ModRefAfter);
+    ProcessSCC(*I, ModRefAfter);
 
   return true;
 }
diff --git a/lib/Analysis/IPA/CallGraphSCCPass.cpp b/lib/Analysis/IPA/CallGraphSCCPass.cpp
index fd5e1ca..031fb02 100644
--- a/lib/Analysis/IPA/CallGraphSCCPass.cpp
+++ b/lib/Analysis/IPA/CallGraphSCCPass.cpp
@@ -25,6 +25,6 @@
   bool Changed = false;
   for (TarjanSCC_iterator<CallGraph*> I = tarj_begin(&CG), E = tarj_end(&CG);
        I != E; ++I)
-    Changed = runOnSCC(**I);
+    Changed = runOnSCC(*I);
   return Changed;
 }
diff --git a/lib/Analysis/IPA/MemoryDepAnalysis.cpp b/lib/Analysis/IPA/MemoryDepAnalysis.cpp
index a185c89..417b4be 100644
--- a/lib/Analysis/IPA/MemoryDepAnalysis.cpp
+++ b/lib/Analysis/IPA/MemoryDepAnalysis.cpp
@@ -432,7 +432,7 @@
   SCC<Function*>* nextSCC;
   for (TarjanSCC_iterator<Function*> I = tarj_begin(&F), E = tarj_end(&F);
        I != E; ++I)
-    ProcessSCC(**I, ModRefAfter);
+    ProcessSCC(*I, ModRefAfter);
 
   return true;
 }
diff --git a/lib/Analysis/IPA/PrintSCC.cpp b/lib/Analysis/IPA/PrintSCC.cpp
index 83dd16d..7affce6 100644
--- a/lib/Analysis/IPA/PrintSCC.cpp
+++ b/lib/Analysis/IPA/PrintSCC.cpp
@@ -59,7 +59,7 @@
   std::cout << "SCCs for Function " << F.getName() << " in PostOrder:";
   for (TarjanSCC_iterator<Function*> I = tarj_begin(&F),
          E = tarj_end(&F); I != E; ++I) {
-    SCC<Function*> &nextSCC = **I;
+    SCC<Function*> &nextSCC = *I;
     std::cout << "\nSCC #" << ++sccNum << " : ";
     for (SCC<Function*>::const_iterator I = nextSCC.begin(),
            E = nextSCC.end(); I != E; ++I)
@@ -80,7 +80,7 @@
   std::cout << "SCCs for the program in PostOrder:";
   for (TarjanSCC_iterator<CallGraphNode*> SCCI = tarj_begin(rootNode),
          E = tarj_end(rootNode); SCCI != E; ++SCCI) {
-    const SCC<CallGraphNode*> &nextSCC = **SCCI;
+    const SCC<CallGraphNode*> &nextSCC = *SCCI;
     std::cout << "\nSCC #" << ++sccNum << " : ";
     for (SCC<CallGraphNode*>::const_iterator I = nextSCC.begin(),
            E = nextSCC.end(); I != E; ++I)
diff --git a/lib/Analysis/PrintSCC.cpp b/lib/Analysis/PrintSCC.cpp
index 83dd16d..7affce6 100644
--- a/lib/Analysis/PrintSCC.cpp
+++ b/lib/Analysis/PrintSCC.cpp
@@ -59,7 +59,7 @@
   std::cout << "SCCs for Function " << F.getName() << " in PostOrder:";
   for (TarjanSCC_iterator<Function*> I = tarj_begin(&F),
          E = tarj_end(&F); I != E; ++I) {
-    SCC<Function*> &nextSCC = **I;
+    SCC<Function*> &nextSCC = *I;
     std::cout << "\nSCC #" << ++sccNum << " : ";
     for (SCC<Function*>::const_iterator I = nextSCC.begin(),
            E = nextSCC.end(); I != E; ++I)
@@ -80,7 +80,7 @@
   std::cout << "SCCs for the program in PostOrder:";
   for (TarjanSCC_iterator<CallGraphNode*> SCCI = tarj_begin(rootNode),
          E = tarj_end(rootNode); SCCI != E; ++SCCI) {
-    const SCC<CallGraphNode*> &nextSCC = **SCCI;
+    const SCC<CallGraphNode*> &nextSCC = *SCCI;
     std::cout << "\nSCC #" << ++sccNum << " : ";
     for (SCC<CallGraphNode*>::const_iterator I = nextSCC.begin(),
            E = nextSCC.end(); I != E; ++I)