26class LazySymbolTable {
28 explicit LazySymbolTable(mlir::Operation *op)
29 : module(mlir::isa<mlir::ModuleOp>(op)
30 ? mlir::cast<mlir::ModuleOp>(op)
31 : op->getParentOfType<mlir::ModuleOp>()) {}
36 table = std::make_unique<mlir::SymbolTable>(module);
43 return table->lookup<T>(name);
53 return table ? table->lookup(attr.getRootReference().getValue()) :
nullptr;
57 std::unique_ptr<mlir::SymbolTable> table;
58 mlir::ModuleOp module;