let results = (outs TransformHandleTypeInterface:$results);
let builders = [
- OpBuilder<(ins "Value":$target, "ArrayRef<StringRef>":$opNames)>
+ OpBuilder<(ins "Value":$target, "ArrayRef<StringRef>":$opNames)>,
+ OpBuilder<(ins "TypeRange":$resultTypes, "Value":$target, "ArrayRef<StringRef>":$opNames)>
];
let assemblyFormat = [{
/// Apply a tiling transformation to all payload ops and store both the
/// tiled operation as well as the created tile loops.
static LogicalResult applyTilingToAll(
- RewriterBase &rewriter, Operation *transformOp, ArrayRef<Operation *> payloadOps, unsigned numLoops,
+ RewriterBase &rewriter, Operation *transformOp,
+ ArrayRef<Operation *> payloadOps, unsigned numLoops,
transform::TransformResults &transformResults,
function_ref<FailureOr<scf::SCFTileAndFuseResult>(TilingInterface)>
applyFn) {
result.addTypes(pdl::OperationType::get(builder.getContext()));
}
+void transform::MatchOp::build(OpBuilder &builder, OperationState &result,
+ TypeRange resultTypes, Value target,
+ ArrayRef<StringRef> opNames) {
+ result.addOperands(target);
+ result.addAttribute(MatchOp::getOpsAttrName(result.name),
+ builder.getStrArrayAttr(opNames));
+ result.addTypes(resultTypes);
+}
+
DiagnosedSilenceableFailure
transform::MatchOp::apply(transform::TransformResults &results,
transform::TransformState &state) {