CIRCT 20.0.0git
Loading...
Searching...
No Matches
KanagawaOps.h
Go to the documentation of this file.
1//===- KanagawaOps.h - Definition of Kanagawa dialect ops -------*- C++ -*-===//
2//
3// Part of the LLVM Project, 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#ifndef CIRCT_DIALECT_KANAGAWA_KANAGAWAOPS_H
10#define CIRCT_DIALECT_KANAGAWA_KANAGAWAOPS_H
11
19#include "circt/Support/LLVM.h"
20#include "mlir/IR/Builders.h"
21#include "mlir/IR/BuiltinOps.h"
22#include "mlir/IR/OpImplementation.h"
23#include "mlir/IR/RegionKindInterface.h"
24#include "mlir/IR/SymbolTable.h"
25#include "mlir/Interfaces/CallInterfaces.h"
26#include "mlir/Interfaces/ControlFlowInterfaces.h"
27#include "mlir/Interfaces/FunctionInterfaces.h"
28#include "mlir/Interfaces/InferTypeOpInterface.h"
29#include "mlir/Interfaces/SideEffectInterfaces.h"
30namespace circt {
31namespace kanagawa {
32class ContainerOp;
33
34// Symbol name for the kanagawa operator library to be used during scheduling.
35static constexpr const char *kKanagawaOperatorLibName =
36 "kanagawa_operator_library";
37
38namespace detail {
39// Verify that `op` conforms to the ScopeOpInterface.
40LogicalResult verifyScopeOpInterface(Operation *op);
41
42} // namespace detail
43} // namespace kanagawa
44} // namespace circt
45
46#include "circt/Dialect/Kanagawa/KanagawaInterfaces.h.inc"
47
48#define GET_OP_CLASSES
49#include "circt/Dialect/Kanagawa/Kanagawa.h.inc"
50
51#endif // CIRCT_DIALECT_KANAGAWA_KANAGAWAOPS_H
LogicalResult verifyScopeOpInterface(Operation *op)
static constexpr const char * kKanagawaOperatorLibName
Definition KanagawaOps.h:35
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.