Fix multiclass inheritance to limit value resolution to new defs added

by base multiclasses.  Do not attempt to alter defs from previous base
multiclasses.  This fixes multiple multiclass inheritance.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69974 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Greene
2009-04-24 16:55:41 +00:00
parent 1c2c462d0f
commit d34a73b3b7
4 changed files with 117 additions and 30 deletions
+14
View File
@@ -1060,6 +1060,20 @@ std::string Record::getValueAsCode(const std::string &FieldName) const {
}
void MultiClass::dump() const {
cerr << "Record:\n";
Rec.dump();
cerr << "Defs:\n";
for (RecordVector::const_iterator r = DefPrototypes.begin(),
rend = DefPrototypes.end();
r != rend;
++r) {
(*r)->dump();
}
}
void RecordKeeper::dump() const { cerr << *this; }
std::ostream &llvm::operator<<(std::ostream &OS, const RecordKeeper &RK) {