SKIP: FAILED

; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 53
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
               OpExecutionMode %main OriginUpperLeft
               OpName %x_GLF_color "x_GLF_color"
               OpName %gl_FragCoord "gl_FragCoord"
               OpName %tint_symbol "tint_symbol"
               OpName %tint_symbol_2 "tint_symbol_2"
               OpName %main_1 "main_1"
               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 %tint_symbol BuiltIn FragCoord
               OpDecorate %tint_symbol_2 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
%gl_FragCoord = OpVariable %_ptr_Private_v4float Private %5
%_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 %5
       %void = OpTypeVoid
         %11 = OpTypeFunction %void
    %float_1 = OpConstant %float 1
    %float_0 = OpConstant %float 0
         %17 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
       %bool = OpTypeBool
       %true = OpConstantTrue %bool
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_Private_float = OpTypePointer Private %float
   %main_out = OpTypeStruct %v4float
         %40 = OpTypeFunction %void %main_out
     %main_1 = OpFunction %void None %11
         %14 = OpLabel
               OpStore %x_GLF_color %17
               OpSelectionMerge %20 None
               OpBranchConditional %true %21 %20
         %21 = OpLabel
         %25 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
         %26 = OpLoad %float %25
         %27 = OpFOrdLessThan %bool %26 %float_0
               OpSelectionMerge %28 None
               OpBranchConditional %27 %29 %28
         %29 = OpLabel
               OpBranch %30
         %30 = OpLabel
               OpLoopMerge %31 %32 None
               OpBranch %33
         %33 = OpLabel
               OpStore %x_GLF_color %17
               OpBranch %32
         %32 = OpLabel
         %34 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
         %35 = OpLoad %float %34
         %36 = OpFOrdLessThan %bool %35 %float_0
               OpSelectionMerge %37 None
               OpBranchConditional %36 %38 %39
         %38 = OpLabel
               OpBranch %37
         %39 = OpLabel
               OpBranch %31
         %37 = OpLabel
               OpBranch %30
         %31 = OpLabel
               OpBranch %28
         %28 = OpLabel
               OpBranch %20
         %20 = OpLabel
               OpReturn
               OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %40
%tint_symbol_1 = OpFunctionParameter %main_out
         %44 = OpLabel
         %45 = OpCompositeExtract %v4float %tint_symbol_1 0
               OpStore %tint_symbol_2 %45
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %11
         %47 = OpLabel
         %48 = OpLoad %v4float %tint_symbol
               OpStore %gl_FragCoord %48
         %49 = OpFunctionCall %void %main_1
         %51 = OpLoad %v4float %x_GLF_color
         %52 = OpCompositeConstruct %main_out %51
         %50 = OpFunctionCall %void %tint_symbol_3 %52
               OpReturn
               OpFunctionEnd
1:1: The continue construct with the continue target 32[%32] is not post dominated by the back-edge block 37[%37]
  %37 = OpLabel

