[Mlir-commits] [mlir] [MLIR][Python] Add a method to get full name of MLIR types (PR #174576)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Tue Jan 6 04:02:27 PST 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir
Author: Twice (PragmaTwice)
<details>
<summary>Changes</summary>
This PR adds a `type_name` property to the Python classes for MLIR types, e.g. `IntegerType.type_name -> "builtin.integer"`. This makes it easy to obtain the full name of an MLIR type directly from the Python class—for example, in IRDL we no longer need to manually provide a string like `irdl.base("!builtin.integer")`.
To support this, each `PyConcreteType` must define a `static constexpr const char *name` class member (for parent classes that don’t have direct instances, such as `FloatType`, this can be set to `nullptr`).
---
Patch is 23.60 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/174576.diff
12 Files Affected:
- (modified) mlir/include/mlir/Bindings/Python/IRCore.h (+4)
- (modified) mlir/include/mlir/Bindings/Python/IRTypes.h (+31)
- (modified) mlir/lib/Bindings/Python/DialectAMDGPU.cpp (+3)
- (modified) mlir/lib/Bindings/Python/DialectGPU.cpp (+1)
- (modified) mlir/lib/Bindings/Python/DialectLLVM.cpp (+2)
- (modified) mlir/lib/Bindings/Python/DialectNVGPU.cpp (+1)
- (modified) mlir/lib/Bindings/Python/DialectPDL.cpp (+6)
- (modified) mlir/lib/Bindings/Python/DialectQuant.cpp (+3)
- (modified) mlir/lib/Bindings/Python/DialectSMT.cpp (+3)
- (modified) mlir/lib/Bindings/Python/DialectTransform.cpp (+5)
- (modified) mlir/test/python/ir/builtin_types.py (+24)
- (modified) mlir/test/python/lib/PythonTestModuleNanobind.cpp (+1)
``````````diff
diff --git a/mlir/include/mlir/Bindings/Python/IRCore.h b/mlir/include/mlir/Bindings/Python/IRCore.h
index 8a8d2a1b2270f..300389c48353c 100644
--- a/mlir/include/mlir/Bindings/Python/IRCore.h
+++ b/mlir/include/mlir/Bindings/Python/IRCore.h
@@ -979,6 +979,10 @@ class MLIR_PYTHON_API_EXPORTED PyConcreteType : public BaseTy {
printAccum.parts.append(")");
return printAccum.join();
});
+ cls.def_prop_ro_static("type_name", [](nanobind::object & /*cls*/) {
+ return DerivedTy::name ? nanobind::str(DerivedTy::name)
+ : nanobind::none();
+ });
if (DerivedTy::getTypeIdFunction) {
PyGlobals::get().registerTypeCaster(
diff --git a/mlir/include/mlir/Bindings/Python/IRTypes.h b/mlir/include/mlir/Bindings/Python/IRTypes.h
index b305dec188f5a..7a355ab8d521e 100644
--- a/mlir/include/mlir/Bindings/Python/IRTypes.h
+++ b/mlir/include/mlir/Bindings/Python/IRTypes.h
@@ -10,6 +10,7 @@
#define MLIR_BINDINGS_PYTHON_IRTYPES_H
#include "mlir-c/BuiltinTypes.h"
+#include "mlir/Bindings/Python/IRCore.h"
namespace mlir {
namespace python {
@@ -24,6 +25,7 @@ class MLIR_PYTHON_API_EXPORTED PyIntegerType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirIntegerTypeGetTypeID;
static constexpr const char *pyClassName = "IntegerType";
+ static constexpr const char *name = "builtin.integer";
using PyConcreteType::PyConcreteType;
enum Signedness { Signless, Signed, Unsigned };
@@ -39,6 +41,7 @@ class MLIR_PYTHON_API_EXPORTED PyIndexType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirIndexTypeGetTypeID;
static constexpr const char *pyClassName = "IndexType";
+ static constexpr const char *name = "builtin.index";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -49,6 +52,7 @@ class MLIR_PYTHON_API_EXPORTED PyFloatType
public:
static constexpr IsAFunctionTy isaFunction = mlirTypeIsAFloat;
static constexpr const char *pyClassName = "FloatType";
+ static constexpr const char *name = nullptr;
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -62,6 +66,7 @@ class MLIR_PYTHON_API_EXPORTED PyFloat4E2M1FNType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloat4E2M1FNTypeGetTypeID;
static constexpr const char *pyClassName = "Float4E2M1FNType";
+ static constexpr const char *name = "builtin.f4E2M1FN";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -75,6 +80,7 @@ class MLIR_PYTHON_API_EXPORTED PyFloat6E2M3FNType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloat6E2M3FNTypeGetTypeID;
static constexpr const char *pyClassName = "Float6E2M3FNType";
+ static constexpr const char *name = "builtin.f6E2M3FN";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -88,6 +94,7 @@ class MLIR_PYTHON_API_EXPORTED PyFloat6E3M2FNType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloat6E3M2FNTypeGetTypeID;
static constexpr const char *pyClassName = "Float6E3M2FNType";
+ static constexpr const char *name = "builtin.f6E3M2FN";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -101,6 +108,7 @@ class MLIR_PYTHON_API_EXPORTED PyFloat8E4M3FNType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloat8E4M3FNTypeGetTypeID;
static constexpr const char *pyClassName = "Float8E4M3FNType";
+ static constexpr const char *name = "builtin.f8E4M3FN";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -114,6 +122,7 @@ class MLIR_PYTHON_API_EXPORTED PyFloat8E5M2Type
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloat8E5M2TypeGetTypeID;
static constexpr const char *pyClassName = "Float8E5M2Type";
+ static constexpr const char *name = "builtin.f8E5M2";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -127,6 +136,7 @@ class MLIR_PYTHON_API_EXPORTED PyFloat8E4M3Type
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloat8E4M3TypeGetTypeID;
static constexpr const char *pyClassName = "Float8E4M3Type";
+ static constexpr const char *name = "builtin.f8E4M3";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -140,6 +150,7 @@ class MLIR_PYTHON_API_EXPORTED PyFloat8E4M3FNUZType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloat8E4M3FNUZTypeGetTypeID;
static constexpr const char *pyClassName = "Float8E4M3FNUZType";
+ static constexpr const char *name = "builtin.f8E4M3FNUZ";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -153,6 +164,7 @@ class MLIR_PYTHON_API_EXPORTED PyFloat8E4M3B11FNUZType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloat8E4M3B11FNUZTypeGetTypeID;
static constexpr const char *pyClassName = "Float8E4M3B11FNUZType";
+ static constexpr const char *name = "builtin.f8E4M3B11FNUZ";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -166,6 +178,7 @@ class MLIR_PYTHON_API_EXPORTED PyFloat8E5M2FNUZType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloat8E5M2FNUZTypeGetTypeID;
static constexpr const char *pyClassName = "Float8E5M2FNUZType";
+ static constexpr const char *name = "builtin.f8E5M2FNUZ";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -179,6 +192,7 @@ class MLIR_PYTHON_API_EXPORTED PyFloat8E3M4Type
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloat8E3M4TypeGetTypeID;
static constexpr const char *pyClassName = "Float8E3M4Type";
+ static constexpr const char *name = "builtin.f8E3M4";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -192,6 +206,7 @@ class MLIR_PYTHON_API_EXPORTED PyFloat8E8M0FNUType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloat8E8M0FNUTypeGetTypeID;
static constexpr const char *pyClassName = "Float8E8M0FNUType";
+ static constexpr const char *name = "builtin.f8E8M0FNU";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -205,6 +220,7 @@ class MLIR_PYTHON_API_EXPORTED PyBF16Type
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirBFloat16TypeGetTypeID;
static constexpr const char *pyClassName = "BF16Type";
+ static constexpr const char *name = "builtin.bf16";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -218,6 +234,7 @@ class MLIR_PYTHON_API_EXPORTED PyF16Type
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloat16TypeGetTypeID;
static constexpr const char *pyClassName = "F16Type";
+ static constexpr const char *name = "builtin.f16";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -231,6 +248,7 @@ class MLIR_PYTHON_API_EXPORTED PyTF32Type
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloatTF32TypeGetTypeID;
static constexpr const char *pyClassName = "FloatTF32Type";
+ static constexpr const char *name = "builtin.tf32";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -244,6 +262,7 @@ class MLIR_PYTHON_API_EXPORTED PyF32Type
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloat32TypeGetTypeID;
static constexpr const char *pyClassName = "F32Type";
+ static constexpr const char *name = "builtin.f32";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -257,6 +276,7 @@ class MLIR_PYTHON_API_EXPORTED PyF64Type
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFloat64TypeGetTypeID;
static constexpr const char *pyClassName = "F64Type";
+ static constexpr const char *name = "builtin.f64";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -269,6 +289,7 @@ class MLIR_PYTHON_API_EXPORTED PyNoneType : public PyConcreteType<PyNoneType> {
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirNoneTypeGetTypeID;
static constexpr const char *pyClassName = "NoneType";
+ static constexpr const char *name = "builtin.none";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -282,6 +303,7 @@ class MLIR_PYTHON_API_EXPORTED PyComplexType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirComplexTypeGetTypeID;
static constexpr const char *pyClassName = "ComplexType";
+ static constexpr const char *name = "builtin.complex";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -293,6 +315,7 @@ class MLIR_PYTHON_API_EXPORTED MLIR_PYTHON_API_EXPORTED PyShapedType
public:
static const IsAFunctionTy isaFunction;
static constexpr const char *pyClassName = "ShapedType";
+ static constexpr const char *name = nullptr;
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -309,6 +332,7 @@ class MLIR_PYTHON_API_EXPORTED PyVectorType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirVectorTypeGetTypeID;
static constexpr const char *pyClassName = "VectorType";
+ static constexpr const char *name = "builtin.vector";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -334,6 +358,7 @@ class MLIR_PYTHON_API_EXPORTED PyRankedTensorType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirRankedTensorTypeGetTypeID;
static constexpr const char *pyClassName = "RankedTensorType";
+ static constexpr const char *name = "builtin.tensor";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -347,6 +372,7 @@ class MLIR_PYTHON_API_EXPORTED PyUnrankedTensorType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirUnrankedTensorTypeGetTypeID;
static constexpr const char *pyClassName = "UnrankedTensorType";
+ static constexpr const char *name = "builtin.unranked_tensor";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -360,6 +386,7 @@ class MLIR_PYTHON_API_EXPORTED PyMemRefType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirMemRefTypeGetTypeID;
static constexpr const char *pyClassName = "MemRefType";
+ static constexpr const char *name = "builtin.memref";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -373,6 +400,7 @@ class MLIR_PYTHON_API_EXPORTED PyUnrankedMemRefType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirUnrankedMemRefTypeGetTypeID;
static constexpr const char *pyClassName = "UnrankedMemRefType";
+ static constexpr const char *name = "builtin.unranked_memref";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -386,6 +414,7 @@ class MLIR_PYTHON_API_EXPORTED PyTupleType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirTupleTypeGetTypeID;
static constexpr const char *pyClassName = "TupleType";
+ static constexpr const char *name = "builtin.tuple";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -399,6 +428,7 @@ class MLIR_PYTHON_API_EXPORTED PyFunctionType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirFunctionTypeGetTypeID;
static constexpr const char *pyClassName = "FunctionType";
+ static constexpr const char *name = "builtin.function";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
@@ -412,6 +442,7 @@ class MLIR_PYTHON_API_EXPORTED PyOpaqueType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirOpaqueTypeGetTypeID;
static constexpr const char *pyClassName = "OpaqueType";
+ static constexpr const char *name = "builtin.opaque";
using PyConcreteType::PyConcreteType;
static void bindDerived(ClassTy &c);
diff --git a/mlir/lib/Bindings/Python/DialectAMDGPU.cpp b/mlir/lib/Bindings/Python/DialectAMDGPU.cpp
index 0a0cb1d158abc..9402953c6a39f 100644
--- a/mlir/lib/Bindings/Python/DialectAMDGPU.cpp
+++ b/mlir/lib/Bindings/Python/DialectAMDGPU.cpp
@@ -26,6 +26,7 @@ struct TDMBaseType : PyConcreteType<TDMBaseType> {
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirAMDGPUTDMBaseTypeGetTypeID;
static constexpr const char *pyClassName = "TDMBaseType";
+ static constexpr const char *name = "amdgpu.tdm_base";
using Base::Base;
static void bindDerived(ClassTy &c) {
@@ -47,6 +48,7 @@ struct TDMDescriptorType : PyConcreteType<TDMDescriptorType> {
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirAMDGPUTDMDescriptorTypeGetTypeID;
static constexpr const char *pyClassName = "TDMDescriptorType";
+ static constexpr const char *name = "amdgpu.tdm_descriptor";
using Base::Base;
static void bindDerived(ClassTy &c) {
@@ -68,6 +70,7 @@ struct TDMGatherBaseType : PyConcreteType<TDMGatherBaseType> {
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirAMDGPUTDMGatherBaseTypeGetTypeID;
static constexpr const char *pyClassName = "TDMGatherBaseType";
+ static constexpr const char *name = "amdgpu.tdm_gather_base";
using Base::Base;
static void bindDerived(ClassTy &c) {
diff --git a/mlir/lib/Bindings/Python/DialectGPU.cpp b/mlir/lib/Bindings/Python/DialectGPU.cpp
index c2720b33ebacc..88ddb1ed89b71 100644
--- a/mlir/lib/Bindings/Python/DialectGPU.cpp
+++ b/mlir/lib/Bindings/Python/DialectGPU.cpp
@@ -29,6 +29,7 @@ namespace gpu {
struct AsyncTokenType : PyConcreteType<AsyncTokenType> {
static constexpr IsAFunctionTy isaFunction = mlirTypeIsAGPUAsyncTokenType;
static constexpr const char *pyClassName = "AsyncTokenType";
+ static constexpr const char *name = "gpu.async_token";
using Base::Base;
static void bindDerived(ClassTy &c) {
diff --git a/mlir/lib/Bindings/Python/DialectLLVM.cpp b/mlir/lib/Bindings/Python/DialectLLVM.cpp
index a0fec7504ab6b..dd0ce05f8fa72 100644
--- a/mlir/lib/Bindings/Python/DialectLLVM.cpp
+++ b/mlir/lib/Bindings/Python/DialectLLVM.cpp
@@ -37,6 +37,7 @@ struct StructType : PyConcreteType<StructType> {
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirLLVMStructTypeGetTypeID;
static constexpr const char *pyClassName = "StructType";
+ static constexpr const char *name = "llvm.struct";
using Base::Base;
static void bindDerived(ClassTy &c) {
@@ -169,6 +170,7 @@ struct PointerType : PyConcreteType<PointerType> {
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirLLVMPointerTypeGetTypeID;
static constexpr const char *pyClassName = "PointerType";
+ static constexpr const char *name = "llvm.ptr";
using Base::Base;
static void bindDerived(ClassTy &c) {
diff --git a/mlir/lib/Bindings/Python/DialectNVGPU.cpp b/mlir/lib/Bindings/Python/DialectNVGPU.cpp
index 325db6d41c460..bd88ba76e9df2 100644
--- a/mlir/lib/Bindings/Python/DialectNVGPU.cpp
+++ b/mlir/lib/Bindings/Python/DialectNVGPU.cpp
@@ -24,6 +24,7 @@ struct TensorMapDescriptorType : PyConcreteType<TensorMapDescriptorType> {
static constexpr IsAFunctionTy isaFunction =
mlirTypeIsANVGPUTensorMapDescriptorType;
static constexpr const char *pyClassName = "TensorMapDescriptorType";
+ static constexpr const char *name = "nvgpu.tensormap.descriptor";
using Base::Base;
static void bindDerived(ClassTy &c) {
diff --git a/mlir/lib/Bindings/Python/DialectPDL.cpp b/mlir/lib/Bindings/Python/DialectPDL.cpp
index b180aed4f8719..b95ddf49582be 100644
--- a/mlir/lib/Bindings/Python/DialectPDL.cpp
+++ b/mlir/lib/Bindings/Python/DialectPDL.cpp
@@ -28,6 +28,7 @@ namespace pdl {
struct PDLType : PyConcreteType<PDLType> {
static constexpr IsAFunctionTy isaFunction = mlirTypeIsAPDLType;
static constexpr const char *pyClassName = "PDLType";
+ static constexpr const char *name = "pdl.type";
using Base::Base;
static void bindDerived(ClassTy &c) {}
@@ -42,6 +43,7 @@ struct AttributeType : PyConcreteType<AttributeType> {
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirPDLAttributeTypeGetTypeID;
static constexpr const char *pyClassName = "AttributeType";
+ static constexpr const char *name = "pdl.attribute";
using Base::Base;
static void bindDerived(ClassTy &c) {
@@ -65,6 +67,7 @@ struct OperationType : PyConcreteType<OperationType> {
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirPDLOperationTypeGetTypeID;
static constexpr const char *pyClassName = "OperationType";
+ static constexpr const char *name = "pdl.operation";
using Base::Base;
static void bindDerived(ClassTy &c) {
@@ -88,6 +91,7 @@ struct RangeType : PyConcreteType<RangeType> {
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirPDLRangeTypeGetTypeID;
static constexpr const char *pyClassName = "RangeType";
+ static constexpr const char *name = "pdl.range";
using Base::Base;
static void bindDerived(ClassTy &c) {
@@ -118,6 +122,7 @@ struct TypeType : PyConcreteType<TypeType> {
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirPDLTypeTypeGetTypeID;
static constexpr const char *pyClassName = "TypeType";
+ static constexpr const char *name = "pdl.type";
using Base::Base;
static void bindDerived(ClassTy &c) {
@@ -141,6 +146,7 @@ struct ValueType : PyConcreteType<ValueType> {
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirPDLValueTypeGetTypeID;
static constexpr const char *pyClassName = "ValueType";
+ static constexpr const char *name = "pdl.value";
using Base::Base;
static void bindDerived(ClassTy &c) {
diff --git a/mlir/lib/Bindings/Python/DialectQuant.cpp b/mlir/lib/Bindings/Python/DialectQuant.cpp
index 2f91b5f0c1d7d..e9a65a8162efc 100644
--- a/mlir/lib/Bindings/Python/DialectQuant.cpp
+++ b/mlir/lib/Bindings/Python/DialectQuant.cpp
@@ -31,6 +31,7 @@ namespace quant {
struct QuantizedType : PyConcreteType<QuantizedType> {
static constexpr IsAFunctionTy isaFunction = mlirTypeIsAQuantizedType;
static constexpr const char *pyClassName = "QuantizedType";
+ static constexpr const char *name = nullptr;
using Base::Base;
static void bindDerived(ClassTy &c) {
@@ -198,6 +199,7 @@ struct AnyQuantizedType : PyConcreteType<AnyQuantizedType, QuantizedType> {
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirAnyQuantizedTypeGetTypeID;
static constexpr const char *pyClassName = "AnyQuantizedType";
+ static constexpr const char *name = "quant.any";
using Base::Base;
static void bindDerived(ClassTy &c) {
@@ -229,6 +231,7 @@ struct UniformQuantizedType
static constexpr GetTypeIDFunctionTy getTypeIdFunction =
mlirUniformQuantizedTypeGetTypeID;
static constexpr const char *pyClassName = "UniformQuantizedType";
+ static constexpr const char *name = "quant.uniform";
using Base::Base;
static void bindDerived(ClassTy &c) {
diff --git a/mlir/lib/Bindings/Python/DialectSMT.cpp b/mlir/lib/Bindings/Python/DialectSMT.cpp
index f13604abb4751..f8a33c1803a7c 100644
--- a/mlir/lib/Bindings/Python/DialectSMT.cpp
+++ b/mlir/lib/Bindings/Python/DialectSMT.cpp
@@ -30,6 +30,7 @@ namespace smt {
struct BoolType : PyConcreteType<BoolType> {
static constexpr IsAFunctionTy isaFunction = mlirSMTTypeIsABool;
static constexpr const char *pyClassName = "BoolType";
+ static constexpr const char *name = "smt.bool";
using Base::Base;
static void bindDerived(ClassTy &c) {
@@ -46,6 +47,7 @@ struct BoolType : PyConcreteType<BoolType> {
struct BitVectorType : PyConcreteType<BitVectorType> {
static constexpr IsAFunctionTy isaFunction = mlirSMTTypeIsABitVector;
static constexpr const char *pyClassName = "BitVectorType";
+ static constexpr const char *name = "smt.bv";
using Base::Base;
static void bindDerived(ClassTy &c) {
@@ -63,6 +65,7 @@ struct BitVectorType : PyConcreteType<BitVectorType> {
struct IntType : PyConcreteType<IntType> {
static constexpr IsAFunctionTy isaFunction = mlirSMTTypeIsAInt;
static constexpr const char *pyClassName = "IntType";
+ static constexpr const char *name = "smt.int";
using Base::Base;
static void bindDerived(ClassTy &c) {
diff --git a/mlir/lib/Bindings/Python/DialectTransform.cpp b/mlir/lib/Bindings/Python/DialectTrans...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/174576
More information about the Mlir-commits
mailing list