Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3
# 920e2e82 24-Aug-2022 Felipe de Azevedo Piovezan <fpiovezan@apple.com>

[cross-project] Disable debug-types-section tests on Apple systems

The -fdebug-types-section flag is not supported on Apple platforms.

Reviewed By: Michael137

Differential Revision: https://review

[cross-project] Disable debug-types-section tests on Apple systems

The -fdebug-types-section flag is not supported on Apple platforms.

Reviewed By: Michael137

Differential Revision: https://reviews.llvm.org/D132410

show more ...


Revision tags: llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1
# b3645353 28-Jul-2022 Shafik Yaghmour <shafik.yaghmour@intel.com>

[Clang] Diagnose ill-formed constant expression when setting a non fixed enum to a value outside the range of the enumeration values

DR2338 clarified that it was undefined behavior to set the value

[Clang] Diagnose ill-formed constant expression when setting a non fixed enum to a value outside the range of the enumeration values

DR2338 clarified that it was undefined behavior to set the value outside the
range of the enumerations values for an enum without a fixed underlying type.

We should diagnose this with a constant expression context.

Differential Revision: https://reviews.llvm.org/D130058

show more ...


Revision tags: llvmorg-16-init
# 4ca20585 12-Jul-2022 David Blaikie <dblaikie@gmail.com>

Add missing include for std::size_t


Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1
# 1cee3d9d 07-Apr-2022 David Blaikie <dblaikie@gmail.com>

DebugInfo: Consider the type of NTTP when simplifying template names

Since the NTTP may need to be cast to the type when rebuilding the name,
check that the type can be rebuilt when determining whet

DebugInfo: Consider the type of NTTP when simplifying template names

Since the NTTP may need to be cast to the type when rebuilding the name,
check that the type can be rebuilt when determining whether a template
name can be simplified.

show more ...


# a5032b26 25-Mar-2022 David Blaikie <dblaikie@gmail.com>

DebugInfo: Don't allow type units to references types in the CU

We could only do this in limited ways (since we emit the TUs first, we
can't use ref_addr (& we can't use that in Split DWARF either)

DebugInfo: Don't allow type units to references types in the CU

We could only do this in limited ways (since we emit the TUs first, we
can't use ref_addr (& we can't use that in Split DWARF either) - so we
had to synthesize declarations into the TUs) and they were ambiguous in
some cases (if the CU type had internal linkage, parsing the TU would
require knowing which CU was referencing the TU to know which type the
declaration was for, which seems not-ideal). So to avoid all that, let's
just not reference types defined in the CU from TUs - instead moving the
TU type into the CU (recursively).

This does increase debug info size (by pulling more things out of type
units, into the compile unit) - about 2% of uncompressed dwp file size
for clang -O0 -g -gsplit-dwarf. (5% .debug_info.dwo section size
increase in the .dwp)

show more ...


# 7b498bee 24-Mar-2022 David Blaikie <dblaikie@gmail.com>

DebugInfo: Classify noreturn function types as non-reconstructible

