SuccessChanges

Summary

  1. [clang][deps] NFC: Handle `DependencyOutputOptions` only once (details)
  2. [clang][deps] NFC: Stop using moved-from object (details)
  3. [DAGCombine] reduceBuildVecToShuffle(): sort input vectors by decreasing size (details)
  4. [NFC][DAGCombine] Extract getFirstIndexOf() lambda back into a function (details)
  5. Reland "[lldb] Set return status to failed when adding a command error" (details)
  6. [flang] Fix compilation problem with rename of "MemRefDataFlow" (details)
  7. Add AutomaticAllocationScope to memref.alloca_scope (details)
  8. [libc++] [test] No longer rely on std::hash<T>::argument_type. (details)
  9. [lldb][docs] Fix section name for InputReaderGranularity (details)
  10. [lldb][docs] Add the missing rst anchors to the Python enum docs (details)
  11. [libcxx][ranges] Implement views::all. (details)
  12. [gn build] Port c820b494d6e1 (details)
  13. Revert "[clang] NRVO: Improvements and handling of more cases." (details)
  14. [AArch64] Improve SAD pattern (details)
  15. [ADT] Use unnamed argument for unused arg in StringMapEntryStorage. (details)
  16. [AIX][XCOFF] emit vector info of traceback table. (details)
  17. SelectionDAG: repair the Windows build (details)
  18. [VectorCombine] Limit scalarization to non-poison indices for now. (details)
  19. [mlir] Mark gpu dialect illegal in gpu-to-llvm conversion (details)
  20. [LoopDeletion] Add test with irreducible control flow in loop. (details)
  21. [InstCombine] add tests for logical and/or with not ops; NFC (details)
  22. [InstCombine] add DeMorgan folds for logical ops in select form (details)
  23. [Verifier] Parallelize verification and dom checking.  NFC. (details)
  24. [flang] Move buffer runtime test to GTest (details)
  25. [RISCV] Transform unaligned RVV vector loads/stores to aligned ones (details)
  26. [Clang] Test case for -Wunused-but-set-variable, warn for volatile. (details)
  27. [CSSPGO] Aggregation by the last K context frames for cold profiles (details)
  28. [OpenMP] Fix C-only clang assert on parsing use_allocator clause of target directive (details)
  29. [lld-macho] Reword comment for clarity (details)
  30. [lld-macho] Fix "shift exponent too large" UBSAN error (details)
  31. [OpaquePtr] Remove existing support for forward compatibility (details)
  32. [NFC] Remove unused variable (details)
  33. [docs][OpaquePtr] Shuffle around the transition plan section (details)
  34. X86: pass swift_async context in R14 on Win64 (details)
  35. Remove accidentally added debugging code from D103135 (details)
  36. [mlir:Linalg] Populate LinalgOp patterns on LinalgDialect as opposed to each op (details)
  37. Move some code under NDEBUG from D103135 (details)
  38. [PassManager] Save compile time by not running the verifier unnecessarily. NFC (details)
  39. [OPENMP][C++20]Add support for CXXRewrittenBinaryOperator in ranged for loops. (details)
  40. [libc++] Clean up scripts to setup CI on macOS (details)
  41. [libc++abi] NFC: avoid a -Wunused-parameter warning (details)
Commit f95ff81627212a8db9f942aafa91392096538847 by Jan Svoboda
[clang][deps] NFC: Handle `DependencyOutputOptions` only once

There's no need to pass `DependencyOutputOptions` to each call of `handleFileDependency`, since the options don't ever change.

This patch adds new `handleDependencyOutputOpts` method to the `DependencyConsumer` interface and the dependency scanner uses it to report the options only once.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D104104
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
The file was modifiedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
Commit 85208b96b85f6f3e502cf4b7fd5f440434d1c7e5 by Jan Svoboda
[clang][deps] NFC: Stop using moved-from object

The dependency scanning worker uses `std::move` to "reset" `DependencyOutputOptions` in the `CompilerInstance` that performs the implicit build. It's probably preferable to replace the object with value-initialized instance, rather than depending on the behavior of a moved-from object.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D104106
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
Commit 6e5628354e22f3ca40b04295bac540843b8e6482 by lebedev.ri
[DAGCombine] reduceBuildVecToShuffle(): sort input vectors by decreasing size

