[mlir][llvm] Opaque pointer support for atomic and call ops.
This revision adapts the printers and parsers of the LLVM Dialect AtomicRMWOp, AtomicCmpXchgOp, CallOp, and InvokeOp to support both opaque and typed pointers by printing the pointer types explicitly. Previously, the printers and parser of these operations silently assumed typed pointers. This assumption is problematic if a lowering or the LLVM IR import produce LLVM Dialect with opaque pointers and the IR is then printed and parsed, for example, when running mlir-translate. In LLVM IR itself all tests with typed pointers are already gone. It is thus important to start switching to opaque pointers. This revision can be seen as a preparation step for the switch of the LLVM Dialect to opaque pointers. Once printing and parsing works seamlessly, all lowerings to LLVM Dialect can be switched to produce opaque pointers. After a transition period, LLVM Dialect itself can by simplified to support opaque pointers only. Reviewed By: ftynse, Dinistro Differential Revision: https://reviews.llvm.org/D142884
Loading
Please sign in to comment