[llvm-commits] CVS: llvm/lib/Target/X86/X86RegisterClasses.cpp X86RegisterInfo.h

Chris Lattner lattner at cs.uiuc.edu
Sun Dec 15 12:41:07 PST 2002


Changes in directory llvm/lib/Target/X86:

X86RegisterClasses.cpp updated: 1.3 -> 1.4
X86RegisterInfo.h updated: 1.8 -> 1.9

---
Log message:

* Simplify TargetRegisterClass implementations
* Change regclass iterators to use an extra level of pointers



---
Diffs of the changes:

Index: llvm/lib/Target/X86/X86RegisterClasses.cpp
diff -u llvm/lib/Target/X86/X86RegisterClasses.cpp:1.3 llvm/lib/Target/X86/X86RegisterClasses.cpp:1.4
--- llvm/lib/Target/X86/X86RegisterClasses.cpp:1.3	Fri Dec 13 00:56:29 2002
+++ llvm/lib/Target/X86/X86RegisterClasses.cpp	Sun Dec 15 12:40:36 2002
@@ -20,11 +20,7 @@
 #include "X86RegisterInfo.def"
   };
 
-  class X86ByteRegisterClass : public TargetRegisterClass {
-  protected:
-
-  public:
-    X86ByteRegisterClass() {}
+  struct X86ByteRegisterClass : public TargetRegisterClass {
     unsigned getNumRegs() const { 
       return sizeof(X86ByteRegisterClassRegs)/
         sizeof(X86ByteRegisterClassRegs[0]);
@@ -35,7 +31,6 @@
     }
 
     unsigned getDataSize() const { return 1; }
-
   } X86ByteRegisterClassInstance;
 
 
@@ -48,11 +43,7 @@
 #include "X86RegisterInfo.def"
   };
 
-  class X86ShortRegisterClass : public TargetRegisterClass {
-  protected:
-
-  public:
-    X86ShortRegisterClass() {}
+  struct X86ShortRegisterClass : public TargetRegisterClass {
     unsigned getNumRegs() const { 
       return sizeof(X86ShortRegisterClassRegs)/
         sizeof(X86ShortRegisterClassRegs[0]); }
@@ -61,7 +52,6 @@
       return X86ShortRegisterClassRegs[idx];
     }
     unsigned getDataSize() const { return 2; }
-
   } X86ShortRegisterClassInstance;
 
 //
@@ -74,11 +64,7 @@
 #include "X86RegisterInfo.def"
   };
 
-  class X86IntRegisterClass : public TargetRegisterClass {
-  protected:
-
-  public:
-    X86IntRegisterClass() {}
+  struct X86IntRegisterClass : public TargetRegisterClass {
     unsigned getNumRegs() const {
       return sizeof(X86IntRegisterClassRegs)/
         sizeof(X86IntRegisterClassRegs[0]); }
@@ -87,7 +73,6 @@
       return X86IntRegisterClassRegs[idx];
     }
     unsigned getDataSize() const { return 4; }
-
   } X86IntRegisterClassInstance;
 
 
@@ -120,21 +105,19 @@
       assert(0 && "Invalid type to getClass!");
       return 0;  // not reached
     }
-
-
   }
 }
 
 
-MRegisterInfo::const_iterator X86RegisterInfo::const_regclass_begin() const {
-  return X86RegClasses[0];
+MRegisterInfo::const_iterator X86RegisterInfo::regclass_begin() const {
+  return X86RegClasses;
 }
 
 unsigned X86RegisterInfo::getNumRegClasses() const {
   return sizeof(X86RegClasses)/sizeof(X86RegClasses[0]);
 }
 
-MRegisterInfo::const_iterator X86RegisterInfo::const_regclass_end() const {
-  return (X86RegClasses[0]+getNumRegClasses());
+MRegisterInfo::const_iterator X86RegisterInfo::regclass_end() const {
+  return X86RegClasses+getNumRegClasses();
 }
 


Index: llvm/lib/Target/X86/X86RegisterInfo.h
diff -u llvm/lib/Target/X86/X86RegisterInfo.h:1.8 llvm/lib/Target/X86/X86RegisterInfo.h:1.9
--- llvm/lib/Target/X86/X86RegisterInfo.h:1.8	Fri Dec 13 03:54:12 2002
+++ llvm/lib/Target/X86/X86RegisterInfo.h	Sun Dec 15 12:40:36 2002
@@ -14,8 +14,8 @@
 struct X86RegisterInfo : public MRegisterInfo {
   X86RegisterInfo();
 
-  MRegisterInfo::const_iterator const_regclass_begin() const;
-  MRegisterInfo::const_iterator const_regclass_end() const;
+  MRegisterInfo::const_iterator regclass_begin() const;
+  MRegisterInfo::const_iterator regclass_end() const;
 
   MachineBasicBlock::iterator
   storeReg2RegOffset(MachineBasicBlock *MBB,





More information about the llvm-commits mailing list