[PATCH] D45857: [ObjCARC] Account for funclet token in storeStrong transform

Shoaib Meenai via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 19 19:01:13 PDT 2018


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

When creating a call to storeStrong in ObjCARCContract, ensure the call
gets the correct funclet token, otherwise WinEHPrepare will turn the
call (and all subsequent instructions) into unreachable.

We already have logic to do this for the ARC autorelease elision marker;
factor that out into a common function that's used for both. These are
the only two places in this transform that create call instructions.


Repository:
  rL LLVM

https://reviews.llvm.org/D45857

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45857.143215.patch
Type: text/x-patch
Size: 5480 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180420/52b9916a/attachment.bin>


More information about the llvm-commits mailing list