No need to check condition after grow()
authorRui Ueyama <ruiu@google.com>
Tue, 22 Apr 2014 19:47:26 +0000 (19:47 +0000)
committerRui Ueyama <ruiu@google.com>
Tue, 22 Apr 2014 19:47:26 +0000 (19:47 +0000)
r206916 was not logically the same as the previous code because the
goto statements did not create loop. This should be the same as the
previous code.

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

include/llvm/ADT/SmallVector.h

index 2409ecf9b6a4cae7489327d7a55d6745bea1f107..1afa4a21b0fae97e1ca9b35373679f8452fd76f4 100644 (file)
@@ -223,14 +223,14 @@ protected:
   
 public:
   void push_back(const T &Elt) {
-    while (this->EndX >= this->CapacityX)
+    if (this->EndX >= this->CapacityX)
       this->grow();
     ::new ((void*) this->end()) T(Elt);
     this->setEnd(this->end()+1);
   }
 
   void push_back(T &&Elt) {
-    while (this->EndX >= this->CapacityX)
+    if (this->EndX >= this->CapacityX)
       this->grow();
     ::new ((void*) this->end()) T(::std::move(Elt));
     this->setEnd(this->end()+1);
@@ -327,7 +327,7 @@ protected:
   }
 public:
   void push_back(const T &Elt) {
-    while (this->EndX >= this->CapacityX)
+    if (this->EndX >= this->CapacityX)
       this->grow();
     memcpy(this->end(), &Elt, sizeof(T));
     this->setEnd(this->end()+1);
@@ -481,7 +481,7 @@ public:
     assert(I >= this->begin() && "Insertion iterator is out of bounds.");
     assert(I <= this->end() && "Inserting past the end of the vector.");
 
-    while (this->EndX >= this->CapacityX) {
+    if (this->EndX >= this->CapacityX) {
       size_t EltNo = I-this->begin();
       this->grow();
       I = this->begin()+EltNo;
@@ -511,7 +511,7 @@ public:
     assert(I >= this->begin() && "Insertion iterator is out of bounds.");
     assert(I <= this->end() && "Inserting past the end of the vector.");
 
-    while (this->EndX >= this->CapacityX) {
+    if (this->EndX >= this->CapacityX) {
       size_t EltNo = I-this->begin();
       this->grow();
       I = this->begin()+EltNo;