[PATCH] D86087: [ARM] Use mov operand if the mov cannot be moved while tail predicating

Sam Tebbs via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 17 09:14:02 PDT 2020


samtebbs created this revision.
samtebbs added reviewers: samparker, SjoerdMeijer, dmgreen, simon_tatham, olista01, t.p.northover.
Herald added subscribers: llvm-commits, danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.
samtebbs requested review of this revision.

There are some cases where the instruction that sets up the iteration
count for a tail predicated loop cannot be moved before the dlstp,
stopping tail predication entirely. This patch checks if the mov operand
can be used and if so, uses that instead.

Not for review: I am not sure if my approach to overriding getCount()
and adding TPNumElements is
the best possible approach, please give feedback if you can think of a
better one.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D86087

Files:
  llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86087.286041.patch
Type: text/x-patch
Size: 8431 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200817/298e3b68/attachment.bin>


More information about the llvm-commits mailing list