From 2e54b037418e950f680d3e7cf790b934e4ac3b5d Mon Sep 17 00:00:00 2001 From: Anton Korobeynikov Date: Mon, 28 Sep 2009 07:26:46 +0000 Subject: [PATCH] Fix thinko in my recent movt commit: it's not safe to remat movt, since it has input reg argument. Disable rematting of it for now. llvm-svn: 82975 --- lib/Target/ARM/ARMInstrInfo.cpp | 2 -- lib/Target/ARM/ARMInstrInfo.td | 3 +-- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/Target/ARM/ARMInstrInfo.cpp b/lib/Target/ARM/ARMInstrInfo.cpp index 15c3c393c32..2ab355b190d 100644 --- a/lib/Target/ARM/ARMInstrInfo.cpp +++ b/lib/Target/ARM/ARMInstrInfo.cpp @@ -96,8 +96,6 @@ reMaterialize(MachineBasicBlock &MBB, MachineInstr *MI = MBB.getParent()->CloneMachineInstr(Orig); MI->getOperand(0).setReg(DestReg); - if (Orig->getOpcode() == ARM::MOVTi16) - MI->getOperand(1).setReg(DestReg); MBB.insert(I, MI); } diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td index 0e9e67709dd..4bc62733d68 100644 --- a/lib/Target/ARM/ARMInstrInfo.td +++ b/lib/Target/ARM/ARMInstrInfo.td @@ -938,8 +938,7 @@ def MOVi16 : AI1<0b1000, (outs GPR:$dst), (ins i32imm:$src), let Inst{25} = 1; } -let isReMaterializable = 1, isAsCheapAsAMove = 1, - Constraints = "$src = $dst" in +let isAsCheapAsAMove = 1, Constraints = "$src = $dst" in def MOVTi16 : AI1<0b1010, (outs GPR:$dst), (ins GPR:$src, i32imm:$imm), DPFrm, IIC_iMOVi, "movt", " $dst, $imm",