[Mlir-commits] [mlir] [MLIR][LLVM] Remove typed pointers from the LLVM dialect (PR #71285)
Markus Böck
llvmlistbot at llvm.org
Mon Nov 6 06:47:45 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))
----------------
zero9178 wrote:
This behaviour was introduced by https://github.com/llvm/llvm-project/commit/ee0908703d2917d7310b71c5078fef44e8270317. As far as I can tell it essentially always omits the dialect prefix if the attribute/type class being parsed is known. Since in this Op it is known to be a `LLVMPointerType` it'll elide the `!llvm.ptr` by default when printing.
https://github.com/llvm/llvm-project/commit/63f0c00d38ee7879239975a6743d4e6c7847b725 then apparently introduced the `qualified` directive to be able to restore the behaviour to before where the dialect prefix is always printed.
Personally I think this is non-intuative and that the default should be printing the full type by default instead, but that is another discussion entirely. Using `qualified` seems to be the intended way to fully qualify the type in the assembly format.
https://github.com/llvm/llvm-project/pull/71285
More information about the Mlir-commits
mailing list