[PATCH] D25204: Register Calling Convention, Clang changes

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 5 08:44:49 PDT 2016


erichkeane marked 9 inline comments as done.
erichkeane added inline comments.


> oren_ben_simhon wrote in AttrDocs.td:1267
> You might want to use the following link instead because it is most updated: https://software.intel.com/en-us/node/693069

This has changed 2x since I started this project.  Is there a way to get a STABLE link?  I imagine that much of this documentation is filled with broken links (since MSDN breaks them constantly), but don't really want to add to it.

> oren_ben_simhon wrote in TargetInfo.cpp:3352
> According to the ABI, there are 12 free int regs for windows and 11 free int regs for non-windows (linux, OSX, etc). Is that taken into account somewhere?

Yes.  There are separate ABIInfo types for windows.

> oren_ben_simhon wrote in TargetInfo.cpp:3732
> Maybe i misinterpret the comment, but AFAIK, RegCall gives us 16 SSE registers for each (return values and passed arguments)

I'd misread that in the spec and Ried corrected my implementation below.  Updating the comment.

> oren_ben_simhon wrote in regcall.c:26
> I see that expended structures don't get InReg attribute. IMHO, If you know that the value should be saved in register then you InReg attribute should be added.

I am not sure that is the case.  That behavior doesn't happen in vectorcall seemingly.

https://reviews.llvm.org/D25204





More information about the cfe-commits mailing list