aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/TargetInfo.cpp
diff options
context:
space:
mode:
authorStuart Hastings <stuart@apple.com>2011-04-28 18:16:06 +0000
committerStuart Hastings <stuart@apple.com>2011-04-28 18:16:06 +0000
commitb7f62d01369c2a6e4af5dd2a76052ae65892161d (patch)
treedf5996d862b4e3e5a397e567c9c8c9547a25270d /lib/CodeGen/TargetInfo.cpp
parenta6ce3e6513f56e4d46399da9e35a3165b097f59e (diff)
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
Diffstat (limited to 'lib/CodeGen/TargetInfo.cpp')
-rw-r--r--lib/CodeGen/TargetInfo.cpp19
1 files changed, 6 insertions, 13 deletions
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<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,