summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86RegisterInfo.cpp
diff options
context:
space:
mode:
authorJuergen Ributzka <juergen@apple.com>2013-12-14 06:52:59 +0000
committerJuergen Ributzka <juergen@apple.com>2013-12-14 06:52:59 +0000
commitcdeccb0c224f8c5863ef769c582b2f7c3cbb043c (patch)
tree4103ac58fae86188121d4bed2f5255b7181461ad /lib/Target/X86/X86RegisterInfo.cpp
parent57c38e3faa02d660ea09e88c8aa34d6fe1cccb88 (diff)
downloadllvm-cdeccb0c224f8c5863ef769c582b2f7c3cbb043c.tar.gz
llvm-cdeccb0c224f8c5863ef769c582b2f7c3cbb043c.tar.bz2
llvm-cdeccb0c224f8c5863ef769c582b2f7c3cbb043c.tar.xz
[Stackmap] Only the AnyReg calling convention should preserve all registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197316 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86RegisterInfo.cpp')
-rw-r--r--lib/Target/X86/X86RegisterInfo.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp
index e6cd59397c..bdaf4ef58f 100644
--- a/lib/Target/X86/X86RegisterInfo.cpp
+++ b/lib/Target/X86/X86RegisterInfo.cpp
@@ -239,10 +239,8 @@ X86RegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const {
case CallingConv::HiPE:
return CSR_NoRegs_SaveList;
- case CallingConv::WebKit_JS:
- return CSR_64_SaveList;
case CallingConv::AnyReg:
- return CSR_MostRegs_64_SaveList;
+ return CSR_AllRegs_64_SaveList;
case CallingConv::Intel_OCL_BI: {
bool HasAVX = TM.getSubtarget<X86Subtarget>().hasAVX();
@@ -301,8 +299,8 @@ X86RegisterInfo::getCallPreservedMask(CallingConv::ID CC) const {
}
if (CC == CallingConv::GHC || CC == CallingConv::HiPE)
return CSR_NoRegs_RegMask;
- if (CC == CallingConv::WebKit_JS || CC == CallingConv::AnyReg)
- return CSR_MostRegs_64_RegMask;
+ if (CC == CallingConv::AnyReg)
+ return CSR_AllRegs_64_RegMask;
if (!Is64Bit)
return CSR_32_RegMask;
if (CC == CallingConv::Cold)