[all-commits] [llvm/llvm-project] 8cfc08: [ARM] Limit v6m unrolling with multiple live outs

David Green via All-commits all-commits at lists.llvm.org
Wed Jun 23 08:36:55 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8cfc08013299d873edd364436aa78e7effb28dd4
      https://github.com/llvm/llvm-project/commit/8cfc08013299d873edd364436aa78e7effb28dd4
  Author: David Green <david.green at arm.com>
  Date:   2021-06-23 (Wed, 23 Jun 2021)

  Changed paths:
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    A llvm/test/Transforms/LoopUnroll/ARM/v6munroll.ll

  Log Message:
  -----------
  [ARM] Limit v6m unrolling with multiple live outs

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 put a limit on the
unroll count for loops with multiple live out values, as measured from
the LCSSA phi nodes.

Differential Revision: https://reviews.llvm.org/D104659




More information about the All-commits mailing list