xref: /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepTimingClasses.h (revision bdd1243df58e60e85101c09001d9812a789b6bc4)
10b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
20b57cec5SDimitry Andric //
30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric //
70b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
85ffd83dbSDimitry Andric // Automatically generated file, do not edit!
90b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
100b57cec5SDimitry Andric 
115ffd83dbSDimitry Andric #ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGONDEPTIMINGCLASSES_H
125ffd83dbSDimitry Andric #define LLVM_LIB_TARGET_HEXAGON_HEXAGONDEPTIMINGCLASSES_H
130b57cec5SDimitry Andric 
140b57cec5SDimitry Andric #include "HexagonInstrInfo.h"
150b57cec5SDimitry Andric 
160b57cec5SDimitry Andric namespace llvm {
170b57cec5SDimitry Andric 
is_TC1(unsigned SchedClass)185ffd83dbSDimitry Andric inline bool is_TC1(unsigned SchedClass) {
190b57cec5SDimitry Andric   switch (SchedClass) {
205ffd83dbSDimitry Andric   case Hexagon::Sched::tc_112d30d6:
215ffd83dbSDimitry Andric   case Hexagon::Sched::tc_151bf368:
225ffd83dbSDimitry Andric   case Hexagon::Sched::tc_1c2c7a4a:
235ffd83dbSDimitry Andric   case Hexagon::Sched::tc_1d41f8b7:
245ffd83dbSDimitry Andric   case Hexagon::Sched::tc_23708a21:
255ffd83dbSDimitry Andric   case Hexagon::Sched::tc_24f426ab:
265ffd83dbSDimitry Andric   case Hexagon::Sched::tc_2f573607:
275ffd83dbSDimitry Andric   case Hexagon::Sched::tc_388f9897:
285ffd83dbSDimitry Andric   case Hexagon::Sched::tc_3d14a17b:
295ffd83dbSDimitry Andric   case Hexagon::Sched::tc_3fbf1042:
305ffd83dbSDimitry Andric   case Hexagon::Sched::tc_407e96f9:
315ffd83dbSDimitry Andric   case Hexagon::Sched::tc_42ff66ba:
325ffd83dbSDimitry Andric   case Hexagon::Sched::tc_4a55d03c:
335ffd83dbSDimitry Andric   case Hexagon::Sched::tc_5502c366:
345ffd83dbSDimitry Andric   case Hexagon::Sched::tc_55b33fda:
355ffd83dbSDimitry Andric   case Hexagon::Sched::tc_56a124a7:
365ffd83dbSDimitry Andric   case Hexagon::Sched::tc_57a55b54:
375ffd83dbSDimitry Andric   case Hexagon::Sched::tc_59a7822c:
385ffd83dbSDimitry Andric   case Hexagon::Sched::tc_5b347363:
395ffd83dbSDimitry Andric   case Hexagon::Sched::tc_5da50c4b:
405ffd83dbSDimitry Andric   case Hexagon::Sched::tc_60e324ff:
415ffd83dbSDimitry Andric   case Hexagon::Sched::tc_651cbe02:
425ffd83dbSDimitry Andric   case Hexagon::Sched::tc_6fc5dbea:
435ffd83dbSDimitry Andric   case Hexagon::Sched::tc_711c805f:
445ffd83dbSDimitry Andric   case Hexagon::Sched::tc_713b66bf:
455ffd83dbSDimitry Andric   case Hexagon::Sched::tc_9124c04f:
465ffd83dbSDimitry Andric   case Hexagon::Sched::tc_9c52f549:
475ffd83dbSDimitry Andric   case Hexagon::Sched::tc_9e27f2f9:
485ffd83dbSDimitry Andric   case Hexagon::Sched::tc_9f6cd987:
495ffd83dbSDimitry Andric   case Hexagon::Sched::tc_a1297125:
505ffd83dbSDimitry Andric   case Hexagon::Sched::tc_a7a13fac:
515ffd83dbSDimitry Andric   case Hexagon::Sched::tc_b837298f:
525ffd83dbSDimitry Andric   case Hexagon::Sched::tc_c57d9f39:
535ffd83dbSDimitry Andric   case Hexagon::Sched::tc_d33e5eee:
545ffd83dbSDimitry Andric   case Hexagon::Sched::tc_decdde8a:
55*bdd1243dSDimitry Andric   case Hexagon::Sched::tc_e60def48:
565ffd83dbSDimitry Andric   case Hexagon::Sched::tc_ed03645c:
575ffd83dbSDimitry Andric   case Hexagon::Sched::tc_eeda4109:
585ffd83dbSDimitry Andric   case Hexagon::Sched::tc_ef921005:
59*bdd1243dSDimitry Andric   case Hexagon::Sched::tc_f97707c1:
605ffd83dbSDimitry Andric   case Hexagon::Sched::tc_f999c66e:
610b57cec5SDimitry Andric     return true;
620b57cec5SDimitry Andric   default:
630b57cec5SDimitry Andric     return false;
640b57cec5SDimitry Andric   }
650b57cec5SDimitry Andric }
660b57cec5SDimitry Andric 
is_TC2(unsigned SchedClass)670b57cec5SDimitry Andric inline bool is_TC2(unsigned SchedClass) {
680b57cec5SDimitry Andric   switch (SchedClass) {
695ffd83dbSDimitry Andric   case Hexagon::Sched::tc_01d44cb2:
705ffd83dbSDimitry Andric   case Hexagon::Sched::tc_0dfac0a7:
715ffd83dbSDimitry Andric   case Hexagon::Sched::tc_1fcb8495:
725ffd83dbSDimitry Andric   case Hexagon::Sched::tc_20131976:
735ffd83dbSDimitry Andric   case Hexagon::Sched::tc_2c13e7f5:
745ffd83dbSDimitry Andric   case Hexagon::Sched::tc_3edca78f:
755ffd83dbSDimitry Andric   case Hexagon::Sched::tc_5e4cf0e8:
765ffd83dbSDimitry Andric   case Hexagon::Sched::tc_65279839:
775ffd83dbSDimitry Andric   case Hexagon::Sched::tc_7401744f:
785ffd83dbSDimitry Andric   case Hexagon::Sched::tc_84a7500d:
795ffd83dbSDimitry Andric   case Hexagon::Sched::tc_8a825db2:
805ffd83dbSDimitry Andric   case Hexagon::Sched::tc_8b5bd4f5:
815ffd83dbSDimitry Andric   case Hexagon::Sched::tc_95a33176:
825ffd83dbSDimitry Andric   case Hexagon::Sched::tc_9b3c0462:
835ffd83dbSDimitry Andric   case Hexagon::Sched::tc_a08b630b:
845ffd83dbSDimitry Andric   case Hexagon::Sched::tc_a4e22bbd:
855ffd83dbSDimitry Andric   case Hexagon::Sched::tc_a7bdb22c:
865ffd83dbSDimitry Andric   case Hexagon::Sched::tc_bb831a7c:
875ffd83dbSDimitry Andric   case Hexagon::Sched::tc_c20701f0:
885ffd83dbSDimitry Andric   case Hexagon::Sched::tc_d3632d88:
895ffd83dbSDimitry Andric   case Hexagon::Sched::tc_d61dfdc3:
905ffd83dbSDimitry Andric   case Hexagon::Sched::tc_e3d699e3:
915ffd83dbSDimitry Andric   case Hexagon::Sched::tc_f098b237:
925ffd83dbSDimitry Andric   case Hexagon::Sched::tc_f34c1c21:
930b57cec5SDimitry Andric     return true;
940b57cec5SDimitry Andric   default:
950b57cec5SDimitry Andric     return false;
960b57cec5SDimitry Andric   }
970b57cec5SDimitry Andric }
980b57cec5SDimitry Andric 
is_TC2early(unsigned SchedClass)99fe6060f1SDimitry Andric inline bool is_TC2early(unsigned SchedClass) {
100fe6060f1SDimitry Andric   switch (SchedClass) {
101*bdd1243dSDimitry Andric   case Hexagon::Sched::tc_33e7e673:
102fe6060f1SDimitry Andric   case Hexagon::Sched::tc_45f9d1be:
103fe6060f1SDimitry Andric   case Hexagon::Sched::tc_a4ee89db:
104fe6060f1SDimitry Andric     return true;
105fe6060f1SDimitry Andric   default:
106fe6060f1SDimitry Andric     return false;
107fe6060f1SDimitry Andric   }
108fe6060f1SDimitry Andric }
109fe6060f1SDimitry Andric 
is_TC3x(unsigned SchedClass)1105ffd83dbSDimitry Andric inline bool is_TC3x(unsigned SchedClass) {
1110b57cec5SDimitry Andric   switch (SchedClass) {
1125ffd83dbSDimitry Andric   case Hexagon::Sched::tc_01e1be3b:
1135ffd83dbSDimitry Andric   case Hexagon::Sched::tc_1248597c:
1145ffd83dbSDimitry Andric   case Hexagon::Sched::tc_197dce51:
115*bdd1243dSDimitry Andric   case Hexagon::Sched::tc_27106296:
1165ffd83dbSDimitry Andric   case Hexagon::Sched::tc_28e55c6f:
1175ffd83dbSDimitry Andric   case Hexagon::Sched::tc_2c3e17fc:
1185ffd83dbSDimitry Andric   case Hexagon::Sched::tc_38382228:
1195ffd83dbSDimitry Andric   case Hexagon::Sched::tc_38e0bae9:
1205ffd83dbSDimitry Andric   case Hexagon::Sched::tc_4abdbdc6:
1215ffd83dbSDimitry Andric   case Hexagon::Sched::tc_503ce0f3:
1225ffd83dbSDimitry Andric   case Hexagon::Sched::tc_556f6577:
1235ffd83dbSDimitry Andric   case Hexagon::Sched::tc_5a4b5e58:
1245ffd83dbSDimitry Andric   case Hexagon::Sched::tc_6ae3426b:
1255ffd83dbSDimitry Andric   case Hexagon::Sched::tc_6d861a95:
1265ffd83dbSDimitry Andric   case Hexagon::Sched::tc_788b1d09:
127*bdd1243dSDimitry Andric   case Hexagon::Sched::tc_7dc63b5c:
1285ffd83dbSDimitry Andric   case Hexagon::Sched::tc_7f8ae742:
1295ffd83dbSDimitry Andric   case Hexagon::Sched::tc_9406230a:
1305ffd83dbSDimitry Andric   case Hexagon::Sched::tc_a154b476:
1315ffd83dbSDimitry Andric   case Hexagon::Sched::tc_a38c45dc:
1325ffd83dbSDimitry Andric   case Hexagon::Sched::tc_c21d7447:
1335ffd83dbSDimitry Andric   case Hexagon::Sched::tc_d7718fbe:
1345ffd83dbSDimitry Andric   case Hexagon::Sched::tc_db596beb:
1355ffd83dbSDimitry Andric   case Hexagon::Sched::tc_f0cdeccf:
1365ffd83dbSDimitry Andric   case Hexagon::Sched::tc_fae9dfa5:
1375ffd83dbSDimitry Andric     return true;
1385ffd83dbSDimitry Andric   default:
1395ffd83dbSDimitry Andric     return false;
1405ffd83dbSDimitry Andric   }
1415ffd83dbSDimitry Andric }
1425ffd83dbSDimitry Andric 
is_TC4x(unsigned SchedClass)1435ffd83dbSDimitry Andric inline bool is_TC4x(unsigned SchedClass) {
1445ffd83dbSDimitry Andric   switch (SchedClass) {
1455ffd83dbSDimitry Andric   case Hexagon::Sched::tc_02fe1c65:
1465ffd83dbSDimitry Andric   case Hexagon::Sched::tc_0a195f2c:
1475ffd83dbSDimitry Andric   case Hexagon::Sched::tc_7f7f45f5:
1485ffd83dbSDimitry Andric   case Hexagon::Sched::tc_9783714b:
1495ffd83dbSDimitry Andric   case Hexagon::Sched::tc_9e72dc89:
1505ffd83dbSDimitry Andric   case Hexagon::Sched::tc_9edb7c77:
1515ffd83dbSDimitry Andric   case Hexagon::Sched::tc_f0e8e832:
1525ffd83dbSDimitry Andric   case Hexagon::Sched::tc_f7569068:
1530b57cec5SDimitry Andric     return true;
1540b57cec5SDimitry Andric   default:
1550b57cec5SDimitry Andric     return false;
1560b57cec5SDimitry Andric   }
1570b57cec5SDimitry Andric }
1580b57cec5SDimitry Andric } // namespace llvm
1590b57cec5SDimitry Andric 
1605ffd83dbSDimitry Andric #endif  // LLVM_LIB_TARGET_HEXAGON_HEXAGONDEPTIMINGCLASSES_H
161