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
|