1167 lines
44 KiB
Plaintext
1167 lines
44 KiB
Plaintext
|
; SPIR-V
|
||
|
; Version: 1.3
|
||
|
; Generator: Google Tint Compiler; 0
|
||
|
; Bound: 619
|
||
|
; 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 %BST "BST"
|
||
|
OpMemberName %BST 0 "data"
|
||
|
OpMemberName %BST 1 "leftIndex"
|
||
|
OpMemberName %BST 2 "rightIndex"
|
||
|
OpName %tree "tree"
|
||
|
OpName %x_356 "x_356"
|
||
|
OpName %x_58_phi "x_58_phi"
|
||
|
OpName %x_86_phi "x_86_phi"
|
||
|
OpName %x_353_phi "x_353_phi"
|
||
|
OpName %x_356_phi "x_356_phi"
|
||
|
OpName %x_358_phi "x_358_phi"
|
||
|
OpName %x_84 "x_84"
|
||
|
OpName %x_76 "x_76"
|
||
|
OpName %x_59 "x_59"
|
||
|
OpName %x_59_phi "x_59_phi"
|
||
|
OpName %x_91_phi "x_91_phi"
|
||
|
OpName %x_119_phi "x_119_phi"
|
||
|
OpName %x_117 "x_117"
|
||
|
OpName %x_109 "x_109"
|
||
|
OpName %x_92 "x_92"
|
||
|
OpName %x_92_phi "x_92_phi"
|
||
|
OpName %x_124_phi "x_124_phi"
|
||
|
OpName %x_152_phi "x_152_phi"
|
||
|
OpName %x_150 "x_150"
|
||
|
OpName %x_142 "x_142"
|
||
|
OpName %x_125 "x_125"
|
||
|
OpName %x_125_phi "x_125_phi"
|
||
|
OpName %x_157_phi "x_157_phi"
|
||
|
OpName %x_185_phi "x_185_phi"
|
||
|
OpName %x_183 "x_183"
|
||
|
OpName %x_175 "x_175"
|
||
|
OpName %x_158 "x_158"
|
||
|
OpName %x_158_phi "x_158_phi"
|
||
|
OpName %x_190_phi "x_190_phi"
|
||
|
OpName %x_218_phi "x_218_phi"
|
||
|
OpName %x_216 "x_216"
|
||
|
OpName %x_208 "x_208"
|
||
|
OpName %x_191 "x_191"
|
||
|
OpName %x_191_phi "x_191_phi"
|
||
|
OpName %x_223_phi "x_223_phi"
|
||
|
OpName %x_251_phi "x_251_phi"
|
||
|
OpName %x_249 "x_249"
|
||
|
OpName %x_241 "x_241"
|
||
|
OpName %x_224 "x_224"
|
||
|
OpName %x_224_phi "x_224_phi"
|
||
|
OpName %x_256_phi "x_256_phi"
|
||
|
OpName %x_284_phi "x_284_phi"
|
||
|
OpName %x_282 "x_282"
|
||
|
OpName %x_274 "x_274"
|
||
|
OpName %x_257 "x_257"
|
||
|
OpName %x_257_phi "x_257_phi"
|
||
|
OpName %x_289_phi "x_289_phi"
|
||
|
OpName %x_317_phi "x_317_phi"
|
||
|
OpName %x_315 "x_315"
|
||
|
OpName %x_307 "x_307"
|
||
|
OpName %x_290 "x_290"
|
||
|
OpName %x_290_phi "x_290_phi"
|
||
|
OpName %x_322_phi "x_322_phi"
|
||
|
OpName %x_350_phi "x_350_phi"
|
||
|
OpName %x_348 "x_348"
|
||
|
OpName %x_340 "x_340"
|
||
|
OpName %x_323 "x_323"
|
||
|
OpName %x_323_phi "x_323_phi"
|
||
|
OpName %x_381 "x_381"
|
||
|
OpName %x_391 "x_391"
|
||
|
OpName %x_396 "x_396"
|
||
|
OpName %x_359 "x_359"
|
||
|
OpName %x_354_phi "x_354_phi"
|
||
|
OpName %x_357_phi "x_357_phi"
|
||
|
OpName %x_366_phi "x_366_phi"
|
||
|
OpName %x_381_phi "x_381_phi"
|
||
|
OpName %x_382_phi "x_382_phi"
|
||
|
OpName %x_354 "x_354"
|
||
|
OpName %x_390 "x_390"
|
||
|
OpName %x_395 "x_395"
|
||
|
OpName %x_391_phi "x_391_phi"
|
||
|
OpName %x_396_phi "x_396_phi"
|
||
|
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"
|
||
|
OpDecorate %tint_symbol_1 Location 0
|
||
|
OpMemberDecorate %BST 0 Offset 0
|
||
|
OpMemberDecorate %BST 1 Offset 4
|
||
|
OpMemberDecorate %BST 2 Offset 8
|
||
|
OpDecorate %_arr_BST_uint_10 ArrayStride 12
|
||
|
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
|
||
|
%int = OpTypeInt 32 1
|
||
|
%BST = OpTypeStruct %int %int %int
|
||
|
%uint = OpTypeInt 32 0
|
||
|
%uint_10 = OpConstant %uint 10
|
||
|
%_arr_BST_uint_10 = OpTypeArray %BST %uint_10
|
||
|
%_ptr_Function__arr_BST_uint_10 = OpTypePointer Function %_arr_BST_uint_10
|
||
|
%19 = OpConstantNull %_arr_BST_uint_10
|
||
|
%_ptr_Function_int = OpTypePointer Function %int
|
||
|
%22 = OpConstantNull %int
|
||
|
%bool = OpTypeBool
|
||
|
%_ptr_Function_bool = OpTypePointer Function %bool
|
||
|
%27 = OpConstantNull %bool
|
||
|
%int_0 = OpConstant %int 0
|
||
|
%_ptr_Function_BST = OpTypePointer Function %BST
|
||
|
%int_9 = OpConstant %int 9
|
||
|
%int_n1 = OpConstant %int -1
|
||
|
%36 = OpConstantComposite %BST %int_9 %int_n1 %int_n1
|
||
|
%uint_0 = OpConstant %uint 0
|
||
|
%false = OpConstantFalse %bool
|
||
|
%int_1 = OpConstant %int 1
|
||
|
%int_5 = OpConstant %int 5
|
||
|
%uint_1 = OpConstant %uint 1
|
||
|
%71 = OpConstantComposite %BST %int_5 %int_n1 %int_n1
|
||
|
%true = OpConstantTrue %bool
|
||
|
%uint_2 = OpConstant %uint 2
|
||
|
%int_2 = OpConstant %int 2
|
||
|
%int_12 = OpConstant %int 12
|
||
|
%126 = OpConstantComposite %BST %int_12 %int_n1 %int_n1
|
||
|
%int_3 = OpConstant %int 3
|
||
|
%int_15 = OpConstant %int 15
|
||
|
%179 = OpConstantComposite %BST %int_15 %int_n1 %int_n1
|
||
|
%int_4 = OpConstant %int 4
|
||
|
%int_7 = OpConstant %int 7
|
||
|
%232 = OpConstantComposite %BST %int_7 %int_n1 %int_n1
|
||
|
%int_8 = OpConstant %int 8
|
||
|
%284 = OpConstantComposite %BST %int_8 %int_n1 %int_n1
|
||
|
%int_6 = OpConstant %int 6
|
||
|
%336 = OpConstantComposite %BST %int_2 %int_n1 %int_n1
|
||
|
%387 = OpConstantComposite %BST %int_6 %int_n1 %int_n1
|
||
|
%int_17 = OpConstant %int 17
|
||
|
%439 = OpConstantComposite %BST %int_17 %int_n1 %int_n1
|
||
|
%int_13 = OpConstant %int 13
|
||
|
%491 = OpConstantComposite %BST %int_13 %int_n1 %int_n1
|
||
|
%int_20 = OpConstant %int 20
|
||
|
%float_1 = OpConstant %float 1
|
||
|
%float_0 = OpConstant %float 0
|
||
|
%605 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
|
||
|
%606 = OpConstantComposite %v4float %float_0 %float_0 %float_1 %float_1
|
||
|
%main_out = OpTypeStruct %v4float
|
||
|
%607 = OpTypeFunction %void %main_out
|
||
|
%main_1 = OpFunction %void None %8
|
||
|
%11 = OpLabel
|
||
|
%tree = OpVariable %_ptr_Function__arr_BST_uint_10 Function %19
|
||
|
%x_356 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_58_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_86_phi = OpVariable %_ptr_Function_bool Function %27
|
||
|
%x_353_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_356_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_358_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_84 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_76 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_59 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_59_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_91_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_119_phi = OpVariable %_ptr_Function_bool Function %27
|
||
|
%x_117 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_109 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_92 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_92_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_124_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_152_phi = OpVariable %_ptr_Function_bool Function %27
|
||
|
%x_150 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_142 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_125 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_125_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_157_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_185_phi = OpVariable %_ptr_Function_bool Function %27
|
||
|
%x_183 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_175 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_158 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_158_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_190_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_218_phi = OpVariable %_ptr_Function_bool Function %27
|
||
|
%x_216 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_208 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_191 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_191_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_223_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_251_phi = OpVariable %_ptr_Function_bool Function %27
|
||
|
%x_249 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_241 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_224 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_224_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_256_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_284_phi = OpVariable %_ptr_Function_bool Function %27
|
||
|
%x_282 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_274 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_257 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_257_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_289_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_317_phi = OpVariable %_ptr_Function_bool Function %27
|
||
|
%x_315 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_307 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_290 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_290_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_322_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_350_phi = OpVariable %_ptr_Function_bool Function %27
|
||
|
%x_348 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_340 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_323 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_323_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_381 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_391 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_396 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_359 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_354_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_357_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_366_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_381_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_382_phi = OpVariable %_ptr_Function_bool Function %27
|
||
|
%x_354 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_390 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_395 = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_391_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%x_396_phi = OpVariable %_ptr_Function_int Function %22
|
||
|
%33 = OpAccessChain %_ptr_Function_BST %tree %int_0
|
||
|
OpStore %33 %36
|
||
|
OpSelectionMerge %37 None
|
||
|
OpSwitch %uint_0 %39
|
||
|
%39 = OpLabel
|
||
|
OpStore %x_58_phi %int_0
|
||
|
OpBranch %40
|
||
|
%40 = OpLabel
|
||
|
OpLoopMerge %41 %42 None
|
||
|
OpBranch %43
|
||
|
%43 = OpLabel
|
||
|
%48 = OpLoad %int %x_58_phi
|
||
|
OpStore %x_86_phi %false
|
||
|
%51 = OpSLessThanEqual %bool %48 %int_1
|
||
|
OpSelectionMerge %52 None
|
||
|
OpBranchConditional %51 %53 %54
|
||
|
%53 = OpLabel
|
||
|
OpBranch %52
|
||
|
%54 = OpLabel
|
||
|
OpBranch %41
|
||
|
%52 = OpLabel
|
||
|
%55 = OpAccessChain %_ptr_Function_int %tree %48 %uint_0
|
||
|
%56 = OpLoad %int %55
|
||
|
%58 = OpSLessThanEqual %bool %int_5 %56
|
||
|
OpSelectionMerge %59 None
|
||
|
OpBranchConditional %58 %60 %61
|
||
|
%60 = OpLabel
|
||
|
%63 = OpAccessChain %_ptr_Function_int %tree %48 %uint_1
|
||
|
%64 = OpLoad %int %63
|
||
|
%65 = OpIEqual %bool %64 %int_n1
|
||
|
OpSelectionMerge %66 None
|
||
|
OpBranchConditional %65 %67 %68
|
||
|
%67 = OpLabel
|
||
|
%69 = OpAccessChain %_ptr_Function_int %tree %48 %uint_1
|
||
|
OpStore %69 %int_1
|
||
|
%70 = OpAccessChain %_ptr_Function_BST %tree %int_1
|
||
|
OpStore %70 %71
|
||
|
OpStore %x_86_phi %true
|
||
|
OpBranch %41
|
||
|
%68 = OpLabel
|
||
|
%73 = OpAccessChain %_ptr_Function_int %tree %48 %uint_1
|
||
|
%74 = OpLoad %int %73
|
||
|
OpStore %x_84 %74
|
||
|
%75 = OpLoad %int %x_84
|
||
|
OpStore %x_59_phi %75
|
||
|
OpBranch %42
|
||
|
%66 = OpLabel
|
||
|
OpReturn
|
||
|
%61 = OpLabel
|
||
|
%77 = OpAccessChain %_ptr_Function_int %tree %48 %uint_2
|
||
|
%78 = OpLoad %int %77
|
||
|
%79 = OpIEqual %bool %78 %int_n1
|
||
|
OpSelectionMerge %80 None
|
||
|
OpBranchConditional %79 %81 %82
|
||
|
%81 = OpLabel
|
||
|
%83 = OpAccessChain %_ptr_Function_int %tree %48 %uint_2
|
||
|
OpStore %83 %int_1
|
||
|
%84 = OpAccessChain %_ptr_Function_BST %tree %int_1
|
||
|
OpStore %84 %71
|
||
|
OpStore %x_86_phi %true
|
||
|
OpBranch %41
|
||
|
%82 = OpLabel
|
||
|
%85 = OpAccessChain %_ptr_Function_int %tree %48 %uint_2
|
||
|
%86 = OpLoad %int %85
|
||
|
OpStore %x_76 %86
|
||
|
%87 = OpLoad %int %x_76
|
||
|
OpStore %x_59_phi %87
|
||
|
OpBranch %42
|
||
|
%80 = OpLabel
|
||
|
OpReturn
|
||
|
%59 = OpLabel
|
||
|
OpReturn
|
||
|
%42 = OpLabel
|
||
|
%88 = OpLoad %int %x_59_phi
|
||
|
OpStore %x_59 %88
|
||
|
%89 = OpLoad %int %x_59
|
||
|
OpStore %x_58_phi %89
|
||
|
OpBranch %40
|
||
|
%41 = OpLabel
|
||
|
%90 = OpLoad %bool %x_86_phi
|
||
|
OpSelectionMerge %91 None
|
||
|
OpBranchConditional %90 %92 %91
|
||
|
%92 = OpLabel
|
||
|
OpBranch %37
|
||
|
%91 = OpLabel
|
||
|
OpBranch %37
|
||
|
%37 = OpLabel
|
||
|
OpSelectionMerge %95 None
|
||
|
OpSwitch %uint_0 %96
|
||
|
%96 = OpLabel
|
||
|
OpStore %x_91_phi %int_0
|
||
|
OpBranch %97
|
||
|
%97 = OpLabel
|
||
|
OpLoopMerge %98 %99 None
|
||
|
OpBranch %100
|
||
|
%100 = OpLabel
|
||
|
%105 = OpLoad %int %x_91_phi
|
||
|
OpStore %x_119_phi %false
|
||
|
%107 = OpSLessThanEqual %bool %105 %int_2
|
||
|
OpSelectionMerge %108 None
|
||
|
OpBranchConditional %107 %109 %110
|
||
|
%109 = OpLabel
|
||
|
OpBranch %108
|
||
|
%110 = OpLabel
|
||
|
OpBranch %98
|
||
|
%108 = OpLabel
|
||
|
%111 = OpAccessChain %_ptr_Function_int %tree %105 %uint_0
|
||
|
%112 = OpLoad %int %111
|
||
|
%114 = OpSLessThanEqual %bool %int_12 %112
|
||
|
OpSelectionMerge %115 None
|
||
|
OpBranchConditional %114 %116 %117
|
||
|
%116 = OpLabel
|
||
|
%118 = OpAccessChain %_ptr_Function_int %tree %105 %uint_1
|
||
|
%119 = OpLoad %int %118
|
||
|
%120 = OpIEqual %bool %119 %int_n1
|
||
|
OpSelectionMerge %121 None
|
||
|
OpBranchConditional %120 %122 %123
|
||
|
%122 = OpLabel
|
||
|
%124 = OpAccessChain %_ptr_Function_int %tree %105 %uint_1
|
||
|
OpStore %124 %int_2
|
||
|
%125 = OpAccessChain %_ptr_Function_BST %tree %int_2
|
||
|
OpStore %125 %126
|
||
|
OpStore %x_119_phi %true
|
||
|
OpBranch %98
|
||
|
%123 = OpLabel
|
||
|
%127 = OpAccessChain %_ptr_Function_int %tree %105 %uint_1
|
||
|
%128 = OpLoad %int %127
|
||
|
OpStore %x_117 %128
|
||
|
%129 = OpLoad %int %x_117
|
||
|
OpStore %x_92_phi %129
|
||
|
OpBranch %99
|
||
|
%121 = OpLabel
|
||
|
OpReturn
|
||
|
%117 = OpLabel
|
||
|
%130 = OpAccessChain %_ptr_Function_int %tree %105 %uint_2
|
||
|
%131 = OpLoad %int %130
|
||
|
%132 = OpIEqual %bool %131 %int_n1
|
||
|
OpSelectionMerge %133 None
|
||
|
OpBranchConditional %132 %134 %135
|
||
|
%134 = OpLabel
|
||
|
%136 = OpAccessChain %_ptr_Function_int %tree %105 %uint_2
|
||
|
OpStore %136 %int_2
|
||
|
%137 = OpAccessChain %_ptr_Function_BST %tree %int_2
|
||
|
OpStore %137 %126
|
||
|
OpStore %x_119_phi %true
|
||
|
OpBranch %98
|
||
|
%135 = OpLabel
|
||
|
%138 = OpAccessChain %_ptr_Function_int %tree %105 %uint_2
|
||
|
%139 = OpLoad %int %138
|
||
|
OpStore %x_109 %139
|
||
|
%140 = OpLoad %int %x_109
|
||
|
OpStore %x_92_phi %140
|
||
|
OpBranch %99
|
||
|
%133 = OpLabel
|
||
|
OpReturn
|
||
|
%115 = OpLabel
|
||
|
OpReturn
|
||
|
%99 = OpLabel
|
||
|
%141 = OpLoad %int %x_92_phi
|
||
|
OpStore %x_92 %141
|
||
|
%142 = OpLoad %int %x_92
|
||
|
OpStore %x_91_phi %142
|
||
|
OpBranch %97
|
||
|
%98 = OpLabel
|
||
|
%143 = OpLoad %bool %x_119_phi
|
||
|
OpSelectionMerge %144 None
|
||
|
OpBranchConditional %143 %145 %144
|
||
|
%145 = OpLabel
|
||
|
OpBranch %95
|
||
|
%144 = OpLabel
|
||
|
OpBranch %95
|
||
|
%95 = OpLabel
|
||
|
OpSelectionMerge %148 None
|
||
|
OpSwitch %uint_0 %149
|
||
|
%149 = OpLabel
|
||
|
OpStore %x_124_phi %int_0
|
||
|
OpBranch %150
|
||
|
%150 = OpLabel
|
||
|
OpLoopMerge %151 %152 None
|
||
|
OpBranch %153
|
||
|
%153 = OpLabel
|
||
|
%158 = OpLoad %int %x_124_phi
|
||
|
OpStore %x_152_phi %false
|
||
|
%160 = OpSLessThanEqual %bool %158 %int_3
|
||
|
OpSelectionMerge %161 None
|
||
|
OpBranchConditional %160 %162 %163
|
||
|
%162 = OpLabel
|
||
|
OpBranch %161
|
||
|
%163 = OpLabel
|
||
|
OpBranch %151
|
||
|
%161 = OpLabel
|
||
|
%164 = OpAccessChain %_ptr_Function_int %tree %158 %uint_0
|
||
|
%165 = OpLoad %int %164
|
||
|
%167 = OpSLessThanEqual %bool %int_15 %165
|
||
|
OpSelectionMerge %168 None
|
||
|
OpBranchConditional %167 %169 %170
|
||
|
%169 = OpLabel
|
||
|
%171 = OpAccessChain %_ptr_Function_int %tree %158 %uint_1
|
||
|
%172 = OpLoad %int %171
|
||
|
%173 = OpIEqual %bool %172 %int_n1
|
||
|
OpSelectionMerge %174 None
|
||
|
OpBranchConditional %173 %175 %176
|
||
|
%175 = OpLabel
|
||
|
%177 = OpAccessChain %_ptr_Function_int %tree %158 %uint_1
|
||
|
OpStore %177 %int_3
|
||
|
%178 = OpAccessChain %_ptr_Function_BST %tree %int_3
|
||
|
OpStore %178 %179
|
||
|
OpStore %x_152_phi %true
|
||
|
OpBranch %151
|
||
|
%176 = OpLabel
|
||
|
%180 = OpAccessChain %_ptr_Function_int %tree %158 %uint_1
|
||
|
%181 = OpLoad %int %180
|
||
|
OpStore %x_150 %181
|
||
|
%182 = OpLoad %int %x_150
|
||
|
OpStore %x_125_phi %182
|
||
|
OpBranch %152
|
||
|
%174 = OpLabel
|
||
|
OpReturn
|
||
|
%170 = OpLabel
|
||
|
%183 = OpAccessChain %_ptr_Function_int %tree %158 %uint_2
|
||
|
%184 = OpLoad %int %183
|
||
|
%185 = OpIEqual %bool %184 %int_n1
|
||
|
OpSelectionMerge %186 None
|
||
|
OpBranchConditional %185 %187 %188
|
||
|
%187 = OpLabel
|
||
|
%189 = OpAccessChain %_ptr_Function_int %tree %158 %uint_2
|
||
|
OpStore %189 %int_3
|
||
|
%190 = OpAccessChain %_ptr_Function_BST %tree %int_3
|
||
|
OpStore %190 %179
|
||
|
OpStore %x_152_phi %true
|
||
|
OpBranch %151
|
||
|
%188 = OpLabel
|
||
|
%191 = OpAccessChain %_ptr_Function_int %tree %158 %uint_2
|
||
|
%192 = OpLoad %int %191
|
||
|
OpStore %x_142 %192
|
||
|
%193 = OpLoad %int %x_142
|
||
|
OpStore %x_125_phi %193
|
||
|
OpBranch %152
|
||
|
%186 = OpLabel
|
||
|
OpReturn
|
||
|
%168 = OpLabel
|
||
|
OpReturn
|
||
|
%152 = OpLabel
|
||
|
%194 = OpLoad %int %x_125_phi
|
||
|
OpStore %x_125 %194
|
||
|
%195 = OpLoad %int %x_125
|
||
|
OpStore %x_124_phi %195
|
||
|
OpBranch %150
|
||
|
%151 = OpLabel
|
||
|
%196 = OpLoad %bool %x_152_phi
|
||
|
OpSelectionMerge %197 None
|
||
|
OpBranchConditional %196 %198 %197
|
||
|
%198 = OpLabel
|
||
|
OpBranch %148
|
||
|
%197 = OpLabel
|
||
|
OpBranch %148
|
||
|
%148 = OpLabel
|
||
|
OpSelectionMerge %201 None
|
||
|
OpSwitch %uint_0 %202
|
||
|
%202 = OpLabel
|
||
|
OpStore %x_157_phi %int_0
|
||
|
OpBranch %203
|
||
|
%203 = OpLabel
|
||
|
OpLoopMerge %204 %205 None
|
||
|
OpBranch %206
|
||
|
%206 = OpLabel
|
||
|
%211 = OpLoad %int %x_157_phi
|
||
|
OpStore %x_185_phi %false
|
||
|
%213 = OpSLessThanEqual %bool %211 %int_4
|
||
|
OpSelectionMerge %214 None
|
||
|
OpBranchConditional %213 %215 %216
|
||
|
%215 = OpLabel
|
||
|
OpBranch %214
|
||
|
%216 = OpLabel
|
||
|
OpBranch %204
|
||
|
%214 = OpLabel
|
||
|
%217 = OpAccessChain %_ptr_Function_int %tree %211 %uint_0
|
||
|
%218 = OpLoad %int %217
|
||
|
%220 = OpSLessThanEqual %bool %int_7 %218
|
||
|
OpSelectionMerge %221 None
|
||
|
OpBranchConditional %220 %222 %223
|
||
|
%222 = OpLabel
|
||
|
%224 = OpAccessChain %_ptr_Function_int %tree %211 %uint_1
|
||
|
%225 = OpLoad %int %224
|
||
|
%226 = OpIEqual %bool %225 %int_n1
|
||
|
OpSelectionMerge %227 None
|
||
|
OpBranchConditional %226 %228 %229
|
||
|
%228 = OpLabel
|
||
|
%230 = OpAccessChain %_ptr_Function_int %tree %211 %uint_1
|
||
|
OpStore %230 %int_4
|
||
|
%231 = OpAccessChain %_ptr_Function_BST %tree %int_4
|
||
|
OpStore %231 %232
|
||
|
OpStore %x_185_phi %true
|
||
|
OpBranch %204
|
||
|
%229 = OpLabel
|
||
|
%233 = OpAccessChain %_ptr_Function_int %tree %211 %uint_1
|
||
|
%234 = OpLoad %int %233
|
||
|
OpStore %x_183 %234
|
||
|
%235 = OpLoad %int %x_183
|
||
|
OpStore %x_158_phi %235
|
||
|
OpBranch %205
|
||
|
%227 = OpLabel
|
||
|
OpReturn
|
||
|
%223 = OpLabel
|
||
|
%236 = OpAccessChain %_ptr_Function_int %tree %211 %uint_2
|
||
|
%237 = OpLoad %int %236
|
||
|
%238 = OpIEqual %bool %237 %int_n1
|
||
|
OpSelectionMerge %239 None
|
||
|
OpBranchConditional %238 %240 %241
|
||
|
%240 = OpLabel
|
||
|
%242 = OpAccessChain %_ptr_Function_int %tree %211 %uint_2
|
||
|
OpStore %242 %int_4
|
||
|
%243 = OpAccessChain %_ptr_Function_BST %tree %int_4
|
||
|
OpStore %243 %232
|
||
|
OpStore %x_185_phi %true
|
||
|
OpBranch %204
|
||
|
%241 = OpLabel
|
||
|
%244 = OpAccessChain %_ptr_Function_int %tree %211 %uint_2
|
||
|
%245 = OpLoad %int %244
|
||
|
OpStore %x_175 %245
|
||
|
%246 = OpLoad %int %x_175
|
||
|
OpStore %x_158_phi %246
|
||
|
OpBranch %205
|
||
|
%239 = OpLabel
|
||
|
OpReturn
|
||
|
%221 = OpLabel
|
||
|
OpReturn
|
||
|
%205 = OpLabel
|
||
|
%247 = OpLoad %int %x_158_phi
|
||
|
OpStore %x_158 %247
|
||
|
%248 = OpLoad %int %x_158
|
||
|
OpStore %x_157_phi %248
|
||
|
OpBranch %203
|
||
|
%204 = OpLabel
|
||
|
%249 = OpLoad %bool %x_185_phi
|
||
|
OpSelectionMerge %250 None
|
||
|
OpBranchConditional %249 %251 %250
|
||
|
%251 = OpLabel
|
||
|
OpBranch %201
|
||
|
%250 = OpLabel
|
||
|
OpBranch %201
|
||
|
%201 = OpLabel
|
||
|
OpSelectionMerge %254 None
|
||
|
OpSwitch %uint_0 %255
|
||
|
%255 = OpLabel
|
||
|
OpStore %x_190_phi %int_0
|
||
|
OpBranch %256
|
||
|
%256 = OpLabel
|
||
|
OpLoopMerge %257 %258 None
|
||
|
OpBranch %259
|
||
|
%259 = OpLabel
|
||
|
%264 = OpLoad %int %x_190_phi
|
||
|
OpStore %x_218_phi %false
|
||
|
%265 = OpSLessThanEqual %bool %264 %int_5
|
||
|
OpSelectionMerge %266 None
|
||
|
OpBranchConditional %265 %267 %268
|
||
|
%267 = OpLabel
|
||
|
OpBranch %266
|
||
|
%268 = OpLabel
|
||
|
OpBranch %257
|
||
|
%266 = OpLabel
|
||
|
%269 = OpAccessChain %_ptr_Function_int %tree %264 %uint_0
|
||
|
%270 = OpLoad %int %269
|
||
|
%272 = OpSLessThanEqual %bool %int_8 %270
|
||
|
OpSelectionMerge %273 None
|
||
|
OpBranchConditional %272 %274 %275
|
||
|
%274 = OpLabel
|
||
|
%276 = OpAccessChain %_ptr_Function_int %tree %264 %uint_1
|
||
|
%277 = OpLoad %int %276
|
||
|
%278 = OpIEqual %bool %277 %int_n1
|
||
|
OpSelectionMerge %279 None
|
||
|
OpBranchConditional %278 %280 %281
|
||
|
%280 = OpLabel
|
||
|
%282 = OpAccessChain %_ptr_Function_int %tree %264 %uint_1
|
||
|
OpStore %282 %int_5
|
||
|
%283 = OpAccessChain %_ptr_Function_BST %tree %int_5
|
||
|
OpStore %283 %284
|
||
|
OpStore %x_218_phi %true
|
||
|
OpBranch %257
|
||
|
%281 = OpLabel
|
||
|
%285 = OpAccessChain %_ptr_Function_int %tree %264 %uint_1
|
||
|
%286 = OpLoad %int %285
|
||
|
OpStore %x_216 %286
|
||
|
%287 = OpLoad %int %x_216
|
||
|
OpStore %x_191_phi %287
|
||
|
OpBranch %258
|
||
|
%279 = OpLabel
|
||
|
OpReturn
|
||
|
%275 = OpLabel
|
||
|
%288 = OpAccessChain %_ptr_Function_int %tree %264 %uint_2
|
||
|
%289 = OpLoad %int %288
|
||
|
%290 = OpIEqual %bool %289 %int_n1
|
||
|
OpSelectionMerge %291 None
|
||
|
OpBranchConditional %290 %292 %293
|
||
|
%292 = OpLabel
|
||
|
%294 = OpAccessChain %_ptr_Function_int %tree %264 %uint_2
|
||
|
OpStore %294 %int_5
|
||
|
%295 = OpAccessChain %_ptr_Function_BST %tree %int_5
|
||
|
OpStore %295 %284
|
||
|
OpStore %x_218_phi %true
|
||
|
OpBranch %257
|
||
|
%293 = OpLabel
|
||
|
%296 = OpAccessChain %_ptr_Function_int %tree %264 %uint_2
|
||
|
%297 = OpLoad %int %296
|
||
|
OpStore %x_208 %297
|
||
|
%298 = OpLoad %int %x_208
|
||
|
OpStore %x_191_phi %298
|
||
|
OpBranch %258
|
||
|
%291 = OpLabel
|
||
|
OpReturn
|
||
|
%273 = OpLabel
|
||
|
OpReturn
|
||
|
%258 = OpLabel
|
||
|
%299 = OpLoad %int %x_191_phi
|
||
|
OpStore %x_191 %299
|
||
|
%300 = OpLoad %int %x_191
|
||
|
OpStore %x_190_phi %300
|
||
|
OpBranch %256
|
||
|
%257 = OpLabel
|
||
|
%301 = OpLoad %bool %x_218_phi
|
||
|
OpSelectionMerge %302 None
|
||
|
OpBranchConditional %301 %303 %302
|
||
|
%303 = OpLabel
|
||
|
OpBranch %254
|
||
|
%302 = OpLabel
|
||
|
OpBranch %254
|
||
|
%254 = OpLabel
|
||
|
OpSelectionMerge %306 None
|
||
|
OpSwitch %uint_0 %307
|
||
|
%307 = OpLabel
|
||
|
OpStore %x_223_phi %int_0
|
||
|
OpBranch %308
|
||
|
%308 = OpLabel
|
||
|
OpLoopMerge %309 %310 None
|
||
|
OpBranch %311
|
||
|
%311 = OpLabel
|
||
|
%316 = OpLoad %int %x_223_phi
|
||
|
OpStore %x_251_phi %false
|
||
|
%318 = OpSLessThanEqual %bool %316 %int_6
|
||
|
OpSelectionMerge %319 None
|
||
|
OpBranchConditional %318 %320 %321
|
||
|
%320 = OpLabel
|
||
|
OpBranch %319
|
||
|
%321 = OpLabel
|
||
|
OpBranch %309
|
||
|
%319 = OpLabel
|
||
|
%322 = OpAccessChain %_ptr_Function_int %tree %316 %uint_0
|
||
|
%323 = OpLoad %int %322
|
||
|
%324 = OpSLessThanEqual %bool %int_2 %323
|
||
|
OpSelectionMerge %325 None
|
||
|
OpBranchConditional %324 %326 %327
|
||
|
%326 = OpLabel
|
||
|
%328 = OpAccessChain %_ptr_Function_int %tree %316 %uint_1
|
||
|
%329 = OpLoad %int %328
|
||
|
%330 = OpIEqual %bool %329 %int_n1
|
||
|
OpSelectionMerge %331 None
|
||
|
OpBranchConditional %330 %332 %333
|
||
|
%332 = OpLabel
|
||
|
%334 = OpAccessChain %_ptr_Function_int %tree %316 %uint_1
|
||
|
OpStore %334 %int_6
|
||
|
%335 = OpAccessChain %_ptr_Function_BST %tree %int_6
|
||
|
OpStore %335 %336
|
||
|
OpStore %x_251_phi %true
|
||
|
OpBranch %309
|
||
|
%333 = OpLabel
|
||
|
%337 = OpAccessChain %_ptr_Function_int %tree %316 %uint_1
|
||
|
%338 = OpLoad %int %337
|
||
|
OpStore %x_249 %338
|
||
|
%339 = OpLoad %int %x_249
|
||
|
OpStore %x_224_phi %339
|
||
|
OpBranch %310
|
||
|
%331 = OpLabel
|
||
|
OpReturn
|
||
|
%327 = OpLabel
|
||
|
%340 = OpAccessChain %_ptr_Function_int %tree %316 %uint_2
|
||
|
%341 = OpLoad %int %340
|
||
|
%342 = OpIEqual %bool %341 %int_n1
|
||
|
OpSelectionMerge %343 None
|
||
|
OpBranchConditional %342 %344 %345
|
||
|
%344 = OpLabel
|
||
|
%346 = OpAccessChain %_ptr_Function_int %tree %316 %uint_2
|
||
|
OpStore %346 %int_6
|
||
|
%347 = OpAccessChain %_ptr_Function_BST %tree %int_6
|
||
|
OpStore %347 %336
|
||
|
OpStore %x_251_phi %true
|
||
|
OpBranch %309
|
||
|
%345 = OpLabel
|
||
|
%348 = OpAccessChain %_ptr_Function_int %tree %316 %uint_2
|
||
|
%349 = OpLoad %int %348
|
||
|
OpStore %x_241 %349
|
||
|
%350 = OpLoad %int %x_241
|
||
|
OpStore %x_224_phi %350
|
||
|
OpBranch %310
|
||
|
%343 = OpLabel
|
||
|
OpReturn
|
||
|
%325 = OpLabel
|
||
|
OpReturn
|
||
|
%310 = OpLabel
|
||
|
%351 = OpLoad %int %x_224_phi
|
||
|
OpStore %x_224 %351
|
||
|
%352 = OpLoad %int %x_224
|
||
|
OpStore %x_223_phi %352
|
||
|
OpBranch %308
|
||
|
%309 = OpLabel
|
||
|
%353 = OpLoad %bool %x_251_phi
|
||
|
OpSelectionMerge %354 None
|
||
|
OpBranchConditional %353 %355 %354
|
||
|
%355 = OpLabel
|
||
|
OpBranch %306
|
||
|
%354 = OpLabel
|
||
|
OpBranch %306
|
||
|
%306 = OpLabel
|
||
|
OpSelectionMerge %358 None
|
||
|
OpSwitch %uint_0 %359
|
||
|
%359 = OpLabel
|
||
|
OpStore %x_256_phi %int_0
|
||
|
OpBranch %360
|
||
|
%360 = OpLabel
|
||
|
OpLoopMerge %361 %362 None
|
||
|
OpBranch %363
|
||
|
%363 = OpLabel
|
||
|
%368 = OpLoad %int %x_256_phi
|
||
|
OpStore %x_284_phi %false
|
||
|
%369 = OpSLessThanEqual %bool %368 %int_7
|
||
|
OpSelectionMerge %370 None
|
||
|
OpBranchConditional %369 %371 %372
|
||
|
%371 = OpLabel
|
||
|
OpBranch %370
|
||
|
%372 = OpLabel
|
||
|
OpBranch %361
|
||
|
%370 = OpLabel
|
||
|
%373 = OpAccessChain %_ptr_Function_int %tree %368 %uint_0
|
||
|
%374 = OpLoad %int %373
|
||
|
%375 = OpSLessThanEqual %bool %int_6 %374
|
||
|
OpSelectionMerge %376 None
|
||
|
OpBranchConditional %375 %377 %378
|
||
|
%377 = OpLabel
|
||
|
%379 = OpAccessChain %_ptr_Function_int %tree %368 %uint_1
|
||
|
%380 = OpLoad %int %379
|
||
|
%381 = OpIEqual %bool %380 %int_n1
|
||
|
OpSelectionMerge %382 None
|
||
|
OpBranchConditional %381 %383 %384
|
||
|
%383 = OpLabel
|
||
|
%385 = OpAccessChain %_ptr_Function_int %tree %368 %uint_1
|
||
|
OpStore %385 %int_7
|
||
|
%386 = OpAccessChain %_ptr_Function_BST %tree %int_7
|
||
|
OpStore %386 %387
|
||
|
OpStore %x_284_phi %true
|
||
|
OpBranch %361
|
||
|
%384 = OpLabel
|
||
|
%388 = OpAccessChain %_ptr_Function_int %tree %368 %uint_1
|
||
|
%389 = OpLoad %int %388
|
||
|
OpStore %x_282 %389
|
||
|
%390 = OpLoad %int %x_282
|
||
|
OpStore %x_257_phi %390
|
||
|
OpBranch %362
|
||
|
%382 = OpLabel
|
||
|
OpReturn
|
||
|
%378 = OpLabel
|
||
|
%391 = OpAccessChain %_ptr_Function_int %tree %368 %uint_2
|
||
|
%392 = OpLoad %int %391
|
||
|
%393 = OpIEqual %bool %392 %int_n1
|
||
|
OpSelectionMerge %394 None
|
||
|
OpBranchConditional %393 %395 %396
|
||
|
%395 = OpLabel
|
||
|
%397 = OpAccessChain %_ptr_Function_int %tree %368 %uint_2
|
||
|
OpStore %397 %int_7
|
||
|
%398 = OpAccessChain %_ptr_Function_BST %tree %int_7
|
||
|
OpStore %398 %387
|
||
|
OpStore %x_284_phi %true
|
||
|
OpBranch %361
|
||
|
%396 = OpLabel
|
||
|
%399 = OpAccessChain %_ptr_Function_int %tree %368 %uint_2
|
||
|
%400 = OpLoad %int %399
|
||
|
OpStore %x_274 %400
|
||
|
%401 = OpLoad %int %x_274
|
||
|
OpStore %x_257_phi %401
|
||
|
OpBranch %362
|
||
|
%394 = OpLabel
|
||
|
OpReturn
|
||
|
%376 = OpLabel
|
||
|
OpReturn
|
||
|
%362 = OpLabel
|
||
|
%402 = OpLoad %int %x_257_phi
|
||
|
OpStore %x_257 %402
|
||
|
%403 = OpLoad %int %x_257
|
||
|
OpStore %x_256_phi %403
|
||
|
OpBranch %360
|
||
|
%361 = OpLabel
|
||
|
%404 = OpLoad %bool %x_284_phi
|
||
|
OpSelectionMerge %405 None
|
||
|
OpBranchConditional %404 %406 %405
|
||
|
%406 = OpLabel
|
||
|
OpBranch %358
|
||
|
%405 = OpLabel
|
||
|
OpBranch %358
|
||
|
%358 = OpLabel
|
||
|
OpSelectionMerge %409 None
|
||
|
OpSwitch %uint_0 %410
|
||
|
%410 = OpLabel
|
||
|
OpStore %x_289_phi %int_0
|
||
|
OpBranch %411
|
||
|
%411 = OpLabel
|
||
|
OpLoopMerge %412 %413 None
|
||
|
OpBranch %414
|
||
|
%414 = OpLabel
|
||
|
%419 = OpLoad %int %x_289_phi
|
||
|
OpStore %x_317_phi %false
|
||
|
%420 = OpSLessThanEqual %bool %419 %int_8
|
||
|
OpSelectionMerge %421 None
|
||
|
OpBranchConditional %420 %422 %423
|
||
|
%422 = OpLabel
|
||
|
OpBranch %421
|
||
|
%423 = OpLabel
|
||
|
OpBranch %412
|
||
|
%421 = OpLabel
|
||
|
%424 = OpAccessChain %_ptr_Function_int %tree %419 %uint_0
|
||
|
%425 = OpLoad %int %424
|
||
|
%427 = OpSLessThanEqual %bool %int_17 %425
|
||
|
OpSelectionMerge %428 None
|
||
|
OpBranchConditional %427 %429 %430
|
||
|
%429 = OpLabel
|
||
|
%431 = OpAccessChain %_ptr_Function_int %tree %419 %uint_1
|
||
|
%432 = OpLoad %int %431
|
||
|
%433 = OpIEqual %bool %432 %int_n1
|
||
|
OpSelectionMerge %434 None
|
||
|
OpBranchConditional %433 %435 %436
|
||
|
%435 = OpLabel
|
||
|
%437 = OpAccessChain %_ptr_Function_int %tree %419 %uint_1
|
||
|
OpStore %437 %int_8
|
||
|
%438 = OpAccessChain %_ptr_Function_BST %tree %int_8
|
||
|
OpStore %438 %439
|
||
|
OpStore %x_317_phi %true
|
||
|
OpBranch %412
|
||
|
%436 = OpLabel
|
||
|
%440 = OpAccessChain %_ptr_Function_int %tree %419 %uint_1
|
||
|
%441 = OpLoad %int %440
|
||
|
OpStore %x_315 %441
|
||
|
%442 = OpLoad %int %x_315
|
||
|
OpStore %x_290_phi %442
|
||
|
OpBranch %413
|
||
|
%434 = OpLabel
|
||
|
OpReturn
|
||
|
%430 = OpLabel
|
||
|
%443 = OpAccessChain %_ptr_Function_int %tree %419 %uint_2
|
||
|
%444 = OpLoad %int %443
|
||
|
%445 = OpIEqual %bool %444 %int_n1
|
||
|
OpSelectionMerge %446 None
|
||
|
OpBranchConditional %445 %447 %448
|
||
|
%447 = OpLabel
|
||
|
%449 = OpAccessChain %_ptr_Function_int %tree %419 %uint_2
|
||
|
OpStore %449 %int_8
|
||
|
%450 = OpAccessChain %_ptr_Function_BST %tree %int_8
|
||
|
OpStore %450 %439
|
||
|
OpStore %x_317_phi %true
|
||
|
OpBranch %412
|
||
|
%448 = OpLabel
|
||
|
%451 = OpAccessChain %_ptr_Function_int %tree %419 %uint_2
|
||
|
%452 = OpLoad %int %451
|
||
|
OpStore %x_307 %452
|
||
|
%453 = OpLoad %int %x_307
|
||
|
OpStore %x_290_phi %453
|
||
|
OpBranch %413
|
||
|
%446 = OpLabel
|
||
|
OpReturn
|
||
|
%428 = OpLabel
|
||
|
OpReturn
|
||
|
%413 = OpLabel
|
||
|
%454 = OpLoad %int %x_290_phi
|
||
|
OpStore %x_290 %454
|
||
|
%455 = OpLoad %int %x_290
|
||
|
OpStore %x_289_phi %455
|
||
|
OpBranch %411
|
||
|
%412 = OpLabel
|
||
|
%456 = OpLoad %bool %x_317_phi
|
||
|
OpSelectionMerge %457 None
|
||
|
OpBranchConditional %456 %458 %457
|
||
|
%458 = OpLabel
|
||
|
OpBranch %409
|
||
|
%457 = OpLabel
|
||
|
OpBranch %409
|
||
|
%409 = OpLabel
|
||
|
OpSelectionMerge %461 None
|
||
|
OpSwitch %uint_0 %462
|
||
|
%462 = OpLabel
|
||
|
OpStore %x_322_phi %int_0
|
||
|
OpBranch %463
|
||
|
%463 = OpLabel
|
||
|
OpLoopMerge %464 %465 None
|
||
|
OpBranch %466
|
||
|
%466 = OpLabel
|
||
|
%471 = OpLoad %int %x_322_phi
|
||
|
OpStore %x_350_phi %false
|
||
|
%472 = OpSLessThanEqual %bool %471 %int_9
|
||
|
OpSelectionMerge %473 None
|
||
|
OpBranchConditional %472 %474 %475
|
||
|
%474 = OpLabel
|
||
|
OpBranch %473
|
||
|
%475 = OpLabel
|
||
|
OpBranch %464
|
||
|
%473 = OpLabel
|
||
|
%476 = OpAccessChain %_ptr_Function_int %tree %471 %uint_0
|
||
|
%477 = OpLoad %int %476
|
||
|
%479 = OpSLessThanEqual %bool %int_13 %477
|
||
|
OpSelectionMerge %480 None
|
||
|
OpBranchConditional %479 %481 %482
|
||
|
%481 = OpLabel
|
||
|
%483 = OpAccessChain %_ptr_Function_int %tree %471 %uint_1
|
||
|
%484 = OpLoad %int %483
|
||
|
%485 = OpIEqual %bool %484 %int_n1
|
||
|
OpSelectionMerge %486 None
|
||
|
OpBranchConditional %485 %487 %488
|
||
|
%487 = OpLabel
|
||
|
%489 = OpAccessChain %_ptr_Function_int %tree %471 %uint_1
|
||
|
OpStore %489 %int_9
|
||
|
%490 = OpAccessChain %_ptr_Function_BST %tree %int_9
|
||
|
OpStore %490 %491
|
||
|
OpStore %x_350_phi %true
|
||
|
OpBranch %464
|
||
|
%488 = OpLabel
|
||
|
%492 = OpAccessChain %_ptr_Function_int %tree %471 %uint_1
|
||
|
%493 = OpLoad %int %492
|
||
|
OpStore %x_348 %493
|
||
|
%494 = OpLoad %int %x_348
|
||
|
OpStore %x_323_phi %494
|
||
|
OpBranch %465
|
||
|
%486 = OpLabel
|
||
|
OpReturn
|
||
|
%482 = OpLabel
|
||
|
%495 = OpAccessChain %_ptr_Function_int %tree %471 %uint_2
|
||
|
%496 = OpLoad %int %495
|
||
|
%497 = OpIEqual %bool %496 %int_n1
|
||
|
OpSelectionMerge %498 None
|
||
|
OpBranchConditional %497 %499 %500
|
||
|
%499 = OpLabel
|
||
|
%501 = OpAccessChain %_ptr_Function_int %tree %471 %uint_2
|
||
|
OpStore %501 %int_9
|
||
|
%502 = OpAccessChain %_ptr_Function_BST %tree %int_9
|
||
|
OpStore %502 %491
|
||
|
OpStore %x_350_phi %true
|
||
|
OpBranch %464
|
||
|
%500 = OpLabel
|
||
|
%503 = OpAccessChain %_ptr_Function_int %tree %471 %uint_2
|
||
|
%504 = OpLoad %int %503
|
||
|
OpStore %x_340 %504
|
||
|
%505 = OpLoad %int %x_340
|
||
|
OpStore %x_323_phi %505
|
||
|
OpBranch %465
|
||
|
%498 = OpLabel
|
||
|
OpReturn
|
||
|
%480 = OpLabel
|
||
|
OpReturn
|
||
|
%465 = OpLabel
|
||
|
%506 = OpLoad %int %x_323_phi
|
||
|
OpStore %x_323 %506
|
||
|
%507 = OpLoad %int %x_323
|
||
|
OpStore %x_322_phi %507
|
||
|
OpBranch %463
|
||
|
%464 = OpLabel
|
||
|
%508 = OpLoad %bool %x_350_phi
|
||
|
OpSelectionMerge %509 None
|
||
|
OpBranchConditional %508 %510 %509
|
||
|
%510 = OpLabel
|
||
|
OpBranch %461
|
||
|
%509 = OpLabel
|
||
|
OpBranch %461
|
||
|
%461 = OpLabel
|
||
|
OpStore %x_353_phi %int_0
|
||
|
OpStore %x_356_phi %int_0
|
||
|
OpStore %x_358_phi %int_0
|
||
|
OpBranch %511
|
||
|
%511 = OpLabel
|
||
|
OpLoopMerge %512 %513 None
|
||
|
OpBranch %514
|
||
|
%514 = OpLabel
|
||
|
%521 = OpLoad %int %x_353_phi
|
||
|
%522 = OpLoad %int %x_356_phi
|
||
|
OpStore %x_356 %522
|
||
|
%523 = OpLoad %int %x_358_phi
|
||
|
%525 = OpSLessThan %bool %523 %int_20
|
||
|
OpSelectionMerge %526 None
|
||
|
OpBranchConditional %525 %527 %528
|
||
|
%527 = OpLabel
|
||
|
OpBranch %526
|
||
|
%528 = OpLabel
|
||
|
OpBranch %512
|
||
|
%526 = OpLabel
|
||
|
OpSelectionMerge %532 None
|
||
|
OpSwitch %uint_0 %533
|
||
|
%533 = OpLabel
|
||
|
OpStore %x_366_phi %int_0
|
||
|
OpBranch %534
|
||
|
%534 = OpLabel
|
||
|
OpLoopMerge %535 %536 None
|
||
|
OpBranch %537
|
||
|
%537 = OpLabel
|
||
|
%538 = OpLoad %int %x_366_phi
|
||
|
OpStore %x_381_phi %521
|
||
|
OpStore %x_382_phi %false
|
||
|
%539 = OpINotEqual %bool %538 %int_n1
|
||
|
OpSelectionMerge %540 None
|
||
|
OpBranchConditional %539 %541 %542
|
||
|
%541 = OpLabel
|
||
|
OpBranch %540
|
||
|
%542 = OpLabel
|
||
|
OpBranch %535
|
||
|
%540 = OpLabel
|
||
|
%543 = OpAccessChain %_ptr_Function_BST %tree %538
|
||
|
%544 = OpLoad %BST %543
|
||
|
%545 = OpCompositeExtract %int %544 0
|
||
|
%546 = OpCompositeExtract %int %544 1
|
||
|
%547 = OpCompositeExtract %int %544 2
|
||
|
%548 = OpIEqual %bool %545 %523
|
||
|
OpSelectionMerge %549 None
|
||
|
OpBranchConditional %548 %550 %549
|
||
|
%550 = OpLabel
|
||
|
OpStore %x_381_phi %523
|
||
|
OpStore %x_382_phi %true
|
||
|
OpBranch %535
|
||
|
%549 = OpLabel
|
||
|
OpBranch %536
|
||
|
%536 = OpLabel
|
||
|
%552 = OpSGreaterThan %bool %523 %545
|
||
|
%551 = OpSelect %int %552 %547 %546
|
||
|
OpStore %x_366_phi %551
|
||
|
OpBranch %534
|
||
|
%535 = OpLabel
|
||
|
%553 = OpLoad %int %x_381_phi
|
||
|
OpStore %x_381 %553
|
||
|
%554 = OpLoad %bool %x_382_phi
|
||
|
%555 = OpLoad %int %x_381
|
||
|
OpStore %x_354_phi %555
|
||
|
OpSelectionMerge %556 None
|
||
|
OpBranchConditional %554 %557 %556
|
||
|
%557 = OpLabel
|
||
|
OpBranch %532
|
||
|
%556 = OpLabel
|
||
|
OpStore %x_354_phi %int_n1
|
||
|
OpBranch %532
|
||
|
%532 = OpLabel
|
||
|
%563 = OpLoad %int %x_354_phi
|
||
|
OpStore %x_354 %563
|
||
|
OpSelectionMerge %564 None
|
||
|
OpSwitch %523 %565 2 %566 5 %566 6 %566 7 %566 8 %566 9 %566 12 %566 13 %566 15 %566 17 %566
|
||
|
%566 = OpLabel
|
||
|
%567 = OpLoad %int %x_356
|
||
|
OpStore %x_391_phi %567
|
||
|
%568 = OpLoad %int %x_354
|
||
|
%569 = OpCopyObject %int %523
|
||
|
%570 = OpIEqual %bool %568 %569
|
||
|
OpSelectionMerge %571 None
|
||
|
OpBranchConditional %570 %572 %571
|
||
|
%572 = OpLabel
|
||
|
%574 = OpLoad %int %x_356
|
||
|
%575 = OpCopyObject %int %int_1
|
||
|
%576 = OpIAdd %int %574 %575
|
||
|
%573 = OpCopyObject %int %576
|
||
|
OpStore %x_390 %573
|
||
|
%577 = OpLoad %int %x_390
|
||
|
OpStore %x_391_phi %577
|
||
|
OpBranch %571
|
||
|
%571 = OpLabel
|
||
|
%578 = OpLoad %int %x_391_phi
|
||
|
OpStore %x_391 %578
|
||
|
%579 = OpLoad %int %x_391
|
||
|
OpStore %x_357_phi %579
|
||
|
OpBranch %564
|
||
|
%565 = OpLabel
|
||
|
%580 = OpLoad %int %x_356
|
||
|
OpStore %x_396_phi %580
|
||
|
%581 = OpLoad %int %x_354
|
||
|
%582 = OpCopyObject %int %int_n1
|
||
|
%583 = OpIEqual %bool %581 %582
|
||
|
OpSelectionMerge %584 None
|
||
|
OpBranchConditional %583 %585 %584
|
||
|
%585 = OpLabel
|
||
|
%587 = OpLoad %int %x_356
|
||
|
%588 = OpCopyObject %int %int_1
|
||
|
%589 = OpIAdd %int %587 %588
|
||
|
%586 = OpCopyObject %int %589
|
||
|
OpStore %x_395 %586
|
||
|
%590 = OpLoad %int %x_395
|
||
|
OpStore %x_396_phi %590
|
||
|
OpBranch %584
|
||
|
%584 = OpLabel
|
||
|
%591 = OpLoad %int %x_396_phi
|
||
|
OpStore %x_396 %591
|
||
|
%592 = OpLoad %int %x_396
|
||
|
OpStore %x_357_phi %592
|
||
|
OpBranch %564
|
||
|
%564 = OpLabel
|
||
|
%593 = OpLoad %int %x_357_phi
|
||
|
OpBranch %513
|
||
|
%513 = OpLabel
|
||
|
%594 = OpIAdd %int %523 %int_1
|
||
|
OpStore %x_359 %594
|
||
|
%595 = OpLoad %int %x_354
|
||
|
OpStore %x_353_phi %595
|
||
|
OpStore %x_356_phi %593
|
||
|
%596 = OpLoad %int %x_359
|
||
|
OpStore %x_358_phi %596
|
||
|
OpBranch %511
|
||
|
%512 = OpLabel
|
||
|
%597 = OpLoad %int %x_356
|
||
|
%598 = OpCopyObject %int %int_20
|
||
|
%599 = OpIEqual %bool %597 %598
|
||
|
OpSelectionMerge %600 None
|
||
|
OpBranchConditional %599 %601 %602
|
||
|
%601 = OpLabel
|
||
|
OpStore %x_GLF_color %605
|
||
|
OpBranch %600
|
||
|
%602 = OpLabel
|
||
|
OpStore %x_GLF_color %606
|
||
|
OpBranch %600
|
||
|
%600 = OpLabel
|
||
|
OpReturn
|
||
|
OpFunctionEnd
|
||
|
%tint_symbol_2 = OpFunction %void None %607
|
||
|
%tint_symbol = OpFunctionParameter %main_out
|
||
|
%611 = OpLabel
|
||
|
%612 = OpCompositeExtract %v4float %tint_symbol 0
|
||
|
OpStore %tint_symbol_1 %612
|
||
|
OpReturn
|
||
|
OpFunctionEnd
|
||
|
%main = OpFunction %void None %8
|
||
|
%614 = OpLabel
|
||
|
%615 = OpFunctionCall %void %main_1
|
||
|
%617 = OpLoad %v4float %x_GLF_color
|
||
|
%618 = OpCompositeConstruct %main_out %617
|
||
|
%616 = OpFunctionCall %void %tint_symbol_2 %618
|
||
|
OpReturn
|
||
|
OpFunctionEnd
|