LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

SkeletonGenRegisterInfo.inc

Go to the documentation of this file.
00001 //===- TableGen'erated file -------------------------------------*- C++ -*-===//
00002 //
00003 // Register Information Source Fragment
00004 //
00005 // Automatically generated file, do not edit!
00006 //
00007 //===----------------------------------------------------------------------===//
00008 
00009 namespace llvm {
00010 
00011 namespace {     // Register classes...
00012   // FPRC Register Class...
00013   const unsigned FPRC[] = {
00014     Skeleton::F0, Skeleton::F1, Skeleton::F2, Skeleton::F3, Skeleton::F4, Skeleton::F5, Skeleton::F6, Skeleton::F7, Skeleton::F8, Skeleton::F9, Skeleton::F10, Skeleton::F11, Skeleton::F12, Skeleton::F13, Skeleton::F14, Skeleton::F15, Skeleton::F16, Skeleton::F17, Skeleton::F18, Skeleton::F19, Skeleton::F20, Skeleton::F21, Skeleton::F22, Skeleton::F23, Skeleton::F24, Skeleton::F25, Skeleton::F26, Skeleton::F27, Skeleton::F28, Skeleton::F29, Skeleton::F30, Skeleton::F31, 
00015   };
00016 
00017   struct FPRCClass : public TargetRegisterClass {
00018     FPRCClass() : TargetRegisterClass(8, 8, FPRC, FPRC + 32) {}
00019   } FPRCInstance;
00020 
00021   // GPRC Register Class...
00022   const unsigned GPRC[] = {
00023     Skeleton::R0, Skeleton::R1, Skeleton::R2, Skeleton::R3, Skeleton::R4, Skeleton::R5, Skeleton::R6, Skeleton::R7, Skeleton::R8, Skeleton::R9, Skeleton::R10, Skeleton::R11, Skeleton::R12, Skeleton::R13, Skeleton::R14, Skeleton::R15, Skeleton::R16, Skeleton::R17, Skeleton::R18, Skeleton::R19, Skeleton::R20, Skeleton::R21, Skeleton::R22, Skeleton::R23, Skeleton::R24, Skeleton::R25, Skeleton::R26, Skeleton::R27, Skeleton::R28, Skeleton::R29, Skeleton::R30, Skeleton::R31, 
00024   };
00025 
00026   struct GPRCClass : public TargetRegisterClass {
00027     GPRCClass() : TargetRegisterClass(4, 4, GPRC, GPRC + 32) {}
00028   } GPRCInstance;
00029 
00030   const TargetRegisterClass* const RegisterClasses[] = {
00031     &FPRCInstance,
00032     &GPRCInstance,
00033   };
00034   const unsigned Empty_AliasSet[] = { 0 };
00035 
00036   const MRegisterDesc RegisterDescriptors[] = { // Descriptors
00037     { "NOREG",  0,    0,  0 },
00038     { "CR0",  Empty_AliasSet, 0, 0 },
00039     { "CR1",  Empty_AliasSet, 0, 0 },
00040     { "CR2",  Empty_AliasSet, 0, 0 },
00041     { "CR3",  Empty_AliasSet, 0, 0 },
00042     { "CR4",  Empty_AliasSet, 0, 0 },
00043     { "CR5",  Empty_AliasSet, 0, 0 },
00044     { "CR6",  Empty_AliasSet, 0, 0 },
00045     { "CR7",  Empty_AliasSet, 0, 0 },
00046     { "CTR",  Empty_AliasSet, 0, 0 },
00047     { "F0", Empty_AliasSet, 64, 64 },
00048     { "F1", Empty_AliasSet, 64, 64 },
00049     { "F10",  Empty_AliasSet, 64, 64 },
00050     { "F11",  Empty_AliasSet, 64, 64 },
00051     { "F12",  Empty_AliasSet, 64, 64 },
00052     { "F13",  Empty_AliasSet, 64, 64 },
00053     { "F14",  Empty_AliasSet, 64, 64 },
00054     { "F15",  Empty_AliasSet, 64, 64 },
00055     { "F16",  Empty_AliasSet, 64, 64 },
00056     { "F17",  Empty_AliasSet, 64, 64 },
00057     { "F18",  Empty_AliasSet, 64, 64 },
00058     { "F19",  Empty_AliasSet, 64, 64 },
00059     { "F2", Empty_AliasSet, 64, 64 },
00060     { "F20",  Empty_AliasSet, 64, 64 },
00061     { "F21",  Empty_AliasSet, 64, 64 },
00062     { "F22",  Empty_AliasSet, 64, 64 },
00063     { "F23",  Empty_AliasSet, 64, 64 },
00064     { "F24",  Empty_AliasSet, 64, 64 },
00065     { "F25",  Empty_AliasSet, 64, 64 },
00066     { "F26",  Empty_AliasSet, 64, 64 },
00067     { "F27",  Empty_AliasSet, 64, 64 },
00068     { "F28",  Empty_AliasSet, 64, 64 },
00069     { "F29",  Empty_AliasSet, 64, 64 },
00070     { "F3", Empty_AliasSet, 64, 64 },
00071     { "F30",  Empty_AliasSet, 64, 64 },
00072     { "F31",  Empty_AliasSet, 64, 64 },
00073     { "F4", Empty_AliasSet, 64, 64 },
00074     { "F5", Empty_AliasSet, 64, 64 },
00075     { "F6", Empty_AliasSet, 64, 64 },
00076     { "F7", Empty_AliasSet, 64, 64 },
00077     { "F8", Empty_AliasSet, 64, 64 },
00078     { "F9", Empty_AliasSet, 64, 64 },
00079     { "FPSCR",  Empty_AliasSet, 0, 0 },
00080     { "LR", Empty_AliasSet, 0, 0 },
00081     { "R0", Empty_AliasSet, 32, 32 },
00082     { "R1", Empty_AliasSet, 32, 32 },
00083     { "R10",  Empty_AliasSet, 32, 32 },
00084     { "R11",  Empty_AliasSet, 32, 32 },
00085     { "R12",  Empty_AliasSet, 32, 32 },
00086     { "R13",  Empty_AliasSet, 32, 32 },
00087     { "R14",  Empty_AliasSet, 32, 32 },
00088     { "R15",  Empty_AliasSet, 32, 32 },
00089     { "R16",  Empty_AliasSet, 32, 32 },
00090     { "R17",  Empty_AliasSet, 32, 32 },
00091     { "R18",  Empty_AliasSet, 32, 32 },
00092     { "R19",  Empty_AliasSet, 32, 32 },
00093     { "R2", Empty_AliasSet, 32, 32 },
00094     { "R20",  Empty_AliasSet, 32, 32 },
00095     { "R21",  Empty_AliasSet, 32, 32 },
00096     { "R22",  Empty_AliasSet, 32, 32 },
00097     { "R23",  Empty_AliasSet, 32, 32 },
00098     { "R24",  Empty_AliasSet, 32, 32 },
00099     { "R25",  Empty_AliasSet, 32, 32 },
00100     { "R26",  Empty_AliasSet, 32, 32 },
00101     { "R27",  Empty_AliasSet, 32, 32 },
00102     { "R28",  Empty_AliasSet, 32, 32 },
00103     { "R29",  Empty_AliasSet, 32, 32 },
00104     { "R3", Empty_AliasSet, 32, 32 },
00105     { "R30",  Empty_AliasSet, 32, 32 },
00106     { "R31",  Empty_AliasSet, 32, 32 },
00107     { "R4", Empty_AliasSet, 32, 32 },
00108     { "R5", Empty_AliasSet, 32, 32 },
00109     { "R6", Empty_AliasSet, 32, 32 },
00110     { "R7", Empty_AliasSet, 32, 32 },
00111     { "R8", Empty_AliasSet, 32, 32 },
00112     { "R9", Empty_AliasSet, 32, 32 },
00113     { "TBL",  Empty_AliasSet, 0, 0 },
00114     { "TBU",  Empty_AliasSet, 0, 0 },
00115     { "XER",  Empty_AliasSet, 0, 0 },
00116   };
00117 }
00118 
00119 namespace Skeleton { // Register classes
00120   TargetRegisterClass *FPRCRegisterClass = &FPRCInstance;
00121   TargetRegisterClass *GPRCRegisterClass = &GPRCInstance;
00122 } // end of namespace Skeleton
00123 
00124 SkeletonGenRegisterInfo::SkeletonGenRegisterInfo(int CallFrameSetupOpcode, int CallFrameDestroyOpcode)
00125   : MRegisterInfo(RegisterDescriptors, 79, RegisterClasses, RegisterClasses+2,
00126                   CallFrameSetupOpcode, CallFrameDestroyOpcode) {}
00127 
00128 const unsigned* SkeletonGenRegisterInfo::getCalleeSaveRegs() const {
00129   static const unsigned CalleeSaveRegs[] = {
00130     Skeleton::R1, Skeleton::R13, Skeleton::R14, Skeleton::R15, Skeleton::R16, Skeleton::R17, Skeleton::R18, Skeleton::R19, Skeleton::R20, Skeleton::R21, Skeleton::R22, Skeleton::R23, Skeleton::R24, Skeleton::R25, Skeleton::R26, Skeleton::R27, Skeleton::R28, Skeleton::R29, Skeleton::R30, Skeleton::R31, Skeleton::F14, Skeleton::F15, Skeleton::F16, Skeleton::F17, Skeleton::F18, Skeleton::F19, Skeleton::F20, Skeleton::F21, Skeleton::F22, Skeleton::F23, Skeleton::F24, Skeleton::F25, Skeleton::F26, Skeleton::F27, Skeleton::F28, Skeleton::F29, Skeleton::F30, Skeleton::F31, Skeleton::CR2, Skeleton::CR3, Skeleton::CR4,  0
00131   };
00132   return CalleeSaveRegs;
00133 }
00134 
00135 } // End llvm namespace