CIRCT  18.0.0git
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 
42 #include "mlir/IR/Dialect.h"
43 
44 namespace circt {
45 
46 // Add all the MLIR dialects to the provided registry.
47 inline void registerAllDialects(mlir::DialectRegistry &registry) {
48  // clang-format off
49  registry.insert<
50  arc::ArcDialect,
51  calyx::CalyxDialect,
52  chirrtl::CHIRRTLDialect,
53  comb::CombDialect,
54  dc::DCDialect,
55  esi::ESIDialect,
56  firrtl::FIRRTLDialect,
57  fsm::FSMDialect,
58  handshake::HandshakeDialect,
59  hw::HWDialect,
60  hwarith::HWArithDialect,
61  interop::InteropDialect,
62  ibis::IbisDialect,
63  llhd::LLHDDialect,
64  loopschedule::LoopScheduleDialect,
65  ltl::LTLDialect,
66  moore::MooreDialect,
67  msft::MSFTDialect,
68  om::OMDialect,
69  pipeline::PipelineDialect,
70  seq::SeqDialect,
71  ssp::SSPDialect,
72  sv::SVDialect,
73  systemc::SystemCDialect,
74  verif::VerifDialect
75  >();
76  // clang-format on
77 }
78 
79 } // namespace circt
80 
81 #endif // CIRCT_INITALLDIALECTS_H_
This file defines an intermediate representation for circuits acting as an abstraction for constraint...
void registerAllDialects(mlir::DialectRegistry &registry)