[llvm-commits] [llvm] r55360 - /llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp

Chris Lattner sabre at nondot.org
Mon Aug 25 23:49:06 PDT 2008


Author: lattner
Date: Tue Aug 26 01:49:06 2008
New Revision: 55360

URL: http://llvm.org/viewvc/llvm-project?rev=55360&view=rev
Log:
stablize SubRegsSet printing, part of PR2590

Modified:
    llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp

Modified: llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp?rev=55360&r1=55359&r2=55360&view=diff

==============================================================================
--- llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp Tue Aug 26 01:49:06 2008
@@ -114,7 +114,8 @@
 }
 
 static void addSuperReg(Record *R, Record *S,
-                        std::map<Record*, std::set<Record*> > &SubRegs,
+                        std::map<Record*, std::set<Record*>,
+                                 LessRecord> &SubRegs,
                         std::map<Record*, std::set<Record*> > &SuperRegs,
                         std::map<Record*, std::set<Record*> > &Aliases) {
   if (R == S) {
@@ -135,7 +136,8 @@
 }
 
 static void addSubSuperReg(Record *R, Record *S,
-                           std::map<Record*, std::set<Record*> > &SubRegs,
+                           std::map<Record*, std::set<Record*>,
+                                    LessRecord> &SubRegs,
                            std::map<Record*, std::set<Record*> > &SuperRegs,
                            std::map<Record*, std::set<Record*> > &Aliases) {
   if (R == S) {
@@ -158,10 +160,10 @@
 
 class RegisterSorter {
 private:
-  std::map<Record*, std::set<Record*> > &RegisterSubRegs;
+  std::map<Record*, std::set<Record*>, LessRecord> &RegisterSubRegs;
 
 public:
-  RegisterSorter(std::map<Record*, std::set<Record*> > &RS)
+  RegisterSorter(std::map<Record*, std::set<Record*>, LessRecord> &RS)
     : RegisterSubRegs(RS) {};
 
   bool operator()(Record *RegA, Record *RegB) {
@@ -418,7 +420,7 @@
   OS << "  };\n";
 
   // Emit register sub-registers / super-registers, aliases...
-  std::map<Record*, std::set<Record*> > RegisterSubRegs;
+  std::map<Record*, std::set<Record*>, LessRecord> RegisterSubRegs;
   std::map<Record*, std::set<Record*> > RegisterSuperRegs;
   std::map<Record*, std::set<Record*> > RegisterAliases;
   std::map<Record*, std::vector<std::pair<int, Record*> > > SubRegVectors;
@@ -563,7 +565,7 @@
   OS << "  const unsigned Empty_SubRegsSet[] = { 0 };\n";
   // Loop over all of the registers which have sub-registers, emitting the
   // sub-registers list to memory.
-  for (std::map<Record*, std::set<Record*> >::iterator
+  for (std::map<Record*, std::set<Record*>, LessRecord>::iterator
          I = RegisterSubRegs.begin(), E = RegisterSubRegs.end(); I != E; ++I) {
     OS << "  const unsigned " << I->first->getName() << "_SubRegsSet[] = { ";
     std::vector<Record*> SubRegsVector;





More information about the llvm-commits mailing list