; Copyright 2013 The Flutter Authors. All rights reserved.
; Use of this source code is governed by a BSD-style license that can be
; found in the LICENSE file.
;
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 38
; Schema: 0
;
; The conditional following the LoopMerge on line 56 does not branch
; to the loop merge block %16.
;
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %oColor
               OpExecutionMode %main OriginLowerLeft
               OpSource GLSL 450
               OpName %main "main"
               OpName %oColor "oColor"
               OpName %i "i"
               OpName %a "a"
               OpDecorate %oColor Location 0
               OpDecorate %a Location 0
       %void = OpTypeVoid
          %3 = OpTypeFunction %void
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
     %oColor = OpVariable %_ptr_Output_v4float Output
    %float_0 = OpConstant %float 0
         %11 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%_ptr_Function_float = OpTypePointer Function %float
   %float_10 = OpConstant %float 10
       %bool = OpTypeBool
%_ptr_UniformConstant_float = OpTypePointer UniformConstant %float
          %a = OpVariable %_ptr_UniformConstant_float UniformConstant
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_Output_float = OpTypePointer Output %float
    %float_1 = OpConstant %float 1
     %uint_3 = OpConstant %uint 3
       %main = OpFunction %void None %3
          %5 = OpLabel
          %i = OpVariable %_ptr_Function_float Function
               OpStore %oColor %11
               OpStore %i %float_0
               OpBranch %14
         %14 = OpLabel
               OpLoopMerge %16 %17 None
               OpBranch %18
         %18 = OpLabel
         %19 = OpLoad %float %i
         %22 = OpFOrdLessThan %bool %19 %float_10
               OpBranchConditional %22 %15 %17
         %15 = OpLabel
         %25 = OpLoad %float %a
         %29 = OpAccessChain %_ptr_Output_float %oColor %uint_0
         %30 = OpLoad %float %29
         %31 = OpFAdd %float %30 %25
         %32 = OpAccessChain %_ptr_Output_float %oColor %uint_0
               OpStore %32 %31
               OpBranch %17
         %17 = OpLabel
         %33 = OpLoad %float %i
         %35 = OpFAdd %float %33 %float_1
               OpStore %i %35
               OpBranch %14
         %16 = OpLabel
         %37 = OpAccessChain %_ptr_Output_float %oColor %uint_3
               OpStore %37 %float_1
               OpReturn
               OpFunctionEnd
