[Mlir-commits] [mlir] [MLIR] Enable import of non self referential alias scopes (PR #121987)

Tobias Gysi llvmlistbot at llvm.org
Tue Jan 7 13:09:27 PST 2025


================
@@ -427,6 +427,13 @@ ModuleImport::processAliasScopeMetadata(const llvm::MDNode *node) {
     return node->getNumOperands() != 0 &&
            node == dyn_cast<llvm::MDNode>(node->getOperand(0));
   };
+  auto verifySelfRefOrString = [](const llvm::MDNode *node) {
+    if (node->getNumOperands() != 0 &&
+           node == dyn_cast<llvm::MDNode>(node->getOperand(0)))
+      return true;
+    return node->getNumOperands() != 0 &&
+           isa<llvm::MDNode>(node->getOperand(0));
+  };
----------------
gysit wrote:

```suggestion
  // Helper that verifies the node has a self reference or a string as first operand. 
  auto verifySelfRefOrString = [](const llvm::MDNode *node) {
    if (verifySelfRef(node))
      return true;
    return node->getNumOperands() != 0 &&
           isa<llvm::MDString>(node->getOperand(0));
  };
```
Let's reuse the function above and make sure it is a string metadata node.

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


More information about the Mlir-commits mailing list