The sorting, obviously, must be stable, else we will have random assembly fluctuations.

Apparently there was no test coverage that would benefit from that,
so i've added one test.

The sorting consists of two parts - just sort the input vectors,
and recompute the shuffle mask -> input vector mapping.
I don't believe we need to do anything else.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D104187
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/oddshuffles.ll
Commit 0f94c3c80dde666f369ef98057ac943e869c3d52 by lebedev.ri
[NFC][DAGCombine] Extract getFirstIndexOf() lambda back into a function

Not all supported compilers like such lambdas, at least one buildbot is unhappy.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 31b9acaec5797e409afb83d665fc8816d8a37940 by david.spickett
Reland "[lldb] Set return status to failed when adding a command error"

This reverts commit ac031c8db2ce454a9b08f23192ce698e8bde4447.

SB API usage has been corrected.
The file was addedlldb/test/Shell/Commands/command-backtrace-parser-1.test
The file was addedlldb/test/Shell/Commands/command-backtrace-parser-2.test
The file was modifiedlldb/source/Interpreter/CommandReturnObject.cpp
The file was modifiedlldb/test/API/commands/register/register/register_command/TestRegisters.py
The file was removedlldb/test/Shell/Commands/command-backtrace.test
Commit b88fa0e39fa7b8906562b7044d06bba094c8b688 by psteinfeld
[flang] Fix compilation problem with rename of "MemRefDataFlow"

Revision https://reviews.llvm.org/D104190 renamed MemRefDataFlow -> AffineScalarReplacement.  After this rename, mlir failed to build.  With this change, all of clang, mlir, and flang build and test correctly.

Differential Revision: https://reviews.llvm.org/D104223
The file was modifiedflang/include/flang/Optimizer/Support/InitFIR.h
Commit c83e696732fd906297d83a98dee044f1173be355 by zinenko
Add AutomaticAllocationScope to memref.alloca_scope

This change adds `AutomaticAllocationScope` to the
memref.alloca_scope op. Additionally, it also clarifies
that alloca_scope is is conceptually a passthrough operation.

Reviewed By: ftynse, bondhugula

Differential Revision: https://reviews.llvm.org/D104227
The file was modifiedmlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
Commit bbd717b9a3b22c6cba1535018dae2ebcee95fc9b by arthur.j.odwyer
[libc++] [test] No longer rely on std::hash<T>::argument_type.

Differential Revision: https://reviews.llvm.org/D104166
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/default.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.swap/swap_non_member.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/size.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/size.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/range_size.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/copy_alloc.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal.pass.cpp
The file was modifiedlibcxx/test/std/containers/test_hash.h
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/move_alloc.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/assign_move.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_alloc.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash_equal_allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash_equal.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_move.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/move.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/move_alloc.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash_equal_allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.swap/swap_non_member.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal_allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/copy.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/copy.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash_equal_allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/default.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_init.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/swap_member.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_move.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/default.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/swap_member.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash_equal.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal_allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/size.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/swap_member.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/assign_init.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/range.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/size.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.swap/swap_non_member.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash_equal.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/copy.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_init.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/init.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal_allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/assign_move.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/copy_alloc.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/swap_member.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash_equal_allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal_allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/move.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/copy_alloc.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/init.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash_equal.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/assign_init.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/default.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal_allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/assign_copy.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.swap/swap_non_member.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/assign_copy.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/range.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/range_size_hash.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal_allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal_allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/range_size_hash.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/init_size.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal_allocator.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/range_size.pass.cpp
Commit e3d5e3193fd5a202a58652d28115f71d0a04a479 by Raphael Isemann
[lldb][docs] Fix section name for InputReaderGranularity
The file was modifiedlldb/docs/python_api_enums.rst
Commit d94ce1a391cbc85dab13ac6b6c4afbaef7684eec by Raphael Isemann
[lldb][docs] Add the missing rst anchors to the Python enum docs
The file was modifiedlldb/docs/python_api_enums.rst
Commit c820b494d6e13c255cd89d77e66d911468e3a95d by zoecarver
[libcxx][ranges] Implement views::all.

Differential Revision: https://reviews.llvm.org/D102028
The file was modifiedlibcxx/include/__ranges/size.h
The file was addedlibcxx/test/std/ranges/range.adaptors/range.all.pass.cpp
The file was modifiedlibcxx/include/CMakeLists.txt
The file was addedlibcxx/include/__ranges/all.h
The file was modifiedlibcxx/include/ranges
Commit bfd451a0ca9bc6cd448c39bcf6fb06e1c1742637 by llvmgnsyncbot
[gn build] Port c820b494d6e1
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit c60dd3b2626a4d9eefd9f82f9a406b0d28d3fd72 by hans
Revert "[clang] NRVO: Improvements and handling of more cases."

This change caused build errors related to move-only __block variables,
see discussion on https://reviews.llvm.org/D99696

> This expands NRVO propagation for more cases:
>
> Parse analysis improvement:
> * Lambdas and Blocks with dependent return type can have their variables
>   marked as NRVO Candidates.
>
> Variable instantiation improvements:
> * Fixes crash when instantiating NRVO variables in Blocks.
> * Functions, Lambdas, and Blocks which have auto return type have their
>   variables' NRVO status propagated. For Blocks with non-auto return type,
>   as a limitation, this propagation does not consider the actual return
>   type.
>
> This also implements exclusion of VarDecls which are references to
> dependent types.
>
> Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
>
> Reviewed By: Quuxplusone
>
> Differential Revision: https://reviews.llvm.org/D99696

This also reverts the follow-on change which was hard to tease apart
form the one above:

> "[clang] Implement P2266 Simpler implicit move"
>
> This Implements [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2266r1.html|P2266 Simpler implicit move]].
>
> Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
>
> Reviewed By: Quuxplusone
>
> Differential Revision: https://reviews.llvm.org/D99005

This reverts commits 1e50c3d785f4563873ab1ce86559f2a1285b5678 and
bf20631782183cd19e0bb7219e908c2bbb01a75f.
The file was modifiedclang/test/SemaCXX/coroutine-rvo.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/test/CXX/class/class.init/class.copy.elision/p3.cpp
The file was modifiedclang/test/SemaCXX/warn-return-std-move.cpp
The file was modifiedclang/test/CXX/temp/temp.decls/temp.mem/p5.cpp
The file was modifiedclang/test/CodeGen/nrvo-tracking.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx11.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx14.cpp
The file was modifiedclang/test/SemaCXX/coroutines.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.lambda/p4-cxx14.cpp
The file was modifiedclang/test/SemaCXX/return-stack-addr.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p7-cxx14.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/CXX/drs/dr3xx.cpp
The file was modifiedclang/test/SemaCXX/deduced-return-type-cxx14.cpp
Commit 08ce52ef5e6b879216f8018b920ef5c0621e797d by jingu.kang
[AArch64] Improve SAD pattern

Given a vecreduce_add node, detect the below pattern and convert it to the node
sequence with UABDL, [S|U]ADB and UADDLP.

i32 vecreduce_add(
v16i32 abs(
   v16i32 sub(
    v16i32 [sign|zero]_extend(v16i8 a), v16i32 [sign|zero]_extend(v16i8 b))))
