[all-commits] [llvm/llvm-project] aa3519: [SystemZ][z/OS] Initial implementation for lowerCa...

Anirudh Prasad via All-commits all-commits at lists.llvm.org
Thu Oct 21 06:49:13 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: aa3519f178fc6ea563f950a4077b34d8dc6c4470
      https://github.com/llvm/llvm-project/commit/aa3519f178fc6ea563f950a4077b34d8dc6c4470
  Author: Anirudh Prasad <anirudh_prasad at hotmail.com>
  Date:   2021-10-21 (Thu, 21 Oct 2021)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZCallingConv.cpp
    M llvm/lib/Target/SystemZ/SystemZCallingConv.h
    M llvm/lib/Target/SystemZ/SystemZCallingConv.td
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
    M llvm/lib/Target/TargetMachine.cpp
    A llvm/test/CodeGen/SystemZ/call-zos-01.ll
    A llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
    A llvm/test/CodeGen/SystemZ/call-zos-vec.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Initial implementation for lowerCall on z/OS

- 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.

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D111662




More information about the All-commits mailing list