Remove special handling for opaque Neon vector types.

Clang does not wrap the vectors in structs anymore so this isn't needed.

llvm-svn: 123241
This commit is contained in:
Bob Wilson 2011-01-11 16:53:49 +00:00
parent 841df11dab
commit b9fa00e0c2
1 changed files with 0 additions and 9 deletions

View File

@ -2241,15 +2241,6 @@ ABIArgInfo ARMABIInfo::classifyArgumentType(QualType Ty) const {
if (isRecordWithNonTrivialDestructorOrCopyConstructor(Ty))
return ABIArgInfo::getIndirect(0, /*ByVal=*/false);
// NEON vectors are implemented as (theoretically) opaque structures wrapping
// the underlying vector type. We trust the backend to pass the underlying
// vectors appropriately, so we can unwrap the structs which generally will
// lead to much cleaner IR.
if (const Type *SeltTy = isSingleElementStruct(Ty, getContext())) {
if (SeltTy->isVectorType())
return ABIArgInfo::getDirect(CGT.ConvertType(QualType(SeltTy, 0)));
}
// Otherwise, pass by coercing to a structure of the appropriate size.
//
// FIXME: This is kind of nasty... but there isn't much choice because the ARM