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/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)