From: Stuart Hastings Date: Thu, 28 Apr 2011 21:35:59 +0000 (+0000) Subject: Raise ARM byval minimum size from 32 to 64, addressing a performance X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a1dadc9874992fdb5a9a721bec6cf1b9f0e90fed;p=clang Raise ARM byval minimum size from 32 to 64, addressing a performance regression in mason. rdar://problem/7662569 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130444 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/TargetInfo.cpp b/lib/CodeGen/TargetInfo.cpp index aa48cb2eeb..bc2472cebb 100644 --- a/lib/CodeGen/TargetInfo.cpp +++ b/lib/CodeGen/TargetInfo.cpp @@ -2344,7 +2344,7 @@ ABIArgInfo ARMABIInfo::classifyArgumentType(QualType Ty) const { // FIXME: This doesn't handle alignment > 64 bits. const llvm::Type* ElemTy; unsigned SizeRegs; - if (getContext().getTypeSizeInChars(Ty) <= CharUnits::fromQuantity(32)) { + if (getContext().getTypeSizeInChars(Ty) <= CharUnits::fromQuantity(64)) { ElemTy = llvm::Type::getInt32Ty(getVMContext()); SizeRegs = (getContext().getTypeSize(Ty) + 31) / 32; } else if (getABIKind() == ARMABIInfo::APCS) {