1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ 2|* *| 3|* Register Bank Source Fragments *| 4|* *| 5|* Automatically generated file, do not edit! *| 6|* *| 7\*===----------------------------------------------------------------------===*/ 8 9#ifdef GET_REGBANK_DECLARATIONS 10#undef GET_REGBANK_DECLARATIONS 11namespace llvm { 12namespace RISCV { 13enum { 14 GPRRegBankID, 15 NumRegisterBanks, 16}; 17} // end namespace RISCV 18} // end namespace llvm 19#endif // GET_REGBANK_DECLARATIONS 20 21#ifdef GET_TARGET_REGBANK_CLASS 22#undef GET_TARGET_REGBANK_CLASS 23private: 24 static RegisterBank *RegBanks[]; 25 26protected: 27 RISCVGenRegisterBankInfo(); 28 29#endif // GET_TARGET_REGBANK_CLASS 30 31#ifdef GET_TARGET_REGBANK_IMPL 32#undef GET_TARGET_REGBANK_IMPL 33namespace llvm { 34namespace RISCV { 35const uint32_t GPRRegBankCoverageData[] = { 36 // 0-31 37 (1u << (RISCV::GPRRegClassID - 0)) | 38 (1u << (RISCV::GPRNoX0RegClassID - 0)) | 39 (1u << (RISCV::GPRNoX0X2RegClassID - 0)) | 40 (1u << (RISCV::GPRTCRegClassID - 0)) | 41 (1u << (RISCV::GPRC_and_GPRTCRegClassID - 0)) | 42 (1u << (RISCV::GPRCRegClassID - 0)) | 43 (1u << (RISCV::SPRegClassID - 0)) | 44 (1u << (RISCV::GPRX0RegClassID - 0)) | 45 0, 46}; 47 48RegisterBank GPRRegBank(/* ID */ RISCV::GPRRegBankID, /* Name */ "GPRB", /* Size */ 32, /* CoveredRegClasses */ GPRRegBankCoverageData, /* NumRegClasses */ 12); 49} // end namespace RISCV 50 51RegisterBank *RISCVGenRegisterBankInfo::RegBanks[] = { 52 &RISCV::GPRRegBank, 53}; 54 55RISCVGenRegisterBankInfo::RISCVGenRegisterBankInfo() 56 : RegisterBankInfo(RegBanks, RISCV::NumRegisterBanks) { 57 // Assert that RegBank indices match their ID's 58#ifndef NDEBUG 59 unsigned Index = 0; 60 for (const auto &RB : RegBanks) 61 assert(Index++ == RB->getID() && "Index != ID"); 62#endif // NDEBUG 63} 64} // end namespace llvm 65#endif // GET_TARGET_REGBANK_IMPL 66