LLVM API Documentation

PPCGenRegisterInfo.h.inc

Go to the documentation of this file.
00001 //===- TableGen'erated file -------------------------------------*- C++ -*-===//
00002 //
00003 // Register Information Header Fragment
00004 //
00005 // Automatically generated file, do not edit!
00006 //
00007 //===----------------------------------------------------------------------===//
00008 
00009 #include "llvm/Target/TargetRegisterInfo.h"
00010 #include <string>
00011 
00012 namespace llvm {
00013 
00014 struct PPCGenRegisterInfo : public TargetRegisterInfo {
00015   explicit PPCGenRegisterInfo(int CallFrameSetupOpcode = -1, int CallFrameDestroyOpcode = -1);
00016   virtual int getDwarfRegNumFull(unsigned RegNum, unsigned Flavour) const;
00017   virtual int getDwarfRegNum(unsigned RegNum, bool isEH) const = 0;
00018   virtual bool needsStackRealignment(const MachineFunction &) const
00019      { return false; }
00020   unsigned getSubReg(unsigned RegNo, unsigned Index) const;
00021 };
00022 
00023 namespace PPC { // Register classes
00024   enum {
00025     CRBITRCRegClassID = 1,
00026     CRRCRegClassID = 2,
00027     CTRRCRegClassID = 3,
00028     CTRRC8RegClassID = 4,
00029     F4RCRegClassID = 5,
00030     F8RCRegClassID = 6,
00031     G8RCRegClassID = 7,
00032     GPRCRegClassID = 8,
00033     VRRCRegClassID = 9
00034   };
00035 
00036   struct CRBITRCClass : public TargetRegisterClass {
00037     CRBITRCClass();
00038   };
00039   extern CRBITRCClass CRBITRCRegClass;
00040   static TargetRegisterClass * const CRBITRCRegisterClass = &CRBITRCRegClass;
00041   struct CRRCClass : public TargetRegisterClass {
00042     CRRCClass();
00043   };
00044   extern CRRCClass  CRRCRegClass;
00045   static TargetRegisterClass * const CRRCRegisterClass = &CRRCRegClass;
00046   struct CTRRCClass : public TargetRegisterClass {
00047     CTRRCClass();
00048   };
00049   extern CTRRCClass CTRRCRegClass;
00050   static TargetRegisterClass * const CTRRCRegisterClass = &CTRRCRegClass;
00051   struct CTRRC8Class : public TargetRegisterClass {
00052     CTRRC8Class();
00053   };
00054   extern CTRRC8Class  CTRRC8RegClass;
00055   static TargetRegisterClass * const CTRRC8RegisterClass = &CTRRC8RegClass;
00056   struct F4RCClass : public TargetRegisterClass {
00057     F4RCClass();
00058   };
00059   extern F4RCClass  F4RCRegClass;
00060   static TargetRegisterClass * const F4RCRegisterClass = &F4RCRegClass;
00061   struct F8RCClass : public TargetRegisterClass {
00062     F8RCClass();
00063   };
00064   extern F8RCClass  F8RCRegClass;
00065   static TargetRegisterClass * const F8RCRegisterClass = &F8RCRegClass;
00066   struct G8RCClass : public TargetRegisterClass {
00067     G8RCClass();
00068 
00069     iterator allocation_order_begin(const MachineFunction &MF) const;
00070     iterator allocation_order_end(const MachineFunction &MF) const;
00071     };
00072   extern G8RCClass  G8RCRegClass;
00073   static TargetRegisterClass * const G8RCRegisterClass = &G8RCRegClass;
00074   struct GPRCClass : public TargetRegisterClass {
00075     GPRCClass();
00076 
00077     iterator allocation_order_begin(const MachineFunction &MF) const;
00078     iterator allocation_order_end(const MachineFunction &MF) const;
00079     };
00080   extern GPRCClass  GPRCRegClass;
00081   static TargetRegisterClass * const GPRCRegisterClass = &GPRCRegClass;
00082   struct VRRCClass : public TargetRegisterClass {
00083     VRRCClass();
00084   };
00085   extern VRRCClass  VRRCRegClass;
00086   static TargetRegisterClass * const VRRCRegisterClass = &VRRCRegClass;
00087 } // end of namespace PPC
00088 
00089 } // End llvm namespace