From: Stuart Hastings Date: Thu, 28 Apr 2011 18:16:06 +0000 (+0000) Subject: Replace SmallVector with an array, as suggested by Frits van Bommel. rdar://problem... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b7f62d01369c2a6e4af5dd2a76052ae65892161d;p=clang Replace SmallVector with an array, as suggested by Frits van Bommel. rdar://problem/7662569 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130417 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/TargetInfo.cpp b/lib/CodeGen/TargetInfo.cpp index ee959198d9..ee49f75dc2 100644 --- a/lib/CodeGen/TargetInfo.cpp +++ b/lib/CodeGen/TargetInfo.cpp @@ -2347,14 +2347,7 @@ ABIArgInfo ARMABIInfo::classifyArgumentType(QualType Ty) const { if (getContext().getTypeSizeInChars(Ty) <= CharUnits::fromQuantity(32)) { ElemTy = llvm::Type::getInt32Ty(getVMContext()); SizeRegs = (getContext().getTypeSize(Ty) + 31) / 32; - llvm::SmallVector LLVMFields; - LLVMFields.push_back(llvm::ArrayType::get(ElemTy, SizeRegs)); - const llvm::Type* STy = llvm::StructType::get(getVMContext(), LLVMFields, - true); - return ABIArgInfo::getDirect(STy); - } - - if (getABIKind() == ARMABIInfo::APCS) { + } else if (getABIKind() == ARMABIInfo::APCS) { // Initial ARM ByVal support is APCS-only. return ABIArgInfo::getIndirect(0, /*ByVal=*/true); } else { @@ -2363,12 +2356,12 @@ ABIArgInfo ARMABIInfo::classifyArgumentType(QualType Ty) const { // byval. ElemTy = llvm::Type::getInt64Ty(getVMContext()); SizeRegs = (getContext().getTypeSize(Ty) + 63) / 64; - llvm::SmallVector LLVMFields; - LLVMFields.push_back(llvm::ArrayType::get(ElemTy, SizeRegs)); - const llvm::Type* STy = llvm::StructType::get(getVMContext(), LLVMFields, - true); - return ABIArgInfo::getDirect(STy); } + + const llvm::Type* LLVMField[1] = { llvm::ArrayType::get(ElemTy, SizeRegs) }; + const llvm::Type* STy = llvm::StructType::get(getVMContext(), LLVMField, + true); + return ABIArgInfo::getDirect(STy); } static bool isIntegerLikeType(QualType Ty, ASTContext &Context,