I am working on a compiler optimisation routine for GPUs that optimises nested loops which has unpredictable number of iterations. To test my routine I need some real-life algorithms that include this kind of loop construct.
For example, there is a queue A with an arbitrary number of elements of type a each of which contains some arbitrary number of elements of type b. The elements of A should be processed in sequential order. There is no way to know beforehand how many elements of type a should be processed (i.e. elements could be added to A during it's processing), or how many b elements the next a would contain.
Such is the case of literals/clauses queue in DPLL SAT solving algorithm (that was the initial reason for developing the optimisation).
Could someone name some other algorithms that include such nested loops construct?