=================>
i32 vecreduce_add(
  v4i32 UADDLP(
    v8i16 add(
      v8i16 zext(
        v8i8 [S|U]ABD low8:v16i8 a, low8:v16i8 b
      v8i16 zext(
        v8i8 [S|U]ABD high8:v16i8 a, high8:v16i8 b

Differential Revision: https://reviews.llvm.org/D104042
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/arm64-vabs.ll
The file was modifiedllvm/test/CodeGen/AArch64/neon-sad.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
Commit d767d1dd2c7870bf7e1c4c301a59b682370b9a2a by flo
[ADT] Use unnamed argument for unused arg in StringMapEntryStorage.

This silences an 'unsused argument' warning.

Similar to c2006f857d80f54b90ed7d911d3e7acf4f46001b.
The file was modifiedllvm/include/llvm/ADT/StringMapEntry.h
Commit 7ed515d16803f12fc06258ebf8a405931dc8a637 by zhijian
[AIX][XCOFF] emit vector info of traceback table.

Summary:

emit vector info of traceback table.

Reviewers: Jason Liu,Hubert Tong
Differential Revision: https://reviews.llvm.org/D93659
The file was modifiedllvm/lib/CodeGen/MachineRegisterInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-exception.ll
The file was modifiedllvm/include/llvm/BinaryFormat/XCOFF.h
The file was modifiedllvm/lib/Object/XCOFFObjectFile.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-vectorinfo.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h
The file was addedllvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-vectorinfo_hasvarg.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-clobber-register.ll
The file was modifiedllvm/include/llvm/Object/XCOFFObjectFile.h
The file was modifiedllvm/lib/BinaryFormat/XCOFF.cpp
The file was modifiedllvm/unittests/Object/XCOFFObjectFileTest.cpp
The file was modifiedllvm/test/DebugInfo/XCOFF/explicit-section.ll
The file was modifiedllvm/include/llvm/CodeGen/MachineRegisterInfo.h
Commit 5b5833b9e092bd6808818615c2e4816995382b55 by Saleem Abdulrasool
SelectionDAG: repair the Windows build

6e5628354e22f3ca40b04295bac540843b8e6482 regressed the Windows build as
the return type no longer matched in both branches for the return value
type deduction.  This uses a bit more compiler magic to deal with that.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 96ca03493ae51def23eb69475fbf1bfae1eb9f2c by flo
[VectorCombine] Limit scalarization to non-poison indices for now.

As Eli mentioned post-commit in D103378, the result of the freeze may
still be out-of-range according to Alive2. So for now, just limit the
transform to indices that are non-poison.
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
Commit abe501f240c6b675b32c9b1e60dd4591a34c4f94 by csigg
[mlir] Mark gpu dialect illegal in gpu-to-llvm conversion

Reviewed By: herhut, bondhugula

Differential Revision: https://reviews.llvm.org/D104208
The file was modifiedmlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
Commit ee9bb258bb76e9c076c19592b3778e2ecc2ff47c by flo
[LoopDeletion] Add test with irreducible control flow in loop.

Currently the irreducible cycles in the loops are ignored. The
irreducible cycle may loop infinitely in
irreducible_subloop_no_mustprogress, which is allowed and the loop
should not be removed.

Discussed in D103382.
The file was addedllvm/test/Transforms/LoopDeletion/loops-with-irreducible-subloops.ll
Commit 56ae4f23b227897361d2a7c84364a6df81f3c327 by spatel
[InstCombine] add tests for logical and/or with not ops; NFC
The file was modifiedllvm/test/Transforms/InstCombine/select-and-or.ll
The file was modifiedllvm/test/Transforms/InstCombine/not.ll
Commit 8591640379ac9175a8a8493126ecf0b44e3bb4af by spatel
[InstCombine] add DeMorgan folds for logical ops in select form

We canonicalized to these select patterns (poison-safe logic)
with D101191, so we need to reduce 'not' ops when possible
as we would with 'and'/'or' instructions.

This is shown in a secondary example in:
https://llvm.org/PR50389

https://alive2.llvm.org/ce/z/BvsESh
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/test/Transforms/InstCombine/select-and-or.ll
Commit ce77039596a9bfb9f1649455ef4f26aeada2ee8c by clattner
[Verifier] Parallelize verification and dom checking.  NFC.

This changes the outer verification loop to not recurse into
IsolatedFromAbove operations - instead return them up to a place
where a parallel for loop can process them all in parallel.  This
also changes Dominance checking to happen on IsolatedFromAbove
chunks of the region tree, which makes it easy to fold operation
and dominance verification into a single simple parallel regime.

This speeds up firtool in CIRCT from ~40s to 31s on a large
testcase in -verify-each mode (the default).  The .fir parser and
module passes in particular benefit from this - FModule passes
(roughly analogous to function passes) were already running the
verifier in parallel as part of the pass manager.  This allows
the whole-module passes to verify their enclosed functions /
FModules in parallel.

-verify-each mode is still faster (26.3s on the same testcase),
but we do expect the verifier to take *some* time.

Differential Revision: https://reviews.llvm.org/D104207
The file was modifiedmlir/lib/IR/Verifier.cpp
Commit c58cf692f4197bf1f8ea7e0efb95c1afd2d6d81f by ashermancinelli
[flang] Move buffer runtime test to GTest

Move buffer unit test from Runtime directory to RuntimeGtest
directory and use GTest. Test coverage is only maintained.

Differential Revision: https://reviews.llvm.org/D102335
Reviewed By: awarzynski, klausler
The file was addedflang/unittests/RuntimeGTest/BufferTest.cpp
The file was modifiedflang/unittests/Runtime/CMakeLists.txt
The file was modifiedflang/unittests/RuntimeGTest/CMakeLists.txt
The file was removedflang/unittests/Runtime/buffer.cpp
Commit c75e454cb93206833f8cedde1ed5d12ef161e357 by fraser
[RISCV] Transform unaligned RVV vector loads/stores to aligned ones

This patch adds support for loading and storing unaligned vectors via an
equivalently-sized i8 vector type, which has support in the RVV
specification for byte-aligned access.

This offers a more optimal path for handling of unaligned fixed-length
vector accesses, which are currently scalarized. It also prevents
crashing when `LegalizeDAG` sees an unaligned scalable-vector load/store
operation.

Future work could be to investigate loading/storing via the largest
vector element type for the given alignment, in case that would be more
optimal on hardware. For instance, a 4-byte-aligned nxv2i64 vector load
could loaded as nxv4i32 instead of as nxv16i8.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D104032
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was addedllvm/test/CodeGen/RISCV/rvv/unaligned-loads-stores.ll
Commit 20f7b5f3f9c8ebbbe7bf6648c824b815385d4bf7 by George Burgess IV
[Clang] Test case for -Wunused-but-set-variable, warn for volatile.

Differential Revision: https://reviews.llvm.org/D103623
The file was modifiedclang/test/Sema/warn-unused-but-set-variables.c
Commit 863184dd6920a65dd122603be7e595bc88d89e8b by wlei
[CSSPGO] Aggregation by the last K context frames for cold profiles

This change provides the option to merge and aggregate cold context by the last k frames instead of context-less name. By default K = 1 means the context-less one.

This is for better perf tuning. The more selective merging and trimming will rely on llvm-profgen's preinliner.

Reviewed By: wenlei, hoy

Differential Revision: https://reviews.llvm.org/D104131
The file was modifiedllvm/lib/ProfileData/SampleProf.cpp
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/tools/llvm-profgen/ProfileGenerator.cpp
The file was modifiedllvm/test/tools/llvm-profgen/merge-cold-profile.test
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
Commit 44f197e94b83d389b59ce6a2a1977f972e6d34e3 by a.bataev
[OpenMP] Fix C-only clang assert on parsing use_allocator clause of target directive

The parser code assumes building with C++ compiler and asserts when using clang (not clang++) on C file. I made the code dependent on input language. This shows up for amdgpu target.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D103899
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was addedclang/test/OpenMP/target_uses_allocators.c
Commit e06b9ba48562741357622573d194209fdfb70274 by jezng
[lld-macho] Reword comment for clarity
The file was modifiedlld/MachO/MapFile.cpp
Commit cc17bfe4898de0b57b58103bb629960f89eb4706 by jezng
[lld-macho] Fix "shift exponent too large" UBSAN error

UBSAN seems to have added this check somewhere along the way...

This might also fix the PPC buildbot, which is failing on the same test
The file was modifiedlld/MachO/InputFiles.cpp
Commit 8c5a44901cafa5c848d3f2f2c26a23e6583ed657 by aeubanks
[OpaquePtr] Remove existing support for forward compatibility

It assumes that PointerType will keep having an optional pointee type,
but we'd like to remove the pointee type in PointerType at some point.

I feel like the current implementation could be simplified anyway,
although perhaps I'm underestimating the amount of work needed
throughout BitcodeReader.

We will still need a side table to keep track of pointee types. This
will be reimplemented at some point.

This is essentially a revert of a4771e9d (which doesn't look like it was
reviewed anyway).

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D103135
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/lib/Bitcode/Reader/ValueList.h
The file was modifiedllvm/lib/Bitcode/Reader/ValueList.cpp
Commit d650ccf6390bb1e4454dd735cfcec9eda9af8ca3 by Vitaly Buka
[NFC] Remove unused variable

To fix 'set but not used' warning on sanitizer-x86_64-linux-android bot.
The file was modifiedclang/lib/Format/WhitespaceManager.cpp
Commit 0e31e22ed973ba542cb15176a202947b2438733a by aeubanks
[docs][OpaquePtr] Shuffle around the transition plan section

Emphasize that this is basically an attempt to remove
``PointerType::getElementType`` and ``Type::getPointerElementType()``.

Add a couple more subtasks.

Differential Revision: https://reviews.llvm.org/D104151
The file was modifiedllvm/docs/OpaquePointers.rst
Commit 8c8dbc10825cf099607af3da58b839e10c68320f by Saleem Abdulrasool
X86: pass swift_async context in R14 on Win64

Pass swift_async context in a callee-saved register rather than as a
regular parameter.  This is similar to the Swift `self` and `error`
parameters.
The file was addedllvm/test/CodeGen/X86/swift-async-reg-win64.ll
The file was modifiedllvm/lib/Target/X86/X86CallingConv.td
Commit 75d3b46ad2dfa7494c9bffa277203b51ff86df38 by aeubanks
Remove accidentally added debugging code from D103135
The file was modifiedllvm/lib/Bitcode/Reader/ValueList.cpp
Commit 66e27082054bf8f106ce63d5cb7d6c67e628feff by riddleriver
[mlir:Linalg] Populate LinalgOp patterns on LinalgDialect as opposed to each op

Interface patterns are unique in that they get added to every operation that also implements that interface, given that they aren't tied to individual operations. When the same interface pattern gets added to multiple operations (such as the current behavior with Linalg), an reference to each of these patterns is added to every op (meaning that an operation will now have N references to effectively the same pattern). This revision fixes this problematic behavior in Linalg, and can bring upwards of a 25% reduction in compile time in Linalg based workloads.

Differential Revision: https://reviews.llvm.org/D104160
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Commit cc8d32ae7d94c96b9280df40eb3507eae79c7101 by aeubanks
Move some code under NDEBUG from D103135
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
Commit a490ca8e014acac9c2df7bd7f0aff6c7422d850a by clattner
[PassManager] Save compile time by not running the verifier unnecessarily. NFC

This changes the pass manager to not rerun the verifier when a pass says it
didn't change anything or after an OpToOpPassAdaptor, since neither of those
cases need verification (and if the pass lied, then there will be much larger
semantic problems than will be caught by the verifier).

This maintains behavior in EXPENSIVE_CHECKS mode.

Differential Revision: https://reviews.llvm.org/D104243
The file was modifiedmlir/lib/Pass/Pass.cpp
Commit 4e155608796b79d7e369f4e42980ce670bff7172 by a.bataev
[OPENMP][C++20]Add support for CXXRewrittenBinaryOperator in ranged for loops.

Added support for CXXRewrittenBinaryOperator as a condition in ranged
for loops. This is a new kind of expression, need to extend support for
  C++20 constructs.
It fixes PR49970: range-based for compilation fails for libstdc++ vector
with -std=c++20.

Differential Revision: https://reviews.llvm.org/D104240
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was addedclang/test/OpenMP/for_ast_print_cxx20.cpp
Commit d9d20802d0ce757d4b33d6bd67d700e3272bc8b6 by Louis Dionne
[libc++] Clean up scripts to setup CI on macOS
The file was modifiedlibcxx/utils/ci/macos-ci-setup
The file was removedlibcxx/utils/ci/secrets.env
The file was modifiedlibcxx/docs/AddingNewCIJobs.rst
Commit ecb68f1c8b11b54dc8c48af9f5fe28c261090aba by xingxue
[libc++abi] NFC: avoid a -Wunused-parameter warning

Summary:
A -Wunused-parameter warning was introduced by patch rG7f0244afa828 [libc++abi] NFC: adding a new parameter base to functions for calculating… (authored by xingxue). The unused parameter base will be used in a follow-on patch D101298. This patch is to avoid the warning before D101298 is landed.

Reviewers: ldionne, sfertile, compnerd, libc++abi

Reviewed by: ldionne

Differential Revision: https://reviews.llvm.org/D104235
The file was modifiedlibcxxabi/src/cxa_personality.cpp