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>