Index: lib/Target/X86/X86RegisterInfo.cpp =================================================================== --- lib/Target/X86/X86RegisterInfo.cpp +++ lib/Target/X86/X86RegisterInfo.cpp @@ -236,10 +236,7 @@ return CSR_64_AllRegs_AVX_SaveList; return CSR_64_AllRegs_SaveList; case CallingConv::Explicit: - if (Is64Bit) - return CSR_64_Explicit_SaveList; - else - return CSR_32_Explicit_SaveList; + return getExplicitCCNoclobberList(MF); case CallingConv::PreserveMost: return CSR_64_RT_MostRegs_SaveList; case CallingConv::PreserveAll: @@ -301,10 +298,7 @@ return CSR_64_AllRegs_AVX_RegMask; return CSR_64_AllRegs_RegMask; case CallingConv::Explicit: - if (Is64Bit) - return CSR_64_Explicit_RegMask; - else - return CSR_32_Explicit_RegMask; + llvm_unreachable("Use getExplicitCallPreservedMask()"); case CallingConv::PreserveMost: return CSR_64_RT_MostRegs_RegMask; case CallingConv::PreserveAll: