//===- ShapeMappingAnalysis.h - Preserve shape Info ------------*- 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 // //===----------------------------------------------------------------------===// #ifndef MLIR_DIALECT_SHAPE_ANALYSIS_SHAPEMAPPINGANALYSIS_H_ #define MLIR_DIALECT_SHAPE_ANALYSIS_SHAPEMAPPINGANALYSIS_H_ #include "mlir/IR/BuiltinAttributes.h" #include "mlir/IR/Value.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallVector.h" namespace mlir { namespace shape { /// ShapeMappingValue works as the value of ShapeMappingAnalysis table, where /// `funcSymbol` is the symbol of mapping function, and `inputs` are the actual /// parameters for the function. struct ShapeMappingValue { … }; /// ShapeMappingAnalysis is used together with OutlineShapeComputationPass to /// preserve Value and corresponding shape function / arguments mapping /// information struct ShapeMappingAnalysis { … }; } // namespace shape } // namespace mlir #endif // MLIR_DIALECT_SHAPE_ANALYSIS_SHAPEMAPPINGANALYSIS_H_