Properly annotate control flow convergence points
From https://gitlab.freedesktop.org/mesa/mesa/blob/master/src/freedreno/ir3/ir3_legalize.c#L456
/* we want to mark points where divergent flow control re-converges
* with (jp) flags. For now, since we don't do any optimization for
* things that start out as a 'do {} while()', re-convergence points
* will always be a branch or jump target. Note that this is overly
* conservative, since unconditional jump targets are not convergence
* points, we are just assuming that the other path to reach the jump
* target was divergent. If we were clever enough to optimize the
* jump at end of a loop back to a conditional branch into a single
* conditional branch, ie. like:
We now do optimizations that make the fall through of a branch (exiting a do-while loop) a convergence point and it breaks
dEQP-GLES3.functional.shaders.switch.switch_in_do_while_loop_dynamic_vertex
and a similar case in the GLES2 list.