OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %_GLF_color
               OpExecutionMode %main OriginUpperLeft
               OpSource ESSL 310
               OpName %main "main"
               OpName %func_i1_ "func(i1;"
               OpName %x "x"
               OpName %a "a"
               OpName %b "b"
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "zero"
               OpName %_ ""
               OpName %param "param"
               OpName %_GLF_color "_GLF_color"
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %buf0 Block
               OpDecorate %_ DescriptorSet 0
               OpDecorate %_ Binding 0
               OpDecorate %_GLF_color Location 0
       %void = OpTypeVoid
         %12 = OpTypeFunction %void
        %int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
         %15 = OpTypeFunction %int %_ptr_Function_int
     %int_10 = OpConstant %int 10
       %bool = OpTypeBool
      %int_0 = OpConstant %int 0
       %buf0 = OpTypeStruct %int
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
          %_ = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Uniform_int = OpTypePointer Uniform %int
      %int_1 = OpConstant %int 1
      %int_4 = OpConstant %int 4
      %int_3 = OpConstant %int 3
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
 %_GLF_color = OpVariable %_ptr_Output_v4float Output
    %float_1 = OpConstant %float 1
    %float_0 = OpConstant %float 0
         %29 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
         %30 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
       %main = OpFunction %void None %12
         %31 = OpLabel
          %a = OpVariable %_ptr_Function_int Function
          %b = OpVariable %_ptr_Function_int Function
      %param = OpVariable %_ptr_Function_int Function
               OpStore %a %int_0
         %32 = OpAccessChain %_ptr_Uniform_int %_ %int_0
         %33 = OpLoad %int %32
               OpStore %b %33
               OpBranch %34
         %34 = OpLabel
         %35 = OpPhi %int %33 %31 %36 %34
               OpStore %param %35
         %37 = OpFunctionCall %int %func_i1_ %param
               OpStore %a %37
         %36 = OpIAdd %int %35 %int_1
               OpStore %b %36
         %38 = OpSLessThan %bool %36 %int_4
               OpLoopMerge %39 %34 None
               OpBranchConditional %38 %34 %39
         %39 = OpLabel
         %40 = OpIEqual %bool %37 %int_3
               OpSelectionMerge %41 None
               OpBranchConditional %40 %42 %43
         %42 = OpLabel
               OpStore %_GLF_color %29
               OpBranch %41
         %43 = OpLabel
               OpStore %_GLF_color %30
               OpBranch %41
         %41 = OpLabel
               OpReturn
               OpFunctionEnd
   %func_i1_ = OpFunction %int None %15
          %x = OpFunctionParameter %_ptr_Function_int
         %44 = OpLabel
         %45 = OpLoad %int %x
         %46 = OpIEqual %bool %45 %int_10
               OpSelectionMerge %47 None
               OpBranchConditional %46 %48 %47
         %48 = OpLabel
               OpKill
         %47 = OpLabel
         %49 = OpLoad %int %x
               OpReturnValue %49
               OpFunctionEnd