9 #ifndef MLIR_ANALYSIS_SYMBOLTABLEANALYSIS_H
10 #define MLIR_ANALYSIS_SYMBOLTABLEANALYSIS_H
25 : topLevelSymbolTable(symbolTables.getSymbolTable(op)) {}
34 template <
typename OpT>
36 return cast<OpT>(topLevelSymbolTable.
getOp());
Operation is the basic unit of execution within MLIR.
This is a simple analysis that contains a symbol table collection and, for simplicity,...
SymbolTableCollection & getSymbolTables()
Get the symbol table collection.
SymbolTable & getTopLevelSymbolTable()
Get the top-level symbol table.
SymbolTableAnalysis(Operation *op)
Create the symbol table analysis at the provided top-level operation and instantiate the symbol table...
OpT getTopLevelOp()
Get the top-level operation.
bool isInvalidated(const AnalysisManager::PreservedAnalyses &pa)
Symbol tables are kept up-to-date by passes.
This class represents a collection of SymbolTables.
This class allows for representing and managing the symbol table used by operations with the 'SymbolT...
Operation * getOp() const
Returns the associated operation.
A utility class to represent the analyses that are known to be preserved.
Include the generated interface declarations.