FailedChanges

Summary

  1. [X86][LegalizeTypes] Add SoftPromoteHalf support STRICT_FP_EXTEND and STRICT_FP_ROUND (details)
  2. [DebugInfo] Fix reading addresses in DWARFDebugAddr. (details)
  3. [DebugInfo] Do not dump header field for pre-DWARFv5 address tables. (details)
  4. [DebugInfo] Use "an address table" in diagnostic messages of DWARFDebugAddr. (details)
  5. [DebugInfo] Refine error messages in DWARFDebugAddr. (details)
  6. [DebugInfo] Simplify DWARFDebugAddr. (details)
  7. [DebugInfo] Add support for DWARF64 into DWARFDebugAddr. (details)
  8. [X86] Correct the predicate on some patterns for 128 and 256 EVEX versions of VCVTPS2PH. (details)
  9. [X86] Remove unnecessary hasSideEffects = 0, mayLoad = 1 from an instruction with a pattern. NFC (details)
  10. [X86] Add test case for SoftPromoteHalf of STRICT_FP_EXTEND/STRICT_FP_ROUND. (details)
  11. [lldb][NFC] Remove eCustomCompletion mode (details)
Commit 0daf9b8e41327b1511b2bbc272184ff4fdb8de79 by craig.topper
[X86][LegalizeTypes] Add SoftPromoteHalf support STRICT_FP_EXTEND and STRICT_FP_ROUND

This adds a strict version of FP16_TO_FP and FP_TO_FP16 and uses
them to implement soft promotion for the half type. This is
enough to provide basic support for __fp16 with strictfp.

Add the necessary X86 support to use VCVTPS2PH/VCVTPH2PS when F16C
is enabled.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGNodes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/lib/Target/X86/X86InstrFragmentsSIMD.td
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 5d58eb9f4f71292d9c67517d8cb0eb05e9fe82a3 by ikudrin
[DebugInfo] Fix reading addresses in DWARFDebugAddr.

As addresses in the address tables may have relocations, thus,
the relocations should be resolved to read the correct address.
That is especially important for targets that use RELA relocations
because in that case addends are stored in relocation sections.

Differential Revision: https://reviews.llvm.org/D74404
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
The file was addedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_rela.s
Commit 675c4bebaffc0c6b28ac85602b278677c07e03e5 by ikudrin
[DebugInfo] Do not dump header field for pre-DWARFv5 address tables.

As there is no header in pre-DWARFv5 address tables, and we fill
the class data members with some artificial values, we should not
dump them as that might be misleading.

Differential Revision: https://reviews.llvm.org/D74195
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_dwarf4.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
The file was modifiedllvm/test/DebugInfo/X86/debug_addr.ll
Commit 292b67f99310d10229e14dc0ece18855e22d11cc by ikudrin
[DebugInfo] Use "an address table" in diagnostic messages of DWARFDebugAddr.

This replaces a collocation "a .debug_addr table" with "an address table"
because the latter sounds more accurate.

Differential Revision: https://reviews.llvm.org/D74407
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_small_length_field.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_segment_selector.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_too_small_for_length_field.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_too_small_for_section.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_version_mismatch.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_address_size_mismatch.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_address_size_not_multiple.s
Commit de9604232a7c9e346faadf3708b61431bb441c1b by ikudrin
[DebugInfo] Refine error messages in DWARFDebugAddr.

As a preparation for the subsequent patches, this updates the wordings
of some error messages in DWARFDebugAddr.

Differential Revision: https://reviews.llvm.org/D74196
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_invalid_addr_size.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_small_length_field.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_unsupported_version.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_too_small_for_section.s
Commit dc1661239358efb8144a179d6706d7faec7fec2f by ikudrin
[DebugInfo] Simplify DWARFDebugAddr.

The patch removes unnecessary members of DWARFDebugAddr and further
simplifies the implementation by separating parsing methods of tables
in the DWARFv5 and pre-standard formats.

Differential Revision: https://reviews.llvm.org/D74197
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugAddr.h
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_address_size_not_multiple.s
The file was removedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_version_mismatch.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_unsupported_version.s
Commit 07e50c7b9161e32c43e095aed586614bf8b02c71 by ikudrin
[DebugInfo] Add support for DWARF64 into DWARFDebugAddr.

Differential Revision: https://reviews.llvm.org/D74198
The file was addedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_reserved_length.s
The file was addedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_too_small_for_extended_length_field.s
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugAddr.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_dwarf64.s
Commit 3988b7046a5c998deacde3b89187d6e2eb76154d by craig.topper
[X86] Correct the predicate on some patterns for 128 and 256 EVEX versions of VCVTPS2PH.

These should require AVX512VL not AVX512F. The legacy VEX patterns
will match first unless AVX512VL is enabled so this doesn't cause
a functional issue.
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
Commit 746395a446f7de0657bde6942a31bd14f4ce9adf by craig.topper
[X86] Remove unnecessary hasSideEffects = 0, mayLoad = 1 from an instruction with a pattern. NFC
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
Commit 33b9f3abd78ffe31e2f468f64d36dbdf75b25d6e by craig.topper
[X86] Add test case for SoftPromoteHalf of STRICT_FP_EXTEND/STRICT_FP_ROUND.

Tests that should have been with 0daf9b8e41327b1511b2bbc272184ff4fdb8de79
The file was addedllvm/test/CodeGen/X86/half-constrained.ll
Commit 477c09043e654bc154fce6e6b013f8f91fb96f05 by Raphael Isemann
[lldb][NFC] Remove eCustomCompletion mode

It's not used by anyone. Also if something implements its own
completion it could just not call the method instead of having
a parameter that makes the function a no-op.
The file was modifiedlldb/source/Commands/CommandCompletions.cpp