From: Rui Ueyama Date: Tue, 22 Apr 2014 19:47:26 +0000 (+0000) Subject: No need to check condition after grow() X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7ff1eb23a2f2da122ede0b61374df12c8058fb82;p=oota-llvm.git No need to check condition after grow() 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 --- diff --git a/include/llvm/ADT/SmallVector.h b/include/llvm/ADT/SmallVector.h index 2409ecf9b6a..1afa4a21b0f 100644 --- a/include/llvm/ADT/SmallVector.h +++ b/include/llvm/ADT/SmallVector.h @@ -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;