Skip to content

Commit 09b0e08

Browse files
committed
[mlir] Print bad size in AttrSizedOperandSegments
When printing verification errors for ops with the incorrect number of operand segments, print the required number as well as the actual number. Split off from D93005. Differential Revision: https://reviews.llvm.org/D93145
1 parent 9293b25 commit 09b0e08

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

mlir/test/IR/traits.mlir

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,7 @@ func @failedResultSizeAttrWrongTotalSize() {
448448
// -----
449449

450450
func @failedResultSizeAttrWrongCount() {
451-
// expected-error @+1 {{'result_segment_sizes' attribute for specifying result segments must have 4 elements}}
451+
// expected-error @+1 {{'result_segment_sizes' attribute for specifying result segments must have 4 elements, but got 3}}
452452
%0:4 = "test.attr_sized_results"() {result_segment_sizes = dense<[2, 1, 1]>: vector<3xi32>} : () -> (i32, i32, i32, i32)
453453
}
454454

mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2211,7 +2211,7 @@ void OpOperandAdaptorEmitter::addVerification() {
22112211
auto numElements = sizeAttr.getType().cast<::mlir::ShapedType>().getNumElements();
22122212
if (numElements != {1})
22132213
return emitError(loc, "'{0}' attribute for specifying {2} segments "
2214-
"must have {1} elements");
2214+
"must have {1} elements, but got ") << numElements;
22152215
}
22162216
)";
22172217

0 commit comments

Comments
 (0)