9 #ifndef MLIR_DIALECT_SHAPE_ANALYSIS_SHAPEMAPPINGANALYSIS_H_
10 #define MLIR_DIALECT_SHAPE_ANALYSIS_SHAPEMAPPINGANALYSIS_H_
14 #include "llvm/ADT/DenseMap.h"
15 #include "llvm/ADT/STLExtras.h"
16 #include "llvm/ADT/SmallVector.h"
41 void print(raw_ostream &os)
const {
42 os <<
"// ---- Shape Mapping Information -----\n";
45 os <<
"// Shape for " << it.first <<
" :: " << mappingValue.
funcSymbol;
46 llvm::interleaveComma(mappingValue.
inputs, os <<
"(");
A symbol reference with a reference path containing a single element.
Operation is the basic unit of execution within MLIR.
Include the generated interface declarations.
ShapeMappingAnalysis is used together with OutlineShapeComputationPass to preserve Value and correspo...
llvm::DenseMap< Value, ShapeMappingValue > shapeMapping
void print(raw_ostream &os) const
Dumps the shape mapping information to the given stream.
ShapeMappingAnalysis(Operation *op)
ShapeMappingValue works as the value of ShapeMappingAnalysis table, where funcSymbol is the symbol of...
ShapeMappingValue(FlatSymbolRefAttr symbol, llvm::SmallVector< Value > &&inps)
ShapeMappingValue()=default
llvm::SmallVector< Value > inputs
FlatSymbolRefAttr funcSymbol