-
Notifications
You must be signed in to change notification settings - Fork 26
/
Dialect.cpp.jinja
58 lines (52 loc) · 1.78 KB
/
Dialect.cpp.jinja
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include "include/Dialect/{{ dialect_name }}/IR/{{ dialect_name }}Dialect.h"
#include "mlir/include/mlir/IR/DialectImplementation.h" // from @llvm-project
// NOLINTNEXTLINE(misc-include-cleaner): Required to define {{ dialect_name }}Ops
{% if enable_attributes %}
#include "include/Dialect/{{ dialect_name }}/IR/{{ dialect_name }}Attributes.h"
{% endif %}
{% if enable_ops %}
#include "include/Dialect/{{ dialect_name }}/IR/{{ dialect_name }}Ops.h"
{% endif %}
{% if enable_types %}
#include "include/Dialect/{{ dialect_name }}/IR/{{ dialect_name }}Types.h"
{% endif %}
// Generated definitions
#include "include/Dialect/{{ dialect_name }}/IR/{{ dialect_name }}Dialect.cpp.inc"
{% if enable_attributes %}
#define GET_ATTRDEF_CLASSES
#include "include/Dialect/{{ dialect_name }}/IR/{{ dialect_name }}Attributes.cpp.inc"
{% endif %}
{% if enable_types %}
#define GET_TYPEDEF_CLASSES
#include "include/Dialect/{{ dialect_name }}/IR/{{ dialect_name }}Types.cpp.inc"
{% endif %}
{% if enable_ops %}
#define GET_OP_CLASSES
#include "include/Dialect/{{ dialect_name }}/IR/{{ dialect_name }}Ops.cpp.inc"
{% endif %}
namespace mlir {
namespace heir {
namespace {{ dialect_namespace }} {
void {{ dialect_name }}Dialect::initialize() {
{% if enable_attributes %}
addAttributes<
#define GET_ATTRDEF_LIST
#include "include/Dialect/{{ dialect_name }}/IR/{{ dialect_name }}Attributes.cpp.inc"
>();
{% endif %}
{% if enable_types %}
addTypes<
#define GET_TYPEDEF_LIST
#include "include/Dialect/{{ dialect_name }}/IR/{{ dialect_name }}Types.cpp.inc"
>();
{% endif %}
{% if enable_ops %}
addOperations<
#define GET_OP_LIST
#include "include/Dialect/{{ dialect_name }}/IR/{{ dialect_name }}Ops.cpp.inc"
>();
{% endif %}
}
} // namespace {{ dialect_namespace }}
} // namespace heir
} // namespace mlir