1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 21:42:54 +02:00
llvm-mirror/test
David Blaikie 365949d5af DebugInfo: Assert that DbgVariables have associated DIEs
This was previously committed in r209680 and reverted in r209683 after
it caused sanitizer builds to crash.

The issue seems to be that the DebugLoc associated with dbg.value IR
intrinsics isn't necessarily accurate. Instead, we duplicate the
DIVariables and add an InlinedAt field to them to record their
location.

We were using this InlinedAt field to compute the LexicalScope for the
variable, but not using it in the abstract DbgVariable construction and
mapping. This resulted in a formal parameter to the current concrete
function, correctly having no InlinedAt information, but incorrectly
having a DebugLoc that described an inlined location within the
function... thus an abstract DbgVariable was created for the variable,
but its DIE was never constructed (since the LexicalScope had no such
variable). This DbgVariable was silently ignored (by testing for a
non-null DIE on the abstract DbgVariable).

So, fix this by using the right scoping information when constructing
abstract DbgVariables.

In the long run, I suspect we want to undo the work that added this
second kind of location tracking and fix the places where the DebugLoc
propagation on the dbg.value intrinsic fails. This will shrink debug
info (by not duplicating DIVariables), make it more efficient (by not
having to construct new DIVariable metadata nodes to try to map back to
a single variable), and benefit all instructions.

But perhaps there are insurmountable issues with DebugLoc quality that
I'm unaware of... I just don't know how we can't /just keep the DebugLoc
from the dbg.declare to the dbg.values and never get this wrong/.

Some history context:

http://llvm.org/viewvc/llvm-project?view=revision&revision=135629
http://llvm.org/viewvc/llvm-project?view=revision&revision=137253

llvm-svn: 209984
2014-06-01 03:38:13 +00:00
..
Analysis remove constant terms 2014-05-27 22:41:45 +00:00
Assembler No need for those tests to go thru llvm-as and/or llvm-dis. 2014-05-27 22:03:28 +00:00
Bindings Fix the ocaml test to not create a alias to a declaration. 2014-03-12 21:20:42 +00:00
Bitcode [X86] Move test from r209863 to CodeGen/X86 2014-05-29 23:52:53 +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 R600/SI: Fix [s|u]int_to_fp for i1 2014-05-31 06:47:42 +00:00
DebugInfo DebugInfo: Assert that DbgVariables have associated DIEs 2014-06-01 03:38:13 +00:00
ExecutionEngine Fix testers by removing dubious testcase for r209154. 2014-05-19 19:38:48 +00:00
Feature Rename alias variables to make it easier to add new tests to the file. 2014-05-29 16:16:12 +00:00
FileCheck
Instrumentation [TSan] Fixup a test case after r209939 2014-05-31 00:26:03 +00:00
Integer
JitListener
Linker DebugInfo: Lazily construct subprogram definition DIEs. 2014-05-27 18:37:48 +00:00
LTO IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
MC MachO: move test to ARM directory. 2014-05-30 16:01:29 +00:00
Object [yaml2obj] Add new command line option -docnum. 2014-05-31 04:51:07 +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
tools ProfileData: Allow multiple profiles in RawInstrProfReader 2014-05-16 00:38:00 +00:00
Transforms [Reassociate] Similar to "X + -X" -> "0", added code to handle "X + ~X" -> "-1". 2014-05-31 15:01:54 +00:00
Unit With rpaths being set correctly, SHLIBPATH_VAR is not needed anymore. 2014-02-28 16:16:51 +00:00
Verifier Add comdat key field to llvm.global_ctors and llvm.global_dtors 2014-05-16 20:39:27 +00:00
YAMLParser
.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
lit.cfg [Test] Remove c-index-test from the list of substitutions 2014-05-07 18:16:02 +00:00
lit.site.cfg.in
Makefile With rpaths being set correctly, SHLIBPATH_VAR is not needed anymore. 2014-02-28 16:16:51 +00:00
Makefile.tests
TestRunner.sh