From 9e451467217be1325e95eca60bad7924d23e4fe4 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Fri, 17 Dec 2021 16:12:07 +0100 Subject: [CodeGen] Fix element type for sret argument Fix a mistake in 9bf917394eba3ba4df77cc17690c6d04f4e9d57f: sret arguments use ConvertType, not ConvertTypeForMem, see the handling in CodeGenTypes::GetFunctionType(). This fixes fp-matrix-pragma.c on s390x. --- clang/lib/CodeGen/CodeGenFunction.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp') diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp index 91deeb6..4c488bc 100644 --- a/clang/lib/CodeGen/CodeGenFunction.cpp +++ b/clang/lib/CodeGen/CodeGenFunction.cpp @@ -1070,7 +1070,7 @@ void CodeGenFunction::StartFunction(GlobalDecl GD, QualType RetTy, auto AI = CurFn->arg_begin(); if (CurFnInfo->getReturnInfo().isSRetAfterThis()) ++AI; - ReturnValue = Address(&*AI, ConvertTypeForMem(RetTy), + ReturnValue = Address(&*AI, ConvertType(RetTy), CurFnInfo->getReturnInfo().getIndirectAlign()); if (!CurFnInfo->getReturnInfo().getIndirectByVal()) { ReturnValuePointer = -- cgit v1.1