diff options
author | Anirudh Prasad <anirudh_prasad@hotmail.com> | 2021-10-21 09:48:21 -0400 |
---|---|---|
committer | Anirudh Prasad <anirudh_prasad@hotmail.com> | 2021-10-21 09:48:59 -0400 |
commit | aa3519f178fc6ea563f950a4077b34d8dc6c4470 (patch) | |
tree | c8a745addc954fef98664ecfa5a08b54988ff1f7 /llvm/lib/Target/TargetMachine.cpp | |
parent | d2198771e9ccbae27a487cdca67720eee71cea2a (diff) | |
download | llvm-aa3519f178fc6ea563f950a4077b34d8dc6c4470.zip llvm-aa3519f178fc6ea563f950a4077b34d8dc6c4470.tar.gz llvm-aa3519f178fc6ea563f950a4077b34d8dc6c4470.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/Target/TargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/TargetMachine.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/TargetMachine.cpp b/llvm/lib/Target/TargetMachine.cpp index 08295df..390457d 100644 --- a/llvm/lib/Target/TargetMachine.cpp +++ b/llvm/lib/Target/TargetMachine.cpp @@ -135,6 +135,9 @@ bool TargetMachine::shouldAssumeDSOLocal(const Module &M, return true; } + if (TT.isOSBinFormatGOFF()) + return true; + if (TT.isOSBinFormatMachO()) { if (RM == Reloc::Static) return true; |