| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
ambiguous. Reformat to match.
llvm-svn: 196838
|
|
|
|
|
|
| |
gnu_ranges label in the unit.
llvm-svn: 196793
|
|
|
|
|
|
|
|
| |
This removes another case of spooky action at a distance (building the
same label names in multiple places creating an implicit dependency
between those places) and helps pave the way for type units.
llvm-svn: 196617
|
|
|
|
|
|
|
| |
This is a precursor to moving type units into the correct (debug_types)
section with comdat groups and full type unit headers.
llvm-svn: 196615
|
|
|
|
|
|
|
|
|
|
|
| |
This more accurately represents the actual walk - pubnames/pubtypes are
emitted into the .o, not the .dwo, and reference the skeletons not the
full units.
Use the newly established ID->index invariant to lookup the underlying
full unit to retrieve its public names and types.
llvm-svn: 196601
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
list
This simplifies reasoning about the code and enables simple navigation
from a skeleton to its full unit. (currently there are no type unit
skeletons, so the skeleton list doesn't have the same ID == index
property)
Eventually we should get rid of this ID and just store the labels we
need as the IDs are allowing this code to create difficult to
manage/understand associations (loops over non-skeletal units are
implicitly referencing their skeletal units during pub* emission, for
example). It may be necessary to have some kind of skeleton->full unit
association and a more direct pointer or similar device would be
preferable than an index.
llvm-svn: 196600
|
|
|
|
| |
llvm-svn: 196519
|
|
|
|
|
|
| |
reduce duplication
llvm-svn: 196479
|
|
|
|
|
|
|
| |
DIEs already contain references directly to their DIEAbbrev, use that
instead of looking it up based on index.
llvm-svn: 196446
|
|
|
|
| |
llvm-svn: 196445
|
|
|
|
| |
llvm-svn: 196442
|
|
|
|
|
|
| |
values with the correct behavior.
llvm-svn: 196441
|
|
|
|
| |
llvm-svn: 196431
|
|
|
|
| |
llvm-svn: 196430
|
|
|
|
|
|
| |
rather than magically making the names match.
llvm-svn: 196419
|
|
|
|
|
|
|
|
| |
While we still have a few (~4) non-trivial comments with string
concatenation, etc that should remain conditionalized, these trivial
literal comments can be simplified.
llvm-svn: 196416
|
|
|
|
| |
llvm-svn: 196414
|
|
|
|
|
|
| |
checks. No functional change.
llvm-svn: 196412
|
|
|
|
|
|
|
| |
a few things more const as well because we're now using const
references to refer to iterators.
llvm-svn: 196398
|
|
|
|
|
|
|
|
|
|
| |
Since we always emit only one abbrevation section (shared by all the
compilation units in this module) there's no need for a separate label
at the start of each one (and we weren't using the CU ID anyway, so
there really was only one label). Use the section label instead and drop
the wholely unused debug_abbrev_end label.
llvm-svn: 196394
|
|
|
|
|
|
|
|
| |
Instead, reuse the same MCSymbol - this should make the code easier to
follow by avoiding hard to trace dependencies between different bits of
code.
llvm-svn: 196392
|
|
|
|
|
|
| |
Addressing the existense AMDGPUAsmPrinter and other subclasses of AsmPrinter
llvm-svn: 196288
|
|
|
|
|
|
| |
It broke CodeGen/R600 tests with +Asserts.
llvm-svn: 196272
|
|
|
|
| |
llvm-svn: 196270
|
|
|
|
|
|
| |
into a single function. No functional change.
llvm-svn: 196181
|
|
|
|
|
|
|
| |
and emitted per function and CU. Begins coalescing ranges as a first
class entity through debug info. No functional change.
llvm-svn: 196178
|
|
|
|
|
|
|
|
| |
that they might be type units instead of compile units.
CR feedback from Eric Christopher on r196139.
llvm-svn: 196159
|
|
|
|
| |
llvm-svn: 196140
|
|
|
|
|
|
|
|
|
|
| |
CompileUnit/TypeUnit derived classes.
Header/cpp file rename to follow immediately - just splitting out the
commits for ease of review/reading to demonstrate that the renaming
changes are entirely mechanical.
llvm-svn: 196139
|
|
|
|
| |
llvm-svn: 196130
|
|
|
|
| |
llvm-svn: 195790
|
|
|
|
|
|
|
| |
Since type units aren't in the CUMap, use the DwarfUnits list to iterate
over units for tasks such as accelerator table building.
llvm-svn: 195776
|
|
|
|
|
|
|
|
|
|
| |
registration.
It might be possible to eventually use one data structure, but I haven't
looked at the exact criteria used for accelerator tables and pubtypes to
see if there's good reason for the differences between the two or not.
llvm-svn: 195696
|
|
|
|
|
|
|
|
|
|
| |
This avoids the need for an extra list of SkeletonCUs and associated
cleanup while staging things to be cleaner for further type unit
improvements.
Also hopefully fixes a memory leak introduced in r195166.
llvm-svn: 195536
|
|
|
|
|
|
|
|
|
| |
a non-relocatable number offset.
One fixme to make the ranges as discrete data structures and
have range lists explicitly represented rather than as a list of symbols.
llvm-svn: 195523
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
section use the form DW_FORM_data4 whilst in Dwarf 4 and later they
use the form DW_FORM_sec_offset.
This patch updates the places where such attributes are generated to
use the appropriate form depending on the Dwarf version. The DIE entries
affected have the following tags:
DW_AT_stmt_list, DW_AT_ranges, DW_AT_location, DW_AT_GNU_pubnames,
DW_AT_GNU_pubtypes, DW_AT_GNU_addr_base, DW_AT_GNU_ranges_base
It also adds a hidden command line option "--dwarf-version=<uint>"
to llc which allows the version of Dwarf to be generated to override
what is specified in the metadata; this makes it possible to update
existing tests to check the debugging information generated for both
Dwarf 4 (the default) and Dwarf 3 using the same metadata.
Patch (slightly modified) by Keith Walker!
llvm-svn: 195391
|
|
|
|
|
|
| |
through findAttribute etc.
llvm-svn: 195290
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Emit DW_TAG_type_units into the debug_info section using compile unit
headers. This is bogus/unusable by debuggers, but testable and provides
more isolated review.
Subsequent patches will include support for type unit headers and
emission into the debug_types section, as well as comdat grouping the
types based on their hash. Also the CompileUnit type will be renamed
'Unit' and relevant portions pulled out into respective CompileUnit and
TypeUnit types.
llvm-svn: 195166
|
|
|
|
|
|
| |
accelarator insertion in preparation for a second use of this code from type units.
llvm-svn: 195164
|
|
|
|
| |
llvm-svn: 195121
|
|
|
|
|
|
|
| |
we can emit various sections in any order.
No functional change.
llvm-svn: 195120
|
|
|
|
| |
llvm-svn: 195119
|
|
|
|
| |
llvm-svn: 195060
|
|
|
|
| |
llvm-svn: 195059
|
|
|
|
| |
llvm-svn: 194979
|
|
|
|
|
|
|
|
|
| |
and update test cases accordingly.
This doesn't affect the output dumped using llvm-dwarfdump, but
readelf does now dump the debug_loc section.
llvm-svn: 194898
|
|
|
|
|
|
| |
DICompileUnit instead of a raw MDNode*.
llvm-svn: 194895
|
|
|
|
|
|
| |
MDNode* for the CU metadata node
llvm-svn: 194893
|
|
|
|
| |
llvm-svn: 194879
|
|
|
|
| |
llvm-svn: 194875
|