UnstableChanges

Summary

  1. [clangd] Express dumpAST in tests as a customAction() (details)
  2. Revert "[BPI] Improve static heuristics for integer comparisons" (details)
  3. [libc++] Use CMake interface targets to setup benchmark flags (details)
  4. Support the standards-based dates for __has_c_attribute (details)
  5. [libc++][test] Fix -Wstring-concatenation warnings (details)
  6. [AMDGPU] Fix missed SI_RETURN_TO_EPILOG in pre-emit peephole (details)
  7. Introduce ns_error_domain attribute. (details)
  8. [InstCombine] Fix incorrect Modified status (details)
  9. [NFC] Add test case showing the miscompile being fixed by D83507 (details)
  10. [SyntaxTree] Split `TreeTest.cpp` (details)
  11. [SyntaxTree] Clean `#includes` in `TreeTestBase.h` (details)
  12. DAG: Don't pass 0 alignment value to allowsMisalignedMemoryAccesses (details)
  13. [gn build] Port d17437d2bd8 (details)
  14. [MLIR] Support for ReturnOps in memref map layout normalization (details)
  15. [libc++][test] Fix another -Wstring-concatenation warning (details)
  16. [mlir][openacc] Introduce OpenACC dialect with parallel, data, loop operations (details)
  17. clang: Fix minor grammar-o in diag added in c354b2e3b (details)
  18. rG9bd97d0363987b582 - Revert "[X86][SSE] Fold HOP(SHUFFLE(X),SHUFFLE(Y)) --> SHUFFLE(HOP(X,Y))" (details)
  19. Fix unused variable warning. NFC. (details)
  20. [analyzer] Fix crash with pointer to members values (details)
  21. [clangd] Revert "[clangd] Fix crash-bug in preamble indexing when using modules." (details)
  22. [libc++] Ensure the CI scripts can find Ninja (details)
  23. [llvm-objdump] Change symbol name/PLT decoding errors to warnings (details)
  24. [ELF] -r: allow SHT_X86_64_UNWIND to be merged into SHT_PROGBITS (details)
  25. [AArch64][x86] add tests for x/sqrt(x); NFC (details)
  26. [clangd] Clean up old test fixture/names a little. NFC (details)
  27. [flang] Correct the default value for PAD= to PAD='YES'. (details)
  28. [flang] Ensure Preprocessor::Define saves macro names correctly (details)
  29. [flang] Correct manipulation of mixed complex expressions (details)
  30. [flang] Fix assert on character literal substrings as arguments (details)
  31. [ELF] --gdb-index: skip SHF_GROUP .debug_info (details)
  32. [clangd] Extract BackgroundIndex::Options struct. NFC (details)
  33. [InstCombine] Handle gc.relocate(null) in one iteration (details)
  34. [VectorCombine] Fix for non-zero addrspace when creating vector load from scalar load (details)
  35. Add cold attribute to one time construction APIs (details)
  36. Fix PR45442: Bail out when MemorySSA information is not available (details)
  37. [clangd] Send EOF before resetting diagnostics consumer (details)
  38. [clangd] Move clang-tidy check modifications into ClangdServer (details)
  39. [SVE] Lower fixed length vector integer SMIN/SMAX (details)
  40. [lldb] Skip TestStepScripted with reproducers (details)
  41. [flang] Implement shape analysis of TRANSFER intrinsic function result (details)
  42. [ARM] Mark VMINNMA/VMAXNMA as commutative (details)
  43. [mlir] Test CallOp STD->LLVM conversion. (details)
  44. [lldb] Set the launch flags to GetLaunchInfo().GetLaunchFlags() (details)
  45. [X86][SSE] Add HADD combine regression case from rG9bd97d036398 (details)
  46. [flang] Descriptor-based I/O using wrong size for contiguous unformatted I/O (details)
  47. [llvm-install-name-tool] Add more documentation (details)
  48. [BPI] Improve static heuristics for integer comparisons (details)
  49. [llvm-libtool-darwin] Refactor ArchiveWriter (details)
  50. [flang][openacc] Handle optional end directive in combined construct (details)
  51. [llvm-libtool-darwin] Add support for -arch_only (details)
  52. [JITLink][MachO] Return an error when MachO TLV relocations are encountered. (details)
  53. [llvm-jitlink] Don't demote unreferenced definitions in -harness mode. (details)
  54. [Diagnostics] Skip var decl of structs for -Wstring-concatenation (details)
  55. [Tests] Removed debug copy command (details)
  56. Fix PR45442: Bail out when MemorySSA information is not available (details)
  57. [AMDGPU] Fix misleading SDWA verifier error. NFC. (details)
Commit 41d0edd54e29e994fa7d40961a38e8fca27addac by sam.mccall
[clangd] Express dumpAST in tests as a customAction()
The file was modifiedclang-tools-extra/clangd/ParsedAST.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.h
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
The file was modifiedclang-tools-extra/clangd/unittests/ClangdTests.cpp
The file was modifiedclang-tools-extra/clangd/ParsedAST.h
Commit f9264995a6911abc208f0a0c1e0272fe5fbcbec9 by Dávid Bolvanský
Revert "[BPI] Improve static heuristics for integer comparisons"

