Skip to content

Commit

Permalink
llvm-mc/AsmMatcher: Remove some code which has been obsoleted by move to
Browse files Browse the repository at this point in the history
explicit parser match classes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78588 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
ddunbar committed Aug 10, 2009
1 parent 8e00117 commit ac6b4f2
Showing 1 changed file with 4 additions and 24 deletions.
28 changes: 4 additions & 24 deletions utils/TableGen/AsmMatcherEmitter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -293,9 +293,6 @@ struct ClassInfo {
/// N) for the Nth user defined class.
unsigned Kind;

/// SuperClassKind - The super class kind for user classes.
unsigned SuperClassKind;

/// SuperClass - The super class, or 0.
ClassInfo *SuperClass;

Expand Down Expand Up @@ -525,6 +522,7 @@ ClassInfo *AsmMatcherInfo::getTokenClass(const StringRef &Token) {
if (!Entry) {
Entry = new ClassInfo();
Entry->Kind = ClassInfo::Token;
Entry->SuperClass = 0;
Entry->ClassName = "Token";
Entry->Name = "MCK_" + getEnumNameForToken(Token);
Entry->ValueName = Token;
Expand Down Expand Up @@ -562,7 +560,7 @@ void AsmMatcherInfo::BuildInfo(CodeGenTarget &Target) {
// FIXME: This needs to dice up the RegisterClass instances.
ClassInfo *RegClass = TheRegisterClass = new ClassInfo();
RegClass->Kind = ClassInfo::Register;
RegClass->SuperClassKind = ClassInfo::Invalid;
RegClass->SuperClass = 0;
RegClass->ClassName = "Reg";
RegClass->Name = "MCK_Reg";
RegClass->ValueName = "<register class>";
Expand Down Expand Up @@ -661,24 +659,6 @@ void AsmMatcherInfo::BuildInfo(CodeGenTarget &Target) {
Instructions.push_back(II.take());
}

// Bind user super classes.
std::map<unsigned, ClassInfo*> UserClasses;
for (unsigned i = 0, e = Classes.size(); i != e; ++i) {
ClassInfo &CI = *Classes[i];
if (CI.isUserClass())
UserClasses[CI.Kind] = &CI;
}

for (unsigned i = 0, e = Classes.size(); i != e; ++i) {
ClassInfo &CI = *Classes[i];
if (CI.isUserClass() && CI.SuperClassKind != ClassInfo::Invalid) {
CI.SuperClass = UserClasses[CI.SuperClassKind];
assert(CI.SuperClass && "Missing super class definition!");
} else {
CI.SuperClass = 0;
}
}

// Reorder classes so that classes preceed super classes.
std::sort(Classes.begin(), Classes.end(), less_ptr<ClassInfo>());
}
Expand Down Expand Up @@ -863,8 +843,8 @@ static void EmitClassifyOperand(CodeGenTarget &Target,
OS << " assert(Operand." << CI.SuperClass->PredicateMethod
<< "() && \"Invalid class relationship!\");\n";

OS << " return " << CI.Name << ";\n\n";
OS << " }";
OS << " return " << CI.Name << ";\n";
OS << " }\n\n";
}
}
OS << " return InvalidMatchClass;\n";
Expand Down

0 comments on commit ac6b4f2

Please sign in to comment.