[Mlir-commits] [mlir] [mlir][python] Add bindings for mlirDenseElementsAttrGet (PR #91389)

Oleksandr Alex Zinenko llvmlistbot at llvm.org
Tue May 21 14:09:20 PDT 2024


================
@@ -647,6 +664,55 @@ class PyDenseElementsAttribute
   static constexpr const char *pyClassName = "DenseElementsAttr";
   using PyConcreteAttribute::PyConcreteAttribute;
 
+  static PyDenseElementsAttribute
+  getFromList(py::list attributes, std::optional<PyType> explicitType,
+              DefaultingPyMlirContext contextWrapper) {
+
+    if (py::len(attributes) == 0) {
+      throw py::value_error("Attributes list must be non-empty");
+    }
+
+    MlirType shapedType;
+    if (explicitType) {
+      if ((!mlirTypeIsAShaped(*explicitType) ||
+           !mlirShapedTypeHasStaticShape(*explicitType))) {
+        std::string message =
+            "Expected a static ShapedType for the shaped_type parameter: ";
+        message.append(py::repr(py::cast(*explicitType)));
----------------
ftynse wrote:

Since we seem to already depend on LLVMSupport, prefer `llvm::raw_string_ostream` to build a string.

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


More information about the Mlir-commits mailing list