SKIP: FAILED

; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 125
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %tint_symbol_1
               OpExecutionMode %main OriginUpperLeft
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "injectionSwitch"
               OpName %x_8 "x_8"
               OpName %x_GLF_color "x_GLF_color"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %BinarySearchObject "BinarySearchObject"
               OpMemberName %BinarySearchObject 0 "prime_numbers"
               OpName %binarySearch_struct_BinarySearchObject_i1_10_1_ "binarySearch_struct_BinarySearchObject_i1_10_1_"
               OpName %obj "obj"
               OpName %m "m"
               OpName %main_1 "main_1"
               OpName %i "i"
               OpName %obj_1 "obj_1"
               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_8 NonWritable
               OpDecorate %x_8 DescriptorSet 0
               OpDecorate %x_8 Binding 0
               OpDecorate %tint_symbol_1 Location 0
               OpMemberDecorate %BinarySearchObject 0 Offset 0
               OpDecorate %_arr_int_uint_10 ArrayStride 4
               OpMemberDecorate %main_out 0 Offset 0
      %float = OpTypeFloat 32
    %v2float = OpTypeVector %float 2
       %buf0 = OpTypeStruct %v2float
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
        %x_8 = OpVariable %_ptr_Uniform_buf0 Uniform
    %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
        %int = OpTypeInt 32 1
       %uint = OpTypeInt 32 0
    %uint_10 = OpConstant %uint 10
%_arr_int_uint_10 = OpTypeArray %int %uint_10
%BinarySearchObject = OpTypeStruct %_arr_int_uint_10
%_ptr_Function_BinarySearchObject = OpTypePointer Function %BinarySearchObject
         %12 = OpTypeFunction %int %_ptr_Function_BinarySearchObject
%_ptr_Function_int = OpTypePointer Function %int
         %24 = OpConstantNull %int
     %uint_0 = OpConstant %uint 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
    %float_1 = OpConstant %float 1
       %bool = OpTypeBool
      %int_1 = OpConstant %int 1
       %void = OpTypeVoid
         %50 = OpTypeFunction %void
         %56 = OpConstantNull %BinarySearchObject
      %int_0 = OpConstant %int 0
     %int_10 = OpConstant %int 10
      %int_3 = OpConstant %int 3
      %int_4 = OpConstant %int 4
     %int_11 = OpConstant %int 11
      %int_6 = OpConstant %int 6
     %int_17 = OpConstant %int 17
     %uint_1 = OpConstant %uint 1
    %float_0 = OpConstant %float 0
        %112 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
   %main_out = OpTypeStruct %v4float
        %113 = OpTypeFunction %void %main_out
