[clang] added regcall struct by reg support (PR #95257)
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 24 09:55:26 PDT 2024
AaronBallman wrote:
> I don't have any context beyond what's written on https://reviews.llvm.org/D25204 . And at this point, I'm not sure what compiler we're trying to be compatible with. (I added @erichkeane in case he remembers.)
The original feature was written for compatibility with ICC and the fixes are also for compatibility with ICC.
> Do you know why currently clang does not do that ? is there different version of regcall spec it follows?
I suspect this was an oversight, but @erichkeane may recall more specific details (note, he's out on leave until Sept, so I don't expect to hear back from him any time soon). AFAIK, the spec you linked is the correct one for us to follow.
> Also if we add new regcall struct implementation, would that break binaries across clang version?
It would be an ABI break because we'd start passing structures differently. However, we have ABI tags; we can implement the new functionality under an ABI tag so users can get the old ABI still if they need to (search for `AbiTagAttr` to see examples of how we do this elsewhere and how we test for it).
https://github.com/llvm/llvm-project/pull/95257
More information about the cfe-commits
mailing list