[Mlir-commits] [mlir] [MLIR][LLVM] Remove typed pointers from the LLVM dialect (PR #71285)

Christian Ulmann llvmlistbot at llvm.org
Tue Dec 5 23:01:43 PST 2023


================
@@ -445,7 +414,7 @@ def LLVM_StoreOp : LLVM_MemAccessOpBase<"store",
   let assemblyFormat = [{
     (`volatile` $volatile_^)? $value `,` $addr
     (`atomic` (`syncscope` `(` $syncscope^ `)`)? $ordering^)?
-    attr-dict `:` custom<StoreType>(type($value), type($addr))
+    attr-dict `:` type($value) `,` qualified(type($addr))
----------------
Dinistro wrote:

The main reason I added `qualified` in this revision is to ensure as few breaking changes as possible, considering that the pointer type changes already forced me to change hundreds of lines.

I agree that `qualified` might not be the best idea here, as the "llvm." part brings no benefit. The format you propose would in my opinion be a much better fit. The question remains if we should always print the address space or not, and if we should even print the pointer type if the address space is zero.

Note that we should also consider all other operations where I used `qualified` in this discussion, i.e., `LLVM_StoreOp`, `LLVM_AtomicRMWOp`, `LLVM_AtomicCmpXchgOp`, `NVVM_MBarrierArriveSharedOp`. 

https://github.com/llvm/llvm-project/pull/71285


More information about the Mlir-commits mailing list