[PATCH] D70680: [ARM][Thumb2] Fix ADD/SUB invalid writes to SP

Diogo N. Sampaio via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 8 02:29:37 PST 2020


dnsampaio updated this revision to Diff 236784.
dnsampaio marked 2 inline comments as done.
dnsampaio added a comment.

Requested fixes:

- Removed unreachable patterns
- Added `v8` and `v7` tests showing different decoder behavior of `adr.w` writting to `sp` ( and fixed the code by rejecting softfail )
- Added comment that `adr.w` with negative zero offset is decoded as `subw .. pc, 0`


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70680/new/

https://reviews.llvm.org/D70680

Files:
  llvm/lib/Target/ARM/ARMAsmPrinter.cpp
  llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
  llvm/lib/Target/ARM/ARMInstrThumb2.td
  llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
  llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
  llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
  llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
  llvm/test/CodeGen/ARM/GlobalISel/thumb-select-arithmetic-ops.mir
  llvm/test/CodeGen/ARM/GlobalISel/thumb-select-load-store.mir
  llvm/test/CodeGen/MIR/ARM/thumb2-sub-sp-t3.mir
  llvm/test/CodeGen/Thumb2/bug-subw.ll
  llvm/test/CodeGen/Thumb2/fp16-stacksplot.mir
  llvm/test/CodeGen/Thumb2/mve-stacksplot.mir
  llvm/test/CodeGen/Thumb2/peephole-addsub.mir
  llvm/test/CodeGen/Thumb2/peephole-cmp.mir
  llvm/test/MC/ARM/basic-thumb2-instructions.s
  llvm/test/MC/ARM/invalid-addsub.s
  llvm/test/MC/ARM/negative-immediates.s
  llvm/test/MC/ARM/register-token-source-loc.s
  llvm/test/MC/ARM/thumb-diagnostics.s
  llvm/test/MC/Disassembler/ARM/invalid-thumbv7.txt
  llvm/test/MC/Disassembler/ARM/thumb-tests.txt
  llvm/test/MC/Disassembler/ARM/thumb2-v8.txt
  llvm/test/MC/Disassembler/ARM/thumb2.txt

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70680.236784.patch
Type: text/x-patch
Size: 62814 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200108/90656409/attachment.bin>


More information about the llvm-commits mailing list