diff options
author | Adrian Prantl <aprantl@apple.com> | 2017-11-08 18:27:13 +0000 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2017-11-08 18:27:13 +0000 |
commit | 93faeecd8fa1fc148f2ee0d0cb64f11c3d41ce49 (patch) | |
tree | 62142adf4f8c4367fa65bd5bf931c9ae52dae496 /llvm/lib/CodeGen | |
parent | 5904fba8c9a00eb90cd9a06a3afe84c72db98ffc (diff) | |
download | bcm5719-llvm-93faeecd8fa1fc148f2ee0d0cb64f11c3d41ce49.tar.gz bcm5719-llvm-93faeecd8fa1fc148f2ee0d0cb64f11c3d41ce49.zip |
Handle inlined variables in SelectionDAGBuilder::EmitFuncArgumentDbgValue().
In 2010 a commit with no testcase and no further explanation
explicitly disabled the handling of inlined variables in
EmitFuncArgumentDbgValue(). I don't think there is a good reason for
this any more and re-enabling this adds debug locations for variables
associated with an LLVM function argument in functions that are
inlined into the first basic block. The only downside of doing this is
that we may insert a DBG_VALUE before the inlined scope, but (1) this
could be filtered out later, and (2) LiveDebugValues will not
propagate it into subsequent basic blocks if they don't dominate the
variable's lexical scope, so this seems like a small price to pay.
rdar://problem/26228128
llvm-svn: 317702
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 6867d1460ef..f4f8879b5d8 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -4828,12 +4828,6 @@ bool SelectionDAGBuilder::EmitFuncArgumentDbgValue( MachineFunction &MF = DAG.getMachineFunction(); const TargetInstrInfo *TII = DAG.getSubtarget().getInstrInfo(); - // Ignore inlined function arguments here. - // - // FIXME: Should we be checking DL->inlinedAt() to determine this? - if (!Variable->getScope()->getSubprogram()->describes(MF.getFunction())) - return false; - bool IsIndirect = false; Optional<MachineOperand> Op; // Some arguments' frame index is recorded during argument lowering. |