diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-06-15 19:34:26 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-06-15 19:34:26 +0000 |
commit | b9597a8e5707830074bbe60021a67aadc87407a9 (patch) | |
tree | 8b6aceaf94a21ee0a1bd59f1f0e02fe6763d061a /llvm/lib/CodeGen | |
parent | 52a5d41b671d762a01221713e3cf537a11fa691a (diff) | |
download | bcm5719-llvm-b9597a8e5707830074bbe60021a67aadc87407a9.tar.gz bcm5719-llvm-b9597a8e5707830074bbe60021a67aadc87407a9.zip |
PR20038: DebugInfo missing DIEs for some concrete variables.
I haven't nailed this down entirely, but this is about as small of a
test case as I can seem to construct and adequately demonstrates the
crasher. I'll continue investigating the root cause/fix(es).
llvm-svn: 210993
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 2269686d2e2..a88aebd2d22 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -786,6 +786,9 @@ void DwarfDebug::beginModule() { void DwarfDebug::finishVariableDefinitions() { for (const auto &Var : ConcreteVariables) { DIE *VariableDie = Var->getDIE(); + // FIXME: There shouldn't be any variables without DIEs. + if (!VariableDie) + continue; // FIXME: Consider the time-space tradeoff of just storing the unit pointer // in the ConcreteVariables list, rather than looking it up again here. // DIE::getUnit isn't simple - it walks parent pointers, etc. |