CIRCT 20.0.0git
Loading...
Searching...
No Matches
InitAllDialects.h
Go to the documentation of this file.
1//===- InitAllDialects.h - CIRCT Dialects Registration ----------*- 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// This file defines a helper to trigger the registration of all dialects and
10// passes to the system.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef CIRCT_INITALLDIALECTS_H_
15#define CIRCT_INITALLDIALECTS_H_
16
41#ifdef CIRCT_INCLUDE_TESTS
43#endif
51#include "mlir/IR/Dialect.h"
52
53namespace circt {
54
55// Add all the MLIR dialects to the provided registry.
56inline void registerAllDialects(mlir::DialectRegistry &registry) {
57 // clang-format off
58 registry.insert<
59 aig::AIGDialect,
60 arc::ArcDialect,
61 calyx::CalyxDialect,
62 chirrtl::CHIRRTLDialect,
63 comb::CombDialect,
64 dc::DCDialect,
65 debug::DebugDialect,
66 emit::EmitDialect,
67 esi::ESIDialect,
68 firrtl::FIRRTLDialect,
69 fsm::FSMDialect,
70 handshake::HandshakeDialect,
71 hw::HWDialect,
72 hwarith::HWArithDialect,
73 interop::InteropDialect,
74 kanagawa::KanagawaDialect,
75 llhd::LLHDDialect,
76 loopschedule::LoopScheduleDialect,
77 ltl::LTLDialect,
78 moore::MooreDialect,
79 msft::MSFTDialect,
80 om::OMDialect,
81 pipeline::PipelineDialect,
82 rtg::RTGDialect,
83#ifdef CIRCT_INCLUDE_TESTS
84 rtgtest::RTGTestDialect,
85#endif
86 seq::SeqDialect,
87 sim::SimDialect,
88 smt::SMTDialect,
89 ssp::SSPDialect,
90 sv::SVDialect,
91 systemc::SystemCDialect,
92 verif::VerifDialect
93 >();
94 // clang-format on
95}
96
97} // namespace circt
98
99#endif // CIRCT_INITALLDIALECTS_H_
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
void registerAllDialects(mlir::DialectRegistry &registry)