This adds range checking for "ldr Rn, [pc, #imm]" Thumb
authorMihai Popa <mihail.popa@gmail.com>
Mon, 22 Jul 2013 15:49:36 +0000 (15:49 +0000)
committerMihai Popa <mihail.popa@gmail.com>
Mon, 22 Jul 2013 15:49:36 +0000 (15:49 +0000)
commit02265382929b0275d7b7b334eab5e2fd34e1b9fe
tree8b5f44a1534ebd36295ebcc9b5892373acc58dfb
parent51392a079e3285303fe815672b3db6b4cf903231
This adds range checking for "ldr Rn, [pc, #imm]" Thumb
instructions. With this patch:

1. ldr.n is recognized as mnemonic for the short encoding
2. ldr.w is recognized as menmonic for the long encoding
3. ldr will map to either short or long encodings depending on the size of the offset

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186831 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMInstrThumb.td
lib/Target/ARM/ARMInstrThumb2.td
lib/Target/ARM/AsmParser/ARMAsmParser.cpp
lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
test/CodeGen/ARM/fast-isel-pic.ll
test/CodeGen/ARM/indirectbr.ll
test/CodeGen/ARM/load-global.ll
test/CodeGen/ARM/machine-licm.ll
test/CodeGen/Thumb/large-stack.ll
test/MC/ARM/basic-thumb2-instructions.s