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 MEMCPY,
19 RET_GLUE,
20 SELECT_CC,
21 Wrapper,
22};
23
24static constexpr unsigned GENERATED_OPCODE_END = Wrapper + 1;
25
26} // namespace llvm::BPFISD
27
28#endif // GET_SDNODE_ENUM
29
30#ifdef GET_SDNODE_DESC
31#undef GET_SDNODE_DESC
32
33namespace llvm {
34
35
36#ifdef __GNUC__
37#pragma GCC diagnostic push
38#pragma GCC diagnostic ignored "-Woverlength-strings"
39#endif
40static constexpr char BPFSDNodeNamesStorage[] =
41 "\0"
42 "BPFISD::BR_CC\0"
43 "BPFISD::CALL\0"
44 "BPFISD::MEMCPY\0"
45 "BPFISD::RET_GLUE\0"
46 "BPFISD::SELECT_CC\0"
47 "BPFISD::Wrapper\0"
48 ;
49#ifdef __GNUC__
50#pragma GCC diagnostic pop
51#endif
52
53static constexpr llvm::StringTable
54BPFSDNodeNames = BPFSDNodeNamesStorage;
55
56static const VTByHwModePair BPFVTByHwModeTable[] = {
57 /* dummy */ {0, MVT::INVALID_SIMPLE_VALUE_TYPE}
58};
59
60static const SDTypeConstraint BPFSDTypeConstraints[] = {
61 /* 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},
62 /* 4 */ {SDTCisVT, 0, 0, 0, MVT::iPTR},
63 /* 5 */ {SDTCisPtrTy, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
64 /* 7 */ {SDTCisVT, 3, 0, 0, MVT::Other}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
65 /* 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},
66};
67
68static const SDNodeDesc BPFSDNodeDescs[] = {
69 {0, 4, 0|1<<SDNPHasChain, 0, 0, 1, 7, 2}, // BR_CC
70 {0, -1, 0|1<<SDNPHasChain|1<<SDNPOutGlue|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 15, 4, 1}, // CALL
71 {0, 4, 0|1<<SDNPHasChain, 0, 0, 28, 0, 4}, // MEMCPY
72 {0, 0, 0|1<<SDNPHasChain|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 43, 0, 0}, // RET_GLUE
73 {1, 5, 0, 0, 0, 60, 9, 3}, // SELECT_CC
74 {1, 1, 0, 0, 0, 78, 5, 2}, // Wrapper
75};
76
77static const SDNodeInfo BPFGenSDNodeInfo(
78 /*NumOpcodes=*/6, BPFSDNodeDescs, BPFSDNodeNames,
79 BPFVTByHwModeTable, BPFSDTypeConstraints);
80
81} // namespace llvm
82
83#endif // GET_SDNODE_DESC
84
85