A structured loop is allowed at most one exit block: pick this block. First build a set of trial exits, preferring from a \b tail, then from \b head, then from the middle. If there is no containing loop, just return the first such exit we find. \param body is the list FlowBlock objects in the loop body, which we assume are marked.
source not stored for this graph (policy: none)