This is an archive of the discontinued LLVM Phabricator instance.

Swift Calling Convention: swiftcc implementation on ARM
ClosedPublic

Authored by manmanren on Apr 4 2016, 12:24 PM.

Diff Detail

Repository
rL LLVM

Event Timeline

manmanren updated this revision to Diff 52598.Apr 4 2016, 12:24 PM
manmanren retitled this revision from to Swift Calling Convention: swiftcc implementation on ARM.
manmanren updated this object.
manmanren added a reviewer: t.p.northover.
manmanren added subscribers: llvm-commits, rjmccall.

Hi Manman,

I think the testing is too weak if we're going for ABI stability (particularly based on FastCC, which is explicitly called out in the LangRef as unstable and based on APCS). I'd actually strongly suggest Swift starts out with AAPCS_VFP on ARM.

This is now updated to use AAPCS_VFP.

Even with that, I'd suggest testing things like minimum stack slot size, alignment of objects on the stack, whether everything goes on the stack if something has. Probably on both iOS and WatchOS because I suspect those details differ based on type alignment.

Do the testings for WatchOS already exist? If yes, can you point me which file so it will be easier for me to add coverage for iOS?
For Swift on WatchOS, we are using the same convention as C/C++, so I don't quite get what extra testings we would like to include for Swift.

Thanks,
Manman

t.p.northover accepted this revision.Apr 5 2016, 12:53 PM
t.p.northover edited edge metadata.

Looks good to me. Thanks Manman!

Tim.

This revision is now accepted and ready to land.Apr 5 2016, 12:53 PM
This revision was automatically updated to reflect the committed changes.