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 Andricinline 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 Andricinline 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 Andricinline 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 Andricinline 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 Andricinline 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