// Copyright Advanced Micro Devices, Inc., or its affiliates. // SPDX-License-Identifier: MIT #pragma once #include #include #include namespace rocRoller { namespace KernelGraph { class GraphReindexer { public: std::map coordinates; std::map control; }; /** * Transducer for reindexing expressions via GraphReindexer. * * Usage: * * GraphReindexer reindexer; * ... * auto newExpr = reindexExpression(oldExpr, reindexer); * */ Expression::ExpressionPtr reindexExpression(Expression::ExpressionPtr expr, GraphReindexer const& reindexer); void reindexExpressions(KernelGraph& graph, int tag, GraphReindexer const& reindexer); } }