[PATCH] D55348: Change the objc ARC optimizer to use the new objc.* intrinsics

Duncan P. N. Exon Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 5 19:52:39 PST 2018


dexonsmith added inline comments.


================
Comment at: include/llvm/Analysis/ObjCARCAnalysisUtils.h:58
+    M.getNamedValue("llvm.objc.retainAutoreleasedReturnValue") ||
     M.getNamedValue("objc_unsafeClaimAutoreleasedReturnValue") ||
+    M.getNamedValue("llvm.objc.retainBlock") ||
----------------
I'm curious why you didn't create an intrinsic for this method (or the two at the bottom).  Are they not emitted by Clang's IRGen?


================
Comment at: lib/Analysis/ObjCARCInstKind.cpp:154
           .Case("objc_unretainedPointer", ARCInstKind::NoopCast)
           .Case("objc_retain_autorelease", ARCInstKind::FusedRetainAutorelease)
           .Case("objc_sync_enter", ARCInstKind::User)
----------------
Why is this okay to leave behind?


Repository:
  rL LLVM

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

https://reviews.llvm.org/D55348





More information about the llvm-commits mailing list