]> granicus.if.org Git - clang/commitdiff
Replace SmallVector with an array, as suggested by Frits van Bommel. rdar://problem...
authorStuart Hastings <stuart@apple.com>
Thu, 28 Apr 2011 18:16:06 +0000 (18:16 +0000)
committerStuart Hastings <stuart@apple.com>
Thu, 28 Apr 2011 18:16:06 +0000 (18:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130417 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/TargetInfo.cpp

index ee959198d93ccb539820d56a5a641a3c8c840e44..ee49f75dc2766eaf64a9939da1c94fc5527b8be3 100644 (file)
@@ -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<const llvm::Type*, 8> 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<const llvm::Type*, 8> 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,