[LCG] Switch the SCC's parent iterators to be value iterators rather
authorChandler Carruth <chandlerc@gmail.com>
Thu, 24 Apr 2014 07:48:18 +0000 (07:48 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Thu, 24 Apr 2014 07:48:18 +0000 (07:48 +0000)
than pointer iterators.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207086 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/LazyCallGraph.h
unittests/Analysis/LazyCallGraphTest.cpp

index 039b8d77521fc826f70044031e82788cadeb5c4e..24607b293fbae66d2d7216d1a13baf1089a13dc7 100644 (file)
@@ -41,6 +41,7 @@
 #include "llvm/ADT/SetVector.h"
 #include "llvm/ADT/SmallPtrSet.h"
 #include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/iterator.h"
 #include "llvm/ADT/iterator_range.h"
 #include "llvm/IR/BasicBlock.h"
 #include "llvm/IR/Function.h"
@@ -228,7 +229,7 @@ public:
 
   public:
     typedef SmallVectorImpl<Node *>::const_iterator iterator;
-    typedef SmallSetVector<SCC *, 1>::const_iterator parent_iterator;
+    typedef pointee_iterator<SmallSetVector<SCC *, 1>::const_iterator> parent_iterator;
 
     iterator begin() const { return Nodes.begin(); }
     iterator end() const { return Nodes.end(); }
index 22a95563fb4eeb94abdcdf91b232b8ae79bf4b52..781d98ee503965235458fd177567a87812216321 100644 (file)
@@ -329,7 +329,7 @@ TEST(LazyCallGraphTest, InterSCCEdgeRemoval) {
 
   EXPECT_EQ("b", A.begin()->getFunction().getName());
   EXPECT_EQ(B.end(), B.begin());
-  EXPECT_EQ(&AC, *BC.parent_begin());
+  EXPECT_EQ(&AC, &*BC.parent_begin());
 
   CG.removeEdge(A, lookupFunction(*M, "b"));