llvm-project/llvm
Pavel Labath dca2b36ba0 Re-commit "DWARF location lists: Add section index dumping"
This reapplies c0f6ad7d1f with an
additional fix in test/DebugInfo/X86/constant-loclist.ll, which had a
slightly different output on windows targets. The test now accounts for
this difference.

The original commit message follows.

Summary:
As discussed in D70081, this adds the ability to dump section
names/indices to the location list dumper. It does this by moving the
range specific logic from DWARFDie.cpp:dumpRanges into the
DWARFAddressRange class.

The trickiest part of this patch is the backflip in the meanings of the
two dump flags for the location list sections.

The dumping of "raw" location list data is now controlled by
"DisplayRawContents" flag. This frees up the "Verbose" flag to be used
to control whether we print the section index. Additionally, the
DisplayRawContents flag is set for section-based dumps whenever the
--verbose option is passed, but this is not done for the "inline" dumps.

Also note that the index dumping currently does not work for the DWARF
v5 location lists, as the parser does not fill out the appropriate
fields. This will be done in a separate patch.

Reviewers: dblaikie, probinson, JDevlieghere, SouraVX

Subscribers: sdardis, hiraditya, jrtc27, atanasyan, arphaman, aprantl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70227
2019-11-18 15:30:10 +01:00
..
benchmarks
bindings Update version number in llvm python bindings 2019-10-25 17:14:11 -04:00
cmake Fix use of add_llvm_tool in projects that build no targets 2019-11-14 10:53:46 +00:00
docs [docs] Fix broken links in Kaleidoscope chapter 3 2019-11-17 21:35:02 -05:00
examples [ORC] Add a utility to support dumping JIT'd objects to disk for debugging. 2019-11-14 21:27:19 -08:00
include Re-commit "DWARF location lists: Add section index dumping" 2019-11-18 15:30:10 +01:00
lib Re-commit "DWARF location lists: Add section index dumping" 2019-11-18 15:30:10 +01:00
projects
resources
runtimes
test Re-commit "DWARF location lists: Add section index dumping" 2019-11-18 15:30:10 +01:00
tools Fix cppcheck shadow variable warning. NFC. 2019-11-18 13:57:34 +00:00
unittests DwarfGenerator - fix uninitialized variable warnings. NFC. 2019-11-18 13:26:51 +00:00
utils [SVE][CodeGen] Scalable vector MVT size queries 2019-11-18 12:30:59 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [cmake] Emit an error for -DBUILD_SHARED_LIBS=ON on Windows 2019-11-14 10:19:02 -08:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.