llvm-mc/AsmMatcher: Remove some code which has been obsoleted by move to

explicit parser match classes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78588 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2009-08-10 19:08:50 +00:00
parent 8e00117e04
commit ac6b4f2c0c

View File

@ -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;
@ -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;
@ -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>";
@ -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>());
}
@ -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";