Mercurial > hg > CbC > CbC_llvm
diff lib/Target/Hexagon/HexagonDepTimingClasses.h @ 121:803732b1fca8
LLVM 5.0
author | kono |
---|---|
date | Fri, 27 Oct 2017 17:07:41 +0900 |
parents | |
children | 3a76565eade5 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/Target/Hexagon/HexagonDepTimingClasses.h Fri Oct 27 17:07:41 2017 +0900 @@ -0,0 +1,141 @@ +//===--- HexagonDepTimingClasses.h ----------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#ifndef TARGET_HEXAGON_HEXAGON_DEP_TIMING_CLASSES_H +#define TARGET_HEXAGON_HEXAGON_DEP_TIMING_CLASSES_H + +#include "HexagonInstrInfo.h" + +namespace llvm { + +inline bool is_TC3x(unsigned SchedClass) { + switch (SchedClass) { + case Hexagon::Sched::tc_1000eb10: + case Hexagon::Sched::tc_2aaab1e0: + case Hexagon::Sched::tc_4997da4a: + case Hexagon::Sched::tc_5d806107: + case Hexagon::Sched::tc_6264c5e0: + case Hexagon::Sched::tc_69bb508b: + case Hexagon::Sched::tc_8c8041e6: + case Hexagon::Sched::tc_8cb685d9: + case Hexagon::Sched::tc_a12a5971: + case Hexagon::Sched::tc_ae0722f7: + case Hexagon::Sched::tc_ae2c2dc2: + case Hexagon::Sched::tc_bc5561d8: + case Hexagon::Sched::tc_d6a805a8: + case Hexagon::Sched::tc_f055fbb6: + case Hexagon::Sched::tc_feb4974b: + return true; + default: + return false; + } +} + +inline bool is_TC2early(unsigned SchedClass) { + switch (SchedClass) { + case Hexagon::Sched::tc_35fb9d13: + case Hexagon::Sched::tc_cbe45117: + return true; + default: + return false; + } +} + +inline bool is_TC4x(unsigned SchedClass) { + switch (SchedClass) { + case Hexagon::Sched::tc_09c86199: + case Hexagon::Sched::tc_2d1e6f5c: + case Hexagon::Sched::tc_2e55aa16: + case Hexagon::Sched::tc_3bea1824: + case Hexagon::Sched::tc_e836c161: + case Hexagon::Sched::tc_f1aa2cdb: + return true; + default: + return false; + } +} + +inline bool is_TC2(unsigned SchedClass) { + switch (SchedClass) { + case Hexagon::Sched::tc_090485bb: + case Hexagon::Sched::tc_1fe8323c: + case Hexagon::Sched::tc_37326008: + case Hexagon::Sched::tc_3c10f809: + case Hexagon::Sched::tc_47ab9233: + case Hexagon::Sched::tc_485bb57c: + case Hexagon::Sched::tc_511f28f6: + case Hexagon::Sched::tc_583510c7: + case Hexagon::Sched::tc_63cd9d2d: + case Hexagon::Sched::tc_76c4c5ef: + case Hexagon::Sched::tc_7ca2ea10: + case Hexagon::Sched::tc_87601822: + case Hexagon::Sched::tc_88fa2da6: + case Hexagon::Sched::tc_94e6ffd9: + case Hexagon::Sched::tc_ab1b5e74: + case Hexagon::Sched::tc_b0f50e3c: + case Hexagon::Sched::tc_bd16579e: + case Hexagon::Sched::tc_c0cd91a8: + case Hexagon::Sched::tc_ca280e8b: + case Hexagon::Sched::tc_cd321066: + case Hexagon::Sched::tc_d95f4e98: + case Hexagon::Sched::tc_e17ce9ad: + case Hexagon::Sched::tc_f1240c08: + case Hexagon::Sched::tc_faab1248: + return true; + default: + return false; + } +} + +inline bool is_TC1(unsigned SchedClass) { + switch (SchedClass) { + case Hexagon::Sched::tc_07ac815d: + case Hexagon::Sched::tc_1b6011fb: + case Hexagon::Sched::tc_1b834fe7: + case Hexagon::Sched::tc_1e062b18: + case Hexagon::Sched::tc_1f9668cc: + case Hexagon::Sched::tc_43068634: + case Hexagon::Sched::tc_47f0b7ad: + case Hexagon::Sched::tc_537e2013: + case Hexagon::Sched::tc_548f402d: + case Hexagon::Sched::tc_5fa2857c: + case Hexagon::Sched::tc_5fe9fcd0: + case Hexagon::Sched::tc_78b3c689: + case Hexagon::Sched::tc_7c2dcd4d: + case Hexagon::Sched::tc_81a23d44: + case Hexagon::Sched::tc_821c4233: + case Hexagon::Sched::tc_92d1833c: + case Hexagon::Sched::tc_9a13af9d: + case Hexagon::Sched::tc_9c18c9a5: + case Hexagon::Sched::tc_9df8b0dc: + case Hexagon::Sched::tc_9f518242: + case Hexagon::Sched::tc_a1fb80e1: + case Hexagon::Sched::tc_a333d2a9: + case Hexagon::Sched::tc_a87879e8: + case Hexagon::Sched::tc_aad55963: + case Hexagon::Sched::tc_b08b653e: + case Hexagon::Sched::tc_b324366f: + case Hexagon::Sched::tc_b5bfaa60: + case Hexagon::Sched::tc_b86c7e8b: + case Hexagon::Sched::tc_c58f771a: + case Hexagon::Sched::tc_d108a090: + case Hexagon::Sched::tc_d1b5a4b6: + case Hexagon::Sched::tc_d2609065: + case Hexagon::Sched::tc_d63b71d1: + case Hexagon::Sched::tc_e2c31426: + case Hexagon::Sched::tc_e8c7a357: + case Hexagon::Sched::tc_eb07ef6f: + case Hexagon::Sched::tc_f16d5b17: + return true; + default: + return false; + } +} +} // namespace llvm + +#endif