From: Evan Cheng Date: Thu, 18 May 2006 00:08:46 +0000 (+0000) Subject: Don't generate getCalleeSaveReg and getCalleeSaveRegClasses anymore. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=764811f1452808ff8a6d84f4ec2637355356e22e;p=oota-llvm.git Don't generate getCalleeSaveReg and getCalleeSaveRegClasses anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28376 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/TableGen/CodeGenTarget.cpp b/utils/TableGen/CodeGenTarget.cpp index 10ec6fec13e..30198fce36c 100644 --- a/utils/TableGen/CodeGenTarget.cpp +++ b/utils/TableGen/CodeGenTarget.cpp @@ -108,9 +108,6 @@ CodeGenTarget::CodeGenTarget() { 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"); } diff --git a/utils/TableGen/CodeGenTarget.h b/utils/TableGen/CodeGenTarget.h index f1f13fabd9a..dd58d929f88 100644 --- a/utils/TableGen/CodeGenTarget.h +++ b/utils/TableGen/CodeGenTarget.h @@ -42,7 +42,6 @@ std::string getEnumName(MVT::ValueType T); /// class CodeGenTarget { Record *TargetRec; - std::vector CalleeSavedRegisters; mutable std::map Instructions; mutable std::vector Registers; @@ -58,10 +57,6 @@ public: Record *getTargetRecord() const { return TargetRec; } const std::string &getName() const; - const std::vector &getCalleeSavedRegisters() const { - return CalleeSavedRegisters; - } - /// getInstructionSet - Return the InstructionSet object. /// Record *getInstructionSet() const; diff --git a/utils/TableGen/RegisterInfoEmitter.cpp b/utils/TableGen/RegisterInfoEmitter.cpp index 51b88421366..0c97fafc20b 100644 --- a/utils/TableGen/RegisterInfoEmitter.cpp +++ b/utils/TableGen/RegisterInfoEmitter.cpp @@ -59,8 +59,6 @@ void RegisterInfoEmitter::runHeader(std::ostream &OS) { 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 @@ void RegisterInfoEmitter::run(std::ostream &OS) { << ", 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 &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::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";