This information isn't preserved in the DWARF description of function
types (though probably should be - it's preserved on the func

DebugInfo: Classify noreturn function types as non-reconstructible

This information isn't preserved in the DWARF description of function
types (though probably should be - it's preserved on the function
declarations/definitions themselves through the DW_AT_noreturn attribute
- but we should move or also include that in the subroutine type itself
too - but for now, with it not being there, the DWARF is lossy and
can't be reconstructed)

show more ...


# 4841dab4 21-Mar-2022 David Blaikie <dblaikie@gmail.com>

llvm-dwarfdump: Including calling convention attribute in pretty printed type names


Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2
# d7c4f7f1 16-Feb-2022 David Blaikie <dblaikie@gmail.com>

DebugInfo: fix a couple of spurious spaces in simplified template name rebuilding


# 9980a3f8 15-Feb-2022 David Blaikie <dblaikie@gmail.com>

DebugInfo: Disable simplified template names for -gmlt and below

Since -gmlt doesn't carry any type information necessary to rebuild
template names.


# 1ea32663 11-Feb-2022 David Blaikie <dblaikie@gmail.com>

DebugInfo: Don't simplify template names using _BitInt(N)

_BitInt(N) only encodes the byte size in DWARF, not the bit size, so
can't be reconstituted.


# 389f67b3 10-Feb-2022 David Blaikie <dblaikie@gmail.com>

DebugInfo: Don't simplify names referencing local enums

Due to the way type units work, this would lead to a declaration in a
type unit of a local type in a CU - which is ambiguous. Rather than
tryi

DebugInfo: Don't simplify names referencing local enums

Due to the way type units work, this would lead to a declaration in a
type unit of a local type in a CU - which is ambiguous. Rather than
trying to resolve that relative to the CU that references the type unit,
let's just not try to simplify these names.

Longer term this should be fixed by not putting the template
instantiation in a type unit to begin with - since it references an
internal linkage type, it can't legitimately be duplicated/in more than
one translation unit, so skip the type unit overhead. (but the right fix
for that is to move type unit management into a DICompositeType flag
(dropping the "identifier" field is not a perfect solution since it
breaks LLVM IR linking decl/def merging during IR linking))

show more ...


# f3a2cfc1 10-Feb-2022 David Blaikie <dblaikie@gmail.com>

DebugInfo: Don't simplify any template referencing a lambda

Lambda names aren't entirely canonical (as demonstrated by the
cross-project-test added here) at the moment (we should fix that for a
bunc

DebugInfo: Don't simplify any template referencing a lambda

Lambda names aren't entirely canonical (as demonstrated by the
cross-project-test added here) at the moment (we should fix that for a
bunch of reasons) - even if the template referencing them is
non-simplified, other names referencing /that/ template can't be
simplified either because type units might cause a different template to
be picked up that would conflict with the expected name.

(other than for roundtripping precision, it'd be OK to simplify types
that reference types that reference lambdas - but best be consistent
between the roundtrip/verify mode and the actual simplified template
names mode)

show more ...


Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2
# 06c15460 05-Jan-2022 David Blaikie <dblaikie@gmail.com>

DebugInfo: Rebuild varargs function types correctly

Improves llvm-dwarfdump output and for simplified template names roundtripping.


Revision tags: llvmorg-13.0.1-rc1
# 58b1b641 10-Nov-2021 David Blaikie <dblaikie@gmail.com>

llvm-dwarfdump: Lookup type units when prettyprinting types

This handles DWARFv4 and DWARFv5 type units, but not Split DWARF type
units. That'll come in a follow-up patch.


# 0a5c26f2 06-Nov-2021 David Blaikie <dblaikie@gmail.com>

DebugInfo: Simplified Template Names: drop unneeded space in arrays

Matching a recent clang change I've made, now 'int[3]' is formatted
without the space between the type and array bound. This commi

DebugInfo: Simplified Template Names: drop unneeded space in arrays

Matching a recent clang change I've made, now 'int[3]' is formatted
without the space between the type and array bound. This commit updates
libDebugInfoDWARF/llvm-dwarfdump to match that formatting.

show more ...


# f57d0e27 05-Nov-2021 David Blaikie <dblaikie@gmail.com>

DWARF Simplified Template Names: Narrow down the handling for operator overloads

Actually we can, for now, remove the explicit "operator" handling
entirely - since clang currently won't try to flag

DWARF Simplified Template Names: Narrow down the handling for operator overloads

Actually we can, for now, remove the explicit "operator" handling
entirely - since clang currently won't try to flag any of these as
rebuildable. That seems like a reasonable state for now, but it could be
narrowed down to only apply to conversion operators, most likely - but
would need more nuance for op> and op>> since they would be incorrectly
flagged as already having their template arguments (due to the trailing
'>').

show more ...


# 8f46ddb1 29-Oct-2021 David Blaikie <dblaikie@gmail.com>

Migrate the roundtrip tests to work similar to the llgdb tests

I'm not sure if there's a way to make this a bit more general - the
property that matters is that there's /some/ itanium ABI target the

Migrate the roundtrip tests to work similar to the llgdb tests

I'm not sure if there's a way to make this a bit more general - the
property that matters is that there's /some/ itanium ABI target the
tests can use to compile - not link or run in this case. But this seems
sufficient for the llgdb tests, so it should be sufficient (though
perhaps not necessary) for this roundtrip test.

show more ...


# fcd6d566 29-Oct-2021 David Blaikie <dblaikie@gmail.com>

Adjust test to only compile and not link

Compilation is all that's needed here - linking helped avoid certain
false positives in llvm-dwarfdump --verify related to overlapping
functions when those f

Adjust test to only compile and not link

Compilation is all that's needed here - linking helped avoid certain
false positives in llvm-dwarfdump --verify related to overlapping
functions when those functions were actually in distinct sections.
That's since been fixed, so we can adjust the test to only compile, and
not link.

show more ...


# fff2c0f0 27-Oct-2021 Douglas Yung <douglas.yung@sony.com>

Add "REQUIRES: native" to test.

This test was failing on the PS4 bot because the test attempts to link, but the PS4 platform requires an external
linker that is not present, causing the test to fail

Add "REQUIRES: native" to test.

This test was failing on the PS4 bot because the test attempts to link, but the PS4 platform requires an external
linker that is not present, causing the test to fail. This should get the PS4 bot green again.

show more ...


# ca4ecf81 26-Oct-2021 David Blaikie <dblaikie@gmail.com>

Add cross-project-test for simplified template name rebuilding