AArch64FrameLowering: Check if the ExtraCSSpill register is actually unused
authorMatthias Braun <matze@braunis.de>
Fri, 21 Apr 2017 22:42:08 +0000 (22:42 +0000)
committerMatthias Braun <matze@braunis.de>
Fri, 21 Apr 2017 22:42:08 +0000 (22:42 +0000)
commitd78597ec08b9f8ebc7b9ea6627815b05647ec86d
tree83070f00a87697d61a23a30678e3631d740cbf4e
parent81328ac3a5b1bfc24010ab5ada34a5ee8f4a32ae
AArch64FrameLowering: Check if the ExtraCSSpill register is actually unused

The code assumed that when saving an additional CSR register
(ExtraCSSpill==true) we would have a free register throughout the
function. This was not true if this CSR register is also used to pass
values as in the swiftself case.

rdar://31451816

llvm-svn: 301057
llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
llvm/test/CodeGen/AArch64/swiftself-scavenger.ll [new file with mode: 0644]