| 
    MLIR 22.0.0git
    
   | 
 
Extra analysis state that is required for bufferization of function boundaries. More...
#include "mlir/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.h"
Public Types | |
| using | BbArgIndexSet = DenseSet<int64_t> | 
| A set of block argument indices.   | |
| using | IndexMapping = DenseMap<int64_t, int64_t> | 
| A mapping of indices to indices.   | |
| using | IndexToIndexListMapping = DenseMap<int64_t, SmallVector<int64_t>> | 
| A mapping of indices to a list of indices.   | |
Public Member Functions | |
| FuncAnalysisState (OneShotAnalysisState &state) | |
| void | startFunctionAnalysis (FuncOp funcOp) | 
| This function is called right before analyzing the given FuncOp.   | |
| Public Member Functions inherited from mlir::bufferization::OneShotAnalysisState::Extension | |
| virtual | ~Extension () | 
| Base virtual destructor.   | |
Public Attributes | |
| DenseMap< FuncOp, IndexMapping > | equivalentFuncArgs | 
| A mapping of ReturnOp OpOperand indices to equivalent FuncOp BBArg indices.   | |
| DenseMap< FuncOp, IndexToIndexListMapping > | aliasingReturnVals | 
| A mapping of FuncOp BBArg indices to aliasing ReturnOp OpOperand indices.   | |
| DenseMap< FuncOp, BbArgIndexSet > | readBbArgs | 
| A set of all read BlockArguments of FuncOps.   | |
| DenseMap< FuncOp, BbArgIndexSet > | writtenBbArgs | 
| A set of all written-to BlockArguments of FuncOps.   | |
| DenseMap< FuncOp, FuncOpAnalysisState > | analyzedFuncOps | 
| Keep track of which FuncOps are fully analyzed or currently being analyzed.   | |
| SymbolTableCollection | symbolTables | 
| A collection of cached SymbolTables used for faster function lookup.   | |
Additional Inherited Members | |
| Protected Member Functions inherited from mlir::bufferization::OneShotAnalysisState::Extension | |
| Extension (OneShotAnalysisState &state) | |
| Constructs an extension of the given state object.   | |
| const OneShotAnalysisState & | getAnalysisState () const | 
| Provides read-only access to the parent OneShotAnalysisState object.   | |
Extra analysis state that is required for bufferization of function boundaries.
Definition at line 36 of file FuncBufferizableOpInterfaceImpl.h.
A set of block argument indices.
Definition at line 47 of file FuncBufferizableOpInterfaceImpl.h.
A mapping of indices to indices.
Definition at line 50 of file FuncBufferizableOpInterfaceImpl.h.
| using mlir::bufferization::func_ext::FuncAnalysisState::IndexToIndexListMapping = DenseMap<int64_t, SmallVector<int64_t>> | 
A mapping of indices to a list of indices.
Definition at line 53 of file FuncBufferizableOpInterfaceImpl.h.
      
  | 
  inline | 
Definition at line 37 of file FuncBufferizableOpInterfaceImpl.h.
References mlir::bufferization::OneShotAnalysisState::Extension::Extension(), and mlir::bufferization::OneShotAnalysisState::Extension::OneShotAnalysisState.
| void mlir::bufferization::func_ext::FuncAnalysisState::startFunctionAnalysis | ( | FuncOp | funcOp | ) | 
This function is called right before analyzing the given FuncOp.
It initializes the data structures for the FuncOp in this state object.
Definition at line 33 of file FuncBufferizableOpInterfaceImpl.cpp.
References aliasingReturnVals, analyzedFuncOps, equivalentFuncArgs, mlir::bufferization::func_ext::InProgress, readBbArgs, and writtenBbArgs.
Referenced by mlir::bufferization::analyzeModuleOp().
| DenseMap<FuncOp, IndexToIndexListMapping> mlir::bufferization::func_ext::FuncAnalysisState::aliasingReturnVals | 
A mapping of FuncOp BBArg indices to aliasing ReturnOp OpOperand indices.
Definition at line 60 of file FuncBufferizableOpInterfaceImpl.h.
Referenced by mlir::bufferization::func_ext::CallOpInterface::getAliasingValues(), and startFunctionAnalysis().
| DenseMap<FuncOp, FuncOpAnalysisState> mlir::bufferization::func_ext::FuncAnalysisState::analyzedFuncOps | 
Keep track of which FuncOps are fully analyzed or currently being analyzed.
Definition at line 70 of file FuncBufferizableOpInterfaceImpl.h.
Referenced by mlir::bufferization::analyzeModuleOp(), and startFunctionAnalysis().
| DenseMap<FuncOp, IndexMapping> mlir::bufferization::func_ext::FuncAnalysisState::equivalentFuncArgs | 
A mapping of ReturnOp OpOperand indices to equivalent FuncOp BBArg indices.
Definition at line 57 of file FuncBufferizableOpInterfaceImpl.h.
Referenced by mlir::bufferization::func_ext::getEquivalentFuncArgIdx(), and startFunctionAnalysis().
| DenseMap<FuncOp, BbArgIndexSet> mlir::bufferization::func_ext::FuncAnalysisState::readBbArgs | 
A set of all read BlockArguments of FuncOps.
Definition at line 63 of file FuncBufferizableOpInterfaceImpl.h.
Referenced by mlir::bufferization::func_ext::CallOpInterface::bufferizesToMemoryRead(), and startFunctionAnalysis().
      
  | 
  mutable | 
A collection of cached SymbolTables used for faster function lookup.
Definition at line 73 of file FuncBufferizableOpInterfaceImpl.h.
Referenced by mlir::bufferization::analyzeModuleOp().
| DenseMap<FuncOp, BbArgIndexSet> mlir::bufferization::func_ext::FuncAnalysisState::writtenBbArgs | 
A set of all written-to BlockArguments of FuncOps.
Definition at line 66 of file FuncBufferizableOpInterfaceImpl.h.
Referenced by mlir::bufferization::func_ext::CallOpInterface::bufferizesToMemoryWrite(), and startFunctionAnalysis().