[Mlir-commits] [mlir] [mlir][tosa] Add more verifiers for the following operators (PR #127923)
Luke Hutton
llvmlistbot at llvm.org
Sat Mar 1 01:28:48 PST 2025
================
@@ -850,6 +850,71 @@ LogicalResult tosa::ConcatOp::inferReturnTypeComponents(
return success();
}
+LogicalResult tosa::ConcatOp::verify() {
+ // check that each input has same element type as output
+ auto outType = getOutput().getType();
+ const Operation::operand_range inputList = getInput1();
+
+ if (!llvm::all_of(inputList, [&](auto input) {
+ return succeeded(verifySameElementTypes(
+ *this, /* inType = */ input.getType(), outType));
+ })) {
+ return failure();
+ }
+
+ // Check there is at least one input
+ if (inputList.empty())
+ return emitOpError("expect at least one input");
+
+ const Type firstInputType = inputList.front().getType();
+ const ShapeAdaptor firstInputShape(firstInputType);
+ const int32_t axis = getAxis();
+
+ if (firstInputShape.hasRank()) {
----------------
lhutton1 wrote:
In that case we still wouldn’t apply the check for the example above. I think we need to search through all inputs to try to find one with a rank. Once found, we can apply the axis check
https://github.com/llvm/llvm-project/pull/127923
More information about the Mlir-commits
mailing list