[llvm] r251298 - [SystemZ] Also clear kill flag for index reg in splitMove().

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 26 08:03:41 PDT 2015


Author: jonpa
Date: Mon Oct 26 10:03:41 2015
New Revision: 251298

URL: http://llvm.org/viewvc/llvm-project?rev=251298&view=rev
Log:
[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).

Modified:
    llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.cpp
    llvm/trunk/test/CodeGen/SystemZ/fp-move-05.ll

Modified: llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.cpp?rev=251298&r1=251297&r2=251298&view=diff
==============================================================================
--- llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.cpp (original)
+++ llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.cpp Mon Oct 26 10:03:41 2015
@@ -69,8 +69,10 @@ void SystemZInstrInfo::splitMove(Machine
   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());

Modified: llvm/trunk/test/CodeGen/SystemZ/fp-move-05.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/SystemZ/fp-move-05.ll?rev=251298&r1=251297&r2=251298&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/SystemZ/fp-move-05.ll (original)
+++ llvm/trunk/test/CodeGen/SystemZ/fp-move-05.ll Mon Oct 26 10:03:41 2015
@@ -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) {




More information about the llvm-commits mailing list