[PATCH] D19007: AArch64: Use SplitCSR for callee save registers used for parameters.

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 11 21:41:34 PDT 2016


MatzeB created this revision.
MatzeB added reviewers: qcolombet, manmanren.
MatzeB added a subscriber: llvm-commits.
MatzeB set the repository for this revision to rL LLVM.
Herald added subscribers: mcrosier, rengolin, aemerson.

Callee save parameters that are also used to pass parameter values
should use virtual regs for save/restore to avoid unnecessary spills.

This is done by determining a list of callee saves (the ones handled in
FrameLowering) and SavedViaCopy (register is copied to a vreg so the
register allocator handles saving/restoring).

Related to rdar://25638054

Repository:
  rL LLVM

http://reviews.llvm.org/D19007

Files:
  include/llvm/CodeGen/MachineFunction.h
  lib/Target/AArch64/AArch64ISelLowering.cpp
  lib/Target/AArch64/AArch64MachineFunctionInfo.h
  lib/Target/AArch64/AArch64RegisterInfo.cpp
  lib/Target/AArch64/AArch64RegisterInfo.h
  test/CodeGen/AArch64/swiftself.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19007.53366.patch
Type: text/x-patch
Size: 10295 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160412/2c4ce2fa/attachment.bin>


More information about the llvm-commits mailing list