]> granicus.if.org Git - llvm/commit
[SystemZ] Pass regalloc hints to help Load-and-Test transformations.
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>
Wed, 27 Feb 2019 00:18:28 +0000 (00:18 +0000)
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>
Wed, 27 Feb 2019 00:18:28 +0000 (00:18 +0000)
commit96e27952a5fff89f3f21e6d05d8306feffe2376e
tree4c5cd4d36805eb6d4aa91c50f3270a4646b57ca3
parentea0d23504f44faf7153c2288fabd688e0633a828
[SystemZ]  Pass regalloc hints to help Load-and-Test transformations.

Since there is no "Load-and-Test-High" instruction, the 32 bit load of a
register to be compared with 0 can only be implemented with LT if the virtual
GRX32 register ends up in a low part (GR32 register).

This patch detects these cases and passes the GR32 registers (low parts) as
(soft) hints in getRegAllocationHints().

Review: Ulrich Weigand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354935 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/SystemZ/SystemZRegisterInfo.cpp
test/CodeGen/SystemZ/load-and-test-RA-hints.mir [new file with mode: 0644]