Add range iterators for post order and inverse post order. Use them
[oota-llvm.git] / include / llvm / Analysis / LoopInfoImpl.h
index 7cc4a77c690435d3356b394f93b8324fad68d2e1..ded6e9292a7ef3d5951e3c19b4693594ac390d87 100644 (file)
@@ -498,10 +498,9 @@ Analyze(DominatorTreeBase<BlockT> &DomTree) {
 
   // Postorder traversal of the dominator tree.
   DomTreeNodeBase<BlockT>* DomRoot = DomTree.getRootNode();
-  for (po_iterator<DomTreeNodeBase<BlockT>*> DomIter = po_begin(DomRoot),
-         DomEnd = po_end(DomRoot); DomIter != DomEnd; ++DomIter) {
+  for (auto DomNode : post_order(DomRoot)) {
 
-    BlockT *Header = DomIter->getBlock();
+    BlockT *Header = DomNode->getBlock();
     SmallVector<BlockT *, 4> Backedges;
 
     // Check each predecessor of the potential loop header.