diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-11-12 23:03:38 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-11-12 23:03:38 +0000 |
commit | f478cf9685a25f50fcf1af1889c61e52cea6e35d (patch) | |
tree | b299168ed283a62e7f757752487ffadcf9015d10 /llvm/lib/Target/ARM/ARMCodeEmitter.cpp | |
parent | 49a66f7d712a62d51e111823556a39f39002c1a0 (diff) | |
download | bcm5719-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.cpp | 10 |
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); |