Index: lib/CodeGen/ABIInfo.h =================================================================== --- lib/CodeGen/ABIInfo.h +++ lib/CodeGen/ABIInfo.h @@ -53,12 +53,9 @@ CodeGen::CodeGenTypes &CGT; protected: llvm::CallingConv::ID RuntimeCC; - llvm::CallingConv::ID BuiltinCC; public: ABIInfo(CodeGen::CodeGenTypes &cgt) - : CGT(cgt), - RuntimeCC(llvm::CallingConv::C), - BuiltinCC(llvm::CallingConv::C) {} + : CGT(cgt), RuntimeCC(llvm::CallingConv::C) {} virtual ~ABIInfo(); @@ -77,11 +74,6 @@ return RuntimeCC; } - /// Return the calling convention to use for compiler builtins - llvm::CallingConv::ID getBuiltinCC() const { - return BuiltinCC; - } - virtual void computeInfo(CodeGen::CGFunctionInfo &FI) const = 0; /// EmitVAArg - Emit the target dependent code to load a value of Index: lib/CodeGen/CGExprComplex.cpp =================================================================== --- lib/CodeGen/CGExprComplex.cpp +++ lib/CodeGen/CGExprComplex.cpp @@ -629,7 +629,7 @@ llvm::Instruction *Call; RValue Res = CGF.EmitCall(FuncInfo, Callee, ReturnValueSlot(), Args, &Call); - cast(Call)->setCallingConv(CGF.CGM.getBuiltinCC()); + cast(Call)->setCallingConv(CGF.CGM.getRuntimeCC()); return Res.getComplexVal(); } Index: lib/CodeGen/CodeGenModule.cpp =================================================================== --- lib/CodeGen/CodeGenModule.cpp +++ lib/CodeGen/CodeGenModule.cpp @@ -123,7 +123,6 @@ ASTAllocaAddressSpace = getTargetCodeGenInfo().getASTAllocaAddressSpace(); RuntimeCC = getTargetCodeGenInfo().getABIInfo().getRuntimeCC(); - BuiltinCC = getTargetCodeGenInfo().getABIInfo().getBuiltinCC(); if (LangOpts.ObjC1) createObjCRuntime(); @@ -2646,7 +2645,7 @@ /*DontDefer=*/false, /*IsThunk=*/false, ExtraAttrs); if (auto *F = dyn_cast(C)) if (F->empty()) - F->setCallingConv(getBuiltinCC()); + F->setCallingConv(getRuntimeCC()); return C; } Index: lib/CodeGen/CodeGenTypeCache.h =================================================================== --- lib/CodeGen/CodeGenTypeCache.h +++ lib/CodeGen/CodeGenTypeCache.h @@ -112,8 +112,6 @@ llvm::CallingConv::ID RuntimeCC; llvm::CallingConv::ID getRuntimeCC() const { return RuntimeCC; } - llvm::CallingConv::ID BuiltinCC; - llvm::CallingConv::ID getBuiltinCC() const { return BuiltinCC; } LangAS getASTAllocaAddressSpace() const { return ASTAllocaAddressSpace; } }; Index: lib/CodeGen/TargetInfo.cpp =================================================================== --- lib/CodeGen/TargetInfo.cpp +++ lib/CodeGen/TargetInfo.cpp @@ -5690,18 +5690,6 @@ llvm::CallingConv::ID abiCC = getABIDefaultCC(); if (abiCC != getLLVMDefaultCC()) RuntimeCC = abiCC; - - // AAPCS apparently requires runtime support functions to be soft-float, but - // that's almost certainly for historic reasons (Thumb1 not supporting VFP - // most likely). It's more convenient for AAPCS16_VFP to be hard-float. - - // The Run-time ABI for the ARM Architecture section 4.1.2 requires - // AEABI-complying FP helper functions to use the base AAPCS. - // These AEABI functions are expanded in the ARM llvm backend, all the builtin - // support functions emitted by clang such as the _Complex helpers follow the - // abiCC. - if (abiCC != getLLVMDefaultCC()) - BuiltinCC = abiCC; } ABIArgInfo ARMABIInfo::classifyArgumentType(QualType Ty,