SKIP: FAILED

; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 112
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %tint_symbol_1
               OpExecutionMode %main OriginUpperLeft
               OpName %x_GLF_color "x_GLF_color"
               OpName %buf1 "buf1"
               OpMemberName %buf1 0 "x_GLF_uniform_float_values"
               OpName %x_5 "x_5"
               OpName %buf2 "buf2"
               OpMemberName %buf2 0 "zero"
               OpName %x_7 "x_7"
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "x_GLF_uniform_int_values"
               OpName %x_10 "x_10"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %main_1 "main_1"
               OpName %i "i"
               OpName %main_out "main_out"
               OpMemberName %main_out 0 "x_GLF_color_1"
               OpName %tint_symbol_2 "tint_symbol_2"
               OpName %tint_symbol "tint_symbol"
               OpName %main "main"
               OpDecorate %buf1 Block
               OpMemberDecorate %buf1 0 Offset 0
               OpDecorate %_arr_float_uint_2 ArrayStride 16
               OpDecorate %x_5 NonWritable
               OpDecorate %x_5 DescriptorSet 0
               OpDecorate %x_5 Binding 1
               OpDecorate %buf2 Block
               OpMemberDecorate %buf2 0 Offset 0
               OpDecorate %x_7 NonWritable
               OpDecorate %x_7 DescriptorSet 0
               OpDecorate %x_7 Binding 2
               OpDecorate %buf0 Block
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %_arr_int_uint_2 ArrayStride 16
               OpDecorate %x_10 NonWritable
               OpDecorate %x_10 DescriptorSet 0
               OpDecorate %x_10 Binding 0
               OpDecorate %tint_symbol_1 Location 0
               OpMemberDecorate %main_out 0 Offset 0
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Private_v4float = OpTypePointer Private %v4float
          %5 = OpConstantNull %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %5
       %uint = OpTypeInt 32 0
     %uint_2 = OpConstant %uint 2
%_arr_float_uint_2 = OpTypeArray %float %uint_2
       %buf1 = OpTypeStruct %_arr_float_uint_2
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
        %x_5 = OpVariable %_ptr_Uniform_buf1 Uniform
       %buf2 = OpTypeStruct %float
%_ptr_Uniform_buf2 = OpTypePointer Uniform %buf2
        %x_7 = OpVariable %_ptr_Uniform_buf2 Uniform
        %int = OpTypeInt 32 1
%_arr_int_uint_2 = OpTypeArray %int %uint_2
       %buf0 = OpTypeStruct %_arr_int_uint_2
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
       %x_10 = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Output_v4float = OpTypePointer Output %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %5
       %void = OpTypeVoid
         %22 = OpTypeFunction %void
%_ptr_Function_int = OpTypePointer Function %int
         %28 = OpConstantNull %int
     %uint_0 = OpConstant %uint 0
      %int_0 = OpConstant %int 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
       %bool = OpTypeBool
      %int_1 = OpConstant %int 1
       %true = OpConstantTrue %bool
%_ptr_Uniform_int = OpTypePointer Uniform %int
   %main_out = OpTypeStruct %v4float
        %100 = OpTypeFunction %void %main_out
     %main_1 = OpFunction %void None %22
         %25 = OpLabel
          %i = OpVariable %_ptr_Function_int Function %28
         %32 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
         %33 = OpLoad %float %32
         %34 = OpCompositeConstruct %v4float %33 %33 %33 %33
               OpStore %x_GLF_color %34
         %35 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0
         %36 = OpLoad %float %35
         %37 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
         %38 = OpLoad %float %37
         %39 = OpFOrdGreaterThan %bool %36 %38
               OpSelectionMerge %41 None
               OpBranchConditional %39 %42 %43
         %42 = OpLabel
               OpBranch %44
         %44 = OpLabel
               OpLoopMerge %45 %46 None
               OpBranch %47
         %47 = OpLabel
         %49 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
         %50 = OpLoad %float %49
         %51 = OpCompositeConstruct %v4float %50 %50 %50 %50
               OpStore %x_GLF_color %51
               OpBranch %46
         %46 = OpLabel
               OpSelectionMerge %53 None
               OpBranchConditional %true %54 %55
         %54 = OpLabel
               OpBranch %53
         %55 = OpLabel
               OpBranch %45
         %53 = OpLabel
               OpBranch %44
         %45 = OpLabel
               OpBranch %41
         %43 = OpLabel
               OpBranch %56
         %56 = OpLabel
               OpLoopMerge %57 %58 None
               OpBranch %59
         %59 = OpLabel
               OpBranch %60
         %60 = OpLabel
               OpLoopMerge %61 %62 None
               OpBranch %63
         %63 = OpLabel
               OpSelectionMerge %64 None
               OpBranchConditional %true %65 %66
         %65 = OpLabel
               OpBranch %64
         %66 = OpLabel
               OpBranch %61
         %64 = OpLabel
         %68 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
         %69 = OpLoad %int %68
               OpStore %i %69
               OpBranch %70
         %70 = OpLabel
               OpLoopMerge %71 %72 None
               OpBranch %73
         %73 = OpLabel
         %74 = OpLoad %int %i
         %75 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
         %76 = OpLoad %int %75
         %77 = OpSLessThan %bool %74 %76
               OpSelectionMerge %78 None
               OpBranchConditional %77 %79 %80
         %79 = OpLabel
               OpBranch %78
         %80 = OpLabel
               OpBranch %71
         %78 = OpLabel
         %81 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
         %82 = OpLoad %float %81
         %83 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
         %84 = OpLoad %float %83
         %85 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
         %86 = OpLoad %float %85
         %87 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_1
         %88 = OpLoad %float %87
         %89 = OpCompositeConstruct %v4float %82 %84 %86 %88
               OpStore %x_GLF_color %89
               OpBranch %72
         %72 = OpLabel
         %90 = OpLoad %int %i
         %91 = OpIAdd %int %90 %int_1
               OpStore %i %91
               OpBranch %70
         %71 = OpLabel
               OpBranch %61
         %62 = OpLabel
               OpBranch %60
         %61 = OpLabel
               OpBranch %58
         %58 = OpLabel
         %92 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0
         %93 = OpLoad %float %92
         %94 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %int_0
         %95 = OpLoad %float %94
         %96 = OpFOrdGreaterThan %bool %93 %95
               OpSelectionMerge %97 None
               OpBranchConditional %96 %98 %99
         %98 = OpLabel
               OpBranch %97
         %99 = OpLabel
               OpBranch %57
         %97 = OpLabel
               OpBranch %56
         %57 = OpLabel
               OpBranch %41
         %41 = OpLabel
               OpReturn
               OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %100
%tint_symbol = OpFunctionParameter %main_out
        %104 = OpLabel
        %105 = OpCompositeExtract %v4float %tint_symbol 0
               OpStore %tint_symbol_1 %105
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %22
        %107 = OpLabel
        %108 = OpFunctionCall %void %main_1
        %110 = OpLoad %v4float %x_GLF_color
        %111 = OpCompositeConstruct %main_out %110
        %109 = OpFunctionCall %void %tint_symbol_2 %111
               OpReturn
               OpFunctionEnd
1:1: The continue construct with the continue target 46[%46] is not post dominated by the back-edge block 53[%53]
  %53 = OpLabel

