[Mlir-commits] [mlir] 7900daa - [MLIR] Fix parseInteger(uint64_t) for large values
Benjamin Kramer
llvmlistbot at llvm.org
Mon Oct 14 08:09:28 PDT 2024
Author: Benjamin Kramer
Date: 2024-10-14T17:07:27+02:00
New Revision: 7900daaa7ba57b5f9729bbbdb54f4e0599a45cd7
URL: https://github.com/llvm/llvm-project/commit/7900daaa7ba57b5f9729bbbdb54f4e0599a45cd7
DIFF: https://github.com/llvm/llvm-project/commit/7900daaa7ba57b5f9729bbbdb54f4e0599a45cd7.diff
LOG: [MLIR] Fix parseInteger(uint64_t) for large values
This is a regression from e692af85966903614d470a7742ed89d124baf1a6
Added:
Modified:
mlir/include/mlir/IR/OpImplementation.h
mlir/test/mlir-tblgen/attr-or-type-format-roundtrip.mlir
Removed:
################################################################################
diff --git a/mlir/include/mlir/IR/OpImplementation.h b/mlir/include/mlir/IR/OpImplementation.h
index 606a56c7fd55b5..a7222794f320b2 100644
--- a/mlir/include/mlir/IR/OpImplementation.h
+++ b/mlir/include/mlir/IR/OpImplementation.h
@@ -749,7 +749,8 @@ class AsmParser {
// zero for non-negated integers.
result =
(IntT)uintResult.sextOrTrunc(sizeof(IntT) * CHAR_BIT).getLimitedValue();
- if (APInt(uintResult.getBitWidth(), result, /*isSigned=*/true,
+ if (APInt(uintResult.getBitWidth(), result,
+ /*isSigned=*/std::is_signed_v<IntT>,
/*implicitTrunc=*/true) != uintResult)
return emitError(loc, "integer value too large");
return success();
diff --git a/mlir/test/mlir-tblgen/attr-or-type-format-roundtrip.mlir b/mlir/test/mlir-tblgen/attr-or-type-format-roundtrip.mlir
index 160c388cedf756..f0d1571d583877 100644
--- a/mlir/test/mlir-tblgen/attr-or-type-format-roundtrip.mlir
+++ b/mlir/test/mlir-tblgen/attr-or-type-format-roundtrip.mlir
@@ -23,10 +23,10 @@ attributes {
attr7 = #test.custom_anchor<5>,
// CHECK: #test.custom_anchor<5, true>
attr8 = #test.custom_anchor<5, true>,
- // CHECK: #test.attr_with_optional_signed<-12>
- attr9 = #test.attr_with_optional_signed<-12>,
- // CHECK: #test.attr_with_optional_unsigned<22>
- attr_10 = #test.attr_with_optional_unsigned<22>
+ // CHECK: #test.attr_with_optional_signed<-9223372036854775808>
+ attr9 = #test.attr_with_optional_signed<-9223372036854775808>,
+ // CHECK: #test.attr_with_optional_unsigned<18446744073709551615>
+ attr_10 = #test.attr_with_optional_unsigned<18446744073709551615>
}
// CHECK-LABEL: @test_roundtrip_default_parsers_struct
More information about the Mlir-commits
mailing list