[llvm-commits] CVS: llvm/utils/TableGen/CodeGenTarget.cpp CodeGenTarget.h RegisterInfoEmitter.cpp

Evan Cheng evan.cheng at apple.com
Wed May 17 17:08:59 PDT 2006



Changes in directory llvm/utils/TableGen:

CodeGenTarget.cpp updated: 1.66 -> 1.67
CodeGenTarget.h updated: 1.27 -> 1.28
RegisterInfoEmitter.cpp updated: 1.42 -> 1.43
---
Log message:

Don't generate getCalleeSaveReg and getCalleeSaveRegClasses anymore.


---
Diffs of the changes:  (+0 -40)

 CodeGenTarget.cpp       |    3 ---
 CodeGenTarget.h         |    5 -----
 RegisterInfoEmitter.cpp |   32 --------------------------------
 3 files changed, 40 deletions(-)


Index: llvm/utils/TableGen/CodeGenTarget.cpp
diff -u llvm/utils/TableGen/CodeGenTarget.cpp:1.66 llvm/utils/TableGen/CodeGenTarget.cpp:1.67
--- llvm/utils/TableGen/CodeGenTarget.cpp:1.66	Wed May 17 15:55:51 2006
+++ llvm/utils/TableGen/CodeGenTarget.cpp	Wed May 17 19:08:46 2006
@@ -108,9 +108,6 @@
   if (Targets.size() != 1)
     throw std::string("ERROR: Multiple subclasses of Target defined!");
   TargetRec = Targets[0];
-
-  // Read in all of the CalleeSavedRegisters.
-  CalleeSavedRegisters =TargetRec->getValueAsListOfDefs("CalleeSavedRegisters");
 }
 
 


Index: llvm/utils/TableGen/CodeGenTarget.h
diff -u llvm/utils/TableGen/CodeGenTarget.h:1.27 llvm/utils/TableGen/CodeGenTarget.h:1.28
--- llvm/utils/TableGen/CodeGenTarget.h:1.27	Wed May 17 15:37:59 2006
+++ llvm/utils/TableGen/CodeGenTarget.h	Wed May 17 19:08:46 2006
@@ -42,7 +42,6 @@
 ///
 class CodeGenTarget {
   Record *TargetRec;
-  std::vector<Record*> CalleeSavedRegisters;
 
   mutable std::map<std::string, CodeGenInstruction> Instructions;
   mutable std::vector<CodeGenRegister> Registers;
@@ -58,10 +57,6 @@
   Record *getTargetRecord() const { return TargetRec; }
   const std::string &getName() const;
 
-  const std::vector<Record*> &getCalleeSavedRegisters() const {
-    return CalleeSavedRegisters;
-  }
-
   /// getInstructionSet - Return the InstructionSet object.
   ///
   Record *getInstructionSet() const;


Index: llvm/utils/TableGen/RegisterInfoEmitter.cpp
diff -u llvm/utils/TableGen/RegisterInfoEmitter.cpp:1.42 llvm/utils/TableGen/RegisterInfoEmitter.cpp:1.43
--- llvm/utils/TableGen/RegisterInfoEmitter.cpp:1.42	Thu May 11 02:30:26 2006
+++ llvm/utils/TableGen/RegisterInfoEmitter.cpp	Wed May 17 19:08:46 2006
@@ -59,8 +59,6 @@
   OS << "struct " << ClassName << " : public MRegisterInfo {\n"
      << "  " << ClassName
      << "(int CallFrameSetupOpcode = -1, int CallFrameDestroyOpcode = -1);\n"
-     << "  const unsigned* getCalleeSaveRegs() const;\n"
-     << "  const TargetRegisterClass* const *getCalleeSaveRegClasses() const;\n"
      << "  int getDwarfRegNum(unsigned RegNum) const;\n"
      << "};\n\n";
 
@@ -333,36 +331,6 @@
      << ", RegisterClasses, RegisterClasses+" << RegisterClasses.size() <<",\n "
      << "                 CallFrameSetupOpcode, CallFrameDestroyOpcode) {}\n\n";
 
-  // Emit the getCalleeSaveRegs method.
-  OS << "const unsigned* " << ClassName << "::getCalleeSaveRegs() const {\n"
-     << "  static const unsigned CalleeSaveRegs[] = {\n    ";
-
-  const std::vector<Record*> &CSR = Target.getCalleeSavedRegisters();
-  for (unsigned i = 0, e = CSR.size(); i != e; ++i)
-    OS << getQualifiedName(CSR[i]) << ", ";
-  OS << " 0\n  };\n  return CalleeSaveRegs;\n}\n\n";
-  
-  // Emit information about the callee saved register classes.
-  OS << "const TargetRegisterClass* const*\n" << ClassName
-     << "::getCalleeSaveRegClasses() const {\n"
-     << "  static const TargetRegisterClass * const "
-     << "CalleeSaveRegClasses[] = {\n    ";
-  
-  for (unsigned i = 0, e = CSR.size(); i != e; ++i) {
-    Record *R = CSR[i];
-    std::multimap<Record*, const CodeGenRegisterClass*>::iterator I, E;
-    tie(I, E) = RegClassesBelongedTo.equal_range(R);
-    if (I == E)
-      throw "Callee saved register '" + R->getName() +
-            "' must belong to a register class for spilling.\n";
-    const CodeGenRegisterClass *RC = (I++)->second;
-    for (; I != E; ++I)
-      if (RC->SpillSize < I->second->SpillSize)
-        RC = I->second;
-    OS << "&" << getQualifiedName(RC->TheDef) << "RegClass, ";
-  }
-  OS << " 0\n  };\n  return CalleeSaveRegClasses;\n}\n\n";
- 
   // Emit information about the dwarf register numbers.
   OS << "int " << ClassName << "::getDwarfRegNum(unsigned RegNum) const {\n";
   OS << "  static const int DwarfRegNums[] = { -1, // NoRegister";






More information about the llvm-commits mailing list