[all-commits] [llvm/llvm-project] 380e74: [DebugInfo] Fix methods of AsmPrinter to emit valu...
Igor Kudrin via All-commits
all-commits at lists.llvm.org
Mon Sep 14 22:24:27 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 380e746bcca87baa5c746854b44d6a5cea6f7bde
https://github.com/llvm/llvm-project/commit/380e746bcca87baa5c746854b44d6a5cea6f7bde
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
A llvm/unittests/CodeGen/AsmPrinterDwarfTest.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/TestAsmPrinter.cpp
A llvm/unittests/CodeGen/TestAsmPrinter.h
Log Message:
-----------
[DebugInfo] Fix methods of AsmPrinter to emit values corresponding to the DWARF format (1/19).
These methods are used to emit values which are 32-bit in DWARF32 and
64-bit in DWARF64. The patch fixes them so that they choose the length
automatically, depending on the DWARF format set in the Context.
Differential Revision: https://reviews.llvm.org/D87008
Commit: a8058c6f8d1d3a360986f05b74f548995b384fcd
https://github.com/llvm/llvm-project/commit/a8058c6f8d1d3a360986f05b74f548995b384fcd
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DIE.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/DIETest.cpp
Log Message:
-----------
[DebugInfo] Fix DIE value emitters to be compatible with DWARF64 (2/19).
DW_FORM_sec_offset and DW_FORM_strp imply values of different sizes with
DWARF32 and DWARF64. The patch fixes DIE value classes to use correct
sizes when emitting their values. For DIELocList it ensures that the
requested DWARF form matches the current DWARF format because that class
uses a method that selects the size automatically.
Differential Revision: https://reviews.llvm.org/D87009
Commit: c3c501f5d79130fe9bbe4f6ca689f2d83f92373e
https://github.com/llvm/llvm-project/commit/c3c501f5d79130fe9bbe4f6ca689f2d83f92373e
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
M llvm/unittests/CodeGen/AsmPrinterDwarfTest.cpp
Log Message:
-----------
[DebugInfo] Add new emitting methods for values which depend on the DWARF format (3/19).
These methods are going to be used in subsequent patches.
Differential Revision: https://reviews.llvm.org/D87010
Commit: 982b31fad2983eef08dbbddb2d58c635bdf6cf08
https://github.com/llvm/llvm-project/commit/982b31fad2983eef08dbbddb2d58c635bdf6cf08
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
A llvm/test/DebugInfo/X86/debug-frame-dwarf64.ll
A llvm/test/DebugInfo/X86/debug-line-dwarf64.ll
A llvm/test/DebugInfo/X86/dwarf64-support.ll
Log Message:
-----------
[DebugInfo] Add the -dwarf64 switch to llc and other internal tools (4/19).
The patch adds a switch to enable emitting debug info in the 64-bit
DWARF format. Most emitter for sections will be updated in the subsequent
patches, whereas for .debug_line and .debug_frame the emitters are in
the MC library, which is already updated.
For now, the switch is enabled only for 64-bit ELF targets.
Differential Revision: https://reviews.llvm.org/D87011
Commit: 5dd1c59188988a030dfc80bd20729534f3a41b46
https://github.com/llvm/llvm-project/commit/5dd1c59188988a030dfc80bd20729534f3a41b46
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DIE.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
A llvm/test/DebugInfo/X86/debug-info-dwarf64.ll
M llvm/unittests/CodeGen/DIETest.cpp
Log Message:
-----------
[DebugInfo] Fix emitting DWARF64 compilation units (5/19).
The patch also adds a method to choose an appropriate DWARF form
to represent section offsets according to the version and the format
of producing debug info.
Differential Revision: https://reviews.llvm.org/D87014
Commit: cae7c1eb781d591aa3d16ec6bc3a8fe1ace6e4ef
https://github.com/llvm/llvm-project/commit/cae7c1eb781d591aa3d16ec6bc3a8fe1ace6e4ef
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DIE.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/unittests/CodeGen/DIETest.cpp
Log Message:
-----------
[DebugInfo] Use a common method to determine a suitable form for section offsts (6/19).
This is mostly an NFC patch because the involved methods are used when
emitting DWO files, which is incompatible with DWARFv3, or for platforms
where DWARF64 is not supported yet.
Differential Revision: https://reviews.llvm.org/D87015
Commit: 26f1f18831342e9c5e137e68d067d7383d72f30d
https://github.com/llvm/llvm-project/commit/26f1f18831342e9c5e137e68d067d7383d72f30d
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/test/DebugInfo/X86/DW_AT_location-reference.ll
Log Message:
-----------
[DebugInfo] Fix emitting the DW_AT_location attribute for 64-bit DWARFv3 (7/19).
The patch uses a common method to determine the appropriate form for
the value of the attribute.
Differential Revision: https://reviews.llvm.org/D87016
Commit: 383d34c077ae7f845bf751936f59f12598e60b3e
https://github.com/llvm/llvm-project/commit/383d34c077ae7f845bf751936f59f12598e60b3e
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp
A llvm/test/DebugInfo/X86/debug-str-offsets-dwarf64.ll
Log Message:
-----------
[DebugInfo] Fix emitting DWARF64 .debug_str_offsets sections (8/19).
The patch fixes calculating the size of the table and emitting the unit
length field.
Differential Revision: https://reviews.llvm.org/D87017
Commit: 924dc5807690f9ee0a84e407e8cb943511845bf5
https://github.com/llvm/llvm-project/commit/924dc5807690f9ee0a84e407e8cb943511845bf5
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
A llvm/test/DebugInfo/X86/debug-info-dwo-dwarf64.ll
A llvm/test/DebugInfo/X86/debug-str-offsets-dwo-dwarf64.ll
Log Message:
-----------
[DebugInfo] Fix emitting DWARF64 DWO compilation units and string offset tables (9/19).
These two fixes are better to go together because llvm-dwarfdump is
unable to dump a table when another one is malformed.
Differential Revision: https://reviews.llvm.org/D87018
Commit: 18f23b3ecc6d0cec31c655b7ae9054cf0edf630e
https://github.com/llvm/llvm-project/commit/18f23b3ecc6d0cec31c655b7ae9054cf0edf630e
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
A llvm/test/DebugInfo/X86/debug-types-dwarf64.ll
Log Message:
-----------
[DebugInfo] Fix emitting DWARF64 type units (10/19).
The patch fixes emitting the offset to the type DIE. All other fields
are already fixed in previous patches.
Differential Revision: https://reviews.llvm.org/D87021
Commit: b118030f3fa68b308d149d7d4303e0623ead0463
https://github.com/llvm/llvm-project/commit/b118030f3fa68b308d149d7d4303e0623ead0463
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
A llvm/test/DebugInfo/X86/debug-aranges-dwarf64.ll
Log Message:
-----------
[DebugInfo] Fix emitting DWARF64 .debug_aranges sections (11/19).
The patch fixes calculating the size of the table and emitting
the fields which depend on the DWARF format by using methods that
choose appropriate sizes automatically.
Differential Revision: https://reviews.llvm.org/D87012
Commit: 03b09c6b68bbce80bea47db40ad85809d363b260
https://github.com/llvm/llvm-project/commit/03b09c6b68bbce80bea47db40ad85809d363b260
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
A llvm/test/DebugInfo/X86/debug-pubtables-dwarf64.ll
Log Message:
-----------
[DebugInfo] Fix emitting pre-v5 name lookup tables in the DWARF64 format (12/19).
The transition is done by using methods of AsmPrinter which
automatically emit values in compliance with the selected DWARF format.
Differential Revision: https://reviews.llvm.org/D87013
Commit: f9b242fe24f764166f818b3260c0635fc0bef6e9
https://github.com/llvm/llvm-project/commit/f9b242fe24f764166f818b3260c0635fc0bef6e9
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/test/DebugInfo/X86/split-dwarf-v5-ranges.ll
Log Message:
-----------
[DebugInfo] Fix emitting DWARF64 .debug_rnglists sections (13/19).
The size of the offsets in the table depends on the DWARF format.
Differential Revision: https://reviews.llvm.org/D87019
Commit: 3158d3dd4b7e5c6e2aff7c81355757d26579f1a3
https://github.com/llvm/llvm-project/commit/3158d3dd4b7e5c6e2aff7c81355757d26579f1a3
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/test/CodeGen/X86/debug-loclists-lto.ll
M llvm/test/CodeGen/X86/debug-loclists.ll
Log Message:
-----------
[DebugInfo] Fix emitting DWARF64 .debug_loclists sections (14/19).
The size of the offsets in the table depends on the DWARF format.
Differential Revision: https://reviews.llvm.org/D87020
Commit: 00ce54689d30fd65c49ebc87a21841e834f2d086
https://github.com/llvm/llvm-project/commit/00ce54689d30fd65c49ebc87a21841e834f2d086
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp
A llvm/test/DebugInfo/X86/debug-addr-dwarf64.ll
Log Message:
-----------
[DebugInfo] Fix emitting DWARF64 .debug_addr sections (15/19).
The patch fixes emitting the header of the table. The content is
independent of the DWARF format.
Differential Revision: https://reviews.llvm.org/D87022
Commit: a93dd26d8ced81d7d2e9a239a4cc33aaf0ba7c89
https://github.com/llvm/llvm-project/commit/a93dd26d8ced81d7d2e9a239a4cc33aaf0ba7c89
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
A llvm/test/DebugInfo/X86/debug-names-dwarf64.ll
Log Message:
-----------
[DebugInfo] Fix emitting DWARF64 .debug_names sections (16/19).
The patch fixes emitting the unit length field in the header of
the table and offsets to the entry pool. Note that while the patch
changes the common method to emit offsets, in fact, nothing is changed
for Apple accelerator tables, because we do not yet support DWARF64 for
those targets.
Differential Revision: https://reviews.llvm.org/D87023
Commit: 7e1e4e81cbcac6156005a31d90b604714c92298c
https://github.com/llvm/llvm-project/commit/7e1e4e81cbcac6156005a31d90b604714c92298c
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
A llvm/test/DebugInfo/X86/debug-macro-dwarf64.ll
Log Message:
-----------
[DebugInfo] Fix emitting DWARF64 .debug_macro[.dwo] sections (17/19).
The patch fixes emitting flags and the debug_line_offset field in
the header, as well as the reference to the macro string for
a pre-standard GNU .debug_macro extension.
Differential Revision: https://reviews.llvm.org/D87024
Commit: 8c19ac23bdefceaaf119add8d693e89a6f7d3d81
https://github.com/llvm/llvm-project/commit/8c19ac23bdefceaaf119add8d693e89a6f7d3d81
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/include/llvm/CodeGen/DwarfStringPoolEntry.h
M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
M llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h
Log Message:
-----------
[DebugInfo] Make the offset of string pool entries 64-bit (18/19).
The string pool is shared among several units in the case of LTO,
and it potentially can exceed the limit of 4GiB for an extremely
large application. As it is now possible to emit 64-bit debugging
info, the limitation can be removed.
Differential Revision: https://reviews.llvm.org/D87025
Commit: a845ebd6333d95d58bd6ab18c6ff8bb79686c664
https://github.com/llvm/llvm-project/commit/a845ebd6333d95d58bd6ab18c6ff8bb79686c664
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M llvm/include/llvm/CodeGen/DIE.h
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
M llvm/lib/CodeGen/AsmPrinter/DIE.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp
M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
Log Message:
-----------
[DebugInfo] Make offsets of dwarf units 64-bit (19/19).
In the case of LTO, several DWARF units can be emitted in one section.
For an extremely large application, they may exceed the limit of 4GiB
for 32-bit offsets. As it is now possible to emit 64-bit debugging info,
the patch enables storing the larger offsets.
Differential Revision: https://reviews.llvm.org/D87026
Compare: https://github.com/llvm/llvm-project/compare/2c12b056bece...a845ebd6333d
More information about the All-commits
mailing list