[PATCH] D65803: [MVE] Don't try to unroll vectorised MVE loops
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 6 06:07:13 PDT 2019
dmgreen created this revision.
dmgreen added reviewers: t.p.northover, samparker, SjoerdMeijer, simon_tatham, ostannard.
Herald added subscribers: zzheng, hiraditya, javed.absar.
Herald added a project: LLVM.
Due to the nature of the beat system in an MVE pipeline, with tail predication and low-overhead loops, unrolling has less benefit compared to normal loops. You can not, for example, hide the latency of a load with other instructions as you can for scalar code. Not unrolling also makes the code easier to read and reason about.
So if a loop has already been vectorised, don't enable the runtime unrolling. At least for the time being.
https://reviews.llvm.org/D65803
Files:
llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
llvm/test/Transforms/LoopUnroll/ARM/mve-nounroll.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65803.213591.patch
Type: text/x-patch
Size: 7197 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190806/beee839e/attachment.bin>
More information about the llvm-commits
mailing list