LLVM API Documentation

X86GenRegisterInfo.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/MRegisterInfo.h"
00010 #include <string>
00011 
00012 namespace llvm {
00013 
00014 struct X86GenRegisterInfo : public MRegisterInfo {
00015   X86GenRegisterInfo(int CallFrameSetupOpcode = -1, int CallFrameDestroyOpcode = -1);
00016   const unsigned* getCalleeSaveRegs() const;
00017   const TargetRegisterClass* const *getCalleeSaveRegClasses() const;
00018   int getDwarfRegNum(unsigned RegNum) const;
00019 };
00020 
00021 namespace X86 { // Register classes
00022   struct FR32Class : public TargetRegisterClass {
00023     FR32Class();
00024   };
00025   extern FR32Class  FR32RegClass;
00026   static TargetRegisterClass * const FR32RegisterClass = &FR32RegClass;
00027   struct FR64Class : public TargetRegisterClass {
00028     FR64Class();
00029   };
00030   extern FR64Class  FR64RegClass;
00031   static TargetRegisterClass * const FR64RegisterClass = &FR64RegClass;
00032   struct R16Class : public TargetRegisterClass {
00033     R16Class();
00034 
00035     iterator allocation_order_end(MachineFunction &MF) const;
00036     };
00037   extern R16Class R16RegClass;
00038   static TargetRegisterClass * const R16RegisterClass = &R16RegClass;
00039   struct R32Class : public TargetRegisterClass {
00040     R32Class();
00041 
00042     iterator allocation_order_end(MachineFunction &MF) const;
00043     };
00044   extern R32Class R32RegClass;
00045   static TargetRegisterClass * const R32RegisterClass = &R32RegClass;
00046   struct R8Class : public TargetRegisterClass {
00047     R8Class();
00048   };
00049   extern R8Class  R8RegClass;
00050   static TargetRegisterClass * const R8RegisterClass = &R8RegClass;
00051   struct RFPClass : public TargetRegisterClass {
00052     RFPClass();
00053   };
00054   extern RFPClass RFPRegClass;
00055   static TargetRegisterClass * const RFPRegisterClass = &RFPRegClass;
00056   struct RSTClass : public TargetRegisterClass {
00057     RSTClass();
00058 
00059     iterator allocation_order_end(MachineFunction &MF) const;
00060     };
00061   extern RSTClass RSTRegClass;
00062   static TargetRegisterClass * const RSTRegisterClass = &RSTRegClass;
00063   struct VR128Class : public TargetRegisterClass {
00064     VR128Class();
00065   };
00066   extern VR128Class VR128RegClass;
00067   static TargetRegisterClass * const VR128RegisterClass = &VR128RegClass;
00068   struct VR64Class : public TargetRegisterClass {
00069     VR64Class();
00070   };
00071   extern VR64Class  VR64RegClass;
00072   static TargetRegisterClass * const VR64RegisterClass = &VR64RegClass;
00073 } // end of namespace X86
00074 
00075 } // End llvm namespace