UnstableChanges

Summary

  1. [NFC][AMDGPU] Fix broken link to ClangOffloadBundler in AMDGPUUsage (details)
  2. [lld-macho] Add dependency to DebugInfoDWARF (details)
  3. [libc++] Support simply `std::iterator_traits` in the iterator_traits test. (details)
  4. [libc++] ADL-proof <thread>, and eliminate `using namespace chrono`. (details)
  5. [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. (details)
  6. s/instantate/instantiate/ throughout. NFCI. (details)
  7. [lldb] Fix build after found_decls was removed by 1f40d60a3b7f310ff3f77bb8643a27d979a703cb (details)
  8. [WebAssembly] Support select and block for reference types (details)
  9. [LSR][NFC] don't collect chains when isNumRegsMajorCostOfLSR is false. (details)
  10. [Transforms] Remove unused declaration fillImplicitControlFlowInfo (NFC) (details)
  11. [mac/lld] Include archive name in diagnostics (details)
  12. [mlir][PDL] Forward captured single entity constraint functions instead of copy-capture (details)
  13. [PowerPC] Promote the i1 to i64 for SINT_TO_FP/FP_TO_SINT (details)
  14. [Test] One more IndVars test (details)
  15. [Test] One CodeGen test showing missing opportunity on move elimination (details)
  16. [lldb][NFC] Fix test file name in lang/cpp/non-type-template-param (details)
  17. [libc++] [docs] Update and move NOTES.txt to docs/Contributing.rst. (details)
  18. [libcxx] Apply msvcrt specific exception for lgamma() to mingw configurations, too (details)
  19. [libc++] [P0482] [C++20] Implement missing bits for codecvt and codecvt_byname. (details)
  20. [mlir][doc] Correct method names in DialectConversion.md to match the code. (details)
  21. [LLD][ELF] - Don't keep empty output sections which have explicit program headers. (details)
  22. [Clang] Don't adjust align for IBM extended double (details)
  23. [llvm-readelf/obj] - Refine the error message about the broken string table. (details)
  24. [PowerPC] Fix FLT_ROUNDS_ on little endian (details)
  25. [Intrinsics] Re-remove experimental_vector_reduce intrinsics (details)
Commit ac1b2ae9dc6c150aab234901baf0c2dd9a2ca0be by Tony.Tye
[NFC][AMDGPU] Fix broken link to ClangOffloadBundler in AMDGPUUsage
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit 6fb88c6cd52b523aa8d26c5b722e7fb9432959f1 by aheejin
[lld-macho] Add dependency to DebugInfoDWARF

Without this `-DBUILD_SHARED_LIBS=ON` doesn't work.
The file was modifiedlld/MachO/CMakeLists.txt
Commit c3e15b3c1c1cb52c83686812a7640e1dd809d695 by arthur.j.odwyer
[libc++] Support simply `std::iterator_traits` in the iterator_traits test.

This follows on from D56698. I copied this fix (simpler than D92142's)
from commit 66e6e37447b183b1c8bac9330a4658530d2d49e6.

Differential Revision: https://reviews.llvm.org/D92239
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/iterator.traits/empty.fail.cpp
Commit 40950a44b9a6aefe17b130e291f8728b34844bce by arthur.j.odwyer
[libc++] ADL-proof <thread>, and eliminate `using namespace chrono`.

Since we know exactly which identifiers we expect to find in `chrono`,
a using-directive seems like massive overkill. Remove the directives
and qualify the names as needed.

One subtle trick here: In two places I replaced `*__p` with `*__p.get()`.
The former is an unqualified call to `operator*` on a class type, which
triggers ADL and breaks the new test. The latter is a call to the
built-in `operator*` on pointers, which specifically
does NOT trigger ADL thanks to [over.match.oper]/1.

Differential Revision: https://reviews.llvm.org/D92243
The file was modifiedlibcxx/include/thread
The file was addedlibcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/robust_against_adl.pass.cpp
Commit d586f92c9456a972ee475a021525c0522b89587b by arthur.j.odwyer
[libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI.

I used a lot of `git grep` to find places where `std::` was being used
outside of comments and assert-messages. There were three outcomes:

- Qualified function calls, e.g. `std::move` becomes `_VSTD::move`.
    This is the most common case.

- Typenames that don't need qualification, e.g. `std::allocator` becomes `allocator`.
    Leaving these as `_VSTD::allocator` would also be fine, but I decided
    that removing the qualification is more consistent with existing practice.

- Names that specifically need un-versioned `std::` qualification,
    or that I wasn't sure about. For example, I didn't touch any code in
    <atomic>, <math.h>, <new>, or any ext/ or experimental/ headers;
    and I didn't touch any instances of `std::type_info`.

In some deduction guides, we were accidentally using `class Alloc = typename std::allocator<T>`,
despite `std::allocator<T>`'s type-ness not being template-dependent.
Because `std::allocator` is a qualified name, this did parse as we intended;
but what we meant was simply `class Alloc = allocator<T>`.

Differential Revision: https://reviews.llvm.org/D92250
The file was modifiedlibcxx/include/string_view
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/include/bit
The file was modifiedlibcxx/include/__mutex_base
The file was modifiedlibcxx/include/__string
The file was modifiedlibcxx/include/filesystem
The file was modifiedlibcxx/include/forward_list
The file was modifiedlibcxx/include/variant
The file was modifiedlibcxx/include/barrier
The file was modifiedlibcxx/include/deque
The file was modifiedlibcxx/include/functional
The file was modifiedlibcxx/include/unordered_map
The file was modifiedlibcxx/include/__debug
The file was modifiedlibcxx/include/iomanip
The file was modifiedlibcxx/include/list
The file was modifiedlibcxx/include/random
The file was modifiedlibcxx/include/utility
The file was modifiedlibcxx/include/vector
The file was modifiedlibcxx/include/bitset
The file was modifiedlibcxx/include/future
The file was modifiedlibcxx/include/algorithm
The file was modifiedlibcxx/include/numbers
The file was modifiedlibcxx/include/type_traits
The file was modifiedlibcxx/include/array
The file was modifiedlibcxx/include/iterator
The file was modifiedlibcxx/include/cmath
The file was modifiedlibcxx/include/compare
The file was modifiedlibcxx/include/typeinfo
The file was modifiedlibcxx/include/__hash_table
The file was modifiedlibcxx/include/__split_buffer
The file was modifiedlibcxx/include/regex
The file was modifiedlibcxx/include/numeric
The file was modifiedlibcxx/include/complex
The file was modifiedlibcxx/include/__tree
Commit e181a6aeddc26ef0512b2dba94db6360ba32f2ff by arthur.j.odwyer
s/instantate/instantiate/ throughout. NFCI.

The static_assert in "libcxx/include/memory" was the main offender here,
but then I figured I might as well `git grep -i instantat` and fix all
the instances I found. One was in user-facing HTML documentation;
the rest were in comments or tests.
The file was modifiedclang/test/SemaCXX/cxx1y-generic-lambdas-capturing.cpp
The file was modifiedlibcxx/include/memory
The file was modifiedclang-tools-extra/clangd/Diagnostics.cpp
The file was modifiedllvm/lib/Support/SmallVector.cpp
The file was modifiedllvm/include/llvm/ADT/simple_ilist.h
The file was modifiedclang/test/Modules/Inputs/cxx-irgen-top.h
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.lambda/templates.cpp
The file was modifiedllvm/test/tools/llvm-cov/cov-comdat.test
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp
Commit ce5e21868c22479df62ebd8884adc1bd7c964433 by i
[lldb] Fix build after found_decls was removed by 1f40d60a3b7f310ff3f77bb8643a27d979a703cb
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Commit 60653e24b6297f2830b9de649f575840ecb364b6 by aheejin
[WebAssembly] Support select and block for reference types

This adds missing `select` instruction support and block return type
support for reference types. Also refactors WebAssemblyInstrRef.td and
rearranges tests in reference-types.s. Tests don't include `exnref`
types, because we currently don't support `exnref` for `ref.null` and
the type will be removed soon anyway.

Reviewed By: tlively, sbc100, wingo

Differential Revision: https://reviews.llvm.org/D92359
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td
The file was modifiedllvm/test/MC/WebAssembly/reference-types.s
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyPeephole.cpp
Commit 3cb7d6245249d61f443abfacc6d7b0272a71535e by czhengsz
[LSR][NFC] don't collect chains when isNumRegsMajorCostOfLSR is false.

Reviewed By: samparker

Differential Revision: https://reviews.llvm.org/D92159
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Commit 0cca3286812c071b167d811c51eb30ee24dba1cd by kazu
[Transforms] Remove unused declaration fillImplicitControlFlowInfo (NFC)

The definition was removed on Aug 7, 2018 in commit
640cb0036548293c74949801ba9f831344789e99, but the declaration has
remained since.
The file was modifiedllvm/include/llvm/Transforms/Scalar/GVN.h
Commit b2f00f24a3c4983a977ff3d975962e7f9dfb887e by thakis
[mac/lld] Include archive name in diagnostics

Also, for .o files, include full path as given on link command line.

Before:
    lld: error: undefined symbol [...], referenced from sandbox_logging.o

After:
    lld: error: undefined symbol [...], referenced from libseatbelt.a(sandbox_logging.o)

Move archiveName up to InputFile so we can consistently use toString()
to print InputFiles in diags, and pass it to the ObjFile ctor. This
matches the ELF and COFF ports.

Differential Revision: https://reviews.llvm.org/D92437
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/ELF/InputFiles.h
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/test/MachO/invalid/undefined-symbol.s
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/LTO.cpp
The file was modifiedlld/MachO/Writer.cpp
Commit 7d746b390c6e3b9b4eded3eb84e5973a1b689775 by riddleriver
[mlir][PDL] Forward captured single entity constraint functions instead of copy-capture
The file was modifiedmlir/include/mlir/IR/PatternMatch.h
Commit 47f784ace6bb43eb9d95277fcc847fb82abf0f7a by qshanz
[PowerPC] Promote the i1 to i64 for SINT_TO_FP/FP_TO_SINT

i1 is the native type for PowerPC if crbits is enabled. However, we need
to promote the i1 to i64 as we didn't have the pattern for i1.

Reviewed By: Qiu Chao Fang

Differential Revision: https://reviews.llvm.org/D92067
The file was modifiedllvm/test/CodeGen/PowerPC/f128-conv.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fp-to-int-to-fp.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fp-strict-conv-f128.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit 391a47e227b528ff4791cb48fb300bc5009077b2 by mkazantsev
[Test] One more IndVars test
The file was modifiedllvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll
Commit 16bee4d36835982bf3aa58263c6974760a55010c by mkazantsev
[Test] One CodeGen test showing missing opportunity on move elimination
The file was addedllvm/test/CodeGen/X86/2020_12_02_decrementing_loop.ll
Commit 9126ba25a3eeffa438e20d3a18abf70eb547789d by Raphael Isemann
[lldb][NFC] Fix test file name in lang/cpp/non-type-template-param

The 'AlignAsBaseClass' part was a leftover form the align_as test that served as
the template for this test.
The file was addedlldb/test/API/lang/cpp/non-type-template-param/TestCppNonTypeTemplateParam.py
The file was removedlldb/test/API/lang/cpp/non-type-template-param/TestAlignAsBaseClassNonTemplateParam.py
Commit 1c656e9b64413535bb55259e03f2bc458c69e0de by marek.kurdej
[libc++] [docs] Update and move NOTES.txt to docs/Contributing.rst.

Also, add notes about exporting ABI symbols.
Later, we can add notes about using git-clang-format before sending a patch for review.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D92300
The file was addedlibcxx/docs/Contributing.rst
The file was modifiedlibcxx/docs/index.rst
The file was removedlibcxx/NOTES.TXT
Commit 0d7bd72f5ab48b2f4a903e21985ae004c12ce265 by martin
[libcxx] Apply msvcrt specific exception for lgamma() to mingw configurations, too

This fixes linking code that uses some bits of the <random> header
on mingw targets.

Differential Revision: https://reviews.llvm.org/D92379
The file was modifiedlibcxx/include/random
Commit a984dcaf7c21511228bad63bffb2ed5446a67d2c by marek.kurdej
[libc++] [P0482] [C++20] Implement missing bits for codecvt and codecvt_byname.

Add codecvt*<char16_t, char8_t> and codecvt*<char32_t, char8_t>.
Deprecate codecvt<char(16|32)_t, char>.
Enable disabled tests.
Update _LIBCPP_STD_VER to use 20 for C++20. Add _LIBCPP_DEPRECATED_IN_CXX20 macro.

Reviewed By: ldionne, #libc, #libc_abi

Differential Revision: https://reviews.llvm.org/D91517
The file was modifiedlibcxx/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp
The file was modifiedlibcxx/test/std/localization/locales/locale/locale.statics/global.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_always_noconv.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_unshift.pass.cpp
The file was modifiedlibcxx/include/__locale
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_length.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_max_length.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_length.pass.cpp
The file was modifiedlibcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_encoding.pass.cpp
The file was modifiedlibcxx/test/std/localization/locales/locale/locale.cons/assign.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_length.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_max_length.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char32_t_char8_t.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_encoding.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char16_t_char8_t.pass.cpp
The file was modifiedlibcxx/test/std/localization/locales/locale/locale.cons/locale_facetptr.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_always_noconv.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_in.pass.cpp
The file was addedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char32_t_char8_t.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_out.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_always_noconv.pass.cpp
The file was modifiedlibcxx/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_out.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_max_length.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_in.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char32_t.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_length.pass.cpp
The file was modifiedlibcxx/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char32_t.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_out.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_out.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_always_noconv.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char32_t_char8_t.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_encoding.pass.cpp
The file was modifiedlibcxx/test/std/localization/locales/locale/locale.cons/default.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_unshift.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_unshift.pass.cpp
The file was modifiedlibcxx/lib/abi/CHANGELOG.TXT
The file was addedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/codecvt_byname_char32_t_char.depr_in_cxx20.verify.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char16_t_char8_t.pass.cpp
The file was addedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/codecvt_char32_t_char.depr_in_cxx20.verify.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/utf_sanity_check.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_in.pass.cpp
The file was modifiedlibcxx/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp
The file was addedlibcxx/test/libcxx/localization/locales/locale/locale.types/locale.facet/no_allocation.pass.cpp
The file was addedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char16_t_char8_t.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char16_t.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char16_t.pass.cpp
The file was modifiedlibcxx/test/std/localization/locales/locale/locale.statics/classic.pass.cpp
The file was modifiedlibcxx/test/std/localization/locales/locale/locale.cons/copy.pass.cpp
The file was addedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/codecvt_byname_char16_t_char.depr_in_cxx20.verify.cpp
The file was addedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/codecvt_char16_t_char.depr_in_cxx20.verify.cpp
The file was modifiedlibcxx/src/locale.cpp
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char32_t.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char16_t.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_encoding.pass.cpp
The file was modifiedlibcxx/utils/ci/run-buildbot
The file was modifiedlibcxx/include/codecvt
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_max_length.pass.cpp
The file was modifiedlibcxx/test/std/localization/locales/locale/locale.members/combine.pass.cpp
The file was modifiedlibcxx/test/std/localization/locales/locale/locale.cons/string.pass.cpp
The file was modifiedlibcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist
The file was addedlibcxx/test/std/localization/locale.categories/category.ctype/with_public_dtor.hpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_in.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_unshift.pass.cpp
Commit c266c56d545dfecf767b312771f716b394c5d5eb by hanchung
[mlir][doc] Correct method names in DialectConversion.md to match the code.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D92416
The file was modifiedmlir/docs/DialectConversion.md
Commit 3f5dc57fd18106766f45216b5ddd4648d2fb4629 by grimar
[LLD][ELF] - Don't keep empty output sections which have explicit program headers.

This reverts a side effect introduced in the code cleanup patch D43571:
LLD started to emit empty output sections that are explicitly assigned to a segment.

This patch fixes the issue by removing the !sec.phdrs.empty() special case from
isDiscardable. As compensation, we add an early phdrs propagation step (see the inline comment).
This is similar to one that we do in adjustSectionsAfterSorting.

Differential revision: https://reviews.llvm.org/D92301
The file was modifiedlld/test/ELF/linkerscript/implicit-program-header.test
The file was modifiedlld/test/ELF/linkerscript/empty-relaplt-dyntags.test
The file was modifiedlld/test/ELF/linkerscript/orphan-phdrs.s
The file was modifiedlld/ELF/LinkerScript.cpp
Commit 3fca6a7844b515496446667a18a9703c29cf6e88 by qiucofan
[Clang] Don't adjust align for IBM extended double

Commit 6b1341eb fixed alignment for 128-bit FP types on PowerPC.
However, the quadword alignment adjustment shouldn't be applied to IBM
extended double (ppc_fp128 in IR) values.

Reviewed By: jsji

Differential Revision: https://reviews.llvm.org/D92278
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/test/CodeGen/ppc64le-varargs-f128.c
Commit 01e49204b82057f356ad3fe0cabba139635ac733 by grimar
[llvm-readelf/obj] - Refine the error message about the broken string table.

This:
1) Changes `reportWarning` to `reportUniqueWarning` (no-op here).
2) Adds more context to the message.
3) Merges `broken-dynsym-link.test` into `dyn-symbols.test`, adds more testing.

Differential revision: https://reviews.llvm.org/D92380
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dyn-symbols.test
The file was removedllvm/test/tools/llvm-readobj/ELF/broken-dynsym-link.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit ffa2dce59070636e0d83d2797fb80c4ca2d7ea2d by qiucofan
[PowerPC] Fix FLT_ROUNDS_ on little endian

In lowering of FLT_ROUNDS_, FPSCR content will be moved into FP register
and then GPR, and then truncated into word.

For subtargets without direct move support, it will store and then load.
The load address needs adjustment (+4) only on big-endian targets. This
patch fixes it on using generic opcodes on little-endian and subtargets
with direct-move.

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D91845
The file was modifiedllvm/test/CodeGen/PowerPC/frounds.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit 99eb0f16c35cdaa04dea4c5bbad4f86408e9dcfd by david.green
[Intrinsics] Re-remove experimental_vector_reduce intrinsics

These were re-added by fbfb1c790982277eaa5134c2b6aa001e97fe828d but
should not have been. This removes the old experimental versions of the
reduction intrinsics again, leaving the new non experimental ones.

Differential Revision: https://reviews.llvm.org/D92411
The file was modifiedllvm/include/llvm/IR/Intrinsics.td