summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-02-04 05:56:36 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-02-04 05:56:36 +0000
commit2811f8ac2828dbc96839f6404142a6513a4e4153 (patch)
treeedc65ba586292ee621037812ba011e2318c60652 /llvm/lib
parentab1e7cac9920f733d5c38b2647f8432d56d7c612 (diff)
downloadbcm5719-llvm-2811f8ac2828dbc96839f6404142a6513a4e4153.tar.gz
bcm5719-llvm-2811f8ac2828dbc96839f6404142a6513a4e4153.zip
[DebugInfo] remove more node indirection (this time from the subprogram's variable lists)
llvm-svn: 174305
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/IR/DIBuilder.cpp12
-rw-r--r--llvm/lib/IR/DebugInfo.cpp7
2 files changed, 4 insertions, 15 deletions
diff --git a/llvm/lib/IR/DIBuilder.cpp b/llvm/lib/IR/DIBuilder.cpp
index 40655eccc5b..cc397cdf351 100644
--- a/llvm/lib/IR/DIBuilder.cpp
+++ b/llvm/lib/IR/DIBuilder.cpp
@@ -900,10 +900,6 @@ DISubprogram DIBuilder::createFunction(DIDescriptor Context,
MDNode *TParams,
MDNode *Decl) {
Value *TElts[] = { GetTagConstant(VMContext, DW_TAG_base_type) };
- MDNode *Temp = MDNode::getTemporary(VMContext, TElts);
- Value *TVElts[] = { Temp };
- MDNode *THolder = MDNode::get(VMContext, TVElts);
-
Value *Elts[] = {
GetTagConstant(VMContext, dwarf::DW_TAG_subprogram),
Constant::getNullValue(Type::getInt32Ty(VMContext)),
@@ -924,7 +920,7 @@ DISubprogram DIBuilder::createFunction(DIDescriptor Context,
Fn,
TParams,
Decl,
- THolder,
+ MDNode::getTemporary(VMContext, TElts),
ConstantInt::get(Type::getInt32Ty(VMContext), ScopeLine)
};
MDNode *Node = MDNode::get(VMContext, Elts);
@@ -949,10 +945,6 @@ DISubprogram DIBuilder::createMethod(DIDescriptor Context,
Function *Fn,
MDNode *TParam) {
Value *TElts[] = { GetTagConstant(VMContext, DW_TAG_base_type) };
- MDNode *Temp = MDNode::getTemporary(VMContext, TElts);
- Value *TVElts[] = { Temp };
- MDNode *THolder = MDNode::get(VMContext, TVElts);
-
Value *Elts[] = {
GetTagConstant(VMContext, dwarf::DW_TAG_subprogram),
Constant::getNullValue(Type::getInt32Ty(VMContext)),
@@ -973,7 +965,7 @@ DISubprogram DIBuilder::createMethod(DIDescriptor Context,
Fn,
TParam,
Constant::getNullValue(Type::getInt32Ty(VMContext)),
- THolder,
+ MDNode::getTemporary(VMContext, TElts),
// FIXME: Do we want to use different scope/lines?
ConstantInt::get(Type::getInt32Ty(VMContext), LineNo)
};
diff --git a/llvm/lib/IR/DebugInfo.cpp b/llvm/lib/IR/DebugInfo.cpp
index ecaab1fd652..a59fdcd4de9 100644
--- a/llvm/lib/IR/DebugInfo.cpp
+++ b/llvm/lib/IR/DebugInfo.cpp
@@ -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();
}
OpenPOWER on IntegriCloud