diff --git a/lib/Transforms/Scalar/ObjCARC.cpp b/lib/Transforms/Scalar/ObjCARC.cpp index c74c353e81a..5e878cf459a 100644 --- a/lib/Transforms/Scalar/ObjCARC.cpp +++ b/lib/Transforms/Scalar/ObjCARC.cpp @@ -2596,8 +2596,9 @@ ObjCARCOpt::Visit(Function &F, Order.push_back(Stack.pop_back_val().first); } bool BottomUpNestingDetected = false; - while (!Order.empty()) { - BasicBlock *BB = Order.pop_back_val(); + for (SmallVectorImpl::const_reverse_iterator I = + Order.rbegin(), E = Order.rend(); I != E; ++I) { + BasicBlock *BB = *I; BottomUpNestingDetected |= VisitBottomUp(BB, BBStates, Retains); }