summaryrefslogtreecommitdiffstats
path: root/debuginfo-tests/nrvo-string.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2017-09-15 21:54:38 +0000
committerReid Kleckner <rnk@google.com>2017-09-15 21:54:38 +0000
commit3a66c1cb58a955d9f24f4bc2a86ce80bfc76dee6 (patch)
treec2e22b6e976952f1fd3c6e50fabe471484dd3b58 /debuginfo-tests/nrvo-string.cpp
parent9e6c309ef343acc13a14ca97f370e35079fbea1f (diff)
downloadbcm5719-llvm-3a66c1cb58a955d9f24f4bc2a86ce80bfc76dee6.tar.gz
bcm5719-llvm-3a66c1cb58a955d9f24f4bc2a86ce80bfc76dee6.zip
[DebugInfo] Insert DW_OP_deref when spilling indirect DBG_VALUEs
Summary: This comes up in optimized debug info for C++ programs that pass and return objects indirectly by address. In these programs, llvm.dbg.declare survives optimization, which causes us to emit indirect DBG_VALUE instructions. The fast register allocator knows to insert DW_OP_deref when spilling indirect DBG_VALUE instructions, but the LiveDebugVariables did not until this change. This fixes part of PR34513. I need to look into why this doesn't work at -O0 and I'll send follow up patches to handle that. Reviewers: aprantl, dblaikie, probinson Subscribers: qcolombet, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D37911 llvm-svn: 313400
Diffstat (limited to 'debuginfo-tests/nrvo-string.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud