1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
llvm-mirror/unittests/DebugInfo/DWARF
Victor Leschuk 38a4ccf3d9 [DebugInfo] [DWARFv5] Unique abbrevs for DIEs with different implicit_const values
Take DW_FORM_implicit_const attribute value into account when profiling
DIEAbbrevData.

Currently if we have two similar types with implicit_const attributes and
different values we end up with only one abbrev in .debug_abbrev section.
For example consider two structures: S1 with implicit_const attribute ATTR
and value VAL1 and S2 with implicit_const ATTR and value VAL2.
The .debug_abbrev section will contain only 1 related record:

[N] DW_TAG_structure_type       DW_CHILDREN_yes
        DW_AT_ATTR        DW_FORM_implicit_const  VAL1
        // ....

This is incorrect as struct S2 (with VAL2) will use abbrev record with VAL1.

With this patch we will have two different abbreviations here:

[N] DW_TAG_structure_type       DW_CHILDREN_yes
        DW_AT_ATTR        DW_FORM_implicit_const  VAL1
        // ....

[M] DW_TAG_structure_type       DW_CHILDREN_yes
        DW_AT_ATTR        DW_FORM_implicit_const  VAL2
        // ....

llvm-svn: 296691
2017-03-01 22:13:42 +00:00
..
CMakeLists.txt [DWARF] [ObjectYAML] Adding APIs for unittesting 2017-01-20 19:03:14 +00:00
DWARFDebugInfoTest.cpp [DebugInfo] [DWARFv5] Unique abbrevs for DIEs with different implicit_const values 2017-03-01 22:13:42 +00:00
DWARFFormValueTest.cpp Clean up DWARFFormValue by reducing duplicated code and removing DWARFFormValue::getFixedFormSizes() 2016-11-11 16:21:37 +00:00
DwarfGenerator.cpp [DWARFv5] Emit new unit header format. 2017-02-28 20:24:55 +00:00
DwarfGenerator.h Add iterator support to DWARFDie to allow child DIE iteration. 2017-01-05 23:47:37 +00:00