SKIP: FAILED

; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 112
; Schema: 0
               OpCapability Shader
         %44 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
               OpExecutionMode %main OriginUpperLeft
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "injectionSwitch"
               OpName %x_7 "x_7"
               OpName %gv "gv"
               OpName %gl_FragCoord "gl_FragCoord"
               OpName %x_GLF_color "x_GLF_color"
               OpName %tint_symbol "tint_symbol"
               OpName %tint_symbol_2 "tint_symbol_2"
               OpName %main_1 "main_1"
               OpName %lv "lv"
               OpName %x_43 "x_43"
               OpName %GLF_live5r "GLF_live5r"
               OpName %GLF_live5_looplimiter6 "GLF_live5_looplimiter6"
               OpName %main_out "main_out"
               OpMemberName %main_out 0 "x_GLF_color_1"
               OpName %tint_symbol_3 "tint_symbol_3"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %main "main"
               OpDecorate %buf0 Block
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %x_7 NonWritable
               OpDecorate %x_7 DescriptorSet 0
               OpDecorate %x_7 Binding 0
               OpDecorate %tint_symbol BuiltIn FragCoord
               OpDecorate %tint_symbol_2 Location 0
               OpMemberDecorate %main_out 0 Offset 0
      %float = OpTypeFloat 32
    %v2float = OpTypeVector %float 2
       %buf0 = OpTypeStruct %v2float
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
        %x_7 = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Private_float = OpTypePointer Private %float
          %8 = OpConstantNull %float
         %gv = OpVariable %_ptr_Private_float Private %8
    %v4float = OpTypeVector %float 4
%_ptr_Private_v4float = OpTypePointer Private %v4float
         %12 = OpConstantNull %v4float
%gl_FragCoord = OpVariable %_ptr_Private_v4float Private %12
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %12
%_ptr_Input_v4float = OpTypePointer Input %v4float
%tint_symbol = OpVariable %_ptr_Input_v4float Input
%_ptr_Output_v4float = OpTypePointer Output %v4float
%tint_symbol_2 = OpVariable %_ptr_Output_v4float Output %12
       %void = OpTypeVoid
         %18 = OpTypeFunction %void
%_ptr_Function_float = OpTypePointer Function %float
        %int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
         %28 = OpConstantNull %int
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
     %uint_1 = OpConstant %uint 1
%_ptr_Uniform_float = OpTypePointer Uniform %float
    %float_1 = OpConstant %float 1
       %bool = OpTypeBool
  %float_260 = OpConstant %float 260
    %int_250 = OpConstant %int 250
    %int_180 = OpConstant %int 180
    %float_0 = OpConstant %float 0
    %int_210 = OpConstant %int 210
       %true = OpConstantTrue %bool
      %int_0 = OpConstant %int 0
      %int_6 = OpConstant %int 6
      %int_1 = OpConstant %int 1
         %98 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
   %main_out = OpTypeStruct %v4float
         %99 = OpTypeFunction %void %main_out
     %main_1 = OpFunction %void None %18
         %21 = OpLabel
         %lv = OpVariable %_ptr_Function_float Function %8
       %x_43 = OpVariable %_ptr_Function_float Function %8
 %GLF_live5r = OpVariable %_ptr_Function_int Function %28
%GLF_live5_looplimiter6 = OpVariable %_ptr_Function_int Function %28
         %34 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %uint_1
         %35 = OpLoad %float %34
         %37 = OpFOrdGreaterThan %bool %float_1 %35
               OpSelectionMerge %39 None
               OpBranchConditional %37 %40 %41
         %40 = OpLabel
         %42 = OpLoad %float %gv
         %43 = OpExtInst %float %44 FAbs %42
               OpStore %x_43 %43
               OpBranch %39
         %41 = OpLabel
               OpStore %x_43 %float_260
               OpBranch %39
         %39 = OpLabel
         %46 = OpLoad %float %x_43
               OpStore %lv %46
         %47 = OpLoad %float %lv
         %48 = OpConvertFToS %int %47
         %50 = OpSLessThan %bool %48 %int_250
               OpSelectionMerge %51 None
               OpBranchConditional %50 %52 %51
         %52 = OpLabel
         %53 = OpLoad %float %lv
         %54 = OpConvertFToS %int %53
         %56 = OpSLessThan %bool %54 %int_180
               OpSelectionMerge %57 None
               OpBranchConditional %56 %58 %59
         %58 = OpLabel
         %60 = OpLoad %float %lv
         %61 = OpExtInst %float %44 NClamp %60 %float_1 %float_1
               OpBranch %57
         %59 = OpLabel
         %62 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
         %63 = OpLoad %float %62
         %65 = OpFOrdLessThan %bool %63 %float_0
               OpSelectionMerge %66 None
               OpBranchConditional %65 %67 %66
         %67 = OpLabel
         %68 = OpLoad %float %lv
         %69 = OpConvertFToS %int %68
         %71 = OpSLessThan %bool %69 %int_210
               OpSelectionMerge %72 None
               OpBranchConditional %71 %73 %72
         %73 = OpLabel
               OpBranch %74
         %74 = OpLabel
               OpLoopMerge %75 %76 None
               OpBranch %77
         %77 = OpLabel
               OpBranch %76
         %76 = OpLabel
               OpSelectionMerge %79 None
               OpBranchConditional %true %80 %81
         %80 = OpLabel
               OpBranch %79
         %81 = OpLabel
               OpBranch %75
         %79 = OpLabel
               OpBranch %74
         %75 = OpLabel
               OpBranch %72
         %72 = OpLabel
               OpStore %GLF_live5r %int_0
               OpBranch %83
         %83 = OpLabel
               OpLoopMerge %84 %85 None
               OpBranch %86
         %86 = OpLabel
               OpSelectionMerge %87 None
               OpBranchConditional %true %88 %89
         %88 = OpLabel
               OpBranch %87
         %89 = OpLabel
               OpBranch %84
         %87 = OpLabel
         %90 = OpLoad %int %GLF_live5_looplimiter6
         %92 = OpSGreaterThanEqual %bool %90 %int_6
               OpSelectionMerge %93 None
               OpBranchConditional %92 %94 %93
         %94 = OpLabel
               OpBranch %84
         %93 = OpLabel
         %95 = OpLoad %int %GLF_live5_looplimiter6
         %97 = OpIAdd %int %95 %int_1
               OpStore %GLF_live5_looplimiter6 %97
               OpBranch %85
         %85 = OpLabel
               OpBranch %83
         %84 = OpLabel
               OpBranch %66
         %66 = OpLabel
               OpBranch %57
         %57 = OpLabel
               OpBranch %51
         %51 = OpLabel
               OpStore %x_GLF_color %98
               OpReturn
               OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %99
%tint_symbol_1 = OpFunctionParameter %main_out
        %103 = OpLabel
        %104 = OpCompositeExtract %v4float %tint_symbol_1 0
               OpStore %tint_symbol_2 %104
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %18
        %106 = OpLabel
        %107 = OpLoad %v4float %tint_symbol
               OpStore %gl_FragCoord %107
        %108 = OpFunctionCall %void %main_1
        %110 = OpLoad %v4float %x_GLF_color
        %111 = OpCompositeConstruct %main_out %110
        %109 = OpFunctionCall %void %tint_symbol_3 %111
               OpReturn
               OpFunctionEnd
1:1: The continue construct with the continue target 76[%76] is not post dominated by the back-edge block 79[%79]
  %79 = OpLabel

