]> granicus.if.org Git - clang/commitdiff
Remove special handling for opaque Neon vector types.
authorBob Wilson <bob.wilson@apple.com>
Tue, 11 Jan 2011 16:53:49 +0000 (16:53 +0000)
committerBob Wilson <bob.wilson@apple.com>
Tue, 11 Jan 2011 16:53:49 +0000 (16:53 +0000)
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

index beb44dfa5ba920dd30fd39ef74e92fdb81dab1fa..9c606f0c89fa6b4c3788ae46eed0c36f9b42ab9f 100644 (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