SuccessChanges

Summary

  1. [SystemZ]  Improve handling of huge PC relative immediate offsets. (details)
Commit 580310ff0c57a62edd0c07aacfa4969809649444 by paulsson
[SystemZ]  Improve handling of huge PC relative immediate offsets.
Demand that an immediate offset to a PC relative address fits in 32
bits, or else load it into a register and perform a separate add.
Verify in the assembler that such immediate offsets fit the bitwidth.
Even though the final address of a Load Address Relative Long may fit in
32 bits even with a >32 bit offset (depending on where the symbol lives
relative to PC), the GNU toolchain demands the offset by itself to be in
range. This patch adapts the same behavior for llvm.
Review: Ulrich Weigand https://reviews.llvm.org/D69749
The file was modifiedllvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was addedllvm/test/CodeGen/SystemZ/la-05.ll
The file was modifiedllvm/test/MC/SystemZ/insn-bad.s