//===- IterationGraphSorter.h -----------------------------------*- C++ -*-===// // // 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 // //===----------------------------------------------------------------------===// // // This header file defines the iteration graph sorter (top-sort scheduling). // //===----------------------------------------------------------------------===// #ifndef MLIR_DIALECT_SPARSETENSOR_TRANSFORMS_UTILS_ITERATIONGRAPHSORTER_H_ #define MLIR_DIALECT_SPARSETENSOR_TRANSFORMS_UTILS_ITERATIONGRAPHSORTER_H_ #include "mlir/IR/AffineMap.h" namespace mlir { // Forward declarations. class Value; namespace utils { enum class IteratorType : uint32_t; } // namespace utils namespace linalg { class GenericOp; } // namespace linalg namespace sparse_tensor { /// Iteration graph sorting mask, enum class SortMask : unsigned { … }; class IterationGraphSorter { … }; } // namespace sparse_tensor } // namespace mlir #endif // MLIR_DIALECT_SPARSETENSOR_TRANSFORMS_UTILS_ITERATIONGRAPHSORTER_H_