================
Comment at: lib/CodeGen/CGCall.cpp:1592
@@ -1591,1 +1591,3 @@
 
+          if (PVD->getType()->isAnyPointerType() ||
+              PVD->getType()->isReferenceType()) {
----------------
majnemer wrote:
> hfinkel wrote:
> > I don't really know anything about ObjC, but just about all of the places 
> > in SemaDeclAttr that check for pointer types for relevant attributes check 
> > for:
> >   Ty->isAnyPointerType() || Ty->isBlockPointerType()
> > So maybe you should check for block pointers too?
> I don't know what the load alignment requirements are for block pointers.  
> Omitting them is conservatively correct.
Agreed. It is fine as-is unless someone who does know cares to chime in.

================
Comment at: lib/Headers/avxintrin.h:784
@@ -783,3 +783,3 @@
 static __inline __m256d __attribute__((__always_inline__, __nodebug__))
-_mm256_loadu_pd(double const *__p)
+_mm256_loadu_pd(void const *__p)
 {
----------------
majnemer wrote:
> hfinkel wrote:
> > Are the changes to this file related to the alignment change?
> Yes. These intrinsics are intended to be used with pointers with any 
> alignment.
Ah, good point. But that's a problem. I'd need to make the same change to 
lib/Headers/altivec.h, but I don't think I can because it will interfere with 
the overloading. Even here, we lose type checking ability.

I think we may need to add some kind of attribute that can specify these 
pointers as unaligned (which, coincidentally, is my 
http://reviews.llvm.org/D4635 currently under review), or we need to make these 
take pointers to an underaligned type:
  typedef double unaligned_double __attribute__((aligned(1)));
  _mm256_loadu_pd(unaligned_double const *__p)
Does that work? If not, maybe putting it in a transparent_union will work?

Finally, as this change points out, this has the possibility of breaking 
things. Should we add a flag, akin to -fno-strict-aliasing to disable this 
feature?

http://reviews.llvm.org/D5391



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to