diff options
| author | Chris Lattner <sabre@nondot.org> | 2008-08-26 06:49:06 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2008-08-26 06:49:06 +0000 |
| commit | ef820d2ef9167a741fe50e07b3b11a793f85090a (patch) | |
| tree | e809b22d45c84591d36aa16e625d54d26af6f255 | |
| parent | bd7ccd01622d36313daa33ba5628e4b85488d04a (diff) | |
| download | bcm5719-llvm-ef820d2ef9167a741fe50e07b3b11a793f85090a.tar.gz bcm5719-llvm-ef820d2ef9167a741fe50e07b3b11a793f85090a.zip | |
stablize SubRegsSet printing, part of PR2590
llvm-svn: 55360
| -rw-r--r-- | llvm/utils/TableGen/RegisterInfoEmitter.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/utils/TableGen/RegisterInfoEmitter.cpp b/llvm/utils/TableGen/RegisterInfoEmitter.cpp index 7517c5eee55..b4b52f3f765 100644 --- a/llvm/utils/TableGen/RegisterInfoEmitter.cpp +++ b/llvm/utils/TableGen/RegisterInfoEmitter.cpp @@ -114,7 +114,8 @@ bool isSubRegisterClass(const CodeGenRegisterClass &RC, } 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 addSuperReg(Record *R, Record *S, } 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 @@ static void addSubSuperReg(Record *R, Record *S, 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 @@ void RegisterInfoEmitter::run(std::ostream &OS) { 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 @@ void RegisterInfoEmitter::run(std::ostream &OS) { 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; |

