[PATCH] D104659: [ARM] Limit v6m unrolling with multiple live outs

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 21 11:12:37 PDT 2021


dmgreen created this revision.
dmgreen added reviewers: SjoerdMeijer, samtebbs, NickGuy.
Herald added subscribers: danielkiss, zzheng, hiraditya, kristof.beyls.
dmgreen requested review of this revision.
Herald added a project: LLVM.

v6m cores only have a limited number of registers available. Unrolling can mean we spend more on stack spills and reloads than we save from the unrolling. This patch adds an extra heuristic to puts a limit on unroll count for loops with multiple live out values, as measured from the LCSSA phi nodes.


https://reviews.llvm.org/D104659

Files:
  llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
  llvm/test/Transforms/LoopUnroll/ARM/v6munroll.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D104659.353423.patch
Type: text/x-patch
Size: 5522 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210621/a4f0476e/attachment.bin>


More information about the llvm-commits mailing list