LLVM API Documentation
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