[PATCH] D65792: [ARM][LowOverheadLoops] Revert after read/write

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 6 02:00:59 PDT 2019


samparker created this revision.
samparker added reviewers: dmgreen, SjoerdMeijer.
Herald added subscribers: kristof.beyls, javed.absar.

Currently we check whether LR is stored/loaded to/from in between the loop decrement and loop end pseudo instructions. There's two problems here:

- It relies on all load/store instructions being labelled as such in tablegen.
- Actually any use of loop decrement is troublesome because the value doesn't exist!

So we need to check for any read/write of LR that occurs between the two instructions and revert if we find anything.


https://reviews.llvm.org/D65792

Files:
  lib/Target/ARM/ARMLowOverheadLoops.cpp
  test/CodeGen/Thumb2/LowOverheadLoops/revert-after-read.mir
  test/CodeGen/Thumb2/LowOverheadLoops/revert-after-write.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65792.213538.patch
Type: text/x-patch
Size: 12237 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190806/3e93d8f0/attachment.bin>


More information about the llvm-commits mailing list