SKIP: FAILED

; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 65
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %tint_symbol_1
               OpExecutionMode %main OriginUpperLeft
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "zero"
               OpName %x_6 "x_6"
               OpName %x_GLF_color "x_GLF_color"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %merge_ "merge_"
               OpName %main_1 "main_1"
               OpName %res "res"
               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
       %buf0 = OpTypeStruct %float
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
        %x_6 = OpVariable %_ptr_Uniform_buf0 Uniform
    %v4float = OpTypeVector %float 4
%_ptr_Private_v4float = OpTypePointer Private %v4float
          %8 = OpConstantNull %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %8
%_ptr_Output_v4float = OpTypePointer Output %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
        %int = OpTypeInt 32 1
         %11 = OpTypeFunction %int
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
    %float_0 = OpConstant %float 0
       %bool = OpTypeBool
      %int_0 = OpConstant %int 0
       %void = OpTypeVoid
         %26 = OpTypeFunction %void
%_ptr_Function_int = OpTypePointer Function %int
         %32 = OpConstantNull %int
    %float_1 = OpConstant %float 1
         %34 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
      %false = OpConstantFalse %bool
   %main_out = OpTypeStruct %v4float
         %53 = OpTypeFunction %void %main_out
     %merge_ = OpFunction %int None %11
         %14 = OpLabel
         %18 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0
         %19 = OpLoad %float %18
         %21 = OpFOrdLessThan %bool %19 %float_0
               OpSelectionMerge %23 None
               OpBranchConditional %21 %24 %23
         %24 = OpLabel
               OpReturnValue %int_0
         %23 = OpLabel
               OpReturnValue %int_0
               OpFunctionEnd
     %main_1 = OpFunction %void None %26
         %29 = OpLabel
        %res = OpVariable %_ptr_Function_int Function %32
               OpStore %x_GLF_color %34
               OpBranch %35
         %35 = OpLabel
               OpLoopMerge %36 %37 None
               OpBranch %38
         %38 = OpLabel
         %39 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0
         %40 = OpLoad %float %39
         %42 = OpConvertFToS %int %40
               OpSelectionMerge %41 None
               OpSwitch %42 %43 0 %44
         %44 = OpLabel
               OpReturn
         %43 = OpLabel
               OpBranch %41
         %41 = OpLabel
               OpBranch %37
         %37 = OpLabel
               OpSelectionMerge %46 None
               OpBranchConditional %false %47 %48
         %47 = OpLabel
               OpBranch %46
         %48 = OpLabel
               OpBranch %36
         %46 = OpLabel
               OpBranch %35
         %36 = OpLabel
         %49 = OpFunctionCall %int %merge_
               OpStore %res %49
         %50 = OpLoad %int %res
         %51 = OpConvertSToF %float %50
         %52 = OpCompositeConstruct %v4float %51 %51 %51 %51
               OpStore %x_GLF_color %52
               OpReturn
               OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %53
%tint_symbol = OpFunctionParameter %main_out
         %57 = OpLabel
         %58 = OpCompositeExtract %v4float %tint_symbol 0
               OpStore %tint_symbol_1 %58
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %26
         %60 = OpLabel
         %61 = OpFunctionCall %void %main_1
         %63 = OpLoad %v4float %x_GLF_color
         %64 = OpCompositeConstruct %main_out %63
         %62 = OpFunctionCall %void %tint_symbol_2 %64
               OpReturn
               OpFunctionEnd
1:1: The continue construct with the continue target 37[%37] is not post dominated by the back-edge block 46[%46]
  %46 = OpLabel

