//===- InterpreterPass.cpp - Transform dialect interpreter pass -----------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "mlir/Dialect/Transform/IR/TransformDialect.h" #include "mlir/Dialect/Transform/Interfaces/TransformInterfaces.h" #include "mlir/Dialect/Transform/Transforms/Passes.h" #include "mlir/Dialect/Transform/Transforms/TransformInterpreterUtils.h" usingnamespacemlir; namespace mlir { namespace transform { #define GEN_PASS_DEF_INTERPRETERPASS #include "mlir/Dialect/Transform/Transforms/Passes.h.inc" } // namespace transform } // namespace mlir /// Returns the payload operation to be used as payload root: /// - the operation nested under `passRoot` that has the given tag attribute, /// must be unique; /// - the `passRoot` itself if the tag is empty. static Operation *findPayloadRoot(Operation *passRoot, StringRef tag) { … } namespace { class InterpreterPass : public transform::impl::InterpreterPassBase<InterpreterPass> { … }; } // namespace