[Mlir-commits] [mlir] [mlir] Fix abort on string token in integer dense tensor parsing (PR #231876)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed Oct 14 04:58:43 PDT 2026


https://github.com/Wijkqwe updated https://github.com/llvm/llvm-project/pull/231876

>From e85961a52aa3425799086379daf2700a44d7cd86 Mon Sep 17 00:00:00 2001
From: wzy <WZYqwe2004 at outlook.com>
Date: Wed, 14 Oct 2026 18:47:15 +0800
Subject: [PATCH 1/3] it just works

---
 mlir/lib/AsmParser/AttributeParser.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/mlir/lib/AsmParser/AttributeParser.cpp b/mlir/lib/AsmParser/AttributeParser.cpp
index 7459d8e0c36259..162b56e6db0090 100644
--- a/mlir/lib/AsmParser/AttributeParser.cpp
+++ b/mlir/lib/AsmParser/AttributeParser.cpp
@@ -645,6 +645,10 @@ TensorLiteralParser::getIntAttrElements(SMLoc loc, Type eltTy,
              << "expected integer elements, but parsed floating-point";
     }
 
+    if (token.is(Token::string)) {
+      return p.emitError(tokenLoc)
+            << "expected integer elements, but parsed string";
+    }
     assert(token.isAny(Token::integer, Token::kw_true, Token::kw_false) &&
            "unexpected token type");
     if (token.isAny(Token::kw_true, Token::kw_false)) {

>From f8cdee485a7d8b32dc2f297aeb2a17270a5a2b7d Mon Sep 17 00:00:00 2001
From: wzy <WZYqwe2004 at outlook.com>
Date: Wed, 14 Oct 2026 18:47:26 +0800
Subject: [PATCH 2/3] test

---
 mlir/test/IR/invalid-builtin-attributes.mlir | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/mlir/test/IR/invalid-builtin-attributes.mlir b/mlir/test/IR/invalid-builtin-attributes.mlir
index 1989ce663cbb21..2a64a6b697baa4 100644
--- a/mlir/test/IR/invalid-builtin-attributes.mlir
+++ b/mlir/test/IR/invalid-builtin-attributes.mlir
@@ -693,3 +693,10 @@ func.func @negative_elements_literal_without_signed_repr() {
   %0 = arith.constant dense<[1.000000e+00, -2.000000e+00]> : tensor<2xf8E8M0FNU>
   return
 }
+
+// -----
+
+func.func @string_in_int_tensor() {
+  // expected-error @+1 {{expected integer elements, but parsed string}}
+  "foo"() {bar = dense<["oops"]> : tensor<1xi1>} : () -> ()
+}

>From a2228c1c71d6d197d33bd43093e1cc835a7b200f Mon Sep 17 00:00:00 2001
From: wzy <WZYqwe2004 at outlook.com>
Date: Wed, 14 Oct 2026 19:58:03 +0800
Subject: [PATCH 3/3] format

---
 mlir/lib/AsmParser/AttributeParser.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mlir/lib/AsmParser/AttributeParser.cpp b/mlir/lib/AsmParser/AttributeParser.cpp
index 162b56e6db0090..264a807211012b 100644
--- a/mlir/lib/AsmParser/AttributeParser.cpp
+++ b/mlir/lib/AsmParser/AttributeParser.cpp
@@ -647,7 +647,7 @@ TensorLiteralParser::getIntAttrElements(SMLoc loc, Type eltTy,
 
     if (token.is(Token::string)) {
       return p.emitError(tokenLoc)
-            << "expected integer elements, but parsed string";
+             << "expected integer elements, but parsed string";
     }
     assert(token.isAny(Token::integer, Token::kw_true, Token::kw_false) &&
            "unexpected token type");



More information about the Mlir-commits mailing list