[SystemZ][z/OS] z/OS ADA codegen and emission
authorYusra Syeda <yusra.syeda@ibm.com>
Wed, 5 Jul 2023 17:21:52 +0000 (13:21 -0400)
committerYusra Syeda <yusra.syeda@ibm.com>
Wed, 5 Jul 2023 17:21:52 +0000 (13:21 -0400)
commit163aad6bcbff6ee2935e24945ddef9719142aff0
treed0e0652f99415a29997196abc645caa16e9b7cec
parente1cb5924cb31b5fd40197444edb17d757408e8ba
[SystemZ][z/OS] z/OS ADA codegen and emission

This patch adds support for the ADA (associated data area), doing the following:

-Creates the ADA table to handle displacements
-Emits the ADA section in the SystemZAsmPrinter
-Lowers the ADA_ENTRY node into the appropriate load instruction

Differential Revision: https://reviews.llvm.org/D153788
20 files changed:
llvm/include/llvm/MC/MCObjectFileInfo.h
llvm/lib/MC/MCObjectFileInfo.cpp
llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp [new file with mode: 0644]
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h [new file with mode: 0644]
llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
llvm/lib/Target/SystemZ/SystemZISelLowering.h
llvm/lib/Target/SystemZ/SystemZInstrInfo.h
llvm/lib/Target/SystemZ/SystemZInstrInfo.td
llvm/lib/Target/SystemZ/SystemZMachineFunctionInfo.h
llvm/lib/Target/SystemZ/SystemZOperators.td
llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
llvm/lib/Target/SystemZ/SystemZSubtarget.cpp
llvm/lib/Target/SystemZ/SystemZSubtarget.h
llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll [new file with mode: 0644]
llvm/test/CodeGen/SystemZ/zos-ada.ll [new file with mode: 0644]
llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll