LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/AMDGPU - AMDGPUGenRegisterBank.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 5 5 100.0 %
Date: 2017-09-14 15:23:50 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       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
      11             : namespace llvm {
      12             : namespace AMDGPU {
      13             : enum {
      14             :   SGPRRegBankID,
      15             :   VGPRRegBankID,
      16             :   NumRegisterBanks,
      17             : };
      18             : } // end namespace AMDGPU
      19             : } // end namespace llvm
      20             : #endif // GET_REGBANK_DECLARATIONS
      21             : 
      22             : #ifdef GET_TARGET_REGBANK_CLASS
      23             : #undef GET_TARGET_REGBANK_CLASS
      24             : private:
      25             :   static RegisterBank *RegBanks[];
      26             : 
      27             : protected:
      28             :   AMDGPUGenRegisterBankInfo();
      29             : 
      30             : #endif // GET_TARGET_REGBANK_CLASS
      31             : 
      32             : #ifdef GET_TARGET_REGBANK_IMPL
      33             : #undef GET_TARGET_REGBANK_IMPL
      34             : namespace llvm {
      35             : namespace AMDGPU {
      36             : const uint32_t SGPRRegBankCoverageData[] = {
      37             :     // 0-31
      38             :     (1u << (AMDGPU::SReg_32RegClassID - 0)) |
      39             :     (1u << (AMDGPU::SReg_32_XEXEC_HIRegClassID - 0)) |
      40             :     (1u << (AMDGPU::SReg_32_XEXEC_HI_and_SReg_32_XM0RegClassID - 0)) |
      41             :     (1u << (AMDGPU::SReg_32_XM0_XEXECRegClassID - 0)) |
      42             :     (1u << (AMDGPU::SGPR_32RegClassID - 0)) |
      43             :     (1u << (AMDGPU::TTMP_32RegClassID - 0)) |
      44             :     (1u << (AMDGPU::SReg_32_XM0RegClassID - 0)) |
      45             :     (1u << (AMDGPU::VS_32RegClassID - 0)) |
      46             :     0,
      47             :     // 32-63
      48             :     (1u << (AMDGPU::M0_CLASSRegClassID - 32)) |
      49             :     (1u << (AMDGPU::SReg_64RegClassID - 32)) |
      50             :     (1u << (AMDGPU::SReg_64_XEXECRegClassID - 32)) |
      51             :     (1u << (AMDGPU::SGPR_64RegClassID - 32)) |
      52             :     (1u << (AMDGPU::TTMP_64RegClassID - 32)) |
      53             :     (1u << (AMDGPU::SReg_128RegClassID - 32)) |
      54             :     (1u << (AMDGPU::VS_64RegClassID - 32)) |
      55             :     (1u << (AMDGPU::SGPR_128RegClassID - 32)) |
      56             :     (1u << (AMDGPU::TTMP_128RegClassID - 32)) |
      57             :     (1u << (AMDGPU::SReg_256RegClassID - 32)) |
      58             :     0,
      59             :     // 64-95
      60             :     (1u << (AMDGPU::SReg_512RegClassID - 64)) |
      61             :     0,
      62             : };
      63             : const uint32_t VGPRRegBankCoverageData[] = {
      64             :     // 0-31
      65             :     (1u << (AMDGPU::VGPR_32RegClassID - 0)) |
      66             :     (1u << (AMDGPU::VReg_1RegClassID - 0)) |
      67             :     (1u << (AMDGPU::VS_32RegClassID - 0)) |
      68             :     0,
      69             :     // 32-63
      70             :     (1u << (AMDGPU::VReg_64RegClassID - 32)) |
      71             :     (1u << (AMDGPU::VReg_96RegClassID - 32)) |
      72             :     (1u << (AMDGPU::VS_64RegClassID - 32)) |
      73             :     (1u << (AMDGPU::VReg_128RegClassID - 32)) |
      74             :     (1u << (AMDGPU::VReg_256RegClassID - 32)) |
      75             :     0,
      76             :     // 64-95
      77             :     (1u << (AMDGPU::VReg_512RegClassID - 64)) |
      78             :     0,
      79             : };
      80             : 
      81       72306 : RegisterBank SGPRRegBank(/* ID */ AMDGPU::SGPRRegBankID, /* Name */ "SGPR", /* Size */ 512, /* CoveredRegClasses */ SGPRRegBankCoverageData, /* NumRegClasses */ 66);
      82       72306 : RegisterBank VGPRRegBank(/* ID */ AMDGPU::VGPRRegBankID, /* Name */ "VGPR", /* Size */ 512, /* CoveredRegClasses */ VGPRRegBankCoverageData, /* NumRegClasses */ 66);
      83             : } // end namespace AMDGPU
      84             : 
      85             : RegisterBank *AMDGPUGenRegisterBankInfo::RegBanks[] = {
      86             :     &AMDGPU::SGPRRegBank,
      87             :     &AMDGPU::VGPRRegBank,
      88             : };
      89             : 
      90        1796 : AMDGPUGenRegisterBankInfo::AMDGPUGenRegisterBankInfo()
      91        1796 :     : RegisterBankInfo(RegBanks, AMDGPU::NumRegisterBanks) {
      92             :   // Assert that RegBank indices match their ID's
      93             : #ifndef NDEBUG
      94             :   unsigned Index = 0;
      95             :   for (const auto &RB : RegBanks)
      96             :     assert(Index++ == RB->getID() && "Index != ID");
      97             : #endif // NDEBUG
      98        1796 : }
      99             : } // end namespace llvm
     100             : #endif // GET_TARGET_REGBANK_IMPL

Generated by: LCOV version 1.13