%binarySearch_struct_BinarySearchObject_i1_10_1_ = OpFunction %int None %12
        %obj = OpFunctionParameter %_ptr_Function_BinarySearchObject
         %21 = OpLabel
          %m = OpVariable %_ptr_Function_int Function %24
               OpBranch %25
         %25 = OpLabel
               OpLoopMerge %26 %27 None
               OpBranch %28
         %28 = OpLabel
         %31 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0
         %32 = OpLoad %float %31
         %34 = OpFOrdGreaterThan %bool %32 %float_1
               OpSelectionMerge %36 None
               OpBranchConditional %34 %37 %38
         %37 = OpLabel
               OpBranch %36
         %38 = OpLabel
               OpBranch %26
         %36 = OpLabel
         %39 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0
         %40 = OpLoad %float %39
         %41 = OpConvertFToS %int %40
               OpStore %m %41
         %42 = OpLoad %int %m
         %44 = OpAccessChain %_ptr_Function_int %obj %uint_0 %42
         %45 = OpLoad %int %44
         %47 = OpIEqual %bool %45 %int_1
               OpSelectionMerge %48 None
               OpBranchConditional %47 %49 %48
         %49 = OpLabel
               OpReturnValue %int_1
         %48 = OpLabel
               OpBranch %27
         %27 = OpLabel
               OpBranch %25
         %26 = OpLabel
               OpReturnValue %int_1
               OpFunctionEnd
     %main_1 = OpFunction %void None %50
         %53 = OpLabel
          %i = OpVariable %_ptr_Function_int Function %24
      %obj_1 = OpVariable %_ptr_Function_BinarySearchObject Function %56
      %param = OpVariable %_ptr_Function_BinarySearchObject Function %56
               OpStore %i %int_0
               OpBranch %59
         %59 = OpLabel
               OpLoopMerge %60 %61 None
               OpBranch %62
         %62 = OpLabel
         %63 = OpLoad %int %i
         %65 = OpSLessThan %bool %63 %int_10
               OpSelectionMerge %66 None
               OpBranchConditional %65 %67 %68
         %67 = OpLabel
               OpBranch %66
         %68 = OpLabel
               OpBranch %60
         %66 = OpLabel
         %69 = OpLoad %int %i
         %71 = OpINotEqual %bool %69 %int_3
               OpSelectionMerge %72 None
               OpBranchConditional %71 %73 %72
         %73 = OpLabel
         %74 = OpLoad %int %i
         %75 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0
         %76 = OpLoad %float %75
         %77 = OpConvertFToS %int %76
         %78 = OpISub %int %74 %77
         %80 = OpIEqual %bool %78 %int_4
               OpSelectionMerge %81 None
               OpBranchConditional %80 %82 %83
         %82 = OpLabel
         %84 = OpLoad %int %i
         %85 = OpAccessChain %_ptr_Function_int %obj_1 %uint_0 %84
               OpStore %85 %int_11
               OpBranch %81
         %83 = OpLabel
         %87 = OpLoad %int %i
         %89 = OpIEqual %bool %87 %int_6
               OpSelectionMerge %90 None
               OpBranchConditional %89 %91 %90
         %91 = OpLabel
         %92 = OpLoad %int %i
         %93 = OpAccessChain %_ptr_Function_int %obj_1 %uint_0 %92
               OpStore %93 %int_17
               OpBranch %90
         %90 = OpLabel
               OpBranch %61
         %81 = OpLabel
               OpBranch %72
         %72 = OpLabel
               OpBranch %95
         %95 = OpLabel
               OpLoopMerge %96 %97 None
               OpBranch %98
         %98 = OpLabel
               OpBranch %97
         %97 = OpLabel
        %100 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
        %101 = OpLoad %float %100
        %103 = OpFOrdGreaterThan %bool %float_0 %101
               OpSelectionMerge %104 None
               OpBranchConditional %103 %105 %106
        %105 = OpLabel
               OpBranch %104
        %106 = OpLabel
               OpBranch %96
        %104 = OpLabel
               OpBranch %95
         %96 = OpLabel
               OpBranch %61
         %61 = OpLabel
        %107 = OpLoad %int %i
        %108 = OpIAdd %int %107 %int_1
               OpStore %i %108
               OpBranch %59
         %60 = OpLabel
        %109 = OpLoad %BinarySearchObject %obj_1
               OpStore %param %109
        %110 = OpFunctionCall %int %binarySearch_struct_BinarySearchObject_i1_10_1_ %param
               OpStore %x_GLF_color %112
               OpReturn
               OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %113
%tint_symbol = OpFunctionParameter %main_out
        %117 = OpLabel
        %118 = OpCompositeExtract %v4float %tint_symbol 0
               OpStore %tint_symbol_1 %118
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %50
        %120 = OpLabel
        %121 = OpFunctionCall %void %main_1
        %123 = OpLoad %v4float %x_GLF_color
        %124 = OpCompositeConstruct %main_out %123
        %122 = OpFunctionCall %void %tint_symbol_2 %124
               OpReturn
               OpFunctionEnd
1:1: The continue construct with the continue target 97[%97] is not post dominated by the back-edge block 104[%104]
  %104 = OpLabel

