LiveRegUnits: Add accumulateBackward() function
authorMatthias Braun <matze@braunis.de>
Sat, 21 Jan 2017 02:21:04 +0000 (02:21 +0000)
committerMatthias Braun <matze@braunis.de>
Sat, 21 Jan 2017 02:21:04 +0000 (02:21 +0000)
commit28eae8f4e0fa4f5b7329a1255c2cf61b88901f33
treeb0dd42016c313dc7546ee3cbaa90dc1bafc88753
parentdd511b48404484cc7a546b0cbeb34dec778a7a23
LiveRegUnits: Add accumulateBackward() function

Re-Commit r292543 with a fix for the situation when the chain end is
MBB.end().

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

Use this code in AArch64A57FPLoadBalancing::scavengeRegister() to prove
the concept.

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

Differential Revision: http://reviews.llvm.org/D22082

llvm-svn: 292705
llvm/include/llvm/CodeGen/LiveRegUnits.h
llvm/lib/CodeGen/LiveRegUnits.cpp
llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp