1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Target SDNode descriptions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* From: AVR.td *|
7|* *|
8\*===----------------------------------------------------------------------===*/
9
10#ifdef GET_SDNODE_ENUM
11#undef GET_SDNODE_ENUM
12
13namespace llvm::AVRISD {
14
15enum GenNodeType : unsigned {
16 ASR = ISD::BUILTIN_OP_END,
17 ASRBN,
18 ASRLO,
19 ASRLOOP,
20 ASRW,
21 ASRWN,
22 BRCOND,
23 CALL,
24 CMP,
25 CMPC,
26 LSL,
27 LSLBN,
28 LSLHI,
29 LSLLOOP,
30 LSLW,
31 LSLWN,
32 LSR,
33 LSRBN,
34 LSRLO,
35 LSRLOOP,
36 LSRW,
37 LSRWN,
38 RETI_GLUE,
39 RET_GLUE,
40 ROL,
41 ROLLOOP,
42 ROR,
43 RORLOOP,
44 SELECT_CC,
45 SWAP,
46 TST,
47 WRAPPER,
48};
49
50static constexpr unsigned GENERATED_OPCODE_END = WRAPPER + 1;
51
52} // namespace llvm::AVRISD
53
54#endif // GET_SDNODE_ENUM
55
56#ifdef GET_SDNODE_DESC
57#undef GET_SDNODE_DESC
58
59namespace llvm {
60
61#ifdef __GNUC__
62#pragma GCC diagnostic push
63#pragma GCC diagnostic ignored "-Woverlength-strings"
64#endif
65static constexpr char AVRSDNodeNamesStorage[] =
66 "\0"
67 "AVRISD::ASR\0"
68 "AVRISD::ASRBN\0"
69 "AVRISD::ASRLO\0"
70 "AVRISD::ASRLOOP\0"
71 "AVRISD::ASRW\0"
72 "AVRISD::ASRWN\0"
73 "AVRISD::BRCOND\0"
74 "AVRISD::CALL\0"
75 "AVRISD::CMP\0"
76 "AVRISD::CMPC\0"
77 "AVRISD::LSL\0"
78 "AVRISD::LSLBN\0"
79 "AVRISD::LSLHI\0"
80 "AVRISD::LSLLOOP\0"
81 "AVRISD::LSLW\0"
82 "AVRISD::LSLWN\0"
83 "AVRISD::LSR\0"
84 "AVRISD::LSRBN\0"
85 "AVRISD::LSRLO\0"
86 "AVRISD::LSRLOOP\0"
87 "AVRISD::LSRW\0"
88 "AVRISD::LSRWN\0"
89 "AVRISD::RETI_GLUE\0"
90 "AVRISD::RET_GLUE\0"
91 "AVRISD::ROL\0"
92 "AVRISD::ROLLOOP\0"
93 "AVRISD::ROR\0"
94 "AVRISD::RORLOOP\0"
95 "AVRISD::SELECT_CC\0"
96 "AVRISD::SWAP\0"
97 "AVRISD::TST\0"
98 "AVRISD::WRAPPER\0"
99 ;
100#ifdef __GNUC__
101#pragma GCC diagnostic pop
102#endif
103
104static constexpr llvm::StringTable AVRSDNodeNames =
105 AVRSDNodeNamesStorage;
106
107static const SDTypeConstraint AVRSDTypeConstraints[] = {
108 /* 0 */ {SDTCisVT, 1, 0, MVT::i8}, {SDTCisVT, 0, 0, MVT::Other},
109 /* 2 */ {SDTCisVT, 0, 0, MVT::iPTR},
110 /* 3 */ {SDTCisInt, 4, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 3, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
111 /* 8 */ {SDTCisPtrTy, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, MVT::INVALID_SIMPLE_VALUE_TYPE},
112 /* 10 */ {SDTCisInt, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, MVT::INVALID_SIMPLE_VALUE_TYPE},
113 /* 13 */ {SDTCisInt, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 2, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, MVT::INVALID_SIMPLE_VALUE_TYPE},
114 /* 16 */ {SDTCisVT, 3, 0, MVT::i8}, {SDTCisSameAs, 1, 2, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, MVT::INVALID_SIMPLE_VALUE_TYPE},
115};
116
117static const SDNodeDesc AVRSDNodeDescs[] = {
118 {1, 1, 0, 0, 0, 1, 11, 2}, // ASR
119 {1, 2, 0, 0, 0, 13, 13, 3}, // ASRBN
120 {1, 1, 0, 0, 0, 27, 11, 2}, // ASRLO
121 {1, 2, 0, 0, 0, 41, 10, 3}, // ASRLOOP
122 {2, 3, 0, 0, 0, 57, 3, 5}, // ASRW
123 {1, 2, 0, 0, 0, 70, 13, 3}, // ASRWN
124 {0, 2, 0|1<<SDNPHasChain|1<<SDNPInGlue, 0, 0, 84, 0, 2}, // BRCOND
125 {0, -1, 0|1<<SDNPHasChain|1<<SDNPOutGlue|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 99, 2, 1}, // CALL
126 {0, 2, 0|1<<SDNPOutGlue, 0, 0, 112, 9, 1}, // CMP
127 {0, 2, 0|1<<SDNPOutGlue|1<<SDNPInGlue, 0, 0, 124, 9, 1}, // CMPC
128 {1, 1, 0, 0, 0, 137, 11, 2}, // LSL
129 {1, 2, 0, 0, 0, 149, 13, 3}, // LSLBN
130 {1, 1, 0, 0, 0, 163, 11, 2}, // LSLHI
131 {1, 2, 0, 0, 0, 177, 10, 3}, // LSLLOOP
132 {2, 3, 0, 0, 0, 193, 3, 5}, // LSLW
133 {1, 2, 0, 0, 0, 206, 13, 3}, // LSLWN
134 {1, 1, 0, 0, 0, 220, 11, 2}, // LSR
135 {1, 2, 0, 0, 0, 232, 13, 3}, // LSRBN
136 {1, 1, 0, 0, 0, 246, 11, 2}, // LSRLO
137 {1, 2, 0, 0, 0, 260, 10, 3}, // LSRLOOP
138 {2, 3, 0, 0, 0, 276, 3, 5}, // LSRW
139 {1, 2, 0, 0, 0, 289, 13, 3}, // LSRWN
140 {0, 0, 0|1<<SDNPHasChain|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 303, 0, 0}, // RETI_GLUE
141 {0, 0, 0|1<<SDNPHasChain|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 321, 0, 0}, // RET_GLUE
142 {1, 1, 0, 0, 0, 338, 11, 2}, // ROL
143 {1, 2, 0, 0, 0, 350, 10, 3}, // ROLLOOP
144 {1, 1, 0, 0, 0, 366, 11, 2}, // ROR
145 {1, 2, 0, 0, 0, 378, 10, 3}, // RORLOOP
146 {1, 3, 0|1<<SDNPInGlue, 0, 0, 394, 16, 3}, // SELECT_CC
147 {1, 1, 0, 0, 0, 412, 11, 2}, // SWAP
148 {0, 1, 0|1<<SDNPOutGlue, 0, 0, 425, 7, 1}, // TST
149 {1, 1, 0, 0, 0, 437, 8, 2}, // WRAPPER
150};
151
152static const SDNodeInfo AVRGenSDNodeInfo(
153 /*NumOpcodes=*/32, AVRSDNodeDescs,
154 AVRSDNodeNames, AVRSDTypeConstraints);
155
156} // namespace llvm
157
158#endif // GET_SDNODE_DESC
159
160