PR19562: DebugInfo temporary MDNode leak: Don't include a temporary node to replace with a variable list for methods, since they're always declarations and thus never include variables

This field is used for a list of variables to ensure they are not lost
during optimization (they're only included when optimizations are
enabled).

llvm-svn: 208159
This commit is contained in:
David Blaikie 2014-05-07 06:08:28 +00:00
parent 8128149f4a
commit 24886a4a8b

View File

@ -1159,7 +1159,6 @@ DISubprogram DIBuilder::createMethod(DIDescriptor Context, StringRef Name,
assert(getNonCompileUnitScope(Context) &&
"Methods should have both a Context and a context that isn't "
"the compile unit.");
Value *TElts[] = { GetTagConstant(VMContext, DW_TAG_base_type) };
Value *Elts[] = {
GetTagConstant(VMContext, dwarf::DW_TAG_subprogram),
F.getFileNode(),
@ -1179,7 +1178,7 @@ DISubprogram DIBuilder::createMethod(DIDescriptor Context, StringRef Name,
Fn,
TParam,
Constant::getNullValue(Type::getInt32Ty(VMContext)),
MDNode::getTemporary(VMContext, TElts),
nullptr,
// FIXME: Do we want to use different scope/lines?
ConstantInt::get(Type::getInt32Ty(VMContext), LineNo)
};