SKIP: FAILED

; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 93
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %tint_symbol_1
               OpExecutionMode %main OriginUpperLeft
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "one"
               OpName %x_10 "x_10"
               OpName %x_GLF_color "x_GLF_color"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %S "S"
               OpMemberName %S 0 "x"
               OpMemberName %S 1 "y"
               OpName %func_struct_S_i1_i11_ "func_struct_S_i1_i11_"
               OpName %arg "arg"
               OpName %main_1 "main_1"
               OpName %a "a"
               OpName %b "b"
               OpName %param "param"
               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 %buf0 Block
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %x_10 NonWritable
               OpDecorate %x_10 DescriptorSet 0
               OpDecorate %x_10 Binding 0
               OpDecorate %tint_symbol_1 Location 0
               OpMemberDecorate %S 0 Offset 0
               OpMemberDecorate %S 1 Offset 4
               OpDecorate %_arr_S_uint_2 ArrayStride 8
               OpMemberDecorate %main_out 0 Offset 0
        %int = OpTypeInt 32 1
       %buf0 = OpTypeStruct %int
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
       %x_10 = OpVariable %_ptr_Uniform_buf0 Uniform
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Private_v4float = OpTypePointer Private %v4float
          %9 = OpConstantNull %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %9
%_ptr_Output_v4float = OpTypePointer Output %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %9
       %void = OpTypeVoid
          %S = OpTypeStruct %int %int
%_ptr_Function_S = OpTypePointer Function %S
         %12 = OpTypeFunction %void %_ptr_Function_S
       %uint = OpTypeInt 32 0
     %uint_1 = OpConstant %uint 1
%_ptr_Function_int = OpTypePointer Function %int
      %int_1 = OpConstant %int 1
         %25 = OpTypeFunction %void
%_ptr_Function_float = OpTypePointer Function %float
         %30 = OpConstantNull %float
     %uint_2 = OpConstant %uint 2
%_arr_S_uint_2 = OpTypeArray %S %uint_2
%_ptr_Function__arr_S_uint_2 = OpTypePointer Function %_arr_S_uint_2
         %35 = OpConstantNull %_arr_S_uint_2
         %37 = OpConstantNull %S
    %float_5 = OpConstant %float 5
     %uint_0 = OpConstant %uint 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
       %bool = OpTypeBool
    %float_0 = OpConstant %float 0
      %false = OpConstantFalse %bool
    %float_1 = OpConstant %float 1
         %79 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
         %80 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
   %main_out = OpTypeStruct %v4float
         %81 = OpTypeFunction %void %main_out
%func_struct_S_i1_i11_ = OpFunction %void None %12
        %arg = OpFunctionParameter %_ptr_Function_S
         %18 = OpLabel
         %23 = OpAccessChain %_ptr_Function_int %arg %uint_1
               OpStore %23 %int_1
               OpReturn
               OpFunctionEnd
     %main_1 = OpFunction %void None %25
         %27 = OpLabel
          %a = OpVariable %_ptr_Function_float Function %30
          %b = OpVariable %_ptr_Function__arr_S_uint_2 Function %35
      %param = OpVariable %_ptr_Function_S Function %37
               OpStore %a %float_5
               OpBranch %39
         %39 = OpLabel
               OpLoopMerge %40 %41 None
               OpBranch %42
         %42 = OpLabel
         %45 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0
         %46 = OpLoad %int %45
         %47 = OpAccessChain %_ptr_Function_int %b %46 %uint_0
               OpStore %47 %int_1
         %48 = OpAccessChain %_ptr_Function_int %b %int_1 %uint_0
         %49 = OpLoad %int %48
         %50 = OpIEqual %bool %49 %int_1
               OpSelectionMerge %52 None
               OpBranchConditional %50 %53 %52
         %53 = OpLabel
         %54 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0
         %55 = OpLoad %int %54
         %56 = OpIEqual %bool %55 %int_1
               OpSelectionMerge %57 None
               OpBranchConditional %56 %58 %57
         %58 = OpLabel
               OpBranch %40
         %57 = OpLabel
         %59 = OpAccessChain %_ptr_Function_S %b %int_1
         %60 = OpLoad %S %59
               OpStore %param %60
         %61 = OpFunctionCall %void %func_struct_S_i1_i11_ %param
         %63 = OpLoad %S %param
         %64 = OpAccessChain %_ptr_Function_S %b %int_1
               OpStore %64 %63
         %65 = OpAccessChain %_ptr_Function_int %b %int_1 %uint_1
         %66 = OpLoad %int %65
         %67 = OpConvertSToF %float %66
               OpStore %a %67
               OpBranch %52
         %52 = OpLabel
               OpStore %a %float_0
               OpBranch %41
         %41 = OpLabel
               OpSelectionMerge %70 None
               OpBranchConditional %false %71 %72
         %71 = OpLabel
               OpBranch %70
         %72 = OpLabel
               OpBranch %40
         %70 = OpLabel
               OpBranch %39
         %40 = OpLabel
         %73 = OpLoad %float %a
         %74 = OpFOrdEqual %bool %73 %float_5
               OpSelectionMerge %75 None
               OpBranchConditional %74 %76 %77
         %76 = OpLabel
               OpStore %x_GLF_color %79
               OpBranch %75
         %77 = OpLabel
               OpStore %x_GLF_color %80
               OpBranch %75
         %75 = OpLabel
               OpReturn
               OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %81
%tint_symbol = OpFunctionParameter %main_out
         %85 = OpLabel
         %86 = OpCompositeExtract %v4float %tint_symbol 0
               OpStore %tint_symbol_1 %86
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %25
         %88 = OpLabel
         %89 = OpFunctionCall %void %main_1
         %91 = OpLoad %v4float %x_GLF_color
         %92 = OpCompositeConstruct %main_out %91
         %90 = OpFunctionCall %void %tint_symbol_2 %92
               OpReturn
               OpFunctionEnd
1:1: The continue construct with the continue target 41[%41] is not post dominated by the back-edge block 70[%70]
  %70 = OpLabel

