MLIR 22.0.0git
IRDLSymbols.h
Go to the documentation of this file.
1//===- IRDLSymbols.h - IRDL-related symbol logic ----------------*- C++ -*-===//
2//
3// This file is licensed under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// Manages lookup logic for IRDL dialect-absolute symbols.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef MLIR_DIALECT_IRDL_IRDLSYMBOLS_H
14#define MLIR_DIALECT_IRDL_IRDLSYMBOLS_H
15
16#include "mlir/IR/Operation.h"
17#include "mlir/IR/SymbolTable.h"
18
19namespace mlir {
20namespace irdl {
21
22/// Looks up a symbol from the symbol table containing the source operation's
23/// dialect definition operation. The source operation must be nested within an
24/// IRDL dialect definition operation. This exploits SymbolTableCollection for
25/// better symbol table lookup.
26Operation *lookupSymbolNearDialect(SymbolTableCollection &symbolTable,
27 Operation *source, SymbolRefAttr symbol);
28
29/// Looks up a symbol from the symbol table containing the source operation's
30/// dialect definition operation. The source operation must be nested within an
31/// IRDL dialect definition operation.
32Operation *lookupSymbolNearDialect(Operation *source, SymbolRefAttr symbol);
33
34} // namespace irdl
35} // namespace mlir
36
37#endif // MLIR_DIALECT_IRDL_IRDLSYMBOLS_H
Operation * lookupSymbolNearDialect(SymbolTableCollection &symbolTable, Operation *source, SymbolRefAttr symbol)
Looks up a symbol from the symbol table containing the source operation's dialect definition operatio...
Include the generated interface declarations.