Hello,<div><br></div><div>I have just a little question about the SmallVector implemention.</div><div><br></div><div>In SmallVectorImpl, the following method is currently implemented as:</div><div><br></div><div> void push_back(const T &Elt) {</div>
<div> if (this->EndX < this->CapacityX) {</div><div> Retry:</div><div> new (this->end()) T(Elt);</div><div> this->setEnd(this->end()+1);</div><div> return;</div><div> }</div><div>
this->grow();</div><div> goto Retry;</div><div> }</div><div><br></div><div>~/llvm-project/llvm/include/llvm/ADT/SmallVector.h:327 (svn rev: 107560)</div><div>This function was wrote/last modified by lattner.</div>
<div><br></div><div>Why a goto?</div><div>For CPU branch prediction in favor of the positive condition result?</div><div>I'am interested by the reason of that, that's look curious for me.</div><div><br></div><div>
Thank you,</div><div>-- <br>Best regards,<br>François-Xavier Bourlet<br>
</div>