mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-18 18:42:46 +02:00
AsmMatcher: Create operand classes before use, apparently records aren't visited
in the order they were declared. llvm-svn: 94868
This commit is contained in:
parent
9774a29dc0
commit
0016281dc2
@ -782,10 +782,16 @@ void AsmMatcherInfo::BuildRegisterClasses(CodeGenTarget &Target,
|
||||
void AsmMatcherInfo::BuildOperandClasses(CodeGenTarget &Target) {
|
||||
std::vector<Record*> AsmOperands;
|
||||
AsmOperands = Records.getAllDerivedDefinitions("AsmOperandClass");
|
||||
|
||||
// Pre-populate AsmOperandClasses map.
|
||||
for (std::vector<Record*>::iterator it = AsmOperands.begin(),
|
||||
ie = AsmOperands.end(); it != ie; ++it)
|
||||
AsmOperandClasses[*it] = new ClassInfo();
|
||||
|
||||
unsigned Index = 0;
|
||||
for (std::vector<Record*>::iterator it = AsmOperands.begin(),
|
||||
ie = AsmOperands.end(); it != ie; ++it, ++Index) {
|
||||
ClassInfo *CI = new ClassInfo();
|
||||
ClassInfo *CI = AsmOperandClasses[*it];
|
||||
CI->Kind = ClassInfo::UserClass0 + Index;
|
||||
|
||||
Init *Super = (*it)->getValueInit("SuperClass");
|
||||
|
Loading…
Reference in New Issue
Block a user