[PATCH] D21885: RegScavenging: Add scavengeRegisterBackwards()

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 29 20:18:29 PDT 2016


MatzeB created this revision.
MatzeB added reviewers: qcolombet, hfinkel.
MatzeB added a subscriber: llvm-commits.
MatzeB set the repository for this revision to rL LLVM.
Herald added a reviewer: tstellarAMD.
Herald added subscribers: nemanjai, mcrosier, dsanders, qcolombet.

This is a variant of scavengeRegister() that works for
enterBasicBlockEnd()/backward(). The benefit of the backward mode is
that it is not affected by incomplete kill flags.

This patch also changes
PrologEpilogInserter::doScavengeFrameVirtualRegs() to use the register
scavenger in backwards mode.

This patch is a big step towards being independent of kill flags.

Repository:
  rL LLVM

http://reviews.llvm.org/D21885

Files:
  include/llvm/CodeGen/RegisterScavenging.h
  lib/CodeGen/PrologEpilogInserter.cpp
  lib/CodeGen/RegisterScavenging.cpp
  test/CodeGen/AMDGPU/captured-frame-index.ll
  test/CodeGen/Mips/emergency-spill-slot-near-fp.ll
  test/CodeGen/PowerPC/dyn-alloca-aligned.ll
  test/CodeGen/SystemZ/frame-13.ll
  test/CodeGen/SystemZ/frame-14.ll
  test/CodeGen/SystemZ/frame-15.ll
  test/CodeGen/SystemZ/frame-16.ll
  test/CodeGen/Thumb/large-stack.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21885.62334.patch
Type: text/x-patch
Size: 25770 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160630/581159c6/attachment-0001.bin>


More information about the llvm-commits mailing list