https://github.com/arsenm approved this pull request. lgtm with nit. I think some more passes will need updating to deal with these (like InferAddressSpaces) but it's easiest to do that incrementally https://github.com/llvm/llvm-project/pull/86149