aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/LiveDebugVariables.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/CodeGen/LiveDebugVariables.cpp')
-rw-r--r--llvm/lib/CodeGen/LiveDebugVariables.cpp6
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)