From 29dd67bc59249adef304827d68b094f5b5cfc645 Mon Sep 17 00:00:00 2001 From: Bob Wilson Date: Tue, 11 Jan 2011 16:53:49 +0000 Subject: [PATCH] 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 --- lib/CodeGen/TargetInfo.cpp | 9 --------- 1 file changed, 9 deletions(-) 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 -- 2.40.0