[PATCH] Add functionality to scc_iterator


I've been using scc_iterator, and I added the templates necessary to make it work with inverse graphs. I also added a "bb_reachable" function to tell whether an arbitrary graph node is part of cycle. Might this be useful to others?


--- include/llvm/ADT/SCCIterator.h (revision 76093)
+++ include/llvm/ADT/SCCIterator.h (working copy)
@@ -194,6 +194,34 @@
   return scc_iterator<T>::end(G);

+template <class T>
+scc_iterator<Inverse<T> > scc_begin(Inverse<T> G) {
+ return scc_iterator<Inverse<T> >::begin(G);