diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2009-09-28 07:26:46 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2009-09-28 07:26:46 +0000 |
commit | b0d8d781380cb2ea94692d25533f3bd04fd78dce (patch) | |
tree | 9604ac279bc7ee9366d11971f2805ff2b0e63342 | |
parent | 3ddfb21306831c96791505c2e8e727923010354f (diff) |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82975 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/ARM/ARMInstrInfo.cpp | 2 | ||||
-rw-r--r-- | lib/Target/ARM/ARMInstrInfo.td | 3 |
2 files changed, 1 insertions, 4 deletions
diff --git a/lib/Target/ARM/ARMInstrInfo.cpp b/lib/Target/ARM/ARMInstrInfo.cpp index 15c3c393c3..2ab355b190 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 0e9e67709d..4bc62733d6 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", |