This reverts commit 44587e2f7e732604cd6340061d40ac21e7e188e5. Sanitizer tests need to be updated.
The file was modifiedllvm/test/CodeGen/X86/indirect-branch-tracking-eh2.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
The file was modifiedllvm/test/CodeGen/Mips/brcongt.ll
The file was modifiedllvm/test/CodeGen/X86/neg_cmp.ll
The file was modifiedllvm/test/CodeGen/ARM/2011-12-14-machine-sink.ll
The file was modifiedllvm/test/CodeGen/X86/funnel-shift.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-distribute.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64m-w-insts-legalization.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/varying-outer-2d-reduction.ll
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-flags.ll
The file was modifiedllvm/test/CodeGen/X86/bt.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-optsize.ll
The file was modifiedllvm/test/CodeGen/ARM/cmpxchg-weak.ll
The file was modifiedllvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll
The file was modifiedllvm/test/CodeGen/AArch64/branch-relax-alignment.ll
The file was modifiedllvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
The file was modifiedllvm/test/CodeGen/Mips/selle.ll
The file was modifiedllvm/test/CodeGen/X86/3addr-16bit.ll
The file was modifiedllvm/test/CodeGen/ARM/machine-cse-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/jump_sign.ll
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-cmp-branch.ll
The file was modifiedllvm/test/CodeGen/X86/absolute-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-pgso.ll
The file was addedllvm/test/Analysis/BranchProbabilityInfo/zero_heuristics.ll
The file was modifiedllvm/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
The file was modifiedllvm/include/llvm/Analysis/BranchProbabilityInfo.h
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo_mexits.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-37.ll
The file was modifiedllvm/test/CodeGen/Mips/longbranch/compact-branches-long-branch.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-cmp-branch2.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-40.ll
The file was modifiedllvm/test/CodeGen/X86/nobt.ll
The file was modifiedllvm/test/CodeGen/ARM/lsr-unfolded-offset.ll
The file was modifiedllvm/lib/Analysis/BranchProbabilityInfo.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/thumb2-branch.ll
The file was modifiedllvm/test/CodeGen/Mips/compactbranches/no-beqzc-bnezc.ll
The file was modifiedllvm/test/CodeGen/Mips/seleq.ll
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall-pgso.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/loop.ll
The file was modifiedllvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll
The file was modifiedllvm/test/CodeGen/Mips/brconne.ll
The file was modifiedllvm/test/CodeGen/Mips/lcb5.ll
The file was modifiedllvm/test/CodeGen/Mips/lcb2.ll
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-gep-opt.ll
The file was modifiedllvm/test/CodeGen/X86/machine-cse.ll
The file was modifiedllvm/test/CodeGen/X86/pr29170.ll
The file was modifiedllvm/test/CodeGen/X86/wide-integer-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/lsr-negative-stride.ll
The file was modifiedllvm/test/CodeGen/AArch64/cond-br-tuning.ll
The file was modifiedllvm/test/CodeGen/RISCV/branch.ll
The file was modifiedllvm/test/Transforms/PGOProfile/landingpad.ll
The file was removedllvm/test/Analysis/BranchProbabilityInfo/integer_heuristics.ll
The file was modifiedllvm/test/CodeGen/Mips/brconlt.ll
The file was modifiedllvm/test/CodeGen/Hexagon/newvaluejump2.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp.ll
The file was modifiedllvm/test/CodeGen/PowerPC/brcond.ll
The file was modifiedllvm/test/CodeGen/X86/bmi.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-unordered.ll
Commit da0592e4c8df95efad4e42d63646f8a5336a7edc by Louis Dionne
[libc++] Use CMake interface targets to setup benchmark flags

This also fixes an issue where the benchmarks were being built with C++14
instead of C++17, as they should be.
The file was modifiedlibcxx/benchmarks/CMakeLists.txt
Commit 9936b96d5333af4e6dff55025943366bb5f07272 by aaron
Support the standards-based dates for __has_c_attribute

WG14 N2481 was adopted with minor modifications at the latest WG14 meetings.
The only modification to the paper was to correct the date for the deprecated
attribute to be 201904L (the corrected date value will be present in WG14
N2553 when it gets published).
The file was modifiedclang/test/Preprocessor/has_c_attribute.c
The file was modifiedclang/utils/TableGen/ClangAttrEmitter.cpp
The file was modifiedclang/include/clang/Basic/Attr.td
Commit c58f1fe2aebffaf6069b9f43940eebee183da687 by Louis Dionne
[libc++][test] Fix -Wstring-concatenation warnings
The file was modifiedlibcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/function.objects/unord.hash/murmur2_or_cityhash_ubsan_unsigned_overflow_ignored.pass.cpp
Commit d538c5837a2cfedbf274133e29612da76003beed by carl.ritson
[AMDGPU] Fix missed SI_RETURN_TO_EPILOG in pre-emit peephole

SIPreEmitPeephole does not process all terminators, which means
it can fail to handle SI_RETURN_TO_EPILOG if immediately preceeded
by a branch to the early exit block.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D85872
The file was modifiedllvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/transform-block-with-return-to-epilog.ll
Commit a5b8757506b07e3091fe243b6c1e004220d3cba3 by gribozavr
Introduce ns_error_domain attribute.

ns_error_domain can be used by, e.g. NS_ERROR_ENUM, in order to
identify a global declaration representing the domain constant.

Introduces the attribute, Sema handling, diagnostics, and test case.

This is cherry-picked from https://github.com/llvm/llvm-project-staging/commit/a14779f504b02ad0e4dbc39d6d10cadc7ed4cfd0
and adapted to updated Clang APIs.

Reviewed By: gribozavr2, aaron.ballman

