llvm-project/llvm/test
Alexey Samsonov 8000e2734e Generate better location ranges for some register-described variables.
Don't terminate location ranges for register-described variables
at the end of machine basic block if this register is never modified
in the function body, except for the prologue and epilogue. Prologue
location is guessed by FrameSetup flags on MachineInstructions, while
epilogue location is deduced from debug locations of instructions
in the basic blocks ending with return instructions.

This patch is mostly targeted to fix non-trivial debug locations for
variables addressed via stack and frame pointers.

It is not really a generic fix. We can still produce poor debug info
for register-described variables if this register *is* modified somewhere
in the function, but in unrelated places. This might be the case for the debug
info in optimized binaries (e.g. for local variables in inlined functions).
LiveDebugVariables pass in CodeGen attempts to fix this problem by adjusting
DBG_VALUE instructions, but this pass is tied to greedy register allocator,
which is used in optimized builds only. Proper fix would likely involve
generalizing LiveDebugVariables to all register allocators. See more discussion
in http://reviews.llvm.org/D3933 review thread.

I'm proceeding with this patch to fix immediate severe problems and
important cases, e.g. fix completely broken debug info with AddressSanitizer
and fix PR19307 (missing debug info for by-value std::string arguments).

llvm-svn: 210492
2014-06-09 21:53:47 +00:00
..
Analysis ScalarEvolution: Derive element size from the type of the loaded element 2014-06-08 19:21:20 +00:00
Assembler Allow alias to point to an arbitrary ConstantExpr. 2014-06-03 02:41:57 +00:00
Bindings [OCaml] Add more Llvm_target tests 2014-06-09 18:28:47 +00:00
Bitcode Add a new attribute called 'jumptable' that creates jump-instruction tables for functions marked with this attribute. 2014-06-05 19:29:43 +00:00
BugPoint Revert r206989, "Mark llvm/test/BugPoint/compile-custom.ll as XFAIL:vg_leak." It has been fixed since r207265. 2014-04-27 11:59:33 +00:00
CodeGen ARM: add VLA extension for WoA Itanium ABI 2014-06-09 20:18:42 +00:00
DebugInfo Generate better location ranges for some register-described variables. 2014-06-09 21:53:47 +00:00
ExecutionEngine Use AArch64 instead of now removed ARM64 in test configs 2014-06-05 00:25:30 +00:00
Feature Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
FileCheck
Instrumentation Fix test in r210472. 2014-06-09 14:48:53 +00:00
Integer
JitListener
LTO IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
Linker Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
MC [mips] Fix a bug for NaCl target - Don't report the error when non-dangerous 2014-06-09 14:09:28 +00:00
Object [yaml2obj][obj2yaml] Support ELF symbol's visibility flags (default/hidden/protected). 2014-06-06 07:41:57 +00:00
Other Fix most of PR10367. 2014-05-16 19:35:39 +00:00
TableGen test/TableGen: Remove XFAIL:vg_leak out of 3 tests corresponding to r208293. 2014-05-09 08:18:33 +00:00
Transforms Look through addrspacecasts when turning ptr comparisons into 2014-06-09 19:20:29 +00:00
Unit With rpaths being set correctly, SHLIBPATH_VAR is not needed anymore. 2014-02-28 16:16:51 +00:00
Verifier Add a new attribute called 'jumptable' that creates jump-instruction tables for functions marked with this attribute. 2014-06-05 19:29:43 +00:00
YAMLParser
tools ProfileData: Allow multiple profiles in RawInstrProfReader 2014-05-16 00:38:00 +00:00
.clang-format
CMakeLists.txt OK, NAKAMURA Takumi beat me to this change. So backing out my addition of 2014-05-19 23:26:51 +00:00
Makefile lld test for configure & make 2014-06-06 09:06:25 +00:00
Makefile.tests
TestRunner.sh
lit.cfg [Test] Remove c-index-test from the list of substitutions 2014-05-07 18:16:02 +00:00
lit.site.cfg.in Eliminate inappropriate use of FindProgramByName() from lli 2014-01-22 21:52:35 +00:00