diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-10-27 23:12:14 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-10-27 23:12:14 +0000 |
commit | 338de3ee561aeefec99255b8be55907d04a5c47b (patch) | |
tree | 87a7bfa996a073bf444a56c7b67c7e385a2cc2d7 /llvm/lib/Target/ARM/ARMCodeEmitter.cpp | |
parent | 03b99365e3f32f9aee00d1f69f72a7e0c2e3a94c (diff) | |
download | bcm5719-llvm-338de3ee561aeefec99255b8be55907d04a5c47b.tar.gz bcm5719-llvm-338de3ee561aeefec99255b8be55907d04a5c47b.zip |
Refactor ARM STR/STRB instruction patterns into STR{B}i12 and STR{B}rs, like
the LDR instructions have. This makes the literal/register forms of the
instructions explicit and allows us to assign scheduling itineraries
appropriately. rdar://8477752
llvm-svn: 117505
Diffstat (limited to 'llvm/lib/Target/ARM/ARMCodeEmitter.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/ARMCodeEmitter.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMCodeEmitter.cpp b/llvm/lib/Target/ARM/ARMCodeEmitter.cpp index 1fb99fe5b0d..fa11a483221 100644 --- a/llvm/lib/Target/ARM/ARMCodeEmitter.cpp +++ b/llvm/lib/Target/ARM/ARMCodeEmitter.cpp @@ -966,8 +966,9 @@ void ARMCodeEmitter::emitLoadStoreInstruction(const MachineInstr &MI, // Part of binary is determined by TableGn. unsigned Binary = getBinaryCodeForInstr(MI); - // If this is an LDRi12 or LDRcp, nothing more needs be done. - if (MI.getOpcode() == ARM::LDRi12 || MI.getOpcode() == ARM::LDRcp) { + // If this is an LDRi12, STRi12 or LDRcp, nothing more needs be done. + if (MI.getOpcode() == ARM::LDRi12 || MI.getOpcode() == ARM::LDRcp || + MI.getOpcode() == ARM::STRi12) { emitWordLE(Binary); return; } |