summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2013-03-22 21:38:36 +0000
committerJohn McCall <rjmccall@apple.com>2013-03-22 21:38:36 +0000
commit20182ac0c7935e3d70fb837a48feca47e00a613e (patch)
tree1deef20893eafc488ca24ceb6ccafc6d96cfd6d4 /llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp
parentb3b4a371387b68f3c2da0914fbac989e3e49572a (diff)
downloadbcm5719-llvm-20182ac0c7935e3d70fb837a48feca47e00a613e.tar.gz
bcm5719-llvm-20182ac0c7935e3d70fb837a48feca47e00a613e.zip
Kill every call to @clang.arc.use in the ARC contract phase.
llvm-svn: 177769
Diffstat (limited to 'llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp')
-rw-r--r--llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp b/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp
index a841c64a9f5..0a54451bb17 100644
--- a/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp
+++ b/llvm/lib/Transforms/ObjCARC/ObjCARCUtil.cpp
@@ -72,6 +72,8 @@ raw_ostream &llvm::objcarc::operator<<(raw_ostream &OS,
return OS << "IC_Call";
case IC_User:
return OS << "IC_User";
+ case IC_IntrinsicUser:
+ return OS << "IC_IntrinsicUser";
case IC_None:
return OS << "IC_None";
}
@@ -81,10 +83,11 @@ raw_ostream &llvm::objcarc::operator<<(raw_ostream &OS,
InstructionClass llvm::objcarc::GetFunctionClass(const Function *F) {
Function::const_arg_iterator AI = F->arg_begin(), AE = F->arg_end();
- // No arguments.
+ // No (mandatory) arguments.
if (AI == AE)
return StringSwitch<InstructionClass>(F->getName())
.Case("objc_autoreleasePoolPush", IC_AutoreleasepoolPush)
+ .Case("clang.arc.use", IC_IntrinsicUser)
.Default(IC_CallOrUser);
// One argument.
OpenPOWER on IntegriCloud