[Mlir-commits] [mlir] [MLIR][Python] Add `attr_name` for `FloatAttr` (PR #175306)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Sat Jan 10 04:39:15 PST 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir

Author: Twice (PragmaTwice)

<details>
<summary>Changes</summary>

After #<!-- -->174756 I found that attribute name for `FloatAttr` is missing. And this PR is to add it.

This is actually part of changes in #<!-- -->169045, but I think that we can make it a separate PR to make #<!-- -->169045 easier to review.

---
Full diff: https://github.com/llvm/llvm-project/pull/175306.diff


4 Files Affected:

- (modified) mlir/include/mlir-c/BuiltinAttributes.h (+2) 
- (modified) mlir/include/mlir/Bindings/Python/IRAttributes.h (+1) 
- (modified) mlir/lib/CAPI/IR/BuiltinAttributes.cpp (+2) 
- (modified) mlir/test/python/ir/attributes.py (+2) 


``````````diff
diff --git a/mlir/include/mlir-c/BuiltinAttributes.h b/mlir/include/mlir-c/BuiltinAttributes.h
index 17c73f44cfc74..eab732365f6b8 100644
--- a/mlir/include/mlir-c/BuiltinAttributes.h
+++ b/mlir/include/mlir-c/BuiltinAttributes.h
@@ -115,6 +115,8 @@ MLIR_CAPI_EXPORTED MlirTypeID mlirDictionaryAttrGetTypeID(void);
 /// Checks whether the given attribute is a floating point attribute.
 MLIR_CAPI_EXPORTED bool mlirAttributeIsAFloat(MlirAttribute attr);
 
+MLIR_CAPI_EXPORTED MlirStringRef mlirFloatAttrGetName(void);
+
 /// Creates a floating point attribute in the given context with the given
 /// double value and double-precision FP semantics.
 MLIR_CAPI_EXPORTED MlirAttribute mlirFloatAttrDoubleGet(MlirContext ctx,
diff --git a/mlir/include/mlir/Bindings/Python/IRAttributes.h b/mlir/include/mlir/Bindings/Python/IRAttributes.h
index 05d64b0d91b1b..6175710d76dd0 100644
--- a/mlir/include/mlir/Bindings/Python/IRAttributes.h
+++ b/mlir/include/mlir/Bindings/Python/IRAttributes.h
@@ -324,6 +324,7 @@ class MLIR_PYTHON_API_EXPORTED PyFloatAttribute
   using PyConcreteAttribute::PyConcreteAttribute;
   static constexpr GetTypeIDFunctionTy getTypeIdFunction =
       mlirFloatAttrGetTypeID;
+  static inline const MlirStringRef name = mlirFloatAttrGetName();
 
   static void bindDerived(ClassTy &c);
 };
diff --git a/mlir/lib/CAPI/IR/BuiltinAttributes.cpp b/mlir/lib/CAPI/IR/BuiltinAttributes.cpp
index eebf82215eab0..f7172c21a0cb9 100644
--- a/mlir/lib/CAPI/IR/BuiltinAttributes.cpp
+++ b/mlir/lib/CAPI/IR/BuiltinAttributes.cpp
@@ -131,6 +131,8 @@ bool mlirAttributeIsAFloat(MlirAttribute attr) {
   return llvm::isa<FloatAttr>(unwrap(attr));
 }
 
+MlirStringRef mlirFloatAttrGetName(void) { return wrap(FloatAttr::name); }
+
 MlirAttribute mlirFloatAttrDoubleGet(MlirContext ctx, MlirType type,
                                      double value) {
   return wrap(FloatAttr::get(unwrap(type), value));
diff --git a/mlir/test/python/ir/attributes.py b/mlir/test/python/ir/attributes.py
index 15a5b5ed3a81c..5590834999261 100644
--- a/mlir/test/python/ir/attributes.py
+++ b/mlir/test/python/ir/attributes.py
@@ -747,3 +747,5 @@ def testAttrNames():
         print(DenseResourceElementsAttr.attr_name)
         # CHECK: builtin.string
         print(StringAttr.attr_name)
+        # CHECK: builtin.float
+        print(FloatAttr.attr_name)

``````````

</details>


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


More information about the Mlir-commits mailing list