diff options
| author | Chris Lattner <sabre@nondot.org> | 2003-08-15 04:36:19 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2003-08-15 04:36:19 +0000 | 
| commit | eb745be508f3eaf6299f136958bd24263b3fa29e (patch) | |
| tree | 67d7228abb97c5e2af6a468115ab55155a4b6971 /llvm | |
| parent | 572c69ea1e23bd72b945b2376b2f2bcf8d5dd980 (diff) | |
| download | bcm5719-llvm-eb745be508f3eaf6299f136958bd24263b3fa29e.tar.gz bcm5719-llvm-eb745be508f3eaf6299f136958bd24263b3fa29e.zip  | |
Ignore dummy register classes
llvm-svn: 7871
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/support/tools/TableGen/RegisterInfoEmitter.cpp | 10 | 
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/support/tools/TableGen/RegisterInfoEmitter.cpp b/llvm/support/tools/TableGen/RegisterInfoEmitter.cpp index 9ef5f020a28..af3efe3a9c4 100644 --- a/llvm/support/tools/TableGen/RegisterInfoEmitter.cpp +++ b/llvm/support/tools/TableGen/RegisterInfoEmitter.cpp @@ -53,8 +53,11 @@ void RegisterInfoEmitter::runHeader(std::ostream &OS) {    OS << "namespace " << TargetName << " { // Register classes\n";    for (unsigned i = 0, e = RegisterClasses.size(); i != e; ++i) { +    if (RegisterClasses[i]->getValueAsBit("isDummyClass")) +      continue; // Ignore dummies +      const std::string &Name = RegisterClasses[i]->getName(); -    if (Name.size() < 9 || Name[9] != '.')    // Ignore anonymous classes +    if (Name.size() < 9 || Name[9] != '.')       // Ignore anonymous classes        OS << "  extern TargetRegisterClass *" << Name << "RegisterClass;\n";    }    OS << "} // end of namespace " << TargetName << "\n\n"; @@ -82,6 +85,8 @@ void RegisterInfoEmitter::run(std::ostream &OS) {    for (unsigned rc = 0, e = RegisterClasses.size(); rc != e; ++rc) {      Record *RC = RegisterClasses[rc]; +    if (RC->getValueAsBit("isDummyClass")) continue; // Ignore dummies +      std::string Name = RC->getName();      if (Name.size() > 9 && Name[9] == '.') {        static unsigned AnonCounter = 0; @@ -197,6 +202,9 @@ void RegisterInfoEmitter::run(std::ostream &OS) {    OS << "namespace " << Target.getName() << " { // Register classes\n";    for (unsigned i = 0, e = RegisterClasses.size(); i != e; ++i) { +    if (RegisterClasses[i]->getValueAsBit("isDummyClass")) +      continue; // Ignore dummies +      const std::string &Name = RegisterClasses[i]->getName();      if (Name.size() < 9 || Name[9] != '.')    // Ignore anonymous classes        OS << "  TargetRegisterClass *" << Name << "RegisterClass = &"  | 

