1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Target SDNode descriptions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* From: BPF.td *|
7|* *|
8\*===----------------------------------------------------------------------===*/
9
10#ifdef GET_SDNODE_ENUM
11#undef GET_SDNODE_ENUM
12
13namespace llvm::BPFISD {
14
15enum GenNodeType : unsigned {
16 BR_CC = ISD::BUILTIN_OP_END,
17 CALL,
18 LOAD_STACK_ARG,
19 MEMCPY,
20 RET_GLUE,
21 SELECT_CC,
22 STORE_STACK_ARG,
23 Wrapper,
24};
25
26static constexpr unsigned GENERATED_OPCODE_END = Wrapper + 1;
27
28} // namespace llvm::BPFISD
29
30#endif // GET_SDNODE_ENUM
31
32#ifdef GET_SDNODE_DESC
33#undef GET_SDNODE_DESC
34
35namespace llvm {
36
37
38#ifdef __GNUC__
39#pragma GCC diagnostic push
40#pragma GCC diagnostic ignored "-Woverlength-strings"
41#endif
42static constexpr char BPFSDNodeNamesStorage[] =
43 "\0"
44 "BPFISD::BR_CC\0"
45 "BPFISD::CALL\0"
46 "BPFISD::LOAD_STACK_ARG\0"
47 "BPFISD::MEMCPY\0"
48 "BPFISD::RET_GLUE\0"
49 "BPFISD::SELECT_CC\0"
50 "BPFISD::STORE_STACK_ARG\0"
51 "BPFISD::Wrapper\0"
52 ;
53#ifdef __GNUC__
54#pragma GCC diagnostic pop
55#endif
56
57static constexpr llvm::StringTable
58BPFSDNodeNames = BPFSDNodeNamesStorage;
59
60static const VTByHwModePair BPFVTByHwModeTable[] = {
61 /* dummy */ {0, MVT::INVALID_SIMPLE_VALUE_TYPE}
62};
63
64static const SDTypeConstraint BPFSDTypeConstraints[] = {
65 /* 0 */ {SDTCisVT, 3, 0, 0, MVT::i64}, {SDTCisVT, 2, 0, 0, MVT::i64}, {SDTCisVT, 1, 0, 0, MVT::i64}, {SDTCisVT, 0, 0, 0, MVT::i64},
66 /* 4 */ {SDTCisVT, 0, 0, 0, MVT::iPTR},
67 /* 5 */ {SDTCisPtrTy, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
68 /* 7 */ {SDTCisVT, 3, 0, 0, MVT::Other}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
69 /* 9 */ {SDTCisSameAs, 4, 5, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 4, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 1, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
70};
71
72static const SDNodeDesc BPFSDNodeDescs[] = {
73 {0, 4, 0|1<<SDNPHasChain, 0, 0, 1, 7, 2}, // BR_CC
74 {0, -1, 0|1<<SDNPHasChain|1<<SDNPOutGlue|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 15, 4, 1}, // CALL
75 {1, 1, 0|1<<SDNPHasChain, 0, 0, 28, 2, 2}, // LOAD_STACK_ARG
76 {0, 4, 0|1<<SDNPHasChain, 0, 0, 51, 0, 4}, // MEMCPY
77 {0, 0, 0|1<<SDNPHasChain|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 66, 0, 0}, // RET_GLUE
78 {1, 5, 0, 0, 0, 83, 9, 3}, // SELECT_CC
79 {0, 2, 0|1<<SDNPHasChain, 0, 0, 101, 2, 2}, // STORE_STACK_ARG
80 {1, 1, 0, 0, 0, 125, 5, 2}, // Wrapper
81};
82
83static const SDNodeInfo BPFGenSDNodeInfo(
84 /*NumOpcodes=*/8, BPFSDNodeDescs, BPFSDNodeNames,
85 BPFVTByHwModeTable, BPFSDTypeConstraints);
86
87} // namespace llvm
88
89#endif // GET_SDNODE_DESC
90
91