And this is fine by me, as long as DXILPointerType never makes it into ordinary IR. If SPIR-V would like to use it as well, I would also be fine with moving the implementation of that type into LLVM core (as long as it is not exposed via IR or bitcode).
This seems like a pure code organization problem for the SPIR-V and DXIL backends, which does not materially affect the rest of the project, and does not need to block typed pointer removal. Both backends currently implement their own solutions to this problem, and if it can be shared, that would be nice. But I don’t think that changes anything about the big picture (which is that any “typed pointer” knowledge has to be encapsulated in a way that is transparent to anyone not working specifically on DXIL or SPIR-V).