[Target/X86] Don't use callee-saved registers in a Win64 tail call on non-Windows.
authorCharles Davis <cdavis5x@gmail.com>
Thu, 4 Jun 2015 22:50:05 +0000 (22:50 +0000)
committerCharles Davis <cdavis5x@gmail.com>
Thu, 4 Jun 2015 22:50:05 +0000 (22:50 +0000)
commit3e407efb8bfd5211e939822f15509aacb7b26ac6
tree8e92418e87ac9a23f7bb1328be0d10cce15673fe
parent27d60c99f70918d4957d0e186e42b224f4ed1d15
[Target/X86] Don't use callee-saved registers in a Win64 tail call on non-Windows.

Summary:
A small bit that I missed when I updated the X86 backend to account for
the Win64 calling convention on non-Windows. Now we don't use dead
non-volatile registers when emitting a Win64 indirect tail call on
non-Windows.

Should fix PR23710.

Test Plan: Added test for the correct behavior based on the case I posted to PR23710.

Reviewers: rnk

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239111 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86RegisterInfo.cpp
test/CodeGen/X86/sibcall-win64.ll