diff options
Diffstat (limited to 'contrib/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp')
-rw-r--r-- | contrib/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp b/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp index f48d53d..eb325eb 100644 --- a/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp +++ b/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp @@ -72,9 +72,9 @@ namespace { bool ContractAutorelease(Function &F, Instruction *Autorelease, InstructionClass Class, - SmallPtrSet<Instruction *, 4> + SmallPtrSetImpl<Instruction *> &DependingInstructions, - SmallPtrSet<const BasicBlock *, 4> + SmallPtrSetImpl<const BasicBlock *> &Visited); void ContractRelease(Instruction *Release, @@ -150,9 +150,9 @@ ObjCARCContract::OptimizeRetainCall(Function &F, Instruction *Retain) { bool ObjCARCContract::ContractAutorelease(Function &F, Instruction *Autorelease, InstructionClass Class, - SmallPtrSet<Instruction *, 4> + SmallPtrSetImpl<Instruction *> &DependingInstructions, - SmallPtrSet<const BasicBlock *, 4> + SmallPtrSetImpl<const BasicBlock *> &Visited) { const Value *Arg = GetObjCArg(Autorelease); @@ -508,9 +508,8 @@ bool ObjCARCContract::runOnFunction(Function &F) { // If this function has no escaping allocas or suspicious vararg usage, // objc_storeStrong calls can be marked with the "tail" keyword. if (TailOkForStoreStrongs) - for (SmallPtrSet<CallInst *, 8>::iterator I = StoreStrongCalls.begin(), - E = StoreStrongCalls.end(); I != E; ++I) - (*I)->setTailCall(); + for (CallInst *CI : StoreStrongCalls) + CI->setTailCall(); StoreStrongCalls.clear(); return Changed; |