[LLVMdev] Question about SmallVector implementation detail
bombela
bombela at gmail.com
Sun Jul 4 00:04:09 PDT 2010
Hello,
I have just a little question about the SmallVector implemention.
In SmallVectorImpl, the following method is currently implemented as:
void push_back(const T &Elt) {
if (this->EndX < this->CapacityX) {
Retry:
new (this->end()) T(Elt);
this->setEnd(this->end()+1);
return;
}
this->grow();
goto Retry;
}
~/llvm-project/llvm/include/llvm/ADT/SmallVector.h:327 (svn rev: 107560)
This function was wrote/last modified by lattner.
Why a goto?
For CPU branch prediction in favor of the positive condition result?
I'am interested by the reason of that, that's look curious for me.
Thank you,
--
Best regards,
François-Xavier Bourlet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100704/7beba0c8/attachment.html>
More information about the llvm-dev
mailing list