|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, 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, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6 |
|
| #
129b531c |
| 19-Jun-2022 |
Kazu Hirata <[email protected]> |
[llvm] Use value_or instead of getValueOr (NFC)
|
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2 |
|
| #
28ea50f5 |
| 18-Jan-2021 |
Kazu Hirata <[email protected]> |
[llvm] Populate std::vector at construction time (NFC)
|
|
Revision tags: llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2 |
|
| #
92310454 |
| 17-Dec-2020 |
Barry Revzin <[email protected]> |
Make LLVM build in C++20 mode
Part of the <=> changes in C++20 make certain patterns of writing equality operators ambiguous with themselves (sorry!). This patch goes through and adjusts all the com
Make LLVM build in C++20 mode
Part of the <=> changes in C++20 make certain patterns of writing equality operators ambiguous with themselves (sorry!). This patch goes through and adjusts all the comparison operators such that they should work in both C++17 and C++20 modes. It also makes two other small C++20-specific changes (adding a constructor to a type that cases to be an aggregate, and adding casts from u8 literals which no longer have type const char*).
There were four categories of errors that this review fixes. Here are canonical examples of them, ordered from most to least common:
// 1) Missing const namespace missing_const { struct A { #ifndef FIXED bool operator==(A const&); #else bool operator==(A const&) const; #endif };
bool a = A{} == A{}; // error }
// 2) Type mismatch on CRTP namespace crtp_mismatch { template <typename Derived> struct Base { #ifndef FIXED bool operator==(Derived const&) const; #else // in one case changed to taking Base const& friend bool operator==(Derived const&, Derived const&); #endif };
struct D : Base<D> { };
bool b = D{} == D{}; // error }
// 3) iterator/const_iterator with only mixed comparison namespace iter_const_iter { template <bool Const> struct iterator { using const_iterator = iterator<true>;
iterator();
template <bool B, std::enable_if_t<(Const && !B), int> = 0> iterator(iterator<B> const&);
#ifndef FIXED bool operator==(const_iterator const&) const; #else friend bool operator==(iterator const&, iterator const&); #endif };
bool c = iterator<false>{} == iterator<false>{} // error || iterator<false>{} == iterator<true>{} || iterator<true>{} == iterator<false>{} || iterator<true>{} == iterator<true>{}; }
// 4) Same-type comparison but only have mixed-type operator namespace ambiguous_choice { enum Color { Red };
struct C { C(); C(Color); operator Color() const; bool operator==(Color) const; friend bool operator==(C, C); };
bool c = C{} == C{}; // error bool d = C{} == Red; }
Differential revision: https://reviews.llvm.org/D78938
show more ...
|
|
Revision tags: llvmorg-11.0.1-rc1 |
|
| #
dd554994 |
| 09-Oct-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Make the opcode_base and the standard_opcode_lengths fields optional.
This patch makes the opcode_base and the standard_opcode_lengths fields of the line table optional. When both of the
[DWARFYAML] Make the opcode_base and the standard_opcode_lengths fields optional.
This patch makes the opcode_base and the standard_opcode_lengths fields of the line table optional. When both of them are not specified, yaml2obj emits them according to the line table's version.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D88355
show more ...
|
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4 |
|
| #
505ac22f |
| 24-Sep-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Make the ExtLen field of extended opcodes optional.
This patch makes the 'ExtLen' field of extended opcodes optional. We don't need to manually calculate it in the future.
Reviewed By:
[DWARFYAML] Make the ExtLen field of extended opcodes optional.
This patch makes the 'ExtLen' field of extended opcodes optional. We don't need to manually calculate it in the future.
Reviewed By: jhenderson, MaskRay
Differential Revision: https://reviews.llvm.org/D88136
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc3 |
|
| #
2ef2abde |
| 21-Sep-2020 |
Simon Pilgrim <[email protected]> |
DWARFEmitter.cpp - use auto const& iterators in for-range loops to avoid copies. NFCI.
|
| #
82042a2c |
| 21-Sep-2020 |
Simon Pilgrim <[email protected]> |
DWARFYAML::emitDebugSections - remove unnecessary cantFail(success) call. NFCI.
As mentioned on rG6bb912336804.
|
| #
6bb91233 |
| 20-Sep-2020 |
Simon Pilgrim <[email protected]> |
DWARFYAML::emitDebugSections - fix use after std::move warnings. NFCI.
We were using Err after it had been moved into cantFail - avoid this by calling cantFail with Error::success() directly.
|
| #
25c3fa3f |
| 08-Sep-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Make the debug_ranges section optional.
This patch makes the debug_ranges section optional. When we specify an empty debug_ranges section, yaml2obj only emits the section header.
Review
[DWARFYAML] Make the debug_ranges section optional.
This patch makes the debug_ranges section optional. When we specify an empty debug_ranges section, yaml2obj only emits the section header.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D87263
show more ...
|
| #
40f4131f |
| 07-Sep-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Make the debug_addr section optional.
This patch makes the debug_addr section optional. When an empty debug_addr section is specified, yaml2obj only emits a section header for it.
Revie
[DWARFYAML] Make the debug_addr section optional.
This patch makes the debug_addr section optional. When an empty debug_addr section is specified, yaml2obj only emits a section header for it.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D87205
show more ...
|
| #
428b2ffa |
| 01-Sep-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Make the debug_str section optional.
This patch makes the debug_str section optional. When the debug_str section exists but doesn't contain anything, yaml2obj will emit a section header
[DWARFYAML] Make the debug_str section optional.
This patch makes the debug_str section optional. When the debug_str section exists but doesn't contain anything, yaml2obj will emit a section header for it.
Reviewed By: grimar
Differential Revision: https://reviews.llvm.org/D86860
show more ...
|
| #
12e832cb |
| 29-Aug-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Make the debug_abbrev_offset field optional.
This patch helps make the debug_abbrev_offset field optional. We don't need to calculate the value of this field in the future.
Reviewed By:
[DWARFYAML] Make the debug_abbrev_offset field optional.
This patch helps make the debug_abbrev_offset field optional. We don't need to calculate the value of this field in the future.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D86614
show more ...
|
| #
f20e6c72 |
| 28-Aug-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Abbrev codes in a new abbrev table should start from 1 (by default).
The abbrev codes in a new abbrev table should start from 1 (by default), rather than inherit the value from the code
[DWARFYAML] Abbrev codes in a new abbrev table should start from 1 (by default).
The abbrev codes in a new abbrev table should start from 1 (by default), rather than inherit the value from the code in the previous table.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D86545
show more ...
|
| #
8daa3264 |
| 26-Aug-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Make the unit_length and header_length fields optional.
This patch makes the unit_length and header_length fields of line tables optional. yaml2obj is able to infer them for us.
Reviewe
[DWARFYAML] Make the unit_length and header_length fields optional.
This patch makes the unit_length and header_length fields of line tables optional. yaml2obj is able to infer them for us.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D86590
show more ...
|
| #
75e0b586 |
| 26-Aug-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Use writeDWARFOffset() to write the prologue_length field. NFC.
Use writeDWARFOffset() to simplify the logic. NFC.
|
| #
f5643dc3 |
| 21-Aug-2020 |
Xing GUO <[email protected]> |
Recommit: [DWARFYAML] Add support for referencing different abbrev tables.
The original commit (7ff0ace96db9164dcde232c36cab6519ea4fce8) was causing build failure and was reverted in 6d242a73264ef1e
Recommit: [DWARFYAML] Add support for referencing different abbrev tables.
The original commit (7ff0ace96db9164dcde232c36cab6519ea4fce8) was causing build failure and was reverted in 6d242a73264ef1e3e128547f00e0fe2d20d3ada0
==================== Original Commit Message ==================== This patch adds support for referencing different abbrev tables. We use 'ID' to distinguish abbrev tables and use 'AbbrevTableID' to explicitly assign an abbrev table to compilation units.
The syntax is: ``` debug_abbrev: - ID: 0 Table: ... - ID: 1 Table: ... debug_info: - ... AbbrevTableID: 1 ## Reference the second abbrev table. - ... AbbrevTableID: 0 ## Reference the first abbrev table. ```
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D83116
show more ...
|
| #
6d242a73 |
| 21-Aug-2020 |
Xing GUO <[email protected]> |
Revert "[DWARFYAML] Add support for referencing different abbrev tables."
This reverts commit f7ff0ace96db9164dcde232c36cab6519ea4fce8.
This change is causing build failure.
http://lab.llvm.org:80
Revert "[DWARFYAML] Add support for referencing different abbrev tables."
This reverts commit f7ff0ace96db9164dcde232c36cab6519ea4fce8.
This change is causing build failure.
http://lab.llvm.org:8011/builders/clang-cmake-armv7-global-isel/builds/10400
show more ...
|
| #
f7ff0ace |
| 21-Aug-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Add support for referencing different abbrev tables.
This patch adds support for referencing different abbrev tables. We use 'ID' to distinguish abbrev tables and use 'AbbrevTableID' to
[DWARFYAML] Add support for referencing different abbrev tables.
This patch adds support for referencing different abbrev tables. We use 'ID' to distinguish abbrev tables and use 'AbbrevTableID' to explicitly assign an abbrev table to compilation units.
The syntax is: ``` debug_abbrev: - ID: 0 Table: ... - ID: 1 Table: ... debug_info: - ... AbbrevTableID: 1 ## Reference the second abbrev table. - ... AbbrevTableID: 0 ## Reference the first abbrev table. ```
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D83116
show more ...
|
| #
290e399f |
| 21-Aug-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Add support for emitting multiple abbrev tables.
This patch adds support for emitting multiple abbrev tables. Currently, compilation units will always reference the first abbrev table.
[DWARFYAML] Add support for emitting multiple abbrev tables.
This patch adds support for emitting multiple abbrev tables. Currently, compilation units will always reference the first abbrev table.
Reviewed By: jhenderson, labath
Differential Revision: https://reviews.llvm.org/D86194
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc2 |
|
| #
b98e25b6 |
| 19-Aug-2020 |
Benjamin Kramer <[email protected]> |
Make helpers static. NFC.
|
| #
b7d5d1ec |
| 13-Aug-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Replace InitialLength with Format and Length. NFC.
This change replaces the InitialLength of pub-tables with Format and Length. All the InitialLength fields have been removed.
Reviewed
[DWARFYAML] Replace InitialLength with Format and Length. NFC.
This change replaces the InitialLength of pub-tables with Format and Length. All the InitialLength fields have been removed.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D85880
show more ...
|
| #
e891b6a7 |
| 12-Aug-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Make the address size of compilation units optional.
This patch makes the 'AddrSize' field optional. If the address size is missing, yaml2obj will infer it from the object file.
Reviewe
[DWARFYAML] Make the address size of compilation units optional.
This patch makes the 'AddrSize' field optional. If the address size is missing, yaml2obj will infer it from the object file.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D85805
show more ...
|
| #
45a4f4c8 |
| 11-Aug-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Teach yaml2obj emit the correct line table program.
The following issues are addressed in this patch.
1. The operands of DW_LNE_set_discriminator should be an ULEB128 number rather t
[DWARFYAML] Teach yaml2obj emit the correct line table program.
The following issues are addressed in this patch.
1. The operands of DW_LNE_set_discriminator should be an ULEB128 number rather than an address. 2. Test the emitted opcodes.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D85717
show more ...
|
| #
1d4bc08c |
| 11-Aug-2020 |
Xing GUO <[email protected]> |
[DWARFYAML] Let the address size of line tables inferred from the object file.
Currently, the line table uses the first compilation unit's address size as its address size. It's not the right behavi
[DWARFYAML] Let the address size of line tables inferred from the object file.
Currently, the line table uses the first compilation unit's address size as its address size. It's not the right behavior. The address size should be inferred from the target machine.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D85707
show more ...
|
| #
4357986b |
| 06-Aug-2020 |
Xing GUO <[email protected]> |
[DWARFYAML][debug_info] Pull out dwarf::FormParams from DWARFYAML::Unit.
Unit.Format, Unit.Version and Unit.AddrSize are replaced with dwarf::FormParams in D84496 to get rid of unnecessary functions
[DWARFYAML][debug_info] Pull out dwarf::FormParams from DWARFYAML::Unit.
Unit.Format, Unit.Version and Unit.AddrSize are replaced with dwarf::FormParams in D84496 to get rid of unnecessary functions getOffsetSize() and getRefSize(). However, that change makes it difficult to make AddrSize optional (Optional<uint8_t>). This change pulls out dwarf::FormParams from DWARFYAML::Unit and use it as a helper struct in DWARFYAML::emitDebugInfo().
Reviewed By: jhenderson, MaskRay
Differential Revision: https://reviews.llvm.org/D85296
show more ...
|