This is an archive of the discontinued LLVM Phabricator instance.

[Systemz/z/OS] Centralize emitting the call type information
ClosedPublic

Authored by Kai on Feb 11 2022, 9:45 AM.

Details

Summary

With XPLINK, a no-op with information about the call type is emitted
after each call instruction. Centralizing it has the advantage that it is
easy to document all cases, and it makes it easier to extend it later
(e.g. dynamic stack allocation, 32 bit mode).
Also add a test checking the call types emitted so far.

Diff Detail

Event Timeline

Kai created this revision.Feb 11 2022, 9:45 AM
Kai requested review of this revision.Feb 11 2022, 9:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 11 2022, 9:45 AM
uweigand accepted this revision.Feb 14 2022, 5:49 AM

See inline comment. Otherwise this LGTM.

llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
127

Minor nit: this function could use a comment explaining that it is deliberately emitting a NOP instruction that encodes information into the register used, in accordance with the XPLINK ABI.

This revision is now accepted and ready to land.Feb 14 2022, 5:49 AM
This revision was landed with ongoing or failed builds.Feb 14 2022, 9:01 AM
This revision was automatically updated to reflect the committed changes.