[PATCH] D49303: [CodeGen][ObjC] Treat non-escaping blocks as global blocks to make copy/dispose a no-op

2022-07-25 Thread Jake Li via Phabricator via cfe-commits
jajadude added a comment.
Herald added a project: All.

@ahatanak @rjmccall  What if a block is marked with `noescape` and captures 
some variables at the same time?  Wouldn't that cause problem If the compiler 
continues to optimize it to `NSConcreteGlobal` type anyway?


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D49303/new/

https://reviews.llvm.org/D49303

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D82562: Implement AVX ABI Warning/error

2022-11-01 Thread Jake Li via Phabricator via cfe-commits
jajadude added a comment.
Herald added subscribers: StephenFan, pengfei.
Herald added a project: All.

   if (Callee->getReturnType()->isVectorType() && 
CGM.getContext().getTypeSize(Callee->getReturnType()) > 128) {
  }

I think this condition will make features like ext_vector_type to be warnings 
too?

e.g. Apple's  provides
`typedef __attribute__((__ext_vector_type__(3),__aligned__(16))) double 
simd_double3;`

It's a vector of 3*64= 192 bits, larger than 128




Comment at: clang/lib/CodeGen/TargetInfo.cpp:2566
+  if (Callee->getReturnType()->isVectorType() &&
+  CGM.getContext().getTypeSize(Callee->getReturnType()) > 128) {
+initFeatureMaps(CGM.getContext(), CallerMap, Caller, CalleeMap, Callee);

I think this condition will make features like 
[ext_vector_type](https://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors)
 to be warnings too?

e.g.  Apple's `` provides
`typedef __attribute__((__ext_vector_type__(3),__aligned__(16))) double 
simd_double3;`

It's a vector of 3*64= 192 bits, larger than 128


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D82562/new/

https://reviews.llvm.org/D82562

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits