[Mlir-commits] [mlir] [MLIR] Enable import of non self referential alias scopes (PR #121987)
Tobias Gysi
llvmlistbot at llvm.org
Tue Jan 7 12:08:23 PST 2025
================
@@ -438,8 +438,14 @@ ModuleImport::processAliasScopeMetadata(const llvm::MDNode *node) {
if (aliasDomain->getNumOperands() >= 2)
if (auto *operand = dyn_cast<llvm::MDString>(aliasDomain->getOperand(1)))
description = builder.getStringAttr(operand->getString());
- return builder.getAttr<AliasScopeDomainAttr>(
- DistinctAttr::create(builder.getUnitAttr()), description);
+ if (verifySelfRef(aliasDomain))
+ return builder.getAttr<AliasScopeDomainAttr>(
+ DistinctAttr::create(builder.getUnitAttr()), description);
+ else {
+ auto Name = cast<llvm::MDString>(aliasDomain->getOperand(0));
+ return builder.getAttr<AliasScopeDomainAttr>(
+ builder.getStringAttr(Name->getString()), description);
+ }
----------------
gysit wrote:
```suggestion
Attribute id;
if (auto stringId = dyn_cast<llvm::MDString>(aliasDomain->getOperand(0))
id = builder.getStringAttr(stringId->getString());
else
id = DistinctAttr::create(builder.getUnitAttr())
return builder.getAttr<AliasScopeDomainAttr>(id, description);
```
I would probably use verifySelfRef for verification only see my comment below.
https://github.com/llvm/llvm-project/pull/121987
More information about the Mlir-commits
mailing list