|  | ; SPIR-V | 
|  | ; Version: 1.3 | 
|  | ; Generator: Google Tint Compiler; 1 | 
|  | ; Bound: 31 | 
|  | ; Schema: 0 | 
|  | OpCapability Shader | 
|  | OpMemoryModel Logical GLSL450 | 
|  | OpEntryPoint GLCompute %main "main" | 
|  | OpExecutionMode %main LocalSize 1 1 1 | 
|  | OpName %main "main" | 
|  | OpName %j "j" | 
|  | OpName %i "i" | 
|  | %void = OpTypeVoid | 
|  | %3 = OpTypeFunction %void | 
|  | %int = OpTypeInt 32 1 | 
|  | %_ptr_Function_int = OpTypePointer Function %int | 
|  | %int_0 = OpConstant %int 0 | 
|  | %int_2 = OpConstant %int 2 | 
|  | %bool = OpTypeBool | 
|  | %main = OpFunction %void None %3 | 
|  | %4 = OpLabel | 
|  | %j = OpVariable %_ptr_Function_int Function | 
|  | %i = OpVariable %_ptr_Function_int Function | 
|  | OpStore %j %int_0 | 
|  | OpBranch %9 | 
|  | %9 = OpLabel | 
|  | OpStore %i %int_0 | 
|  | OpBranch %12 | 
|  | %12 = OpLabel | 
|  | OpLoopMerge %13 %11 None | 
|  | OpBranch %10 | 
|  | %10 = OpLabel | 
|  | %15 = OpLoad %int %i | 
|  | %16 = OpSLessThan %bool %15 %int_2 | 
|  | OpSelectionMerge %19 None | 
|  | OpBranchConditional %16 %19 %20 | 
|  | %20 = OpLabel | 
|  | OpBranch %13 | 
|  | %19 = OpLabel | 
|  | %21 = OpLoad %int %i | 
|  | OpSelectionMerge %24 None | 
|  | OpSwitch %21 %22 0 %23 | 
|  | %23 = OpLabel | 
|  | %25 = OpLoad %int %j | 
|  | OpSelectionMerge %28 None | 
|  | OpSwitch %25 %26 0 %27 | 
|  | %27 = OpLabel | 
|  | OpBranch %11 | 
|  | %26 = OpLabel | 
|  | OpBranch %28 | 
|  | %28 = OpLabel | 
|  | OpBranch %24 | 
|  | %22 = OpLabel | 
|  | OpBranch %24 | 
|  | %24 = OpLabel | 
|  | OpBranch %11 | 
|  | %11 = OpLabel | 
|  | %29 = OpLoad %int %i | 
|  | %30 = OpIAdd %int %29 %int_2 | 
|  | OpStore %i %30 | 
|  | OpBranch %12 | 
|  | %13 = OpLabel | 
|  | OpReturn | 
|  | OpFunctionEnd |