SKIP: FAILED

<dawn>/src/tint/lang/msl/writer/printer/printer.cc:469 internal compiler error: %b1 = block {  # root
  %prevent_dce:ptr<storage, f32, read_write> = var @binding_point(2, 0)
}

%dpdxFine_f401a2 = func():void -> %b2 {
  %b2 = block {
    %arg_0:ptr<function, f32, read_write> = var, 1.0f
    %4:f32 = load %arg_0
    %5:f32 = dpdxFine %4
    %res:ptr<function, f32, read_write> = var, %5
    %7:f32 = load %res
    store %prevent_dce, %7
    ret
  }
}
%fragment_main = @fragment func():void -> %b3 {
  %b3 = block {
    %9:void = call %dpdxFine_f401a2
    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.  *
********************************************************************
