diff options
author | Frederic Riss <friss@apple.com> | 2016-02-17 18:51:27 +0000 |
---|---|---|
committer | Frederic Riss <friss@apple.com> | 2016-02-17 18:51:27 +0000 |
commit | 009d60650dd52219d579a4ec35db892cb7692217 (patch) | |
tree | 8b9cc15b9193c0981896c8e39788a9e85cce0632 /llvm/lib/Transforms | |
parent | 5e552d141ffadadf34b085b9971f6d137d93f12f (diff) | |
download | bcm5719-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.cpp | 1 |
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 |