[SystemZ] Fixes in the backend I/R.
[oota-llvm.git] / lib / Target / SystemZ / SystemZInstrInfo.cpp
index a319e1c6aa8f7be4f2ba234c81c20f97f57b3ea5..5d7accc6c0ecbd91657557a5d760a75f8116c09a 100644 (file)
@@ -69,6 +69,9 @@ 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.
+  EarlierMI->getOperand(1).setIsKill(false);
+
   // Set the opcodes.
   unsigned HighOpcode = getOpcodeForOffset(NewOpcode, HighOffsetOp.getImm());
   unsigned LowOpcode = getOpcodeForOffset(NewOpcode, LowOffsetOp.getImm());