https://github.com/ftynse approved this pull request. LGTM. How does this relate to `llvm.mlir.null`? Can we also initialize pointers with `llvm.mlir.zero` and remove `llvm.mlir.null` in favor of the more general operation? https://github.com/llvm/llvm-project/pull/65508