rjmccall added a comment.

Blocks that don't capture anything have always been allocated globally.  This 
optimization is using the global ISA for blocks that do capture locals but 
which are known statically (on penalty of UB) to not escape the original scope 
of the block literal.  Using the global ISA causes attempts to copy these 
blocks to have no effect, in case the program attempts to do unnecessary copies 
despite the block being declared non-escaping.


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

Reply via email to