CIRCT 20.0.0git
Loading...
Searching...
No Matches
HandshakeDialect.cpp
Go to the documentation of this file.
1//===- HandshakeDialect.cpp - Implement the Handshake dialect -------------===//
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// This file implements the Handshake dialect.
10//
11//===----------------------------------------------------------------------===//
12
17#include "mlir/IR/Builders.h"
18#include "mlir/IR/BuiltinTypes.h"
19#include "mlir/IR/DialectImplementation.h"
20#include "llvm/ADT/TypeSwitch.h"
21
22using namespace circt;
23using namespace circt::handshake;
24
25//===----------------------------------------------------------------------===//
26// Dialect specification.
27//===----------------------------------------------------------------------===//
28
29void HandshakeDialect::initialize() {
30 // Register operations.
31 addOperations<
32#define GET_OP_LIST
33#include "circt/Dialect/Handshake/Handshake.cpp.inc"
34 >();
35 addAttributes<
36#define GET_ATTRDEF_LIST
37#include "circt/Dialect/Handshake/HandshakeAttributes.cpp.inc"
38 >();
39}
40
41// Provide implementations for the enums, attributes and interfaces that we use.
42#define GET_ATTRDEF_CLASSES
43#include "circt/Dialect/Handshake/HandshakeAttributes.cpp.inc"
44#include "circt/Dialect/Handshake/HandshakeDialect.cpp.inc"
45#include "circt/Dialect/Handshake/HandshakeEnums.cpp.inc"
46#include "circt/Dialect/Handshake/HandshakeInterfaces.cpp.inc"
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.