Differential Revision: https://reviews.llvm.org/D84005
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/utils/TableGen/ClangAttrEmitter.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/test/Misc/pragma-attribute-supported-attributes-list.test
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was addedclang/test/Sema/ns_error_enum.m
The file was modifiedclang/test/AST/ast-print-attr.c
Commit e8ebebb0bde602199c4012efbcfe823f7ab9337f by david.stenberg
[InstCombine] Fix incorrect Modified status

When removing instructions from unreachable blocks, and only debug info
intrinsics were removed, InstCombine could incorrectly return a false
Modified status.

This is fixed by making removeAllNonTerminatorAndEHPadInstructions()
also return how many debug info intrinsics that were removed, and take
that into account.

This was caught using the check introduced by D80916.

Reviewed By: majnemer

Differential Revision: https://reviews.llvm.org/D85839
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
The file was addedllvm/test/Transforms/InstCombine/unreachable-dbg-info-modified.ll
Commit 3bd2513ebd788a48394ababbc62b5cdcfa3dde12 by lebedev.ri
[NFC] Add test case showing the miscompile being fixed by D83507

See https://reviews.llvm.org/D83507
The file was addedllvm/test/Transforms/PhaseOrdering/d83507-knowledge-retention-bug.ll
Commit d17437d2bd8e83baee96f2860276d615d216dfbc by ecaldas
[SyntaxTree] Split `TreeTest.cpp`

We extract the test infrastructure into `TreeTestBase.h` and split the
tests into `MutationsTest.cpp` and `BuildTreeTest.cpp`
The file was modifiedclang/unittests/Tooling/Syntax/CMakeLists.txt
The file was addedclang/unittests/Tooling/Syntax/TreeTestBase.h
The file was addedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp
The file was addedclang/unittests/Tooling/Syntax/MutationsTest.cpp
The file was removedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit 9c2e708f0dc547d386ea528450a33ef4bd2a750b by ecaldas
[SyntaxTree] Clean `#includes` in `TreeTestBase.h`

Differential Revision: https://reviews.llvm.org/D85898
The file was modifiedclang/unittests/Tooling/Syntax/TreeTestBase.h
The file was modifiedclang/unittests/Tooling/Syntax/MutationsTest.cpp
Commit c7191e318544ea0c30b5678c1f2e79e0c5be9628 by Matthew.Arsenault
DAG: Don't pass 0 alignment value to allowsMisalignedMemoryAccesses

I think not unconditionally passing getDstAlign is broken, but leave
that for another change.
The file was addedllvm/test/CodeGen/AMDGPU/memcpy-fixed-align.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit fc7f004b887594ed9b5e25497aa4475b3e74cc94 by llvmgnsyncbot
[gn build] Port d17437d2bd8
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Tooling/Syntax/BUILD.gn
Commit 6d4f7801b1d2a0ec6fbc0cb4eb9d3613df788d78 by uday
[MLIR] Support for ReturnOps in memref map layout normalization

-- This commit handles the returnOp in memref map layout normalization.
-- An initial filter is applied on FuncOps which helps us know which functions can be
   a suitable candidate for memref normalization which doesn't lead to invalid IR.
-- Handles memref map normalization for external function assuming the external function
   is normalizable.

Differential Revision: https://reviews.llvm.org/D85226
The file was modifiedmlir/lib/Transforms/Utils/Utils.cpp
The file was modifiedmlir/lib/Transforms/NormalizeMemRefs.cpp
The file was modifiedmlir/test/Transforms/normalize-memrefs.mlir
Commit 2916dd5669e7700eff41c891916d6030511cef3e by Louis Dionne
[libc++][test] Fix another -Wstring-concatenation warning
The file was modifiedlibcxx/test/libcxx/fuzzing/partial_sort.pass.cpp
Commit 4225e7fa34febac6da8c9151bd69f998a6a1d7df by clementval
[mlir][openacc] Introduce OpenACC dialect with parallel, data, loop operations

This patch introduces the OpenACC dialect with three operation defined
parallel, data and loop operations with custom parsing and printing.

OpenACC dialect RFC can be find here: https://llvm.discourse.group/t/rfc-openacc-dialect/546/2

Reviewed By: rriddle, kiranchandramohan

Differential Revision: https://reviews.llvm.org/D84268
The file was modifiedmlir/include/mlir/Dialect/CMakeLists.txt
The file was addedmlir/lib/Dialect/OpenACC/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/OpenACC/OpenACC.h
The file was modifiedmlir/include/mlir/IR/DialectSymbolRegistry.def
The file was modifiedmlir/include/mlir/InitAllDialects.h
The file was addedmlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
The file was modifiedmlir/lib/Dialect/CMakeLists.txt
The file was addedmlir/test/Dialect/OpenACC/ops.mlir
The file was addedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Commit 82057e3f39e624dbaa5bbd7497c359f704347f6f by thakis
clang: Fix minor grammar-o in diag added in c354b2e3b
The file was modifiedclang/test/Modules/namespaces.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/SemaCXX/pointer-forward-declared-class-conversion.cpp
The file was modifiedclang/test/SemaCXX/elaborated-type-specifier.cpp
Commit cd3b850a4c8eb7871f2cefb47b1274e734ad92f6 by llvm-dev
rG9bd97d0363987b582 - Revert "[X86][SSE] Fold HOP(SHUFFLE(X),SHUFFLE(Y)) --> SHUFFLE(HOP(X,Y))"

This reverts commit 9bd97d0363987b582e4a92b354b02e86ac068407.

Seeing some codegen issues in internal testing.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/haddsub-shuf.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub-undef.ll
Commit 63863451d18b3ef590cba9916e1bec181ad252e7 by llvm-dev
Fix unused variable warning. NFC.

