[llvm] r254737 - [CXX TLS calling convention] Add CXX TLS calling convention.

Manman Ren via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 4 13:52:46 PST 2015


On Fri, Dec 4, 2015 at 1:44 PM, Joerg Sonnenberger via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> On Fri, Dec 04, 2015 at 04:35:14PM -0500, James Y Knight wrote:
> > On Dec 4, 2015, at 2:32 PM, Joerg Sonnenberger via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
> > > On Fri, Dec 04, 2015 at 05:40:13PM -0000, Manman Ren via llvm-commits
> wrote:
> > >> Author: mren
> > >> Date: Fri Dec  4 11:40:13 2015
> > >> New Revision: 254737
> > >>
> > >> URL: http://llvm.org/viewvc/llvm-project?rev=254737&view=rev
> > >> Log:
> > >> [CXX TLS calling convention] Add CXX TLS calling convention.
> > >
> > > What the motivation for this? Is there any ABI documentation for it?
> >
> >
> > This seems very much like an x86_64-Darwin specific calling convention,
> > which is masquerading as a generic calling convention. Why not call it
> > what it actually is, instead of pretending it's something generically
> useful?
>
> I'm not sure if it is Darwin-specific, but one of the things I wonder
> about is the "CXX" part in the name. If it is for use by dynamic TLS
> initialisers, there is nothing C++ specific about it.
>

It can be used by C++ TLS access functions across platforms.
The implementation in this commit dispatches the calling convention to
Darwin specific CSR_64_TLS_Darwin_SaveList|RegMask.
CSR_64_TLS_Darwin_SaveList|RegMask are specific to Darwin, depending on how
C-style TLS is implemented in Darwin.


> I would be nice if such patches could be posted for review in advance
> and with a bit more than a cryptic rdar link that the non-Apple
> developers have no access to.
>

This was reviewed at http://reviews.llvm.org/D14780.
Sorry that I forgot to put that in the commit message.

Cheers,
Manman

>
> Joerg
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151204/70063235/attachment.html>


More information about the llvm-commits mailing list