diff --git a/mlir/include/mlir/Dialect/Vector/VectorOps.td b/mlir/include/mlir/Dialect/Vector/VectorOps.td --- a/mlir/include/mlir/Dialect/Vector/VectorOps.td +++ b/mlir/include/mlir/Dialect/Vector/VectorOps.td @@ -2101,39 +2101,6 @@ let assemblyFormat = "$operands attr-dict `:` type(results)"; } -def Vector_TupleOp : - Vector_Op<"tuple", [NoSideEffect]>, - Arguments<(ins Variadic:$vectors)>, - Results<(outs TupleOf<[AnyVector]>)> { - let summary = "make tuple of vectors operation"; - let description = [{ - Returns a tuple of its operands 'vectors'. - - Note that this operation is used during the vector op unrolling - transformation and should be removed before lowering to lower-level - dialects. - - - Example: - - ```mlir - %0 = vector.transfer_read ... : vector<2x2xf32> - %1 = vector.transfer_read ... : vector<2x1xf32> - %2 = vector.transfer_read ... : vector<2x2xf32> - %3 = vector.transfer_read ... : vector<2x1xf32> - - %4 = vector.tuple %0, %1, %2, %3 - : vector<2x2xf32>, vector<2x1xf32>, vector<2x2xf32>, vector<2x1xf32> - ``` - }]; - - let extraClassDeclaration = [{ - TupleType getResultTupleType() { - return getResult().getType().cast(); - } - }]; -} - def Vector_TransposeOp : Vector_Op<"transpose", [NoSideEffect, PredOpTrait<"operand and result have same element type", diff --git a/mlir/lib/Dialect/Vector/VectorOps.cpp b/mlir/lib/Dialect/Vector/VectorOps.cpp --- a/mlir/lib/Dialect/Vector/VectorOps.cpp +++ b/mlir/lib/Dialect/Vector/VectorOps.cpp @@ -3506,33 +3506,6 @@ return success(); } -//===----------------------------------------------------------------------===// -// TupleOp -//===----------------------------------------------------------------------===// - -static ParseResult parseTupleOp(OpAsmParser &parser, OperationState &result) { - SmallVector operandInfos; - SmallVector types; - auto loc = parser.getCurrentLocation(); - auto *ctx = parser.getBuilder().getContext(); - return failure( - parser.parseOperandList(operandInfos) || - parser.parseOptionalAttrDict(result.attributes) || - parser.parseColonTypeList(types) || - parser.resolveOperands(operandInfos, types, loc, result.operands) || - parser.addTypeToList(TupleType::get(ctx, types), result.types)); -} - -static void print(OpAsmPrinter &p, TupleOp op) { - p << op.getOperationName() << ' '; - p.printOperands(op.getOperands()); - p.printOptionalAttrDict(op->getAttrs()); - p << " : "; - llvm::interleaveComma(op->getOperandTypes(), p); -} - -static LogicalResult verify(TupleOp op) { return success(); } - //===----------------------------------------------------------------------===// // TransposeOp //===----------------------------------------------------------------------===//