[Mlir-commits] [mlir] [mlir][CAPI] Use explicit inherent/discardable attribute split APIs (PR #218884)

Mehdi Amini llvmlistbot at llvm.org
Wed Aug 26 03:51:39 PDT 2026


https://github.com/joker-eph created https://github.com/llvm/llvm-project/pull/218884

Use explicit discardable attribute iteration in the core C API and scope the remaining compatibility accessors under deprecation suppression.

Assisted-by: Codex

>From 70e86261d67e60186b4aea3ee3d1cb51301762bd Mon Sep 17 00:00:00 2001
From: Mehdi Amini <joker.eph at gmail.com>
Date: Thu, 20 Aug 2026 07:30:04 -0700
Subject: [PATCH] [mlir][CAPI] Use the discardable attribute dictionary

Use the explicit discardable attribute dictionary when implementing the core
C API count and positional accessors.

Assisted-by: Codex
---
 mlir/lib/CAPI/IR/IR.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/mlir/lib/CAPI/IR/IR.cpp b/mlir/lib/CAPI/IR/IR.cpp
index f862efa420daa..d0b37480f1b63 100644
--- a/mlir/lib/CAPI/IR/IR.cpp
+++ b/mlir/lib/CAPI/IR/IR.cpp
@@ -818,13 +818,13 @@ void mlirOperationSetInherentAttributeByName(MlirOperation op,
 
 intptr_t mlirOperationGetNumDiscardableAttributes(MlirOperation op) {
   return static_cast<intptr_t>(
-      llvm::range_size(unwrap(op)->getDiscardableAttrs()));
+      llvm::range_size(unwrap(op)->getDiscardableAttrDictionary().getValue()));
 }
 
 MlirNamedAttribute mlirOperationGetDiscardableAttribute(MlirOperation op,
                                                         intptr_t pos) {
-  NamedAttribute attr =
-      *std::next(unwrap(op)->getDiscardableAttrs().begin(), pos);
+  NamedAttribute attr = *std::next(
+      unwrap(op)->getDiscardableAttrDictionary().getValue().begin(), pos);
   return MlirNamedAttribute{wrap(attr.getName()), wrap(attr.getValue())};
 }
 



More information about the Mlir-commits mailing list