[Mlir-commits] [mlir] [MLIR][LLVM] Preserve pointer-valued metadata operands on import (PR #215743)

Tobias Gysi llvmlistbot at llvm.org
Wed Aug 12 23:59:56 PDT 2026


================
@@ -1814,12 +1814,50 @@ def LLVM_MDGlobalValueAttr : LLVM_Attr<"MDGlobalValue", "md_global_value"> {
   let assemblyFormat = "`<` $name `>`";
 }
 
+def LLVM_MDNullAttr : LLVM_Attr<"MDNull", "md_null"> {
+  let summary = "LLVM null-pointer-as-metadata";
+  let description = [{
+    Wraps a null pointer constant as an LLVM metadata node, corresponding to
+    `llvm::ConstantAsMetadata` wrapping a `llvm::ConstantPointerNull` in LLVM
+    IR. `addressSpace` is the address space of the null pointer, so that
+    `ptr null` and `ptr addrspace(1) null` remain distinguishable.
+
+    Example:
+    ```mlir
+    #llvm.md_null<0>
+    ```
+  }];
+  let parameters = (ins "unsigned":$addressSpace);
+  let assemblyFormat = "`<` $addressSpace `>`";
+}
+
+def LLVM_MDAddrSpaceCastAttr
+    : LLVM_Attr<"MDAddrSpaceCast", "md_addrspacecast"> {
+  let summary = "LLVM addrspacecast-constant-expression-as-metadata";
----------------
gysit wrote:

```suggestion
  let summary = "LLVM addrspacecast constant expression as metadata";
```
nit:

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


More information about the Mlir-commits mailing list