llvm-capstone/llvm/test
Reid Kleckner 3a66c1cb58 [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
2017-09-15 21:54:38 +00:00
..
Analysis [TargetTransformInfo] Detect 0 latency instructions 2017-09-14 19:20:02 +00:00
Assembler
Bindings
Bitcode [AutoUpgrade] Fix a compatibility issue with module flag 2017-09-15 21:12:14 +00:00
BugPoint
CodeGen Revert r313343 "[X86] PR32755 : Improvement in CodeGen instruction selection for LEAs." 2017-09-15 18:40:26 +00:00
DebugInfo [DebugInfo] Insert DW_OP_deref when spilling indirect DBG_VALUEs 2017-09-15 21:54:38 +00:00
DllTool
Examples
ExecutionEngine
Feature
FileCheck
Instrumentation
Integer
JitListener
LibDriver
Linker
LTO Reland r313157, "ThinLTO: Correctly follow aliasee references when dead stripping." which was reverted in r313222. 2017-09-14 05:02:59 +00:00
MC [WebAssembly] MC: Create wasm data segments based on MCSections 2017-09-15 20:54:59 +00:00
Object [MachO] Prevent heap overflow when load command extends past EOF 2017-09-13 13:43:01 +00:00
ObjectYAML
Other [PM/CGSCC] Teach the CGSCC pass manager components to gracefully handle 2017-09-14 08:33:57 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen TableGen support for parameterized register class information 2017-09-14 16:56:21 +00:00
ThinLTO/X86
tools [WebAssembly] Use a separate wasm data segment for each global symbol 2017-09-14 23:07:53 +00:00
Transforms [ConstantFold] Return the correct type when folding a GEP with vector indices. 2017-09-15 20:53:05 +00:00
Unit Revert "[lit] Force site configs to run before source-tree configs" 2017-09-15 02:56:40 +00:00
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg Revert "[lit] Force site configs to run before source-tree configs" 2017-09-15 02:56:40 +00:00
lit.site.cfg.in [lit] Revert "Add a lit.llvm module that all llvm projects can use" 2017-09-15 00:56:08 +00:00
TestRunner.sh