[PATCH] D72714: [ARM][MVE] Tail-Predication: rematerialise iteration count in exit blocks

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 15 07:16:52 PST 2020


SjoerdMeijer updated this revision to Diff 238250.
SjoerdMeijer retitled this revision from "[ARM][MVE] WIP: Tail-Predication: rematerialise iteration count in exit blocks" to "[ARM][MVE] Tail-Predication: rematerialise iteration count in exit blocks".
SjoerdMeijer edited the summary of this revision.
SjoerdMeijer added a comment.

I have removed WIP and TODO from the patch subject/description, as this revision now demonstrates I think what this patch should be doing:

- I have removed `LoopPass` from this, as this indeed causes a few more passes to run, which we don't need, and causes (unrelated) changes elsewhere. Now, the only test changes are in the LowOverheadLoop tests, which is what we want.
- I use `formLCSSA()` to transform the loop into LCSSA form if it isn't.

This gives you a change to already look at the codegen changes and differences, while I will probably need to add some more opt tail-predication tests for this. The codegen changes demonstrate the benefit from moving loop update instruction out of the loop, at the cost of setting up the count in the preheader.


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

https://reviews.llvm.org/D72714

Files:
  llvm/lib/Target/ARM/MVETailPredication.cpp
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-vector-reduce-mve-codegen.ll
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/nested.ll
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-arith-codegen.ll
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-reduce-mve-tail.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D72714.238250.patch
Type: text/x-patch
Size: 27987 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200115/08c467a6/attachment.bin>


More information about the llvm-commits mailing list