summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorFrederic Riss <friss@apple.com>2016-02-17 18:51:27 +0000
committerFrederic Riss <friss@apple.com>2016-02-17 18:51:27 +0000
commit009d60650dd52219d579a4ec35db892cb7692217 (patch)
tree8b9cc15b9193c0981896c8e39788a9e85cce0632 /llvm/lib/Transforms
parent5e552d141ffadadf34b085b9971f6d137d93f12f (diff)
downloadbcm5719-llvm-009d60650dd52219d579a4ec35db892cb7692217.tar.gz
bcm5719-llvm-009d60650dd52219d579a4ec35db892cb7692217.zip
[ObjCARC] Handle ARCInstKind::ClaimRV in OptimizeIndividualCalls.
When support for objc_unsafeClaimAutoreleasedReturnValue has been added to the ARC optimizer in r258970, one case was missed which would lead the optimizer to execute an llvm_unreachable. In this case, just handle ClaimRV in the same way we handle RetainRV. llvm-svn: 261134
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp b/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
index f0ee6e2be48..39e99a00b0c 100644
--- a/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
+++ b/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
@@ -889,6 +889,7 @@ void ObjCARCOpt::OptimizeIndividualCalls(Function &F) {
Inst->getParent(), Inst,
DependingInstructions, Visited, PA);
break;
+ case ARCInstKind::ClaimRV:
case ARCInstKind::RetainRV:
case ARCInstKind::AutoreleaseRV:
// Don't move these; the RV optimization depends on the autoreleaseRV
OpenPOWER on IntegriCloud