This fixes three issues related to Thumb literal loads:
authorMihai Popa <mihail.popa@gmail.com>
Thu, 15 Aug 2013 15:43:06 +0000 (15:43 +0000)
committerMihai Popa <mihail.popa@gmail.com>
Thu, 15 Aug 2013 15:43:06 +0000 (15:43 +0000)
commitd79f00ba68310dc12b50cc53c9b58a062205f0de
tree8da51a46357019d3c65e9d4e291dc94f708e18f5
parent16b4ff5c4dba74988d8b72050f988a5e152a32fc
This fixes three issues related to Thumb literal loads:

1. The offset range for Thumb1 PC relative loads is [0..1020] and not [-1024..1020]
2. Thumb2 PC relative loads may define the PC, so the restriction placed on target register is removed
3. Removes unneeded alias between "ldr.n" and t1LDRpci. ".n" is actually stripped by both tablegen
and the ASM parser, so this alias rule really does nothing

llvm-svn: 188466
llvm/lib/Target/ARM/ARMInstrThumb.td
llvm/lib/Target/ARM/ARMInstrThumb2.td
llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
llvm/test/MC/ARM/basic-thumb2-instructions.s
llvm/test/MC/ARM/thumb-diagnostics.s