glsl: Fix unroll of do{} while(false) like loops

For loops which condition is false on the first iteration
iteration count was falsely calculated under the assumption
that loop's condition is true until it becomes false, meaning
it's true at least one time.
Now such loops are reported as having 0 iteration.

Similar to the fix e71fc7f2 done in NIR.

Fixes tests/shaders/glsl-fs-loop-while-false-02.shader_test

Signed-off-by: Danylo Piliaiev <>
Reviewed-by: Timothy Arceri <>
22 jobs for !16 with fix/glsl-while-false-unroll in 54 minutes and 40 seconds (queued for 3 seconds)
merge request