SKIP: FAILED

; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 69
; 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 %buf0 "buf0"
               OpMemberName %buf0 0 "injectionSwitch"
               OpName %x_6 "x_6"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %main_1 "main_1"
               OpName %j "j"
               OpName %x_41 "x_41"
               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_6 NonWritable
               OpDecorate %x_6 DescriptorSet 0
               OpDecorate %x_6 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
    %v2float = OpTypeVector %float 2
       %buf0 = OpTypeStruct %v2float
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
        %x_6 = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Output_v4float = OpTypePointer Output %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %5
       %void = OpTypeVoid
         %12 = OpTypeFunction %void
        %int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
         %19 = OpConstantNull %int
%_ptr_Function_float = OpTypePointer Function %float
         %22 = OpConstantNull %float
    %float_1 = OpConstant %float 1
    %float_0 = OpConstant %float 0
         %25 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
      %int_2 = OpConstant %int 2
       %bool = OpTypeBool
     %uint_1 = OpConstant %uint 1
   %main_out = OpTypeStruct %v4float
         %57 = OpTypeFunction %void %main_out
     %main_1 = OpFunction %void None %12
         %15 = OpLabel
          %j = OpVariable %_ptr_Function_int Function %19
       %x_41 = OpVariable %_ptr_Function_float Function %22
               OpStore %x_GLF_color %25
               OpBranch %26
         %26 = OpLabel
               OpLoopMerge %27 %28 None
               OpBranch %29
         %29 = OpLabel
         %33 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_0
         %34 = OpLoad %float %33
         %35 = OpConvertFToS %int %34
               OpStore %j %35
               OpBranch %36
         %36 = OpLabel
               OpLoopMerge %37 %38 None
               OpBranch %39
         %39 = OpLabel
         %40 = OpLoad %int %j
         %42 = OpSLessThan %bool %40 %int_2
               OpSelectionMerge %44 None
               OpBranchConditional %42 %45 %46
         %45 = OpLabel
               OpBranch %44
         %46 = OpLabel
               OpBranch %37
         %44 = OpLabel
               OpReturn
         %38 = OpLabel
               OpBranch %36
         %37 = OpLabel
               OpBranch %28
         %28 = OpLabel
         %48 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
         %49 = OpLoad %float %48
               OpStore %x_41 %49
         %50 = OpLoad %float %x_41
         %51 = OpFOrdGreaterThan %bool %float_0 %50
               OpSelectionMerge %52 None
               OpBranchConditional %51 %53 %54
         %53 = OpLabel
               OpBranch %52
         %54 = OpLabel
               OpBranch %27
         %52 = OpLabel
               OpBranch %26
         %27 = OpLabel
         %56 = OpLoad %float %x_41
         %55 = OpConvertFToS %int %56
               OpReturn
               OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %57
%tint_symbol = OpFunctionParameter %main_out
         %61 = OpLabel
         %62 = OpCompositeExtract %v4float %tint_symbol 0
               OpStore %tint_symbol_1 %62
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %12
         %64 = OpLabel
         %65 = OpFunctionCall %void %main_1
         %67 = OpLoad %v4float %x_GLF_color
         %68 = OpCompositeConstruct %main_out %67
         %66 = OpFunctionCall %void %tint_symbol_2 %68
               OpReturn
               OpFunctionEnd
1:1: The continue construct with the continue target 28[%28] is not post dominated by the back-edge block 52[%52]
  %52 = OpLabel

