| ; SPIR-V | 
 | ; Version: 1.3 | 
 | ; Generator: Google Tint Compiler; 0 | 
 | ; Bound: 66 | 
 | ; Schema: 0 | 
 |                OpCapability Shader | 
 |                OpMemoryModel Logical GLSL450 | 
 |                OpEntryPoint GLCompute %main "main" | 
 |                OpExecutionMode %main LocalSize 1 1 1 | 
 |                OpName %deref_const "deref_const" | 
 |                OpName %a "a" | 
 |                OpName %b "b" | 
 |                OpName %no_deref_const "no_deref_const" | 
 |                OpName %a_0 "a" | 
 |                OpName %b_0 "b" | 
 |                OpName %deref_let "deref_let" | 
 |                OpName %a_1 "a" | 
 |                OpName %b_1 "b" | 
 |                OpName %no_deref_let "no_deref_let" | 
 |                OpName %a_2 "a" | 
 |                OpName %b_2 "b" | 
 |                OpName %deref_var "deref_var" | 
 |                OpName %a_3 "a" | 
 |                OpName %i "i" | 
 |                OpName %b_3 "b" | 
 |                OpName %no_deref_var "no_deref_var" | 
 |                OpName %a_4 "a" | 
 |                OpName %i_0 "i" | 
 |                OpName %b_4 "b" | 
 |                OpName %main "main" | 
 |                OpDecorate %_arr_int_uint_10 ArrayStride 4 | 
 |        %void = OpTypeVoid | 
 |           %1 = OpTypeFunction %void | 
 |         %int = OpTypeInt 32 1 | 
 |        %uint = OpTypeInt 32 0 | 
 |     %uint_10 = OpConstant %uint 10 | 
 | %_arr_int_uint_10 = OpTypeArray %int %uint_10 | 
 | %_ptr_Function__arr_int_uint_10 = OpTypePointer Function %_arr_int_uint_10 | 
 |          %11 = OpConstantNull %_arr_int_uint_10 | 
 |          %12 = OpConstantNull %int | 
 | %_ptr_Function_int = OpTypePointer Function %int | 
 |      %int_42 = OpConstant %int 42 | 
 | %deref_const = OpFunction %void None %1 | 
 |           %4 = OpLabel | 
 |           %a = OpVariable %_ptr_Function__arr_int_uint_10 Function %11 | 
 |           %b = OpVariable %_ptr_Function_int Function %12 | 
 |          %14 = OpAccessChain %_ptr_Function_int %a %12 | 
 |          %15 = OpLoad %int %14 | 
 |                OpStore %b %15 | 
 |          %17 = OpAccessChain %_ptr_Function_int %a %12 | 
 |                OpStore %17 %int_42 | 
 |                OpReturn | 
 |                OpFunctionEnd | 
 | %no_deref_const = OpFunction %void None %1 | 
 |          %20 = OpLabel | 
 |         %a_0 = OpVariable %_ptr_Function__arr_int_uint_10 Function %11 | 
 |         %b_0 = OpVariable %_ptr_Function_int Function %12 | 
 |          %22 = OpAccessChain %_ptr_Function_int %a_0 %12 | 
 |          %23 = OpLoad %int %22 | 
 |                OpStore %b_0 %23 | 
 |          %25 = OpAccessChain %_ptr_Function_int %a_0 %12 | 
 |                OpStore %25 %int_42 | 
 |                OpReturn | 
 |                OpFunctionEnd | 
 |   %deref_let = OpFunction %void None %1 | 
 |          %27 = OpLabel | 
 |         %a_1 = OpVariable %_ptr_Function__arr_int_uint_10 Function %11 | 
 |         %b_1 = OpVariable %_ptr_Function_int Function %12 | 
 |          %29 = OpAccessChain %_ptr_Function_int %a_1 %12 | 
 |          %30 = OpLoad %int %29 | 
 |                OpStore %b_1 %30 | 
 |          %32 = OpAccessChain %_ptr_Function_int %a_1 %12 | 
 |                OpStore %32 %int_42 | 
 |                OpReturn | 
 |                OpFunctionEnd | 
 | %no_deref_let = OpFunction %void None %1 | 
 |          %34 = OpLabel | 
 |         %a_2 = OpVariable %_ptr_Function__arr_int_uint_10 Function %11 | 
 |         %b_2 = OpVariable %_ptr_Function_int Function %12 | 
 |          %36 = OpAccessChain %_ptr_Function_int %a_2 %12 | 
 |          %37 = OpLoad %int %36 | 
 |                OpStore %b_2 %37 | 
 |          %39 = OpAccessChain %_ptr_Function_int %a_2 %12 | 
 |                OpStore %39 %int_42 | 
 |                OpReturn | 
 |                OpFunctionEnd | 
 |   %deref_var = OpFunction %void None %1 | 
 |          %41 = OpLabel | 
 |         %a_3 = OpVariable %_ptr_Function__arr_int_uint_10 Function %11 | 
 |           %i = OpVariable %_ptr_Function_int Function %12 | 
 |         %b_3 = OpVariable %_ptr_Function_int Function %12 | 
 |                OpStore %i %12 | 
 |          %44 = OpLoad %int %i | 
 |          %45 = OpAccessChain %_ptr_Function_int %a_3 %44 | 
 |          %46 = OpLoad %int %45 | 
 |                OpStore %b_3 %46 | 
 |          %48 = OpAccessChain %_ptr_Function_int %a_3 %12 | 
 |                OpStore %48 %int_42 | 
 |                OpReturn | 
 |                OpFunctionEnd | 
 | %no_deref_var = OpFunction %void None %1 | 
 |          %50 = OpLabel | 
 |         %a_4 = OpVariable %_ptr_Function__arr_int_uint_10 Function %11 | 
 |         %i_0 = OpVariable %_ptr_Function_int Function %12 | 
 |         %b_4 = OpVariable %_ptr_Function_int Function %12 | 
 |                OpStore %i_0 %12 | 
 |          %53 = OpLoad %int %i_0 | 
 |          %54 = OpAccessChain %_ptr_Function_int %a_4 %53 | 
 |          %55 = OpLoad %int %54 | 
 |                OpStore %b_4 %55 | 
 |          %57 = OpAccessChain %_ptr_Function_int %a_4 %12 | 
 |                OpStore %57 %int_42 | 
 |                OpReturn | 
 |                OpFunctionEnd | 
 |        %main = OpFunction %void None %1 | 
 |          %59 = OpLabel | 
 |          %60 = OpFunctionCall %void %deref_const | 
 |          %61 = OpFunctionCall %void %no_deref_const | 
 |          %62 = OpFunctionCall %void %deref_let | 
 |          %63 = OpFunctionCall %void %no_deref_let | 
 |          %64 = OpFunctionCall %void %deref_var | 
 |          %65 = OpFunctionCall %void %no_deref_var | 
 |                OpReturn | 
 |                OpFunctionEnd |