1 | /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
2 | |* *| |
3 | |* Target DFA Packetizer Tables *| |
4 | |* *| |
5 | |* Automatically generated file, do not edit! *| |
6 | |* *| |
7 | \*===----------------------------------------------------------------------===*/ |
8 | |
9 | |
10 | #include "llvm/CodeGen/DFAPacketizer.h" |
11 | namespace llvm { |
12 | } // end namespace llvm |
13 | |
14 | namespace { |
15 | constexpr unsigned R600ResourceIndices[] = { |
16 | 0, 1, 2, 3, 1, 4, 0, 1, 2, 2, 1, 0, |
17 | }; |
18 | |
19 | constexpr unsigned R600ProcResourceIndexStart[] = { |
20 | 0, // NoSchedModel |
21 | 0, // R600_VLIW5_ItinModel |
22 | 6, // R600_VLIW4_ItinModel |
23 | 12 |
24 | }; |
25 | |
26 | // Input NFA has 32 states with 176 transitions. |
27 | // Generated DFA has 23 states with 70 transitions. |
28 | |
29 | // A zero-terminated sequence of NFA state transitions. Every DFA |
30 | // transition implies a set of NFA transitions. These are referred |
31 | // to by index in R600Transitions[]. |
32 | const std::array<NfaStatePair, 367> R600TransitionInfo = {._M_elems: { |
33 | /* 0 */ {.FromDfaState: 0, .ToDfaState: 1}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
34 | /* 2 */ {.FromDfaState: 0, .ToDfaState: 1}, {.FromDfaState: 0, .ToDfaState: 2}, {.FromDfaState: 0, .ToDfaState: 4}, {.FromDfaState: 0, .ToDfaState: 8}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
35 | /* 7 */ {.FromDfaState: 0, .ToDfaState: 1}, {.FromDfaState: 0, .ToDfaState: 2}, {.FromDfaState: 0, .ToDfaState: 4}, {.FromDfaState: 0, .ToDfaState: 8}, {.FromDfaState: 0, .ToDfaState: 16}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
36 | /* 13 */ {.FromDfaState: 1, .ToDfaState: 3}, {.FromDfaState: 1, .ToDfaState: 5}, {.FromDfaState: 1, .ToDfaState: 9}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
37 | /* 17 */ {.FromDfaState: 1, .ToDfaState: 3}, {.FromDfaState: 1, .ToDfaState: 5}, {.FromDfaState: 1, .ToDfaState: 9}, {.FromDfaState: 1, .ToDfaState: 17}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
38 | /* 22 */ {.FromDfaState: 2, .ToDfaState: 3}, {.FromDfaState: 4, .ToDfaState: 5}, {.FromDfaState: 8, .ToDfaState: 9}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
39 | /* 26 */ {.FromDfaState: 1, .ToDfaState: 3}, {.FromDfaState: 1, .ToDfaState: 5}, {.FromDfaState: 1, .ToDfaState: 9}, {.FromDfaState: 2, .ToDfaState: 3}, {.FromDfaState: 2, .ToDfaState: 6}, {.FromDfaState: 2, .ToDfaState: 10}, {.FromDfaState: 4, .ToDfaState: 5}, {.FromDfaState: 4, .ToDfaState: 6}, {.FromDfaState: 4, .ToDfaState: 12}, {.FromDfaState: 8, .ToDfaState: 9}, {.FromDfaState: 8, .ToDfaState: 10}, {.FromDfaState: 8, .ToDfaState: 12}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
40 | /* 39 */ {.FromDfaState: 1, .ToDfaState: 17}, {.FromDfaState: 2, .ToDfaState: 18}, {.FromDfaState: 4, .ToDfaState: 20}, {.FromDfaState: 8, .ToDfaState: 24}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
41 | /* 44 */ {.FromDfaState: 1, .ToDfaState: 3}, {.FromDfaState: 1, .ToDfaState: 5}, {.FromDfaState: 1, .ToDfaState: 9}, {.FromDfaState: 1, .ToDfaState: 17}, {.FromDfaState: 2, .ToDfaState: 3}, {.FromDfaState: 2, .ToDfaState: 6}, {.FromDfaState: 2, .ToDfaState: 10}, {.FromDfaState: 2, .ToDfaState: 18}, {.FromDfaState: 4, .ToDfaState: 5}, {.FromDfaState: 4, .ToDfaState: 6}, {.FromDfaState: 4, .ToDfaState: 12}, {.FromDfaState: 4, .ToDfaState: 20}, {.FromDfaState: 8, .ToDfaState: 9}, {.FromDfaState: 8, .ToDfaState: 10}, {.FromDfaState: 8, .ToDfaState: 12}, {.FromDfaState: 8, .ToDfaState: 24}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
42 | /* 61 */ {.FromDfaState: 3, .ToDfaState: 7}, {.FromDfaState: 3, .ToDfaState: 11}, {.FromDfaState: 5, .ToDfaState: 7}, {.FromDfaState: 5, .ToDfaState: 13}, {.FromDfaState: 9, .ToDfaState: 11}, {.FromDfaState: 9, .ToDfaState: 13}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
43 | /* 68 */ {.FromDfaState: 3, .ToDfaState: 19}, {.FromDfaState: 5, .ToDfaState: 21}, {.FromDfaState: 9, .ToDfaState: 25}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
44 | /* 72 */ {.FromDfaState: 3, .ToDfaState: 7}, {.FromDfaState: 3, .ToDfaState: 11}, {.FromDfaState: 3, .ToDfaState: 19}, {.FromDfaState: 5, .ToDfaState: 7}, {.FromDfaState: 5, .ToDfaState: 13}, {.FromDfaState: 5, .ToDfaState: 21}, {.FromDfaState: 9, .ToDfaState: 11}, {.FromDfaState: 9, .ToDfaState: 13}, {.FromDfaState: 9, .ToDfaState: 25}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
45 | /* 82 */ {.FromDfaState: 6, .ToDfaState: 7}, {.FromDfaState: 10, .ToDfaState: 11}, {.FromDfaState: 12, .ToDfaState: 13}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
46 | /* 86 */ {.FromDfaState: 3, .ToDfaState: 7}, {.FromDfaState: 3, .ToDfaState: 11}, {.FromDfaState: 5, .ToDfaState: 7}, {.FromDfaState: 5, .ToDfaState: 13}, {.FromDfaState: 6, .ToDfaState: 7}, {.FromDfaState: 6, .ToDfaState: 14}, {.FromDfaState: 9, .ToDfaState: 11}, {.FromDfaState: 9, .ToDfaState: 13}, {.FromDfaState: 10, .ToDfaState: 11}, {.FromDfaState: 10, .ToDfaState: 14}, {.FromDfaState: 12, .ToDfaState: 13}, {.FromDfaState: 12, .ToDfaState: 14}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
47 | /* 99 */ {.FromDfaState: 3, .ToDfaState: 19}, {.FromDfaState: 5, .ToDfaState: 21}, {.FromDfaState: 6, .ToDfaState: 22}, {.FromDfaState: 9, .ToDfaState: 25}, {.FromDfaState: 10, .ToDfaState: 26}, {.FromDfaState: 12, .ToDfaState: 28}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
48 | /* 106 */ {.FromDfaState: 3, .ToDfaState: 7}, {.FromDfaState: 3, .ToDfaState: 11}, {.FromDfaState: 3, .ToDfaState: 19}, {.FromDfaState: 5, .ToDfaState: 7}, {.FromDfaState: 5, .ToDfaState: 13}, {.FromDfaState: 5, .ToDfaState: 21}, {.FromDfaState: 6, .ToDfaState: 7}, {.FromDfaState: 6, .ToDfaState: 14}, {.FromDfaState: 6, .ToDfaState: 22}, {.FromDfaState: 9, .ToDfaState: 11}, {.FromDfaState: 9, .ToDfaState: 13}, {.FromDfaState: 9, .ToDfaState: 25}, {.FromDfaState: 10, .ToDfaState: 11}, {.FromDfaState: 10, .ToDfaState: 14}, {.FromDfaState: 10, .ToDfaState: 26}, {.FromDfaState: 12, .ToDfaState: 13}, {.FromDfaState: 12, .ToDfaState: 14}, {.FromDfaState: 12, .ToDfaState: 28}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
49 | /* 125 */ {.FromDfaState: 7, .ToDfaState: 15}, {.FromDfaState: 11, .ToDfaState: 15}, {.FromDfaState: 13, .ToDfaState: 15}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
50 | /* 129 */ {.FromDfaState: 7, .ToDfaState: 23}, {.FromDfaState: 11, .ToDfaState: 27}, {.FromDfaState: 13, .ToDfaState: 29}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
51 | /* 133 */ {.FromDfaState: 7, .ToDfaState: 15}, {.FromDfaState: 7, .ToDfaState: 23}, {.FromDfaState: 11, .ToDfaState: 15}, {.FromDfaState: 11, .ToDfaState: 27}, {.FromDfaState: 13, .ToDfaState: 15}, {.FromDfaState: 13, .ToDfaState: 29}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
52 | /* 140 */ {.FromDfaState: 7, .ToDfaState: 15}, {.FromDfaState: 11, .ToDfaState: 15}, {.FromDfaState: 13, .ToDfaState: 15}, {.FromDfaState: 14, .ToDfaState: 15}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
53 | /* 145 */ {.FromDfaState: 7, .ToDfaState: 23}, {.FromDfaState: 11, .ToDfaState: 27}, {.FromDfaState: 13, .ToDfaState: 29}, {.FromDfaState: 14, .ToDfaState: 30}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
54 | /* 150 */ {.FromDfaState: 7, .ToDfaState: 15}, {.FromDfaState: 7, .ToDfaState: 23}, {.FromDfaState: 11, .ToDfaState: 15}, {.FromDfaState: 11, .ToDfaState: 27}, {.FromDfaState: 13, .ToDfaState: 15}, {.FromDfaState: 13, .ToDfaState: 29}, {.FromDfaState: 14, .ToDfaState: 15}, {.FromDfaState: 14, .ToDfaState: 30}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
55 | /* 159 */ {.FromDfaState: 15, .ToDfaState: 31}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
56 | /* 161 */ {.FromDfaState: 2, .ToDfaState: 3}, {.FromDfaState: 4, .ToDfaState: 5}, {.FromDfaState: 8, .ToDfaState: 9}, {.FromDfaState: 16, .ToDfaState: 17}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
57 | /* 166 */ {.FromDfaState: 1, .ToDfaState: 3}, {.FromDfaState: 1, .ToDfaState: 5}, {.FromDfaState: 1, .ToDfaState: 9}, {.FromDfaState: 2, .ToDfaState: 3}, {.FromDfaState: 2, .ToDfaState: 6}, {.FromDfaState: 2, .ToDfaState: 10}, {.FromDfaState: 4, .ToDfaState: 5}, {.FromDfaState: 4, .ToDfaState: 6}, {.FromDfaState: 4, .ToDfaState: 12}, {.FromDfaState: 8, .ToDfaState: 9}, {.FromDfaState: 8, .ToDfaState: 10}, {.FromDfaState: 8, .ToDfaState: 12}, {.FromDfaState: 16, .ToDfaState: 17}, {.FromDfaState: 16, .ToDfaState: 18}, {.FromDfaState: 16, .ToDfaState: 20}, {.FromDfaState: 16, .ToDfaState: 24}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
58 | /* 183 */ {.FromDfaState: 1, .ToDfaState: 3}, {.FromDfaState: 1, .ToDfaState: 5}, {.FromDfaState: 1, .ToDfaState: 9}, {.FromDfaState: 1, .ToDfaState: 17}, {.FromDfaState: 2, .ToDfaState: 3}, {.FromDfaState: 2, .ToDfaState: 6}, {.FromDfaState: 2, .ToDfaState: 10}, {.FromDfaState: 2, .ToDfaState: 18}, {.FromDfaState: 4, .ToDfaState: 5}, {.FromDfaState: 4, .ToDfaState: 6}, {.FromDfaState: 4, .ToDfaState: 12}, {.FromDfaState: 4, .ToDfaState: 20}, {.FromDfaState: 8, .ToDfaState: 9}, {.FromDfaState: 8, .ToDfaState: 10}, {.FromDfaState: 8, .ToDfaState: 12}, {.FromDfaState: 8, .ToDfaState: 24}, {.FromDfaState: 16, .ToDfaState: 17}, {.FromDfaState: 16, .ToDfaState: 18}, {.FromDfaState: 16, .ToDfaState: 20}, {.FromDfaState: 16, .ToDfaState: 24}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
59 | /* 204 */ {.FromDfaState: 3, .ToDfaState: 7}, {.FromDfaState: 3, .ToDfaState: 11}, {.FromDfaState: 5, .ToDfaState: 7}, {.FromDfaState: 5, .ToDfaState: 13}, {.FromDfaState: 9, .ToDfaState: 11}, {.FromDfaState: 9, .ToDfaState: 13}, {.FromDfaState: 17, .ToDfaState: 19}, {.FromDfaState: 17, .ToDfaState: 21}, {.FromDfaState: 17, .ToDfaState: 25}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
60 | /* 214 */ {.FromDfaState: 3, .ToDfaState: 7}, {.FromDfaState: 3, .ToDfaState: 11}, {.FromDfaState: 3, .ToDfaState: 19}, {.FromDfaState: 5, .ToDfaState: 7}, {.FromDfaState: 5, .ToDfaState: 13}, {.FromDfaState: 5, .ToDfaState: 21}, {.FromDfaState: 9, .ToDfaState: 11}, {.FromDfaState: 9, .ToDfaState: 13}, {.FromDfaState: 9, .ToDfaState: 25}, {.FromDfaState: 17, .ToDfaState: 19}, {.FromDfaState: 17, .ToDfaState: 21}, {.FromDfaState: 17, .ToDfaState: 25}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
61 | /* 227 */ {.FromDfaState: 6, .ToDfaState: 7}, {.FromDfaState: 10, .ToDfaState: 11}, {.FromDfaState: 12, .ToDfaState: 13}, {.FromDfaState: 18, .ToDfaState: 19}, {.FromDfaState: 20, .ToDfaState: 21}, {.FromDfaState: 24, .ToDfaState: 25}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
62 | /* 234 */ {.FromDfaState: 3, .ToDfaState: 7}, {.FromDfaState: 3, .ToDfaState: 11}, {.FromDfaState: 5, .ToDfaState: 7}, {.FromDfaState: 5, .ToDfaState: 13}, {.FromDfaState: 6, .ToDfaState: 7}, {.FromDfaState: 6, .ToDfaState: 14}, {.FromDfaState: 9, .ToDfaState: 11}, {.FromDfaState: 9, .ToDfaState: 13}, {.FromDfaState: 10, .ToDfaState: 11}, {.FromDfaState: 10, .ToDfaState: 14}, {.FromDfaState: 12, .ToDfaState: 13}, {.FromDfaState: 12, .ToDfaState: 14}, {.FromDfaState: 17, .ToDfaState: 19}, {.FromDfaState: 17, .ToDfaState: 21}, {.FromDfaState: 17, .ToDfaState: 25}, {.FromDfaState: 18, .ToDfaState: 19}, {.FromDfaState: 18, .ToDfaState: 22}, {.FromDfaState: 18, .ToDfaState: 26}, {.FromDfaState: 20, .ToDfaState: 21}, {.FromDfaState: 20, .ToDfaState: 22}, {.FromDfaState: 20, .ToDfaState: 28}, {.FromDfaState: 24, .ToDfaState: 25}, {.FromDfaState: 24, .ToDfaState: 26}, {.FromDfaState: 24, .ToDfaState: 28}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
63 | /* 259 */ {.FromDfaState: 3, .ToDfaState: 7}, {.FromDfaState: 3, .ToDfaState: 11}, {.FromDfaState: 3, .ToDfaState: 19}, {.FromDfaState: 5, .ToDfaState: 7}, {.FromDfaState: 5, .ToDfaState: 13}, {.FromDfaState: 5, .ToDfaState: 21}, {.FromDfaState: 6, .ToDfaState: 7}, {.FromDfaState: 6, .ToDfaState: 14}, {.FromDfaState: 6, .ToDfaState: 22}, {.FromDfaState: 9, .ToDfaState: 11}, {.FromDfaState: 9, .ToDfaState: 13}, {.FromDfaState: 9, .ToDfaState: 25}, {.FromDfaState: 10, .ToDfaState: 11}, {.FromDfaState: 10, .ToDfaState: 14}, {.FromDfaState: 10, .ToDfaState: 26}, {.FromDfaState: 12, .ToDfaState: 13}, {.FromDfaState: 12, .ToDfaState: 14}, {.FromDfaState: 12, .ToDfaState: 28}, {.FromDfaState: 17, .ToDfaState: 19}, {.FromDfaState: 17, .ToDfaState: 21}, {.FromDfaState: 17, .ToDfaState: 25}, {.FromDfaState: 18, .ToDfaState: 19}, {.FromDfaState: 18, .ToDfaState: 22}, {.FromDfaState: 18, .ToDfaState: 26}, {.FromDfaState: 20, .ToDfaState: 21}, {.FromDfaState: 20, .ToDfaState: 22}, {.FromDfaState: 20, .ToDfaState: 28}, {.FromDfaState: 24, .ToDfaState: 25}, {.FromDfaState: 24, .ToDfaState: 26}, {.FromDfaState: 24, .ToDfaState: 28}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
64 | /* 290 */ {.FromDfaState: 7, .ToDfaState: 15}, {.FromDfaState: 11, .ToDfaState: 15}, {.FromDfaState: 13, .ToDfaState: 15}, {.FromDfaState: 19, .ToDfaState: 23}, {.FromDfaState: 19, .ToDfaState: 27}, {.FromDfaState: 21, .ToDfaState: 23}, {.FromDfaState: 21, .ToDfaState: 29}, {.FromDfaState: 25, .ToDfaState: 27}, {.FromDfaState: 25, .ToDfaState: 29}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
65 | /* 300 */ {.FromDfaState: 7, .ToDfaState: 15}, {.FromDfaState: 7, .ToDfaState: 23}, {.FromDfaState: 11, .ToDfaState: 15}, {.FromDfaState: 11, .ToDfaState: 27}, {.FromDfaState: 13, .ToDfaState: 15}, {.FromDfaState: 13, .ToDfaState: 29}, {.FromDfaState: 19, .ToDfaState: 23}, {.FromDfaState: 19, .ToDfaState: 27}, {.FromDfaState: 21, .ToDfaState: 23}, {.FromDfaState: 21, .ToDfaState: 29}, {.FromDfaState: 25, .ToDfaState: 27}, {.FromDfaState: 25, .ToDfaState: 29}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
66 | /* 313 */ {.FromDfaState: 14, .ToDfaState: 15}, {.FromDfaState: 22, .ToDfaState: 23}, {.FromDfaState: 26, .ToDfaState: 27}, {.FromDfaState: 28, .ToDfaState: 29}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
67 | /* 318 */ {.FromDfaState: 7, .ToDfaState: 15}, {.FromDfaState: 11, .ToDfaState: 15}, {.FromDfaState: 13, .ToDfaState: 15}, {.FromDfaState: 14, .ToDfaState: 15}, {.FromDfaState: 19, .ToDfaState: 23}, {.FromDfaState: 19, .ToDfaState: 27}, {.FromDfaState: 21, .ToDfaState: 23}, {.FromDfaState: 21, .ToDfaState: 29}, {.FromDfaState: 22, .ToDfaState: 23}, {.FromDfaState: 22, .ToDfaState: 30}, {.FromDfaState: 25, .ToDfaState: 27}, {.FromDfaState: 25, .ToDfaState: 29}, {.FromDfaState: 26, .ToDfaState: 27}, {.FromDfaState: 26, .ToDfaState: 30}, {.FromDfaState: 28, .ToDfaState: 29}, {.FromDfaState: 28, .ToDfaState: 30}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
68 | /* 335 */ {.FromDfaState: 7, .ToDfaState: 15}, {.FromDfaState: 7, .ToDfaState: 23}, {.FromDfaState: 11, .ToDfaState: 15}, {.FromDfaState: 11, .ToDfaState: 27}, {.FromDfaState: 13, .ToDfaState: 15}, {.FromDfaState: 13, .ToDfaState: 29}, {.FromDfaState: 14, .ToDfaState: 15}, {.FromDfaState: 14, .ToDfaState: 30}, {.FromDfaState: 19, .ToDfaState: 23}, {.FromDfaState: 19, .ToDfaState: 27}, {.FromDfaState: 21, .ToDfaState: 23}, {.FromDfaState: 21, .ToDfaState: 29}, {.FromDfaState: 22, .ToDfaState: 23}, {.FromDfaState: 22, .ToDfaState: 30}, {.FromDfaState: 25, .ToDfaState: 27}, {.FromDfaState: 25, .ToDfaState: 29}, {.FromDfaState: 26, .ToDfaState: 27}, {.FromDfaState: 26, .ToDfaState: 30}, {.FromDfaState: 28, .ToDfaState: 29}, {.FromDfaState: 28, .ToDfaState: 30}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
69 | /* 356 */ {.FromDfaState: 15, .ToDfaState: 31}, {.FromDfaState: 23, .ToDfaState: 31}, {.FromDfaState: 27, .ToDfaState: 31}, {.FromDfaState: 29, .ToDfaState: 31}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
70 | /* 361 */ {.FromDfaState: 15, .ToDfaState: 31}, {.FromDfaState: 23, .ToDfaState: 31}, {.FromDfaState: 27, .ToDfaState: 31}, {.FromDfaState: 29, .ToDfaState: 31}, {.FromDfaState: 30, .ToDfaState: 31}, {.FromDfaState: 0ULL, .ToDfaState: 0ULL}, |
71 | }}; |
72 | |
73 | // A transition in the generated R600 DFA. |
74 | struct R600Transition { |
75 | unsigned FromDfaState; // The transitioned-from DFA state. |
76 | uint64_t Action; // The input symbol that causes this transition. |
77 | unsigned ToDfaState; // The transitioned-to DFA state. |
78 | unsigned InfoIdx; // Start index into R600TransitionInfo. |
79 | }; |
80 | |
81 | // A table of DFA transitions, ordered by {FromDfaState, Action}. |
82 | // The initial state is 1, not zero. |
83 | const std::array<R600Transition, 70> R600Transitions = {._M_elems: { |
84 | {.FromDfaState: 1, .Action: 1, .ToDfaState: 2, .InfoIdx: 11}, |
85 | {.FromDfaState: 1, .Action: 2, .ToDfaState: 3, .InfoIdx: 2}, |
86 | {.FromDfaState: 1, .Action: 3, .ToDfaState: 4, .InfoIdx: 7}, |
87 | {.FromDfaState: 1, .Action: 4, .ToDfaState: 5, .InfoIdx: 0}, |
88 | {.FromDfaState: 2, .Action: 2, .ToDfaState: 6, .InfoIdx: 178}, |
89 | {.FromDfaState: 2, .Action: 3, .ToDfaState: 6, .InfoIdx: 178}, |
90 | {.FromDfaState: 2, .Action: 4, .ToDfaState: 7, .InfoIdx: 164}, |
91 | {.FromDfaState: 3, .Action: 1, .ToDfaState: 6, .InfoIdx: 39}, |
92 | {.FromDfaState: 3, .Action: 2, .ToDfaState: 8, .InfoIdx: 26}, |
93 | {.FromDfaState: 3, .Action: 3, .ToDfaState: 9, .InfoIdx: 44}, |
94 | {.FromDfaState: 3, .Action: 4, .ToDfaState: 10, .InfoIdx: 22}, |
95 | {.FromDfaState: 4, .Action: 1, .ToDfaState: 6, .InfoIdx: 39}, |
96 | {.FromDfaState: 4, .Action: 2, .ToDfaState: 9, .InfoIdx: 166}, |
97 | {.FromDfaState: 4, .Action: 3, .ToDfaState: 9, .InfoIdx: 183}, |
98 | {.FromDfaState: 4, .Action: 4, .ToDfaState: 11, .InfoIdx: 161}, |
99 | {.FromDfaState: 5, .Action: 1, .ToDfaState: 7, .InfoIdx: 20}, |
100 | {.FromDfaState: 5, .Action: 2, .ToDfaState: 10, .InfoIdx: 13}, |
101 | {.FromDfaState: 5, .Action: 3, .ToDfaState: 11, .InfoIdx: 17}, |
102 | {.FromDfaState: 6, .Action: 2, .ToDfaState: 12, .InfoIdx: 246}, |
103 | {.FromDfaState: 6, .Action: 3, .ToDfaState: 12, .InfoIdx: 246}, |
104 | {.FromDfaState: 6, .Action: 4, .ToDfaState: 13, .InfoIdx: 230}, |
105 | {.FromDfaState: 7, .Action: 2, .ToDfaState: 13, .InfoIdx: 210}, |
106 | {.FromDfaState: 7, .Action: 3, .ToDfaState: 13, .InfoIdx: 210}, |
107 | {.FromDfaState: 8, .Action: 1, .ToDfaState: 12, .InfoIdx: 99}, |
108 | {.FromDfaState: 8, .Action: 2, .ToDfaState: 14, .InfoIdx: 86}, |
109 | {.FromDfaState: 8, .Action: 3, .ToDfaState: 15, .InfoIdx: 106}, |
110 | {.FromDfaState: 8, .Action: 4, .ToDfaState: 16, .InfoIdx: 82}, |
111 | {.FromDfaState: 9, .Action: 1, .ToDfaState: 12, .InfoIdx: 99}, |
112 | {.FromDfaState: 9, .Action: 2, .ToDfaState: 15, .InfoIdx: 234}, |
113 | {.FromDfaState: 9, .Action: 3, .ToDfaState: 15, .InfoIdx: 259}, |
114 | {.FromDfaState: 9, .Action: 4, .ToDfaState: 17, .InfoIdx: 227}, |
115 | {.FromDfaState: 10, .Action: 1, .ToDfaState: 13, .InfoIdx: 68}, |
116 | {.FromDfaState: 10, .Action: 2, .ToDfaState: 16, .InfoIdx: 61}, |
117 | {.FromDfaState: 10, .Action: 3, .ToDfaState: 17, .InfoIdx: 72}, |
118 | {.FromDfaState: 11, .Action: 1, .ToDfaState: 13, .InfoIdx: 68}, |
119 | {.FromDfaState: 11, .Action: 2, .ToDfaState: 17, .InfoIdx: 204}, |
120 | {.FromDfaState: 11, .Action: 3, .ToDfaState: 17, .InfoIdx: 214}, |
121 | {.FromDfaState: 12, .Action: 2, .ToDfaState: 18, .InfoIdx: 322}, |
122 | {.FromDfaState: 12, .Action: 3, .ToDfaState: 18, .InfoIdx: 322}, |
123 | {.FromDfaState: 12, .Action: 4, .ToDfaState: 19, .InfoIdx: 314}, |
124 | {.FromDfaState: 13, .Action: 2, .ToDfaState: 19, .InfoIdx: 293}, |
125 | {.FromDfaState: 13, .Action: 3, .ToDfaState: 19, .InfoIdx: 293}, |
126 | {.FromDfaState: 14, .Action: 1, .ToDfaState: 18, .InfoIdx: 145}, |
127 | {.FromDfaState: 14, .Action: 2, .ToDfaState: 20, .InfoIdx: 140}, |
128 | {.FromDfaState: 14, .Action: 3, .ToDfaState: 21, .InfoIdx: 150}, |
129 | {.FromDfaState: 14, .Action: 4, .ToDfaState: 20, .InfoIdx: 143}, |
130 | {.FromDfaState: 15, .Action: 1, .ToDfaState: 18, .InfoIdx: 145}, |
131 | {.FromDfaState: 15, .Action: 2, .ToDfaState: 21, .InfoIdx: 318}, |
132 | {.FromDfaState: 15, .Action: 3, .ToDfaState: 21, .InfoIdx: 335}, |
133 | {.FromDfaState: 15, .Action: 4, .ToDfaState: 22, .InfoIdx: 313}, |
134 | {.FromDfaState: 16, .Action: 1, .ToDfaState: 19, .InfoIdx: 129}, |
135 | {.FromDfaState: 16, .Action: 2, .ToDfaState: 20, .InfoIdx: 125}, |
136 | {.FromDfaState: 16, .Action: 3, .ToDfaState: 22, .InfoIdx: 133}, |
137 | {.FromDfaState: 17, .Action: 1, .ToDfaState: 19, .InfoIdx: 129}, |
138 | {.FromDfaState: 17, .Action: 2, .ToDfaState: 22, .InfoIdx: 290}, |
139 | {.FromDfaState: 17, .Action: 3, .ToDfaState: 22, .InfoIdx: 300}, |
140 | {.FromDfaState: 18, .Action: 2, .ToDfaState: 23, .InfoIdx: 362}, |
141 | {.FromDfaState: 18, .Action: 3, .ToDfaState: 23, .InfoIdx: 362}, |
142 | {.FromDfaState: 18, .Action: 4, .ToDfaState: 23, .InfoIdx: 365}, |
143 | {.FromDfaState: 19, .Action: 2, .ToDfaState: 23, .InfoIdx: 357}, |
144 | {.FromDfaState: 19, .Action: 3, .ToDfaState: 23, .InfoIdx: 357}, |
145 | {.FromDfaState: 20, .Action: 1, .ToDfaState: 23, .InfoIdx: 159}, |
146 | {.FromDfaState: 20, .Action: 3, .ToDfaState: 23, .InfoIdx: 159}, |
147 | {.FromDfaState: 21, .Action: 1, .ToDfaState: 23, .InfoIdx: 159}, |
148 | {.FromDfaState: 21, .Action: 2, .ToDfaState: 23, .InfoIdx: 362}, |
149 | {.FromDfaState: 21, .Action: 3, .ToDfaState: 23, .InfoIdx: 361}, |
150 | {.FromDfaState: 21, .Action: 4, .ToDfaState: 23, .InfoIdx: 365}, |
151 | {.FromDfaState: 22, .Action: 1, .ToDfaState: 23, .InfoIdx: 159}, |
152 | {.FromDfaState: 22, .Action: 2, .ToDfaState: 23, .InfoIdx: 357}, |
153 | {.FromDfaState: 22, .Action: 3, .ToDfaState: 23, .InfoIdx: 356}, |
154 | |
155 | }}; |
156 | |
157 | } // end anonymous namespace |
158 | |
159 | namespace llvm { |
160 | DFAPacketizer *R600GenSubtargetInfo::createDFAPacketizer(const InstrItineraryData *IID) const { |
161 | static Automaton<uint64_t> A(ArrayRef<R600Transition>(R600Transitions), R600TransitionInfo); |
162 | unsigned ProcResIdxStart = R600ProcResourceIndexStart[IID->SchedModel.ProcID]; |
163 | unsigned ProcResIdxNum = R600ProcResourceIndexStart[IID->SchedModel.ProcID + 1] - ProcResIdxStart; |
164 | return new DFAPacketizer(IID, A, {&R600ResourceIndices[ProcResIdxStart], ProcResIdxNum}); |
165 | |
166 | } |
167 | |
168 | } // end namespace llvm |
169 | |