<p dir="ltr">There's been no wholesale effort to add range adapters. Were just adding them as/when someone feels the need. Feel free to add any you happen n to wasn't/need.</p>
<p dir="ltr">Personally I think the phi's/non_phi's would be especially helpful over the existing formulation. (I think there's a similar work in some other APIs (maybe operands to an instruction?) Where a list is split into two by some boundary iterator and would be nice as two range accessor's for the distinct sub ranges and one for the overall range.</p>

<div class="gmail_quote">On Jul 8, 2014 12:35 AM, "Manuel Jacob" <<a href="mailto:me@manueljacob.de">me@manueljacob.de</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi all,<br>
<br>
while converting some code to use C++11 features, I noticed that some commonly used iterators don't have range adapters.  What do you think about adding these?<br>
<br>
llvm/IR/InstIterator.h:<br>
inst_begin() / inst_end() -> instructions()<br>
<br>
llvm/IR/CFG.h:<br>
pred_begin() / pred_end() -> predecessors()<br>
succ_begin() / succ_end() -> successors()<br>
<br>
llvm/IR/BasicBlock.h:<br>
BasicBlock::begin() / BasicBlock::getFirstNonPHI() -> BasicBlock::phis()<br>
BasicBlock::getFirstNonPHI() / BasicBlock::end() -> BasicBlock::non_phis()<br>
<br>
-Manuel<br>
______________________________<u></u>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvmdev</a><br>
</blockquote></div>