Reduce the dyn_cast<> to a isa<> as that's all non-assert builds require, and move the cast<> inside the assert.
The file was modifiedllvm/lib/Analysis/LazyValueInfo.cpp
Commit 9cbfdde2ea060d7e51fd2637f63eaa74b8d92848 by vsavchenko
[analyzer] Fix crash with pointer to members values

This fix unifies all of the different ways we handled pointer to
members into one.  The crash was caused by the fact that the type
of pointer-to-member values was `void *`, and while this works
for the vast majority of cases it breaks when we actually need
to explain the path for the report.

rdar://problem/64202361

Differential Revision: https://reviews.llvm.org/D85817
The file was addedclang/test/Analysis/PR46264.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
The file was modifiedclang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
The file was modifiedclang/test/Analysis/pointer-to-member.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
The file was modifiedclang/lib/StaticAnalyzer/Core/SValBuilder.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/SVals.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
Commit 73f0772c0baf1c7cac2995341c11d83c4d7a37f4 by adamcz
[clangd] Revert "[clangd] Fix crash-bug in preamble indexing when using modules."

This reverts commit 4061d9e42cff621462931ac7df9666806c77a237.
Tests are failing in some configuration, likely due to not cleaning up
module cache path before running the test.

Differential Revision: https://reviews.llvm.org/D85907
The file was modifiedclang-tools-extra/clangd/unittests/TestFS.h
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.h
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.cpp
The file was modifiedclang/lib/Index/IndexingAction.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
Commit 1ffc299628948ee0bee3ffb7451c9085b5a80e83 by Louis Dionne
[libc++] Ensure the CI scripts can find Ninja

Ninja isn't necessarily installed on macOS out of the box, so make sure
we use the SDK Ninja instead of relying on one being available on the
system.
The file was modifiedlibcxx/utils/ci/macos-trunk.sh
The file was modifiedlibcxx/utils/ci/macos-backdeployment.sh
Commit 7f8c49b016003a1a642235b14788648736809a58 by i
[llvm-objdump] Change symbol name/PLT decoding errors to warnings

If the referenced symbol of a J[U]MP_SLOT is invalid (e.g. symbol index 0), llvm-objdump -d will bail out:

```
error: 'a': st_name (0x326600) is past the end of the string table of size 0x7
```

where 0x326600 is the st_name field of the first entry past the end of .symtab

Change it to a warning to continue dumping.
`X86/plt.test` uses a prebuilt executable, so I pick `ELF/AArch64/plt.test`
which has a YAML input and can be easily modified.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D85623
The file was modifiedllvm/test/tools/llvm-objdump/ELF/AArch64/plt.test
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was modifiedllvm/test/tools/llvm-objdump/MachO/malformed-machos.test
The file was modifiedllvm/include/llvm/Object/ELFObjectFile.h
The file was modifiedllvm/lib/Object/ELFObjectFile.cpp
The file was modifiedllvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp
Commit 88498f44dfe7d9b886f2622335cdeae4dbf2b02a by i
[ELF] -r: allow SHT_X86_64_UNWIND to be merged into SHT_PROGBITS

* For .cfi_*, GCC/GNU as emits SHT_PROGBITS type .eh_frame sections.
* Since rL252300, clang emits SHT_X86_64_UNWIND type .eh_frame sections
  (originated from Solaris, documented in the x86-64 psABI).
* Some assembly use `.section .eh_frame,"a",@unwind` to generate
  SHT_X86_64_UNWIND .eh_frame sections.

In a non-relocatable link, input .eh_frame are combined and there is
only one SyntheticSection .eh_frame in the output section, so the
"section type mismatch" diagnostic does not fire.

In a relocatable link, there is no SyntheticSection .eh_frame. .eh_frame of
mixed types can trigger the diagnostic. This patch fixes it by adding another
special case 0x70000001 (= SHT_X86_64_UNWIND) to canMergeToProgbits().

    ld.lld -r gcc.o clang.o => error: section type mismatch for .eh_frame

There was a discussion "RFC: Usefulness of SHT_X86_64_UNWIND" on the x86-64-abi
mailing list. Folks are not wild about making the psABI value 0x70000001 into
gABI, but a few think defining 0x70000001 for .eh_frame may be a good idea for a
new architecture.

Reviewed By: grimar

Differential Revision: https://reviews.llvm.org/D85785
The file was modifiedlld/test/ELF/eh-frame-type.test
The file was modifiedlld/ELF/OutputSections.cpp
Commit dd1a900575ff727d773132111b5f4091cd53d8e6 by spatel
[AArch64][x86] add tests for x/sqrt(x); NFC
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath.ll
The file was modifiedllvm/test/CodeGen/AArch64/sqrt-fastmath.ll
Commit 98cf77e33786eb1d4e258bfafcbd80344ac9b19d by sam.mccall
[clangd] Clean up old test fixture/names a little. NFC
The file was modifiedclang-tools-extra/clangd/unittests/ClangdTests.cpp
Commit f09a2244ba660c105331836a3ae8a1e229b34177 by pklausler
[flang] Correct the default value for PAD= to PAD='YES'.
The file was modifiedflang/runtime/format.h
Commit 51cfad3a1af6fcfba0b2fa2ef73c6860b4034e89 by pklausler
[flang] Ensure Preprocessor::Define saves macro names correctly

This fixes problems with macros defined with -D on the command line
and predefined macros defined in the throwaway driver program.
The file was modifiedflang/lib/Parser/preprocessor.cpp
Commit e5caa6b5abfa3484fa6107961a62173c6955a8ef by pklausler
[flang] Correct manipulation of mixed complex expressions

