[SystemZ] Support symbolic displacements.
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>
Fri, 5 Nov 2021 17:51:13 +0000 (18:51 +0100)
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>
Mon, 15 Nov 2021 21:46:31 +0000 (16:46 -0500)
commit1c3ef9ef4a4dc84f36e9282b9cd1c7313a3d4a08
tree0143770acb83027ea33b87b840a4eef62f18183f
parent0b17336f793108a7b10c3fa913039144ef1d0f61
[SystemZ] Support symbolic displacements.

This patch adds support for symbolic displacements, e.g. like 'lg %r0,
sym(%r1)', which is done using relocations. This is needed to compile the
kernel without disabling the integrated assembler.

Review: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D113341
13 files changed:
llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.cpp
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.h
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCFixups.h
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
llvm/lib/Target/SystemZ/SystemZInstrInfo.h
llvm/test/MC/SystemZ/fixups-out-of-range.s [new file with mode: 0644]
llvm/test/MC/SystemZ/fixups.s
llvm/test/MC/SystemZ/reloc-absolute.s [new file with mode: 0644]
llvm/test/MC/SystemZ/reloc-directive.s