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)
commit8a9da5b00cf79882b8b272a3933e79dd4a478b19
treeff34a92524cf1ee564882f4bc1168b76e9ff1be0
parent623c3d84898c81e4525ff0b9715233abd7c3bc14
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

llvm-svn: 186831
llvm/lib/Target/ARM/ARMInstrThumb.td
llvm/lib/Target/ARM/ARMInstrThumb2.td
llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
llvm/test/CodeGen/ARM/fast-isel-pic.ll
llvm/test/CodeGen/ARM/indirectbr.ll
llvm/test/CodeGen/ARM/load-global.ll
llvm/test/CodeGen/ARM/machine-licm.ll
llvm/test/CodeGen/Thumb/large-stack.ll
llvm/test/MC/ARM/basic-thumb2-instructions.s