[DebugInfo] remove more node indirection (this time from the subprogram's variable lists)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174305 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Blaikie
2013-02-04 05:56:36 +00:00
parent a9b1317443
commit f839eed5ea
4 changed files with 10 additions and 27 deletions

View File

@ -593,17 +593,14 @@ unsigned DISubprogram::isOptimized() const {
MDNode *DISubprogram::getVariablesNodes() const {
if (!DbgNode || DbgNode->getNumOperands() <= 19)
return NULL;
if (MDNode *Temp = dyn_cast_or_null<MDNode>(DbgNode->getOperand(19)))
return dyn_cast_or_null<MDNode>(Temp->getOperand(0));
return NULL;
return dyn_cast_or_null<MDNode>(DbgNode->getOperand(19));
}
DIArray DISubprogram::getVariables() const {
if (!DbgNode || DbgNode->getNumOperands() <= 19)
return DIArray();
if (MDNode *T = dyn_cast_or_null<MDNode>(DbgNode->getOperand(19)))
if (MDNode *A = dyn_cast_or_null<MDNode>(T->getOperand(0)))
return DIArray(A);
return DIArray(T);
return DIArray();
}