arphaman added inline comments.
================ Comment at: lib/Sema/SemaDeclObjC.cpp:4312 + for (const ParmVarDecl *P : Method->parameters()) { + if (P->getType()->isVectorType()) { + Loc = P->getLocStart(); ---------------- bruno wrote: > Assuming objc/c++ can pass/return these, the current check wouldn't be enough > to cover x86_64 ABI cases where small (< 8 bytes) trivial classes containing > vector types are directly passed / returned as vector types. You might want > to check if that applies here. > > See test/CodeGenCXX/x86_64-arguments-avx.cpp for examples (and x86_64 abi > doc, item 3.2.3) It seems that on X86 all the troubling aggregates are passed by pointer anyway, and we don't warn for X86_64 at all. The only aggregates that seem to use registers for Objective-C methods are the ones that don't use vector registers. Repository: rL LLVM https://reviews.llvm.org/D28670 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits