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