This change adds a support for a preserve_most calling convention to the AArch64 backend, similar to how it was done for X86-64.
There is also a subsequent patch on top of this one to add a tail-calls support for this calling convention.
Paths
| Differential D18016
Add support for a preserve_most calling convention to the AArch64 backend. ClosedPublic Authored by swiftix on Mar 9 2016, 3:17 PM.
Details Summary This change adds a support for a preserve_most calling convention to the AArch64 backend, similar to how it was done for X86-64. There is also a subsequent patch on top of this one to add a tail-calls support for this calling convention.
Diff Detail Event Timelinet.p.northover edited edge metadata. Comment ActionsThanks for updating the patch. Just one issue now as far as I can see (you don't need to upload another revision): you should also test that x15 is saved and restored. Cheers. Tim. This revision is now accepted and ready to land.Mar 9 2016, 3:48 PM Comment Actions Oh, thanks! You are right about x15. I forgot to update the test. Will add this check. Closed by commit rL263092: Add support for a preserve_most calling convention to the AArch64 backend. (authored by swiftix). · Explain WhyMar 9 2016, 8:40 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 50204 lib/Target/AArch64/AArch64CallingConvention.td
lib/Target/AArch64/AArch64FrameLowering.cpp
lib/Target/AArch64/AArch64ISelLowering.cpp
lib/Target/AArch64/AArch64RegisterInfo.cpp
lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/AArch64/preserve_mostcc.ll
test/CodeGen/AArch64/tail-call.ll
|