mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
TableGen: Privatize CodeGenRegisterClass::TheDef and Name.
When TableGen starts creating its own register classes, the synthesized classes won't have a Record reference. All register classes must have a name, though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141081 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -999,6 +999,10 @@ BuildRegisterClasses(SmallPtrSet<Record*, 16> &SingletonRegisters) {
|
||||
for (ArrayRef<CodeGenRegisterClass*>::const_iterator
|
||||
it = RegClassList.begin(), ie = RegClassList.end(); it != ie; ++it) {
|
||||
const CodeGenRegisterClass &RC = **it;
|
||||
// Def will be NULL for non-user defined register classes.
|
||||
Record *Def = RC.getDef();
|
||||
if (!Def)
|
||||
continue;
|
||||
ClassInfo *CI = RegisterSetClasses[std::set<Record*>(RC.getOrder().begin(),
|
||||
RC.getOrder().end())];
|
||||
if (CI->ValueName.empty()) {
|
||||
@@ -1008,7 +1012,7 @@ BuildRegisterClasses(SmallPtrSet<Record*, 16> &SingletonRegisters) {
|
||||
} else
|
||||
CI->ValueName = CI->ValueName + "," + RC.getName();
|
||||
|
||||
RegisterClassClasses.insert(std::make_pair(RC.TheDef, CI));
|
||||
RegisterClassClasses.insert(std::make_pair(Def, CI));
|
||||
}
|
||||
|
||||
// Populate the map for individual registers.
|
||||
|
||||
Reference in New Issue
Block a user