[PATCH] D74037: [ARM][LowOverheadLoops] Fix loop count chain

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 5 03:42:21 PST 2020


samparker created this revision.
samparker added reviewers: dmgreen, SjoerdMeijer.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: LLVM.

Checking that the use-def chain that performs the loop count isSafeToRemove is not sufficient because it means that we can remove register copies that we need to restore lr to its correct value. This change now prevents the transform from kicking in for the 'remove-elem-moves' test which needs to addressed later on.


https://reviews.llvm.org/D74037

Files:
  llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-chain.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-prev-iteration.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-liveout.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/remove-elem-moves.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74037.242548.patch
Type: text/x-patch
Size: 87575 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200205/615f45bf/attachment-0001.bin>


More information about the llvm-commits mailing list