llvm-project/llvm/unittests
Pavel Labath a03435ec8e Recommit "[DWARF] Add an api to get "interpreted" location lists"
This recommits 089c0f5814, which was
reverted due to failing tests on big endian machines. It includes a fix
which I believe (I don't have BE machine) should fix this issue. The fix
consists of correcting the invocation DWARFYAML::EmitDebugSections,
which was missing one (default) function arguments, and so didn't
actually force the little-endian mode.

The original commit message follows.

Summary:
This patch adds DWARFDie::getLocations, which returns the location
expressions for a given attribute (typically DW_AT_location). It handles
both "inline" locations and references to the external location list
sections (currently only of the DW_FORM_sec_offset type). It is
implemented on top of DWARFUnit::findLoclistFromOffset, which is also
added in this patch. I tried to make their signatures similar to the
equivalent range list functionality.

The actual location list interpretation logic is in
DWARFLocationTable::visitAbsoluteLocationList. This part is not
equivalent to the range list code, but this deviation is motivated by a
desire to reuse the same location list parsing code within lldb.

The functionality is tested via a c++ unit test of the DWARFDie API.

Reviewers: dblaikie, JDevlieghere, SouraVX

Subscribers: mgorny, hiraditya, cmtice, probinson, llvm-commits, aprantl

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70394
2019-11-20 16:24:11 +01:00
..
ADT Work on cleaning up denormal mode handling 2019-11-19 22:01:14 +05:30
Analysis [unittests] Add InitializePasses.h includes 2019-11-13 19:42:58 -08:00
AsmParser Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
BinaryFormat [BinaryFormat] Teach identify_magic about Tapi files. 2019-08-21 21:00:16 +00:00
Bitcode Add AutoUpgrade function to add new address space datalayout string to existing datalayouts. 2019-09-18 22:15:58 +00:00
Bitstream [Bitcode] Move Bitstream to a separate library 2019-07-03 22:40:07 +00:00
CodeGen [SVE][CodeGen] Scalable vector MVT size queries 2019-11-18 12:30:59 +00:00
DebugInfo Recommit "[DWARF] Add an api to get "interpreted" location lists" 2019-11-20 16:24:11 +01:00
Demangle Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
ExecutionEngine [JITLink] Move block ownership from LinkGraph to Section. 2019-10-30 17:57:03 -07:00
FuzzMutate [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
IR Move floating point related entities to namespace level 2019-11-20 19:05:46 +07:00
LineEditor Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Linker [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
MC [Mips] Use appropriate private label prefix based on Mips ABI 2019-10-23 12:24:35 +02:00
MI [unittests] Add InitializePasses.h includes 2019-11-13 19:42:58 -08:00
Object Add operator<< for object::SectionedAddress 2019-11-19 10:34:30 +01:00
ObjectYAML minidump: Add an "arm64" constant 2019-10-31 11:20:46 +01:00
Option Option spell checking: Penalize delimiter flags if input has no argument 2019-05-01 16:45:15 +00:00
Passes Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ProfileData [SampleFDO] Add profile remapping support for profile on-demand loading used 2019-10-18 22:35:20 +00:00
Remarks [Remarks] Fix error message check in unit test 2019-10-31 15:51:36 -07:00
Support Fix uninitialized variable warning. NFC. 2019-11-18 13:26:51 +00:00
TableGen [UnitTests] Try and pacify gcc-5 2019-10-05 08:57:17 +00:00
Target [ARM][MVE] Tail predication conversion 2019-11-19 08:22:18 +00:00
TextAPI Reland "[TextAPI] Introduce TBDv4" 2019-10-10 04:24:44 +00:00
Transforms [VFABI] Remove unused variables in testcase, fix buildbot 2019-11-12 08:28:12 +01:00
XRay [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
tools Fix uninitialized variable warning. NFC. 2019-11-18 13:26:50 +00:00
CMakeLists.txt [gicombiner] Add a CodeExpander to handle C++ fragments with variable expansion 2019-10-03 19:13:39 +00:00
unittest.cfg.in Add support for unittest inputs. 2018-09-05 23:30:17 +00:00