summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMCodeEmitter.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2010-11-12 23:03:38 +0000
committerEvan Cheng <evan.cheng@apple.com>2010-11-12 23:03:38 +0000
commitf478cf9685a25f50fcf1af1889c61e52cea6e35d (patch)
treeb299168ed283a62e7f757752487ffadcf9015d10 /llvm/lib/Target/ARM/ARMCodeEmitter.cpp
parent49a66f7d712a62d51e111823556a39f39002c1a0 (diff)
downloadbcm5719-llvm-f478cf9685a25f50fcf1af1889c61e52cea6e35d.tar.gz
bcm5719-llvm-f478cf9685a25f50fcf1af1889c61e52cea6e35d.zip
Eliminate ARM::MOVi2pieces. Just use MOVi32imm and expand it to either movi+orr or movw+movt depending on the subtarget.
llvm-svn: 118938
Diffstat (limited to 'llvm/lib/Target/ARM/ARMCodeEmitter.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMCodeEmitter.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/Target/ARM/ARMCodeEmitter.cpp b/llvm/lib/Target/ARM/ARMCodeEmitter.cpp
index bc486066d2c..22461c43306 100644
--- a/llvm/lib/Target/ARM/ARMCodeEmitter.cpp
+++ b/llvm/lib/Target/ARM/ARMCodeEmitter.cpp
@@ -805,13 +805,13 @@ void ARMCodeEmitter::emitPseudoInstruction(const MachineInstr &MI) {
}
case ARM::MOVi32imm:
- emitMOVi32immInstruction(MI);
- break;
-
- case ARM::MOVi2pieces:
// Two instructions to materialize a constant.
- emitMOVi2piecesInstruction(MI);
+ if (Subtarget->hasV6T2Ops())
+ emitMOVi32immInstruction(MI);
+ else
+ emitMOVi2piecesInstruction(MI);
break;
+
case ARM::LEApcrelJT:
// Materialize jumptable address.
emitLEApcrelJTInstruction(MI);
OpenPOWER on IntegriCloud