aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/TargetMachine.cpp
diff options
context:
space:
mode:
authorAnirudh Prasad <anirudh_prasad@hotmail.com>2021-10-21 09:48:21 -0400
committerAnirudh Prasad <anirudh_prasad@hotmail.com>2021-10-21 09:48:59 -0400
commitaa3519f178fc6ea563f950a4077b34d8dc6c4470 (patch)
treec8a745addc954fef98664ecfa5a08b54988ff1f7 /llvm/lib/Target/TargetMachine.cpp
parentd2198771e9ccbae27a487cdca67720eee71cea2a (diff)
downloadllvm-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.cpp3
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;