diff options
| author | Jonas Paulsson <jonas.paulsson@ericsson.com> | 2015-10-26 15:03:41 +0000 |
|---|---|---|
| committer | Jonas Paulsson <jonas.paulsson@ericsson.com> | 2015-10-26 15:03:41 +0000 |
| commit | 7da382088251e868a8cb9313c2f8fda58e4b2801 (patch) | |
| tree | 386525e282c5ca052b3200a5bf6903bb33392967 | |
| parent | 9525b2c0c8d037cdb5e13091f193d4b847677a69 (diff) | |
| download | bcm5719-llvm-7da382088251e868a8cb9313c2f8fda58e4b2801.tar.gz bcm5719-llvm-7da382088251e868a8cb9313c2f8fda58e4b2801.zip | |
[SystemZ] Also clear kill flag for index reg in splitMove().
Discovered by running fp-move-05.ll with -verify-machineinstrs (added
to test case run).
llvm-svn: 251298
| -rw-r--r-- | llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp | 4 | ||||
| -rw-r--r-- | llvm/test/CodeGen/SystemZ/fp-move-05.ll | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp b/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp index 5d7accc6c0e..b16c0ad3425 100644 --- a/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp +++ b/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp @@ -69,8 +69,10 @@ void SystemZInstrInfo::splitMove(MachineBasicBlock::iterator MI, MachineOperand &LowOffsetOp = MI->getOperand(2); LowOffsetOp.setImm(LowOffsetOp.getImm() + 8); - // Clear the kill flag for the address reg in the first instruction. + // Clear the kill flags for the base and index registers in the first + // instruction. EarlierMI->getOperand(1).setIsKill(false); + EarlierMI->getOperand(3).setIsKill(false); // Set the opcodes. unsigned HighOpcode = getOpcodeForOffset(NewOpcode, HighOffsetOp.getImm()); diff --git a/llvm/test/CodeGen/SystemZ/fp-move-05.ll b/llvm/test/CodeGen/SystemZ/fp-move-05.ll index da12af6d68c..0864deee513 100644 --- a/llvm/test/CodeGen/SystemZ/fp-move-05.ll +++ b/llvm/test/CodeGen/SystemZ/fp-move-05.ll @@ -1,6 +1,6 @@ ; Test 128-bit floating-point loads. ; -; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s +; RUN: llc < %s -mtriple=s390x-linux-gnu -verify-machineinstrs | FileCheck %s ; Check loads with no offset. define double @f1(i64 %src) { |

