This is an archive of the discontinued LLVM Phabricator instance.

[SystemZ][z/OS] Initial implementation for lowerCall on z/OS
ClosedPublic

Authored by anirudhp on Oct 12 2021, 10:53 AM.

Details

Summary
  • This patch provides the initial implementation for lowering a call on z/OS according to the XPLINK64 calling convention
  • A series of changes have been made to SystemZCallingConv.td to account for these additional XPLINK64 changes including adding a new helper function to shadow the stack along with allocation of a register wherever appropriate
  • For the cases of copying a f64 to a gr64 and a f128 / 128-bit vector type to a gr64, a CCBitConvertToType has been added and has been bitcasted appropriately in the lowering phase
  • Support for the ADA register (R5) will be provided in a later patch.

Diff Detail

Event Timeline

anirudhp created this revision.Oct 12 2021, 10:53 AM
anirudhp requested review of this revision.Oct 12 2021, 10:53 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 12 2021, 10:53 AM
uweigand accepted this revision.Oct 13 2021, 5:10 AM

LGTM, thanks!

This revision is now accepted and ready to land.Oct 13 2021, 5:10 AM
anirudhp updated this revision to Diff 379503.Oct 13 2021, 12:53 PM
  • Rebase on latest main