summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/ObjCARC
diff options
context:
space:
mode:
authorMichael Gottesman <mgottesman@apple.com>2013-03-29 21:15:23 +0000
committerMichael Gottesman <mgottesman@apple.com>2013-03-29 21:15:23 +0000
commit3b8f8778607d0438acc9bc2c87a5870cdc142da6 (patch)
treef0634ea3786cd767a1bb86e9fcdd0ca5d70d971f /llvm/lib/Transforms/ObjCARC
parentadd82b3c755d960ad2924138ac8c3fa5562fb2bb (diff)
downloadbcm5719-llvm-3b8f8778607d0438acc9bc2c87a5870cdc142da6.tar.gz
bcm5719-llvm-3b8f8778607d0438acc9bc2c87a5870cdc142da6.zip
Add clang.arc.used to ModuleHasARC so ARC always runs if said call is present in a module.
clang.arc.used is an interesting call for ARC since ObjCARCContract needs to run to remove said intrinsic to avoid a linker error (since the call does not exist). llvm-svn: 178369
Diffstat (limited to 'llvm/lib/Transforms/ObjCARC')
-rw-r--r--llvm/lib/Transforms/ObjCARC/ObjCARC.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/ObjCARC/ObjCARC.h b/llvm/lib/Transforms/ObjCARC/ObjCARC.h
index 614fa29e3e6..39670f339e9 100644
--- a/llvm/lib/Transforms/ObjCARC/ObjCARC.h
+++ b/llvm/lib/Transforms/ObjCARC/ObjCARC.h
@@ -64,7 +64,8 @@ static inline bool ModuleHasARC(const Module &M) {
M.getNamedValue("objc_copyWeak") ||
M.getNamedValue("objc_retainedObject") ||
M.getNamedValue("objc_unretainedObject") ||
- M.getNamedValue("objc_unretainedPointer");
+ M.getNamedValue("objc_unretainedPointer") ||
+ M.getNamedValue("clang.arc.use");
}
/// \enum InstructionClass
OpenPOWER on IntegriCloud