mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 22:24:07 +00:00
Split register class "Methods" into MethodProtos and MethodBodies
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22928 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -153,12 +153,18 @@ CodeGenRegisterClass::CodeGenRegisterClass(Record *R) : TheDef(R) {
|
||||
SpillSize = R->getValueAsInt("Size");
|
||||
SpillAlignment = R->getValueAsInt("Alignment");
|
||||
|
||||
if (CodeInit *CI = dynamic_cast<CodeInit*>(R->getValueInit("Methods")))
|
||||
MethodDefinitions = CI->getValue();
|
||||
if (CodeInit *CI = dynamic_cast<CodeInit*>(R->getValueInit("MethodBodies")))
|
||||
MethodBodies = CI->getValue();
|
||||
else
|
||||
throw "Expected 'code' fragment for 'Methods' value in register class '"+
|
||||
getName() + "'!";
|
||||
throw "Expected 'code' fragment for 'MethodBodies' value in register "
|
||||
"class '" + getName() + "'!";
|
||||
|
||||
if (CodeInit *CI = dynamic_cast<CodeInit*>(R->getValueInit("MethodProtos")))
|
||||
MethodProtos = CI->getValue();
|
||||
else
|
||||
throw "Expected 'code' fragment for 'MethodProtos' value in register "
|
||||
"class '" + getName() + "'!";
|
||||
|
||||
ListInit *RegList = R->getValueAsListInit("MemberList");
|
||||
for (unsigned i = 0, e = RegList->getSize(); i != e; ++i) {
|
||||
DefInit *RegDef = dynamic_cast<DefInit*>(RegList->getElement(i));
|
||||
|
Reference in New Issue
Block a user