[PSA] Removal of typed pointers from the LLVM Dialect

LLVM 17 officially dropped support for typed pointers [0], and by now, all remnants have been removed from LLVM IR. Back in February, @zero9178 started an effort of migrating all the in-tree conversion passes targeting LLVM dialect to also support opaque pointers [1].

In the meantime, all in-tree dialect lowerings enable the opaque pointer mode by default, including Flang and OpenMP. Therefore, it is now time to remove this pass option and thus drop the typed pointer lowerings. This change will be necessary to enable us to remove the typed pointers from the LLVM dialect.

The execution plan:
We plan to gradually push PRs that remove the typed pointer options from dialect lowering (similar to [2]), and once all dialects have been stripped of their typed pointer support, the generic LLVM lowering option for supporting typed pointers will be removed. Finally, the typed pointers will be purged from the LLVM dialect.

[0] https://llvm.org/docs/OpaquePointers.html#version-support
[1] https://discourse.llvm.org/t/rfc-switching-the-llvm-dialect-and-dialect-lowerings-to-opaque-pointers/68179
[2] [MLIR][SPIRVToLLVM] Remove typed pointer support by Dinistro · Pull Request #70568 · llvm/llvm-project · GitHub

8 Likes