CIRCT  20.0.0git
EmissionPatternSupport.h
Go to the documentation of this file.
1 //===- EmissionPatternSupport.h - Emission Pattern forward declarations ---===//
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 // Forward declarations and shorthands for various emission pattern classes
10 // such that emission pattern implementations of dialects don't have to
11 // #include all the template classes.
12 //
13 //===----------------------------------------------------------------------===//
14 
15 // NOLINTNEXTLINE(llvm-header-guard)
16 #ifndef CIRCT_TARGET_EXPORTSYSTEMC_EMISSIONPATTERNSUPPORT_H
17 #define CIRCT_TARGET_EXPORTSYSTEMC_EMISSIONPATTERNSUPPORT_H
18 
19 #include "circt/Support/LLVM.h"
20 
21 namespace circt {
22 namespace ExportSystemC {
23 
24 // Forward declarations.
25 template <typename Ty>
26 class EmissionPatternSet;
27 template <typename PatternTy, typename KeyTy>
28 class FrozenEmissionPatternSet;
29 struct OpEmissionPatternBase;
30 struct TypeEmissionPatternBase;
31 struct AttrEmissionPatternBase;
32 
36 
43 
44 } // namespace ExportSystemC
45 } // namespace circt
46 
47 #endif // CIRCT_TARGET_EXPORTSYSTEMC_EMISSIONPATTERNSUPPORT_H
This class collects a set of emission patterns with base type 'PatternTy'.
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
Definition: DebugAnalysis.h:21