Fix a bug in SmallPtrSet that was causing GVNPRE to enter an infinite loop.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37697 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Support/SmallPtrSet.cpp b/lib/Support/SmallPtrSet.cpp
index 56c5e3d..da1a110 100644
--- a/lib/Support/SmallPtrSet.cpp
+++ b/lib/Support/SmallPtrSet.cpp
@@ -154,7 +154,7 @@
     // terminator.
     memcpy(CurArray, that.CurArray, sizeof(void*)*(CurArraySize+1));
   } else {
-    CurArraySize = that.NumElements < 64 ? 128 : that.NumElements*2;
+    CurArraySize = that.NumElements < 64 ? 128 : that.CurArraySize*2;
     CurArray = new void*[CurArraySize+1];
     memset(CurArray, -1, CurArraySize*sizeof(void*));