summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/Record.cpp
diff options
context:
space:
mode:
authorDavid Greene <greened@obbligato.org>2009-04-24 16:55:41 +0000
committerDavid Greene <greened@obbligato.org>2009-04-24 16:55:41 +0000
commit7049e79e451eabaa88a44cb491c95a4a915bd69e (patch)
tree98c79229a1ad7ed425fc0eaae2f164a11617471c /llvm/utils/TableGen/Record.cpp
parent62d47d23611cc3f3817f8bc58de5a146a5f4c4d2 (diff)
downloadbcm5719-llvm-7049e79e451eabaa88a44cb491c95a4a915bd69e.tar.gz
bcm5719-llvm-7049e79e451eabaa88a44cb491c95a4a915bd69e.zip
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. llvm-svn: 69974
Diffstat (limited to 'llvm/utils/TableGen/Record.cpp')
-rw-r--r--llvm/utils/TableGen/Record.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/Record.cpp b/llvm/utils/TableGen/Record.cpp
index 9ce645de34f..2e64c838ab7 100644
--- a/llvm/utils/TableGen/Record.cpp
+++ b/llvm/utils/TableGen/Record.cpp
@@ -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) {
OpenPOWER on IntegriCloud