From: Bob Wilson Date: Tue, 11 Jan 2011 16:53:49 +0000 (+0000) Subject: Remove special handling for opaque Neon vector types. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=29dd67bc59249adef304827d68b094f5b5cfc645;p=clang Remove special handling for opaque Neon vector types. Clang does not wrap the vectors in structs anymore so this isn't needed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123241 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/TargetInfo.cpp b/lib/CodeGen/TargetInfo.cpp index beb44dfa5b..9c606f0c89 100644 --- a/lib/CodeGen/TargetInfo.cpp +++ b/lib/CodeGen/TargetInfo.cpp @@ -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