Add a new Record::getValueAsCode method to mirror the other getValueAs*

methods.  Use it to simplify some code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23336 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2005-09-13 21:44:28 +00:00
parent ee9f0c3c2e
commit 8f493130bb
3 changed files with 20 additions and 11 deletions

View File

@@ -154,17 +154,8 @@ CodeGenRegisterClass::CodeGenRegisterClass(Record *R) : TheDef(R) {
SpillAlignment = R->getValueAsInt("Alignment");
VT = getValueType(R->getValueAsDef("RegType"));
if (CodeInit *CI = dynamic_cast<CodeInit*>(R->getValueInit("MethodBodies")))
MethodBodies = CI->getValue();
else
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() + "'!";
MethodBodies = R->getValueAsCode("MethodBodies");
MethodProtos = R->getValueAsCode("MethodProtos");
ListInit *RegList = R->getValueAsListInit("MemberList");
for (unsigned i = 0, e = RegList->getSize(); i != e; ++i) {