summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2009-09-28 07:26:46 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2009-09-28 07:26:46 +0000
commitc30d816d7a7ff88350904b8be8f20a755e8ee601 (patch)
tree75078d79d0407c487075f42a4e5b9a08c919bb3b /llvm/lib/Target/ARM
parentc5790dfeb4535d417f82e724ae4013a337191c8e (diff)
downloadbcm5719-llvm-c30d816d7a7ff88350904b8be8f20a755e8ee601.tar.gz
bcm5719-llvm-c30d816d7a7ff88350904b8be8f20a755e8ee601.zip
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
Diffstat (limited to 'llvm/lib/Target/ARM')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrInfo.cpp2
-rw-r--r--llvm/lib/Target/ARM/ARMInstrInfo.td3
2 files changed, 1 insertions, 4 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.cpp b/llvm/lib/Target/ARM/ARMInstrInfo.cpp
index 15c3c393c32..2ab355b190d 100644
--- a/llvm/lib/Target/ARM/ARMInstrInfo.cpp
+++ b/llvm/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/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td
index 0e9e67709dd..4bc62733d68 100644
--- a/llvm/lib/Target/ARM/ARMInstrInfo.td
+++ b/llvm/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",
OpenPOWER on IntegriCloud