diff options
Diffstat (limited to 'llvm/lib/CodeGen/LiveDebugVariables.cpp')
-rw-r--r-- | llvm/lib/CodeGen/LiveDebugVariables.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/LiveDebugVariables.cpp b/llvm/lib/CodeGen/LiveDebugVariables.cpp index e04e248..0244f45 100644 --- a/llvm/lib/CodeGen/LiveDebugVariables.cpp +++ b/llvm/lib/CodeGen/LiveDebugVariables.cpp @@ -1154,7 +1154,11 @@ void UserValue::computeIntervals(MachineRegisterInfo &MRI, // location's lexical scope. In this case, splitting of an interval // can result in an interval outside of the scope being created, // causing extra unnecessary DBG_VALUEs to be emitted. To prevent - // this, trim the intervals to the lexical scope. + // this, trim the intervals to the lexical scope in the case of inlined + // variables, since heavy inlining may cause production of dramatically big + // number of DBG_VALUEs to be generated. + if (!dl.getInlinedAt()) + return; LexicalScope *Scope = LS.findLexicalScope(dl); if (!Scope) |