| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
This reverts commit r201179 for buildbot breakage.
llvm-svn: 201188
|
| |
|
|
|
|
|
|
|
|
|
| |
DWARF register number by emitting a super-register + DW_OP_bit_piece.
This is necessary because on x86_64, there are no DWARF register numbers
for i386-style subregisters.
Fixes a bunch of FIXMEs.
rdar://problem/16015314
llvm-svn: 201180
|
| |
|
|
|
|
|
|
|
|
|
| |
emits zero-length arrays as {i32 0}
A bunch of test cases needed to be cleaned up for this, many my fault -
when implementid imported modules I updated test cases by simply
duplicating the prior metadata field - which wasn't always the empty
metadata entry.
llvm-svn: 200731
|
| |
|
|
|
|
| |
keeping track of those entries.
llvm-svn: 200572
|
| |
|
|
| |
llvm-svn: 200323
|
| |
|
|
|
|
|
|
| |
in order to fix the cygwin/mingw bots.
This reverts commit r199990.
llvm-svn: 199991
|
| |
|
|
|
|
|
|
| |
compile unit. Make these relocations on the platforms that need
relocations and add a routine to ensure that we don't put the
addresses in an offset table for split dwarf.
llvm-svn: 199990
|
| |
|
|
|
|
|
|
| |
void.
Patch by Scott Talbot.
llvm-svn: 199924
|
| |
|
|
|
|
|
|
|
| |
getOrCreateSubprogramDIE to avoid attributes being added twice when DIEs
are merged.
rdar://problem/15842330.
llvm-svn: 199536
|
| |
|
|
|
|
|
|
|
| |
This reverts commit r198865 which reverts r198851.
ASan identified a use-of-uninitialized of the DwarfTypeUnit::Ty variable
in skeleton type units.
llvm-svn: 198908
|
| |
|
|
|
|
| |
It caused undefined behavior. DwarfTypeUnit::Ty might not be initialized properly, I guess.
llvm-svn: 198865
|
| |
|
|
| |
llvm-svn: 198851
|
| |
|
|
|
|
|
|
|
|
| |
as well.
Since we'll now also need the split dwarf file name along with the
language in DwarfTypeUnits, just use the whole DICompileUnit rather than
explicitly handling each field needed.
llvm-svn: 198842
|
| |
|
|
|
|
|
|
| |
This reverts commit r198830.
Decided to go a different way with this...
llvm-svn: 198841
|
| |
|
|
|
|
| |
It's unused in DwarfTypeUnit, as is expected.
llvm-svn: 198830
|
| |
|
|
|
|
| |
This makes it available to tools that don't link with target (like llvm-ar).
llvm-svn: 198708
|
| |
|
|
|
|
|
|
|
|
| |
subsequent changes are easier to review. About to fix some layering
issues, and wanted to separate out the necessary churn.
Also comment and sink the include of "Windows.h" in three .inc files to
match the usage in Memory.inc.
llvm-svn: 198685
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
IR-provided unique names.""
This reverts commit r198398, thus reapplying r198397.
I had accidentally introduced an endianness issue when applying the hash
to the type unit. Using support::ulittle64_t in the reinterpret_cast in
addDwarfTypeUnitType fixes this issue.
Original commit message:
Debug Info: Type Units: Simplify type hashing using IR-provided unique
names.
What's good for LTO metadata size problems ought to be good for non-LTO
debug info size too, so let's rely on the same uniqueness in both cases.
If it's insufficient for non-LTO for whatever reason (since we now won't
be uniquing CU-local types or any C types - but these are likely to not
be the most significant contributors to type bloat) we should consider a
frontend solution that'll help both LTO and non-LTO alike, rather than
using DWARF-level DIE-hashing that only helps non-LTO debug info size.
It's also much simpler this way and benefits C++ even more since we can
deduplicate lexically separate definitions of the same C++ type since
they have the same mangled name.
llvm-svn: 198436
|
| |
|
|
|
|
|
|
|
|
|
| |
unique names."
Reverting due to bot failure I won't have time to investigate until
tomorrow.
This reverts commit r198397.
llvm-svn: 198398
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
What's good for LTO metadata size problems ought to be good for non-LTO
debug info size too, so let's rely on the same uniqueness in both cases.
If it's insufficient for non-LTO for whatever reason (since we now won't
be uniquing CU-local types or any C types - but these are likely to not
be the most significant contributors to type bloat) we should consider a
frontend solution that'll help both LTO and non-LTO alike, rather than
using DWARF-level DIE-hashing that only helps non-LTO debug info size.
It's also much simpler this way and benefits C++ even more since we can
deduplicate lexically separate definitions of the same C++ type since
they have the same mangled name.
llvm-svn: 198397
|
| |
|
|
|
|
|
|
|
|
| |
The cgo problem was that it wants dwarf2 which doesn't support direct
constant encoding of the location. So let's add support for dwarf2
encoding (using a location expression) of data member locations.
This reverts commit r198385.
llvm-svn: 198389
|
| |
|
|
|
|
|
| |
Apologies for the noise - we're seeing some Go failures with cgo
interacting with Clang's debug info due to this change.
llvm-svn: 198385
|
| |
|
|
| |
llvm-svn: 198350
|
| |
|
|
|
|
|
| |
This reverts r197927 until the discussion on llvm-commits comes to a
conclusion.
llvm-svn: 198333
|
| |
|
|
| |
llvm-svn: 198233
|
| |
|
|
|
|
|
|
|
|
| |
r198196: Use a pointer to keep track of the skeleton unit for each normal unit and construct it up front.
r198199: Reapply r198196 with a fix to zero initialize the skeleton pointer.
r198202: Fix aranges and split dwarf by ensuring that the symbol and relocation back to the compile unit from the aranges section is to the skeleton unit and not the one in the dwo.
with a fix to use integer 0 for DW_AT_low_pc since the relocation to the text section symbol was causing issues with COFF. Accordingly remove addLocalLabelAddress and machinery since we're not currently using it.
llvm-svn: 198222
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
i686-cygming.
r198196: Use a pointer to keep track of the skeleton unit for each normal unit and construct it up front.
r198199: Reapply r198196 with a fix to zero initialize the skeleton pointer.
r198202: Fix aranges and split dwarf by ensuring that the symbol and relocation back to the compile unit from the aranges section is to the skeleton unit and not the one in the dwo.
They could be reproducible with explicit target.
llvm/lib/MC/WinCOFFObjectWriter.cpp:224: bool {anonymous}::COFFSymbol::should_keep() const: Assertion `Section->Number != -1 && "Sections with relocations must be real!"' failed.
llvm-svn: 198208
|
| |
|
|
| |
llvm-svn: 198199
|
| |
|
|
|
|
| |
each normal unit" as it seems to be causing problems in the asan tests.
llvm-svn: 198197
|
| |
|
|
|
|
|
|
|
|
|
| |
and construct it up front. Add address ranges at the end and a helper
routine so that we're not needlessly using an indirction in the case
of split dwarf.
Update testcases according to the new ordering of attributes on
the compile unit.
llvm-svn: 198196
|
| |
|
|
|
|
|
| |
just calling into MAI and is only abstracting for a single interface that
we actually need to check in multiple places.
llvm-svn: 198092
|
| |
|
|
|
|
| |
rdar://problem/11516681.
llvm-svn: 197927
|
| |
|
|
|
|
|
|
| |
member functions. Paired commit with CFE.
rdar://problem/15356637
llvm-svn: 197613
|
| |
|
|
|
|
|
|
|
| |
type units via their signatures
This simplifies type unit and type unit reference creation as well as
setting the stage for inter-type hashing across type unit boundaries.
llvm-svn: 197539
|
| |
|
|
| |
llvm-svn: 197323
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
comdat grouping and type unit headers
This commit does not complete the type units feature - there are issues
around fission support (skeletal type units, pubtypes/pubnames) and
hashing of some types including those containing references to types in
other type units.
Originally committed as r197073 and reverted in r197079.
Recommitted as r197197 to reproduce the failure and reverted as r197199
Turns out there was unstable ordering in the type unit dumping code.
Fixed by using MapVector in DWARFContext to store the debug_types
comdat sections.
Recommitted as r197210 with a fix to dumping and reverted as r197211
because I was a bit gun shy and thought I saw a failure that turned out
to be unrelated.
So here we go - once more with feeling! \o/
llvm-svn: 197275
|
| |
|
|
|
|
|
|
| |
appropriate comdat grouping and type unit headers"
This reverts commit r197210.
llvm-svn: 197211
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
comdat grouping and type unit headers
This commit does not complete the type units feature - there are issues
around fission support (skeletal type units, pubtypes/pubnames) and
hashing of some types including those containing references to types in
other type units.
Originally committed as r197073 and reverted in r197079.
Recommitted as r197197 to reproduce the failure and reverted as r197199
Turns out there was unstable ordering in the type unit dumping code.
Fixed by using MapVector in DWARFContext to store the debug_types
comdat sections.
llvm-svn: 197210
|
| |
|
|
|
|
|
|
| |
appropriate comdat grouping and type unit headers"
This reverts commit r197197.
llvm-svn: 197199
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
comdat grouping and type unit headers
This commit does not complete the type units feature - there are issues
around fission support (skeletal type units, pubtypes/pubnames) and
hashing of some types including those containing references to types in
other type units.
Originally committed as r197073 and reverted in r197079.
This commit originally got jumbled up with another build-breaking commit
and I can't find the failures I thought this caused anymore.
Recommitting to hopefully get some clean buildbot results to work from.
I have a sneaking suspicion there's unstable output in the comdat group
output of MCStreamer...
llvm-svn: 197197
|
| |
|
|
|
|
|
|
|
|
|
|
| |
appropriate comdat grouping and type unit headers"
This reverts commit r197073.
The test seems to be failing on some buildbots for unknown reasons.
Reverting until I can figure that out. If anyone's got a reproduction
(.s and .o together would be great) - I'd really appreciate it.
llvm-svn: 197079
|
| |
|
|
|
|
|
|
|
|
|
| |
comdat grouping and type unit headers
This commit does not complete the type units feature - there are issues
around fission support (skeletal type units, pubtypes/pubnames) and
hashing of some types including those containing references to types in
other type units.
llvm-svn: 197073
|
| |
|
|
| |
llvm-svn: 197072
|
| |
|
|
|
|
| |
clarity. No functional change.
llvm-svn: 196844
|
| |
|
|
|
|
| |
ambiguous. Reformat to match.
llvm-svn: 196838
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 196519
|
| |
|
|
| |
llvm-svn: 196437
|
| |
|
|
|
|
|
|
| |
compilation units.
Code review feedback on r196394 by Paul Robinson.
llvm-svn: 196433
|
| |
|
|
|
|
|
| |
a few things more const as well because we're now using const
references to refer to iterators.
llvm-svn: 196398
|