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