Ensure that mixed complex expressions (one operand complex,
the other not) are properly manipulated; add test.
The file was addedflang/test/Evaluate/folding11.f90
The file was modifiedflang/lib/Evaluate/tools.cpp
Commit 19d7cc2e83061050923057abf72ab860bdc0a3b5 by psteinfeld
[flang] Fix assert on character literal substrings as arguments

Character literal substrings used as arguments were causing asserts.  This
happened when the code was trying to get the DynamicType of the substring.  We
were only recording the DynamicType of the Designator on which the substring
was based.  For character literal substrings, the Designator was a character
literal, and we weren't handling getting its type.

I fixed this by changing the `GetType()` method for `DynamicType` to check to
see if we were getting the type of a `Substring` and calculating the type of
the substring by getting the number of bytes in an element of the string.

I also changed the test `resolve49.f90` with some tests, one of which causes
the original crash.

Differential Revision: https://reviews.llvm.org/D85908
The file was modifiedflang/lib/Evaluate/variable.cpp
The file was modifiedflang/test/Semantics/resolve49.f90
Commit fb141292f4411448af41fc454c07f3903acb84dd by maskray
[ELF] --gdb-index: skip SHF_GROUP .debug_info

-gdwarf-5 -fdebug-types-section may produce multiple .debug_info sections.  All
except one are type units (.debug_types before DWARF v5). When constructing
.gdb_index, we should ignore these type units. We use a simple heuristic: the
compile unit does not have the SHF_GROUP flag. (This needs to be revisited if
people place compile unit .debug_info in COMDAT groups.)

This issue manifests as a data race: because an object file may have multiple
.debug_info sections, we may concurrently construct `LLDDwarfObj` for the same
file in multiple threads. The threads may access `InputSectionBase::data()`
concurrently on the same input section. `InputSectionBase::data()` does a lazy
uncompress() and rewrites the member variable `rawData`. A thread running zlib
`inflate()` (transitively called by uncompress()) on a buffer with `rawData`
tampered by another thread may fail with `uncompress failed: zlib error: Z_DATA_ERROR`.

Even if no data race occurred in an optimistic run, if there are N .debug_info,
one CU entry and its address ranges will be replicated N times. The result
.gdb_index can be much larger than a correct one.

The new test gdb-index-dwarf5-type-unit.s actually has two compile units. This
cannot be produced with regular approaches (it can be produced with -r
--unique). This is used to demonstrate that the .gdb_index construction code
only considers the last non-SHF_GROUP .debug_info

Reviewed By: grimar

Differential Revision: https://reviews.llvm.org/D85579
The file was addedlld/test/ELF/gdb-index-dwarf5-type-unit.s
The file was modifiedlld/ELF/DWARF.h
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedlld/ELF/DWARF.cpp
Commit b36e22d64458fb87119eddc383229b6d0493967b by sam.mccall
[clangd] Extract BackgroundIndex::Options struct. NFC

I've dropped the background context parameter, since we in practice just pass the
current context there, and we now have a different way to specify context too.
While here, clean up a couple of comments.

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D83157
The file was modifiedclang-tools-extra/clangd/index/Background.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
The file was modifiedclang-tools-extra/clangd/index/Background.h
Commit 98ba0a5ffee219f503a9dc2526f609da832ebf01 by serguei.katkov
[InstCombine] Handle gc.relocate(null) in one iteration

InstCombine adds users of transformed instruction to working list to
process on the same iteration. However gc.relocate may have a hidden
user (next gc.relocate) which is connected through gc.statepoint intrinsic and
there is no direct def-use chain between them.

In this case if the next gc.relocation is already processed it will not be added
to worklist and will not be able to be processed on the same iteration.
Let's we have the following case:
A = gc.relocate(null)
B = statepoint(A)
C = gc.relocate(B, hidden(A))
If C is already considered then after replacement of A with null, statepoint B
instruction will be added to the queue but not C.
C can be processed only on the next iteration.

If the chain of relocation is pretty long the many iteration may be required.
This change is to reduce the number of iteration to meet the latest changes
related to reducing infinite loop threshold.

This is a quick (not best) fix. In the follow up patches I plan to move gc relocation
handling into statepoint handler. This should also help to remove unused gc live
entries in statepoint bundle.

Reviewers: reames, dantrushin
Reviewed By: reames
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D75598
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was addedllvm/test/Transforms/InstCombine/statepoint-iter.ll
Commit 11446b02c7ec258a55de0259c3447d9ce5d5ac63 by bjorn.a.pettersson
[VectorCombine] Fix for non-zero addrspace when creating vector load from scalar load

This is a fixup to commit 43bdac290663f4424f9fb, to make sure the
address space from the original load pointer is retained in the
vector pointer.

