[PATCH] D44641: [ObjCARC] Add funclet token to ARC marker

Shoaib Meenai via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 19 12:01:21 PDT 2018


smeenai created this revision.
smeenai added reviewers: ahatanak, compnerd, majnemer, rjmccall, rnk.

The inline assembly generated for the ARC autorelease elision marker
must have a funclet token if it's emitted inside a funclet, otherwise
the inline assembly (and all subsequent code in the funclet) will be
marked unreachable by WinEHPrepare.

Note that this only applies for the non-O0 case, since at O0, clang
emits the autorelease elision marker itself rather than deferring to the
backend. The fix for clang is handled in a separate change.


Repository:
  rL LLVM

https://reviews.llvm.org/D44641

Files:
  lib/Transforms/ObjCARC/ObjCARCContract.cpp
  test/Transforms/ObjCARC/contract-marker-funclet.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44641.138975.patch
Type: text/x-patch
Size: 5990 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180319/81183f59/attachment.bin>


More information about the llvm-commits mailing list