diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/TableGen/Record.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/TableGen/Record.cpp b/lib/TableGen/Record.cpp index 69d31fe3b4..a22c80c5e2 100644 --- a/lib/TableGen/Record.cpp +++ b/lib/TableGen/Record.cpp @@ -1764,6 +1764,12 @@ void Record::resolveReferencesTo(const RecordVal *RV) { if (Init *V = Values[i].getValue()) Values[i].setValue(V->resolveReferences(*this, RV)); } + Init *OldName = getNameInit(); + Init *NewName = Name->resolveReferences(*this, RV); + if (NewName != OldName) { + // Re-register with RecordKeeper. + setName(NewName); + } } void Record::dump() const { errs() << *this; } |