[all-commits] [llvm/llvm-project] ebef92: [SystemZ] Remove most hard-coded R1D instances for...
Ulrich Weigand via All-commits
all-commits at lists.llvm.org
Tue Dec 15 07:36:42 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: ebef92169ca5a50fb8aeec08f35ccb919311acc1
https://github.com/llvm/llvm-project/commit/ebef92169ca5a50fb8aeec08f35ccb919311acc1
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2020-12-15 (Tue, 15 Dec 2020)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
Log Message:
-----------
[SystemZ] Remove most hard-coded R1D instances for sibcalls
Indirect sibling calls need to use %r1 to hold the target address.
This is currently hard-coded in many places. This is not only
unnecessary, but makes future changes in this area difficult.
This patch now encodes the target address as operand without
hard coding a register in most places throughout the MI back-end.
Code generation still always uses %r1, but this is now decided
solely in one place in SystemZTargetLowering::LowerCall.
NFC intended.
More information about the All-commits
mailing list