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

Akira Hatanaka via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 9 23:19:06 PST 2018


ahatanak accepted this revision.
ahatanak added a comment.
This revision is now accepted and ready to land.

LGTM



================
Comment at: lib/Analysis/ObjCARCInstKind.cpp:133
+    return ARCInstKind::ClaimRV;
+  case Intrinsic::objc_retainedObject:
+    return ARCInstKind::NoopCast;
----------------
It looks like these functions have been deprecated.

https://opensource.apple.com/source/objc4/objc4-532/runtime/objc.h


================
Comment at: lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h:92
+      return getIntrinsicEntryPoint(RetainRV,
+                                Intrinsic::objc_retainAutoreleasedReturnValue);
     case ARCRuntimeEntryPointKind::RetainAutorelease:
----------------
Indentation looks incorrect.


================
Comment at: lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h:98
+      return getIntrinsicEntryPoint(RetainAutoreleaseRV,
+                                Intrinsic::objc_retainAutoreleaseReturnValue);
     }
----------------
Indentation looks incorrect.


================
Comment at: test/Transforms/ObjCARC/allocas.ll:12
 
 declare i8* @objc_retainedObject(i8*)
 declare i8* @objc_unretainedObject(i8*)
----------------
Is there a reason we don't use @llvm.objc.retainedObject here and in test/Transforms/ObjCARC/rv.ll?


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

https://reviews.llvm.org/D55348





More information about the llvm-commits mailing list