blob: 278320df4505da8b35db0abd9c258b1b79b19bfa [file] [log] [blame]
SKIP: FAILED
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 156
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol_1
OpExecutionMode %main OriginUpperLeft
OpName %x_GLF_color "x_GLF_color"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %main_1 "main_1"
OpName %x_29 "x_29"
OpName %x_30 "x_30"
OpName %x_31 "x_31"
OpName %x_32 "x_32"
OpName %x_33 "x_33"
OpName %x_34 "x_34"
OpName %x_35 "x_35"
OpName %x_36 "x_36"
OpName %f "f"
OpName %i "i"
OpName %param "param"
OpName %param_1 "param_1"
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"
OpName %func_f1_ "func_f1_"
OpName %x "x"
OpName %x_93 "x_93"
OpName %x_94 "x_94"
OpName %a "a"
OpDecorate %tint_symbol_1 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
%_ptr_Output_v4float = OpTypePointer Output %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %5
%void = OpTypeVoid
%8 = OpTypeFunction %void
%bool = OpTypeBool
%false = OpConstantFalse %bool
%_ptr_Function_bool = OpTypePointer Function %bool
%16 = OpConstantNull %bool
%_ptr_Function_float = OpTypePointer Function %float
%19 = OpConstantNull %float
%float_0 = OpConstant %float 0
%true = OpConstantTrue %bool
%float_1 = OpConstant %float 1
%float_6 = OpConstant %float 6
%float_5 = OpConstant %float 5
%105 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%106 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float
%107 = OpTypeFunction %void %main_out
%119 = OpTypeFunction %float %_ptr_Function_float
%main_1 = OpFunction %void None %8
%11 = OpLabel
%x_29 = OpVariable %_ptr_Function_bool Function %16
%x_30 = OpVariable %_ptr_Function_float Function %19
%x_31 = OpVariable %_ptr_Function_float Function %19
%x_32 = OpVariable %_ptr_Function_float Function %19
%x_33 = OpVariable %_ptr_Function_bool Function %16
%x_34 = OpVariable %_ptr_Function_float Function %19
%x_35 = OpVariable %_ptr_Function_float Function %19
%x_36 = OpVariable %_ptr_Function_float Function %19
%f = OpVariable %_ptr_Function_float Function %19
%i = OpVariable %_ptr_Function_float Function %19
%param = OpVariable %_ptr_Function_float Function %19
%param_1 = OpVariable %_ptr_Function_float Function %19
OpStore %x_29 %false
OpStore %x_33 %false
OpStore %f %float_0
OpStore %i %float_0
OpBranch %31
%31 = OpLabel
OpLoopMerge %32 %33 None
OpBranch %34
%34 = OpLabel
%35 = OpLoad %float %i
OpStore %param %35
OpStore %x_33 %false
OpBranch %36
%36 = OpLabel
OpLoopMerge %37 %38 None
OpBranch %39
%39 = OpLabel
%40 = OpLoad %float %param
OpStore %x_35 %40
OpBranch %41
%41 = OpLabel
OpLoopMerge %42 %43 None
OpBranch %44
%44 = OpLabel
%45 = OpLoad %float %x_35
%46 = OpLoad %float %param
%47 = OpFOrdEqual %bool %45 %46
OpSelectionMerge %48 None
OpBranchConditional %47 %49 %48
%49 = OpLabel
%50 = OpLoad %float %x_35
OpStore %x_33 %true
OpStore %x_34 %50
OpBranch %42
%48 = OpLabel
%52 = OpLoad %float %x_35
%54 = OpFAdd %float %52 %float_1
OpStore %x_35 %54
OpBranch %43
%43 = OpLabel
%55 = OpLoad %float %x_35
%56 = OpLoad %float %param
%57 = OpFOrdLessThan %bool %55 %56
OpSelectionMerge %58 None
OpBranchConditional %57 %59 %60
%59 = OpLabel
OpBranch %58
%60 = OpLabel
OpBranch %42
%58 = OpLabel
OpBranch %41
%42 = OpLabel
%61 = OpLoad %bool %x_33
OpSelectionMerge %62 None
OpBranchConditional %61 %63 %62
%63 = OpLabel
OpBranch %37
%62 = OpLabel
OpStore %x_33 %true
OpStore %x_34 %float_0
OpBranch %37
%38 = OpLabel
OpBranch %36
%37 = OpLabel
%64 = OpLoad %float %x_34
OpStore %x_36 %64
OpStore %f %64
OpStore %param_1 %float_1
OpStore %x_29 %false
OpBranch %65
%65 = OpLabel
OpLoopMerge %66 %67 None
OpBranch %68
%68 = OpLabel
%69 = OpLoad %float %param_1
OpStore %x_31 %69
OpBranch %70
%70 = OpLabel
OpLoopMerge %71 %72 None
OpBranch %73
%73 = OpLabel
%74 = OpLoad %float %x_31
%75 = OpLoad %float %param_1
%76 = OpFOrdEqual %bool %74 %75
OpSelectionMerge %77 None
OpBranchConditional %76 %78 %77
%78 = OpLabel
%79 = OpLoad %float %x_31
OpStore %x_29 %true
OpStore %x_30 %79
OpBranch %71
%77 = OpLabel
%80 = OpLoad %float %x_31
%81 = OpFAdd %float %80 %float_1
OpStore %x_31 %81
OpBranch %72
%72 = OpLabel
%82 = OpLoad %float %x_31
%83 = OpLoad %float %param_1
%84 = OpFOrdLessThan %bool %82 %83
OpSelectionMerge %85 None
OpBranchConditional %84 %86 %87
%86 = OpLabel
OpBranch %85
%87 = OpLabel
OpBranch %71
%85 = OpLabel
OpBranch %70
%71 = OpLabel
%88 = OpLoad %bool %x_29
OpSelectionMerge %89 None
OpBranchConditional %88 %90 %89
%90 = OpLabel
OpBranch %66
%89 = OpLabel
OpStore %x_29 %true
OpStore %x_30 %float_0
OpBranch %66
%67 = OpLabel
OpBranch %65
%66 = OpLabel
%91 = OpLoad %float %x_30
OpStore %x_32 %91
%92 = OpLoad %float %i
%93 = OpFAdd %float %92 %91
OpStore %i %93
%95 = OpFOrdLessThan %bool %93 %float_6
OpSelectionMerge %96 None
OpBranchConditional %95 %97 %98
%97 = OpLabel
OpBranch %96
%98 = OpLabel
OpBranch %32
%96 = OpLabel
OpBranch %33
%33 = OpLabel
OpBranch %31
%32 = OpLabel
%99 = OpLoad %float %f
%101 = OpFOrdEqual %bool %99 %float_5
OpSelectionMerge %102 None
OpBranchConditional %101 %103 %104
%103 = OpLabel
OpStore %x_GLF_color %105
OpBranch %102
%104 = OpLabel
OpStore %x_GLF_color %106
OpBranch %102
%102 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %107
%tint_symbol = OpFunctionParameter %main_out
%111 = OpLabel
%112 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %112
OpReturn
OpFunctionEnd
%main = OpFunction %void None %8
%114 = OpLabel
%115 = OpFunctionCall %void %main_1
%117 = OpLoad %v4float %x_GLF_color
%118 = OpCompositeConstruct %main_out %117
%116 = OpFunctionCall %void %tint_symbol_2 %118
OpReturn
OpFunctionEnd
%func_f1_ = OpFunction %float None %119
%x = OpFunctionParameter %_ptr_Function_float
%122 = OpLabel
%x_93 = OpVariable %_ptr_Function_bool Function %16
%x_94 = OpVariable %_ptr_Function_float Function %19
%a = OpVariable %_ptr_Function_float Function %19
OpStore %x_93 %false
OpBranch %126
%126 = OpLabel
OpLoopMerge %127 %128 None
OpBranch %129
%129 = OpLabel
%131 = OpLoad %float %x
OpStore %a %131
OpBranch %132
%132 = OpLabel
OpLoopMerge %133 %134 None
OpBranch %135
%135 = OpLabel
%136 = OpLoad %float %a
%138 = OpLoad %float %x
%139 = OpFOrdEqual %bool %136 %138
OpSelectionMerge %140 None
OpBranchConditional %139 %141 %140
%141 = OpLabel
%142 = OpLoad %float %a
OpStore %x_93 %true
OpStore %x_94 %142
OpBranch %133
%140 = OpLabel
%143 = OpLoad %float %a
%144 = OpFAdd %float %143 %float_1
OpStore %a %144
OpBranch %134
%134 = OpLabel
%145 = OpLoad %float %a
%147 = OpLoad %float %x
%148 = OpFOrdLessThan %bool %145 %147
OpSelectionMerge %149 None
OpBranchConditional %148 %150 %151
%150 = OpLabel
OpBranch %149
%151 = OpLabel
OpBranch %133
%149 = OpLabel
OpBranch %132
%133 = OpLabel
%152 = OpLoad %bool %x_93
OpSelectionMerge %153 None
OpBranchConditional %152 %154 %153
%154 = OpLabel
OpBranch %127
%153 = OpLabel
OpStore %x_93 %true
OpStore %x_94 %float_0
OpBranch %127
%128 = OpLabel
OpBranch %126
%127 = OpLabel
%155 = OpLoad %float %x_94
OpReturnValue %155
OpFunctionEnd
1:1: The continue construct with the continue target 43[%43] is not post dominated by the back-edge block 58[%58]
%58 = OpLabel