//===- CodegenEnv.h - Code generation environment class ---------*- 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 code generation environment class. // //===----------------------------------------------------------------------===// #ifndef MLIR_DIALECT_SPARSETENSOR_TRANSFORMS_UTILS_CODEGENENV_H_ #define MLIR_DIALECT_SPARSETENSOR_TRANSFORMS_UTILS_CODEGENENV_H_ #include "CodegenUtils.h" #include "LoopEmitter.h" #include "mlir/Dialect/Linalg/IR/Linalg.h" #include "mlir/Dialect/SparseTensor/IR/SparseTensor.h" #include "mlir/Dialect/SparseTensor/Transforms/Passes.h" #include "mlir/Dialect/SparseTensor/Utils/Merger.h" #include <optional> namespace mlir { namespace sparse_tensor { /// The code generation environment class aggregates a number of data /// structures that are needed during the code generation phase of /// sparsification. This environment simplifies passing around such /// data during sparsification (rather than passing around all the /// individual compoments where needed). Furthermore, it provides /// convience methods that keep implementation details transparent /// to sparsification while asserting on internal consistency. class CodegenEnv { … }; } // namespace sparse_tensor } // namespace mlir #endif // MLIR_DIALECT_SPARSETENSOR_TRANSFORMS_UTILS_CODEGENENV_H_