SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: $B1: {  # root
  %arg_0:ptr<workgroup, i32, read_write> = var
  %prevent_dce:ptr<storage, i32, read_write> = var @binding_point(2, 0)
}

%workgroupUniformLoad_9d33de = func():void {
  $B2: {
    %4:void = msl.threadgroup_barrier 4u
    %5:i32 = load %arg_0
    %6:i32 = let %5
    %7:void = msl.threadgroup_barrier 4u
    %res:ptr<function, i32, read_write> = var, %6
    %9:i32 = load %res
    store %prevent_dce, %9
    ret
  }
}
%compute_main = @compute @workgroup_size(1, 1, 1) func(%tint_local_index:u32 [@local_invocation_index]):void {
  $B3: {
    %12:bool = eq %tint_local_index, 0u
    if %12 [t: $B4] {  # if_1
      $B4: {  # true
        store %arg_0, 0i
        exit_if  # if_1
      }
    }
    %13:void = msl.threadgroup_barrier 4u
    %14:void = call %workgroupUniformLoad_9d33de
    ret
  }
}

unhandled variable address space
********************************************************************
*  The tint shader compiler has encountered an unexpected error.   *
*                                                                  *
*  Please help us fix this issue by submitting a bug report at     *
*  crbug.com/tint with the source program that triggered the bug.  *
********************************************************************