Resolves problem with
  Assertion `castIsValid(op, S, Ty) && "Invalid cast!"' failed.
due to address space mismatch.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D85912
The file was modifiedllvm/test/Transforms/VectorCombine/X86/load.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
Commit d54f5979bb829e3864016798cc1cb5eecf39c4e0 by 1894981+hiraditya
Add cold attribute to one time construction APIs

_cxa_guard_acquire is used for only one purpose,
namely guarding local static variable initialization,
and since that purpose is definitionally cold,
it should be attributed as cold

Reviewed By: ldionne

Reviewers: mclow.lists, ldionne, jfb, yfeldblum

Differential Revision: https://reviews.llvm.org/D85873
The file was modifiedlibcxxabi/include/cxxabi.h
Commit 44716856db599f8988affa16875a6b120189e013 by 1894981+hiraditya
Fix PR45442: Bail out when MemorySSA information is not available
The file was addedllvm/test/Transforms/GVNHoist/pr45442.ll
The file was modifiedllvm/lib/Transforms/Scalar/GVNHoist.cpp
Commit 66a2e3a525645ad8d356ef4f5b752bfcae3c27b7 by kadircet
[clangd] Send EOF before resetting diagnostics consumer

Summary:
Some clang-tidy checkers, e.g. llvm-include-order can emit diagnostics
at this callback (as mentioned in the comments).

Clangd was resetting diag consumer to IgnoreDiags before sending EOF, hence we
were unable to emit diagnostics for such checkers.

This patch changes the order of that reset and preprocosser event to make sure
we emit that diag.

Fixes https://github.com/clangd/clangd/issues/314.

Reviewers: sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83178
The file was modifiedclang-tools-extra/clangd/ParsedAST.cpp
The file was modifiedclang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
Commit 0464acd0197cda149f81dff20bf5c379a057722a by kadircet
[clangd] Move clang-tidy check modifications into ClangdServer

Summary:
This enables sharing the logic between standalone clangd and embedders
of it. The new approach should be same performance-wise, as it is only called
once per addDocument call.

This patch also introduces a blacklisting code path for disabling crashy or
high-noise tests, until we figure out a way to make them work with clangd-setup.

The biggest difference is the way we make use of preambles, hence those checks
can't see directives coming from the preamble section of the file. The second
thing is the fact that code might-not be compiling while clangd is trying to
build an AST, hence some checks might choke on those incomplete ASTs.

Reviewers: sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, aaron.ballman, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83224
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ClangdTests.cpp
Commit e1a87f0a9bc3159fb5479a012a67d2c489bca221 by mcinally
[SVE] Lower fixed length vector integer SMIN/SMAX

Differential Revision: https://reviews.llvm.org/D85855
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-int-minmax.ll
Commit 180d6ed66778ec5b7ee68878005ca1f0498b6d6d by Jonas Devlieghere
[lldb] Skip TestStepScripted with reproducers

Some of the test methods were already skipped because of an unexpected
packet. The test started failing after it was expanded. Skip the whole
test with reproducers so we don't have to add the decorator for every
method.
The file was modifiedlldb/test/API/functionalities/step_scripted/TestStepScripted.py
The file was modifiedlldb/packages/Python/lldbsuite/test/decorators.py
Commit fad31d60329b4573a27aaf10cfe3174407d75c3a by pklausler
[flang] Implement shape analysis of TRANSFER intrinsic function result

The shape (esp. the size) of the result of a call to TRANSFER
is implemented according to the definition in the standard.

Differential Revision: https://reviews.llvm.org/D85866
The file was modifiedflang/include/flang/Evaluate/type.h
The file was modifiedflang/include/flang/Evaluate/characteristics.h
The file was modifiedflang/lib/Evaluate/characteristics.cpp
The file was modifiedflang/lib/Evaluate/fold-designator.cpp
The file was modifiedflang/lib/Evaluate/initial-image.cpp
The file was modifiedflang/lib/Semantics/compute-offsets.cpp
The file was modifiedflang/include/flang/Evaluate/initial-image.h
The file was modifiedflang/lib/Semantics/data-to-inits.cpp
The file was modifiedflang/lib/Evaluate/type.cpp
The file was addedflang/test/Evaluate/folding10.f90
The file was modifiedflang/lib/Evaluate/shape.cpp
Commit 2632c625ed9b7cb5d384242e9a792a8c5703fda4 by david.green
[ARM] Mark VMINNMA/VMAXNMA as commutative

These operations take Qda and Rn register operands, which are
commutative so long as the instruction is not predicated.

Differential Revision: https://reviews.llvm.org/D85813
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/lib/Target/ARM/Thumb2InstrInfo.h
The file was modifiedllvm/lib/Target/ARM/Thumb2InstrInfo.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmaxnma-commute.ll
Commit fed9ff511711762ac8cccbb9954eb4c0554fe622 by pifon
[mlir] Test CallOp STD->LLVM conversion.

This exercises the corner case that was fixed in
https://reviews.llvm.org/rG8979a9cdf226066196f1710903d13492e6929563.

The bug can be reproduced when there is a @callee with a custom type argument and @caller has a producer of this argument passed to the @callee.

Example:
func @callee(!test.test_type) -> i32
func @caller() -> i32 {
  %arg = "test.type_producer"() : () -> !test.test_type
  %out = call @callee(%arg) : (!test.test_type) -> i32
  return %out : i32
}

Even though there is a type conversion for !test.test_type, the output IR (before the fix) contained a DialectCastOp:

module {
  llvm.func @callee(!llvm.ptr<i8>) -> !llvm.i32
  llvm.func @caller() -> !llvm.i32 {
    %0 = llvm.mlir.null : !llvm.ptr<i8>
    %1 = llvm.mlir.cast %0 : !llvm.ptr<i8> to !test.test_type
    %2 = llvm.call @callee(%1) : (!test.test_type) -> !llvm.i32
    llvm.return %2 : !llvm.i32
  }
}

instead of

module {
  llvm.func @callee(!llvm.ptr<i8>) -> !llvm.i32
  llvm.func @caller() -> !llvm.i32 {
    %0 = llvm.mlir.null : !llvm.ptr<i8>
    %1 = llvm.call @callee(%0) : (!llvm.ptr<i8>) -> !llvm.i32
    llvm.return %1 : !llvm.i32
  }
}

Differential Revision: https://reviews.llvm.org/D85914
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
The file was addedmlir/test/Transforms/test-convert-call-op.mlir
The file was addedmlir/test/lib/Transforms/TestConvertCallOp.cpp
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
Commit 2ddba09e067add1910cc0f39ce9e1e4e0e43bb28 by Jonas Devlieghere
[lldb] Set the launch flags to GetLaunchInfo().GetLaunchFlags()

Instead of clearing the launch flags, always pass the target's current
launch flags.
The file was modifiedlldb/test/API/commands/expression/expr-in-syscall/TestExpressionInSyscall.py
The file was modifiedlldb/test/API/commands/register/register/register_command/TestRegisters.py
The file was modifiedlldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py
The file was modifiedlldb/test/API/python_api/event/TestEvents.py
Commit 3a2645e42899fe5a70df4bdb04acceea0e9db155 by llvm-dev
[X86][SSE] Add HADD combine regression case from rG9bd97d036398

rG9bd97d036398 caused a miscompile of this internal test case
The file was modifiedllvm/test/CodeGen/X86/haddsub-undef.ll
Commit 5c9aca1e9396c54151b066189748209554230b59 by pklausler
[flang] Descriptor-based I/O using wrong size for contiguous unformatted I/O

The descriptor-based I/O routine was using the size of the descriptor
rather than the size of the described data for the transfer.  Fix,
and add a comment to the relevant API.

Differential Revision: https://reviews.llvm.org/D85863
The file was modifiedflang/runtime/descriptor-io.h
The file was modifiedflang/runtime/descriptor.h
Commit 612b4dda7667284f81eec0d3447356e88a87f350 by sameerarora101
[llvm-install-name-tool] Add more documentation

Add documentation for the remaining options of
`llvm-install-name-tool`.

Reviewed by jhenderson, smeenai

Differential Revision: https://reviews.llvm.org/D85655
The file was modifiedllvm/docs/CommandGuide/llvm-install-name-tool.rst
Commit 50c743fa713002fe4e0c76d23043e6c1f9e9fe6f by Dávid Bolvanský
[BPI] Improve static heuristics for integer comparisons

Similarly as for pointers, even for integers a == b is usually false.

GCC also uses this heuristic.

Reviewed By: ebrevnov

Differential Revision: https://reviews.llvm.org/D85781
The file was modifiedllvm/test/CodeGen/X86/lsr-negative-stride.ll
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall.ll
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-gep-opt.ll
The file was modifiedllvm/test/Transforms/PGOProfile/landingpad.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-flags.ll
The file was modifiedllvm/test/CodeGen/Hexagon/newvaluejump2.ll
The file was modifiedllvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
The file was modifiedllvm/test/CodeGen/AArch64/cond-br-tuning.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
The file was removedllvm/test/Analysis/BranchProbabilityInfo/zero_heuristics.ll
The file was modifiedllvm/test/CodeGen/Mips/lcb5.ll
The file was modifiedllvm/test/CodeGen/X86/bt.ll
The file was modifiedllvm/test/CodeGen/AArch64/branch-relax-alignment.ll
The file was modifiedllvm/test/CodeGen/Mips/brcongt.ll
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo_mexits.ll
The file was modifiedllvm/include/llvm/Analysis/BranchProbabilityInfo.h
The file was modifiedllvm/test/CodeGen/Mips/lcb2.ll
The file was modifiedcompiler-rt/test/profile/Linux/counter_promo_while.c
The file was modifiedllvm/test/CodeGen/Thumb2/thumb2-branch.ll
The file was modifiedllvm/test/CodeGen/Mips/brconne.ll
The file was modifiedllvm/test/CodeGen/X86/wide-integer-cmp.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-40.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-optsize.ll
The file was modifiedllvm/test/CodeGen/X86/nobt.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-cmp-branch2.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/loop.ll
The file was modifiedllvm/test/CodeGen/X86/funnel-shift.ll
The file was modifiedllvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll
The file was addedllvm/test/Analysis/BranchProbabilityInfo/integer_heuristics.ll
The file was modifiedllvm/test/CodeGen/ARM/2011-12-14-machine-sink.ll
The file was modifiedllvm/lib/Analysis/BranchProbabilityInfo.cpp
The file was modifiedllvm/test/CodeGen/X86/pr29170.ll
The file was modifiedllvm/test/CodeGen/Mips/longbranch/compact-branches-long-branch.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-pgso.ll
The file was modifiedllvm/test/CodeGen/X86/bmi.ll
The file was modifiedllvm/test/CodeGen/X86/indirect-branch-tracking-eh2.ll
The file was modifiedllvm/test/CodeGen/RISCV/branch.ll
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall-pgso.ll
The file was modifiedllvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64m-w-insts-legalization.ll
The file was modifiedllvm/test/CodeGen/Mips/seleq.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
The file was modifiedllvm/test/CodeGen/PowerPC/brcond.ll
The file was modifiedllvm/test/CodeGen/Mips/selle.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/varying-outer-2d-reduction.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp.ll
The file was modifiedllvm/test/CodeGen/Mips/compactbranches/no-beqzc-bnezc.ll
The file was modifiedllvm/test/CodeGen/X86/3addr-16bit.ll
The file was modifiedllvm/test/CodeGen/ARM/lsr-unfolded-offset.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-37.ll
The file was modifiedllvm/test/CodeGen/X86/machine-cse.ll
The file was modifiedllvm/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
The file was modifiedllvm/test/CodeGen/X86/neg_cmp.ll
The file was modifiedllvm/test/CodeGen/ARM/cmpxchg-weak.ll
The file was modifiedllvm/test/CodeGen/ARM/machine-cse-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-unordered.ll
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-cmp-branch.ll
The file was modifiedllvm/test/CodeGen/X86/jump_sign.ll
The file was modifiedllvm/test/CodeGen/X86/absolute-cmp.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-distribute.ll
The file was modifiedcompiler-rt/test/profile/Linux/counter_promo_for.c
The file was modifiedllvm/test/CodeGen/Mips/brconlt.ll
Commit 8d58eb11f9dabacc37f1f5e2cc83149b24868180 by sameerarora101
[llvm-libtool-darwin] Refactor ArchiveWriter

Refactoring function `writeArchive` in ArchiveWriter. Added a new
function `writeArchiveBuffer` that returns the archive in a memory
buffer instead of writing it out to the disk. This refactor is necessary
so as to allow `llvm-libtool-darwin` to write universal files containing
archives.

Reviewed by jhenderson, MaskRay, smeenai

Differential Revision: https://reviews.llvm.org/D84858
The file was modifiedllvm/include/llvm/Object/ArchiveWriter.h
The file was modifiedllvm/lib/Object/ArchiveWriter.cpp
Commit 05169af5cea2c3b9aa0f38354d0e81ddf6b7a3d9 by clementval
[flang][openacc] Handle optional end directive in combined construct

OpenACC combined construct can have an optional end directive. This patch handle this
case in the parsing/unparsing with a canonicalization step. Unlike OmpEndLoopDirective,
this doesn't need a special treatment in the pre-fir tree as there is no clause attached to
a AccEndCombinedDirective.

Reviewed By: klausler

Differential Revision: https://reviews.llvm.org/D84481
The file was modifiedflang/lib/Semantics/canonicalize-acc.cpp
The file was modifiedflang/lib/Parser/type-parsers.h
The file was modifiedflang/lib/Semantics/check-acc-structure.cpp
The file was modifiedflang/test/Lower/pre-fir-tree05.f90
The file was modifiedflang/include/flang/Parser/parse-tree.h
The file was modifiedflang/lib/Parser/executable-parsers.cpp
The file was modifiedflang/lib/Parser/openacc-parsers.cpp
The file was modifiedflang/lib/Parser/unparse.cpp
The file was modifiedflang/test/Semantics/acc-clause-validity.f90
The file was addedflang/test/Semantics/acc-canonicalization-validity.f90
The file was modifiedflang/lib/Parser/program-parsers.cpp
Commit bd2853f7998d41e0d16c00e2b043e35b688eaf00 by sameerarora101
[llvm-libtool-darwin] Add support for -arch_only

Add support for -arch_only option for llvm-libtool-darwin. This diff
also adds support for accepting universal files as input and flattening
them to create the required static library. Supports input universal
files contaning both Mach-O object files or archives.

Differences from cctools' libtool:
- `-arch_only` can be specified multiple times
- archives containing universal files are considered invalid (libtool
allows such archives)

Reviewed by jhenderson, smeenai

Differential Revision: https://reviews.llvm.org/D84770
The file was modifiedllvm/tools/llvm-libtool-darwin/LLVMBuild.txt
The file was addedllvm/test/tools/llvm-libtool-darwin/cpu-subtype-matching.test
The file was modifiedllvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
The file was modifiedllvm/tools/llvm-libtool-darwin/CMakeLists.txt
The file was addedllvm/test/tools/llvm-libtool-darwin/universal-file-flattening.test
The file was modifiedllvm/docs/CommandGuide/llvm-libtool-darwin.rst
Commit adaadbfeac98ab9d5ce34b8bb2ceedddc5dc1fd4 by Lang Hames
[JITLink][MachO] Return an error when MachO TLV relocations are encountered.

MachO TLV relocations aren't supported yet. Error out rather than falling
through to llvm_unreachable.
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
Commit e137b550587a85b0d9c9c539edc79de0122b6946 by Lang Hames
[llvm-jitlink] Don't demote unreferenced definitions in -harness mode.

Demoting unreferenced externals is unsafe if multiple interdependent test
objects are used, including objects loaded from archives.
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
Commit 2f7adf5ee37934ee5769276644fcafbc9d4dcda3 by Dávid Bolvanský
[Diagnostics] Skip var decl of structs for -Wstring-concatenation
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/Sema/string-concat.c
Commit 3944d3df4f062db1e1fb1deab24e4c40bd5c8095 by Dávid Bolvanský
[Tests] Removed debug copy command
The file was modifiedcompiler-rt/test/profile/Linux/counter_promo_for.c
Commit 1a8c9cd1d96e680a3c519e9b3295ba9c4a34736d by 1894981+hiraditya
Fix PR45442: Bail out when MemorySSA information is not available

Reviewers: sebpop, uabelho, fhahn
Reviewed by: fhahn

Differential Revision: https://reviews.llvm.org/D85881
The file was modifiedllvm/lib/Transforms/Scalar/GVNHoist.cpp
The file was modifiedllvm/test/Transforms/GVNHoist/pr45442.ll
Commit d25cb5a8a23ec9192e32a318eb565e956b87f553 by Stanislav.Mekhanoshin
[AMDGPU] Fix misleading SDWA verifier error. NFC.

The old error from GFX9 shall be updated to GFX9+.
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp