[PATCH] D22082: LiveRegUnits: Add accumulateBackward() function

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 6 19:21:41 PDT 2016


MatzeB created this revision.
MatzeB added reviewers: qcolombet, t.p.northover, jmolloy.
MatzeB added a subscriber: llvm-commits.
MatzeB set the repository for this revision to rL LLVM.
Herald added subscribers: nemanjai, mcrosier, qcolombet, aemerson.

This function can be used to accumulate the set of all read and modified
register in a sequence of instructions.

Use this code in RegisterScavenging.cpp:findSurvivorBackwards() and
AArch64A57FPLoadBalancing::scavengeRegister():

- The register scavenging code is a bit more efficient since we avoid
  needless transformation of a register unit live set into a register
  live set.

- The behaviour of findSurvivorBackwards() is slightly changed: In case
  of multiple possibilities the first register in the register class
  instead of the one with the smallest number is picked.

- The AArch64A57LoadBalancing code is using a backwards analysis now
  which is irrespective of kill flags. This is the main motivation for
  this change.

Repository:
  rL LLVM

http://reviews.llvm.org/D22082

Files:
  include/llvm/CodeGen/LiveRegUnits.h
  lib/CodeGen/LiveRegUnits.cpp
  lib/CodeGen/RegisterScavenging.cpp
  lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
  test/CodeGen/PowerPC/2010-02-12-saveCR.ll
  test/CodeGen/PowerPC/vsx-spill.ll
  test/CodeGen/PowerPC/vsx.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22082.63015.patch
Type: text/x-patch
Size: 15222 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160707/7778dcd8/attachment.bin>


More information about the llvm-commits mailing list