1 | /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
2 | |* *| |
3 | |* Target SDNode descriptions *| |
4 | |* *| |
5 | |* Automatically generated file, do not edit! *| |
6 | |* From: XCore.td *| |
7 | |* *| |
8 | \*===----------------------------------------------------------------------===*/ |
9 | |
10 | #ifdef GET_SDNODE_ENUM |
11 | #undef GET_SDNODE_ENUM |
12 | |
13 | namespace llvm::XCoreISD { |
14 | |
15 | enum GenNodeType : unsigned { |
16 | BL = ISD::BUILTIN_OP_END, |
17 | BR_JT, |
18 | BR_JT32, |
19 | CPRelativeWrapper, |
20 | CRC8, |
21 | DPRelativeWrapper, |
22 | EH_RETURN, |
23 | FRAME_TO_ARGS_OFFSET, |
24 | LADD, |
25 | LDWSP, |
26 | LMUL, |
27 | LSUB, |
28 | MACCS, |
29 | MACCU, |
30 | PCRelativeWrapper, |
31 | RETSP, |
32 | STWSP, |
33 | }; |
34 | |
35 | static constexpr unsigned GENERATED_OPCODE_END = STWSP + 1; |
36 | |
37 | } // namespace llvm::XCoreISD |
38 | |
39 | #endif // GET_SDNODE_ENUM |
40 | |
41 | #ifdef GET_SDNODE_DESC |
42 | #undef GET_SDNODE_DESC |
43 | |
44 | namespace llvm { |
45 | |
46 | #ifdef __GNUC__ |
47 | #pragma GCC diagnostic push |
48 | #pragma GCC diagnostic ignored "-Woverlength-strings" |
49 | #endif |
50 | static constexpr char XCoreSDNodeNamesStorage[] = |
51 | "\0" |
52 | "XCoreISD::BL\0" |
53 | "XCoreISD::BR_JT\0" |
54 | "XCoreISD::BR_JT32\0" |
55 | "XCoreISD::CPRelativeWrapper\0" |
56 | "XCoreISD::CRC8\0" |
57 | "XCoreISD::DPRelativeWrapper\0" |
58 | "XCoreISD::EH_RETURN\0" |
59 | "XCoreISD::FRAME_TO_ARGS_OFFSET\0" |
60 | "XCoreISD::LADD\0" |
61 | "XCoreISD::LDWSP\0" |
62 | "XCoreISD::LMUL\0" |
63 | "XCoreISD::LSUB\0" |
64 | "XCoreISD::MACCS\0" |
65 | "XCoreISD::MACCU\0" |
66 | "XCoreISD::PCRelativeWrapper\0" |
67 | "XCoreISD::RETSP\0" |
68 | "XCoreISD::STWSP\0" |
69 | ; |
70 | #ifdef __GNUC__ |
71 | #pragma GCC diagnostic pop |
72 | #endif |
73 | |
74 | static constexpr llvm::StringTable XCoreSDNodeNames = |
75 | XCoreSDNodeNamesStorage; |
76 | |
77 | static const SDTypeConstraint XCoreSDTypeConstraints[] = { |
78 | /* 0 */ {SDTCisVT, 5, 0, MVT::i32}, {SDTCisVT, 4, 0, MVT::i32}, {SDTCisVT, 3, 0, MVT::i32}, {SDTCisVT, 2, 0, MVT::i32}, {SDTCisVT, 1, 0, MVT::i32}, {SDTCisVT, 0, 0, MVT::i32}, |
79 | /* 6 */ {SDTCisPtrTy, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
80 | /* 7 */ {SDTCisInt, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
81 | /* 8 */ {SDTCisPtrTy, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
82 | /* 10 */ {SDTCisInt, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
83 | }; |
84 | |
85 | static const SDNodeDesc XCoreSDNodeDescs[] = { |
86 | {0, 1, 0|1<<SDNPHasChain|1<<SDNPOutGlue|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 1, 6, 1}, // BL |
87 | {0, 2, 0|1<<SDNPHasChain, 0, 0, 14, 4, 2}, // BR_JT |
88 | {0, 2, 0|1<<SDNPHasChain, 0, 0, 30, 4, 2}, // BR_JT32 |
89 | {1, 1, 0, 0, 0, 48, 8, 2}, // CPRelativeWrapper |
90 | {2, 3, 0, 0, 0, 76, 1, 5}, // CRC8 |
91 | {1, 1, 0, 0, 0, 91, 8, 2}, // DPRelativeWrapper |
92 | {0, 2, 0|1<<SDNPHasChain|1<<SDNPOptInGlue, 0, 0, 119, 8, 2}, // EH_RETURN |
93 | {1, 0, 0, 0, 0, 139, 7, 1}, // FRAME_TO_ARGS_OFFSET |
94 | {2, 3, 0, 0, 0, 170, 1, 5}, // LADD |
95 | {1, 1, 0|1<<SDNPHasChain, 0, 0, 185, 10, 1}, // LDWSP |
96 | {2, 4, 0, 0, 0, 201, 0, 6}, // LMUL |
97 | {2, 3, 0, 0, 0, 216, 1, 5}, // LSUB |
98 | {2, 4, 0, 0, 0, 231, 0, 6}, // MACCS |
99 | {2, 4, 0, 0, 0, 247, 0, 6}, // MACCU |
100 | {1, 1, 0, 0, 0, 263, 8, 2}, // PCRelativeWrapper |
101 | {0, 1, 0|1<<SDNPHasChain|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 291, 6, 1}, // RETSP |
102 | {0, 2, 0|1<<SDNPHasChain, 0, 0, 307, 10, 1}, // STWSP |
103 | }; |
104 | |
105 | static const SDNodeInfo XCoreGenSDNodeInfo( |
106 | /*NumOpcodes=*/17, XCoreSDNodeDescs, |
107 | XCoreSDNodeNames, XCoreSDTypeConstraints); |
108 | |
109 | } // namespace llvm |
110 | |
111 | #endif // GET_SDNODE_DESC |
112 | |
113 | |