[all-commits] [llvm/llvm-project] 6c62f7: [MsgPack] Handle Expected<T> errors in document re...

Jon Roelofs via All-commits all-commits at lists.llvm.org
Tue Dec 5 11:28:21 PST 2023


  Branch: refs/heads/users/jroelofs/spr/main.clang-support-__attribute__ifunc-on-darwin-platforms
  Home:   https://github.com/llvm/llvm-project
  Commit: 6c62f7cbfb3a4dc12cee2f6c02191b83047321d9
      https://github.com/llvm/llvm-project/commit/6c62f7cbfb3a4dc12cee2f6c02191b83047321d9
  Author: Emma Pilkington <emma.pilkington95 at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/MsgPackReader.h
    M llvm/lib/BinaryFormat/MsgPackDocument.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
    M llvm/test/tools/llvm-readobj/ELF/note-amd-invalid-v3.test
    M llvm/test/tools/llvm-readobj/ELF/note-amdgpu-invalid.s

  Log Message:
  -----------
  [MsgPack] Handle Expected<T> errors in document reader (#73183)

This was causing an assert on invalid in the modified test case.


  Commit: 43f783ff66d7ae5a8bf43cdab251750780de7934
      https://github.com/llvm/llvm-project/commit/43f783ff66d7ae5a8bf43cdab251750780de7934
  Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libc/docs/dev/api_test.rst
    M libc/docs/dev/clang_tidy_checks.rst
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/implementation_standard.rst
    M libc/docs/dev/source_tree_layout.rst
    M libc/docs/strings.rst

  Log Message:
  -----------
  [libc][docs] Update implementation docs (#73590)

Some of the files in the docs/ directory are from 2019 and haven't been
updated since. This patch updates implementation_standard.rst,
source_tree_layout.rst, and has some minor fixes for strings.rst. It
also marks the most severely out of date files with a warning. These
files will be updated in a later patch.


  Commit: 0783bf1cb3e47fc48813ee63f42d72b70d8cb792
      https://github.com/llvm/llvm-project/commit/0783bf1cb3e47fc48813ee63f42d72b70d8cb792
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/common/MemoryManager/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/common/MemoryManager/MemoryManager.h
    M openmp/libomptarget/plugins-nextgen/common/OMPT/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/CMakeLists.txt
    A openmp/libomptarget/plugins-nextgen/common/PluginInterface/MemoryManager.h
    M openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt

  Log Message:
  -----------
  [OpenMP][NFC] Merge MemoryManager into PluginInterface (#73678)

Similar to #73677, there is no benefit from keeping MemoryManager
seperate; it's tied into the current design. Except the move I also
replaced the getenv call with our Env handling.


  Commit: efac016e32f3b7ded78650b0e40a9880a298bdbe
      https://github.com/llvm/llvm-project/commit/efac016e32f3b7ded78650b0e40a9880a298bdbe
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libcxx/test/std/time/time.cal/euclidian.h
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/decrement.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/increment.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/plus_minus_equal.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/c_encoding.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/decrement.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/increment.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/iso_encoding.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/plus_minus_equal.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/decrement.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/increment.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus_equal.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/plus.pass.cpp

  Log Message:
  -----------
  [NFC][libc++] Refactors the time.cal tests. (#73356)

These tests use an old way to test code in constexpr context. This
changes the code to the idomatic libc++ method.

This is a preparation for #73162.

Side changes
- Updated formatting
- Made some helper functions constexpr
- Some naming improvements


  Commit: badec9b7bfb6fb27d8be42d1b71bea7a3cd37da6
      https://github.com/llvm/llvm-project/commit/badec9b7bfb6fb27d8be42d1b71bea7a3cd37da6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC]Fix loops variables names, NFC.


  Commit: 98e674c9f16d677d95c67bc130e267fae331e43c
      https://github.com/llvm/llvm-project/commit/98e674c9f16d677d95c67bc130e267fae331e43c
  Author: Amirreza Ashouri <ar.ashouri999 at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/Type.cpp
    M clang/test/SemaCXX/type-traits-incomplete.cpp
    A clang/test/SemaCXX/type-traits-nonobject.cpp

  Log Message:
  -----------
  [clang] Non-object types are non-trivially relocatable (#69734)

Both active C++ proposals (P1144 and P2786) agree that
`is_trivially_relocatable_v<int&>` and
`is_trivially_relocatable_v<int()>` should be false, not true. Only
complete object types can be trivially relocatable.

Fixes #67498


  Commit: c846f8ba104f18053ce666de7e2da0a82deb45cd
      https://github.com/llvm/llvm-project/commit/c846f8ba104f18053ce666de7e2da0a82deb45cd
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M lldb/source/Core/Progress.cpp

  Log Message:
  -----------
  [lldb][progress] Always report progress upon Progress object destruction (#73605)

This commit allows a final progress report upon the destruction of the
`Progress` object to happen at all times as opposed to when the progress
was not completed.


  Commit: 02cbae4fe0683c90ccd544d0be7fa82732a502e8
      https://github.com/llvm/llvm-project/commit/02cbae4fe0683c90ccd544d0be7fa82732a502e8
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll

  Log Message:
  -----------
  [RISCV] Work on subreg for insert_vector_elt when vlen is known (#72666) (#73680)

If we have a constant index and a known vlen, then we can identify which
registers out of a register group is being accessed. Given this, we can
reuse the (slightly generalized) existing handling for working on
sub-register groups. This results in all constant index extracts with
known vlen becoming m1 operations.

One bit of weirdness to highlight and explain: the existing code uses
the VL from the original vector type, not the inner vector type. This is
correct because the inner register group must be smaller than the
original (possibly fixed length) vector type. Overall, this seems to a
reasonable codegen tradeoff as it biases us towards immediate AVLs,
which avoids needing the vsetvli form which clobbers a GPR for no real
purpose. The downside is that for large fixed length vectors, we end up
materializing an immediate in register for little value. We should
probably generalize this idea and try to optimize the large fixed length
vector case, but that can be done in separate work.


  Commit: a8ac930b99d93b2a539ada7e566993d148899144
      https://github.com/llvm/llvm-project/commit/a8ac930b99d93b2a539ada7e566993d148899144
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/TargetOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/test/Driver/code-object-version.f90
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    A flang/test/Lower/AMD/code-object-version.f90
    M llvm/include/llvm/Target/TargetOptions.h

  Log Message:
  -----------
  [Flang] Add code-object-version option (#72638)

Information about code object version can be configured by the user for
AMD GPU target and it needs to be placed in LLVM IR generated by Flang.

Information about code object version in MLIR generated by the parser
can be reused by other tools. There is no need to specify extra flags if
we want to invoke MLIR tools (like fir-opt) separately.


  Commit: 19fa27605ca63c0d60ffd532f41de004a57a455f
      https://github.com/llvm/llvm-project/commit/19fa27605ca63c0d60ffd532f41de004a57a455f
  Author: Michael Halkenhaeuser <MichaelGerald.Halkenhauser at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M openmp/docs/design/Runtimes.rst

  Log Message:
  -----------
  [NFC][docs] Add AMDGPU documentation for `LIBOMPTARGET_STACK_SIZE`

Add documentation w.r.t. changes by #72606, which allows to set the dynamic
callstack size.


  Commit: f00ffcdb58d6db902a8f86b0ce83a03874d113ad
      https://github.com/llvm/llvm-project/commit/f00ffcdb58d6db902a8f86b0ce83a03874d113ad
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/TargetOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    R flang/test/Driver/code-object-version.f90
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    R flang/test/Lower/AMD/code-object-version.f90
    M llvm/include/llvm/Target/TargetOptions.h

  Log Message:
  -----------
  Revert "[Flang] Add code-object-version option (#72638)"

This commit causes test errors on buildbots.

This reverts commit a8ac930b99d93b2a539ada7e566993d148899144.


  Commit: 447da954c7dc3175ef3e04da7b2c65cd75c16f92
      https://github.com/llvm/llvm-project/commit/447da954c7dc3175ef3e04da7b2c65cd75c16f92
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC]Use DenseSet instead of SetVector, NFC.

For CSEBlocks we can safely use DenseSet, the order should not be
preserved for this container.


  Commit: e88a1ce0137bc14b754b86313228fdc48ba737f3
      https://github.com/llvm/llvm-project/commit/e88a1ce0137bc14b754b86313228fdc48ba737f3
  Author: Usama Hameed <u_hameed at apple.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp

  Log Message:
  -----------
  [ASan] Allow for passing AddressSanitizer command line options through the AddressSanitizerOptions struct. (#72439)

This patch adds the ability to pass values for the command line options
of -max-inline-poisoning-size, -instrumentation-with-calls-threshold and
-asan-guard-against-version-mismatch through the AddressSanitizerOptions
struct. The motivation is to use these new options when using the pass
in Swift.

rdar://118470958


  Commit: 3a6f02a6581b49b269710eea944dc114166403ed
      https://github.com/llvm/llvm-project/commit/3a6f02a6581b49b269710eea944dc114166403ed
  Author: Max191 <44243577+Max191 at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir

  Log Message:
  -----------
  [mlir] Add subbyte emulation support for `memref.store`. (#73174)

This adds a conversion for narrow type emulation of memref.store ops.
The conversion replaces the memref.store with two memref.atomic_rmw ops.
Atomics are used to prevent race conditions on same-byte accesses, in
the event that two threads are storing into the same byte.

Fixes https://github.com/openxla/iree/issues/15370


  Commit: 17feb330aab39c6c0c21ee9b02efb484dfb2261e
      https://github.com/llvm/llvm-project/commit/17feb330aab39c6c0c21ee9b02efb484dfb2261e
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/DragonFly.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/Solaris.cpp
    A flang/test/Driver/Inputs/no_duplicate_main.ll
    M flang/test/Driver/linker-flags.f90
    A flang/test/Driver/no_duplicate_main.f90

  Log Message:
  -----------
  [flang][Driver] Let the linker fail on multiple definitions of main() (#73124)

The flang driver was silently ignoring the `main()` function in
`Fortran_main.a` for entry into the Fortran program unit if an external
`main()` as supplied (e.g., via cross-language linkage with Fortran and
C/C++). This PR fixes this by making sure that the linker always pulls
in the `main()` definition from `Fortran_main.a` and consequently fails
due to multiple definitions of the same symbol if another object file
also has a definition of `main()`.


  Commit: 6989859254e8ce486d21d5a981c7fddf7964c7ad
      https://github.com/llvm/llvm-project/commit/6989859254e8ce486d21d5a981c7fddf7964c7ad
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp

  Log Message:
  -----------
  [llvm][HWASan] Replace calls to Type::getPointerTo (NFC)

If `Type::getPointerTo` is called solely to support an unnecessary
pointer-cast, remove the call entirely.

Otherwise, replace with IRB.getPtrTy().

Clean-up work towards removing method `Type::getPointerTo`.


  Commit: 38e435895779c6f0e6c47a171f3b300ad99828b3
      https://github.com/llvm/llvm-project/commit/38e435895779c6f0e6c47a171f3b300ad99828b3
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/X86/X86Subtarget.cpp
    A llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
    M llvm/test/CodeGen/X86/pcsections.ll
    M llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll

  Log Message:
  -----------
  [X86] With large code model, put functions into .ltext with large section flag (#73037)

So that when mixing small and large text, large text stays out of the
way of the rest of the binary.

This is useful for mixing precompiled small code model object files and
built-from-source large code model binaries so that the the text
sections don't get merged.


  Commit: e1f59ad9f6b4df592925e39462ba95bb299eca26
      https://github.com/llvm/llvm-project/commit/e1f59ad9f6b4df592925e39462ba95bb299eca26
  Author: James Y Knight <jyknight at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/string

  Log Message:
  -----------
  Mark some std::string functions noinline. (#72869)

The intent of these particular functions, since their introduction, was
to NOT be inlinable.

However, the mechanism by which this was accomplished was non-obvious,
and stopped working when string is compiled for C++20.

A longstanding behavior specified by the C++ standard is that
instantiation of the body of a template function is suppressed by an
extern template declaration -- unless the function is explicitly marked
either constexpr or inline. Of course, if the body is not instantiated,
then it cannot possibly be inlined, and thus all the functions listed in
libcxx/include/__string/extern_template_lists.h were uninlineable.

But, in C++20 mode, string functions were annotated constexpr, which
means they _are_ instantiated, and do become inlineable. And, in fact,
they do get inlined, which has caused noticeable binary-size growth for
users.

For example, in C++17,
`std::string f(std::string *in) { return *in; }`
does not inline the copy-constructor call, and instead generates a call
to the exported function defined in the libc++ shared library.

I think we probably don't want to mark all functions that are currently
in the extern template list as noinline, as many of them really are
reasonable inlining candidates. Thus, I've restricted this change to
only the few functions that were clearly intended to be outlined.

See commits like b019c5c0372eb08800327efb5e7955ce918b75d1 (and some
others like it) for background, in which functions were removed from the
extern template list in the unstable ABI in order to allow the
short-string case to be inlined, while moving the long-string case to a
separate function, added to the extern template list.


  Commit: ed27a4edb03809f0fe38f780765acfb97346c127
      https://github.com/llvm/llvm-project/commit/ed27a4edb03809f0fe38f780765acfb97346c127
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libcxx/docs/Status/PSTLPaper.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/pstl_backend.h
    A libcxx/include/__algorithm/pstl_equal.h
    M libcxx/include/algorithm
    M libcxx/include/module.modulemap.in
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.equal.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp

  Log Message:
  -----------
  [libc++][PSTL] Implement std::equal (#72448)

Differential Revision: https://reviews.llvm.org/D157131

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: d4626216943f8c4712bd17a709e439a0ffd0006b
      https://github.com/llvm/llvm-project/commit/d4626216943f8c4712bd17a709e439a0ffd0006b
  Author: Chris B <chris.bieneman at me.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    A clang/test/ParserHLSL/hlsl_groupshared.cpp
    A clang/test/ParserHLSL/hlsl_parameter_modifiers.cpp
    A clang/test/SemaHLSL/parameter_modifiers.hlsl
    A clang/test/SemaHLSL/parameter_modifiers_ast.hlsl

  Log Message:
  -----------
  [HLSL] Parameter modifier parsing and AST (#72139)

This change implements parsing for HLSL's parameter modifier keywords
`in`, `out` and `inout`. Because HLSL doesn't support references or
pointers, these keywords are used to allow parameters to be passed in
and out of functions.

This change only implements the parsing and AST support. In the HLSL
ASTs we represent `out` and `inout` parameters as references, and we
implement the semantics of by-value passing during IR generation.

In HLSL parameters marked `out` and `inout` are ambiguous in function
declarations, and `in`, `out` and `inout` may be ambiguous at call
sites.

This means a function may be defined as `fn(in T)` and `fn(inout T)` or
`fn(out T)`, but not `fn(inout T)` and `fn(out T)`. If a funciton `fn`
is declared with `in` and `inout` or `out` arguments, the call will be
ambiguous the same as a C++ call would be ambiguous given declarations
`fn(T)` and `fn(T&)`.

Fixes #59849


  Commit: ec76d3975c42cb4906fe6e2b555f720d097cc49f
      https://github.com/llvm/llvm-project/commit/ec76d3975c42cb4906fe6e2b555f720d097cc49f
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port ed27a4edb038


  Commit: 4d5079c4dc0ce30ba36315a7c822255cd1eeb9fb
      https://github.com/llvm/llvm-project/commit/4d5079c4dc0ce30ba36315a7c822255cd1eeb9fb
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/src/demangle/ItaniumNodes.def
    M libcxxabi/test/test_demangle.pass.cpp
    M llvm/include/llvm/Demangle/ItaniumDemangle.h
    M llvm/include/llvm/Demangle/ItaniumNodes.def

  Log Message:
  -----------
  [libcxxabi][ItaniumDemangle] Demangle explicitly named object parameters (#72881)

The mangling for an explicitly named object was introduced in
https://reviews.llvm.org/D140828

See following discussion for why a new mangling had to be introduced:
https://github.com/itanium-cxx-abi/cxx-abi/issues/148

Since clang started emitting names with the new mangling, this patch
implements support for demangling such names.

The approach this patch takes is to add a new `ExplicitObjectParameter`
node that will print the first parameter of a function declaration with
a `this ` prefix, to reflect what was spelled out in source.

Example:
```
void MyClass::func(this MyClass const& self); // _ZNH7MyClass4funcERKS_
```
With this patch, the above demangles to:
```
_ZNH7MyClass4funcERKS_ -> MyClass::func(this MyClass const&)
```

Note that `func` is not marked as `const &`, since the
function-qualifiers are now encoded as part of the explicit `this`. C++
doesn't allow specifying the function-qualifiers in the presence of an
explicit object parameter, so this demangling is consistent with the
source spelling.


  Commit: ce731770f869e8e61afa2dccb772e8367105a1a6
      https://github.com/llvm/llvm-project/commit/ce731770f869e8e61afa2dccb772e8367105a1a6
  Author: Chris Bieneman <chris.bieneman at me.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  Fix clang Attribute doc build

This fixes the clang attributes documentation build.


  Commit: 8327f4a851fe45760b12752acd0f3b9c1a64b1f3
      https://github.com/llvm/llvm-project/commit/8327f4a851fe45760b12752acd0f3b9c1a64b1f3
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    R openmp/libomptarget/include/Debug.h
    M openmp/libomptarget/include/OmptConnector.h
    A openmp/libomptarget/include/Shared/Debug.h
    A openmp/libomptarget/include/Shared/Utils.h
    R openmp/libomptarget/include/Utilities.h
    M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
    M openmp/libomptarget/plugins-nextgen/common/OMPT/OmptCallback.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.h
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.h
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/MemoryManager.h
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
    M openmp/libomptarget/src/OmptCallback.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/private.h
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Move Utils.h and Debug.h into a "Shared" include folder (#73701)

Headers used throughout the different runtimes are different from the
internal headers. This is a first step to bring structure in into the
include folder.


  Commit: 3661eb150e6d4e1e06adb8a62c4b45b056f3c8be
      https://github.com/llvm/llvm-project/commit/3661eb150e6d4e1e06adb8a62c4b45b056f3c8be
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    A lldb/test/Shell/SymbolFile/DWARF/x86/debug-types-debug-names.cpp
    M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
    M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp

  Log Message:
  -----------
  Add support for parsing type unit entries in .debug_names. (#72952)

This is a follow up patch after .debug_names can now emit local type
unit entries when we compile with type units + DWARF5 + .debug_names.
The pull request that added this functionality was:

https://github.com/llvm/llvm-project/pull/70515

This patch makes sure that the DebugNamesDWARFIndex in LLDB will not
manually need to parse type units if they have a valid index. It also
fixes the index to be able to correctly extract name entries that
reference type unit DIEs. Added a test to verify things work as
expected.


  Commit: d8d9394cb0ec052d54f51d50d33e76062bf63e9a
      https://github.com/llvm/llvm-project/commit/d8d9394cb0ec052d54f51d50d33e76062bf63e9a
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/X86/X86Subtarget.cpp
    R llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
    M llvm/test/CodeGen/X86/pcsections.ll
    M llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll

  Log Message:
  -----------
  Revert "[X86] With large code model, put functions into .ltext with large section flag (#73037)"

This reverts commit 38e435895779c6f0e6c47a171f3b300ad99828b3.

May be culprit for https://lab.llvm.org/buildbot/#/builders/37/builds/28079/steps/9/logs/stdio.


  Commit: 1a041a3ad8a0104da70202e68256513de8848dbf
      https://github.com/llvm/llvm-project/commit/1a041a3ad8a0104da70202e68256513de8848dbf
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h

  Log Message:
  -----------
  [compiler-rt][sanitizer_common] Increase min user-map/freearray round… (#73600)

…ing size

About 90% of the time when running scudo tests on fuchsia+riscv with
asan instrumentation, we will be unable to map the arena for scudo's
primary allocator. We have enough space, but much of the existing
allocations are fragmented enough such that we can't allocate that large
enough contiguous space. This reduces fragmentation more by increase min
allocation rounding for user-map and freearray in the primary allocator.

Note that changing these values doesn't have a functional effect on the
actual size of the user-map or freearray portions of a region. Those are
toggled by different constants. This will reduce the number of times
mmap is called and reduce the number of fragments.

Locally, I've been able to run the scudo tests under
asan-instrumentation on riscv 39-bit vma and haven't run into the `SCUDO
ERROR: zx_vmar_map` error.


  Commit: 7233e42dff7f819d76baeb67781648718828e026
      https://github.com/llvm/llvm-project/commit/7233e42dff7f819d76baeb67781648718828e026
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/include/Configuration.h
    M openmp/libomptarget/DeviceRTL/include/Interface.h
    M openmp/libomptarget/DeviceRTL/include/State.h
    M openmp/libomptarget/DeviceRTL/src/Allocator.cpp
    M openmp/libomptarget/DeviceRTL/src/Debug.cpp
    M openmp/libomptarget/DeviceRTL/src/Kernel.cpp
    M openmp/libomptarget/DeviceRTL/src/State.cpp
    R openmp/libomptarget/include/Environment.h
    A openmp/libomptarget/include/Shared/Environment.h
    A openmp/libomptarget/include/Shared/SourceInfo.h
    R openmp/libomptarget/include/SourceInfo.h
    M openmp/libomptarget/include/omptarget.h
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
    M openmp/libomptarget/src/private.h

  Log Message:
  -----------
  [OpenMP][NFC] Move Environment.h and SourceInfo.h into "Shared" folder (#73703)


  Commit: 86b0ccaee12221d088b35b7b57d415ba290fabb9
      https://github.com/llvm/llvm-project/commit/86b0ccaee12221d088b35b7b57d415ba290fabb9
  Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/math/generic/nexttoward.cpp
    M libc/src/math/generic/nexttowardf.cpp
    M libc/src/math/generic/nexttowardl.cpp

  Log Message:
  -----------
  [libc][NFC] unify nextafter and nexttoward code (#73698)

Previously the nextafter and nexttoward implementations were almost
identical, with the exception of whether or not the second argument was
a template or just long double. This patch unifies them by making the
two argument templates independent.


  Commit: ab562686d1d67962576b7a01346d9ff691b6b28d
      https://github.com/llvm/llvm-project/commit/ab562686d1d67962576b7a01346d9ff691b6b28d
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libcxx/test/std/containers/views/mdspan/ConvertibleToIntegral.h
    M libcxx/test/std/containers/views/mdspan/extents/CtorTestCombinations.h
    M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/extents.verify.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/extents.verify.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/extents.verify.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp

  Log Message:
  -----------
  [libc++][test] Change forbidden `extents<char>` to `extents<signed char>` (#73535)

Found while running libc++'s test suite with MSVC's STL.

[mdspan.extents.overview]/1.1 mandates that IndexType is a signed or
unsigned integer type, which excludes char.

MSVC's STL enforces the Mandates here, so this PR changes the relevant
occurrences of `char to `signed char`. To make this work, we also need
to add an `operator signed char()` to the test helper type `IntType` so
it remains unambiguously convertible, and then we can remove `operator
char()`.

libc++ should also enforce the Mandates, but this PR doesn't attempt to make
such a change.


  Commit: eaab947a8aa39002e8bdaa82be08cbc31e116a11
      https://github.com/llvm/llvm-project/commit/eaab947a8aa39002e8bdaa82be08cbc31e116a11
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    A openmp/runtime/src/kmp_utils.h

  Log Message:
  -----------
  [OpenMP] Use simple VLA implementation to replace uses of actual VLA (#71412)

Use of VLA can cause compile warning that was introduced in D156565.
This patch
implements a simple stack/heap-based VLA that can miminc the behavior of
an
actual VLA and prevent the warning. By default the stack accomodates the
elements. If the number of emelements is greater than N, which by
default is 8,
a heap buffer will be allocated and used to acccomodate the elements.


  Commit: 4701f776d0f22dc0ff80a7d33ef3ae031eac9c2f
      https://github.com/llvm/llvm-project/commit/4701f776d0f22dc0ff80a7d33ef3ae031eac9c2f
  Author: Petr Hosek <phosek at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Always define runtimes-test-depends (#73629)

This allows the parent build to depend on this target unconditionally
even when the tests are disabled.


  Commit: e7f5d609dd7ec73f9e098532d3fa73b9fa4be02d
      https://github.com/llvm/llvm-project/commit/e7f5d609dd7ec73f9e098532d3fa73b9fa4be02d
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    R openmp/runtime/src/kmp_utils.h

  Log Message:
  -----------
  Revert "[OpenMP] Use simple VLA implementation to replace uses of actual VLA (#71412)"

This reverts commit eaab947a8aa39002e8bdaa82be08cbc31e116a11 because it
causes link error.


  Commit: d1057014a184acaa93df0acbf4df37bc5226accd
      https://github.com/llvm/llvm-project/commit/d1057014a184acaa93df0acbf4df37bc5226accd
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    A openmp/libomptarget/include/OpenMP/InternalTypes.h
    A openmp/libomptarget/include/OpenMP/InteropAPI.h
    A openmp/libomptarget/include/OpenMP/omp.h
    R openmp/libomptarget/include/interop.h
    M openmp/libomptarget/src/CMakeLists.txt
    A openmp/libomptarget/src/OpenMP/InteropAPI.cpp
    R openmp/libomptarget/src/interop.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/private.h

  Log Message:
  -----------
  [OpenMP][NFC] Create an "OpenMP" folder in the include folder (#73713)

Not everything in libomptarget (include) is "OpenMP", but some things
most certainly are. This commit moves some code around to start making
this distinction without the intention to change functionality.


  Commit: ac8c9f1e39e1a773fd81ce23dbf1c80ea186f226
      https://github.com/llvm/llvm-project/commit/ac8c9f1e39e1a773fd81ce23dbf1c80ea186f226
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libcxx/benchmarks/filesystem.bench.cpp
    M libcxx/include/__chrono/file_clock.h
    M libcxx/include/__config
    M libcxx/include/__filesystem/copy_options.h
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__filesystem/directory_iterator.h
    M libcxx/include/__filesystem/directory_options.h
    M libcxx/include/__filesystem/file_status.h
    M libcxx/include/__filesystem/file_time_type.h
    M libcxx/include/__filesystem/file_type.h
    M libcxx/include/__filesystem/filesystem_error.h
    M libcxx/include/__filesystem/operations.h
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__filesystem/path_iterator.h
    M libcxx/include/__filesystem/perm_options.h
    M libcxx/include/__filesystem/perms.h
    M libcxx/include/__filesystem/recursive_directory_iterator.h
    M libcxx/include/__filesystem/space_info.h
    M libcxx/include/__filesystem/u8path.h
    M libcxx/include/fstream
    M libcxx/src/filesystem/directory_entry.cpp
    M libcxx/src/filesystem/file_descriptor.h
    M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.path/path.itr/assert.iterator.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default_const.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.io/directory_entry.io.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/path.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/equal.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/types.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.file_status/file_status.cons.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.file_status/file_status.mods.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.file_status/file_status.obs.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.charconv.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/empty.verify.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.hash_enabled.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.query/tested_in_path_decompose.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.verify.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.verify.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path_helper.h
    M libcxx/test/std/input.output/filesystems/class.path/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/synop.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/equal.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.directory_options.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.perm_options.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.perms.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type_resolution.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/space_info.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
    R libcxx/test/std/input.output/filesystems/fs.req.namespace/namespace.verify.cpp
    R libcxx/test/support/filesystem_include.h
    M libcxx/test/support/filesystem_test_helper.h

  Log Message:
  -----------
  [libc++] Properly guard std::filesystem with >= C++17 (#72701)

<filesystem> is a C++17 addition. In C++11 and C++14 modes, we actually
have all the code for <filesystem> but it is hidden behind a non-inline
namespace __fs so it is not accessible. Instead of doing this unusual
dance, just guard the code for filesystem behind a classic C++17 check
like we normally do.


  Commit: b47b3bee7ba500e81646aa9720f5ca1eddd66875
      https://github.com/llvm/llvm-project/commit/b47b3bee7ba500e81646aa9720f5ca1eddd66875
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    A bolt/test/X86/Inputs/dwarf5-df-types-dup-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-types-dup-main.s
    A bolt/test/X86/dwarf5-df-types-dup-dwp-input.test

  Log Message:
  -----------
  [BOLT][DWARF] Fix handling of DWARF5 DWP (#72729)

Fixed handling of DWP as input. Before BOLT crashed. Now it will write
out
correct CU, and all the TUs. Potential future improvement is to scan all
the TUs
used in this CU, and only include those.


  Commit: d46f63553ab9ee041884b5306527afefaf00e144
      https://github.com/llvm/llvm-project/commit/d46f63553ab9ee041884b5306527afefaf00e144
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    A openmp/runtime/src/kmp_utils.h

  Log Message:
  -----------
  [OpenMP] Use simple VLA implementation to replace uses of actual VLA

Use of VLA can cause compile warning that was introduced in D156565. This patch
implements a simple stack/heap-based VLA that can miminc the behavior of an
actual VLA and prevent the warning. By default the stack accomodates the
elements. If the number of emelements is greater than N, which by default is 8,
a heap buffer will be allocated and used to acccomodate the elements.


  Commit: 351c3ee5f6d0bf7f89e70282e84b8766c9dd1256
      https://github.com/llvm/llvm-project/commit/351c3ee5f6d0bf7f89e70282e84b8766c9dd1256
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    R openmp/runtime/src/kmp_utils.h

  Log Message:
  -----------
  Revert "[OpenMP] Use simple VLA implementation to replace uses of actual VLA"

This reverts commit d46f63553ab9ee041884b5306527afefaf00e144.


  Commit: 45288085b5b2711a15f107a5bffdcc6bfe5a43b0
      https://github.com/llvm/llvm-project/commit/45288085b5b2711a15f107a5bffdcc6bfe5a43b0
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp

  Log Message:
  -----------
  [mlir][sparse] move toCOOType into SparseTensorType class (#73708)

Migrates dangling convenience method into proper SparseTensorType class.
Also cleans up some details (picking right dim2lvl/lvl2dim). Removes
more dead code.


  Commit: 97e16da450e94c92456fa5a74768ec1b22fe6b63
      https://github.com/llvm/llvm-project/commit/97e16da450e94c92456fa5a74768ec1b22fe6b63
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    A openmp/runtime/src/kmp_utils.h

  Log Message:
  -----------
  [OpenMP] Use simple VLA implementation to replace uses of actual VLA

Use of VLA can cause compile warning that was introduced in D156565. This patch
implements a simple stack/heap-based VLA that can miminc the behavior of an
actual VLA and prevent the warning. By default the stack accomodates the
elements. If the number of emelements is greater than N, which by default is 8,
a heap buffer will be allocated and used to acccomodate the elements.


  Commit: 57a0416e0e8ccd522d4242dbe5d0d7893864a10a
      https://github.com/llvm/llvm-project/commit/57a0416e0e8ccd522d4242dbe5d0d7893864a10a
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    A clang/test/CodeGenCXX/template-param-objects-address-space.cpp

  Log Message:
  -----------
  [clang][CodeGen] Handle template parameter objects with explicit address spaces (#69266)

For certain cases (e.g. when their address is observable at run time) it
is necessary to provide physical backing for non-type template parameter
objects. Said backing comes in the form of a global variable. For
certain targets (e.g. AMDGPU), which use a non-default address space for
globals, this can lead to an issue when referencing said global in
address space agnostic languages (such as HIP), for example when passing
them to a function.

This patch addresses this issue by inserting an address space cast iff
there is an address space mismatch between the type of a reference
expression and the address space of the backing global. A test is also
added.


  Commit: d6783c7c98ac7a02290d17c5109052f9d71ed914
      https://github.com/llvm/llvm-project/commit/d6783c7c98ac7a02290d17c5109052f9d71ed914
  Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

  Log Message:
  -----------
  Revert "[libc][bazel] Add copts to libc_support_library" (#73723)

Reverts llvm/llvm-project#73591

Broke downstream builds. I will look into relanding tomorrow.


  Commit: 110f927f937102b1233291ba70dd5f873f4b1724
      https://github.com/llvm/llvm-project/commit/110f927f937102b1233291ba70dd5f873f4b1724
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td

  Log Message:
  -----------
  [mlir][sparse] refactor sparse tensor traits (#73726)

Slightly refactors the order of the sparse tensor
traits, and usage. Also makes minor doc improvements.


  Commit: 4eb421192479dbecae2621b868e55aaf6d945b02
      https://github.com/llvm/llvm-project/commit/4eb421192479dbecae2621b868e55aaf6d945b02
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py

  Log Message:
  -----------
  [lldb][test] TestConstStaticIntegralMember: relax assertion on number of global variables (#73707)

In https://github.com/llvm/llvm-project/pull/73626 we started attaching
`DW_AT_const_value`s on a static data-member's declaration again. In
DWARFv5, those static members are represented with a `DW_TAG_variable`.
When LLDB builds the `ManualDWARFIndex`, it simply iterates over all
DIEs in a CU and puts *any* `DW_TAG_variable` with a constant or
location into the index. So when using the manual index, we can end up
having 2 entries for a static data member in the index, one for the
declaration and one for the definition.

This caused a test failure on Linux (where DWARFv5 is the default and
the tests use the manual index).

This patch loosens the restriction that we find exactly 1 variable.


  Commit: 00dbea7c73d0d5c3b1fe92f1b3de3c6680869c01
      https://github.com/llvm/llvm-project/commit/00dbea7c73d0d5c3b1fe92f1b3de3c6680869c01
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M bolt/lib/Core/DIEBuilder.cpp

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Added const to variable (#73731)

Nit followup to 72729.


  Commit: 1debbae96b77b88fbc2f20ff749e742759b7419f
      https://github.com/llvm/llvm-project/commit/1debbae96b77b88fbc2f20ff749e742759b7419f
  Author: paperchalice <29250197+paperchalice at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A llvm/include/llvm/CodeGen/CallBrPrepare.h
    M llvm/lib/CodeGen/CallBrPrepare.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/CodeGen/AArch64/callbr-prepare.ll

  Log Message:
  -----------
  [CodeGen] Port CallBrPrepare to new pass manager (#73630)

IIUC in the new pass manager infrastructure, the analysis result is
always computed lazily. So just use `getResult` here.


  Commit: 3287ae8f6520ef81570377c1fb4c7147782a13ef
      https://github.com/llvm/llvm-project/commit/3287ae8f6520ef81570377c1fb4c7147782a13ef
  Author: Qizhi Hu <836744285 at qq.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [clang][ASTImporter] IdentifierInfo of Attribute should be set using 'ToASTContext' (#73290)

Co-authored-by: huqizhi <836744285 at qq.com>


  Commit: 523160555925ff451e7c6d213a377d191e514805
      https://github.com/llvm/llvm-project/commit/523160555925ff451e7c6d213a377d191e514805
  Author: Edgar <git at edgarluque.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    A mlir/include/mlir-c/Target/LLVMIR.h
    M mlir/lib/CAPI/CMakeLists.txt
    A mlir/lib/CAPI/Target/CMakeLists.txt
    A mlir/lib/CAPI/Target/LLVMIR.cpp
    M mlir/test/CAPI/CMakeLists.txt
    A mlir/test/CAPI/translation.c
    M mlir/test/CMakeLists.txt
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  [mlir] Re-Add mlirTranslateModuleToLLVMIR to MLIR-C (#73627)

The test was checking something unrelated to what it controlled so it
failed after that part changed, i removed that.

See https://github.com/llvm/llvm-project/pull/73117


  Commit: 5d57041d39461d0262fcef71bd9cfa0ee20c6576
      https://github.com/llvm/llvm-project/commit/5d57041d39461d0262fcef71bd9cfa0ee20c6576
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M openmp/libomptarget/src/CMakeLists.txt
    M openmp/libomptarget/src/private.h
    M openmp/libomptarget/test/env/omp_target_debug.c
    M openmp/libomptarget/test/mapping/alloc_fail.c
    M openmp/libomptarget/test/mapping/ompx_hold/omp_target_disassociate_ptr.c
    M openmp/libomptarget/test/mapping/padding_not_mapped.c
    M openmp/libomptarget/test/mapping/present/target.c
    M openmp/libomptarget/test/mapping/present/target_array_extension.c
    M openmp/libomptarget/test/mapping/present/target_data.c
    M openmp/libomptarget/test/mapping/present/target_data_array_extension.c
    M openmp/libomptarget/test/mapping/present/target_data_at_exit.c
    M openmp/libomptarget/test/mapping/present/target_enter_data.c
    M openmp/libomptarget/test/mapping/present/target_exit_data_delete.c
    M openmp/libomptarget/test/mapping/present/target_exit_data_release.c
    M openmp/libomptarget/test/mapping/present/target_update.c
    M openmp/libomptarget/test/mapping/present/target_update_array_extension.c
    M openmp/libomptarget/test/mapping/present/unified_shared_memory.c
    M openmp/libomptarget/test/mapping/present/zero_length_array_section.c
    M openmp/libomptarget/test/mapping/present/zero_length_array_section_exit.c
    M openmp/libomptarget/test/mapping/target_data_array_extension_at_exit.c
    M openmp/libomptarget/test/mapping/target_update_array_extension.c
    M openmp/libomptarget/test/mapping/target_wrong_use_device_addr.c
    M openmp/libomptarget/test/offloading/info.c
    M openmp/libomptarget/test/offloading/mandatory_but_no_devices.c

  Log Message:
  -----------
  [OpenMP][NFC] Move debug declares into CMAKE out of "private.h" (#73732)

Everywhere else we define this in the CMakeLists.txt and "private.h"
needs to go. Rename "Libomptarget" into "omptarget", no benefit from
"lib".


  Commit: 83305faeb54cf254d133e39ddac7f2fee36972cc
      https://github.com/llvm/llvm-project/commit/83305faeb54cf254d133e39ddac7f2fee36972cc
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    A lld/test/wasm/lto/Inputs/comdat_ordering1.ll
    A lld/test/wasm/lto/Inputs/comdat_ordering2.ll
    A lld/test/wasm/lto/comdat_ordering.test
    M lld/wasm/SymbolTable.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Fix bitcode LTO order in archive parsing (#73095)

When doing LTO on multiple archives, the order with which bitcodes are
linked to the LTO module is hard to control, given that processing
undefined symbols can lead to parsing of an object file, which in turn
lead to parsing of another object file before finishing parsing of the
previous file. This can result in encountering a non-prevailing comdat
first when linking, which can make the the symbol undefined, and the
real definition is added later with an additional prefix to avoid
duplication (e.g. `__cxx_global_var_init` and `__cxx_global_var_init.2`)

So this one-line fix ensures we compile bitcodes in the order that we
process comdats, so that when multiple archived bitcode files have the
same variable with the same comdat, we make sure that the prevailing
comdat will be linked first in the LTO.

Fixes #62243.


  Commit: 98f8b1afb408e488274e77533dbb8041c9513ca7
      https://github.com/llvm/llvm-project/commit/98f8b1afb408e488274e77533dbb8041c9513ca7
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp

  Log Message:
  -----------
  [mlir][sparse] remove COO test from  trait and encoding (#73733)

This is a minor step towards moving ALL COO related tests into the
SparseTensorType class rather than
having it all over the place (with risk of becoming inconsistent). Next
revision will move ALL COO related methods into this class.


  Commit: f7247d50414df36d6aa47a0aa225fda9f6708d91
      https://github.com/llvm/llvm-project/commit/f7247d50414df36d6aa47a0aa225fda9f6708d91
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/Transforms/InstCombine/array.ll

  Log Message:
  -----------
  [InstCombine] Canonicalise SextADD + GEP (#69581)


  Commit: 81e3e7e5d455f85e070a27763c578df493716ae9
      https://github.com/llvm/llvm-project/commit/81e3e7e5d455f85e070a27763c578df493716ae9
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libc/cmake/modules/LLVMLibCFlagRules.cmake
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/api.td
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/include/CMakeLists.txt
    A libc/include/llvm-libc-types/ACTION.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/ENTRY.h
    A libc/include/llvm-libc-types/struct_hsearch_data.h
    A libc/include/search.h.def
    M libc/spec/gnu_ext.td
    M libc/spec/posix.td
    M libc/spec/spec.td
    M libc/src/CMakeLists.txt
    M libc/src/__support/CMakeLists.txt
    A libc/src/__support/HashTable/CMakeLists.txt
    A libc/src/__support/HashTable/bitmask.h
    A libc/src/__support/HashTable/generic/bitmask_impl.inc
    A libc/src/__support/HashTable/randomness.h
    A libc/src/__support/HashTable/sse2/bitmask_impl.inc
    A libc/src/__support/HashTable/table.h
    M libc/src/__support/bit.h
    A libc/src/__support/hash.h
    A libc/src/__support/memory_size.h
    A libc/src/search/CMakeLists.txt
    A libc/src/search/hcreate.cpp
    A libc/src/search/hcreate.h
    A libc/src/search/hcreate_r.cpp
    A libc/src/search/hcreate_r.h
    A libc/src/search/hdestroy.cpp
    A libc/src/search/hdestroy.h
    A libc/src/search/hdestroy_r.cpp
    A libc/src/search/hdestroy_r.h
    A libc/src/search/hsearch.cpp
    A libc/src/search/hsearch.h
    A libc/src/search/hsearch/CMakeLists.txt
    A libc/src/search/hsearch/global.cpp
    A libc/src/search/hsearch/global.h
    A libc/src/search/hsearch_r.cpp
    A libc/src/search/hsearch_r.h
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    A libc/test/src/__support/HashTable/CMakeLists.txt
    A libc/test/src/__support/HashTable/bitmask_test.cpp
    A libc/test/src/__support/HashTable/group_test.cpp
    A libc/test/src/__support/HashTable/table_test.cpp
    M libc/test/src/__support/bit_test.cpp
    A libc/test/src/__support/hash_test.cpp
    A libc/test/src/__support/memory_size_test.cpp
    A libc/test/src/search/CMakeLists.txt
    A libc/test/src/search/hsearch_test.cpp

  Log Message:
  -----------
  [libc] [search] implement hcreate(_r)/hsearch(_r)/hdestroy(_r) (#73469)

This patch implements `hcreate(_r)/hsearch(_r)/hdestroy(_r)` as
specified in https://man7.org/linux/man-pages/man3/hsearch.3.html.

Notice that `neon/asimd` extension is not yet added in this patch. 

- The implementation is largely simplified from rust's
[`hashbrown`](https://github.com/rust-lang/hashbrown/blob/master/src/raw/mod.rs)
as we only consider fix-sized insertion-only hashtables. Technical
details are provided in code comments.

- This patch also contains a portable string hash function, which is
derived from [`aHash`](https://github.com/tkaitchuck/aHash)'s fallback
routine. Not using any SIMD acceleration, it has a good enough quality
(passing all SMHasher tests) and is not too bad in speed.

- Some general functionalities are added, such as `memory_size`,
`offset_to`(alignment), `next_power_of_two`, `is_power_of_two`.
`ctz/clz` are extended to support shorter integers.


  Commit: 593358937025e8635f75ba8931130b1ca5212ea1
      https://github.com/llvm/llvm-project/commit/593358937025e8635f75ba8931130b1ca5212ea1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst

  Log Message:
  -----------
  [GISel][Docs] Add a little bit of documentation for G_FENCE. (#73722)


  Commit: 4a294b5806417aa88c91aa05735b2d557ea5dfe5
      https://github.com/llvm/llvm-project/commit/4a294b5806417aa88c91aa05735b2d557ea5dfe5
  Author: Yuxuan Chen <ych at meta.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/test/CodeGenCoroutines/coro-init-await-nontrivial-return.cpp

  Log Message:
  -----------
  [Clang] CGCoroutines skip emitting try block for value returning `noexcept` init `await_resume` calls (#73160)

Previously we were not properly skipping the generation of the `try { }`
block around the `init_suspend.await_resume()` if the `await_resume` is
not returning void. The reason being that the resume expression was
wrapped in a `CXXBindTemporaryExpr` and the first dyn_cast failed,
silently ignoring the noexcept. This only mattered for `init_suspend`
because it had its own try block.

This patch changes to first extract the sub expression when we see a
`CXXBindTemporaryExpr`. Then perform the same logic to check for
`noexcept`.

Another version of this patch also wanted to assert the second step by
`cast<CXXMemberCallExpr>` and as far as I understand it should be a
valid assumption. I can change to that if upstream prefers.


  Commit: ae86239e86e9e289167fad2d7465d254852ecb82
      https://github.com/llvm/llvm-project/commit/ae86239e86e9e289167fad2d7465d254852ecb82
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M compiler-rt/include/sanitizer/memprof_interface.h
    M compiler-rt/lib/memprof/memprof_allocator.cpp
    M compiler-rt/lib/memprof/memprof_interface_internal.h
    A compiler-rt/test/memprof/TestCases/profile_reset.cpp

  Log Message:
  -----------
  [MemProf] Add interface for reseting the profile file descriptor (#73714)

Add __memprof_profile_reset() interface which can be used to facilitate
dumping multiple rounds of profiles from a single binary run. This
closes the current file descriptor and resets the internal file
descriptor to invalid (-1), which ensures the underlying writer reopens
the recorded profile filename. This can be used once the client is done
moving or copying a dumped profile, to prepare for reinvoking profile
dumping.


  Commit: e399a317ef63d05991f6b15f74247eee6bfc5279
      https://github.com/llvm/llvm-project/commit/e399a317ef63d05991f6b15f74247eee6bfc5279
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/src/__support/bit.h
    M libc/test/src/__support/hash_test.cpp

  Log Message:
  -----------
  [libc] fix build on aarch64 (#73739)

* avoid implicit narrowing conversion
* move hsearch entrypoints to FULL_BUILD


  Commit: 649e8111a95ae0d8814576e9ca74823572ee404b
      https://github.com/llvm/llvm-project/commit/649e8111a95ae0d8814576e9ca74823572ee404b
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/pr72828.cppm

  Log Message:
  -----------
  [C++20] [Modules] Handling capturing strucuted bindings

Close https://github.com/llvm/llvm-project/issues/72828.

This should be an overlook that we extend the type of captures but we
forgot to fix it in deserializer side.


  Commit: 4b8964dfd8b7ec989cd64a3606a364f2ddbbf285
      https://github.com/llvm/llvm-project/commit/4b8964dfd8b7ec989cd64a3606a364f2ddbbf285
  Author: frgossen <frgossen at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Fix bazel build (#73741)


  Commit: f73844d92b36cb6801ac50ea721f4ba29b35d7a9
      https://github.com/llvm/llvm-project/commit/f73844d92b36cb6801ac50ea721f4ba29b35d7a9
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/condops.ll

  Log Message:
  -----------
  [RISCV] Generate bexti for (select(setcc eq (and x, c))) where c is power of 2. (#73649)

Currently, llvm can transform (setcc ne (and x, c)) to (bexti x,
log2(c)) where c is power of 2.
This patch transform (select (setcc ne (and x, c)), T, F) into (select
(setcc eq (and x, c)), F, T).
It is benefit to the case c is not fit to 12-bits.


  Commit: c6d6a57c697452e9320acea86f6631a92ab8017c
      https://github.com/llvm/llvm-project/commit/c6d6a57c697452e9320acea86f6631a92ab8017c
  Author: Dan Klishch <30951924+DanShaders at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [clang][docs] Fix emphasis syntax in attribute documentation (#73737)

This causes CI failure for PRs updating `AttrDocs.td`. CC @llvm-beanz (I
don't have write access)


  Commit: c1511a65d5c09f7cff15feba91ce9bda23d74b6e
      https://github.com/llvm/llvm-project/commit/c1511a65d5c09f7cff15feba91ce9bda23d74b6e
  Author: Ruiling, Song <ruiling.song at amd.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-private.mir
    M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-i8-i16.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/function-returns.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
    M llvm/test/CodeGen/AMDGPU/memory_clause.ll

  Log Message:
  -----------
  [AMDGPU] Folding imm offset in more cases for scratch access (#70634)

For scratch load/store, our hardware only accept non-negative value in
SGPR/VGPR. Besides the case that we can prove from known bits, we can
also prove that the value in `base` will be non-negative: 1.) When the
ADD for the address calculation has NonUnsignedWrap flag. 2.) When the
immediate offset is already negative.


  Commit: 1886b1a580240fc6aa3173f5a9344d3ead0421b6
      https://github.com/llvm/llvm-project/commit/1886b1a580240fc6aa3173f5a9344d3ead0421b6
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M libc/cmake/modules/LLVMLibCFlagRules.cmake
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/src/__support/HashTable/CMakeLists.txt
    M libc/src/__support/HashTable/bitmask.h

  Log Message:
  -----------
  [libc] add PREFER_GENERIC flag (#73744)

There are some basic vectorization features in standard architecture
specifications. Such as SSE/SSE2 for x86-64, or NEON for aarch64. Even
though such features are almost always available, we still need some
methods to test fallback routines without any vectorization.

Previous attempt in hsearch adds a DISABLE_SSE2_OPT flag that tries to
compile the code with -mno-sse2 in order to test specific table scanning
routines. However, it turns out that such flag may have some unwanted
side effects hindering portability.

This PR introduces PREFER_GENERIC as an alternative. When a target is
built with PREFER_GENERIC, cmake will define a macro
__LIBC_PREFER_GENERIC such that developers can selectively choose the
fallback routine based on the macro.


  Commit: 9c5003cc0c706f3cf0b13e709f41e3a64249477a
      https://github.com/llvm/llvm-project/commit/9c5003cc0c706f3cf0b13e709f41e3a64249477a
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Implement RISCVInstrInfo::getMemOperandsWithOffsetWidth (#73681)

This hook is called by the default implementation of
getMemOperandWithOffset and by the load/store clustering code in the
MachineScheduler though this isn't enabled by default and is not yet
enabled for RISC-V. Only return true for queries on scalar loads/stores
for now (this is a conservative starting point, and vector load/store
can be handled in a follow-on patch).


  Commit: 4e49358cdcad9aed232ed1e95eab9ded5e6fd7b1
      https://github.com/llvm/llvm-project/commit/4e49358cdcad9aed232ed1e95eab9ded5e6fd7b1
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    R mlir/include/mlir-c/Target/LLVMIR.h
    M mlir/lib/CAPI/CMakeLists.txt
    R mlir/lib/CAPI/Target/CMakeLists.txt
    R mlir/lib/CAPI/Target/LLVMIR.cpp
    M mlir/test/CAPI/CMakeLists.txt
    R mlir/test/CAPI/translation.c
    M mlir/test/CMakeLists.txt
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  Revert "[mlir] Re-Add mlirTranslateModuleToLLVMIR to MLIR-C (#73627)" (#73749)

Still breaks
https://lab.llvm.org/buildbot/#/builders/5/builds/38743/steps/9/logs/stdio

There is some info on how to reproduce
https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild

This reverts commit 523160555925ff451e7c6d213a377d191e514805.


  Commit: c954414c0a0b55ad747d5d526100314ecc352c32
      https://github.com/llvm/llvm-project/commit/c954414c0a0b55ad747d5d526100314ecc352c32
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/test/msan/Linux/mallinfo.cpp

  Log Message:
  -----------
  [msan][aarch64] Fix mallinfo interceptor (#73728)

Not sure how the previous implementation supposed to work, but the test
was disabled.

This implementation works for x86_64 and aarch64.


  Commit: f35c0f2f232a0b298a35bfb0047bf8a00b107bf0
      https://github.com/llvm/llvm-project/commit/f35c0f2f232a0b298a35bfb0047bf8a00b107bf0
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/condops.ll

  Log Message:
  -----------
  [RISCV] Refine pattern (select_cc seteq (and x, C), 0, 0, A) with Zbs. (#73746)

PR #72978 disabled transformation (select_cc seteq (and x, C), 0, 0, A)
-> (and (sra(shl x)), A) for better Zicond codegen. It still enables the
combine when C is not fit into 12-bits. This patch disables the combine
when Zbs enabled.


  Commit: 2e838c8437f8466455932c31e82474800056c712
      https://github.com/llvm/llvm-project/commit/2e838c8437f8466455932c31e82474800056c712
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [runtimes] Pass-through CLANG_RESOURCE_DIR to cmake invocations (#73185)

compiler-rt and libomp need access to this variable in order to install
their libraries and headers to the path that clang expects.


  Commit: 3d7e6db12072c26c7ad42c2c473d1dc321725db4
      https://github.com/llvm/llvm-project/commit/3d7e6db12072c26c7ad42c2c473d1dc321725db4
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/test/API/commands/expression/test/TestExprs.py
    M lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py
    M lldb/test/API/functionalities/thread/state/TestThreadStates.py
    M lldb/test/API/lang/c/shared_lib/TestSharedLib.py
    M lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
    M lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
    M lldb/test/API/lang/cpp/reference-to-outer-type/TestCppReferenceToOuterClass.py
    M lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py

  Log Message:
  -----------
  [lldb][test] Remove `reason` from `unittest2.expectedFailure` usage (#73028)


  Commit: 9535e011c7b25ece5e51c0b9e0f2c43a2912a417
      https://github.com/llvm/llvm-project/commit/9535e011c7b25ece5e51c0b9e0f2c43a2912a417
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp

  Log Message:
  -----------
  [AMDGPU] Fix -Wc++98-compat-extra-semi after c1511a65d5c09f7cff15feba91ce9bda23d74b6e


  Commit: 35db35b7cfb80139ab6f23c7f10c47df5d1d7462
      https://github.com/llvm/llvm-project/commit/35db35b7cfb80139ab6f23c7f10c47df5d1d7462
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-arith.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-arith.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/fp-arith.mir

  Log Message:
  -----------
  [RISCV][GISel] Support G_FCOPYSIGN with F and D extension.


  Commit: 0acfe8483a1ab972a435bc551cc4a5c6c78be3f0
      https://github.com/llvm/llvm-project/commit/0acfe8483a1ab972a435bc551cc4a5c6c78be3f0
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    A bolt/test/X86/dwarf4-deleted-range.s
    A bolt/test/X86/dwarf5-deleted-range.s

  Log Message:
  -----------
  [BOLT][DWARF] Fix output ranges for deleted code (#73464)

Set range low_pc to 0 for DIEs that correspond to deleted code.

Fixes #73428


  Commit: d0c8d41e103dcd3ee1b2b5ed17f9a68e973e01d6
      https://github.com/llvm/llvm-project/commit/d0c8d41e103dcd3ee1b2b5ed17f9a68e973e01d6
  Author: wangpc <wangpengcheng.pp at bytedance.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp

  Log Message:
  -----------
  [TableGen][NFC] Format getOpcodeString and remove unreachable breaks


  Commit: 5e7e0d603204ede803323a825318e365a87f73e9
      https://github.com/llvm/llvm-project/commit/5e7e0d603204ede803323a825318e365a87f73e9
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchFloat32InstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchFloat64InstrInfo.td
    M llvm/test/CodeGen/LoongArch/double-fma.ll
    M llvm/test/CodeGen/LoongArch/float-fma.ll

  Log Message:
  -----------
  [LoongArch] Fix pattern for FNMSUB_{S/D} instructions (#73742)

```
when a=c=-0.0, b=0.0:
-(a * b + (-c)) = -0.0
-a * b + c = 0.0
(fneg (fma a, b (-c))) != (fma (fneg a), b ,c)
```

See https://reviews.llvm.org/D90901 for a similar discussion on X86.


  Commit: d345cfb55c2c923041a7e0a8eb5c7d1302cd2221
      https://github.com/llvm/llvm-project/commit/d345cfb55c2c923041a7e0a8eb5c7d1302cd2221
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-select-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-select-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/fp-select-rv32.mir

  Log Message:
  -----------
  [RISCV][GISel] Support s64 G_SELECT on RV32 with D extension.

We have to force the register bank to FPRB if the type is s64 and
the GPR is 32 bits.


  Commit: b6ee831b59ef11b424c819d272216add268e6164
      https://github.com/llvm/llvm-project/commit/b6ee831b59ef11b424c819d272216add268e6164
  Author: David Green <david.green at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir

  Log Message:
  -----------
  [AArch64] Load/store optimizer fixes and cleanup.

This includes a couple of fixes after #71908 for bundles and some cleanup for
the debug output. One was an iterator type that asserted on bundles, the second
a rather subtle issue where forAllMIsUntilDef would hit the LdStLimit when
renaming registers, meaning the last instruction was not updated leaving an
invalid `ldp x6, x6` instruction.


  Commit: 6a4489a73337907d52e7eaf3716f3de9008e6e53
      https://github.com/llvm/llvm-project/commit/6a4489a73337907d52e7eaf3716f3de9008e6e53
  Author: Danny Mösch <danny.moesch at icloud.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [GitHub] Use proper Markdown syntax and avoid child list items (#73700)


  Commit: 403ab9ac740d00b2f85ae6ee3a474cf81e257e4f
      https://github.com/llvm/llvm-project/commit/403ab9ac740d00b2f85ae6ee3a474cf81e257e4f
  Author: Qiu Chaofan <qiucofan at cn.ibm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/frem.ll

  Log Message:
  -----------
  [NFC] Update X86 frem CodeGen case


  Commit: ebeae22cdebc1db62a0264cf8f5179d079ff3262
      https://github.com/llvm/llvm-project/commit/ebeae22cdebc1db62a0264cf8f5179d079ff3262
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Revert "Fix bazel build (#73741)"

This reverts commit 4b8964dfd8b7ec989cd64a3606a364f2ddbbf285.


  Commit: 95943d2fab7e6f8dcea216df2d56a0512201b467
      https://github.com/llvm/llvm-project/commit/95943d2fab7e6f8dcea216df2d56a0512201b467
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/TargetOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/test/Driver/code-object-version.f90
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    A flang/test/Lower/AMD/code-object-version.f90
    M llvm/include/llvm/Target/TargetOptions.h

  Log Message:
  -----------
  [Flang] Add code-object-version option (#72638)

Information about code object version can be configured by the user for
AMD GPU target and it needs to be placed in LLVM IR generated by Flang.

Information about code object version in MLIR generated by the parser
can be reused by other tools. There is no need to specify extra flags if
we want to invoke MLIR tools (like fir-opt) separately.

Changes in comparison to a8ac93:
 * added information about required targets for test
   flang/test/Driver/driver-help.f90


  Commit: dad73bcd802c35bc877d0ec1ceef3722bafb0f33
      https://github.com/llvm/llvm-project/commit/dad73bcd802c35bc877d0ec1ceef3722bafb0f33
  Author: Tim Northover <tnorthover at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  AArch64: switch Apple CPUs (that support it) to v8.6a. (#73497)

We pretended they were v8.5a in the past because LLVM's modelling used
to fold SM4 crypto support into v8.6a (which the CPUs don't actually
have). That's changed in the last year so we can use the real value.

This is mostly a tidy-up commit before one that'll bring in A17 and M3.


  Commit: c145e4c18eab5d5edf664ad07d5c5be0e536d095
      https://github.com/llvm/llvm-project/commit/c145e4c18eab5d5edf664ad07d5c5be0e536d095
  Author: paperchalice <29250197+paperchalice at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Passes/PassRegistry.def

  Log Message:
  -----------
  [Pass][NFC] Sort and format passes in PassRegistery.def (#73762)

- Sort all passes in alphabetical order.
- Format `llvm/lib/Passes/PassRegistry.def`.
- Remove redundant semicolon.


  Commit: 91e1b4a64f7df6cc51af74e91610f84ee1bdc74a
      https://github.com/llvm/llvm-project/commit/91e1b4a64f7df6cc51af74e91610f84ee1bdc74a
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    A flang/test/Fir/box-offset-codegen.fir
    A flang/test/Fir/box-offset.fir
    M flang/test/Fir/invalid.fir

  Log Message:
  -----------
  [flang] add fir.box_offset operation (#73641)

This operation allows computing the address of descriptor fields. It is
needed to help attaching descriptors in OpenMP/OpenACC target region.
The pointers inside the descriptor structure must be mapped too, but the
fir.box is abstract, so these fields cannot be computed with
fir.coordinate_of.

To preserve the abstraction of the descriptor layout in FIR, introduce
an operation specifically to !fir.ref<fir.box<>> address fields based on
field names (base_addr or derived_type).


  Commit: e2a37e5130709e3e3df52fac97ed3f5356bc0a21
      https://github.com/llvm/llvm-project/commit/e2a37e5130709e3e3df52fac97ed3f5356bc0a21
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libc/src/__support/CPP/limits.h
    M libc/src/__support/CPP/type_traits/invoke.h
    M libc/src/__support/CPP/utility/in_place.h
    M libc/src/__support/CPP/utility/move.h
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/FloatProperties.h
    M libc/src/__support/FPUtil/x86_64/LongDoubleBits.h
    M libc/src/__support/UInt.h
    M libc/src/__support/integer_operations.h
    M libc/src/string/memmem.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][NFC] Fix missing LIBC_INLINE + style (#73659)


  Commit: 9eb80ab3787e1851be8c686651688e870b93506b
      https://github.com/llvm/llvm-project/commit/9eb80ab3787e1851be8c686651688e870b93506b
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/X86/latency/subprocess-rsp.s
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp

  Log Message:
  -----------
  [llvm-exegesis] Set stack pointer register after starting perf counter (#72489)

Before this patch, in subprocess mode, llvm-exegesis setup the stack
pointer register with the rest of the registers when it was requested by
the user. This would cause a segfault when the instructions to start the
perf counter ran as they use the stack to preserve the three registers
needed to make the syscall. This patch moves the setup of the stack
register to after the configuration of the perf counter to fix this
issue so that we have a valid stack pointer for all the preceeding
operations.

Regression test added.

This fixes #72193.


  Commit: 6e0101684e59d5e8b11853a7311c71090547d355
      https://github.com/llvm/llvm-project/commit/6e0101684e59d5e8b11853a7311c71090547d355
  Author: Sandeep Kosuri <66305775+sandeepkosuri at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/test/OpenMP/metadirective_ast_print.c
    M clang/test/OpenMP/metadirective_empty.cpp
    M clang/test/OpenMP/nothing_messages.cpp

  Log Message:
  -----------
  [OpenMP] Support for `nothing` in `metadirective` (#73690)

- Removed an unnecessary check that was preventing `nothing` to work
properly inside `metadirective`.


  Commit: 6cf3566850a807085d413dee4a573b3eca7b6bee
      https://github.com/llvm/llvm-project/commit/6cf3566850a807085d413dee4a573b3eca7b6bee
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h

  Log Message:
  -----------
  [NFC][MachineScheduler] Rename NumLoads parameter of shouldClusterMemOps to ClusterSize (#73757)

As the same hook is called for both load and store clustering, NumLoads
is a misleading name. Use ClusterSize instead.


  Commit: 10d6d5f224c2e9b5fed025940bc1ac45a4f6f70f
      https://github.com/llvm/llvm-project/commit/10d6d5f224c2e9b5fed025940bc1ac45a4f6f70f
  Author: Tim Northover <tnorthover at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  AArch64: add support for currently released Apple CPUs. (#73499)

These are still v8.6a and have no real changes as far as LLVM cares, so
it's mostly just a copy/paste job.


  Commit: 4b3ea337ad188d5c3ff05bf64cc61c3355e66376
      https://github.com/llvm/llvm-project/commit/4b3ea337ad188d5c3ff05bf64cc61c3355e66376
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp

  Log Message:
  -----------
  [ValueTracking] Convert isKnownNonNegative() to use SimplifyQuery (NFC)


  Commit: 85c9c16895082dfaee3e8440440c83ba9b436da0
      https://github.com/llvm/llvm-project/commit/85c9c16895082dfaee3e8440440c83ba9b436da0
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    A llvm/test/CodeGen/RISCV/misched-load-clustering.ll

  Log Message:
  -----------
  [RISCV] Support load clustering in the MachineScheduler (off by default) (#73754)

This adds minimal support for load clustering, but disables it by
default. The intent is to iterate on the precise heuristic and the
question of turning this on by default in a separate PR. Although
previous discussion indicates hope that the MachineScheduler would
replace most uses of the SelectionDAG scheduler, it does seem most
targets aren't using MachineScheduler load clustering right now:
PPC+AArch64 seem to just use it to help with paired load/store formation
and although AMDGPU uses it for general clustering it also implements
ShouldScheduleLoadsNear for the SelectionDAG scheduler's clustering.


  Commit: 52b4b357268ac114f7972e37da1e5954f322df09
      https://github.com/llvm/llvm-project/commit/52b4b357268ac114f7972e37da1e5954f322df09
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    R llvm/test/tools/llvm-exegesis/X86/latency/subprocess-rsp.s
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp

  Log Message:
  -----------
  Revert "[llvm-exegesis] Set stack pointer register after starting perf counter (#72489)"

This reverts commit 9eb80ab3787e1851be8c686651688e870b93506b.

This is causing failures on multiple builders. Pulling it out until I
have time to fix it.


  Commit: d6e8f3b9a23475e0da6ebbfd6950c6b8c8bd20c0
      https://github.com/llvm/llvm-project/commit/d6e8f3b9a23475e0da6ebbfd6950c6b8c8bd20c0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp

  Log Message:
  -----------
  [ValueTracking] Convert isKnownPositive() to use SimplifyQuery (NFC)


  Commit: 42b6c8ed3ae44ed61af5ba81bdaa5b81a9ce61ad
      https://github.com/llvm/llvm-project/commit/42b6c8ed3ae44ed61af5ba81bdaa5b81a9ce61ad
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp

  Log Message:
  -----------
  [ValueTracking] Convert isKnownNegative() to use SimplifyQuery (NFC)

It looks like this function is actually unused.


  Commit: d9e8ae7d2f74fff629a8be10835677ce8039d452
      https://github.com/llvm/llvm-project/commit/d9e8ae7d2f74fff629a8be10835677ce8039d452
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/ValueTracking.cpp

  Log Message:
  -----------
  [ValueTracking] Convert MaskedValueIsZero() to use SimplifyQuery (NFC)


  Commit: 511218642bc5df7815423de211192dd577eb3a9c
      https://github.com/llvm/llvm-project/commit/511218642bc5df7815423de211192dd577eb3a9c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/idioms.ll

  Log Message:
  -----------
  [InstCombine] Regenerate test checks (NFC)


  Commit: 621183cb45b93517169787bb254705ab3baff2a2
      https://github.com/llvm/llvm-project/commit/621183cb45b93517169787bb254705ab3baff2a2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/X86/addr-mode-matcher-4.ll

  Log Message:
  -----------
  [X86] Add test case showing failure to remove unnecessary zext from address math

Thanks to @yubingex007-a11y for the original test case


  Commit: 0fac9da7342e7846fbc4464abe5c00086cbf026c
      https://github.com/llvm/llvm-project/commit/0fac9da7342e7846fbc4464abe5c00086cbf026c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/X86/addr-mode-matcher-4.ll

  Log Message:
  -----------
  [DAG] getNode() - relax (zext (trunc x)) -> x fold iff the upper bits are known zero.

Just leave the (zext (trunc (and x, c))) pattern which is still being used to create some zext_inreg patterns.


  Commit: 1bfb84b47738155cc3c290ac7034075bec60920b
      https://github.com/llvm/llvm-project/commit/1bfb84b47738155cc3c290ac7034075bec60920b
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-armpl.ll
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/armpl-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sleef-intrinsic-calls-aarch64.ll

  Log Message:
  -----------
  [NFC][TLI] Improve tests for ArmPL and SLEEF Intrinsics. (#73352)

Auto-generate test `armpl-intrinsics.ll` and simplify tests:
- Eliminate scalar tail with no tail-folding flag.
- Use active lane mask for shorter check lines (no long `shufflevectors`).
- Eliminate scalar loops by providing `noalias` to relevant arguments and
run `simplifycfg` to drop them.
- Update script now use `@llvm.compiler.used` instead of a longer regex.


  Commit: 47df664c7acfd8abd082c0252d1793182c92dc3d
      https://github.com/llvm/llvm-project/commit/47df664c7acfd8abd082c0252d1793182c92dc3d
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream.c

  Log Message:
  -----------
  [clang][analyzer] Support `fgets` in the SteamChecker (#73638)


  Commit: 241076fb529eafccea9bae8bb407a57d83480745
      https://github.com/llvm/llvm-project/commit/241076fb529eafccea9bae8bb407a57d83480745
  Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp

  Log Message:
  -----------
  [SelectionDAG] Fix assertion for widening of mask operand in MSTORE. (#73295)

According to the code in `SelectionDAG::getMaskedStore`, the Mask
operator is in position 4, not 3:

     SDValue Ops[] = {Chain, Val, Base, Offset, Mask};


  Commit: af65379e383bac651f0868237e9086630b15ee0d
      https://github.com/llvm/llvm-project/commit/af65379e383bac651f0868237e9086630b15ee0d
  Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/test/Driver/ctofortran.f90

  Log Message:
  -----------
  [flang] Fix test ctofortran (#73738)

After merge request #73124, the flang test Driver/ctofortran started
failing because both the C and the Fortran code had main programs. This
update fixes that by eliminating the C main program in the test.


  Commit: 437a48b2d9bfc6e38a0ca43f1cee48ceaf0fe249
      https://github.com/llvm/llvm-project/commit/437a48b2d9bfc6e38a0ca43f1cee48ceaf0fe249
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/Intrinsics/loc.f90

  Log Message:
  -----------
  [flang] Handle absent optional in LOC (#73530)

LOC is a GNU extension, so gfortran is the reference for it, and it
accepts absent OPTIONAL and returns zero. Support this use case in flang
too.

Update the LOC test to use HLFIR while touching it.

Fixes https://github.com/llvm/llvm-project/issues/72823.


  Commit: 15798f4ec4dfa9607f4a7c94b922b80049e1575d
      https://github.com/llvm/llvm-project/commit/15798f4ec4dfa9607f4a7c94b922b80049e1575d
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/docs/InternalsManual.rst
    M clang/include/clang/Frontend/VerifyDiagnosticConsumer.h

  Log Message:
  -----------
  Move documentation about -verify from a header to public docs (#73694)

The internals manual seems like a more obvious home for the details
instead of hiding them away in a header file and relying on doxygen
output to document it publicly.


  Commit: d2d9dc8eb4126271ee1406c2586a4953db831d21
      https://github.com/llvm/llvm-project/commit/d2d9dc8eb4126271ee1406c2586a4953db831d21
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/Debugify.cpp
    M llvm/test/Transforms/ArgumentPromotion/pr27568.ll
    M llvm/test/Transforms/BDCE/basic.ll
    M llvm/test/Transforms/DCE/basic.ll
    M llvm/test/Transforms/DeadStoreElimination/debuginfo.ll
    M llvm/test/Transforms/GlobalOpt/shrink-global-to-bool-check-debug.ll
    M llvm/test/Transforms/InstCombine/call-guard.ll
    M llvm/test/Transforms/InstCombine/cast-mul-select.ll
    M llvm/test/Transforms/InstCombine/debuginfo-variables.ll
    M llvm/test/Transforms/InstCombine/double-float-shrink-2.ll
    M llvm/test/Transforms/InstCombine/storemerge-dbg.ll
    M llvm/test/Transforms/JumpThreading/branch-debug-info.ll
    M llvm/test/Transforms/LCSSA/avoid-intrinsics-in-catchswitch.ll
    M llvm/test/Transforms/LCSSA/basictest.ll
    M llvm/test/Transforms/LICM/sinking-debugify.ll
    M llvm/test/Transforms/LoopIdiom/X86/arithmetic-right-shift-until-zero.ll
    M llvm/test/Transforms/LoopIdiom/X86/left-shift-until-bittest.ll
    M llvm/test/Transforms/LoopIdiom/X86/logical-right-shift-until-zero-debuginfo.ll
    M llvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll
    M llvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll
    M llvm/test/Transforms/LoopUnroll/X86/call-remark.ll
    M llvm/test/Transforms/LoopVectorize/i8-induction.ll
    M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
    M llvm/test/Transforms/Mem2Reg/PromoteMemToRegister.ll
    M llvm/test/Transforms/MemCpyOpt/pr37967.ll
    M llvm/test/Transforms/MergedLoadStoreMotion/st_sink_check_debug.ll
    M llvm/test/Transforms/SCCP/ipsccp-basic.ll
    M llvm/test/Transforms/SCCP/loadtest.ll
    M llvm/test/Transforms/SROA/alignment.ll
    M llvm/test/Transforms/SimplifyCFG/X86/merge-compatible-invokes-of-landingpad-debuginfo.ll
    M llvm/test/Transforms/SimplifyCFG/debug-info-thread-phi.ll
    M llvm/test/Transforms/TailCallElim/debugloc.ll
    M llvm/test/Transforms/Util/Debugify/loc-only.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Make debugify pass convert to/from RemoveDIs mode (#73251)

Debugify is extremely useful as a testing and debugging tool, and a good
number of LLVM-IR transform tests use it. We need it to support "new"
non-instruction debug-info to get test coverage, but it's not important
enough to completely convert right now (and it'd be a large
undertaking). Thus: convert to/from dbg.value/DPValue mode on entry and
exit of the pass, which gives us the functionality without any further
work. The cost is compile-time, but again this is only happening during
tests.

Tested by: the large set of debugify tests enabled here. Note the
InstCombine test (cast-mul-select.ll) that hasn't been fully enabled:
this is because there's a debug-info sinking piece of code there that
hasn't been instrumented.


  Commit: 3930a0b57a9a558409a7368f52f905029112e3c2
      https://github.com/llvm/llvm-project/commit/3930a0b57a9a558409a7368f52f905029112e3c2
  Author: Jan Patrick Lehr <jplehr at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][libomptarget] Use two SDMA engines (#73633)

Limit the use to two SDMA engines which are optimized for such transfers.


  Commit: d4d88b8499b66e0904e5c545613a14d170b3ea62
      https://github.com/llvm/llvm-project/commit/d4d88b8499b66e0904e5c545613a14d170b3ea62
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M openmp/libomptarget/DeviceRTL/src/Workshare.cpp

  Log Message:
  -----------
  [OpenMP] New Openmp device RTL functions (#73225)

Add new implementation of workshare loop functions.

These functions will be used by OpenMPIRBuilder to support
handling of OpenMP workshare loops for the target region.

---------

Co-authored-by: Johannes Doerfert <johannes at jdoerfert.de>


  Commit: 23b82bfdc2b6771231cc6a51e6aad9b48318cc1f
      https://github.com/llvm/llvm-project/commit/23b82bfdc2b6771231cc6a51e6aad9b48318cc1f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] Add getTargetConstantPoolFromBasePtr helper. NFC.

Split out of getTargetConstantFromBasePtr


  Commit: 9619a2420eac885060bae6c45e85f85abfc7d6a9
      https://github.com/llvm/llvm-project/commit/9619a2420eac885060bae6c45e85f85abfc7d6a9
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-contract-to-outerproduct-matvec-transforms.mlir

  Log Message:
  -----------
      [MLIR][Vector] Refactor tests for contract -> OP transforms (3/N) (#73447)

This patch refactors tests for:

      vector.contract -> vector.outerproduct

for matvec operations (b += Ax). Summary of changes:
  * names of LIT variables are unified,
  * "plain" tests (i.e. without masking and with fixed-width vectors)
    are moved to the top of their respective sections,
  * missing "plain" cases are added.

This is a part of a larger effort to add cases with scalable vectors to
tests for the Vector dialect. I am refactoring these tests so that it's
easier to identify what cases are tested and where to add tests for
scalable vectors.

Implements #72834.


  Commit: 0d3c40b82b3b667a4f7f69f45658c184615fd54f
      https://github.com/llvm/llvm-project/commit/0d3c40b82b3b667a4f7f69f45658c184615fd54f
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libcxx/test/libcxx/transitive_includes_to_csv.py
    M libcxx/utils/adb_run.py
    M libcxx/utils/gdb/libcxx/printers.py
    M libcxx/utils/generate_escaped_output_table.py
    M libcxx/utils/generate_extended_grapheme_cluster_table.py
    M libcxx/utils/generate_extended_grapheme_cluster_test.py
    M libcxx/utils/generate_std_clang_module_header.py
    M libcxx/utils/generate_std_cppm_in.py
    M libcxx/utils/generate_width_estimation_table.py
    M libcxx/utils/graph_header_deps.py
    M libcxx/utils/libcxx/test/android.py
    M libcxx/utils/libcxx/test/dsl.py
    M libcxx/utils/libcxx/test/format.py
    M libcxx/utils/qemu_baremetal.py

  Log Message:
  -----------
  [libc++] Remove unused Python imports (#73724)

VSCode's Pylance extension informed me, and text searching confirmed,
that these imports are unused. I believe we should be able to remove
them harmlessly.


  Commit: 68433f6b27a2d95d8132d4a636a7e18ed85ca9e6
      https://github.com/llvm/llvm-project/commit/68433f6b27a2d95d8132d4a636a7e18ed85ca9e6
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Conversion/NVVMToLLVM/invalid.mlir
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir

  Log Message:
  -----------
  [mlir][nvvm] Introduce `setmaxregister.sync.aligned` Op (#73780)

This PR introduce `setmaxregister.sync.aligned` Op to increase or
decrease the register size.


https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#miscellaneous-instructions-setmaxnreg


  Commit: fa712b0764d30e415159537d3e89c994cdef73f9
      https://github.com/llvm/llvm-project/commit/fa712b0764d30e415159537d3e89c994cdef73f9
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libcxx/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Build the dylib with sanitizers when requested (#73656)

We were detecting which sanitizer flags to use when building
libc++.dylib but we were never actually adding those flags to the
targets, which means that our sanitized builds would basically build the
dylib without any sanitizers enabled.


  Commit: 1a5af34e6fcb56098e67d3272e1e89a05528f15e
      https://github.com/llvm/llvm-project/commit/1a5af34e6fcb56098e67d3272e1e89a05528f15e
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libcxx/benchmarks/stringstream.bench.cpp
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__locale
    A libcxx/include/__utility/no_destroy.h
    M libcxx/include/module.modulemap.in
    M libcxx/src/locale.cpp

  Log Message:
  -----------
  [libc++] Speed up classic locale (take 2) (#73533)

Locale objects use atomic reference counting, which may be very
expensive in parallel applications. The classic locale is used by
default by all streams and can be very contended. But it's never
destroyed, so the reference counting is also completely pointless on the
classic locale. Currently ~70% of time in the parallel stringstream
benchmarks is spent in locale ctor/dtor. And the execution radically
slows down with more threads.

Avoid reference counting on the classic locale. With this change
parallel benchmarks start to scale with threads.

This is a re-application of f8afc53d641c (aka PR #72112) which was
reverted in 4e0c48b907f1 because it broke the sanitizer builds due
to an initialization order fiasco. This issue has now been fixed by
ensuring that the locale is constinit'ed.

Co-authored-by: Dmitry Vyukov <dvyukov at google.com>


  Commit: 3c00c8c0fcd64600f7adc4538b2116a91ef60ced
      https://github.com/llvm/llvm-project/commit/3c00c8c0fcd64600f7adc4538b2116a91ef60ced
  Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c

  Log Message:
  -----------
  [AArch64][SME2] Enable CLAMP multi-vector builtins for SME2 (#72272)

Thing change add builtins for SME2:
    sclamp.single.x2
    uclamp.single.x2
    fclamp.single.x2
    sclamp.single.x4
    uclamp.single.x4
    fclamp.single.x4

Patch by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>


  Commit: 9b192596ded4982ea360e70f723f9d05dc456ec0
      https://github.com/llvm/llvm-project/commit/9b192596ded4982ea360e70f723f9d05dc456ec0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 1a5af34e6fcb


  Commit: 738c3ede315acb413fc8e0e15c78657102110e94
      https://github.com/llvm/llvm-project/commit/738c3ede315acb413fc8e0e15c78657102110e94
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Pre-commit test for FrameIndex handling in getMemOperandsWithOffsetWidth

Currently AArch64 handles a FrameIndex operand in this function, but we
fail to.


  Commit: 53f3e59e59339cdc3b55f1f6f5c87951df2039de
      https://github.com/llvm/llvm-project/commit/53f3e59e59339cdc3b55f1f6f5c87951df2039de
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/X86/combine-fneg.ll
    R llvm/test/CodeGen/X86/vec_fneg.ll

  Log Message:
  -----------
  [X86] Rename vec_fneg.ll to combine-fneg.ll

These tests are for fneg canonicalization combines, not codegen coverage tests like most of the other vec_* test files.


  Commit: 244389ad1794b0bc6c659bd685cf6ea9a7cad8e3
      https://github.com/llvm/llvm-project/commit/244389ad1794b0bc6c659bd685cf6ea9a7cad8e3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/X86/vec_fneg.ll

  Log Message:
  -----------
  [X86] Add fneg vector test coverage


  Commit: 0468867c982c9438cf1e9adb71709cb9c7d66391
      https://github.com/llvm/llvm-project/commit/0468867c982c9438cf1e9adb71709cb9c7d66391
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libc/src/__support/HashTable/CMakeLists.txt
    M libc/src/__support/HashTable/generic/bitmask_impl.inc

  Log Message:
  -----------
  [libc] Fix the GPU build for the hashing support (#73799)

Summary:
For reasons unknown to me, this function is undefined only on the GPU
build if you use `uintptr_t` but not `uint64_t` directly. This patch
makes an ifdef to use this directly for the GPU build to fix the bots.


  Commit: 3af82b3962c443d43edba1abb50a82fb3048999a
      https://github.com/llvm/llvm-project/commit/3af82b3962c443d43edba1abb50a82fb3048999a
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Add spaces around the Verilog implication operator (#71352)

The Verilog implication operator `->` is a binary operator meaning
either the left hand side is false or the right hand side is true.
Previously it was treated as the C++ struct member operator.

I didn't even know it existed when I added the operator formatting part.
And I didn't check all the tests for all the operators I added. That is
how the bad test got in.


  Commit: 9fa2d74be415a3e30d811c0acc05c45e1c55759e
      https://github.com/llvm/llvm-project/commit/9fa2d74be415a3e30d811c0acc05c45e1c55759e
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/unittests/Format/FormatTestVerilog.cpp

  Log Message:
  -----------
  [clang-format] Indent Verilog case statements with comments (#71353)

If a line contains a comment outside of (fake) parentheses, the part
following it is indented according to `CurrentState.Indent`. A Verilog
case label and the statement that follows are broken with
mustBreakBefore. So the part that follows the case label needs some
special handling. Previously, that variable was left out. So the
indentation was wrong when there was a comment.

old:

```Verilog
case (data)
  16'd0:
    result = //
        10'b0111111111;
endcase
case (data)
  16'd0:
    //

  //
  result = //
  10'b0111111111;
endcase
```

new:

```Verilog
case (data)
  16'd0:
    result = //
        10'b0111111111;
endcase
case (data)
  16'd0:
    //

    //
    result = //
        10'b0111111111;
endcase
```


  Commit: 2212e900599bb98a46b99b61ccc1983cdaf422d1
      https://github.com/llvm/llvm-project/commit/2212e900599bb98a46b99b61ccc1983cdaf422d1
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A lld/test/ELF/lto/libcall-archive-calloc.ll

  Log Message:
  -----------
  [ELF,LTO] Test calloc defined in a lazy bitcode file for (malloc+memset => calloc) libcall optimization

Similar to https://reviews.llvm.org/D50017: malloc+memset references can
be combined to a calloc reference, which is not explicit in the
referencer's IR symbol table. If calloc is defined in a lazy bitcode
file, we should extract the archive member to satisfy possible
references from LTO generated object files; otherwise (current status,
which will be fixed by #72673), `calloc` as a LazyObject symbol will be
resolved by compileBitcodeFiles generated Undefined, leading to an
incorrectly-extracted Defined symbol without section, which will lower
to an SHN_ABS symbol at address 0.


  Commit: 7eb3103123ffa5c6061ad6775ba6c87d6cd5e256
      https://github.com/llvm/llvm-project/commit/7eb3103123ffa5c6061ad6775ba6c87d6cd5e256
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libc/src/__support/integer_to_string.h

  Log Message:
  -----------
  [libc] Fix cast semantic in integer_to_string (#73804)


  Commit: 8aeacebf288b2f5dc9d3f23e9ac9a4f910238504
      https://github.com/llvm/llvm-project/commit/8aeacebf288b2f5dc9d3f23e9ac9a4f910238504
  Author: Michael Platings <michael.platings at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A libcxx/cmake/caches/Armv7M-picolibc.cmake
    M libcxx/docs/index.rst
    A libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
    M libcxx/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/libcxx/selftest/dsl/dsl.sh.py
    M libcxx/test/libcxx/selftest/pass.cpp/run-error.pass.cpp
    M libcxx/test/libcxx/selftest/pass.mm/run-error.pass.mm
    M libcxx/test/libcxx/system_reserved_names.gen.py
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/ctor.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/fenv_h.compile.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/uchar_h.compile.pass.cpp
    M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/clog.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cout.sh.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
    M libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp
    M libcxx/test/std/numerics/cfenv/cfenv.syn/cfenv.pass.cpp
    M libcxx/test/std/strings/c.strings/cuchar.compile.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.file/to_from_sys.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.hires/now.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.system/from_time_t.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.system/now.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.system/to_time_t.pass.cpp
    M libcxx/test/std/time/time.point/time.point.nonmember/op_-duration.pass.cpp
    M libcxx/utils/ci/BOT_OWNERS.txt
    A libcxx/utils/ci/build-picolibc.sh
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/libcxx/test/features.py
    A libcxxabi/test/configs/armv7m-picolibc-libc++abi.cfg.in
    M libcxxabi/test/test_demangle.pass.cpp
    A libunwind/test/configs/armv7m-picolibc-libunwind.cfg.in

  Log Message:
  -----------
  [libc++] Add initial support for picolibc

Picolibc is a C Standard Library that is commonly used in embedded
environments. This patch adds initial support for this configuration
along with pre-commit CI. As of this patch, the test suite only builds
the tests and nothing is run. A follow-up patch will make the test suite
actually run the tests.

Differential Revision: https://reviews.llvm.org/D154246


  Commit: fad77dce5111214c51a7c2fe8f30153d630349cb
      https://github.com/llvm/llvm-project/commit/fad77dce5111214c51a7c2fe8f30153d630349cb
  Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/lib/IR/Core.cpp
    M llvm/test/Bindings/llvm-c/echo.ll
    M llvm/tools/llvm-c-test/echo.cpp

  Log Message:
  -----------
  [C API] Add support for setting/getting new nneg flag on zext instructions (#73592)

This flag was added in #67982, but was not yet accessible via the C API.
This commit adds a getter/setter for this flag, and a test for it.


  Commit: dc16964f0ecc1dc292c064ef439c1f48629e8c41
      https://github.com/llvm/llvm-project/commit/dc16964f0ecc1dc292c064ef439c1f48629e8c41
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    R .github/workflows/sync-release-repo.yml
    R llvm/utils/git/sync-release-repo.sh

  Log Message:
  -----------
  [workflows] Remove sync-release-repo.yml (#73682)

This should not be needed now that the project uses PRs, plus the
OpenSSF Scorecard report flagged this as insecure.


  Commit: 2cfe7b1b6625ae982d8d0d489bdf0f0d15b234f7
      https://github.com/llvm/llvm-project/commit/2cfe7b1b6625ae982d8d0d489bdf0f0d15b234f7
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A openmp/libomptarget/include/Shared/Profile.h
    M openmp/libomptarget/src/LegacyAPI.cpp
    M openmp/libomptarget/src/api.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/private.h
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Extract timescope profile support into its own header (#73727)


  Commit: 672b3d097464becb6e0077ee49a1117ea9bd8238
      https://github.com/llvm/llvm-project/commit/672b3d097464becb6e0077ee49a1117ea9bd8238
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A llvm/test/Transforms/LICM/pr64897.ll

  Log Message:
  -----------
  [LICM] Add test for #64897 (NFC)


  Commit: db96a9c3b7f1855a586c23328bfa073dde6f1352
      https://github.com/llvm/llvm-project/commit/db96a9c3b7f1855a586c23328bfa073dde6f1352
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    R openmp/libomptarget/include/dlwrap.h
    M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
    M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.h
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.cpp
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.h
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/MemoryManager.h
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.cpp
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.h
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.cpp
    R openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.h
    A openmp/libomptarget/plugins-nextgen/common/include/DLWrap.h
    A openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
    A openmp/libomptarget/plugins-nextgen/common/include/JIT.h
    A openmp/libomptarget/plugins-nextgen/common/include/MemoryManager.h
    A openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    A openmp/libomptarget/plugins-nextgen/common/include/RPC.h
    A openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
    A openmp/libomptarget/plugins-nextgen/common/src/JIT.cpp
    A openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    A openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
    A openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
    A openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.h
    M openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Flatten plugin-nextgen/common folder sturcture (#73725)

For historic reasons we had it setup that there was
`  plugin-nextgen/common/PluginInterface/<sources + headers>`
which is not what we do anywhere else.
Now it looks like the rest:
```
  plugin-nextgen/common/include/<headers>
  plugin-nextgen/common/src/<sources>
```
As part of this, `dlwrap.h` was moved into common/include (as
`DLWrap.h`)
since it is exclusively used by the plugins.


  Commit: 953d675c42c254676ca446951bd728abefecf436
      https://github.com/llvm/llvm-project/commit/953d675c42c254676ca446951bd728abefecf436
  Author: jyu2-git <jennifer.yu at intel.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/target_ast_print.cpp

  Log Message:
  -----------
  Fix accsessing "PresentModifierLocs" array beyond its end. (#73579)

Currently PresentModifierLocs defined with size DefaultmapKindNum; where
DefaultmapKindNum = OMPC_DEFAULTMAP_pointer + 1

Before 5.0 variable-category can not be omitted. For the test like
\#pragma omp target map(tofrom: errors) defaultmap(present)

error would be mitted.

After 5.0 that is allowd.

When try to:
PresentModifierLocs[DMC->getDefaultmapKind()] =
              DMC->getDefaultmapModifierLoc();
It is accessed beyond array end.

To fix this using OMPC_DEFAULTMAP_unknow instead OMPC_DEFAULTMAP_poiner.


  Commit: 0ccef6a723cbfe3d72b85d34963badb37a6a9a53
      https://github.com/llvm/llvm-project/commit/0ccef6a723cbfe3d72b85d34963badb37a6a9a53
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/include/flang/Lower/ConvertExpr.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/OpenMP.cpp
    M flang/lib/Optimizer/Builder/Character.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/test/HLFIR/associate-codegen.fir
    M flang/test/HLFIR/call_with_poly_dummy.f90
    M flang/test/HLFIR/extents-of-shape-of.f90
    M flang/test/HLFIR/mul_transpose.f90
    M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
    M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
    M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
    M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
    M flang/test/Lower/HLFIR/associate-for-args-with-alloc-components.f90
    M flang/test/Lower/HLFIR/calls-assumed-shape.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg-polymorphic.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
    M flang/test/Lower/HLFIR/calls-f77.f90
    M flang/test/Lower/HLFIR/calls-optional.f90
    M flang/test/Lower/HLFIR/charconvert.f90
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/HLFIR/elemental-array-ops.f90
    M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
    M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
    M flang/test/Lower/HLFIR/entry_return.f90
    M flang/test/Lower/HLFIR/expr-addr.f90
    M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
    M flang/test/Lower/HLFIR/polymorphic-expressions.f90
    M flang/test/Lower/HLFIR/transformational.f90
    M flang/test/Lower/HLFIR/user-defined-assignment.f90
    M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
    M flang/test/Lower/Intrinsics/storage_size-2.f90

  Log Message:
  -----------
  [flang] Make adapt.valuebyref attribute work again (#73658)

This got "lost" in the HLFIR transformation. This patch applies the old
attribute to the AssociateOp that needs it, and forwards it to the
AllocaOp that is generated when lowering to FIR.


  Commit: b05335989239f08f0931b9153b1872790b8645f4
      https://github.com/llvm/llvm-project/commit/b05335989239f08f0931b9153b1872790b8645f4
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    A llvm/test/CodeGen/MIR/X86/inline-asm-rm-exhaustion.mir

  Log Message:
  -----------
  [X86InstrInfo] support memfold on spillable inline asm (#70832)

This enables -regalloc=greedy to memfold spillable inline asm
MachineOperands.

Because no instruction selection framework marks MachineOperands as
spillable, no language frontend can observe functional changes from this
patch. That will change once instruction selection frameworks are
updated.

Link: https://github.com/llvm/llvm-project/issues/20571


  Commit: 3bf72bf427f15521111df4e35c868005ceb0013b
      https://github.com/llvm/llvm-project/commit/3bf72bf427f15521111df4e35c868005ceb0013b
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/test/Transforms/CodeExtractor/LoopExtractor_alloca.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Extract DPValues in CodeExtractor like dbg.values (#73252)

CodeExtractor shifts dbg.value intrinsics out of the region being
extracted and updates them to be appropriate in the extracted function.
With new non-intrinsic variable locations, we need to manually do this
too, with DPValues.

Most of this patch shifts and refactors some utilities in
fixupDebugInfoPostExtraction so that we can add a single extra helper
lambda that iterates over DPValues and applies update-utilities. We also
have to assign the IsNewDbgInfoFormat flag in a bunch of places -- this
normally gets set the moment you insert a block into a function (or
function into a module), however a few blocks are constructed here
before being inserted, thus we have to do some manual setup.

Tested via LoopExtractor_alloca.ll, which invokes debugify.


  Commit: 859338a695169d2804d6999f44e1e94bedf6ddd7
      https://github.com/llvm/llvm-project/commit/859338a695169d2804d6999f44e1e94bedf6ddd7
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/SafeStack.cpp
    M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp

  Log Message:
  -----------
  [llvm] Replace uses of Type::getPointerTo (NFC)

Work towards removing method Type::getPointerTo.
Opaque ptr cleanup effort.


  Commit: e2299e8d9d99ed1e5315b767a8dd5790967ef485
      https://github.com/llvm/llvm-project/commit/e2299e8d9d99ed1e5315b767a8dd5790967ef485
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    R openmp/libomptarget/include/OmptCallback.h
    R openmp/libomptarget/include/OmptConnector.h
    A openmp/libomptarget/include/OpenMP/OMPT/Callback.h
    A openmp/libomptarget/include/OpenMP/OMPT/Connector.h
    A openmp/libomptarget/include/OpenMP/OMPT/Interface.h
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/OMPT/OmptCallback.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
    M openmp/libomptarget/src/OmptCallback.cpp
    R openmp/libomptarget/src/OmptInterface.h
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Move OMPT headers into OpenMP/OMPT (#73718)


  Commit: fd2d0bf90e37756308a5fa91a0bcd80d0923989e
      https://github.com/llvm/llvm-project/commit/fd2d0bf90e37756308a5fa91a0bcd80d0923989e
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M openmp/libomptarget/include/OpenMP/InternalTypes.h
    M openmp/libomptarget/src/api.cpp
    M openmp/libomptarget/src/private.h

  Log Message:
  -----------
  [OpenMP][NFC] Replace unnecessary typedefs (#73815)


  Commit: bdecfebce4b0af94b3afa3e20add0b9d232f21ad
      https://github.com/llvm/llvm-project/commit/bdecfebce4b0af94b3afa3e20add0b9d232f21ad
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M openmp/libomptarget/src/CMakeLists.txt
    R openmp/libomptarget/src/OmptCallback.cpp
    A openmp/libomptarget/src/OpenMP/OMPT/Callback.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Rename OmptCallback.cpp into OpenMP/OMPT/Callback.cpp (#73813)

Also revert the ifdef OMPT_SUPPORT order to have the short fallback
first and not after 400 lines.


  Commit: 16b8c9608f2081c4f5a9beab6432c4aed842f2f8
      https://github.com/llvm/llvm-project/commit/16b8c9608f2081c4f5a9beab6432c4aed842f2f8
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/Status/FormatIssues.csv
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__format/formatter_char.h
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.fsigned-char.pass.cpp
    A libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.funsigned-char.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][format] Fixes formatting code units as integers. (#73396)

This paper was voted in as a DR, so it's retroactively enabled back to
C++20; the C++ version that introduced std::format.

Implements:
- P2909R4 Fix formatting of code units as integers (Dude, where’s my
``char``?)


  Commit: 740f14edb4f2bf836b8892dd772ed1d52d24288d
      https://github.com/llvm/llvm-project/commit/740f14edb4f2bf836b8892dd772ed1d52d24288d
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp

  Log Message:
  -----------
  [flang] fix codegen warning from #73641 (#73808)


  Commit: aeb051affe690d42e4a7bf96b4704244acc6cefb
      https://github.com/llvm/llvm-project/commit/aeb051affe690d42e4a7bf96b4704244acc6cefb
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  Correct the documentation category for the 'cleanup' attribute

It was previously classified as a type attribute when it is actually a
variable attribute.


  Commit: 5ce5ea3786246815ce4913dcf8020bde976d2c95
      https://github.com/llvm/llvm-project/commit/5ce5ea3786246815ce4913dcf8020bde976d2c95
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/test/Driver/falias-analysis.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Driver/optimization-remark.f90
    M flang/test/Fir/basic-program.fir
    M flang/tools/tco/tco.cpp

  Log Message:
  -----------
  Revert "[flang] Enable alias tags pass by default (#73111)" (#73821)

This reverts commit caba0314cf631a3ba3e982cbcdc455224046c7a8.

Serious performance regressions were reported by @vzakhari
https://github.com/llvm/llvm-project/issues/58303#issuecomment-1830754173

Fixing this doesn't look quick so I will revert for now.


  Commit: b465f94b7c47f4c759fbfb15cde672739dd0b3d3
      https://github.com/llvm/llvm-project/commit/b465f94b7c47f4c759fbfb15cde672739dd0b3d3
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A openmp/libomptarget/include/Utils/ExponentialBackoff.h
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/private.h

  Log Message:
  -----------
  [OpenMP][NFC] Put ExponentialBackoff in a Utils header (#73816)

"private.h" will go.


  Commit: 2273ee086a5ecd676b0d9782f7b55c8fa2409b35
      https://github.com/llvm/llvm-project/commit/2273ee086a5ecd676b0d9782f7b55c8fa2409b35
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/Sema/Overload.h

  Log Message:
  -----------
  Remove an outdated comment; NFC

StandardConversionSequence is significantly larger than a word.


  Commit: 04b185302be963c3c6399b2284c2ec75eb81b6cf
      https://github.com/llvm/llvm-project/commit/04b185302be963c3c6399b2284c2ec75eb81b6cf
  Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/runtime/character.cpp
    M flang/runtime/descriptor-io.h
    M flang/runtime/random.cpp
    M flang/runtime/tools.cpp
    M flang/runtime/transformational.cpp
    M flang/test/Lower/Intrinsics/missing-math-runtime.f90

  Log Message:
  -----------
  [flang] Cleanup of NYI messages (#73740)

This update makes the user visible messages relating to features that
are not yet implemented be more consistent. I also cleaned up some of
the code.

For NYI messages that refer to intrinsics, I made sure the the message
begins with "not yet implemented: intrinsic:" to make them easier to
recognize.

I created some utility functions for NYI reporting that I put into
.../include/Optimizer/Support/Utils.h. These mainly convert MLIR types
to their Fortran equivalents.

I converted the NYI code to use the newly created utility functions.


  Commit: 8391bb3f5c0d0d90e47db157809d671d360231bc
      https://github.com/llvm/llvm-project/commit/8391bb3f5c0d0d90e47db157809d671d360231bc
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M openmp/libomptarget/include/OpenMP/InternalTypes.h
    M openmp/libomptarget/include/OpenMP/omp.h
    M openmp/libomptarget/include/omptarget.h
    M openmp/libomptarget/src/api.cpp
    M openmp/libomptarget/src/private.h

  Log Message:
  -----------
  [OpenMP][NFC] Move more declarations out of private.h (#73823)


  Commit: 2630d72cb343fed771e505c1bb0e4f334aed66ce
      https://github.com/llvm/llvm-project/commit/2630d72cb343fed771e505c1bb0e4f334aed66ce
  Author: Chris B <chris.bieneman at me.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    A clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    A clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzleErrors.hlsl
    A clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl

  Log Message:
  -----------
  [HLSL] Support vector swizzles on scalars (#67700)

HLSL supports vector swizzles on scalars by implicitly converting the
scalar to a single-element vector. This syntax is a convienent way to
initialize vectors based on filling a scalar value.

There are two parts of this change. The first part in the Lexer splits
numeric constant tokens when a `.x` or `.r` suffix is encountered. This
splitting is a bit hacky but allows the numeric constant to be parsed
separately from the vector element expression. There is an ambiguity
here with the `r` suffix used by fixed point types, however fixed point
types aren't supported in HLSL so this should not cause any exposable
problems (a separate issue has been filed to track validating language
options for HLSL: #67689).

The second part of this change is in Sema::LookupMemberExpr. For HLSL,
if the base type is a scalar, we implicit cast the scalar to a
one-element vector then call back to perform the vector lookup.

Fixes #56658 and #67511


  Commit: f688e0901213726feb9b26cedc61919413cbf59c
      https://github.com/llvm/llvm-project/commit/f688e0901213726feb9b26cedc61919413cbf59c
  Author: David Li <57157229+david-xl at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vec_fabs.ll

  Log Message:
  -----------
  Enable custom lowering of fabs_v16f16 with AVX and fabs_v32f16 with A… (#73565)

This is the last patch for fabs lowering. v32f16 works for AVX as well
with the patch (with type legalization).


  Commit: ff96567bd0fb8ed7a4739afa27a3cf3908115021
      https://github.com/llvm/llvm-project/commit/ff96567bd0fb8ed7a4739afa27a3cf3908115021
  Author: Chris Bieneman <chris.bieneman at me.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl

  Log Message:
  -----------
  [NFC] Fix failing test introduced in #67700

This fixes the test to handle the changes in the AST printer.
../clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl


  Commit: 40422bf150bf29e9d4ac00da5e29fa0ff9bcd8b6
      https://github.com/llvm/llvm-project/commit/40422bf150bf29e9d4ac00da5e29fa0ff9bcd8b6
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A openmp/libomptarget/include/OpenMP/Mapping.h
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/src/CMakeLists.txt
    A openmp/libomptarget/src/OpenMP/Mapping.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/private.h

  Log Message:
  -----------
  [OpenMP][NFC] Separate OpenMP/OpenACC specific mapping code (#73817)

While this does not really encapsulate the mapping code, it at least
moves most of the declarations out of the way.


  Commit: 749d595de906e43660dfd0daa1a60b501e1dc838
      https://github.com/llvm/llvm-project/commit/749d595de906e43660dfd0daa1a60b501e1dc838
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/ProfileData/MemProf.cpp

  Log Message:
  -----------
  [MemProf][NFC] Correct comment about stripping of suffixes in profile (#73840)

The comment about the stripping of suffixes when creating the indexed
MemProf profile was partially incorrect, as we do not strip ".__uniq."
suffixes by default (by design). Update the comment accordingly.


  Commit: 5259e14e7dcb58f50c31cf3b15a9b9f6e64dc7a1
      https://github.com/llvm/llvm-project/commit/5259e14e7dcb58f50c31cf3b15a9b9f6e64dc7a1
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
    M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir

  Log Message:
  -----------
  [mlir][spirv] Add folding for [S|U]Mod, [S|U]Div, SRem (#73341)

Add missing constant propogation folder for [S|U]Mod, [S|U]Div, SRem

Implement additional folding when rhs is 1 for all ops.

This helps for readability of lowered code into SPIR-V.

Part of work for #70704


  Commit: 2f1399c73f52aac77afbdd2ba53dd9f1dcbb7c98
      https://github.com/llvm/llvm-project/commit/2f1399c73f52aac77afbdd2ba53dd9f1dcbb7c98
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/APINotes/APINotesManager.h

  Log Message:
  -----------
  clang/APINotes: fix parenthesization of &&, ||

Follow up on 59edb43 (clang/APINotes: squelch a -Wparantheses warning
(NFC)) to fix parenthesization, as requested by David Blaikie.


  Commit: 7fb89bfb0f93d5cfe3cf661253bbb2e2ef19359a
      https://github.com/llvm/llvm-project/commit/7fb89bfb0f93d5cfe3cf661253bbb2e2ef19359a
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A mlir/include/mlir-c/Target/LLVMIR.h
    M mlir/lib/CAPI/CMakeLists.txt
    A mlir/lib/CAPI/Target/CMakeLists.txt
    A mlir/lib/CAPI/Target/LLVMIR.cpp
    M mlir/test/CAPI/CMakeLists.txt
    A mlir/test/CAPI/translation.c
    M mlir/test/CMakeLists.txt
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  Reapply "[mlir] Add mlirTranslateModuleToLLVMIR to MLIR-C (#73627)" (#73749) (#73751)

Co-authored-by: Edgar <git at edgarluque.com>


  Commit: 6a634953e1a2ec1e434e1ed274e6b37ff7aa643d
      https://github.com/llvm/llvm-project/commit/6a634953e1a2ec1e434e1ed274e6b37ff7aa643d
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mallinfo.h
    M compiler-rt/test/msan/Linux/mallinfo.cpp

  Log Message:
  -----------
  [msan] Intercept mallinfo2 (#73729)


  Commit: 8f564a1f30c160635a8225af5d20669ee42b468a
      https://github.com/llvm/llvm-project/commit/8f564a1f30c160635a8225af5d20669ee42b468a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Headers/riscv_crypto.h

  Log Message:
  -----------
  [RISCV] Remove reference to non-existant __builtin_riscv_sha512sum0l/__builtin_riscv_sha512sum1l.

This was a copy/paste mistake from sig0/sig1 which have high and low halves.
sum0 and sum1 have sum0r and sum1r instead.


  Commit: ce00133e5f5b243b320d55f7e000057a3f8ad2c9
      https://github.com/llvm/llvm-project/commit/ce00133e5f5b243b320d55f7e000057a3f8ad2c9
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h

  Log Message:
  -----------
  Allow lldb to load .dwp files with large .debug_info or .debug_types. (#73736)

A previous patch to llvm allowed the DWARFUnitIndex class to handle
.debug_info.dwo and .debug_types.dwo sections to go over 4GB by checking
for this case and fixing up the DWARFUnitIndex. LLDB's DWARF parser
tries to use the llvm's DWARF parser when it can, and LLDB's DWARF
parser uses the llvm::DWARFUnitIndex which should allow us to load large
.dwp files, but there were a few things missing on the LLDB front:
- support for parsing DWARFUnit objects when the offset exceeds 4GB due
to a 32 bit truncation issue
- not populating the required DWARF sections when we call
DWARFContext::GetAsLLVM() which didn't allow the fixups to happen as the
data was missing.

This patch fixes these issues and now allows LLDB to parse large .dwp
files without issues. The issue was discovered when running the "target
modules dump separate-debug-info" command on one of these binaries that
used a large .dwp file.

This is unfortunately hard to test without creating a huge .dwp file, so
there are currently no tests for this that I can think of adding that
wouldn't cause disk space constraints or making testing times longer by
producing a huge .dwp file.


  Commit: 14028ec0a62210d68a4dd7a046ac79c8c3b7727e
      https://github.com/llvm/llvm-project/commit/14028ec0a62210d68a4dd7a046ac79c8c3b7727e
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
    M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir

  Log Message:
  -----------
  [mlir][spirv] Add canon patterns for IAddCarry/[S|U]MulExtended (#73340)

Add missing constant propogation folder for IAddCarry and
[S|U]MulExtended. Due to currently missing constant value for
spirv.struct the folding is done using canonicalization patterns.

Implement additional folding when rhs is 0 for all ops and when rhs is 1
for UMulExt.

This helps for readability of lowered code into SPIR-V.

Part of work for #70704


  Commit: 9e7b6f46ba13ef0bac72e18b425aed37f576fb1e
      https://github.com/llvm/llvm-project/commit/9e7b6f46ba13ef0bac72e18b425aed37f576fb1e
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Conversion/ConvertToLLVM/ToLLVMPass.h
    M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp
    M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp

  Log Message:
  -----------
  [mlir] Adopt `ConvertToLLVMPatternInterface` GpuToLLVMConversionPass to align with `convert-to-llvm` (#73761)

This is a follow-up to the introduction of `convert-to-llvm`: it is
supposed to be a unifying pass through the
`ConvertToLLVMPatternInterface`, but some specific conversion (like the
GPU target) aren't vanilla LLVM target. Instead they need extra
customizations that are specific to LLVM-on-GPUs and our custom runtime
wrappers.
This change make the GpuToLLVMConversionPass just as pluggable as the
`convert-to-llvm` by using the same mechanism.


  Commit: 002c54a2e6cced2eb9d79608afee5fb36dcc5b98
      https://github.com/llvm/llvm-project/commit/002c54a2e6cced2eb9d79608afee5fb36dcc5b98
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A flang/docs/OpenACC-descriptor-management.md

  Log Message:
  -----------
  [flang][openacc] Representing Fortran descriptor management with OpenACC. (#72725)

This document describes the aspects of Fortran descriptor management
in the offload data environment and how this semantics can be
represented using MLIR OpenACC dialect.

In the document I tried to clarify some parts of the OpenACC
specification that seemed unclear to me, e.g. where the spec allowed different
interpretations (in my opinion) or did not specify the actual runtime
behavior. I tried to demonstrate how this ambiguity can affect user
programs with examples.

The document proposes using `attachRecipe` on the data operations
to represent the non-trivial pointer attachment semantics for variables
represented by descriptors. The recipe provides the actual
implementation of the pointer attachment, e.g. we can call an F18 offload runtime
function that will perform all necessary checks and actions.

It is unclear at this point if we want to expose the implementation
details in FIR, otherwise, the recipe could have contained more low
level acc operations such as is_present lookups, host to device
memory copies, etc.


  Commit: e947f953370abe8ffc8713b8f3250a3ec39599fe
      https://github.com/llvm/llvm-project/commit/e947f953370abe8ffc8713b8f3250a3ec39599fe
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/CodeGen/RISCV/branch-on-zero.ll
    M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-cost-compare.ll

  Log Message:
  -----------
  [LSR][TTI][RISCV] Enable terminator folding for RISC-V

If looking for a miscompile revert candidate, look here!

The transform being enabled prefers comparing to a loop invariant
exit value for a secondary IV over using an otherwise dead primary
IV.  This increases register pressure (by requiring the exit value
to be live through the loop), but reduces the number of instructions
within the loop by one.

On RISC-V which has a large number of scalar registers, this is
generally a profitable transform.  We loose the ability to use a beqz
on what is typically a count down IV, and pay the cost of computing
the exit value on the secondary IV in the loop preheader, but save
an add or sub in the loop body.  For anything except an extremely
short running loop, or one with extreme register pressure, this is
profitable.  On spec2017, we see a 0.42% geomean improvement in
dynamic icount, with no individual workload regressing by more than
0.25%.

Code size wise, we trade a (possibly compressible) beqz and a (possibly
compressible) addi for a uncompressible beq.  We also add instructions
in the preheader.  Net result is a slight regression overall, but
neutral or better inside the loop.

Previous versions of this transform had numerous cornercase correctness
bugs.  All of them ones I can spot by inspection have been fixed, and I
have run this through all of spec2017, but there may be further issues
lurking.  Adding uses to an IV is a fraught thing to do given poison
semantics, so this transform is somewhat inherently risky.

This patch is a reworked version of D134893 by @eop.  That patch has
been abandoned since May, so I picked it up, reworked it a bit, and
am landing it.


  Commit: 771e9cda239c12ebc3aec65d8a6fd861b2c9e4dc
      https://github.com/llvm/llvm-project/commit/771e9cda239c12ebc3aec65d8a6fd861b2c9e4dc
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/msan/Linux/mallinfo.cpp
    A compiler-rt/test/msan/Linux/mallinfo2.cpp

  Log Message:
  -----------
  [msan] Intercept mallinfo2 only on GLIBC 2.33+

Followup to #73729


  Commit: 792253ae0ef3acf9e55f92de25e0bd47a8531d1a
      https://github.com/llvm/llvm-project/commit/792253ae0ef3acf9e55f92de25e0bd47a8531d1a
  Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-reduce.rst

  Log Message:
  -----------
  [llvm][docs] Add example use of `llvm-reduce`. (#73237)

The script is based on an example provided by Tim
Northover (https://github.com/TNorthover).


  Commit: 545c8e009e2b649ef38f7e432ffbc06ba8a9b813
      https://github.com/llvm/llvm-project/commit/545c8e009e2b649ef38f7e432ffbc06ba8a9b813
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/ELF/Driver.cpp
    M llvm/include/llvm/Support/LEB128.h
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Support/DataExtractor.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [LEB128] Don't initialize error on success

This change removes an unnecessary branch from a hot path. It's also
questionable API to override any previous error unconditonally.


  Commit: b96121c2e7de66154a70db5f202c9adce515aa45
      https://github.com/llvm/llvm-project/commit/b96121c2e7de66154a70db5f202c9adce515aa45
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Support/LEB128.h

  Log Message:
  -----------
  [LEB128] Factor out redundant code


  Commit: 0cc2acc30b3d2f4e914fd49c599cfde8a17f26a6
      https://github.com/llvm/llvm-project/commit/0cc2acc30b3d2f4e914fd49c599cfde8a17f26a6
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Support/LEB128.h

  Log Message:
  -----------
  [LEB128] Don't handle edge cases in every loop iteration

Previously the overflow check was done for every byte even though it
is only needed for the case where Shift == 63.


  Commit: 80fc872a24c4dca4820d2e7885b5ee9195bec42a
      https://github.com/llvm/llvm-project/commit/80fc872a24c4dca4820d2e7885b5ee9195bec42a
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Support/LEB128.h

  Log Message:
  -----------
  [LEB128] Mark error condition with LLVM_UNLIKELY


  Commit: 9415fca848db7686700f17eb5a238484c24f87de
      https://github.com/llvm/llvm-project/commit/9415fca848db7686700f17eb5a238484c24f87de
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/GPUCommon/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Fix build with shared libs (missing cmake link dependency) (NFC)


  Commit: f32509b2ca209f8620bbe5e66e77ed85aa8d1d84
      https://github.com/llvm/llvm-project/commit/f32509b2ca209f8620bbe5e66e77ed85aa8d1d84
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp

  Log Message:
  -----------
   [JITLink][AArch32] Test out-of-range and interworking errors for Thumb (#73397)


  Commit: 1cbd52f791d3f088246526c0801634edb65cee31
      https://github.com/llvm/llvm-project/commit/1cbd52f791d3f088246526c0801634edb65cee31
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/SemaCXX/cxx2c-enum-compare.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Implement P2864R2 Remove Deprecated Arithmetic Conversion on Enumerations (#73105)

https://isocpp.org/files/papers/P2864R2.pdf


  Commit: b2f42f5d298cd68366b48ab7f20ab02dc80c8cae
      https://github.com/llvm/llvm-project/commit/b2f42f5d298cd68366b48ab7f20ab02dc80c8cae
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll

  Log Message:
  -----------
  [LV] Add test variant without sdiv by undef and uses.

Add a variant of @PR34687 with a sdiv with non-undef operands and actual
uses, to avoid the SDIV and SELECT being folded away triviall.y


  Commit: 3313c256c82e16e6f15a182bbf77ad2d60548a56
      https://github.com/llvm/llvm-project/commit/3313c256c82e16e6f15a182bbf77ad2d60548a56
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Headers/riscv_crypto.h

  Log Message:
  -----------
  [RISCV] Fix a couple copy/paste mistakes in riscv_crypto.h. NFC


  Commit: 77e5c5dbd88a7845fe5b8225f6bb139048ced1a9
      https://github.com/llvm/llvm-project/commit/77e5c5dbd88a7845fe5b8225f6bb139048ced1a9
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Support/LEB128.h

  Log Message:
  -----------
  Revert "[LEB128] Mark error condition with LLVM_UNLIKELY"

This reverts commit 80fc872a24c4dca4820d2e7885b5ee9195bec42a.


  Commit: 275bec486f68cc027d121e3ff8f807086cdf4902
      https://github.com/llvm/llvm-project/commit/275bec486f68cc027d121e3ff8f807086cdf4902
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Support/LEB128.h

  Log Message:
  -----------
  Revert "[LEB128] Don't handle edge cases in every loop iteration"

This reverts commit 0cc2acc30b3d2f4e914fd49c599cfde8a17f26a6.


  Commit: fc05a82fa6f91c6872a0fad80177d63b578df14f
      https://github.com/llvm/llvm-project/commit/fc05a82fa6f91c6872a0fad80177d63b578df14f
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Support/LEB128.h

  Log Message:
  -----------
  Revert "[LEB128] Factor out redundant code"

This reverts commit b96121c2e7de66154a70db5f202c9adce515aa45.


  Commit: 69b0cb9c567eb0f937474f5424b9ed23b61c04d7
      https://github.com/llvm/llvm-project/commit/69b0cb9c567eb0f937474f5424b9ed23b61c04d7
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/ELF/Driver.cpp
    M llvm/include/llvm/Support/LEB128.h
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Support/DataExtractor.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  Revert "[LEB128] Don't initialize error on success"

This reverts commit 545c8e009e2b649ef38f7e432ffbc06ba8a9b813.


  Commit: 076bd22f579ec4c90b41c700fca21a90fd2b6dbc
      https://github.com/llvm/llvm-project/commit/076bd22f579ec4c90b41c700fca21a90fd2b6dbc
  Author: ShatianWang <38512325+ShatianWang at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Passes/SplitFunctions.h
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp

  Log Message:
  -----------
  [BOLT] Add structure of CDSplit to SplitFunctions (#73430)

This commit establishes the general structure of the CDSplit strategy in
SplitFunctions without incorporating the exact splitting logic. With
-split-functions -split-strategy=cdsplit, the SplitFunctions pass will
run twice: the first time is before function reordering and functions
are hot-cold split; the second time is after function reordering and
functions are hot-warm-cold split based on the fixed function ordering.
Currently, all functions are hot-warm split after the entry block in the
second splitting pass. Subsequent commits will introduce the precise
splitting logic. NFC.


  Commit: 2c07181424b45d0785002b760f9ab404b7506b57
      https://github.com/llvm/llvm-project/commit/2c07181424b45d0785002b760f9ab404b7506b57
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/ELF/Driver.cpp
    M llvm/include/llvm/Support/LEB128.h
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Support/DataExtractor.cpp
    M llvm/tools/llvm-readobj/COFFDumper.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [LEB128] Don't initialize error on success

This change removes an unnecessary branch from a hot path. It's also
questionable API to override any previous error unconditonally.


  Commit: 643f25fb1d0b2153e8684354968ad358cc0e3f53
      https://github.com/llvm/llvm-project/commit/643f25fb1d0b2153e8684354968ad358cc0e3f53
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Support/LEB128.h

  Log Message:
  -----------
  [LEB128] Factor out redundant code


  Commit: 963b186951ec9b8babb924ebda6a9f193a6269c8
      https://github.com/llvm/llvm-project/commit/963b186951ec9b8babb924ebda6a9f193a6269c8
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Support/LEB128.h

  Log Message:
  -----------
  [LEB128] Don't handle edge cases in every loop iteration

Previously the overflow check was done for every byte even though it
is only needed for the case where Shift == 63.


  Commit: efa1d0d641c770267ff4c523a450334cd24ebe15
      https://github.com/llvm/llvm-project/commit/efa1d0d641c770267ff4c523a450334cd24ebe15
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Support/LEB128.h

  Log Message:
  -----------
  [LEB128] Mark error condition with LLVM_UNLIKELY


  Commit: 4c1745207665262380e9bff65201816a966339d0
      https://github.com/llvm/llvm-project/commit/4c1745207665262380e9bff65201816a966339d0
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp

  Log Message:
  -----------
  [clang-format][NFC] Extend isProto() to also cover LK_TextProto (#73582)


  Commit: bbae59ae71c73e26809d4ab7da1a80239ebd9381
      https://github.com/llvm/llvm-project/commit/bbae59ae71c73e26809d4ab7da1a80239ebd9381
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Finalize children after formatting them (#73753)

This would also fix the overlapping replacements below:
```
$ clang-format
 a(
 #else
 #endif
) = []() {      
)}
The new replacement overlaps with an existing replacement.
New replacement: <stdin>: 38:+7:"
"
Existing replacement: <stdin>: 38:+7:" "
```
Fixed #73487.


  Commit: 0123608822a7b58d6deca528eef8dc958420acd1
      https://github.com/llvm/llvm-project/commit/0123608822a7b58d6deca528eef8dc958420acd1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/Basic/Targets/RISCV.cpp

  Log Message:
  -----------
  [RISCV] Minor improvements/cleanup to target attribute handling. NFC (#73851)

Use ArrayRef to avoid a vector copy.
Replace a push_back loop with a call to std::vector::insert.


  Commit: 44c5593cd5f337d44e23a2151c3e84495b007109
      https://github.com/llvm/llvm-project/commit/44c5593cd5f337d44e23a2151c3e84495b007109
  Author: David Li <57157229+david-xl at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp

  Log Message:
  -----------
  Fix stale comment (#73846)

Fix stale comment.


  Commit: 328fd363daabb464670613dece6c75cf99d03410
      https://github.com/llvm/llvm-project/commit/328fd363daabb464670613dece6c75cf99d03410
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGStmtOpenMP.cpp

  Log Message:
  -----------
  [clang][CGStmtOpenMP] Remove unneeded calls to CreatePointerBitCastOrAddrSpaceCast (NFC)

Opaque ptr cleanup effort (NFC).


  Commit: 73f8aa01d8b60bf4323359a9e2d45e68395ac290
      https://github.com/llvm/llvm-project/commit/73f8aa01d8b60bf4323359a9e2d45e68395ac290
  Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][NFC] Fix missing dep in bazel (#73854)

Patch #73469 added a dependency from __support/bit.h to
__support/CPP/type_traits.h, but didn't add a dependency in the bazel.
This caused downstream build failures. This patch fixes the missing
dependency.


  Commit: ae4d7ac9c885d56c98c1a19af9c330de37883ad1
      https://github.com/llvm/llvm-project/commit/ae4d7ac9c885d56c98c1a19af9c330de37883ad1
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/include/flang/Frontend/CompilerInstance.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp

  Log Message:
  -----------
  [flang][driver][nfc] Move the definition of SemanticsContext (#73669)

Moves the defintion of `SemanticsContext` within the Flang driver.

Rather than in `CompilerInvocation`, semantic context fits better within
`CompilerInstance` that encapsulates the objects that are required to
run the
frontend. `CompilerInvocation` is better suited for objects
encapsulating compiler configuration (e.g. set-up resulting from user
input or host set-up).


  Commit: 4b2ba5a61aaa9b7bea493425699f8a8d32a191b0
      https://github.com/llvm/llvm-project/commit/4b2ba5a61aaa9b7bea493425699f8a8d32a191b0
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul_mixed_ty.mlir

  Log Message:
  -----------
  [mlir][sve] Add an e2e for linalg.matmul with mixed types (#73773)

Apart from the test itself, this patch also updates a few patterns to
fix how new VectorType(s) are created. Namely, it makes sure that
"scalability" is correctly propagated.

Regression tests will be updated seperately while auditing Vector
dialect tests in the context of scalable vectors:
  * https://github.com/orgs/llvm/projects/23


  Commit: f150ecc32276d3afa96f673ebbd388d99ac1ccca
      https://github.com/llvm/llvm-project/commit/f150ecc32276d3afa96f673ebbd388d99ac1ccca
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  [workflows] Add top-level permissions for libcxx-build-and-test.yaml (#73689)

This is the standard convention for our workflow files.


  Commit: 68106bd492e294ecf0a7e2829dd9edf6cd72f3ef
      https://github.com/llvm/llvm-project/commit/68106bd492e294ecf0a7e2829dd9edf6cd72f3ef
  Author: William Junda Huang <williamjhuang at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h

  Log Message:
  -----------
  [Sample Profile Loader]  Fix potential invalidated reference (#73181)

There is a potential issue in ProfiledCallGraph where pointers to
ProfiledCallGraphNode are used to construct edges, while
ProfiledCallGraphNode instances are being added to a hash map
ProfiledFunctions simultaneously. If rehash happens, those pointers are
invalidated, resulting in undefined behavior/crash. Previously (before
md5phase2) ProfiledFunctions is a llvm::StringMap, which also have the
same issue theoretically when rehashing but was not observed. This patch
fixes this potential issue by using a backing buffer for
ProrfiledCallGraphNode that does not relocate.


  Commit: b92bf0dad6ec9760e008a0fa22d7dbd0b045c776
      https://github.com/llvm/llvm-project/commit/b92bf0dad6ec9760e008a0fa22d7dbd0b045c776
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.h

  Log Message:
  -----------
  [RISCV] Disable clang-format around the RISCVISD opcode enum. NFC


  Commit: be811d1617654e46f4f4daa82259ae4fad4c8e6a
      https://github.com/llvm/llvm-project/commit/be811d1617654e46f4f4daa82259ae4fad4c8e6a
  Author: Michael Platings <michael.platings at arm.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libcxx/cmake/caches/Armv7M-picolibc.cmake
    M libcxx/docs/index.rst
    M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
    M libcxx/test/libcxx/selftest/dsl/dsl.sh.py
    M libcxx/test/libcxx/selftest/pass.cpp/run-error.pass.cpp
    M libcxx/test/libcxx/selftest/pass.mm/run-error.pass.mm
    M libcxx/test/libcxx/selftest/stdin-is-piped.sh.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cin.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/clog.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cout.sh.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/classic_table.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.file/now.pass.cpp
    M libcxxabi/test/configs/armv7m-picolibc-libc++abi.cfg.in
    M libunwind/test/configs/armv7m-picolibc-libunwind.cfg.in
    M libunwind/test/libunwind_02.pass.cpp

  Log Message:
  -----------
  [libc++] Run picolibc tests with qemu

This patch actually runs the tests for picolibc behind an emulator,
removing a few workarounds and increasing coverage.

Differential Revision: https://reviews.llvm.org/D155521


  Commit: 9ac64abc02c1f4433931cf0323c12663df02b14e
      https://github.com/llvm/llvm-project/commit/9ac64abc02c1f4433931cf0323c12663df02b14e
  Author: Eric <eric at efcs.ca>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M libcxx/utils/ci/buildkite-pipeline.yml

  Log Message:
  -----------
  [libc++] Remove linux Buildkite builders entirely (#73825)

This removes the Google hosted Linux buildkite builders. We have since
moved all of them over to github actions.

Follow up changes will be sent for android.


  Commit: 0737be349d1be99ca34d9b99fbd3e0cf10d6481e
      https://github.com/llvm/llvm-project/commit/0737be349d1be99ca34d9b99fbd3e0cf10d6481e
  Author: Eric <eric at efcs.ca>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  Add a scheduled build for libc++ (#73848)

We had a scheduled build on buildkite, we probably want something
testing head here as well.

Since this change just adds more tests, I think we can skip pre-commit  review.

[skip ci]


  Commit: fae233c63f93b4b6f9693685abe6c7d24393682f
      https://github.com/llvm/llvm-project/commit/fae233c63f93b4b6f9693685abe6c7d24393682f
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp

  Log Message:
  -----------
  [OpenMP] Avoid initializing the KernelLaunchEnvironment if possible (#73864)

If we don't have a team reduction we don't need a kernel launch
environment (for now). In that case we can avoid the cost.


  Commit: fc19424d1d6d0df20e1734610a8e80a8e5158009
      https://github.com/llvm/llvm-project/commit/fc19424d1d6d0df20e1734610a8e80a8e5158009
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-enum-usage-strict.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-enum-usage.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Fix bugprone-suspicious-enum-usage tests

Fixes failure in tests from a bugprone-suspicious-enum-usage check
by limiting those test to C++17 only to make CI green.
Tests were broken by change introduced in pull request #73105


  Commit: 61aef978d6ab1553c48bbd9bf807a277b22451c1
      https://github.com/llvm/llvm-project/commit/61aef978d6ab1553c48bbd9bf807a277b22451c1
  Author: Eric <eric at efcs.ca>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp

  Log Message:
  -----------
  Compile MSAN/TSAN failing test with -O1 (#73555)

This attempts to fix flakes on the bots where the modified test times
out while running under sanitizers.

Turning on the optimizer for just this test appears to mostly fix the
issue.


  Commit: efc60dc00796fd113e057a92c6861eeb57e649ae
      https://github.com/llvm/llvm-project/commit/efc60dc00796fd113e057a92c6861eeb57e649ae
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libcxx/include/codecvt
    M libcxx/test/libcxx/input.output/file.streams/fstreams/fstream.cons/wchar_pointer.pass.cpp
    M libcxx/test/libcxx/input.output/file.streams/fstreams/fstream.members/open_wchar_pointer.pass.cpp
    M libcxx/test/libcxx/input.output/file.streams/fstreams/ofstream.cons/wchar_pointer.pass.cpp
    M libcxx/test/libcxx/input.output/file.streams/fstreams/ofstream.members/open_wchar_pointer.pass.cpp

  Log Message:
  -----------
  [libc++] Reenable codecvt in the dylib. (#73679)

The header is used in the dylib, this is not an issue at the moment
since the dylib is built using C++23 but it would be when building
with C++26.

Post release comments in #72496 seem to indicate this removal is an
issue for Fuchsia.


  Commit: c6d70722b49db01914d5f64cc86ea5ed609ad9fd
      https://github.com/llvm/llvm-project/commit/c6d70722b49db01914d5f64cc86ea5ed609ad9fd
  Author: Brendan Dahl <brendan.dahl at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    A clang/test/CodeGen/annotations-decl-use-decl.c
    A clang/test/CodeGen/annotations-decl-use-define.c
    A clang/test/CodeGen/annotations-declaration.c
    M clang/test/CodeGen/annotations-global.c
    A clang/test/CodeGenCXX/attr-annotate-constructor.cpp
    A clang/test/CodeGenCXX/attr-annotate-destructor.cpp
    M clang/test/CodeGenCXX/attr-annotate.cpp

  Log Message:
  -----------
  [clang][CodeGen] Emit annotations for function declarations. (#66716)

Previously, annotations were only emitted for function definitions. With
this change annotations are also emitted for declarations. Also,
emitting function annotations is now deferred until the end so that the
most up to date declaration is used which will have any inherited
annotations.


  Commit: bf2e05c7fbc739cd9b9086163303f846ee2806d2
      https://github.com/llvm/llvm-project/commit/bf2e05c7fbc739cd9b9086163303f846ee2806d2
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/test/CXX/drs/dr0xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Fill in historical data on when C++ DR 1-99 were fixed


  Commit: a87ca1bbd9a4f36b1edd3d3d3c4a662e05388f4e
      https://github.com/llvm/llvm-project/commit/a87ca1bbd9a4f36b1edd3d3d3c4a662e05388f4e
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/lib/Semantics/check-directive-structure.h
    M flang/test/Semantics/OpenACC/acc-kernels-loop.f90
    M flang/test/Semantics/OpenACC/acc-loop.f90
    M flang/test/Semantics/OpenACC/acc-parallel-loop-validity.f90
    M flang/test/Semantics/OpenACC/acc-serial-loop.f90

  Log Message:
  -----------
  [flang][openacc] Do not check for unlabelled CYCLE branching (#73839)

There is no such restriction for any OpenACC construct. This patch adds
a constexpr condition on the type of Directive.


  Commit: a0bd6361d4840f159e48c7359807ae279d006fb0
      https://github.com/llvm/llvm-project/commit/a0bd6361d4840f159e48c7359807ae279d006fb0
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    R lld/test/wasm/pie.ll
    A lld/test/wasm/pie.s

  Log Message:
  -----------
  [lld][WebAssembly] Convert bitcode test to assembly. NFC (#73716)


  Commit: 2e7f47d4a8a5206fbc565d3eb8c1595c2cb875f8
      https://github.com/llvm/llvm-project/commit/2e7f47d4a8a5206fbc565d3eb8c1595c2cb875f8
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    A openmp/libomptarget/include/Shared/APITypes.h
    A openmp/libomptarget/include/Shared/PluginAPI.h
    M openmp/libomptarget/include/omptarget.h
    R openmp/libomptarget/include/omptargetplugin.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.h
    M openmp/libomptarget/tools/kernelreplay/llvm-omp-kernel-replay.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Move out plugin API and APITypes into standalone headers (#73868)


  Commit: e3021bdecde584c48bfd43ce4991ab7762751f09
      https://github.com/llvm/llvm-project/commit/e3021bdecde584c48bfd43ce4991ab7762751f09
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Add RISCVISD::SLLW to computeKnownBitsForTargetNode.

Found while investigating whether we still need to stop DAG combiner
from turning (i64 (sext (i32 X))) into zext when i32 is known non
negative.

No test case because I still need to find fixes for some other issues
before I can remove the code from DAGCombiner.


  Commit: 4bcbbe1f70d8c8169c8bda75d9d9d4fdf689b1df
      https://github.com/llvm/llvm-project/commit/4bcbbe1f70d8c8169c8bda75d9d9d4fdf689b1df
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT] Refactor fixBranches() (#73752)

Simplify code in fixBranches(). Mostly NFC, accept the x86-specific
check for code fragments now takes into account presence of more than
two fragments. Should only matter when we split code into multiple
fragments and can run fixBranches() more than once.

Also, don't replace a branch target with the same one, as such operation
may allocate memory for extra MCSymbolRefExpr.


  Commit: 453bd049c87c69e79bc7f76d692cc3f71391cb47
      https://github.com/llvm/llvm-project/commit/453bd049c87c69e79bc7f76d692cc3f71391cb47
  Author: frgossen <frgossen at google.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Fix bazel build (#73880)


  Commit: 2323b541e1ae16843b193c26ca3067440d09c413
      https://github.com/llvm/llvm-project/commit/2323b541e1ae16843b193c26ca3067440d09c413
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/test/CXX/drs/dr0xx.cpp

  Log Message:
  -----------
  [clang][NFC] Bring back missing lines from DR52 test

A follow-up for bf2e05c7fbc739cd9b9086163303f846ee2806d2


  Commit: 8a4b90321f4aee78f70ef164031eb00da6d6b5c9
      https://github.com/llvm/llvm-project/commit/8a4b90321f4aee78f70ef164031eb00da6d6b5c9
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp

  Log Message:
  -----------
  [CodeGen] Add conditional to module cloning in bitcode linking (#72478)

Now that we have a commandline option dictating a second link step,
(-relink-builtin-bitcode-postop), we can condition the module creation
when linking in bitcode modules. This aims to improve performance by
avoiding unnecessary linking


  Commit: 8b9a6af4504a9a160bb1da0abced9c538b3af26b
      https://github.com/llvm/llvm-project/commit/8b9a6af4504a9a160bb1da0abced9c538b3af26b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M openmp/runtime/src/include/omp.h.var

  Log Message:
  -----------
  [OpenMP] Add an 'stddef.h' include to 'omp.h' (#73876)

Summary:
We use `size_t` internally in the omp.h header, which is normally
provided by `stdlib.h` which is already included. Howevever, some cases
when using `-ffreestanding` can result in this not being defined via
`stdlib.h`. This patch simply adds an explicit inclusion of this header,
which is provided by the `clang` resource directory, to resolve this in
all cases.


  Commit: c57ef2c69846a3f69c9d1db61055ea3b7b5100c3
      https://github.com/llvm/llvm-project/commit/c57ef2c69846a3f69c9d1db61055ea3b7b5100c3
  Author: Youngsuk Kim <joseph942010 at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/custom_state_machines.ll
    M llvm/test/Transforms/OpenMP/gpu_state_machine_function_ptr_replacement.ll
    M llvm/test/Transforms/OpenMP/spmdization.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
    M llvm/test/Transforms/OpenMP/spmdization_indirect.ll
    M llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll

  Log Message:
  -----------
  [llvm][OpenMPOpt] Remove no-op ptr-to-ptr bitcast (NFC) (#73869)

* Remove a call to CreatePointerBitCastOrAddrSpaceCast which merely adds
a no-op ptr-to-ptr bitcast.

* Most of the diff is from removing checks for no-op ptr-to-ptr bitcasts
in relevant LIT tests


  Commit: e88a2f123fa4843ae3782377668cf5741acc9121
      https://github.com/llvm/llvm-project/commit/e88a2f123fa4843ae3782377668cf5741acc9121
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M libunwind/src/libunwind.cpp

  Log Message:
  -----------
  [libunwind][WebAssembly] Omit unused parts of libunwind.cpp for Wasm (#73196)

Wasm doesn't use most of that file; Wasm does not allow access of system
registers and those functionalities are provided from the VM.


  Commit: 246b8eae20564e2c34690803efdbaa9cec7c90a1
      https://github.com/llvm/llvm-project/commit/246b8eae20564e2c34690803efdbaa9cec7c90a1
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp

  Log Message:
  -----------
  [AMDGPU] Preserve existing alias info on LDS DMA intrinsics in MIR (#73870)

As of now it is NFCI.


  Commit: 3cf190974a37d18c7bd6f52b9588f4104e8e96f0
      https://github.com/llvm/llvm-project/commit/3cf190974a37d18c7bd6f52b9588f4104e8e96f0
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/docs/ClangOffloadBundler.rst
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/test/Driver/clang-offload-bundler-asserts-on.c
    M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp

  Log Message:
  -----------
  [clang-offload-bundler] Add support for -check-input-archive (#73709)

In this patch, we add support for checking a heterogeneous archive. We
also significantly improve the clang-offload-bundler documentation.


  Commit: c43d0432ef35ee506bae642408f7140064514c8d
      https://github.com/llvm/llvm-project/commit/c43d0432ef35ee506bae642408f7140064514c8d
  Author: ShatianWang <38512325+ShatianWang at users.noreply.github.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/FunctionLayout.h
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT] Create .text.warm for 3-way splitting (#73863)

This commit explicitly adds a warm code section, .text.warm, when
-split-functions -split-strategy=cdsplit is used. This replaces the
previous approach of using .text.cold.0 as warm and .text.cold.1 as cold
in 3-way function splitting. NFC.


  Commit: a4d5fd4d2ee9470e55345a9540f6b6fb6faf66e1
      https://github.com/llvm/llvm-project/commit/a4d5fd4d2ee9470e55345a9540f6b6fb6faf66e1
  Author: paperchalice <lgamma at 163.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    A llvm/include/llvm/CodeGen/SafeStack.h
    M llvm/lib/CodeGen/SafeStack.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Transforms/SafeStack/AArch64/abi.ll
    M llvm/test/Transforms/SafeStack/AArch64/abi_ssp.ll
    M llvm/test/Transforms/SafeStack/AArch64/unreachable.ll
    M llvm/test/Transforms/SafeStack/ARM/abi.ll
    M llvm/test/Transforms/SafeStack/ARM/debug.ll
    M llvm/test/Transforms/SafeStack/ARM/setjmp.ll
    M llvm/test/Transforms/SafeStack/X86/abi.ll
    M llvm/test/Transforms/SafeStack/X86/abi_ssp.ll
    M llvm/test/Transforms/SafeStack/X86/addr-taken.ll
    M llvm/test/Transforms/SafeStack/X86/array-aligned.ll
    M llvm/test/Transforms/SafeStack/X86/array.ll
    M llvm/test/Transforms/SafeStack/X86/byval.ll
    M llvm/test/Transforms/SafeStack/X86/call.ll
    M llvm/test/Transforms/SafeStack/X86/cast.ll
    M llvm/test/Transforms/SafeStack/X86/coloring-ssp.ll
    M llvm/test/Transforms/SafeStack/X86/coloring.ll
    M llvm/test/Transforms/SafeStack/X86/coloring2.ll
    M llvm/test/Transforms/SafeStack/X86/constant-gep-call.ll
    M llvm/test/Transforms/SafeStack/X86/constant-gep.ll
    M llvm/test/Transforms/SafeStack/X86/constant-geps.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc-dynamic.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc2.ll
    M llvm/test/Transforms/SafeStack/X86/dynamic-alloca.ll
    M llvm/test/Transforms/SafeStack/X86/escape-addr-pointer.ll
    M llvm/test/Transforms/SafeStack/X86/escape-bitcast-store.ll
    M llvm/test/Transforms/SafeStack/X86/escape-bitcast-store2.ll
    M llvm/test/Transforms/SafeStack/X86/escape-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-casted-pointer.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-invoke.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-negative.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-ptrtoint.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-store.ll
    M llvm/test/Transforms/SafeStack/X86/escape-phi-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-select-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-vector.ll
    M llvm/test/Transforms/SafeStack/X86/invoke.ll
    M llvm/test/Transforms/SafeStack/X86/layout-frag.ll
    M llvm/test/Transforms/SafeStack/X86/layout-region-split.ll
    M llvm/test/Transforms/SafeStack/X86/memintrinsic-oob-read.ll
    M llvm/test/Transforms/SafeStack/X86/musttail.ll
    M llvm/test/Transforms/SafeStack/X86/no-attr.ll
    M llvm/test/Transforms/SafeStack/X86/no-crash-on-lifetime.ll
    M llvm/test/Transforms/SafeStack/X86/phi-cycle.ll
    M llvm/test/Transforms/SafeStack/X86/phi.ll
    M llvm/test/Transforms/SafeStack/X86/pr54784.ll
    M llvm/test/Transforms/SafeStack/X86/ret.ll
    M llvm/test/Transforms/SafeStack/X86/setjmp.ll
    M llvm/test/Transforms/SafeStack/X86/setjmp2.ll
    M llvm/test/Transforms/SafeStack/X86/sink-to-use.ll
    M llvm/test/Transforms/SafeStack/X86/ssp.ll
    M llvm/test/Transforms/SafeStack/X86/store.ll
    M llvm/test/Transforms/SafeStack/X86/struct.ll

  Log Message:
  -----------
  [CodeGen] Port SafeStack to new pass manager (#73747)

Just copy the `runOnFunction` method from `SafeStackLegacyPass` and
remove the workaround for computing analysis lazily, the analysis result
in new pass manager is computed lazily by default.


  Commit: 770dc47659d41a5ca7b7daf5b3134c900ca8c33d
      https://github.com/llvm/llvm-project/commit/770dc47659d41a5ca7b7daf5b3134c900ca8c33d
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp

  Log Message:
  -----------
  [llvm][NFC] Refactor autoupdater's 'c' intrinsics (#73333)

With these three intrinsics it's probable faster to check the number of
arguments first and then check the names. We can also handle ctlz and
cttz in the same block.


  Commit: 0233a1306b240850cbf9f4783a20c36f967d9697
      https://github.com/llvm/llvm-project/commit/0233a1306b240850cbf9f4783a20c36f967d9697
  Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/test/Parser/cxx2a-concepts-requires-expr.cpp

  Log Message:
  -----------
  [Clang][Lex] Fix parsing of nested requirement to prevent flowing off the end of token stream (#73691)

Currently when parsing a nested requirement we attempt to balance parens
if we have a parameter list. This will fail in some cases of ill-formed
code and keep going until we fall off the token stream and crash. This
fixes the hand parsing by using SkipUntil which will properly flag if we
don't find the expected tokens.

Fixes: https://github.com/llvm/llvm-project/issues/73112


  Commit: afd9582b36ba87b48730f95ab42b79d07c29235e
      https://github.com/llvm/llvm-project/commit/afd9582b36ba87b48730f95ab42b79d07c29235e
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/build-vector-from-load-and-zeros.ll

  Log Message:
  -----------
  [PowerPC] Enhance test for PR #73609. NFC.


  Commit: bcb621f0a1ececfe42995c736ec4e5b9530e7c71
      https://github.com/llvm/llvm-project/commit/bcb621f0a1ececfe42995c736ec4e5b9530e7c71
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/unittests/Symbol/TestTypeSystemClang.cpp

  Log Message:
  -----------
  [lldb][DWARFASTParserClang][NFC] Remove redundant parameter to AddMethodToObjCObjectType (#73832)


  Commit: effaf41d203726e06c12b9dc5225904fb282db0d
      https://github.com/llvm/llvm-project/commit/effaf41d203726e06c12b9dc5225904fb282db0d
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h

  Log Message:
  -----------
  [lldb][DWARFASTParserClang][NFCI] Make ParsedDWARFTypeAttributes parameter const (#73833)


  Commit: 4f0bea4d61b4c49f91b6502d0be7869ec2c7c1ce
      https://github.com/llvm/llvm-project/commit/4f0bea4d61b4c49f91b6502d0be7869ec2c7c1ce
  Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/test/Driver/underscoring.f90

  Log Message:
  -----------
  [flang] Fix Funderscoring TC failure on AIX [NFC] (#73543)

Change fundersoring test with a more accurate regex to ensure the lack
of a trailing underscore, current TC is failing on AIX

Co-authored-by: Mark Danial <mark.danial at ibm.com>


  Commit: f7be5f640ca11c0c3a0a4d666df3ceef52efd040
      https://github.com/llvm/llvm-project/commit/f7be5f640ca11c0c3a0a4d666df3ceef52efd040
  Author: Lei Zhang <antiagainst at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir] Fix BUILD.bazel for CAPITarget


  Commit: 77b9fb23417405048b50765b1a4e2b2dac80f29b
      https://github.com/llvm/llvm-project/commit/77b9fb23417405048b50765b1a4e2b2dac80f29b
  Author: Lei Zhang <antiagainst at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir] Add missing BUILD dependency for GPUToGPURuntimeTransforms


  Commit: a6c02edd6eac476523b5c73f29619a7a9e054872
      https://github.com/llvm/llvm-project/commit/a6c02edd6eac476523b5c73f29619a7a9e054872
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M flang/lib/Semantics/check-directive-structure.h
    M flang/test/Semantics/OpenACC/acc-data.f90
    M flang/test/Semantics/OpenACC/acc-kernels.f90
    M flang/test/Semantics/OpenACC/acc-parallel.f90
    M flang/test/Semantics/OpenACC/acc-serial.f90

  Log Message:
  -----------
  [flang][openacc] Keep CYCLE check for compute and data construct (#73897)

Unlike mentioned in #73839, some OpenACC construct still need the cycle
branching check to be performed. This patch adds a list of construct
where the check is not needed (loop and combined construct) and add
tests to check where it is still needed.


  Commit: ce570d1a2298b4ecbdd4f25f1aee0f70ef40dac4
      https://github.com/llvm/llvm-project/commit/ce570d1a2298b4ecbdd4f25f1aee0f70ef40dac4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/RISCV/imm.ll

  Log Message:
  -----------
  [RISCV] Remove old FIXMEs from test. NFC


  Commit: 1296d20adfb0978afe38d67efab9818079d870ca
      https://github.com/llvm/llvm-project/commit/1296d20adfb0978afe38d67efab9818079d870ca
  Author: Lu Weining <luweining at loongson.cn>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/mcmodel.c

  Log Message:
  -----------
  [Driver] Support -mcmodel= for LoongArch (#72514)

7e42545 rejects unsupported mcmodel options, but normal/medium/extreme
should be supported models for LoongArch according to [gcc
document](https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html).

The mappings among `gcc`, `clang driver`, `clang cc1` and `LLVM (i.e.
llc --code-model=)` are:

|     gcc      |  clang driver |  clang cc1   |    LLVM    |
| -------------  | ------------------ | ----------------- | -------------- |
| normal    |      normal     |   small        |    small    |
| medium  |     medium     |   medium    |    medium |
| extreme  |     extreme     |  large         |     large     |

Link: https://reviews.llvm.org/D150522


  Commit: 586986a063ee4b9a7490aac102e103bab121c764
      https://github.com/llvm/llvm-project/commit/586986a063ee4b9a7490aac102e103bab121c764
  Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/test/Driver/pass-plugin-not-found.f90

  Log Message:
  -----------
  [Flang] Add multiline error message support to pass-plugin-not-found (NFC) (#73601)

The error message above has multiple lines on AIX, adding
`{{[[:space:]].*}}` to match multiple lines

Co-authored-by: Mark Danial <mark.danial at ibm.com>


  Commit: c0b926939829d9d4bb6ac5825e62f30960b6ed22
      https://github.com/llvm/llvm-project/commit/c0b926939829d9d4bb6ac5825e62f30960b6ed22
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp

  Log Message:
  -----------
  [RISCV] Add helper to copy the AVL of another VSETVLIInfo. NFC


  Commit: 8a66510fa73c1507c2a58338e180ddb075993a5a
      https://github.com/llvm/llvm-project/commit/8a66510fa73c1507c2a58338e180ddb075993a5a
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/mul_int24.ll
    M llvm/test/CodeGen/AMDGPU/mul_uint24-amdgcn.ll

  Log Message:
  -----------
  [AMDGPU] Don't create mulhi_24 in CGP (#72983)

Instead, create a mul24 with a 64 bit result and let ISel take care of
it.

This allows patterns to simply match mul24 even for 64-bit muls instead of having to match both mul/mulhi and a buildvector/bitconvert/etc.


  Commit: 030047c432cac133738be68fa0974f70e69dd58d
      https://github.com/llvm/llvm-project/commit/030047c432cac133738be68fa0974f70e69dd58d
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/ExternalSemaSource.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/PCH/instantiate-used-constexpr-function.cpp
    A clang/test/SemaTemplate/instantiate-used-constexpr-function.cpp

  Log Message:
  -----------
  [Clang] Eagerly instantiate used constexpr function upon definition. (#73463)

Despite CWG2497 not being resolved, it is reasonable to expect the
following code to compile (and which is supported by other compilers)

```cpp
  template<typename T> constexpr T f();
  constexpr int g() { return f<int>(); } // #1
  template<typename T> constexpr T f() { return 123; }
  int k[g()];
  // #2
```

To that end, we eagerly instantiate all referenced specializations of
constexpr functions when they are defined.

We maintain a map of (pattern, [instantiations]) independent of
`PendingInstantiations` to avoid having to iterate that list after each
function definition.

We should apply the same logic to constexpr variables, but I wanted to
keep the PR small.

Fixes #73232


  Commit: 5891a8f7ce0a7b866a5bc06c34092fbdb28dda1c
      https://github.com/llvm/llvm-project/commit/5891a8f7ce0a7b866a5bc06c34092fbdb28dda1c
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp

  Log Message:
  -----------
  [clang] Remove extra ';' in MultiplexExternalSemaSource.cpp (NFC)

/llvm-project/clang/lib/Sema/MultiplexExternalSemaSource.cpp:317:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
};
 ^
1 error generated.


  Commit: 511ba45a47d6f9e48ad364181830c9fb974135b2
      https://github.com/llvm/llvm-project/commit/511ba45a47d6f9e48ad364181830c9fb974135b2
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
    M llvm/lib/Target/X86/X86DomainReassignment.cpp
    M llvm/lib/Target/X86/X86ExpandPseudo.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.td
    A llvm/test/CodeGen/X86/apx/kmov-copy-to-from-asymmetric-reg.ll
    A llvm/test/CodeGen/X86/apx/kmov-domain-assignment.ll
    A llvm/test/CodeGen/X86/apx/kmov-isel.ll
    A llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
    A llvm/test/MC/Disassembler/X86/apx/kmov.txt
    A llvm/test/MC/X86/apx/kmov-att.s
    A llvm/test/MC/X86/apx/kmov-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86][MC][CodeGen] Support EGPR for KMOV (#73781)

KMOV is essential for copy between k-registers and GPRs.
R16-R31 was added into GPRs in #70958, so we extend KMOV for these new
registers first.

This patch
1.  Promotes KMOV instructions from VEX space to EVEX space
2.  Emits prefix {evex} for the EVEX variants
3. Prefers EVEX variant than VEX variant in ISEL and optimizations for
better RA

EVEX variants will be compressed to VEX variants by existing EVEX2VEX
pass if no EGPR is used.

RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
TAG: llvm-test-suite && CPU2017 can be built with feature egpr
successfully.


  Commit: f1fba63f1282a21e6adc5f7732e8583c52792744
      https://github.com/llvm/llvm-project/commit/f1fba63f1282a21e6adc5f7732e8583c52792744
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M mlir/docs/Dialects/Vector.md

  Log Message:
  -----------
  [mlir][vector][doc] 0D vectors (#73792)

Currently, the only mention of 0d vectors in the MLIR source code that I
could find was:

>     0D vectors are allowed by omitting the dimension: `vector<f32>`.

in
[`BuiltinTypes.td`](https://github.com/llvm/llvm-project/blob/437a48b2d9bfc6e38a0ca43f1cee48ceaf0fe249/mlir/include/mlir/IR/BuiltinTypes.td#L1046-L1047).

This patch adds a summary of
https://discourse.llvm.org/t/what-is-the-semantics-of-memref-0xf32-and-tensor-0xf32/3557
and https://discourse.llvm.org/t/should-we-have-0-d-vectors/3097/5.


  Commit: ae3cd2d04a88937881ac1f9c5d34f0e0cf96d5bc
      https://github.com/llvm/llvm-project/commit/ae3cd2d04a88937881ac1f9c5d34f0e0cf96d5bc
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Support/X86FoldTablesUtils.h

  Log Message:
  -----------
  [X86][NFC] Clang-format X86FoldTablesUtils.h


  Commit: ae6eedd27556c32232f4e8be1292ffa0e1f16d90
      https://github.com/llvm/llvm-project/commit/ae6eedd27556c32232f4e8be1292ffa0e1f16d90
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/NVGPU/transform-pipeline-shared.mlir

  Log Message:
  -----------
  [mlir] Fix two `CHECK:` typos (#73803)

Out of curiosity, I ran [typos](https://github.com/crate-ci/typos)
against MLIR. It found two `CHECK:` typos (and many minor typos; which
I'm not gonna work on today).


  Commit: 6d2dfd37bd50b21ed90427052198bd1f06c761f8
      https://github.com/llvm/llvm-project/commit/6d2dfd37bd50b21ed90427052198bd1f06c761f8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
    M llvm/test/Other/loop-mssa-not-preserved.ll

  Log Message:
  -----------
  [LPM] Set gen_crash_diag=false for non-MSSA pass in MSSA pipeline

When a loop pass that does not preserve MSSA is run as part of a
loop-mssa pipeline, this is user error and we should not ask for
a bug report.

Fixes https://github.com/llvm/llvm-project/issues/73554.


  Commit: b72456120f1db38ed7068fb592fcf768c6d5cce2
      https://github.com/llvm/llvm-project/commit/b72456120f1db38ed7068fb592fcf768c6d5cce2
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/extractelement.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/extractelement.ll

  Log Message:
  -----------
  [LoongArch] Add codegen support for extractelement (#73759)

Add codegen support for extractelement when enable `lsx` or `lasx`
feature.


  Commit: e9869b57707fc6dd828872a70c2f377cc0061978
      https://github.com/llvm/llvm-project/commit/e9869b57707fc6dd828872a70c2f377cc0061978
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M mlir/test/mlir-tblgen/gen-dialect-doc.td
    M mlir/tools/mlir-tblgen/OpDocGen.cpp

  Log Message:
  -----------
  [mlir][docgen] Add ops source link (#73657)

This patch suggests to change two things. Firstly, it adds a source link
above the generated operations docs (above the `emitOpDoc` calls). This
link will point directly to the source TableGen file for the group of
operations. For example, for the current
[`amdgpu`](https://mlir.llvm.org/docs/Dialects/AMDGPU/) page, the link
will add a source link below the "Operation definition" heading pointing
to
[`mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td`](https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td).
The link is wrapped in a "op-definitions-source-link" class which could
allow for custom styling, but it also looks reasonable without custom
styling I think:

![afbeelding](https://github.com/llvm/llvm-project/assets/20724914/7c0e59b9-b14b-4f5d-a671-c87e857a7b03)

Secondly, this patch simplifies the header names such as "Operation
definition" and "Attribute definition" to "Operations" and "Attributes"
respectively. This is in line with manually defined subheadings on pages
such as the one for the
[`vector`](https://mlir.llvm.org/docs/Dialects/Vector/#operations)
dialect.


  Commit: 14ca8d44d0f44ea5125b3c41b66276c902929a54
      https://github.com/llvm/llvm-project/commit/14ca8d44d0f44ea5125b3c41b66276c902929a54
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaTemplate/dependent-base-classes.cpp

  Log Message:
  -----------
  [clang] Fix a bug with qualified name lookup into current instantiation (#73018)

Due to d0d2ee0e4bbe915d649e983c12d37bcfcf58823c clang doesn't perform
qualified name lookup into the current instantiation when it has
dependent bases, because of that `getTypeName` call always returns null
for unknown specialization case. When there is a `typename` keyword,
`DependentNameType` is constructed instead of simply returning null.
This change attempts to do the same in case of `typename` absence.

Fixes https://github.com/llvm/llvm-project/issues/13826


  Commit: eb64697a7b75d2b22041cc992fad0c8dfa7989cb
      https://github.com/llvm/llvm-project/commit/eb64697a7b75d2b22041cc992fad0c8dfa7989cb
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/test/CodeGen/X86/avx512vlvp2intersect-intrinsics.ll
    M llvm/test/CodeGen/X86/avx512vp2intersect-intrinsics.ll
    M llvm/test/CodeGen/X86/stack-folding-avx512vp2intersect.ll
    M llvm/test/CodeGen/X86/vp2intersect_multiple_pairs.ll

  Log Message:
  -----------
  [X86][Codegen] Correct the domain of VP2INTERSECT

GenericDomain -> SSEPackedInt

Found by #73654


  Commit: 9d4c3e90356f968781ea3fe3c38b011d13d95c59
      https://github.com/llvm/llvm-project/commit/9d4c3e90356f968781ea3fe3c38b011d13d95c59
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vec_fneg.ll

  Log Message:
  -----------
  [X86] Enable v8f16 FNEG custom lowering


  Commit: abc60e9808820c3f6614e6815909d43ed085460e
      https://github.com/llvm/llvm-project/commit/abc60e9808820c3f6614e6815909d43ed085460e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/vec_fabs.ll

  Log Message:
  -----------
  [X86] vec_fabs.ll - add SSE test coverage


  Commit: 06b9d92e0e6536d460db3bef6a55de0ecd244927
      https://github.com/llvm/llvm-project/commit/06b9d92e0e6536d460db3bef6a55de0ecd244927
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vec_fabs.ll

  Log Message:
  -----------
  [X86] Enable v8f16 FABS custom lowering on SSE2 targets


  Commit: 8851e411edd5990d886d171568d97454258b06d3
      https://github.com/llvm/llvm-project/commit/8851e411edd5990d886d171568d97454258b06d3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vec_fneg.ll

  Log Message:
  -----------
  [X86] Enable v16f16 FNEG custom lowering on AVX targets


  Commit: d2856ff457ca0563f42ce9a12d7c7537b7234f3a
      https://github.com/llvm/llvm-project/commit/d2856ff457ca0563f42ce9a12d7c7537b7234f3a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vec_fneg.ll

  Log Message:
  -----------
  [X86] Enable v32f16 FNEG custom lowering on AVX512 targets


  Commit: 3246a32d3f6b97467ecdf2682d44a6515dbccf96
      https://github.com/llvm/llvm-project/commit/3246a32d3f6b97467ecdf2682d44a6515dbccf96
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp

  Log Message:
  -----------
  Fix MSVC "not all control paths return a value" warning. NFC.


  Commit: eef8e1d206dc01c081a0ca29b7f9e0c39d33446e
      https://github.com/llvm/llvm-project/commit/eef8e1d206dc01c081a0ca29b7f9e0c39d33446e
  Author: Lucas Duarte Prates <lucas.prates at arm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/test/Driver/aarch64-v95a.c
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SchedA64FX.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/MC/AArch64/SVE/armv9.5a-cpa.s
    A llvm/test/MC/AArch64/armv9.5a-cpa.s
    M llvm/test/MC/AArch64/basic-a64-diagnostics.s
    M llvm/test/MC/AArch64/basic-a64-instructions.s
    A llvm/test/MC/Disassembler/AArch64/armv9.5a-cpa.txt
    M llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Assembly support for the Checked Pointer Arithmetic Extension (#73777)

This introduces assembly support for the Checked Pointer Arithmetic
Extension (FEAT_CPA), annouced as part of the Armv9.5-A architecture
version.

The changes include:
* New subtarget feature for FEAT_CPA
* New scalar instruction for pointer arithmetic
  * ADDPT, SUBPT, MADDPT, and MSUBPT
* New SVE instructions for pointer arithmetic
  * ADDPT (vectors, predicated), ADDPT (vectors, unpredicated)
  * SUBPT (vectors, predicated), SUBPT (vectors, unpredicated)
  * MADPT and MLAPT
* New ID_AA64ISAR3_EL1 system register

Mode details about the extension can be found at:
* https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-developments-2023
* https://developer.arm.com/documentation/ddi0602/2023-09/

Co-authored-by: Rodolfo Wottrich <rodolfo.wottrich at arm.com>


  Commit: b04a419be1cac5711029b511cfe16e6748a44a4d
      https://github.com/llvm/llvm-project/commit/b04a419be1cac5711029b511cfe16e6748a44a4d
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp

  Log Message:
  -----------
  Minor refactororing of ASTContext::getDeclAlign() (NFC) (#72977)


  Commit: eaff02f28e194b497ec2d9a6bbecc33b54f6df27
      https://github.com/llvm/llvm-project/commit/eaff02f28e194b497ec2d9a6bbecc33b54f6df27
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSME.h
    A mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEEnums.h
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
    M mlir/include/mlir/Dialect/ArmSME/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.h
    M mlir/include/mlir/Dialect/ArmSME/Utils/Utils.h
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/lib/Conversion/ArmSMEToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
    M mlir/lib/Conversion/ArmSMEToSCF/CMakeLists.txt
    M mlir/lib/Conversion/VectorToArmSME/CMakeLists.txt
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/lib/Dialect/ArmSME/CMakeLists.txt
    M mlir/lib/Dialect/ArmSME/IR/ArmSME.cpp
    M mlir/lib/Dialect/ArmSME/IR/CMakeLists.txt
    A mlir/lib/Dialect/ArmSME/IR/Utils.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
    R mlir/lib/Dialect/ArmSME/Utils/CMakeLists.txt
    R mlir/lib/Dialect/ArmSME/Utils/Utils.cpp
    M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
    M mlir/test/Dialect/ArmSME/arith-ops-to-sme.mlir
    R mlir/test/Dialect/ArmSME/arm-sme-to-llvm-casts.mlir
    M mlir/test/Dialect/ArmSME/arm-sme-to-llvm.mlir
    M mlir/test/Dialect/ArmSME/canonicalize.mlir
    M mlir/test/Dialect/ArmSME/cse.mlir
    M mlir/test/Dialect/ArmSME/invalid.mlir
    M mlir/test/Dialect/ArmSME/roundtrip.mlir
    A mlir/test/Dialect/ArmSME/tile-allocation-invalid.mlir
    M mlir/test/Dialect/ArmSME/tile-allocation.mlir
    M mlir/test/Dialect/ArmSME/tile-zero-masks.mlir
    M mlir/test/Dialect/ArmSME/vector-ops-to-llvm.mlir
    M mlir/test/Dialect/ArmSME/vector-ops-to-sme.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-load-vertical.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f64.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-read-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transpose.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/tile_fill.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
    M mlir/test/Target/LLVMIR/arm-sme-invalid.mlir
    M mlir/test/Target/LLVMIR/arm-sme.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Switch to an attribute-based tile allocation scheme (#73253)

This reworks the ArmSME dialect to use attributes for tile allocation.
This has a number of advantages and corrects some issues with the
previous approach:

* Tile allocation can now be done ASAP (i.e. immediately after
`-convert-vector-to-arm-sme`)
* SSA form for control flow is now supported (e.g.`scf.for` loops that
yield tiles)
* ArmSME ops can be converted to intrinsics very late (i.e. after
lowering to control flow)
 * Tests are simplified by removing constants and casts
* Avoids correctness issues with representing LLVM `immargs` as MLIR
values
- The tile ID on the SME intrinsics is an `immarg` (so is required to be
a compile-time constant), `immargs` should be mapped to MLIR attributes
(this is already the case for intrinsics in the LLVM dialect)
- Using MLIR values for `immargs` can lead to invalid LLVM IR being
generated (and passes such as -cse making incorrect optimizations)

As part of this patch we bid farewell to the following operations:

```mlir
arm_sme.get_tile_id : i32
arm_sme.cast_tile_to_vector : i32 to vector<[4]x[4]xi32>
arm_sme.cast_vector_to_tile : vector<[4]x[4]xi32> to i32
```

These are now replaced with:
```mlir
// Allocates a new tile with (indeterminate) state:
arm_sme.get_tile : vector<[4]x[4]xi32>
// A placeholder operation for lowering ArmSME ops to intrinsics:
arm_sme.materialize_ssa_tile : vector<[4]x[4]xi32>
```

The new tile allocation works by operations implementing the
`ArmSMETileOpInterface`. This interface says that an operation needs to
be assigned a tile ID, and may conditionally allocate a new SME tile.

Operations allocate a new tile by implementing...
```c++
std::optional<arm_sme::ArmSMETileType> getAllocatedTileType()
```
...and returning what type of tile the op allocates (ZAB, ZAH, etc).

Operations that don't allocate a tile return `std::nullopt` (which is
the default behaviour).

Currently the following ops are defined as allocating:
```mlir
arm_sme.get_tile
arm_sme.zero
arm_sme.tile_load
arm_sme.outerproduct // (if no accumulator is specified)
```

Allocating operations become the roots for the tile allocation pass,
which currently just (naively) assigns all transitive uses of a root
operation the same tile ID. However, this is enough to handle current
use cases.

Once tile IDs have been allocated subsequent rewrites can forward the
tile IDs to any newly created operations.


  Commit: 0817efc4767bbfea282ad82d6517454288a1d59b
      https://github.com/llvm/llvm-project/commit/0817efc4767bbfea282ad82d6517454288a1d59b
  Author: Kohei Yamaguchi <fix7211 at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M mlir/docs/Dialects/Transform.md
    M mlir/docs/Passes.md

  Log Message:
  -----------
  [mlir][docs] Add missing .md into Transform and Passes docs(NFC) (#73916)

Fix broken docs for MeshDialect's pass and Transform dialect's loop
extension.


  Commit: e620035a28d5d957623aa7b4aeda35ab5130e2c9
      https://github.com/llvm/llvm-project/commit/e620035a28d5d957623aa7b4aeda35ab5130e2c9
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/rounding-math.cpp

  Log Message:
  -----------
  [clang] Use current rounding mode for float inc/dec (#73770)

Increment and decrement are equivalent to adding or subtracting 1. For
the floating-point values these operations depend on the current
rounding mode. Teach constant evaluator to perform ++ and -- according
to the current floating-point environment.

Pull request: https://github.com/llvm/llvm-project/pull/73770


  Commit: 53a24c33f09b81b8f009afbabd05f7086db3f288
      https://github.com/llvm/llvm-project/commit/53a24c33f09b81b8f009afbabd05f7086db3f288
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/test/CodeGenCXX/debug-info-static-inline-member.cpp
    M clang/test/CodeGenCXX/debug-info-static-member.cpp

  Log Message:
  -----------
  [clang][DebugInfo] Improve heuristic to determine whether to evaluate a static variable's initializer (#72974)

This patch extracts the logic to evaluate a C++ static data-member's
constant initializer. This logic will be re-used in an upcoming patch.

It also makes the check for whether we are dealing with a constant
initializer more robust/idiomatic, which revealed a bug in the
`debug-info-static-inline-member` test (which existed since its
introduction in https://github.com/llvm/llvm-project/pull/71780)

**Test changes**

* `debug-info-static-member.cpp`:
  * We added the check for `const_b` as part of the
    patch series in `638a8393615e911b729d5662096f60ef49f1c65e`.
The check for `isUsableAsConstantExpression` added in the current patch
doesn't support constant inline floats (since they are neither constexpr
nor
    integrals). This isn't a regression since before said patch series
    we wouldn't ever emit the definition for `const_b` anyway. Now
we just don't do it for `inline const float`s. This is consistent with
    GCC's behaviour starting with C++11.

* `debug-info-static-inline-member`:
  * This was just a bug which is now fixed. We shouldn't emit
    a `DW_AT_const_value` for a non-const static.


  Commit: e78a45dd104c25475dcf141e0146790e9f2a219c
      https://github.com/llvm/llvm-project/commit/e78a45dd104c25475dcf141e0146790e9f2a219c
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/utils/TableGen/X86FoldTablesEmitter.cpp

  Log Message:
  -----------
  [X86][NFC] Refine code in X86FoldTablesEmitter.cpp

Split NFC in #73654 into a seperate commit.


  Commit: 7d5f79f13b498ba19ae257d75a726e354a076ed9
      https://github.com/llvm/llvm-project/commit/7d5f79f13b498ba19ae257d75a726e354a076ed9
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/add.ll

  Log Message:
  -----------
  [InstCombine] Handle equality comparison when flooring by constant 2

Support `icmp eq` when reducing signed divisions by power of 2 to
arithmetic shift right, as `icmp ugt` may have been canonicalized
into `icmp eq` by the time additions are folded into `ashr`.

Fixes: https://github.com/llvm/llvm-project/issues/73622.

Proof: https://alive2.llvm.org/ce/z/8-eUdb.


  Commit: c80b91bce3a5a92281ad1c7e090ac25e7a5bd395
      https://github.com/llvm/llvm-project/commit/c80b91bce3a5a92281ad1c7e090ac25e7a5bd395
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/test/CodeGenCXX/debug-info-static-inline-member.cpp

  Log Message:
  -----------
  [clang][DebugInfo][test] Remove unchecked member variable in debug-info-static-inline-member

The check for this was removed in
https://github.com/llvm/llvm-project/pull/72974

This patch removes the member from the source itself since
it was confusing FileCheck


  Commit: 092507a730fa4fad6dbe544cd139cfb7e8179aa4
      https://github.com/llvm/llvm-project/commit/092507a730fa4fad6dbe544cd139cfb7e8179aa4
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/stack-clash-protection.c

  Log Message:
  -----------
  [clang][AArch64] Pass down stack clash protection options to LLVM/Backend (#68993)


  Commit: 4793bce709018cf44015575a4466fcc634f70556
      https://github.com/llvm/llvm-project/commit/4793bce709018cf44015575a4466fcc634f70556
  Author: Jean Perier <jperier at nvidia.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp

  Log Message:
  -----------
  [flang] Remove useless ConvertExpr.h includes in Optimizer

Added by mistake in https://github.com/llvm/llvm-project/pull/73658.
Not needed and breaks shared library builds.


  Commit: e653e0303db024fe817e17c70c9d6d75ab9605b9
      https://github.com/llvm/llvm-project/commit/e653e0303db024fe817e17c70c9d6d75ab9605b9
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/X86/vec_fcopysign.ll

  Log Message:
  -----------
  [X86] Add fcopysign vector test coverage


  Commit: 1d20b009a0e274c0db518b0bca0dd5daabcc8754
      https://github.com/llvm/llvm-project/commit/1d20b009a0e274c0db518b0bca0dd5daabcc8754
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vec_fcopysign.ll

  Log Message:
  -----------
  [X86] Enable v8f16/v16f16/v32f16 FCOPYSIGN custom lowering on SSE2/AVX/AVX512 targets


  Commit: 00a10efdb12dbc3f5a0ba16f6c92cac713f0590b
      https://github.com/llvm/llvm-project/commit/00a10efdb12dbc3f5a0ba16f6c92cac713f0590b
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/add3.ll
    M llvm/test/Transforms/InstCombine/addnegneg.ll
    M llvm/test/Transforms/InstCombine/allocsize.ll

  Log Message:
  -----------
  [InstCombine] Regenerate test checks (NFC)


  Commit: 4db451a87d56ab469af2eecbae47338e540b1276
      https://github.com/llvm/llvm-project/commit/4db451a87d56ab469af2eecbae47338e540b1276
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    A llvm/test/CodeGen/AArch64/sve-fixed-length-function-calls.ll
    A llvm/test/CodeGen/AArch64/sve-fixed-length-functions.ll

  Log Message:
  -----------
  [LLVM][SVE] Honour calling convention when using SVE for fixed length vectors. (#70847)

NOTE: I'm not sure how many of the corner cases are part of the
documented ABI but that shouldn't matter because my goal is for
`-msve-vector-bits` to have no affect on the way arguments and returns
are processed.


  Commit: 269e3049eab3b8c6c22addee3b72199fdad56d07
      https://github.com/llvm/llvm-project/commit/269e3049eab3b8c6c22addee3b72199fdad56d07
  Author: David Green <david.green at arm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/AArch64/sme-aarch64-svcount.ll

  Log Message:
  -----------
  [AArch64] Remove invalid check lines from sme-aarch64-svcount.ll. NFC


  Commit: 2425e2940eb4f24de296ada92e25d6aad9578cd0
      https://github.com/llvm/llvm-project/commit/2425e2940eb4f24de296ada92e25d6aad9578cd0
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/GuardWidening.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Have getInsertionPtAfterDef return an iterator (#73149)

Part of the "RemoveDIs" project to remove debug intrinsics requires
passing block-positions around in iterators rather than as instruction
pointers, allowing some debug-info to reside in BasicBlock::iterator.
This means getInsertionPointAfterDef has to return an iterator, and as
it can return no-instruction that means returning an optional iterator.

This patch changes the signature for getInsertionPtAfterDef and then
patches up the various places that use it to handle the different type.
This would overall be an NFC patch, however in
InstCombinerImpl::freezeOtherUses I've started skipping any debug
intrinsics at the returned insert-position. This should not have any
_meaningful_ effect on the compiler output: at worst it means variable
assignments that are skipped will now cover the freeze instruction and
anything inserted before it, which should be inconsequential.

Sadly: this makes the function signature ugly. This is probably the
ugliest piece of fallout for the "RemoveDIs" work, but it serves the
overall purpose of improving compile times and not allowing `-g` to
affect compiler output, so should be worthwhile in the end.


  Commit: c84061fd343cdd647dd18321aa555c5d358c2d65
      https://github.com/llvm/llvm-project/commit/c84061fd343cdd647dd18321aa555c5d358c2d65
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
    M mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir

  Log Message:
  -----------
  [mlir][vector] Fix a `target-rank=0` unrolling (#73365)

Fixes https://github.com/llvm/llvm-project/issues/64269.

With this patch, calling `mlir-opt "-convert-vector-to-scf=full-unroll
target-rank=0"` on
```mlir
func.func @main(%vec : vector<2xi32>) {
  %alloc = memref.alloc() : memref<4xi32>
  %c0 = arith.constant 0 : index
  vector.transfer_write %vec, %alloc[%c0] : vector<2xi32>, memref<4xi32>
  return
}
```
will result in
```mlir
module {
  func.func @main(%arg0: vector<2xi32>) {
    %c0 = arith.constant 0 : index
    %c1 = arith.constant 1 : index
    %alloc = memref.alloc() : memref<4xi32>
    %0 = vector.extract %arg0[0] : i32 from vector<2xi32>
    %1 = vector.broadcast %0 : i32 to vector<i32>
    vector.transfer_write %1, %alloc[%c0] : vector<i32>, memref<4xi32>
    %2 = vector.extract %arg0[1] : i32 from vector<2xi32>
    %3 = vector.broadcast %2 : i32 to vector<i32>
    vector.transfer_write %3, %alloc[%c1] : vector<i32>, memref<4xi32>
    return
  }
}
```

I've also tried to proactively find other `target-rank=0` bugs, but
couldn't find any. `options.targetRank` is only used 8 times throughout
the `mlir` folder, all inside `VectorToSCF.cpp`. None of the other uses
look like they could cause a crash. I've also tried

```mlir
func.func @main(%vec : vector<2xi32>) -> vector<2xi32> {
  %alloc = memref.alloc() : memref<4xindex>
  %c0 = arith.constant 0 : index
  %out = vector.transfer_read %alloc[%c0], %c0 : memref<4xindex>, vector<2xi32>
  return %out : vector<2xi32>
}
```
with `"--convert-vector-to-scf=full-unroll target-rank=0"` and that also
didn't crash. (Maybe obvious. I have to admit that I'm not very familiar
with these ops.)


  Commit: b9b37ea9493b5c1cadaf9cc8547a4525a6ab3854
      https://github.com/llvm/llvm-project/commit/b9b37ea9493b5c1cadaf9cc8547a4525a6ab3854
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp

  Log Message:
  -----------
  [clang] Fix sanitizer bot failure after 14ca8d4 (#73928)

Initialize field so there is no use-of-uninitialized-value warning.


  Commit: 8b25381bb6221dcfd2295aa2fd819f5b97704ca1
      https://github.com/llvm/llvm-project/commit/8b25381bb6221dcfd2295aa2fd819f5b97704ca1
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/limits.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Add the digits property to numeric_limits (#73926)


  Commit: 2ec0283c0405535594a46ea4244b09e63a797f0b
      https://github.com/llvm/llvm-project/commit/2ec0283c0405535594a46ea4244b09e63a797f0b
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Emulate inserting insts in dbg.value sequences (#73350)

Here's a problem for the RemoveDIs project to make debug-info not be
stored in instructions -- in the following sequence:
    dbg.value(foo
    %bar = add i32 ...
    dbg.value(baz
It's possible for rare passes (only CodeGenPrepare) to remove the add
instruction, and then re-insert it back in the same place. When
debug-info is stored in instructions and there's a total order on "when"
things happen this is easy, but by moving that information out of the
instruction stream we start having to do manual maintenance.

This patch adds some utilities for re-inserting an instruction into a
sequence of DPValue objects. Someday we hope to design this away, but
for now it's necessary to support all the things you can do with
dbg.values. The two unit tests show how DPValues get shuffled around
using the relevant function calls. A follow-up patch adds
instrumentation to CodeGenPrepare.


  Commit: b703bd821d011011431c3a961e816b8fc33912da
      https://github.com/llvm/llvm-project/commit/b703bd821d011011431c3a961e816b8fc33912da
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/bit.h
    M libc/test/src/__support/CPP/CMakeLists.txt
    A libc/test/src/__support/CPP/bit_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/CPP/BUILD.bazel

  Log Message:
  -----------
  [libc] Add more functions in CPP/bit.h (#73814)

Once this is submitted we can remove `include/__support/bit.h` that
duplicates some of this functionality.


  Commit: b8a5a015d12c698a3254898c94d0adffe0724fa8
      https://github.com/llvm/llvm-project/commit/b8a5a015d12c698a3254898c94d0adffe0724fa8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

  Log Message:
  -----------
  [InstCombine] Use pointer alignment in SimplifyDemandedBits

For parity with computeKnownBits(). This came up when adding a
consistency assertion.


  Commit: 5ba5211a477f0d513eaed2b35e04239f005a30bd
      https://github.com/llvm/llvm-project/commit/5ba5211a477f0d513eaed2b35e04239f005a30bd
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/test/DebugInfo/X86/licm-undef-dbg-value.ll
    A llvm/test/Transforms/LICM/dbg-value-sink.ll
    M llvm/test/Transforms/LICM/debug-value.ll
    M llvm/test/Transforms/LICM/hoist-debuginvariant.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Have LICM insert at iterator positions (#73671)

Because we're storing some extra debug-info information in the iterator
class, we need to insert new LICM-created stores using such iterators.
Switch LICM to storing iterators instead of pointers when it promotes
variables in loops, add a test for the desired behaviour, and enable
RemoveDIs instrumentation on a variety of other LICM tests for good
measure.

(This would appear to be the only pass in LLVM that needs to store
iterators on the heap).


  Commit: 1566380e6b47d7876c0f3eaa105097063dbe7cc8
      https://github.com/llvm/llvm-project/commit/1566380e6b47d7876c0f3eaa105097063dbe7cc8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

  Log Message:
  -----------
  [ValueTracking] Switch analyzeKnownBitsFromAndXorOr() to use SimplifyQuery (NFC)

It already used it internally, make the public API use it as well.


  Commit: 3f6a8e9b18154accc78e620b843b3721c23703b1
      https://github.com/llvm/llvm-project/commit/3f6a8e9b18154accc78e620b843b3721c23703b1
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/add3.ll
    M llvm/test/Transforms/InstCombine/addnegneg.ll

  Log Message:
  -----------
  [InstCombine] Switch to use FileCheck as UTC was favoured (NFC)

FileCheck was previously missing while moving to UTC, as part of
regenerating other tests within InstCombine.


  Commit: 062058ef36c3a5a41f5c2ad2fd1a53f7a099e956
      https://github.com/llvm/llvm-project/commit/062058ef36c3a5a41f5c2ad2fd1a53f7a099e956
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

  Log Message:
  -----------
  [InstCombine] Use analyzeKnownBitsFromAndXorOr() in multi-use demanded bits

We were using this helper in single-use demanded bits but not
multi-use demanded bits.

This fixes an assertion failure when asserting consistency between
computeKnownBits() and SimplifyDemandedBits().


  Commit: 2031e7226cc5318c547c6d3f62ac62d369d0e723
      https://github.com/llvm/llvm-project/commit/2031e7226cc5318c547c6d3f62ac62d369d0e723
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

  Log Message:
  -----------
  [InstCombine] Require non-demanded known bits to be accurate (NFC)

In practice this is already true, and having this as an explicit
guarantee is useful for #72912. I don't think there is any good
reason why we would want to produce incorrect KnownBits results
for non-demanded bits.


  Commit: c44dca15a4297eef3b9319a5e24f85267a099642
      https://github.com/llvm/llvm-project/commit/c44dca15a4297eef3b9319a5e24f85267a099642
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp
    R llvm/test/CodeGen/MIR/AMDGPU/extra-imm-operand.mir
    R llvm/test/CodeGen/MIR/AMDGPU/extra-reg-operand.mir
    A llvm/test/MachineVerifier/verify-implicit-def.mir

  Log Message:
  -----------
  MachineVerifier: Reject extra non-register operands on instructions (#73758)

We were allowing extra immediate arguments, and only bothering to check
if registers were implicit or not.

Also consolidate extra operand checks in verifier, to make this
testable. We had 3 different places checking if you were trying to build
an instruction with more operands than allowed by the definition. We had
an assertion in addOperand, a direct check in the MIRParser to avoid the
assertion, and the machine verifier checks. Remove the assert and parser
check so the verifier can provide a consistent verification experience,
which will also handle instructions modified in place.


  Commit: 29a0f3ec2b47630ce229953fe7250e741b6c10b6
      https://github.com/llvm/llvm-project/commit/29a0f3ec2b47630ce229953fe7250e741b6c10b6
  Author: leecheechen <chenli at loongson.cn>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/add.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/ashr.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fadd.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fdiv.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fmul.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fsub.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/lshr.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/mul.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sdiv.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shl.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sub.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/udiv.ll

  Log Message:
  -----------
  [LoongArch] Add some binary IR instructions testcases for LSX (#73929)

The IR instructions include:
- Binary Operations: add fadd sub fsub mul fmul udiv sdiv fdiv
- Bitwise Binary Operations: shl lshr ashr


  Commit: cd02e4b8128e6379f1b317132f605787074c8850
      https://github.com/llvm/llvm-project/commit/cd02e4b8128e6379f1b317132f605787074c8850
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/IR/DIBuilder.cpp

  Log Message:
  -----------
  [DebugInfo] Set all dbg.value intrinsics to be tail-calls (#73661)

This change has no meaningful effect on the compiler, although it has a
functional effect of dbg.value intrinsics being printed differently. The
tail-call flag is meaningless for debug-intrinsics and doesn't serve a
purpose, it's just extra baggage that dbg.values are built on top of.
Some facilities create debug-intrinsics with the flag, others don't.
However, the RemoveDIs project to represent debug-info without
intrinsics doesn't have a corresponding flag, which can cause spurious
test differences.

Specifically: we can convert a dbg.value to a DPValue, run an
optimisation pass, then convert the DPValue back to dbg.value form.
Right now, we always set the "tail" flag when converting it back. This
causes the auto-update-tests script to fail sometimes because in one
mode (dbg.value) intrinsics might not have a tail flag, but in the other
they do have a tail flag. Consistently picking one or the other in the
conversion routine doesn't help, because the rest of LLVM is
inconsistent about it anyway.

Thus: whenever we make a dbg.value intrinsic, create it as a tail call,
so that we get consistent output behaviours no matter which debug-info
mode we're in, DPValue or dbg.value. No tests fail as a result of this
patch because the extra 'tail' generated in numerous tests is
automatically ignored by FileCheck as being leading-rubbish before the
CHECK match.


  Commit: 10b44fb6a38fd68b78933b89c3b6d8cff20485a8
      https://github.com/llvm/llvm-project/commit/10b44fb6a38fd68b78933b89c3b6d8cff20485a8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

  Log Message:
  -----------
  [InstCombine] Add KnownBits consistency assertion behind option (NFC)

I'm occasionally using this to find cases where computeKnownBits()
and SimplifyDemandedBits() went out of sync.

This option is not enabled by default (even under EXPENSIVE_CHECKS)
because it has a number of known failures in our tests. The reason
for this failures is that computeKnownBits() performs recursive
queries using the original context instruction, while
SimplifyDemandedBits() uses the current instruction. This is
something we can improve, but using the original context wouldn't
always be safe in this context (when non-speculatable instructions
are involved).


  Commit: 1c2a0768de7a670161b90f9eac8bbe484ad017a6
      https://github.com/llvm/llvm-project/commit/1c2a0768de7a670161b90f9eac8bbe484ad017a6
  Author: Adam Paszke <apaszke at google.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp

  Log Message:
  -----------
  [MLIR][CUDA] Update export macros in CudaRuntimeWrappers (#73932)

This fixes a few issues present in the current version:
1) The macro doesn't enforce the default visibility on exported
   functions, causing compilation to fail when using
   `-fvisibility=hidden`
2) Not all functions are exported
3) Sometimes the macro ended up weirdly interleaved with `extern "C"`
   declarations


  Commit: 78237b70c873eb58877d91782a7f8eeb3fdf4901
      https://github.com/llvm/llvm-project/commit/78237b70c873eb58877d91782a7f8eeb3fdf4901
  Author: Lucas Duarte Prates <lucas.prates at arm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/MC/AArch64/SVE/armv9.5a-cpa.s

  Log Message:
  -----------
  [AArch64] Fix predicates for FEAT_CPA's SVE-specific instructions (#73923)

Following up on #73777, this fixes the predicate for the SVE-specific
FEAT_CPA instructions to require SVE instead of SVE or SME. These
instructions should not be availabe if only SME is enabled.


  Commit: 6677f029b2d177aaeea94df0f8ba67e760e43d4b
      https://github.com/llvm/llvm-project/commit/6677f029b2d177aaeea94df0f8ba67e760e43d4b
  Author: Hui <hui.xie0621 at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M libcxx/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libc++] Workaround linker errors in floating-point atomic tests (#73398)

We now add -latomic whenever we detect that it's supported on the platform,
and we mark the tests as UNSUPPORTED on platforms where non-lockfree
atomics are not supported.


  Commit: 402591a4147ceaee48afc8712d0c61f6402df67b
      https://github.com/llvm/llvm-project/commit/402591a4147ceaee48afc8712d0c61f6402df67b
  Author: frgossen <frgossen at google.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Fix bazel build (#73942)


  Commit: 99d485917ae5f10629cb9d7ca96b7cd6773ac35f
      https://github.com/llvm/llvm-project/commit/99d485917ae5f10629cb9d7ca96b7cd6773ac35f
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    A llvm/test/CodeGen/AArch64/blr-bti-preserves-regmask.mir
    M llvm/test/CodeGen/AArch64/kcfi-bti.ll

  Log Message:
  -----------
  [llvm][AArch64] Preserve regmask when expanding the BLR_BTI pseudo instruction (#73927)

Fixes #73787

Not doing so lead to us making use of a register after the call, which
has been clobbered by the call.

Added an MIR test that runs only the pseudo expansion pass.


  Commit: a4e1aa256b14d74da47fdfeb245930a520f5fd64
      https://github.com/llvm/llvm-project/commit/a4e1aa256b14d74da47fdfeb245930a520f5fd64
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Support/X86FoldTablesUtils.h
    M llvm/lib/Target/X86/X86InstrFoldTables.cpp
    M llvm/test/CodeGen/X86/dpbusd_const.ll
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/utils/TableGen/X86FoldTablesEmitter.cpp

  Log Message:
  -----------
  [X86][tablgen] Auto-gen broadcast tables (#73654)

1. Add TB_BCAST_SH for FP16
2. Auto-gen 4 broadcast tables BroadcastTable[1-4]

issue: https://github.com/llvm/llvm-project/issues/66360


  Commit: 4c338f80c40b85a704bac455d0487ccaf2b26fb1
      https://github.com/llvm/llvm-project/commit/4c338f80c40b85a704bac455d0487ccaf2b26fb1
  Author: Dominik Wójt <dominik.wojt at arm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M libcxx/include/__locale

  Log Message:
  -----------
  [libc++] picolibc: avoid warning in __locale (#73937)


  Commit: 1f88e62db40950d48ee83ea31281689c54016709
      https://github.com/llvm/llvm-project/commit/1f88e62db40950d48ee83ea31281689c54016709
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll

  Log Message:
  -----------
  [SLP]Fix/improve minbitwidth mapping to use TreeEntry as a key.

Currently, MinBWs map uses Value* as a key and stores mapping for each
value to be demoted. It make is it hard to get the actual MinBWs value
for the buildvector scalars(constants), since same constant might be
  used in different nodes with the different MinBWs values/decisions.
Also, it consumes extra memory for the vectorized values/instructions
 from the same nodes.
Better to map actual nodes. It fixes the bitwidth data fetching for
buildvector scalars and improves memory consumption/analysis time for
other instructions.


  Commit: 5234fe31547737f4fc9d312946cb647968734da1
      https://github.com/llvm/llvm-project/commit/5234fe31547737f4fc9d312946cb647968734da1
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/Sema/aarch64-incompat-sm-builtin-calls.c

  Log Message:
  -----------
  [AArch64] Warn when calling a NEON builtin in a streaming function (#73672)

This patch introduces a warning that is emitted when a Neon builtin is
called from a streaming function, as that situation is not supported.

Uses work by Kerry McLaughlin.


  Commit: ba523106579fd26d52e16c1a6f4eeb839d84351f
      https://github.com/llvm/llvm-project/commit/ba523106579fd26d52e16c1a6f4eeb839d84351f
  Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC] Unify code for cost estimation/codegen for buildvector, NFC. (#73182)

This just moves towards reusing same function for both cost
estimation/codegen for buildvector.


  Commit: b8bbd5fe6f6371f549e0aedf726fa47e7dd3bbf6
      https://github.com/llvm/llvm-project/commit/b8bbd5fe6f6371f549e0aedf726fa47e7dd3bbf6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrFoldTables.cpp

  Log Message:
  -----------
  [X86] X86InstrFoldTables.cpp - add Op4 Broadcast Fold/Unfold table entries

Prep work for #73509 (missed in #73654)


  Commit: b7af286a4e3e2e5464b95ddfca0ed793bb4aa8b9
      https://github.com/llvm/llvm-project/commit/b7af286a4e3e2e5464b95ddfca0ed793bb4aa8b9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/phi.ll

  Log Message:
  -----------
  [InstCombine] Add test for "or disjoint" miscompile (NFC)


  Commit: d8bc5465330474b80c02ca37e76a9a51245f1d79
      https://github.com/llvm/llvm-project/commit/d8bc5465330474b80c02ca37e76a9a51245f1d79
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
    M llvm/test/Transforms/InstCombine/phi.ll

  Log Message:
  -----------
  [InstCombine] Fix phi or icmp fold with disjoint flag

We're changing the operand of the or here, such that the disjoint
flag may no longer hold. Clear it.


  Commit: 73d9f5fda6648a9c75a265524da29bac061fb155
      https://github.com/llvm/llvm-project/commit/73d9f5fda6648a9c75a265524da29bac061fb155
  Author: Piotr Sobczak <piotr.sobczak at amd.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/regpressure_printer.mir

  Log Message:
  -----------
  [AMDGPU] Add test for GCNRegPressure tracker bug (#73786)

Add a test to document an existing problem in GCNRegPressure tracker.

The upward tracker does not count the registers used (16 of them) in
movrel instruction (for example V_INDIRECT_REG_WRITE_MOVREL_B32_V16).

The downward tracker counts the registers but reports a mismatch:
%0:L0000000000000C00 isn't found in LIS reported set


  Commit: 3ef98bcd46f22d1d25f9f83f5742209f87d399d0
      https://github.com/llvm/llvm-project/commit/3ef98bcd46f22d1d25f9f83f5742209f87d399d0
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/test/DebugInfo/X86/codegenprep-addrsink.ll
    A llvm/test/DebugInfo/X86/codegenprepare-rollback.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/catchpad-phi-cast.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/cttz-ctlz.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/select.ll
    M llvm/test/Transforms/CodeGenPrepare/sink-shift-and-trunc.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Support maintaining DPValues in CodeGenPrepare (#73660)

CodeGenPrepare needs to support the maintenence of DPValues, the
non-instruction replacement for dbg.value intrinsics. This means there are
a few functions we need to duplicate or replicate the functionality of:
 * fixupDbgValue for setting users of sunk addr GEPs,
 * The remains of placeDbgValues needs a DPValue implementation for sinking
 * Rollback of RAUWs needs to update DPValues
 * Rollback of instruction removal needs supporting (see github #73350)
 * A few places where we have to use iterators rather than instructions.

There are three places where we have to use the setHeadBit call on
iterators to indicate which portion of debug-info records we're about to
splice around. This is because CodeGenPrepare, unlike other optimisation
passes, is very much concerned with which block an operation occurs in and
where in the block instructions are because it's preparing things to be in
a format that's good for SelectionDAG.

There isn't a large amount of test coverage for debuginfo behaviours in
this pass, hence I've added some more.


  Commit: 0ef013c823e108d477ab749f3187d939e10f8333
      https://github.com/llvm/llvm-project/commit/0ef013c823e108d477ab749f3187d939e10f8333
  Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c

  Log Message:
  -----------
  [AArch64][SME2] Add multi-vector SEL (x2, x4) ACLE builtins & intrinsics (#73188)

Add multi-vector SEL (x2, x4) ACLE builtins & intrinsics
Patch by: David Sherwood <david.sherwood at arm.com>


  Commit: ff5e536b5e3b59fbc40df0e24494c6ce7417e2ea
      https://github.com/llvm/llvm-project/commit/ff5e536b5e3b59fbc40df0e24494c6ce7417e2ea
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll

  Log Message:
  -----------
  [RISCV] Add combines to form binop from tail insert idioms (#72675)

This patch contains two related combines:
1) If we have an scalar vector insert into the result of a
concat_vector,
   sink the insert into the operand of the concat.
2) If we have a insert of a scalar binop into a vector binop of the
   same opcode and the RHS of both are constant, perform the insert
   and then the binop.

The common theme to both is pushing inserts closer to the sources of the
computation graph. The goal is to enable forming vector bin ops from
inserts of scalar binops at the end of another vector.

For RISCV specifically, the concat_vector transform will push inserts to
smaller vectors. This will have the effect of reducing lmul for the
vslides, and usually doesn't require an additional vsetvli since
the source vectors are already working in the narrower VL.   I tried
that one as a target independent combine first, and it doesn't appear
profitable on all targets.

This is only one approach to the problem. Another idea would be to
aggressively form build_vectors and subvector inserts from the
individual scalar inserts, and then have a transform which sunk a
subvector_insert down through the concat. The advantage of the alternate
approach is that we expose parallelism in the insert sequence, even if
the source vector isn't a concat_vector. If reviewers are okay with it,
I'd like to start with this approach, and then explore that direction in
a follow up patch.


  Commit: 8eb705321ed20232aa13e85e07f22b44f19e82b4
      https://github.com/llvm/llvm-project/commit/8eb705321ed20232aa13e85e07f22b44f19e82b4
  Author: Lucas Prates <lucas.prates at arm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/test/MC/AArch64/armv9.5a-cpa.s

  Log Message:
  -----------
  [AArch64][MC] Fix run line in Armv9.5-A's FEAT_CPA test


  Commit: c89553ae829e05ac830eff80e69775704a8ba040
      https://github.com/llvm/llvm-project/commit/c89553ae829e05ac830eff80e69775704a8ba040
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/select.ll

  Log Message:
  -----------
  [InstSimplify] Add test for or disjoint miscompile (NFC)


  Commit: 07c18a05e2cb80e87b0c681c147a253565064f3e
      https://github.com/llvm/llvm-project/commit/07c18a05e2cb80e87b0c681c147a253565064f3e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/select.ll

  Log Message:
  -----------
  [InstSimplify] Fix select bit test miscompile with disjoint

The select condition ensures the disjointness here. The transform
is not valid without dropping the flag, which InstSimplify can't
do.


  Commit: 1d05b21e035f579af2f96b4a61847d2c9f358ac2
      https://github.com/llvm/llvm-project/commit/1d05b21e035f579af2f96b4a61847d2c9f358ac2
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/test/Preprocessor/suggest-typoed-directive.c

  Log Message:
  -----------
  Add test coverage for -Wunknown-directives; NFC

While working on #embed, I noticed that the PR accidentally broke the
warning group but no tests failed as a result. This is adding the
missing test coverage.


  Commit: e4f951e4eef6128a2e9d8fc103e4402315484d65
      https://github.com/llvm/llvm-project/commit/e4f951e4eef6128a2e9d8fc103e4402315484d65
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp

  Log Message:
  -----------
  [clang][NFC] Fix typo in comment about Mac Catalyst


  Commit: 3f505cd58776fca59f4f2eb456b169fa5da09317
      https://github.com/llvm/llvm-project/commit/3f505cd58776fca59f4f2eb456b169fa5da09317
  Author: Samira Bazuzi <bazuzi at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M libc/src/__support/CPP/bitset.h

  Log Message:
  -----------
  [libc] Mark operator== const to avoid ambiguity in C++20. (#73954)

C++20 will automatically generate an operator== with reversed operand
order, which is ambiguous with the written operator== when one argument
is marked const and the other isn't.

This operator currently triggers -Wambiguous-reversed-operator at
several usage sites in libc/test/src/__support/CPP/bitset_test.cpp,
starting with line 153.


  Commit: ca5a01d8e473eb4c3e6a3e2061875f7ca958d748
      https://github.com/llvm/llvm-project/commit/ca5a01d8e473eb4c3e6a3e2061875f7ca958d748
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/freeze-noundef.ll

  Log Message:
  -----------
  [InstSimplify] Add test for incorrect freeze of or disjoint (NFC)


  Commit: ea602cb80678fbf5f52bbbda142437164b2a3407
      https://github.com/llvm/llvm-project/commit/ea602cb80678fbf5f52bbbda142437164b2a3407
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/IR/Operator.cpp
    M llvm/test/Transforms/InstSimplify/freeze-noundef.ll

  Log Message:
  -----------
  [IR] Support or disjoint in hasPoisonGeneratingFlags()

This fixed incorrect removal of freeze instructions.


  Commit: 442490315685944b71037bccc410048fb3612060
      https://github.com/llvm/llvm-project/commit/442490315685944b71037bccc410048fb3612060
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/test/DebugInfo/Generic/mem2reg-promote-alloca-1.ll
    M llvm/test/DebugInfo/Generic/mem2reg-promote-alloca-2.ll
    M llvm/test/DebugInfo/Generic/mem2reg-promote-alloca-3.ll
    M llvm/test/DebugInfo/Generic/volatile-alloca.ll
    M llvm/test/DebugInfo/X86/mem2reg_fp80.ll
    M llvm/test/Transforms/InstCombine/cast-set-preserve-signed-dbg-val.ll
    M llvm/test/Transforms/InstCombine/consecutive-fences.ll
    M llvm/test/Transforms/InstCombine/dbg-scalable-store-fixed-frag.ll
    M llvm/test/Transforms/InstCombine/debuginfo-dce2.ll
    M llvm/test/Transforms/InstCombine/debuginfo-skip.ll
    M llvm/test/Transforms/InstCombine/debuginfo.ll
    M llvm/test/Transforms/InstCombine/debuginfo_add.ll
    M llvm/test/Transforms/InstCombine/erase-dbg-values-at-dead-alloc-site.ll
    M llvm/test/Transforms/InstCombine/lower-dbg-declare.ll
    M llvm/test/Transforms/InstCombine/pr43893.ll
    M llvm/test/Transforms/InstCombine/sink-instruction-introduces-unnecessary-poison-value.ll
    M llvm/test/Transforms/InstCombine/stacksave-debuginfo.ll
    M llvm/test/Transforms/InstCombine/unavailable-debug.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Handle DPValues at remaining dbg.value using sites (#73788)

This patch updates the last few places in LLVM using findDbgValues that
don't also collect and handle DPValue objects. This largely involves
instcombine and mem2reg changes, and are largely mechanical, calling
existing utilities on collections of DPValues instead of just
DbgValuesInsts.

A variety of tests have had RemoveDIs RUN lines added to them to cover
these behaviours. We have some technical debt of the instcombine sinking
code for DPValues not being implemented yet, so I've left FIXME stubs
indicating that we intend to cover tests with RemoveDIs but haven't yet.


  Commit: a51196ec6ed784eae9ca4d0feca3a582c8dfefd5
      https://github.com/llvm/llvm-project/commit/a51196ec6ed784eae9ca4d0feca3a582c8dfefd5
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp

  Log Message:
  -----------
  [llvm-reduce] Remove unreachable branch (NFC)

Remove stale branch which is unreachable with opaque pointers.


  Commit: a383817b7e24d948dd5e342e8df8d12d0f15d536
      https://github.com/llvm/llvm-project/commit/a383817b7e24d948dd5e342e8df8d12d0f15d536
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
    M mlir/test/Dialect/Vector/vector-gather-lowering.mlir

  Log Message:
  -----------
  [mlir][Vector] Add a rewrite pattern for gather over a strided memref (#72991)

This patch adds a rewrite pattern for `vector.gather` over a strided
memref like the following:

```mlir
%subview = memref.subview %arg0[0, 0] [100, 1] [1, 1] :
    memref<100x3xf32> to memref<100xf32, strided<[3]>>
%gather = vector.gather %subview[%c0] [%idxs], %cst_0, %cst :
    memref<100xf32, strided<[3]>>, vector<4xindex>, vector<4xi1>, vector<4xf32>
    into vector<4xf32>
```

After the pattern added in this patch:
```mlir
%collapse_shape = memref.collapse_shape %arg0 [[0, 1]] :
    memref<100x3xf32> into memref<300xf32>
%1 = arith.muli %arg3, %cst : vector<4xindex>
%gather = vector.gather %collapse_shape[%c0] [%1], %cst_1, %cst_0 :
    memref<300xf32>, vector<4xindex>, vector<4xi1>, vector<4xf32>
    into vector<4xf32>
```

Fixes https://github.com/openxla/iree/issues/15364.


  Commit: 6976dac09db6dab3ef9eb68f1d19b70aa2847773
      https://github.com/llvm/llvm-project/commit/6976dac09db6dab3ef9eb68f1d19b70aa2847773
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.h
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/implicit-def-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/implicit-def-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/implicit-def-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/implicit-def-rv64.mir

  Log Message:
  -----------
  [RISCV][GISEL] regbankselect and instruction-select for G_IMPLICIT_DEF (#73060)

This is similar to the selection of G_IMPLICIT_DEF in AArch64.
Regbankselect may need to be improved in a future patch.


  Commit: dbb9043dea238fa4e5b6a9a7fef99623b543493e
      https://github.com/llvm/llvm-project/commit/dbb9043dea238fa4e5b6a9a7fef99623b543493e
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/merge-unmerge-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/bitcast-between-f64-and-i64.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/merge-unmerge-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/merge-unmerge-rv32d.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/merge-unmerge-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/merge-unmerge-rv32.mir

  Log Message:
  -----------
  [RISCV][GISEL] legalize, regbankselect, and instruction-select for G_… (#73061)

…[UN]MERGE_VALUES

When MERGE or UNMERGE s64 on a subtarget that is non-64bit, it must have
the D extension and use FPR in order to be legal.

All other instances of MERGE and UNMERGE that can be made legal should
be narrowed, widend, or replaced by the combiner.


  Commit: a6f72785951b36c0c02227bf4eac4ea733fa6694
      https://github.com/llvm/llvm-project/commit/a6f72785951b36c0c02227bf4eac4ea733fa6694
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/ptrmask-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/ptrmask-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ptrmask-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ptrmask-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/ptrmask-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/ptrmask-rv64.mir

  Log Message:
  -----------
  [RISCV][GISEL] legalize, regbankselect, and instruction-select G_PTRMASK (#73062)

This is done in instruction-select instead of in legalization for the
sake of alias analysis.


  Commit: 4d8012259846274c6122b3befdff32d4c3010f7c
      https://github.com/llvm/llvm-project/commit/4d8012259846274c6122b3befdff32d4c3010f7c
  Author: David Green <david.green at arm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
    M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
    M llvm/test/CodeGen/AArch64/sve-aliasing.ll
    A llvm/test/CodeGen/AArch64/sve-aliasing.mir
    M llvm/test/CodeGen/AArch64/sve-insert-vector.ll

  Log Message:
  -----------
  [AArch64] Teach areMemAccessesTriviallyDisjoint about scalable widths. (#73655)

The base change here is to change getMemOperandWithOffsetWidth to return
a TypeSize Width, which in turn allows areMemAccessesTriviallyDisjoint
to reason about trivially disjoint widths.


  Commit: 3ccba24c99ac234e7df78241964a91b2db6a8e50
      https://github.com/llvm/llvm-project/commit/3ccba24c99ac234e7df78241964a91b2db6a8e50
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h

  Log Message:
  -----------
  [RISCV][GISEL] Legalize G_VASTART using custom legalization (#73063)

The legalization was modeled after SelectionDAG.


  Commit: 12326f5ff08904a4cb172c66f4aa2b511c631ab0
      https://github.com/llvm/llvm-project/commit/12326f5ff08904a4cb172c66f4aa2b511c631ab0
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.h
    A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/lower-args-vararg.ll

  Log Message:
  -----------
  [RISCV][GISEL] lowerFormalArguments for variadic arguments (#73064)

This is based of the varargs coe in RISCVTargetLowering::LowerFormalArguments.


  Commit: ea5b1ef016d020c37f903d6c7d4f623be975dab8
      https://github.com/llvm/llvm-project/commit/ea5b1ef016d020c37f903d6c7d4f623be975dab8
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/test/CXX/drs/dr0xx.cpp

  Log Message:
  -----------
  [clang][NFC] Refactor expected directives in C++ DRs 1-99 (#73879)

This patch converts (almost) every expected directive in `test/CXX/drs/dr0xx.cpp` into either `@-1` form (when directive immediately follow the line diagnostic is pointing out to), or `@#<marker>` form (when directive is placed away from the line diagnostic is pointing out to). It also converts directive to match exactly one diagnostic, as opposed to matching multiple. Error messages are expanded to exactly match compiler output. `#if __cplusplus` guarding directives are replaced with respective prefixes (e.g. `since-cxx17`).

All aforementioned changes serve a purpose of making it easier to reconstruct expected compiler output, which should also make it a bit easier to grasp the gist of those already non-trivial tests due to their nature of testing corner cases of the language.


  Commit: 5b729503946cd88b71264405f6a7c50014efff4f
      https://github.com/llvm/llvm-project/commit/5b729503946cd88b71264405f6a7c50014efff4f
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorDescriptor.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorDescriptor.h
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp

  Log Message:
  -----------
  [mlir][sparse] move all COO related methods into SparseTensorType (#73881)

This centralizes all COO methods, and provides a cleaner API. Note that
the "enc" only constructor is a temporary workaround the need for COO
methods inside the "enc" only storage specifier.


  Commit: 52be47b890d371c6033e84adabe03198a1cb9a38
      https://github.com/llvm/llvm-project/commit/52be47b890d371c6033e84adabe03198a1cb9a38
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/test/X86/dwarf5-df-output-dir-same-name.test

  Log Message:
  -----------
  [BOLT][DWARF] Add support to create path (#73884)

When option --dwarf-output-path is specified, if the path does not exist
BOLT will now create it. This is what also happens when
--plugin-opt=dwo_dir=<value> is specified to LLD.


  Commit: cc944f502f1ee20d73ff88c2c86cc909f12caadb
      https://github.com/llvm/llvm-project/commit/cc944f502f1ee20d73ff88c2c86cc909f12caadb
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.h
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    A llvm/test/CodeGen/AArch64/stack-probing-64k.ll
    A llvm/test/CodeGen/AArch64/stack-probing-last-in-block.mir
    A llvm/test/CodeGen/AArch64/stack-probing-sve.ll
    A llvm/test/CodeGen/AArch64/stack-probing.ll

  Log Message:
  -----------
  [AArch64] Stack probing for function prologues (#66524)

This adds code to AArch64 function prologues to protect against stack
clash attacks by probing (writing to) the stack at regular enough
intervals to ensure that the guard page cannot be skipped over.

The patch depends on and maintains the following invariants:

Upon function entry the caller guarantees that it has probed the stack
(e.g. performed a store) at some address [sp, #N], where`0 <= N <=
1024`. This invariant comes from a requirement for compatibility with
GCC. Any address range in the allocated stack, no smaller than
stack-probe-size bytes contains at least one probe At any time the stack
pointer is above or in the guard page Probes are performed in
descreasing address order
The stack-probe-size is a function attribute that can be set by a
platform to correspond to the guard page size.

By default, the stack probe size is 4KiB, which is a safe default as
this is the smallest possible page size for AArch64. Linux uses a 64KiB
guard for AArch64, so this can be overridden by the stack-probe-size
function attribute.

For small frames without a frame pointer (<= 240 bytes), no probes are
needed.

For larger frame sizes, LLVM always stores x29 to the stack. This serves
as an implicit stack probe. Thus, while allocating stack objects the
compiler assumes that the stack has been probed at [sp].

There are multiple probing sequences that can be emitted, depending on
the size of the stack allocation:

A straight-line sequence of subtracts and stores, used when the
allocation size is smaller than 5 guard pages. A loop allocating and
probing one page size per iteration, plus at most a single probe to deal
with the remainder, used when the allocation size is larger but still
known at compile time. A loop which moves the SP down to the target
value held in a register (or a loop, moving a scratch register to the
target value help in SP), used when the allocation size is not known at
compile-time, such as when allocating space for SVE values, or when
over-aligning the stack. This is emitted in AArch64InstrInfo because it
will also be used for dynamic allocas in a future patch. A single probe
where the amount of stack adjustment is unknown, but is known to be less
than or equal to a page size.

---------

Co-authored-by: Oliver Stannard <oliver.stannard at linaro.org>


  Commit: cb13e9286b6d4e384b5d4203e853d44e2eff0f0f
      https://github.com/llvm/llvm-project/commit/cb13e9286b6d4e384b5d4203e853d44e2eff0f0f
  Author: Eduard Zingerman <eddyz87 at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    A clang/test/CodeGen/bpf-preserve-static-offset-arr.c
    A clang/test/CodeGen/bpf-preserve-static-offset-bitfield.c
    A clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
    A clang/test/CodeGen/bpf-preserve-static-offset-non-bpf.c
    A clang/test/CodeGen/bpf-preserve-static-offset-pai.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/Sema/bpf-attr-preserve-static-offset-warns-nonbpf.c
    A clang/test/Sema/bpf-attr-preserve-static-offset-warns.c
    A clang/test/Sema/bpf-attr-preserve-static-offset.c
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsBPF.td
    M llvm/lib/Target/BPF/BPF.h
    M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
    M llvm/lib/Target/BPF/BPFCORE.h
    M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
    A llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp
    M llvm/lib/Target/BPF/CMakeLists.txt
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-align.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-arr-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-atomic.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-2.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-type-mismatch.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-non-const.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-ptr-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-simple.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-struct-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-align.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-u8.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-simple.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-volatile.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-union-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-volatile.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-zero.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-align.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-atomic.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-2.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-simple.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-align.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-u8.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-simple.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-volatile.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-volatile.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll

  Log Message:
  -----------
  [BPF] Attribute preserve_static_offset for structs

This commit adds a new BPF specific structure attribte
`__attribute__((preserve_static_offset))` and a pass to deal with it.

This attribute may be attached to a struct or union declaration, where
it notifies the compiler that this structure is a "context" structure.
The following limitations apply to context structures:
- runtime environment might patch access to the fields of this type by
  updating the field offset;

  BPF verifier limits access patterns allowed for certain data
  types. E.g. `struct __sk_buff` and `struct bpf_sock_ops`. For these
  types only `LD/ST <reg> <static-offset>` memory loads and stores are
  allowed.

  This is so because offsets of the fields of these structures do not
  match real offsets in the running kernel. During BPF program
  load/verification loads and stores to the fields of these types are
  rewritten so that offsets match real offsets. For this rewrite to
  happen static offsets have to be encoded in the instructions.

  See `kernel/bpf/verifier.c:convert_ctx_access` function in the Linux
  kernel source tree for details.

- runtime environment might disallow access to the field of the type
  through modified pointers.

  During BPF program verification a tag `PTR_TO_CTX` is tracked for
  register values. In case if register with such tag is modified BPF
  programs are not allowed to read or write memory using register. See
  kernel/bpf/verifier.c:check_mem_access function in the Linux kernel
  source tree for details.

Access to the structure fields is translated to IR as a sequence:
- `(load (getelementptr %ptr %offset))` or
- `(store (getelementptr %ptr %offset))`

During instruction selection phase such sequences are translated as a
single load instruction with embedded offset, e.g. `LDW %ptr, %offset`,
which matches access pattern necessary for the restricted
set of types described above (when `%offset` is static).

Multiple optimizer passes might separate these instructions, this
includes:
- SimplifyCFGPass (sinking)
- InstCombine (sinking)
- GVN (hoisting)

The `preserve_static_offset` attribute marks structures for which the
following transformations happen:
- at the early IR processing stage:
  - `(load (getelementptr ...))` replaced by call to intrinsic
    `llvm.bpf.getelementptr.and.load`;
  - `(store (getelementptr ...))` replaced by call to intrinsic
    `llvm.bpf.getelementptr.and.store`;
- at the late IR processing stage this modification is undone.

Such handling prevents various optimizer passes from generating
sequences of instructions that would be rejected by BPF verifier.

The __attribute__((preserve_static_offset)) has a priority over
__attribute__((preserve_access_index)). When preserve_access_index
attribute is present preserve access index transformations are not
applied.

This addresses the issue reported by the following thread:

https://lore.kernel.org/bpf/CAA-VZPmxh8o8EBcJ=m-DH4ytcxDFmo0JKsm1p1gf40kS0CE3NQ@mail.gmail.com/T/#m4b9ce2ce73b34f34172328f975235fc6f19841b6

Differential Revision: https://reviews.llvm.org/D133361


  Commit: d1bf1947e4e4f3ef75f2ba3ac9aa77dc38214de1
      https://github.com/llvm/llvm-project/commit/d1bf1947e4e4f3ef75f2ba3ac9aa77dc38214de1
  Author: jimingham <jingham at apple.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Target/Process.cpp
    A lldb/test/API/python_api/process/cancel_attach/TestCancelAttach.py
    M lldb/tools/debugserver/source/DNB.cpp

  Log Message:
  -----------
  Send an explicit interrupt to cancel an attach waitfor. (#72565)

Currently when you interrupt a:

(lldb) process attach -w -n some_process

lldb just closes the connection to the stub and kills the
lldb_private::Process it made for the attach. The stub at the other end
notices the connection go down and exits because of that. But when
communication to a device is handled through some kind of proxy server
which isn't as well behaved as one would wish, that signal might not be
reliable, causing debugserver to persist on the machine, waiting to
steal the next instance of that process.

We can work around those failures by sending an explicit interrupt
before closing down the connection. The stub will also have to be
waiting for the interrupt for this to make any difference. I changed
debugserver to do that.

I didn't make the equivalent change in lldb-server. So long as you
aren't faced with a flakey connection, this should not be necessary.


  Commit: 2eff36b7d33fb9ea5c15ea8561fe6b30105d48f5
      https://github.com/llvm/llvm-project/commit/2eff36b7d33fb9ea5c15ea8561fe6b30105d48f5
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    R llvm/include/llvm/CodeGen/SafeStack.h
    M llvm/lib/CodeGen/SafeStack.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Transforms/SafeStack/AArch64/abi.ll
    M llvm/test/Transforms/SafeStack/AArch64/abi_ssp.ll
    M llvm/test/Transforms/SafeStack/AArch64/unreachable.ll
    M llvm/test/Transforms/SafeStack/ARM/abi.ll
    M llvm/test/Transforms/SafeStack/ARM/debug.ll
    M llvm/test/Transforms/SafeStack/ARM/setjmp.ll
    M llvm/test/Transforms/SafeStack/X86/abi.ll
    M llvm/test/Transforms/SafeStack/X86/abi_ssp.ll
    M llvm/test/Transforms/SafeStack/X86/addr-taken.ll
    M llvm/test/Transforms/SafeStack/X86/array-aligned.ll
    M llvm/test/Transforms/SafeStack/X86/array.ll
    M llvm/test/Transforms/SafeStack/X86/byval.ll
    M llvm/test/Transforms/SafeStack/X86/call.ll
    M llvm/test/Transforms/SafeStack/X86/cast.ll
    M llvm/test/Transforms/SafeStack/X86/coloring-ssp.ll
    M llvm/test/Transforms/SafeStack/X86/coloring.ll
    M llvm/test/Transforms/SafeStack/X86/coloring2.ll
    M llvm/test/Transforms/SafeStack/X86/constant-gep-call.ll
    M llvm/test/Transforms/SafeStack/X86/constant-gep.ll
    M llvm/test/Transforms/SafeStack/X86/constant-geps.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc-dynamic.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc2.ll
    M llvm/test/Transforms/SafeStack/X86/dynamic-alloca.ll
    M llvm/test/Transforms/SafeStack/X86/escape-addr-pointer.ll
    M llvm/test/Transforms/SafeStack/X86/escape-bitcast-store.ll
    M llvm/test/Transforms/SafeStack/X86/escape-bitcast-store2.ll
    M llvm/test/Transforms/SafeStack/X86/escape-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-casted-pointer.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-invoke.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-negative.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-ptrtoint.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-store.ll
    M llvm/test/Transforms/SafeStack/X86/escape-phi-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-select-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-vector.ll
    M llvm/test/Transforms/SafeStack/X86/invoke.ll
    M llvm/test/Transforms/SafeStack/X86/layout-frag.ll
    M llvm/test/Transforms/SafeStack/X86/layout-region-split.ll
    M llvm/test/Transforms/SafeStack/X86/memintrinsic-oob-read.ll
    M llvm/test/Transforms/SafeStack/X86/musttail.ll
    M llvm/test/Transforms/SafeStack/X86/no-attr.ll
    M llvm/test/Transforms/SafeStack/X86/no-crash-on-lifetime.ll
    M llvm/test/Transforms/SafeStack/X86/phi-cycle.ll
    M llvm/test/Transforms/SafeStack/X86/phi.ll
    M llvm/test/Transforms/SafeStack/X86/pr54784.ll
    M llvm/test/Transforms/SafeStack/X86/ret.ll
    M llvm/test/Transforms/SafeStack/X86/setjmp.ll
    M llvm/test/Transforms/SafeStack/X86/setjmp2.ll
    M llvm/test/Transforms/SafeStack/X86/sink-to-use.ll
    M llvm/test/Transforms/SafeStack/X86/ssp.ll
    M llvm/test/Transforms/SafeStack/X86/store.ll
    M llvm/test/Transforms/SafeStack/X86/struct.ll

  Log Message:
  -----------
  Revert "[CodeGen] Port SafeStack to new pass manager (#73747)" (#73965)

This reverts commit a4d5fd4d2ee9470e55345a9540f6b6fb6faf66e1.

The above commit breaks greendragon lldb bots:
Link to failing builds:
https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/63300/
https://green.lab.llvm.org/green/view/LLDB/job/as-lldb-cmake/10345/

I found this PR to be the offending one after using git bisect with the
cmake invocation:

cmake -G Ninja ../llvm -DCMAKE_BUILD_TYPE=Release
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
'-DLLVM_TARGETS_TO_BUILD=X86;ARM;AArch64'
-DLLVM_ENABLE_ASSERTIONS:BOOL=TRUE
-DLLVM_ENABLE_MODULES=On
-DLLVM_ENABLE_PROJECTS='clang;lld;lldb;cross-project-tests'
-DLLVM_VERSION_PATCH=99
'-DLLVM_ENABLE_RUNTIMES=libcxx;libcxxabi;compiler-rt'

and running
ninja lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CodeGenPassBuilder.cpp.o


  Commit: 306e13e499e45c8a2b24bd00937688fade8ad41e
      https://github.com/llvm/llvm-project/commit/306e13e499e45c8a2b24bd00937688fade8ad41e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h

  Log Message:
  -----------
  [RISCV][GISel] Remove unnecessary Observer notifications from legalizeVAStart.

MIRBuilder already tells the observer when an instruction is created.

No other legalizer code on any target tells the observer when it
erases the instruction it was asked to legalize.


  Commit: 28ad007927a4126e12b7aec7daa7f10bc1e29ae1
      https://github.com/llvm/llvm-project/commit/28ad007927a4126e12b7aec7daa7f10bc1e29ae1
  Author: eleviant <56861949+eleviant at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M lld/test/ELF/lto/libcall-archive-calloc.ll
    M llvm/include/llvm/IR/RuntimeLibcalls.def
    M llvm/test/ThinLTO/X86/builtin-nostrip.ll

  Log Message:
  -----------
  [ThinLTO] Don't mark calloc function dead (#72673)

Dead store elimination pass may fold malloc + memset calls into a single
call to calloc. If calloc is not preserved and is not being called
it can be marked dead which results in link error.


  Commit: 899fd0cd66044ce54744205218c8a24f1a163ef0
      https://github.com/llvm/llvm-project/commit/899fd0cd66044ce54744205218c8a24f1a163ef0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn

  Log Message:
  -----------
  [gn build] Port cb13e9286b6d


  Commit: 539e60c34a0a960f55eacf764f8c74d6c6c9d2b3
      https://github.com/llvm/llvm-project/commit/539e60c34a0a960f55eacf764f8c74d6c6c9d2b3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-lzcnt-512.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll

  Log Message:
  -----------
  [X86] X86FixupVectorConstantsPass - consistently use non-DQI 128/256-bit subvector broadcasts

Without the predicate there's no benefit to using the DQI variants instead of the default AVX512F instructions


  Commit: 169db80e41936811c6744f2c513a1ed00d97f10e
      https://github.com/llvm/llvm-project/commit/169db80e41936811c6744f2c513a1ed00d97f10e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/2011-10-19-widen_vselect.ll
    M llvm/test/CodeGen/X86/2012-07-10-extload64.ll
    M llvm/test/CodeGen/X86/fold-load-vec.ll
    M llvm/test/CodeGen/X86/fold-pcmpeqd-2.ll
    M llvm/test/CodeGen/X86/half.ll
    M llvm/test/CodeGen/X86/nontemporal-3.ll
    M llvm/test/CodeGen/X86/pr13577.ll
    M llvm/test/CodeGen/X86/pr41619.ll
    M llvm/test/CodeGen/X86/vec_zero_cse.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll

  Log Message:
  -----------
  [X86] Canonicalize fp zero vectors from bitcasted integer zero vectors

Generic code is supposed to handle this but can be blocked by hasOneUse checks.

Noticed while investigating #26392


  Commit: 89165e8b1dfa8bf152b89a5f1db2a8ff760b3850
      https://github.com/llvm/llvm-project/commit/89165e8b1dfa8bf152b89a5f1db2a8ff760b3850
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/include/flang/Semantics/scope.h
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/test/Semantics/cuf10.cuf

  Log Message:
  -----------
  [flang][openacc] Disable CUDA argument checks in OpenACC regions (#72310)

Checks for CUDA Fortran data attribute compatibility don't need to be
applied in OpenACC regions.


  Commit: ae485e661ffce1f8fcd13d64974beee14b0e8af0
      https://github.com/llvm/llvm-project/commit/ae485e661ffce1f8fcd13d64974beee14b0e8af0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp

  Log Message:
  -----------
  [RISCV][GISel] Use customFor instead of customIf by pulling out a subtarget check. NFC


  Commit: aea94c90b39b2694f3a1b2f23f06f005c9d3459b
      https://github.com/llvm/llvm-project/commit/aea94c90b39b2694f3a1b2f23f06f005c9d3459b
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/lib/Evaluate/fold-integer.cpp
    A flang/test/Semantics/ichar01.f90

  Log Message:
  -----------
  [flang] Adjust checks of ICHAR/IACHAR argument length (#72312)

The compiler will now emit an error for length == 0 and an
off-by-default portability warning for length > 1. Previously, the
message was an unconditional warning for length /= 1.


  Commit: 5a314609b4a77470fea18f64427d618d5d0bae06
      https://github.com/llvm/llvm-project/commit/5a314609b4a77470fea18f64427d618d5d0bae06
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCtorDtorLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/VectorBuilderTest.cpp

  Log Message:
  -----------
  [llvm] Replace calls to Type::getPointerTo (NFC)

Clean-up towards removing method Type::getPointerTo.


  Commit: 065796bb9293b222fa3d63311af542a98b96d09a
      https://github.com/llvm/llvm-project/commit/065796bb9293b222fa3d63311af542a98b96d09a
  Author: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    A clang/test/OpenMP/debug-info-kmpc.cpp

  Log Message:
  -----------
  [clang][OpenMP] Fix missing DI for __kmpc_global_thread_num (#73856)

Co-authored-by: Ivan Radanov Ivanov <ivanov2 at llnl.gov>


  Commit: 418a3a45773a2a3fee1125534a073cec62c88b1e
      https://github.com/llvm/llvm-project/commit/418a3a45773a2a3fee1125534a073cec62c88b1e
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/spec/linux.td
    M libc/spec/spec.td
    M libc/src/sys/mman/CMakeLists.txt
    M libc/src/sys/mman/linux/CMakeLists.txt
    A libc/src/sys/mman/linux/mincore.cpp
    A libc/src/sys/mman/mincore.h
    M libc/test/src/sys/mman/linux/CMakeLists.txt
    A libc/test/src/sys/mman/linux/mincore_test.cpp

  Log Message:
  -----------
  [libc][SysMMan] implement mincore (#73704)

Implement `mincore` as specified in
https://man7.org/linux/man-pages/man2/mincore.2.html


  Commit: 26f2f9397a681fd6a580bf80104c2e4afd599dca
      https://github.com/llvm/llvm-project/commit/26f2f9397a681fd6a580bf80104c2e4afd599dca
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/lib/Evaluate/fold-integer.cpp

  Log Message:
  -----------
  [flang] Update to: Adjust checks of ICHAR/IACHAR argument length (#73972)

When applying ICHAR/IACHAR to a character constant with length greater
than one, resize the character constant to its first character.


  Commit: a112921d88c28b9d3ac30cad7dbc961a33f22926
      https://github.com/llvm/llvm-project/commit/a112921d88c28b9d3ac30cad7dbc961a33f22926
  Author: Emilia Kond <emilia at rymiel.space>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Don't skip stringizing when determining brace kind (#73886)

PR #69473 introduced skipping PP directives when determining the brace
kind of an lbrace. However, it did so by skipping to the end of the line
when encountering a hash character. This means it also skipped to the
end of line when encountering a macro stringizing operator, which,
unlike PP directives, don't have effect until the end of line.

This led to cases where the rbrace could be completely skipped if it was
on the same line as a stringizing operator.

This patch skips hash characters if we're already in a PP directive, as
you can't define a macro inside of a macro

Fixes https://github.com/llvm/llvm-project/issues/72662


  Commit: 7f82c90621770919dc457d8bb5d12d7f3b29e2e1
      https://github.com/llvm/llvm-project/commit/7f82c90621770919dc457d8bb5d12d7f3b29e2e1
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir

  Log Message:
  -----------
  [mlir][vector] Add support for vector.maskedstore sub-type emulation. (#73871)

The idea is similar to vector.maskedload + vector.store emulation. What
the emulation does is:

1. Get a compressed mask and load the data from destination.
2. Bitcast the data to original vector type.
3. Select values between `op.valueToStore` and the data from load using
original mask.
4. Bitcast the new value and store it to destination using compressed
masked.


  Commit: 96906a92bebe76a1f6510701756aa40280b3a019
      https://github.com/llvm/llvm-project/commit/96906a92bebe76a1f6510701756aa40280b3a019
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/docs/ClangOffloadBundler.rst

  Log Message:
  -----------
  [clang-offload-bundler][NFC] Remove blank line in doc (#73968)


  Commit: f1eddf5c39e7e203fbc8fb5f9293b9baa8bbb04b
      https://github.com/llvm/llvm-project/commit/f1eddf5c39e7e203fbc8fb5f9293b9baa8bbb04b
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/solaris-ld.c

  Log Message:
  -----------
  [Driver] Mark OpenBSD-specific -nopie as TargetSpecific after #72578

so that we get an `error: unsupported option '-nopie' for target ...` instead of a warning.


  Commit: bf4a876309cdc73e3907801abba02d2f1d2d7b6e
      https://github.com/llvm/llvm-project/commit/bf4a876309cdc73e3907801abba02d2f1d2d7b6e
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/misc-intrinsics.f90
    M flang/test/Semantics/reduce01.f90

  Log Message:
  -----------
  [flang] Move and extend REDUCE() compile-time checking (#72570)

Move the code to check the arguments of references to the intrinsic
function REDUCE() into Semantics/check-calls.cpp, and add checks for
several requirements from the standard that weren't yet caught.


  Commit: 0584e6c1669dbfc6252f5b069e2a895389660120
      https://github.com/llvm/llvm-project/commit/0584e6c1669dbfc6252f5b069e2a895389660120
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M libc/utils/gpu/loader/amdgpu/Loader.cpp

  Log Message:
  -----------
  [libc] Explicitly pin memory for the HSA memory transfer (#73973)

Summary:
This portion of code handles mapping the RPC client memory over to the
device. HSA copies need to be between two slices of memory that HSA has
allocated. Previously we used coarse-grained memory to act as the host
source. However, the support for this varies depending on the kernel and
version and should not be relied upon. This patch changes that handling
to use the `hsa_amd_memory_lock` API to explicitly pin memory to a
location sufficient for a DMA transfer to the GPU.


  Commit: 284da049f5feb62b40f5abc41dda7895e3d81d72
      https://github.com/llvm/llvm-project/commit/284da049f5feb62b40f5abc41dda7895e3d81d72
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/Instrumentation/CFGMST.h
    M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    A llvm/test/Transforms/Coroutines/coro-split-musttail-chain-pgo-counter-promo.ll
    M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp

  Log Message:
  -----------
  [coro][pgo] Don't promote pgo counters in the suspend basic block (#71263)

If a suspend happens in the resume part (this can happen in the case of chained coroutines), and that's part of a loop, the pre-split CFG has the suspend block as an exit of that loop. PGO Counter Promotion will then try to commit the temporary counter to the global in that "exit" block (it also does that in the other loop exit BBs, which also includes
the "destroy" case). This interferes with symmetric transfer.

We don't need to commit the counter in the suspend case - it's not a loop exit from the perspective of the behavior of the program. The regular loop exit, together with the "destroy" case, completely cover any updates that may need to happen to the global counter.


  Commit: fcf5154a27ba27de91d9b4527a75daeb92563ff4
      https://github.com/llvm/llvm-project/commit/fcf5154a27ba27de91d9b4527a75daeb92563ff4
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/test/Semantics/associated.f90

  Log Message:
  -----------
  [flang] Fix IsVariable() to be false for procedure pointers (#72577)

The implementation of the predicate evaluate::IsVariable() needs to
recognize procedure pointers and return a false result for them.


  Commit: c12de1487670ab009e738b905ad8296a8cb2c685
      https://github.com/llvm/llvm-project/commit/c12de1487670ab009e738b905ad8296a8cb2c685
  Author: Douglas Yung <douglas.yung at sony.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/2011-10-19-widen_vselect.ll
    M llvm/test/CodeGen/X86/2012-07-10-extload64.ll
    M llvm/test/CodeGen/X86/fold-load-vec.ll
    M llvm/test/CodeGen/X86/fold-pcmpeqd-2.ll
    M llvm/test/CodeGen/X86/half.ll
    M llvm/test/CodeGen/X86/nontemporal-3.ll
    M llvm/test/CodeGen/X86/pr13577.ll
    M llvm/test/CodeGen/X86/pr41619.ll
    M llvm/test/CodeGen/X86/vec_zero_cse.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll

  Log Message:
  -----------
  Revert "[X86] Canonicalize fp zero vectors from bitcasted integer zero vectors"

This reverts commit 169db80e41936811c6744f2c513a1ed00d97f10e.

This change is causing many test failures on Windows bots:
- https://lab.llvm.org/buildbot/#/builders/235/builds/3616
- https://lab.llvm.org/buildbot/#/builders/233/builds/4883
- https://lab.llvm.org/buildbot/#/builders/216/builds/31174


  Commit: ff485a0e77a55847cb50768b01c04fe45a6879ea
      https://github.com/llvm/llvm-project/commit/ff485a0e77a55847cb50768b01c04fe45a6879ea
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp

  Log Message:
  -----------
  [clang] Remove no-op ptr-to-ptr bitcasts (NFC)

Opaque ptr cleanup effort (NFC).


  Commit: c8f72856dbdd0039fc16eae51726da105ea679c0
      https://github.com/llvm/llvm-project/commit/c8f72856dbdd0039fc16eae51726da105ea679c0
  Author: John Harrison <harjohn at google.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M lldb/tools/lldb-dap/JSONUtils.cpp

  Log Message:
  -----------
  [lldb-dap] Fixing a type encoding issue with dap Stopped events. (#72292)

Previously the type of the breakpoint id in the Stopped event was a
uint64_t, however thats the wrong type for a breakpoint id, which can
cause encoding issues when internal breakpoints are hit.


  Commit: f8a21dff70cc5d20db731b3af1858c5a2ae96d30
      https://github.com/llvm/llvm-project/commit/f8a21dff70cc5d20db731b3af1858c5a2ae96d30
  Author: Natalie Chouinard <1953083+sudonatalie at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/EnqueueEmptyKernel.ll
    M llvm/test/CodeGen/SPIRV/half_no_extension.ll
    M llvm/test/CodeGen/SPIRV/linked-list.ll
    M llvm/test/CodeGen/SPIRV/opencl/basic/vstore_private.ll
    M llvm/test/CodeGen/SPIRV/opencl/device_execution/execute_block.ll
    M llvm/test/CodeGen/SPIRV/pstruct.ll
    M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange_2.ll
    M llvm/test/CodeGen/SPIRV/transcoding/block_w_struct_return.ll
    M llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
    M llvm/test/CodeGen/SPIRV/transcoding/extract_insert_value.ll
    M llvm/test/CodeGen/SPIRV/transcoding/global_block.ll

  Log Message:
  -----------
  [SPIR-V] Mark currently failing tests as XFAIL (#73858)

These tests are currently failing and their fix is being tracked in
Issue #60133. Marking them as XFAIL for now will get the test suite to a
passing state so we can work on adding a GitHub action to automatically
run these tests on a PR bot to help keep the tree green.

Also removed the no-longer supported -opaque-pointers=0 flag from the
couple tests where it was remaining.


  Commit: e86591b37d4eb92ffca21b43b224d155ec688337
      https://github.com/llvm/llvm-project/commit/e86591b37d4eb92ffca21b43b224d155ec688337
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/include/flang/Common/Fortran-features.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/test/Semantics/argshape01.f90

  Log Message:
  -----------
  [flang] Improve procedure interface compatibility checking for dummy … (#72704)

…arrays

When comparing dummy array extents, cope with references to symbols
better (including references to other dummy arguments), and emit
warnings in dubious cases that are not equivalent but not provably
incompatible.


  Commit: 248446980317dccadd5ecdf7d2831942baaff4ab
      https://github.com/llvm/llvm-project/commit/248446980317dccadd5ecdf7d2831942baaff4ab
  Author: Eduard Zingerman <eddyz87 at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    R clang/test/CodeGen/bpf-preserve-static-offset-arr.c
    R clang/test/CodeGen/bpf-preserve-static-offset-bitfield.c
    R clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
    R clang/test/CodeGen/bpf-preserve-static-offset-non-bpf.c
    R clang/test/CodeGen/bpf-preserve-static-offset-pai.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    R clang/test/Sema/bpf-attr-preserve-static-offset-warns-nonbpf.c
    R clang/test/Sema/bpf-attr-preserve-static-offset-warns.c
    R clang/test/Sema/bpf-attr-preserve-static-offset.c
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsBPF.td
    M llvm/lib/Target/BPF/BPF.h
    M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
    M llvm/lib/Target/BPF/BPFCORE.h
    M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
    R llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp
    M llvm/lib/Target/BPF/CMakeLists.txt
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-align.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-arr-pai.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-atomic.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-2.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-oob.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-oob.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-type-mismatch.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-chain.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-non-const.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-ptr-pai.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-simple.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-struct-pai.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-align.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-oob.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-u8.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-simple.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-volatile.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-union-pai.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-volatile.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/load-zero.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-align.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-atomic.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-2.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-oob.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8-oob.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-chain.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-pai.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-simple.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-align.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-oob.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-u8.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-simple.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-volatile.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-volatile.ll
    R llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll

  Log Message:
  -----------
  Revert "[BPF] Attribute preserve_static_offset for structs"

This reverts commit cb13e9286b6d4e384b5d4203e853d44e2eff0f0f.
Buildbot reports MSAN failures in tests added in this commit:
https://lab.llvm.org/buildbot/#/builders/5/builds/38806

Failing tests:
  LLVM :: CodeGen/BPF/preserve-static-offset/load-arr-pai.ll
  LLVM :: CodeGen/BPF/preserve-static-offset/load-ptr-pai.ll
  LLVM :: CodeGen/BPF/preserve-static-offset/load-struct-pai.ll
  LLVM :: CodeGen/BPF/preserve-static-offset/load-union-pai.ll
  LLVM :: CodeGen/BPF/preserve-static-offset/store-pai.ll


  Commit: bddf5d20105e24cf708ff8c6ff49aa65af4e89b0
      https://github.com/llvm/llvm-project/commit/bddf5d20105e24cf708ff8c6ff49aa65af4e89b0
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/runtime/unit.cpp

  Log Message:
  -----------
  [flang][runtime] Fix BACKSPACE-WRITE on variable-length unformatted file (#72732)

A subtle bug in buffer management is being caused by a WRITE on an
unformatted file with variable-length records after one or more
BACKSPACEs and some READs. An attempt at a minor optimization in
BACKSPACE kept the footer of the previous record in the unit's buffer,
in case more BACKSPACEs were to follow. If a later WRITE takes place
instead, the buffer's frame would still cover that footer, but its
content would be lost when the buffer became dirty on its first
modification, and the footer in the file would be overwritten with stale
buffer contents. As WriteFrame() implies the intent to define all the
bytes in the identified range, the trick being used in BACKSPACE with
its adjustment to frameOffsetInFile_ breaks any later WRITE... and so we
just can't do it.

Fixes https://github.com/llvm/llvm-project/issues/72599.


  Commit: cc84a1419723fcc240c3c6832bdb990afef37f4b
      https://github.com/llvm/llvm-project/commit/cc84a1419723fcc240c3c6832bdb990afef37f4b
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M libc/src/stdio/generic/CMakeLists.txt

  Log Message:
  -----------
  [libc] fix getchar_unlocked (#73874)

A typo was leading to getc_unlocked.cpp.o being included into libc.a
twice.

I only noticed because I was trying to convert libc.a to a shared object
via

$ ld.lld -o libc.so --whole-archive libc.a

which errored since getc_unlocked was being defined twice.


  Commit: 7fbdee057db4dbc299d998d390fd478ddc76d20b
      https://github.com/llvm/llvm-project/commit/7fbdee057db4dbc299d998d390fd478ddc76d20b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 248446980317


  Commit: 13386c608e6d571d2d91eea5f7c8fb6911d6dcfb
      https://github.com/llvm/llvm-project/commit/13386c608e6d571d2d91eea5f7c8fb6911d6dcfb
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    A clang/test/ClangScanDeps/working-dir.m

  Log Message:
  -----------
  [clang][DependencyScanner] Include the working directory in the context hash (#73719)

The working directory is included in the PCM, but is not currently part
of the context hash. This causes problems because different builds of a
PCM with exactly the same command line can end up with different binary
content for a PCM. If a build system tracks tasks by both working
directory and command line, it may build a given PCM multiple times,
causing a "module file out of date" error when loading the PCM due to
different sizes.


  Commit: c13f7e17409b6fed29696c2bbe59efc3af3a408b
      https://github.com/llvm/llvm-project/commit/c13f7e17409b6fed29696c2bbe59efc3af3a408b
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/runtime/format-implementation.h
    M flang/unittests/Runtime/Format.cpp

  Log Message:
  -----------
  [flang][runtime] Allow already-documented missing 'w' on edit descriptor (#72901)

As already documented in flang/docs/Extensions.md and implemented in the
compilation-time format validator, we want to support at execution time
the Intel (and presumably also Fujitsu) extension of allowing a missing
width on an edit descriptor in a formatted I/O statement.

Fixes https://github.com/llvm/llvm-project/issues/72597.


  Commit: 33b54f01fe32030ff60d661a7a951e33360f82ee
      https://github.com/llvm/llvm-project/commit/33b54f01fe32030ff60d661a7a951e33360f82ee
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/include/flang/ISO_Fortran_binding.h
    M flang/include/flang/ISO_Fortran_binding_wrapper.h
    M flang/lib/Optimizer/CodeGen/DescriptorModel.h

  Log Message:
  -----------
  [flang] Move internal Fortran::ISO namespace out of user-facing ISO_F… (#72909)

…ortran_binding.h

... and into the ISO_Fortran_binding_wrapper.h header, through which the
compiler and runtime access its contents. This change ensures that user
code that #includes ISO_Fortran_binding.h within 'extern "C" {' doesn't
encounter mysterious namespace errors.


  Commit: fddadd293952ffddd2455f567373424bf8faa003
      https://github.com/llvm/llvm-project/commit/fddadd293952ffddd2455f567373424bf8faa003
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/symbol33.f90

  Log Message:
  -----------
  [flang] Address case of under-processed array symbol (#73169)

Array element references are frequently parsed as function references
due to the ambiguous syntax of Fortran, and the parse tree is repaired
by semantics once the relevant symbol table entries are in hand. This
patch fixes a case in which the correction takes a path that leaves the
type of a symbol undetermined, leading to later spurious errors in
expression analysis.

Fixes https://github.com/llvm/llvm-project/issues/68652.


  Commit: 828bfbef173e82943e56aee5901641c70fc1ea14
      https://github.com/llvm/llvm-project/commit/828bfbef173e82943e56aee5901641c70fc1ea14
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp

  Log Message:
  -----------
  [flang] Suppress error meant to prevent discontiguous association whe… (#73175)

…n actual argument is contiguous

When an element of a contiguous pointer array or assumed-shape array is
associated as an actual argument with an assumed-size dummy array, don't
flag the usage as an error.


  Commit: 5f864ba1957e42283b9680ee47811d12e69d92bd
      https://github.com/llvm/llvm-project/commit/5f864ba1957e42283b9680ee47811d12e69d92bd
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    R openmp/runtime/src/kmp_utils.h

  Log Message:
  -----------
  Revert "[OpenMP] Use simple VLA implementation to replace uses of actual VLA"

This reverts commit 97e16da450e94c92456fa5a74768ec1b22fe6b63 because it
causes build error on i386 system.


  Commit: a1db874d35cb60d536d460a194f8c40c9eeb8dff
      https://github.com/llvm/llvm-project/commit/a1db874d35cb60d536d460a194f8c40c9eeb8dff
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/lib/Semantics/check-directive-structure.h
    M flang/test/Semantics/OpenACC/acc-parallel.f90
    M llvm/include/llvm/Frontend/OpenACC/ACC.td

  Log Message:
  -----------
  [flang][openacc] Allow multiple clauses when in preceded by device_type (#73976)

Some clauses can be repeated on the compute construct when they are
placed after `device_type`. The semantic check was reporting an error
for these cases. This patch fixes this.


  Commit: d3e5c20ab846303874a2a25e5877c72271fc798b
      https://github.com/llvm/llvm-project/commit/d3e5c20ab846303874a2a25e5877c72271fc798b
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/preprocessor.h
    A flang/test/Preprocessing/unclosed-FLM.F90

  Log Message:
  -----------
  [flang] Handle preprocessor macro expansion edge case (#73835)

When a reference to a function-like macro begins during the rescanning
of the expansion of another macro but is not completed by the end of
that expansion, it is necessary to abort that rescanning of that
expansion and try again when more tokens can be acquired. (See the new
unclosed-FLM.F90 test case.) All other Fortran preprocessors to which I
have access can handle this situation.


  Commit: a4745ff99bec927efdc726fa902e30d589e70761
      https://github.com/llvm/llvm-project/commit/a4745ff99bec927efdc726fa902e30d589e70761
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/stmt-func01.f90
    M flang/test/Semantics/stmt-func02.f90

  Log Message:
  -----------
  [flang] Detect more misparsed statement functions (same name as funct… (#73852)

…ion result)

A function can't return a statement function, so an apparent attempt to
define a statement function with the same name as the function's result
must be a misparsed assignment statement.


  Commit: e1395c7bdbe74b632ba7fbd90e2be2b4d82ee09e
      https://github.com/llvm/llvm-project/commit/e1395c7bdbe74b632ba7fbd90e2be2b4d82ee09e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M libc/utils/gpu/loader/amdgpu/Loader.cpp

  Log Message:
  -----------
  [libc] Explicitly pin memory for the client symbol lookup (#73988)

Summary:
Previously, we determined that coarse grained memory cannot be used in
the general case. That removed the buffer used to transfer the memory,
however we still had this lookup. Though we do not access the symbol
directly, it still conflicts with the agents apparently. Pin this as
well.

This resolves the problems @lntue was having with the `libc` GPU build.


  Commit: 83aa7250fbc6cc5fe253f4bb7ae7b8561adeff5a
      https://github.com/llvm/llvm-project/commit/83aa7250fbc6cc5fe253f4bb7ae7b8561adeff5a
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/test/ThinLTO/X86/memprof-duplicate-context-ids.ll

  Log Message:
  -----------
  [MemProf][NFC] Simplify test case (#73979)

Removes some unnecessary testing of dump and dot file formats, to
simplify updates to this test.


  Commit: 1b02f594b337618e2e5808a33620eeac19d10e06
      https://github.com/llvm/llvm-project/commit/1b02f594b337618e2e5808a33620eeac19d10e06
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/ByteProvider.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/idot4u.ll

  Log Message:
  -----------
  [AMDGPU] Rework dot4 signedness checks (#68757)

Using the known/unknown value of the sign bit, reason about the signedness version of the dot4 instruction.


  Commit: fce4c0acd6db4bd8598db7eb471ccca60dc05406
      https://github.com/llvm/llvm-project/commit/fce4c0acd6db4bd8598db7eb471ccca60dc05406
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    A openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/include/rtl.h
    M openmp/libomptarget/src/CMakeLists.txt
    M openmp/libomptarget/src/OpenMP/InteropAPI.cpp
    A openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/api.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP] Start organizing PluginManager, PluginAdaptors (#73875)


  Commit: 0ec4b82cfddbe0c7c7eb4b3486f55139f56d5f16
      https://github.com/llvm/llvm-project/commit/0ec4b82cfddbe0c7c7eb4b3486f55139f56d5f16
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M openmp/libomptarget/CMakeLists.txt
    M openmp/libomptarget/DeviceRTL/CMakeLists.txt
    M openmp/libomptarget/test/lit.cfg
    M openmp/libomptarget/test/lit.site.cfg.in

  Log Message:
  -----------
  [Libomptarget] Output the DeviceRTL alongside the other libraries (#73705)

Summary:
Currently, the `libomp.so` and `libomptarget.so` are emitted in the
`./lib` build directory generally. This logic is internal to the
`add_llvm_library` function we use to build `libomptarget`. The
DeviceRTl static library however is in the middle of the OpenMP runtime
build, which can vary depending on if this is a runtimes or projects
build. This patch changes this to install the DeviceRTL static library
alongside the other OpenMP libraries so they are easier to find.


  Commit: 4e2216e184a2ba4b9e7e40b3cfa11e0c516a6ed6
      https://github.com/llvm/llvm-project/commit/4e2216e184a2ba4b9e7e40b3cfa11e0c516a6ed6
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-compile-flags.sh.cpp
    M libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-run.sh.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.pass.cpp
    M libcxx/utils/libcxx/test/format.py
    M llvm/utils/lit/lit/TestRunner.py
    M llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt
    M llvm/utils/lit/tests/unit/TestRunner.py

  Log Message:
  -----------
  [libc++][test] `ADDITIONAL_COMPILE_FLAGS` should be a space-separated list (#73541)

Found while running libc++'s test suite with MSVC's STL.

`ADDITIONAL_COMPILE_FLAGS` is a `ParserKind.LIST`:

https://github.com/llvm/llvm-project/blob/3c23ed156f0151923b168bdff0c34ec73fb37f38/libcxx/utils/libcxx/test/format.py#L104-L108

With a comma-separated example:

https://github.com/llvm/llvm-project/blob/3c23ed156f0151923b168bdff0c34ec73fb37f38/libcxx/utils/libcxx/test/format.py#L223-L228

And comma-separated test coverage:

https://github.com/llvm/llvm-project/blob/dd3184c30ff531b8aecea280e65233337dd02815/libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-run.sh.cpp#L12-L15

Because the machinery splits on commas:

https://github.com/llvm/llvm-project/blob/dd09221a29506031415cad8a1308998358633d48/llvm/utils/lit/lit/TestRunner.py#L1882-L1883

https://github.com/llvm/llvm-project/blob/dd09221a29506031415cad8a1308998358633d48/llvm/utils/lit/lit/TestRunner.py#L1951-L1956

However, most (although not all) usage of `ADDITIONAL_COMPILE_FLAGS` is
treating it as space-separated. That apparently works in the normal
Clang environment, but in my exotic configuration it causes `"-DMEOW
-DWOOF"` to be passed as a single argument to MSVC, which then emits
"warning C5102: ignoring invalid command-line macro definition
`'_LIBCPP_DISABLE_DEPRECATION_WARNINGS
-D_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT'`", causing test failures due to
warnings-as-errors.

This PR changes `ADDITIONAL_COMPILE_FLAGS` to actually be parsed as a
space-separated list, and changes the few uses/examples that had commas.


  Commit: b80b5f180ba64c2d6d9753ce8b310f1759eb2884
      https://github.com/llvm/llvm-project/commit/b80b5f180ba64c2d6d9753ce8b310f1759eb2884
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/include/Shared/APITypes.h
    M openmp/libomptarget/include/Shared/PluginAPI.h
    A openmp/libomptarget/include/Shared/PluginAPI.inc
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/include/omptarget.h
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP] Replace copy and paste code with instantiation (#73991)


  Commit: 6fb7c2d713587a061cd281eda917746750559380
      https://github.com/llvm/llvm-project/commit/6fb7c2d713587a061cd281eda917746750559380
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp

  Log Message:
  -----------
  [mlir][sparse] bug fix on all-dense lex insertion (#73987)

Fixes a bug that appended values after insertion completed. Also slight
optimization by avoiding all-Dense computation for every lexInsert call


  Commit: a9a5af82704d772509ccef87991384f47b65884d
      https://github.com/llvm/llvm-project/commit/a9a5af82704d772509ccef87991384f47b65884d
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/include/flang/Lower/OpenACC.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenACC.cpp
    A flang/test/Lower/OpenACC/acc-loop-exit.f90

  Log Message:
  -----------
  [flang][openacc] Support early return in acc.loop (#73841)

Early return is accepted in OpenACC loop not directly nested in a
compute construct. Since acc.loop operation has a region, the
`func.return` operation cannot be directly used inside the region.
An early return is materialized by an `acc.yield` operation returning a
`true` value. The standard end of the `acc.loop` region yield a `false`
value in this case.
A conditional branch operation on the `acc.loop` result will branch to
the `finalBlock` or just to the continue block whether an early exit was
produce in the acc.loop.


  Commit: 4f3081296f37a244010dfd493a07e95c06ef22ff
      https://github.com/llvm/llvm-project/commit/4f3081296f37a244010dfd493a07e95c06ef22ff
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT][NFC] Fix comment (#73983)

Fix off-by-one error in comment.


  Commit: 9a485b02f9e3184ae34e64dbadc2a17b787db007
      https://github.com/llvm/llvm-project/commit/9a485b02f9e3184ae34e64dbadc2a17b787db007
  Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M flang/test/Driver/write-module.f90

  Log Message:
  -----------
  [Flang] Testcase changes to switch directories before rm (NFC) (#73602)

In AIX, the following testcase fails in attempt to delete the current
directory, exiting current directory before removing

---------

Co-authored-by: Mark Danial <mmark.danial at ibm.com>


  Commit: 812dad536ed50abe94d6e2b2519f351791c24c59
      https://github.com/llvm/llvm-project/commit/812dad536ed50abe94d6e2b2519f351791c24c59
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/test/Driver/clang-g-opts.c
    M clang/test/Driver/constructors.c
    M clang/test/Driver/debug-options.c

  Log Message:
  -----------
  [Driver] Remove support for FreeBSD 11.x (#73392)

Now that FreeBSD 14.0 has been released make the 12.x branch the oldest
supported releases. -fuse-init-array defaults to on. DWARF 4 is now the
default.


  Commit: c73a3f16f81aaa427c61f69020a82b5b09570ffb
      https://github.com/llvm/llvm-project/commit/c73a3f16f81aaa427c61f69020a82b5b09570ffb
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M lldb/include/lldb/Breakpoint/BreakpointSite.h
    R lldb/include/lldb/Breakpoint/BreakpointSiteList.h
    A lldb/include/lldb/Breakpoint/StopPointSiteList.h
    M lldb/include/lldb/Breakpoint/Watchpoint.h
    A lldb/include/lldb/Breakpoint/WatchpointResource.h
    A lldb/include/lldb/Breakpoint/WatchpointResourceList.h
    M lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/lldb-defines.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/include/lldb/lldb-types.h
    M lldb/source/API/SBThread.cpp
    M lldb/source/API/SBWatchpoint.cpp
    M lldb/source/Breakpoint/BreakpointLocation.cpp
    M lldb/source/Breakpoint/BreakpointSite.cpp
    R lldb/source/Breakpoint/BreakpointSiteList.cpp
    M lldb/source/Breakpoint/CMakeLists.txt
    A lldb/source/Breakpoint/StopPointSiteList.cpp
    M lldb/source/Breakpoint/Watchpoint.cpp
    A lldb/source/Breakpoint/WatchpointResource.cpp
    A lldb/source/Breakpoint/WatchpointResourceList.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Interpreter/OptionGroupWatchpoint.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/StopInfo.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/ThreadPlanCallFunction.cpp
    M lldb/source/Target/ThreadPlanStepOut.cpp
    M lldb/source/Target/ThreadPlanStepRange.cpp
    M lldb/source/Target/ThreadPlanStepUntil.cpp
    M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
    M lldb/test/Shell/Watchpoint/Inputs/val.c
    M lldb/test/Shell/Watchpoint/LocalVariableWatchpointDisabler.test
    M lldb/test/Shell/Watchpoint/SetErrorCases.test

  Log Message:
  -----------
  [lldb] [mostly NFC] Large WP foundation: WatchpointResources (#68845)

This patch is rearranging code a bit to add WatchpointResources to
Process. A WatchpointResource is meant to represent a hardware
watchpoint register in the inferior process. It has an address, a size,
a type, and a list of Watchpoints that are using this
WatchpointResource.

This current patch doesn't add any of the features of
WatchpointResources that make them interesting -- a user asking to watch
a 24 byte object could watch this with three 8 byte WatchpointResources.
Or a Watchpoint on 1 byte at 0x1002 and a second watchpoint on 1 byte at
0x1003, these must both be served by a single WatchpointResource on that
doubleword at 0x1000 on a 64-bit target, if two hardware watchpoint
registers were used to track these separately, one of them may not be
hit. Or if you have one Watchpoint on a variable with a condition set,
and another Watchpoint on that same variable with a command defined or
different condition, or ignorecount, both of those Watchpoints need to
evaluate their criteria/commands when their WatchpointResource has been
hit.

There's a bit of code movement to rearrange things in the direction I'll
need for implementing this feature, so I want to start with reviewing &
landing this mostly NFC patch and we can focus on the algorithmic
choices about how WatchpointResources are shared and handled as they're
triggeed, separately.

This patch also stops printing "Watchpoint <n> hit: old value: <x>, new
vlaue: <y>" for Read watchpoints. I could make an argument for print
"Watchpoint <n> hit: current value <x>" but the current output doesn't
make any sense, and the user can print the value if they are
particularly interested. Read watchpoints are used primarily to
understand what code is reading a variable.

This patch adds more fallbacks for how to print the objects being
watched if we have types, instead of assuming they are all integral
values, so a struct will print its elements. As large watchpoints are
added, we'll be doing a lot more of those.

To track the WatchpointSP in the WatchpointResources, I changed the
internal API which took a WatchpointSP and devolved it to a Watchpoint*,
which meant touching several different Process files. I removed the
watchpoint code in ProcessKDP which only reported that watchpoints
aren't supported, the base class does that already.

I haven't yet changed how we receive a watchpoint to identify the
WatchpointResource responsible for the trigger, and identify all
Watchpoints that are using this Resource to evaluate their conditions
etc. This is the same work that a BreakpointSite needs to do when it has
been tiggered, where multiple Breakpoints may be at the same address.

There is not yet any printing of the Resources that a Watchpoint is
implemented in terms of ("watchpoint list", or
SBWatchpoint::GetDescription).

"watchpoint set var" and "watchpoint set expression" take a size
argument which was previously 1, 2, 4, or 8 (an enum). I've changed this
to an unsigned int. Most hardware implementations can only watch 1, 2,
4, 8 byte ranges, but with Resources we'll allow a user to ask for
different sized watchpoints and set them in hardware-expressble terms
soon.

I've annotated areas where I know there is work still needed with
LWP_TODO that I'll be working on once this is landed.

I've tested this on aarch64 macOS, aarch64 Linux, and Intel macOS.

https://discourse.llvm.org/t/rfc-large-watchpoint-support-in-lldb/72116
(cherry picked from commit fc6b72523f3d73b921690a713e97a433c96066c6)


  Commit: 162e4b8c494459ea7509f598d15addd6ffc3dc9c
      https://github.com/llvm/llvm-project/commit/162e4b8c494459ea7509f598d15addd6ffc3dc9c
  Author: Jason Molenda <jason at molenda.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M lldb/include/lldb/Breakpoint/WatchpointResource.h

  Log Message:
  -----------
  Include <vector> in WatchpointResource.h

On macOS <vector> was already included via another
header file, but this failed on the CI bots.  I'd
tested on linux earlier in this patch's life when
the headers were differently arranged.

(cherry picked from commit a0a1ff3ab40e347589b4e27d8fd350c600526735)


  Commit: 22f72642fe6cd8f049bc905e0f0a69243b650f89
      https://github.com/llvm/llvm-project/commit/22f72642fe6cd8f049bc905e0f0a69243b650f89
  Author: Nico Weber <thakis at chromium.org>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M lldb/source/Breakpoint/WatchpointResource.cpp

  Log Message:
  -----------
  [lldb] try to fix build on linux after fc6b72523f3d7

Tries to fix:

    ../../lldb/source/Breakpoint/WatchpointResource.cpp:59:12:
    error: no member named 'find' in namespace 'std'; did you mean 'fill'?
          std::find(m_constituents.begin(), m_constituents.end(), wp_sp);
          ~~~~~^~~~
               fill

(cherry picked from commit a6c62bf1a4717accc852463b664cd1012237d334)


  Commit: 9e77d666d88d407a7705caa623f7bfc8dc90287d
      https://github.com/llvm/llvm-project/commit/9e77d666d88d407a7705caa623f7bfc8dc90287d
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp

  Log Message:
  -----------
  Correctly disable hardware watchpoints after a fork event

Fix a failure on Linux system where follow-fork-mode
exists, which caused the large watchpoint NFC patch
to be reverted earlier this week.


  Commit: dd1e72c38f3f9fc457d12940b9bc594e43683c7c
      https://github.com/llvm/llvm-project/commit/dd1e72c38f3f9fc457d12940b9bc594e43683c7c
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn

  Log Message:
  -----------
  [gn build] Port c73a3f16f81a


  Commit: 2ee8763fecad644c1b25bfdb06a884d291633009
      https://github.com/llvm/llvm-project/commit/2ee8763fecad644c1b25bfdb06a884d291633009
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/utils/lit/tests/unit/TestRunner.py

  Log Message:
  -----------
  [test] Fix expected line number in `TestRunner.py` (#73996)

My #73541 added lines to
`llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt` so what
was previously on line 7 is now on line 12.

Before:

https://github.com/llvm/llvm-project/blob/28412d1800e391c5ba8e7607bb15c74b106d581b/llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt#L7-L8

After:

https://github.com/llvm/llvm-project/blob/6fb7c2d713587a061cd281eda917746750559380/llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt#L12-L13

This didn't show up in the PR checks, but caused a buildbot failure
after merging, https://lab.llvm.org/buildbot/#/builders/139/builds/54597
:

```
# | ======================================================================
# | FAIL: test_commands (__main__.TestIntegratedTestKeywordParser)
# | ----------------------------------------------------------------------
# | Traceback (most recent call last):
# |   File "/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/utils/lit/tests/unit/TestRunner.py", line 135, in test_commands
# |     self.assertEqual(value[1].command.strip(), "%dbg(MY_RUN: at line 7)  foo  bar")
# | AssertionError: '%dbg(MY_RUN: at line 12)  foo  bar' != '%dbg(MY_RUN: at line 7)  foo  bar'
# | - %dbg(MY_RUN: at line 12)  foo  bar
# | ?                      ^^
# | + %dbg(MY_RUN: at line 7)  foo  bar
# | ?                      ^
```

Apologies for the build break :scream_cat:


  Commit: 4e724c2a214cc62fd024237f0bdf903ed8fbf45b
      https://github.com/llvm/llvm-project/commit/4e724c2a214cc62fd024237f0bdf903ed8fbf45b
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    R llvm/test/Assembler/debug-info-source-invalid.ll
    R llvm/test/Assembler/debug-info-source.ll

  Log Message:
  -----------
  Revert "[DWARFv5] Verify all-or-nothing constraint on DIFile source"

This reverts commit 4ed5195712fd1f3f43e23678d8f666c47d1aa7d5.


  Commit: 87e22bdd2bd6d77d782f9d64b3e3ae5bdcd5080d
      https://github.com/llvm/llvm-project/commit/87e22bdd2bd6d77d782f9d64b3e3ae5bdcd5080d
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/include/llvm/MC/MCDwarf.h
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/lib/MC/MCDwarf.cpp
    A llvm/test/DebugInfo/Generic/mixed-source.ll

  Log Message:
  -----------
  Allow for mixing source/no-source DIFiles in one CU

The DWARF proposal that the DW_LNCT_LLVM_source extension is based on
(https://dwarfstd.org/issues/180201.1.html) allows to mix source and
non-source files in the same CU by storing an empty string as a
sentinel value.

This patch implements this feature.

Review in https://github.com/llvm/llvm-project/pull/73877


  Commit: 4bf8a688956a759b7b6b8d94f42d25c13c7af130
      https://github.com/llvm/llvm-project/commit/4bf8a688956a759b7b6b8d94f42d25c13c7af130
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/X86/X86Subtarget.cpp
    A llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
    M llvm/test/CodeGen/X86/code-model-elf.ll
    M llvm/test/CodeGen/X86/pcsections.ll
    M llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll

  Log Message:
  -----------
  Reland [X86] With large code model, put functions into .ltext with large section flag (#73037)

So that when mixing small and large text, large text stays out of the
way of the rest of the binary.

This is useful for mixing precompiled small code model object files and
built-from-source large code model binaries so that the the text
sections don't get merged.

The reland fixes an issue where a function in the large code model would reference small data without GOTOFF.


  Commit: 148dec9fa43b3a16b08169df8bdf3bbae24aa9b0
      https://github.com/llvm/llvm-project/commit/148dec9fa43b3a16b08169df8bdf3bbae24aa9b0
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    A openmp/libomptarget/include/Shared/EnvironmentVar.h
    M openmp/libomptarget/include/Shared/Utils.h
    M openmp/libomptarget/plugins-nextgen/common/include/JIT.h
    M openmp/libomptarget/plugins-nextgen/common/include/MemoryManager.h
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Separate Envar (environment variable) handling (#73994)


  Commit: 668865789620f390fbad4d7093ed8ca6eb932c31
      https://github.com/llvm/llvm-project/commit/668865789620f390fbad4d7093ed8ca6eb932c31
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/X86/latency/subprocess-rsp.s
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp

  Log Message:
  -----------
  Reland "[llvm-exegesis] Set stack pointer register after starting perf counter (#72489)"

This reverts commit 52b4b357268ac114f7972e37da1e5954f322df09.

This commit was causing build failures on bots without libpfm installed
as the CHECK requires were not set correctly. The test added should only
run on machines with libpfm enabled due to the limitations currently
imposed by the subprocess execution mode.


  Commit: 3dbac2c007c114a720300d2a4d79abe9ca1351e7
      https://github.com/llvm/llvm-project/commit/3dbac2c007c114a720300d2a4d79abe9ca1351e7
  Author: Fehr Mathieu <mathieu.fehr at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.h
    M mlir/examples/toy/Ch7/include/toy/Dialect.h
    M mlir/include/mlir/Dialect/DLTI/DLTI.h
    M mlir/include/mlir/Dialect/GPU/IR/GPUDialect.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
    M mlir/include/mlir/Dialect/Quant/QuantTypes.h
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.h
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
    M mlir/include/mlir/IR/AttrTypeBase.td
    M mlir/include/mlir/IR/AttributeSupport.h
    M mlir/include/mlir/IR/BuiltinAttributes.h
    M mlir/include/mlir/IR/BuiltinAttributes.td
    M mlir/include/mlir/IR/BuiltinLocationAttributes.td
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/TypeSupport.h
    M mlir/include/mlir/TableGen/AttrOrTypeDef.h
    M mlir/lib/IR/ExtensibleDialect.cpp
    M mlir/lib/IR/MLIRContext.cpp
    M mlir/lib/TableGen/AttrOrTypeDef.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.h
    M mlir/test/mlir-tblgen/attrdefs.td
    M mlir/test/mlir-tblgen/op-attribute.td
    M mlir/test/mlir-tblgen/op-decl-and-defs.td
    M mlir/test/mlir-tblgen/typedefs.td
    M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
    M mlir/unittests/IR/CMakeLists.txt
    A mlir/unittests/IR/TypeAttrNamesTest.cpp
    M mlir/unittests/IR/TypeTest.cpp
    M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp

  Log Message:
  -----------
  [mlir] Expose type and attribute names in the MLIRContext and abstract type/attr classes (#72189)

This patch expose the type and attribute names in C++ as methods in the
`AbstractType` and `AbstractAttribute` classes, and keep a map of names
to `AbstractType` and `AbstractAttribute` in the `MLIRContext`. Type and
attribute names should be unique.

It adds support in ODS to generate the `getName` methods in
`AbstractType` and `AbstractAttribute`, through the use of two new
variables, `typeName` and `attrName`. It also adds names to C++-defined
type and attributes.


  Commit: b8b2a279d002f4d424d9b089bc32a0e5d6989dbb
      https://github.com/llvm/llvm-project/commit/b8b2a279d002f4d424d9b089bc32a0e5d6989dbb
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M openmp/docs/design/Runtimes.rst
    M openmp/libomptarget/include/Shared/Profile.h
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Encapsulate profiling logic (#74003)

This simply puts the profiling logic into the `Profiler` class and
allows non-RAII profiling via `beginSection` and `endSection`.


  Commit: 7ae1b76ed7271b2e86a3cda72d9e1fc63f4e5c48
      https://github.com/llvm/llvm-project/commit/7ae1b76ed7271b2e86a3cda72d9e1fc63f4e5c48
  Author: Kirill Stoimenov <kstoimenov at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/test/Index/initializer-memory.cpp

  Log Message:
  -----------
  Fix ARM Sanitizer build

Example: https://lab.llvm.org/buildbot/#/builders/239/builds/4709


  Commit: b6cad75e077e1c68449b18ffeb6e93f18463464f
      https://github.com/llvm/llvm-project/commit/b6cad75e077e1c68449b18ffeb6e93f18463464f
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
    M mlir/test/Dialect/SparseTensor/sparse_conv_2d_slice_based.mlir

  Log Message:
  -----------
  [mlir][sparse] refactoring: using util functions to query the index to load from position array for slice-driven loop. (#73986)


  Commit: 1035cc7029180243de371384eee91f4e1e87d199
      https://github.com/llvm/llvm-project/commit/1035cc7029180243de371384eee91f4e1e87d199
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/src/api.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Encapsulate Devices.size() (#74010)


  Commit: 071855dc2c4939c0b7c51da63e84bd956e49c74a
      https://github.com/llvm/llvm-project/commit/071855dc2c4939c0b7c51da63e84bd956e49c74a
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/IR/AsmWriter.cpp
    A llvm/test/Assembler/thinlto-vtable-summary2.ll

  Log Message:
  -----------
  [ThinLTO] Fix assembly dumping of vtable type ids (#73997)

With RTTI, a C++ class type info will get two entries in the summary
index: a gv and a typeidCompatibleVTable, both sharing the same GUID.
Ensure we use different namespaces to generate the entry slot numbers
for these two different summary entries.


  Commit: 51fc8544c7a267e5621eadfebf758f46b015ebd4
      https://github.com/llvm/llvm-project/commit/51fc8544c7a267e5621eadfebf758f46b015ebd4
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M openmp/libomptarget/include/OpenMP/Mapping.h
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Move mapping related logic into Mapping.h (#74009)


  Commit: cfe1ece833d643921da2735cd80e32b32ef170fb
      https://github.com/llvm/llvm-project/commit/cfe1ece833d643921da2735cd80e32b32ef170fb
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGen/fat-lto-objects.c
    M clang/test/Driver/fat-lto-objects.c
    M llvm/docs/FatLTO.rst
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/include/llvm/Transforms/IPO/EmbedBitcodePass.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/IPO/EmbedBitcodePass.cpp
    M llvm/test/CodeGen/X86/fat-lto-section.ll
    M llvm/test/Transforms/EmbedBitcode/embed.ll

  Log Message:
  -----------
  [clang][llvm][fatlto] Avoid cloning modules in FatLTO (#72180)

https://github.com/llvm/llvm-project/issues/70703 pointed out that
cloning LLVM modules could lead to miscompiles when using FatLTO.

This is due to an existing issue when cloning modules with labels (see
#55991 and #47769). Since this can lead to miscompilation, we can avoid
cloning the LLVM modules, which was desirable anyway.

This patch modifies the EmbedBitcodePass to no longer clone the module
or run an input pipeline over it. Further, it make FatLTO always perform
UnifiedLTO, so we can still defer the Thin/Full LTO decision to
link-time. Lastly, it removes dead/obsolete code related to now defunct
options that do not work with the EmbedBitcodePass implementation any
longer.


  Commit: f2cbd1fdf702afe31d0198c9185e08dc2b104252
      https://github.com/llvm/llvm-project/commit/f2cbd1fdf702afe31d0198c9185e08dc2b104252
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll

  Log Message:
  -----------
  [LoongArch] Add codegen support for insertelement


  Commit: add224c0a094d20389d3659f7b6e496df461a976
      https://github.com/llvm/llvm-project/commit/add224c0a094d20389d3659f7b6e496df461a976
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    A llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
    A llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/mul.ll

  Log Message:
  -----------
  [LoongArch] Custom lowering `ISD::BUILD_VECTOR`


  Commit: 668a4a238045e7f300b771f7e4cfa723d8bde237
      https://github.com/llvm/llvm-project/commit/668a4a238045e7f300b771f7e4cfa723d8bde237
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M lldb/source/Host/posix/PipePosix.cpp

  Log Message:
  -----------
  [lldb] pipe2(2) is also supported by OpenBSD (#74012)


  Commit: 8123fd961ceca20966744f43a562ccd9c1139913
      https://github.com/llvm/llvm-project/commit/8123fd961ceca20966744f43a562ccd9c1139913
  Author: Valery Pykhtin <valery.pykhtin at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_constant_address_space.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_generic_address_space.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_global_address_space.ll

  Log Message:
  -----------
  [ASAN][AMDGPU] NFC. Improve instrumentation tests. (#73919)

* Added 128 bit wide operation tests (fast path check).
* Added test for recovery mode.

Upcoming patch https://github.com/llvm/llvm-project/pull/72247.


  Commit: 985c0d1903c173b896674b30480992e2414b8aa0
      https://github.com/llvm/llvm-project/commit/985c0d1903c173b896674b30480992e2414b8aa0
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M libc/test/src/sys/mman/linux/CMakeLists.txt
    M libc/test/src/sys/mman/linux/mincore_test.cpp

  Log Message:
  -----------
  [libc][mincore] use correct page_size for test (#73984)


  Commit: 2441e237a2d6ad44eedb26bde4406e274e32c4a4
      https://github.com/llvm/llvm-project/commit/2441e237a2d6ad44eedb26bde4406e274e32c4a4
  Author: Wenju He <wenju.he at intel.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp

  Log Message:
  -----------
  [NFC][indvars] Remove unused code in WidenIV::widenLoopCompare (#73506)


  Commit: 56bbf8135eb8b7d133d5d5fc7604d66f5011c57b
      https://github.com/llvm/llvm-project/commit/56bbf8135eb8b7d133d5d5fc7604d66f5011c57b
  Author: ShatianWang <38512325+ShatianWang at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M bolt/lib/Core/FunctionLayout.cpp
    M bolt/lib/Passes/SplitFunctions.cpp

  Log Message:
  -----------
  [BOLT] CDSplit main logic part 1/2 (#73895)

This diff defines and initializes auxiliary variables used by CDSplit
and implements two important helper functions. The first helper function
approximates the block level size increase if a function is hot-warm
split at a given split index (X86 specific). The second helper function
finds all calls in the form of X->Y or Y->X for each BF given function
order [... X ... BF ... Y ...]. These calls are referred to as "cover
calls". Their distance will decrease if BF's hot fragment size is
further reduced by hot-warm splitting. NFC.


  Commit: ca66df3b021017fedf08f0779f5bfc7898dbdd29
      https://github.com/llvm/llvm-project/commit/ca66df3b021017fedf08f0779f5bfc7898dbdd29
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/and.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/or.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/xor.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/and.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/or.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/xor.ll

  Log Message:
  -----------
  [LoongArch] Add more and/or/xor patterns for vector types


  Commit: d0a39e617ba301a76d28e2d82e1f657999c9dcfb
      https://github.com/llvm/llvm-project/commit/d0a39e617ba301a76d28e2d82e1f657999c9dcfb
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/regalloc-fast-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll

  Log Message:
  -----------
  [RISCV] default enable splitting regalloc between RVV and other (#72950)

This patch make riscv-split-regalloc as true by default. 

It will not affect the codegen result if it vector register allocation
doesn't exist. If there is the vector register allocation, it may affect
the non-rvv register LiveInterval's segment/weight. It will make the
allocation in a different order.


  Commit: 6402706a00e806aef62836cd1a13a412349121eb
      https://github.com/llvm/llvm-project/commit/6402706a00e806aef62836cd1a13a412349121eb
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/GPU/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Fix the link of libcuda.so in MLIRGPUTransforms to not use fully qualified path (#74018)

At the moment we find libcuda.so in a path like:

  /usr/local/cuda/targets/x86_64-linux/lib/stubs/libcuda.so

and directly add this to `target_link_libraries`. The problem is that
our installed MLIR package will include the full path to the library,
and a user downstream when including our cmake installed package will
inherit this full path.

We're changing this to instead

 -L /usr/local/cuda/targets/x86_64-linux/lib/stubs/ -lcuda


  Commit: 755c28a9401536d89601ae3582f44be1746fadb6
      https://github.com/llvm/llvm-project/commit/755c28a9401536d89601ae3582f44be1746fadb6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/var_arg.ll

  Log Message:
  -----------
  [GISel][Mips] Infer alignment when creating memory operand for G_VASTART. (#74004)


  Commit: a37c69ec315b9526a3532022be3ebe1af9ca356a
      https://github.com/llvm/llvm-project/commit/a37c69ec315b9526a3532022be3ebe1af9ca356a
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M lldb/source/Host/common/Host.cpp

  Log Message:
  -----------
  [lldb] Remove pre GCC 4.8 workaround (#73981)

The minimum GCC version was bumped up from 4.8 to 5.1 and then even newer
awhile ago so garbage collect the pre 4.8 workaround.

https://reviews.llvm.org/D66188


  Commit: 4483cf2d8b294aa8718b5488f2033675895369da
      https://github.com/llvm/llvm-project/commit/4483cf2d8b294aa8718b5488f2033675895369da
  Author: ShatianWang <38512325+ShatianWang at users.noreply.github.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M bolt/lib/Passes/SplitFunctions.cpp
    A bolt/test/X86/cdsplit-call-scale.s
    A bolt/test/X86/cdsplit-symbol-names.s

  Log Message:
  -----------
  [BOLT] CDSplit main logic part 2/2 (#74032)

This diff implements the main splitting logic of CDSplit. CDSplit
processes functions in a binary in parallel. For each function BF, it
assumes that all other functions are hot-cold split. For each possible
hot-warm split point of BF, it computes its corresponding SplitScore,
and chooses the split point with the best SplitScore. The SplitScore of
each split point is computed in the following way: each call edge or
jump edge has an edge score that is proportional to its execution count,
and inversely proportional to its distance. The SplitScore of a split
point is a sum of edge scores over a fixed set of edges whose distance
can change due to hot-warm splitting BF. This set contains all cover
calls in the form of X->Y or Y->X given function order [... X ... BF ...
Y ...]; we refer to the sum of edge scores over the set of cover calls
as CoverCallScore. This set also contains all jump edges (branches)
within BF as well as all call edges originated from BF; we refer to the
sum of edge scores over this set of edges as LocalScore. CDSplit finds
the split index maximizing CoverCallScore + LocalScore.


  Commit: 5c60e2ce78e79c2d15152e08d9e28fcf3a1d4e51
      https://github.com/llvm/llvm-project/commit/5c60e2ce78e79c2d15152e08d9e28fcf3a1d4e51
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M clang/include/clang/Format/.clang-format
    M clang/lib/Format/.clang-format
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/tools/clang-format/.clang-format
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/unittests/Format/.clang-format

  Log Message:
  -----------
  [clang-format][NFC] Reformat source code with clang-format style


  Commit: 54878b80f3e332f3420132f8b4c74412fc29ef6b
      https://github.com/llvm/llvm-project/commit/54878b80f3e332f3420132f8b4c74412fc29ef6b
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M libc/test/src/sys/mman/linux/mincore_test.cpp

  Log Message:
  -----------
  [libc] remove fragile test from mincore (#74026)


  Commit: 3bd517205799a152689434ceddf9493765f1e883
      https://github.com/llvm/llvm-project/commit/3bd517205799a152689434ceddf9493765f1e883
  Author: paperchalice <lgamma at 163.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
    M llvm/include/llvm/CodeGen/MachinePassRegistry.def
    A llvm/include/llvm/CodeGen/SafeStack.h
    M llvm/lib/CodeGen/SafeStack.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Transforms/SafeStack/AArch64/abi.ll
    M llvm/test/Transforms/SafeStack/AArch64/abi_ssp.ll
    M llvm/test/Transforms/SafeStack/AArch64/unreachable.ll
    M llvm/test/Transforms/SafeStack/ARM/abi.ll
    M llvm/test/Transforms/SafeStack/ARM/debug.ll
    M llvm/test/Transforms/SafeStack/ARM/setjmp.ll
    M llvm/test/Transforms/SafeStack/X86/abi.ll
    M llvm/test/Transforms/SafeStack/X86/abi_ssp.ll
    M llvm/test/Transforms/SafeStack/X86/addr-taken.ll
    M llvm/test/Transforms/SafeStack/X86/array-aligned.ll
    M llvm/test/Transforms/SafeStack/X86/array.ll
    M llvm/test/Transforms/SafeStack/X86/byval.ll
    M llvm/test/Transforms/SafeStack/X86/call.ll
    M llvm/test/Transforms/SafeStack/X86/cast.ll
    M llvm/test/Transforms/SafeStack/X86/coloring-ssp.ll
    M llvm/test/Transforms/SafeStack/X86/coloring.ll
    M llvm/test/Transforms/SafeStack/X86/coloring2.ll
    M llvm/test/Transforms/SafeStack/X86/constant-gep-call.ll
    M llvm/test/Transforms/SafeStack/X86/constant-gep.ll
    M llvm/test/Transforms/SafeStack/X86/constant-geps.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc-dynamic.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc2.ll
    M llvm/test/Transforms/SafeStack/X86/dynamic-alloca.ll
    M llvm/test/Transforms/SafeStack/X86/escape-addr-pointer.ll
    M llvm/test/Transforms/SafeStack/X86/escape-bitcast-store.ll
    M llvm/test/Transforms/SafeStack/X86/escape-bitcast-store2.ll
    M llvm/test/Transforms/SafeStack/X86/escape-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-casted-pointer.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-invoke.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-negative.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-ptrtoint.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-store.ll
    M llvm/test/Transforms/SafeStack/X86/escape-phi-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-select-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-vector.ll
    M llvm/test/Transforms/SafeStack/X86/invoke.ll
    M llvm/test/Transforms/SafeStack/X86/layout-frag.ll
    M llvm/test/Transforms/SafeStack/X86/layout-region-split.ll
    M llvm/test/Transforms/SafeStack/X86/memintrinsic-oob-read.ll
    M llvm/test/Transforms/SafeStack/X86/musttail.ll
    M llvm/test/Transforms/SafeStack/X86/no-attr.ll
    M llvm/test/Transforms/SafeStack/X86/no-crash-on-lifetime.ll
    M llvm/test/Transforms/SafeStack/X86/phi-cycle.ll
    M llvm/test/Transforms/SafeStack/X86/phi.ll
    M llvm/test/Transforms/SafeStack/X86/pr54784.ll
    M llvm/test/Transforms/SafeStack/X86/ret.ll
    M llvm/test/Transforms/SafeStack/X86/setjmp.ll
    M llvm/test/Transforms/SafeStack/X86/setjmp2.ll
    M llvm/test/Transforms/SafeStack/X86/sink-to-use.ll
    M llvm/test/Transforms/SafeStack/X86/ssp.ll
    M llvm/test/Transforms/SafeStack/X86/store.ll
    M llvm/test/Transforms/SafeStack/X86/struct.ll

  Log Message:
  -----------
  Reland "[CodeGen] Port SafeStack to new pass manager (#74027)

Forgot to update related code in `CodeGenPassBuilder.h`, also update it
for `CallBrPreparePass`.
Fix build when `LLVM_ENABLE_MODULES:BOOL=ON`.


  Commit: 36239f9418d3ea19142e13d1bb05bd043ccf3d23
      https://github.com/llvm/llvm-project/commit/36239f9418d3ea19142e13d1bb05bd043ccf3d23
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp

  Log Message:
  -----------
  [RISCV] Move AVL coalescing logic upwards into computeInfoForInstr. NFC (#73909)

There is an optimisation in transferBefore where if a VSETVLIInfo uses
the AVL
of a defining vsetvli, it uses that vsetvli's AVL provided VLMAX is the
same.

This patch moves it out of transferBefore and up into
computeInfoForInstr to
show how it isn't affected by the other optimisations in transferBefore,
and to
simplify the control flow by removing an early return.

This should make #72352 easier to reason about.


  Commit: dbbc7c31c8e55d72dc243b244e386a25132e7215
      https://github.com/llvm/llvm-project/commit/dbbc7c31c8e55d72dc243b244e386a25132e7215
  Author: leecheechen <chenli at loongson.cn>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/add.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/ashr.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fadd.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fdiv.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fmul.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fsub.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/lshr.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/mul.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sdiv.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shl.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sub.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/udiv.ll

  Log Message:
  -----------
  [LoongArch] Add some binary IR instructions testcases for LASX (#74031)

The IR instructions include:
- Binary Operations: add fadd sub fsub mul fmul udiv sdiv fdiv
- Bitwise Binary Operations: shl lshr ashr


  Commit: 173fcf7da592acd284dc50749558fd36928861f0
      https://github.com/llvm/llvm-project/commit/173fcf7da592acd284dc50749558fd36928861f0
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
    M llvm/test/CodeGen/NVPTX/vector-stores.ll

  Log Message:
  -----------
  [NVPTX] Lower 16xi8 and 8xi8 stores efficiently (#73646)

Lower 16xi8 vector stores in NVPTX ISel efficiently using
st.v4.b32 instead of multiple st.v4.u8 along the lines of vector loads
and 8xf16. Similarly, 8xi8 using st.v2.u32.


  Commit: cf1a979ccfa722c3f9fce28c66c13a222990eac4
      https://github.com/llvm/llvm-project/commit/cf1a979ccfa722c3f9fce28c66c13a222990eac4
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp

  Log Message:
  -----------
  [RISCV] Minimally modify incoming state in transferBefore (#72352)

transferBefore currently takes an incoming state and an instruction,
computes
the new state needed for the instruction, and then modifies that new
state to
be more similar to the incoming state.

This patch reverses the approach by instead taking the incoming state
and
modifying only the bits that are demanded by the instruction.


  Commit: 58199dfb557752b1a7b782b140b033bd29d6f0e9
      https://github.com/llvm/llvm-project/commit/58199dfb557752b1a7b782b140b033bd29d6f0e9
  Author: lifengxiang1025 <125553151+lifengxiang1025 at users.noreply.github.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [NFC] Typo fix (#74033)

Fix spelling error from `linakge` to `linkage`.

Co-authored-by: lifengxiang <lifengxiang.1025 at bytedance.com>


  Commit: 340cb19e153bb68981b7eb9562c74a0b2c4db214
      https://github.com/llvm/llvm-project/commit/340cb19e153bb68981b7eb9562c74a0b2c4db214
  Author: lifengxiang1025 <125553151+lifengxiang1025 at users.noreply.github.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    A llvm/test/Transforms/PGOProfile/Inputs/memprof_internal_linkage.exe
    A llvm/test/Transforms/PGOProfile/Inputs/memprof_internal_linkage.memprofraw
    M llvm/test/Transforms/PGOProfile/Inputs/update_memprof_inputs.sh
    A llvm/test/Transforms/PGOProfile/memprof_internal_linkage.ll

  Log Message:
  -----------
  [MemProf] Expand optimization scope to internal linkage function (#73236)

Now MemProf can't do IR annotation right in the local linkage function
and global initial function __cxx_global_var_init. In llvm-profdata
which convert raw memory profile to memory profile, it uses function
name in dwarf to create GUID. But when llvm consumes memory profile, it
use `getIRPGOFuncName` or `getPGOFuncName` which returns local linkage
function as `FileName;FunctionName` or `FileName:FunctionName` to get
function name and create GUID. So profile creator's GUID is not same as
profile consumer.
So I think MemProf should be used with `unique-internal-linkage-names`
and don't use PGOFuncName.
__cxx_global_var_init is created later than where
UniqueInternalLinkageNames works. So I add uniq suffix to
__cxx_global_var_init additionally.

Co-authored-by: lifengxiang <lifengxiang.1025 at bytedance.com>


  Commit: 71ba05b4e1ccbfdc2bc35906a985744ad785e676
      https://github.com/llvm/llvm-project/commit/71ba05b4e1ccbfdc2bc35906a985744ad785e676
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/include/llvm/ADT/bit.h

  Log Message:
  -----------
  [ADT] Make use of the endian.h header on NetBSD and DragonFly (#74037)

Move away from machine/endian.h to POSIX endian.h header.


  Commit: 5ecb37b45aa059cadd97ab6aedc1320da609c636
      https://github.com/llvm/llvm-project/commit/5ecb37b45aa059cadd97ab6aedc1320da609c636
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRVVInitUndef.cpp
    A llvm/test/CodeGen/RISCV/65704-illegal-instruction.ll
    M llvm/test/CodeGen/RISCV/rvv/handle-noreg-with-implicit-def.mir
    M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.mir

  Log Message:
  -----------
  [RISCV] Make InitUndef handle undef operand (#65755)

Address https://github.com/llvm/llvm-project/issues/65704.

If the operand is marked as undef, the InitUndef misses this case. This patch makes InitUndef pass handle the undef operand case.


  Commit: c1ad363e6eba308fa94c47374ee98b3c79693a35
      https://github.com/llvm/llvm-project/commit/c1ad363e6eba308fa94c47374ee98b3c79693a35
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    A clang/test/SemaCXX/pr72025.cpp

  Log Message:
  -----------
  [clang] Use the materialized temporary's type while creating the APValue (#73355)

See https://github.com/llvm/llvm-project/issues/72025 for the bug and
its diagnosis.


  Commit: e017169dbd0215e892570e74668f5c3289db3310
      https://github.com/llvm/llvm-project/commit/e017169dbd0215e892570e74668f5c3289db3310
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    A llvm/lib/Target/X86/X86ReplaceableInstrs.def

  Log Message:
  -----------
  [X86][NFC] Extract ReplaceableInstrs to a separate file and clang-format X86InstrInfo.cpp


  Commit: d56e0d07cc5ee8e334fd1ad403eef0b1a771384f
      https://github.com/llvm/llvm-project/commit/d56e0d07cc5ee8e334fd1ad403eef0b1a771384f
  Author: Romaric Jodin <89833130+rjodinchr at users.noreply.github.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/Headers/opencl-c-base.h
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Sema/OpenCLBuiltins.td
    M clang/test/CodeGenOpenCL/sqrt-fpmath.cl

  Log Message:
  -----------
  clang/OpenCL: set sqrt fp accuracy on call to Z4sqrt (#66651)

This is reverting the previous implementation to avoid adding inline
function in opencl headers.
This was breaking clspv flow google/clspv#1231, while
https://reviews.llvm.org/D156743 mentioned that just decorating the call
node with `!pfmath` was enough.
This PR is implementing this idea.
The test has been updated with this implementation.


  Commit: 5a9354832695d878e86f90010d2b043a9551b072
      https://github.com/llvm/llvm-project/commit/5a9354832695d878e86f90010d2b043a9551b072
  Author: paperchalice <lgamma at 163.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassRegistry.def

  Log Message:
  -----------
  [CodeGen][NFC] Sort and format MachinePassRegistry.def (#74044)

Same as #73762.


  Commit: 520c3b82db7199c1dcd24520f3c0ac573c191791
      https://github.com/llvm/llvm-project/commit/520c3b82db7199c1dcd24520f3c0ac573c191791
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
    M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
    M llvm/lib/Transforms/Utils/MoveAutoInit.cpp
    M llvm/tools/llvm-dwarfutil/Error.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp

  Log Message:
  -----------
  [llvm] Stop including llvm/ADT/StringSet.h (NFC)

Identified with clangd.


  Commit: bc265bd663233c4bfa222f1cc93ec472075a53ff
      https://github.com/llvm/llvm-project/commit/bc265bd663233c4bfa222f1cc93ec472075a53ff
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp

  Log Message:
  -----------
  [llvm-reduce] Stop including llvm/ADT/SetVector.h (NFC)

Identified with clangd.


  Commit: 604c29e9340c4a18eab1e53dd5cc4c05d46db2f7
      https://github.com/llvm/llvm-project/commit/604c29e9340c4a18eab1e53dd5cc4c05d46db2f7
  Author: Valery Pykhtin <valery.pykhtin at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll

  Log Message:
  -----------
  [AMDGPU] NFC. Add test for debug info on CFG annotation instructions. (#73959)


  Commit: 0e163e75d44cfa024092cda5099bd41af2218215
      https://github.com/llvm/llvm-project/commit/0e163e75d44cfa024092cda5099bd41af2218215
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/test/MC/Disassembler/X86/apx/kmov.txt
    M llvm/test/MC/X86/apx/kmov-att.s
    M llvm/test/MC/X86/apx/kmov-intel.s

  Log Message:
  -----------
  [X86][MC] Not emit {evex} for VEX-promoted instructions with GPR operands (#74039)

To align with
1. GNU binutils's behavior for APX instructions
2. LLVM's behaviour for EVEX intructions with VEX variant


  Commit: ab3fdbdfbe7edc62049c602d87be91c3ad3f5e3b
      https://github.com/llvm/llvm-project/commit/ab3fdbdfbe7edc62049c602d87be91c3ad3f5e3b
  Author: Allen <zhongyunde at huawei.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/select-known-non-zero.ll
    M llvm/test/Transforms/InstCombine/zext-or-icmp.ll

  Log Message:
  -----------
  [ValueTracking] Support srem/urem for isKnownNonNullFromDominatingCondition (#74021)

Similar to div, the rem should also proof its second operand is
non-zero, otherwise it is a UB.

Fix https://github.com/llvm/llvm-project/issues/71782


  Commit: d48d1edcf3ed0c1352b3c2864feb873f01d6f9da
      https://github.com/llvm/llvm-project/commit/d48d1edcf3ed0c1352b3c2864feb873f01d6f9da
  Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    A llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll

  Log Message:
  -----------
  PowerPC/aix-cc-abi: regenerate test using UTC (NFC) (#73963)

Split out the parts of aix-cc-abi.ll that requires to be regenerated by
utils/update_mir_test_checks.py into aix-cc-abi-mir.ll, and regenerate
it using the script. Regenerate aix-cc-abi.ll using
utils/update_llc_test_checks.py.


  Commit: 9557fcca563dba3dd31769c297bb3b97d6e614f9
      https://github.com/llvm/llvm-project/commit/9557fcca563dba3dd31769c297bb3b97d6e614f9
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/str_to_num_result.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Fix lint message (#73956)


  Commit: 1726b65e4c273d55dd54838a742b03caff4abcdd
      https://github.com/llvm/llvm-project/commit/1726b65e4c273d55dd54838a742b03caff4abcdd
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-contract-to-outerproduct-matvec-transforms.mlir

  Log Message:
  -----------
  [MLIR][Vector] Refactor tests for contract -> OP transforms (4/N) (#73807)

This patch refactors tests for:

    vector.contract -> vector.outerproduct

for matvec operations (b += Ax). Summary of changes:
  * add 2 missing cases (masked + scalable) when the operation kind is
    `maxf`.

This is a part of a larger effort to add cases with scalable vectors to
tests for the Vector dialect.

Implements #72834.


  Commit: 2c976a1fac5c0d6fe1cd7c3637f3d16cc378f52b
      https://github.com/llvm/llvm-project/commit/2c976a1fac5c0d6fe1cd7c3637f3d16cc378f52b
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M libc/src/__support/macros/properties/CMakeLists.txt
    M libc/src/__support/macros/properties/float.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Fix _Float16 detection for x86 (#73947)


  Commit: d55692d60d218f402ce107520daabed15f2d9ef6
      https://github.com/llvm/llvm-project/commit/d55692d60d218f402ce107520daabed15f2d9ef6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
    M llvm/test/Transforms/InstSimplify/assume-fcmp-constant-implies-class.ll

  Log Message:
  -----------
  Reapply "ValueTracking: Identify implied fp classes by general fcmp (#66505)"

This reverts commit 96a0d714d58e48c363ee6abbbcdfd7a6ce646ac1.

Avoid assert with dynamic denormal-fp-math We don't recognize compares
with 0 as an exact class test if we don't know the denormal mode. We could
try to do better here, but it's probably not worth it.

Fixes asserts reported after 1adce7d8e47e2438f99f91607760b825e5e3cc37


  Commit: 5a4ca51a91ff28b1d6bdde5403144c29b86e4b54
      https://github.com/llvm/llvm-project/commit/5a4ca51a91ff28b1d6bdde5403144c29b86e4b54
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/lib/IR/Builders.cpp
    M mlir/test/IR/test-clone.mlir
    M mlir/test/lib/IR/TestClone.cpp

  Log Message:
  -----------
  [mlir] notify insertion of parent op first when cloning (#73806)

When cloning an operation with a region, the builder was currently
notifying about the insertion of the cloned operations inside the region
before the cloned operation itself.

When using cloning inside rewrite pass, this could cause issues if a
pattern is expected to be applied on a cloned parent operation before
trying to apply patterns on the cloned operations it contains (the
patterns are attempted in order of notifications for the cloned
operations).


  Commit: a224ddc9b4458b1b9cf0a758c974a554f0f17dc4
      https://github.com/llvm/llvm-project/commit/a224ddc9b4458b1b9cf0a758c974a554f0f17dc4
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir

  Log Message:
  -----------
  [mlir][nvvm] Introduce `cp.async.bulk.commit.group`

This PR introduced `cp.async.bulk.commit.group` op.


  Commit: 4d1dc7770a6411b87cc488dd982c034f1b4ff7a7
      https://github.com/llvm/llvm-project/commit/4d1dc7770a6411b87cc488dd982c034f1b4ff7a7
  Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll

  Log Message:
  -----------
  AMDGPU/load-global-i32: regenerate test using UTC (NFC) (#73962)

Fix the RUN lines so that UTC runs cleanly, and regenerate the test
load-global-i32.ll using utils/update_llc_test_checks.py.


  Commit: bb98227db19ae4d80af7a25a9423aae2aeaec61d
      https://github.com/llvm/llvm-project/commit/bb98227db19ae4d80af7a25a9423aae2aeaec61d
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/math_extras.h
    R libc/src/__support/named_pair.h
    M libc/src/__support/number_pair.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][NFC] Remove named_pair (#73952)

`named_pair` does not provide enough value to deserve its own header.


  Commit: 5fe7ae848cc6cb2afc3aab332743ffa2bb635fc3
      https://github.com/llvm/llvm-project/commit/5fe7ae848cc6cb2afc3aab332743ffa2bb635fc3
  Author: Matt Devereau <matthew.devereau at arm.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-zt0.ll

  Log Message:
  -----------
  [AArch64][SME2] Add ldr_zt, str_zt builtins and intrinsics (#72849)

Adds the builtins:
void svldr_zt(uint64_t zt, const void *rn)
void svstr_zt(uint64_t zt, void *rn)

And the intrinsics:
call void @llvm.aarch64.sme.ldr.zt(i32, ptr)
tail call void @llvm.aarch64.sme.str.zt(i32, ptr)

Patch by: Kerry McLaughlin kerry.mclaughlin at arm.com


  Commit: de55a2843fae6afd4b0589d81496096a4ff73cbd
      https://github.com/llvm/llvm-project/commit/de55a2843fae6afd4b0589d81496096a4ff73cbd
  Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/lib/Target/X86/X86InstrMisc.td
    M llvm/lib/Target/X86/X86InstrShiftRotate.td
    A llvm/test/MC/Disassembler/X86/apx/andn.txt
    A llvm/test/MC/Disassembler/X86/apx/bextr.txt
    A llvm/test/MC/Disassembler/X86/apx/blsi.txt
    A llvm/test/MC/Disassembler/X86/apx/blsmsk.txt
    A llvm/test/MC/Disassembler/X86/apx/blsr.txt
    A llvm/test/MC/Disassembler/X86/apx/bzhi.txt
    M llvm/test/MC/Disassembler/X86/apx/evex-format.txt
    A llvm/test/MC/Disassembler/X86/apx/mulx.txt
    A llvm/test/MC/Disassembler/X86/apx/pdep.txt
    A llvm/test/MC/Disassembler/X86/apx/pext.txt
    A llvm/test/MC/Disassembler/X86/apx/rorx.txt
    A llvm/test/MC/Disassembler/X86/apx/sarx.txt
    A llvm/test/MC/Disassembler/X86/apx/shlx.txt
    A llvm/test/MC/Disassembler/X86/apx/shrx.txt
    A llvm/test/MC/X86/apx/andn-att.s
    A llvm/test/MC/X86/apx/andn-intel.s
    A llvm/test/MC/X86/apx/bextr-att.s
    A llvm/test/MC/X86/apx/bextr-intel.s
    A llvm/test/MC/X86/apx/blsi-att.s
    A llvm/test/MC/X86/apx/blsi-intel.s
    A llvm/test/MC/X86/apx/blsmsk-att.s
    A llvm/test/MC/X86/apx/blsmsk-intel.s
    A llvm/test/MC/X86/apx/blsr-att.s
    A llvm/test/MC/X86/apx/blsr-intel.s
    A llvm/test/MC/X86/apx/bzhi-att.s
    A llvm/test/MC/X86/apx/bzhi-intel.s
    M llvm/test/MC/X86/apx/evex-format-att.s
    M llvm/test/MC/X86/apx/evex-format-intel.s
    A llvm/test/MC/X86/apx/mulx-att.s
    A llvm/test/MC/X86/apx/mulx-intel.s
    A llvm/test/MC/X86/apx/pdep-att.s
    A llvm/test/MC/X86/apx/pdep-intel.s
    A llvm/test/MC/X86/apx/pext-att.s
    A llvm/test/MC/X86/apx/pext-intel.s
    A llvm/test/MC/X86/apx/rorx-att.s
    A llvm/test/MC/X86/apx/rorx-intel.s
    A llvm/test/MC/X86/apx/sarx-att.s
    A llvm/test/MC/X86/apx/sarx-intel.s
    A llvm/test/MC/X86/apx/shlx-att.s
    A llvm/test/MC/X86/apx/shlx-intel.s
    A llvm/test/MC/X86/apx/shrx-att.s
    A llvm/test/MC/X86/apx/shrx-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86][MC] Support Enc/Dec for EGPR for promoted BMI instructions (#73899)

R16-R31 was added into GPRs in
https://github.com/llvm/llvm-project/pull/70958,
This patch supports the encoding/decoding for promoted BMI instructions
in EVEX space.


RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4


  Commit: f42ce1621f5f4129fb37c4a1af958e1d47344107
      https://github.com/llvm/llvm-project/commit/f42ce1621f5f4129fb37c4a1af958e1d47344107
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir

  Log Message:
  -----------
  [mlir][sve][nfc] Update a test to use transform-interpreter (#73771)

This is a follow-up of #70040 in which the test updated here was missed.

Includes a few additional NFC changes in preparation for extending this
test.


  Commit: 1ee41b415398cde51c055a7b1a4d419350e7038f
      https://github.com/llvm/llvm-project/commit/1ee41b415398cde51c055a7b1a4d419350e7038f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
    M libcxx/test/libcxx/utilities/memory/ptr.align/assume_aligned.power2.verify.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/equal.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/relational.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/destroying_delete_t.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/nothrow_t.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/nothrow_t.verify.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.verify.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_floor.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_width.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/has_single_bit.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countl_one.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countl_zero.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countr_one.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countr_zero.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/popcount.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/types.verify.cpp
    M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_F.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_F.verify.cpp
    M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_ptr.pass.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.spec/swap.pass.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.spec/swap.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/common_reference.compile.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Update the remaining old license headers


  Commit: f7d91faa790630eca506a29faa560d6783edcbc0
      https://github.com/llvm/llvm-project/commit/f7d91faa790630eca506a29faa560d6783edcbc0
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.h
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
    M mlir/lib/Dialect/ArmSME/Transforms/EnableArmStreaming.cpp
    M mlir/test/Dialect/ArmSME/enable-arm-streaming.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Add option to only enable streaming mode/ZA if required (#73931)

This adds a `only-if-required-by-ops` flag to the `enable-arm-streaming`
pass. This flag defaults to `false` (which preserves the original
behaviour), however, if set to `true` the pass will only add the
selected ZA/streaming mode to functions that contain ops that implement
`ArmSMETileOpInterface`.

This simplifies enabling these modes, as we can now first try lowering
ops to ArmSME, then only if we succeed, add the relevant function
attributes.


  Commit: da1aff2b2a3192f5e32fa350de19aac0b89fed18
      https://github.com/llvm/llvm-project/commit/da1aff2b2a3192f5e32fa350de19aac0b89fed18
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp

  Log Message:
  -----------
  [llvm][PowerPC] Correct handling of spill slots for SPE when EXPENSIVE_CHECKS is enabled (#73940)

This was modifying a container as it iterated it, which tripped a check
in libstdc++'s debug checks.

Instead, just assign to the item via the reference we already have.

This fixes the following expensive checks failures on my machine:
  LLVM :: CodeGen/PowerPC/fp-strict.ll
  LLVM :: CodeGen/PowerPC/pr55463.ll
  LLVM :: CodeGen/PowerPC/register-pressure.ll
  LLVM :: CodeGen/PowerPC/spe.ll

Which are some of the tests noted by #68594.


  Commit: 289fe74ddbb4c8aa7128f60db6b20c119922b542
      https://github.com/llvm/llvm-project/commit/289fe74ddbb4c8aa7128f60db6b20c119922b542
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/test/CXX/drs/dr1xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Fill in historical data on when C++ DRs 100-199 were fixed


  Commit: 5a1020bb0083ebfcf5d8879ba99c21bf214fcb56
      https://github.com/llvm/llvm-project/commit/5a1020bb0083ebfcf5d8879ba99c21bf214fcb56
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstSimplify/select.ll

  Log Message:
  -----------
  [InstSimplify] Add test for disjoint or miscompile (NFC)

The absorption case is already handled correctly, but the
idempentence case is not.


  Commit: cd31cf5989aaf6a187aaf3af4f94207c55a70d0f
      https://github.com/llvm/llvm-project/commit/cd31cf5989aaf6a187aaf3af4f94207c55a70d0f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstSimplify/select.ll

  Log Message:
  -----------
  [InstSimplify] Fix or disjoint miscompile with op replacement

Make sure %x does not get folded to "or disjoint %x, %x" without
dropping the flag, as this would be a derefinement.


  Commit: 89b0044ca9a6fb233f8d6dd16db6bd4acc3d3f61
      https://github.com/llvm/llvm-project/commit/89b0044ca9a6fb233f8d6dd16db6bd4acc3d3f61
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/implies.ll

  Log Message:
  -----------
  [InstSimplify] Add test for implied cond with equal ops and constant (NFC)


  Commit: 460faa0c87f0a9496cdaf6c856aff1886e29afe3
      https://github.com/llvm/llvm-project/commit/460faa0c87f0a9496cdaf6c856aff1886e29afe3
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstSimplify/implies.ll

  Log Message:
  -----------
  [InstSimplify] Check common operand with constant earlier

If both icmps have the same operands and the RHS is constant, we
would currently go into the isImpliedCondMatchingOperands() code
path, instead of the isImpliedCondCommonOperandWithConstants()
path. Both are correct, but the latter can produce more accurate
results if the implication is dependent on the sign.


  Commit: 9468de48fcd413aa0895a78bd6f1aeb161b39294
      https://github.com/llvm/llvm-project/commit/9468de48fcd413aa0895a78bd6f1aeb161b39294
  Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/MC/MCInstrItineraries.h
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/CodeGen/TargetSchedule.cpp
    M llvm/lib/MC/MCDisassembler/Disassembler.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
    M llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h

  Log Message:
  -----------
  TargetInstrInfo: make getOperandLatency return optional (NFC) (#73769)

getOperandLatency has the following behavior: it returns -1 as a special
value, negative numbers other than -1 on some target-specific overrides,
or a valid non-negative latency. This behavior can be surprising, as
some callers do arithmetic on these negative values. Change the
interface of getOperandLatency to return a std::optional<unsigned> to
prevent surprises in callers. While at it, change the interface of
getInstrLatency to return unsigned instead of int.

This change was inspired by a refactoring in
TargetSchedModel::computeOperandLatency.


  Commit: 5a32014d82334c4c66c8cc7ae3ed2a489c07db07
      https://github.com/llvm/llvm-project/commit/5a32014d82334c4c66c8cc7ae3ed2a489c07db07
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td

  Log Message:
  -----------
  [mlir] update linalg transform ops docs


  Commit: 69020827cf611170d0bc80879114a2427aa39960
      https://github.com/llvm/llvm-project/commit/69020827cf611170d0bc80879114a2427aa39960
  Author: Shivam Gupta <shivam98.tkg at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  [NFC] Remove a space in CMake.rst

The rendered document is not correctly indentated because of this space.


  Commit: 8727982bdfb84ce4adbd138c146a6b7ecaf98fdb
      https://github.com/llvm/llvm-project/commit/8727982bdfb84ce4adbd138c146a6b7ecaf98fdb
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/include/clang/Driver/Multilib.h
    M clang/lib/Driver/Multilib.cpp
    A clang/test/Driver/baremetal-multilib-exclusive-group.yaml
    A clang/test/Driver/baremetal-multilib-group-error.yaml

  Log Message:
  -----------
  [Driver] Add exclusive-group feature to multilib.yaml. (#69447)

This allows a YAML-based multilib configuration to specify explicitly
that a subset of its library directories are alternatives to each
other, i.e. at most one of that subset should be selected.

So if you have multiple sysroots each including a full set of headers
and libraries, you can mark them as members of the same mutually
exclusive group, and then you'll be sure that only one of them is
selected, even if two or more are compatible with the compile options.

This is particularly important in multilib setups including the libc++
headers, where selecting the include directories from two different
sysroots can cause an actual build failure. This occurs when including
<stdio.h>, for example: libc++'s stdio.h is included first, and will
try to use `#include_next` to fetch the underlying libc's version. But
if there are two include directories from separate multilibs, then
both of their C++ include directories will end up on the include path
first, followed by both the C directories. So the `#include_next` from
the first libc++ stdio.h will include the second libc++ stdio.h, which
will do nothing because it has the same include guard macro, and the
libc header won't ever be included at all.

If more than one of the options in an exclusive group matches the
given flags, the last one wins.

The syntax for specifying this in multilib.yaml is to define a Groups
section in which you specify your group names, and for each one,
declare it to have Type: Exclusive. (This reserves space in the syntax
for maybe adding other group types later, such as a group of mutually
_dependent_ things that you must have all or none of.) Then each
Variant record that's a member of a group has a Group: property giving
that group's name.


  Commit: a2e8207178432f0af30e8c9e3b905a3fd770d500
      https://github.com/llvm/llvm-project/commit/a2e8207178432f0af30e8c9e3b905a3fd770d500
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/IR/LLVMContextImpl.h

  Log Message:
  -----------
  [NFC][LLVMContext] Clean up DenseMapInfo classes used for APInt & APFloat.

DenseMapAPIntKeyInfo looks like a redundant definition because it
mirrors the default used by DenseMap when not specified.

Replacing DenseMapAPFloatKeyInfo with a specialisation of
DenseMapInfo allows DenseMap<T> to be more easily used when T is
an aggregate type containing an APFloat.


  Commit: 85184b4aefbd01afd6e7be57bc6c1c404b3c13ce
      https://github.com/llvm/llvm-project/commit/85184b4aefbd01afd6e7be57bc6c1c404b3c13ce
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M openmp/libomptarget/src/interface.cpp

  Log Message:
  -----------
  [OpenMP] Fix libomptarget build issue (#74067)

Libomptarget cannot be build because of the recent refactoring
introduced in patch 148dec9fa43b :
[OpenMP][NFC] Separate Envar (environment variable) handling (#73994)

That patch moved handling of environment variables from libomptarget
library. That's why we don't need usage of "llvm::omp::target" namespace
if we handle environment variables.


  Commit: 808b7d220309e279cf9c3d5762cb4c9120c0955f
      https://github.com/llvm/llvm-project/commit/808b7d220309e279cf9c3d5762cb4c9120c0955f
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/x86_64/sqrt.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/macros/properties/float.h
    M libc/src/__support/str_to_float.h
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/str_to_float_test.cpp
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdio/sscanf_test.cpp
    M libc/test/src/stdlib/strtold_test.cpp

  Log Message:
  -----------
  [libc][NFC] rename LONG_DOUBLE_IS_DOUBLE into LIBC_LONG_DOUBLE_IS_FLOAT64 (#73948)


  Commit: f1d0276e4c42301155e900424ea734aca7ec97a8
      https://github.com/llvm/llvm-project/commit/f1d0276e4c42301155e900424ea734aca7ec97a8
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M libc/src/__support/macros/properties/float.h

  Log Message:
  -----------
  [libc][NFC] Rename LIBC_LONG_DOUBLE_IS_IEEE754_BIN128 to LIBC_LONG_DOUBLE_IS_FLOAT128 (#74052)

To make it consistent with
https://github.com/llvm/llvm-project/pull/73948 and
https://github.com/llvm/llvm-project/pull/73950


  Commit: 977af4252d1d60a1e9c546f0e4328b1a646ef635
      https://github.com/llvm/llvm-project/commit/977af4252d1d60a1e9c546f0e4328b1a646ef635
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/NormalFloat.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/macros/properties/float.h
    M libc/src/__support/str_to_float.h
    M libc/test/src/__support/str_to_float_test.cpp
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdlib/strtold_test.cpp

  Log Message:
  -----------
  [libc][NFC] Rename SPECIAL_X86_LONG_DOUBLE in LIBC_LONG_DOUBLE_IS_X86_FLOAT80 (#73950)


  Commit: da86d4a8c956f0fcee21444eb6de9f05d39d6574
      https://github.com/llvm/llvm-project/commit/da86d4a8c956f0fcee21444eb6de9f05d39d6574
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp

  Log Message:
  -----------
  [ValueTracking] Reduce duplication in haveNoCommonBitsSet() (NFC)

Extract a function and call it with both operand orders, so that
we don't have to explicitly commute every single pattern.


  Commit: 6e3b2cb46ef5b9d9d28ed337491ee7da7b296616
      https://github.com/llvm/llvm-project/commit/6e3b2cb46ef5b9d9d28ed337491ee7da7b296616
  Author: Eleanor Bonnici <eleanor.bonnici at arm.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
    A llvm/test/MC/ARM/pcrel-adr16-relocs.s
    A llvm/test/MC/ARM/pcrel-adr32-relocs.s
    M llvm/test/MC/ARM/pcrel-arm-ldr-imm8-relocs.s
    M llvm/test/MC/ARM/pcrel-global.s
    M llvm/test/MC/ARM/pcrel-ldr-relocs.s
    M llvm/test/MC/ARM/pcrel-thumb-ldr2-relocs.s
    M llvm/test/MC/ARM/thumb1-relax-adr.s

  Log Message:
  -----------
  [llvm][MC][ARM][Assembly] Emit relocations for ADRs and big-endian targets (#73834)

Follow-up on https://github.com/llvm/llvm-project/pull/72873/
    
When ADR/LDR instructions reference a label in a different section, the
offset is not known until link time, however, the assembler assumes it
    can resolve them in some cases.
    
    The previous patch addressed the issue for most LDR instructions,
    focusing on little-endian targets.
    
This patch addresses the remaining work for ADRs and big-endian targets.


  Commit: 6ab7662f35bb5bc1d19a7e68ec0a710bbf71c2c4
      https://github.com/llvm/llvm-project/commit/6ab7662f35bb5bc1d19a7e68ec0a710bbf71c2c4
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/test/CXX/drs/dr0xx.cpp
    M clang/test/CXX/drs/dr1xx.cpp

  Log Message:
  -----------
  [clang][NFC] Refactor expected directives in C++ DRs 100-199 (#74061)

This patch continues the work started with ea5b1ef016d020c37f903d6c7d4f623be975dab8. See that commit and its corresponding PR for details.


  Commit: f19571ee781de932390e8983267263f504e99e1f
      https://github.com/llvm/llvm-project/commit/f19571ee781de932390e8983267263f504e99e1f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp

  Log Message:
  -----------
  [libc++] Revert "Compile MSAN/TSAN failing test with -O1 (#73555)"

This reverts commit 61aef978d6ab1553c48bbd9bf807a277b22451c1, which
broke the CI on GCC.


  Commit: f42b7615b862bb5f77981f619f92877eb20adf54
      https://github.com/llvm/llvm-project/commit/f42b7615b862bb5f77981f619f92877eb20adf54
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir

  Log Message:
  -----------
  [mlir][Vector] Add fold transpose(shape_cast) -> shape_cast (#73951)

This folds transpose(shape_cast) into a new shape_cast, when the
transpose just permutes a unit dim from the result of the shape_cast.

Example:

```
%0 = vector.shape_cast %vec : vector<[4]xf32> to vector<[4]x1xf32>
%1 = vector.transpose %0, [1, 0] : vector<[4]x1xf32> to vector<1x[4]xf32>
```

Folds to:
```
%0 = vector.shape_cast %vec : vector<[4]xf32> to vector<1x[4]xf32>
```

This is an (alternate) fix for lowering matmuls to ArmSME.


  Commit: e59a0cd7d80a9f1ab803c4ff7416c77e9a34ed1d
      https://github.com/llvm/llvm-project/commit/e59a0cd7d80a9f1ab803c4ff7416c77e9a34ed1d
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-zero-zt.ll

  Log Message:
  -----------
  [AArch64][SME2] Add SME2 builtins for zero { zt0 } (#72274)

See https://github.com/ARM-software/acle/pull/217

Patch by: Kerry McLaughlin kerry.mclaughlin at arm.com


  Commit: 93636581d3589b3b986c0080a82de7fc0bbd01cf
      https://github.com/llvm/llvm-project/commit/93636581d3589b3b986c0080a82de7fc0bbd01cf
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp

  Log Message:
  -----------
  [InstCombiner] Make isFreeToInvert() and friends instance functions (NFC)

In order to use SQ inside of these. There doesn't seem to be any
strong need for these to be static.


  Commit: 65aab9e7222025f57c4bfc253d48c7b2ea8581da
      https://github.com/llvm/llvm-project/commit/65aab9e7222025f57c4bfc253d48c7b2ea8581da
  Author: Adam Paszke <apaszke at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp

  Log Message:
  -----------
  [mlir][gpu] Generate multiple rank-specializations for tensor map cre… (#74082)

…ation

The previous code was technically incorrect in that the type indicated
that the memref only has 1 dimension, while the code below was happily
dereferencing the size array out of bounds. Now, if the compiler doesn't
get too smart about optimizations, this code *might even work*. But, if
the compiler realizes that the array has 1 element it might starrt doing
silly things. This generates a specialization per each supported rank,
making sure we don't do any UB.


  Commit: dd5c5349e1f3b495789a9f67e579121da3722db6
      https://github.com/llvm/llvm-project/commit/dd5c5349e1f3b495789a9f67e579121da3722db6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/free-inversion.ll

  Log Message:
  -----------
  [InstCombine] Add tests for invert of lshr (NFC)


  Commit: b92693ac6afc522ea56bede0b9805ca7c138754c
      https://github.com/llvm/llvm-project/commit/b92693ac6afc522ea56bede0b9805ca7c138754c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/free-inversion.ll

  Log Message:
  -----------
  [InstCombine] Support inverting lshr with non-negative operand

If the lshr operand is non-negative, we can treat it the same
way as an ashr. Ideally we would represent this as "lshr nneg",
but for now just perform the necessary ValueTracking query.

Proof: https://alive2.llvm.org/ce/z/Ahg4ri


  Commit: fdf84cbf87198d16fe17aed0c31989ee31051d82
      https://github.com/llvm/llvm-project/commit/fdf84cbf87198d16fe17aed0c31989ee31051d82
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir

  Log Message:
  -----------
  [mlir][vector] Fix unit dim dropping pattern for masked writes (#74038)

This does the same as #72142 for vector.transfer_write. Previously the
pattern would silently drop the mask.


  Commit: 8c130996c03f6c5993a0989a5c6fa95d1437995a
      https://github.com/llvm/llvm-project/commit/8c130996c03f6c5993a0989a5c6fa95d1437995a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/free-inversion.ll

  Log Message:
  -----------
  Revert "[InstCombine] Support inverting lshr with non-negative operand"

This reverts commit b92693ac6afc522ea56bede0b9805ca7c138754c.

I've made a silly typo in the condition. Will reapply the corrected
version.


  Commit: 852f6be6967911de8ab6fe61b5a632366cc0804e
      https://github.com/llvm/llvm-project/commit/852f6be6967911de8ab6fe61b5a632366cc0804e
  Author: Spenser Bauman <sbauman at mathworks.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir

  Log Message:
  -----------
  [mlir][tosa] Improve tosa-infer-shapes for ops consumed by non-TOSA operators (#72715)

TOSA operators consumed by non-TOSA ops generally do not have their
types inferred, as that would alter the types expected by their
consumers. This prevents type refinement on many TOSA operators when the
IR contains a mix of dialects.

This change modifies tosa-infer-shapes to update the types of all TOSA
operators during inference. When a consumer of that TOSA op is not safe
to update, a tensor.cast is inserted back to the original type. This
behavior is similar to how TOSA ops consumed by func.return are handled.

This allows for more type refinement of TOSA ops, and the additional
tensor.cast operators may be removed by later canonicalizations.


  Commit: 7007919cfde7c7515c0c2cc9b7d66616225d0b17
      https://github.com/llvm/llvm-project/commit/7007919cfde7c7515c0c2cc9b7d66616225d0b17
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/free-inversion.ll

  Log Message:
  -----------
  [InstCombine] Add additional test for invert of lshr (NFC)


  Commit: faebb1b2e6891687e4f608b74205985ec78ade40
      https://github.com/llvm/llvm-project/commit/faebb1b2e6891687e4f608b74205985ec78ade40
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/free-inversion.ll

  Log Message:
  -----------
  Reapply [InstCombine] Support inverting lshr with non-negative operand

My initial patch contained a typo, resulting in the wrong value
being checked for non-negativeness.

-----

If the lshr operand is non-negative, we can treat it the same
way as an ashr. Ideally we would represent this as "lshr nneg",
but for now just perform the necessary ValueTracking query.

Proof: https://alive2.llvm.org/ce/z/Ahg4ri


  Commit: 0d87e2577914a6384f4ad5952b8fa9b0d8e48da8
      https://github.com/llvm/llvm-project/commit/0d87e2577914a6384f4ad5952b8fa9b0d8e48da8
  Author: Spenser Bauman <sbauman at mathworks.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
    A mlir/test/Integration/Dialect/Tosa/CPU/test-fully-connected.mlir

  Log Message:
  -----------
  [mlir][tosa] Improve lowering to tosa.fully_connected (#73049)

The current lowering of tosa.fully_connected produces a linalg.matmul
followed by a linalg.generic to add the bias. The IR looks like the
following:

    %init = tensor.empty()
    %zero = linalg.fill ins(0 : f32) outs(%init)
    %prod = linalg.matmul ins(%A, %B) outs(%zero)

    // Add the bias
    %initB = tensor.empty()
    %result = linalg.generic ins(%prod, %bias) outs(%initB) {
       // add bias and product
    }

This has two down sides:

1. The tensor.empty operations typically result in additional
allocations after bufferization
2. There is a redundant traversal of the data to add the bias to the
matrix product.

This extra work can be avoided by leveraging the out-param of
linalg.matmul. The new IR sequence is:

    %init = tensor.empty()
    %broadcast = linalg.broadcast ins(%bias) outs(%init)
    %prod = linalg.matmul ins(%A, %B) outs(%broadcast)

In my experiments, this eliminates one loop and one allocation (post
bufferization) from the generated code.


  Commit: f58fb8c209a5179f8f2e02e2a0816c9b1f1edb1b
      https://github.com/llvm/llvm-project/commit/f58fb8c209a5179f8f2e02e2a0816c9b1f1edb1b
  Author: Spenser Bauman <sbauman at mathworks.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir

  Log Message:
  -----------
  [mlir][tosa] Fix lowering of tosa.conv2d (#73240)

The lowering of tosa.conv2d produces an illegal tensor.empty operation
where the number of inputs do not match the number of dynamic dimensions
in the output type.

The fix is to base the generation of tensor.dim operations off the
result type of the conv2d operation, rather than the input type. The
problem and fix are very similar to this fix

https://github.com/llvm/llvm-project/pull/72724

but for convolution.


  Commit: 39d15a7d3bc6bca4c2ad0fc432ba757eb9b8338c
      https://github.com/llvm/llvm-project/commit/39d15a7d3bc6bca4c2ad0fc432ba757eb9b8338c
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll

  Log Message:
  -----------
  [AArch64][SME] Remove implicit-def's on smstart (#69012)

When we lower calls, the sequence of argument copy-to-reg nodes are
glued to the smstart. In the InstrEmitter, these glued copies are turned
into implicit defs, since the actual call instruction uses those
physregs, resulting in the register allocator adding unnecessary copies
of regs that are preserved anyway.


  Commit: 14e991740b5425680d49d75336132e793f1315e8
      https://github.com/llvm/llvm-project/commit/14e991740b5425680d49d75336132e793f1315e8
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    A clang/test/ExtractAPI/vfs_redirected_include.m

  Log Message:
  -----------
  [clang][ExtractAPI] Ensure LocationFileChecker doesn't try to traverse VFS when determining file path (#74071)

As part of https://reviews.llvm.org/D154130 the logic of
LocationFileChecker changed slightly to try and get the absolute
external file path instead of the name as requested when the file was
openened which would be before VFS mappings in our usage. Ensure that we
only check against the name as requested instead of trying to generate
the external canonical file path.

rdar://115195433


  Commit: d222fa4521531cc4ac14b8e157d231c108c003be
      https://github.com/llvm/llvm-project/commit/d222fa4521531cc4ac14b8e157d231c108c003be
  Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/include/llvm/MC/MCInstrItineraries.h
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp

  Log Message:
  -----------
  TargetInstrInfo: squelch a signedness warning on MSVC (#74078)

Follow up on 9468de4 (TargetInstrInfo: make getOperandLatency return
optional (NFC)) to squelch a signedness warning on MSVC, reported by
Simon Pilgrim.


  Commit: 76f78ecc789d58baa3a88b2fe2a57428f07e5362
      https://github.com/llvm/llvm-project/commit/76f78ecc789d58baa3a88b2fe2a57428f07e5362
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/X86/X86Subtarget.cpp
    R llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
    M llvm/test/CodeGen/X86/code-model-elf.ll
    M llvm/test/CodeGen/X86/pcsections.ll
    M llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll

  Log Message:
  -----------
  Revert "Reland [X86] With large code model, put functions into .ltext with large section flag (#73037)"

This reverts commit 4bf8a688956a759b7b6b8d94f42d25c13c7af130.

This commit seems to be breaking the semantics of the
ObjectFile::isSectionText method, which breaks numba/llvmlite bindings.


  Commit: f184147706f5430387fee99d2e94c7a3361c642b
      https://github.com/llvm/llvm-project/commit/f184147706f5430387fee99d2e94c7a3361c642b
  Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h

  Log Message:
  -----------
  [amdgpu] Default to 1.0, instead of unspecified, for dynamic hsa (#74098)

The plugin checks the values of HSA_AMD_INTERFACE_VERSION_* so we now
set them to something safe in the header.


  Commit: f40d25151c25e257f3ebd2696e0bf133fe2a30ff
      https://github.com/llvm/llvm-project/commit/f40d25151c25e257f3ebd2696e0bf133fe2a30ff
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/drs/dr20xx.cpp
    A clang/test/CXX/drs/dr24xx.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
    A clang/test/SemaTemplate/temp_arg_nontype_cxx2c.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Implement P2308R1 - Template Parameter Initialization. (#73103)

https://wiki.edg.com/pub/Wg21kona2023/StrawPolls/p2308r1.html

This implements P2308R1 as a DR and resolves CWG2459, CWG2450 and
CWG2049.


Fixes #73666
Fixes #58434 
Fixes #41227
Fixes #49978
Fixes #36296


  Commit: 6cd7500ae690b412b7a350c70b27bd8e0839d643
      https://github.com/llvm/llvm-project/commit/6cd7500ae690b412b7a350c70b27bd8e0839d643
  Author: Youngsuk Kim <joseph942010 at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/IRBuilder.h

  Log Message:
  -----------
  [llvm][IR] Remove method IRBuilderBase::getInt8PtrTy (#74096)

Users should migrate to IRBuilderBase::getPtrTy.


  Commit: abaeaf382304e5fe30fe05afd09cec3f7191e484
      https://github.com/llvm/llvm-project/commit/abaeaf382304e5fe30fe05afd09cec3f7191e484
  Author: Shraiysh <Shraiysh.Vaishay at amd.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M openmp/libomptarget/test/offloading/fortran/target_map_common_block.f90

  Log Message:
  -----------
  [OpenMP][flang] Adding more tests for commonblock with target map (#71146)

This patch addresses the concern about multiple devices and also adds
more tests for `map(to:)`, `map(from:)` and named common blocks.


  Commit: 7832a8582a42e5be7e313e88efabcdc981be6dec
      https://github.com/llvm/llvm-project/commit/7832a8582a42e5be7e313e88efabcdc981be6dec
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/MLRegAlloc/dev-mode-extra-features-logging.ll

  Log Message:
  -----------
  [mlgo] Fix test post PR #73899

Opcode value change.


  Commit: ea4eb691f4955e3b784ebf9bc94a47186838c6f2
      https://github.com/llvm/llvm-project/commit/ea4eb691f4955e3b784ebf9bc94a47186838c6f2
  Author: Radu Salavat <radu.salavat at arm.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    A flang/test/Driver/frame-pointer-forwarding.f90
    M flang/test/Driver/frontend-forwarding.f90

  Log Message:
  -----------
  [Flang][Clang] Add support for frame pointers in Flang


  Commit: bc802407d16f4aa0df9f32610e3b25b6a791c085
      https://github.com/llvm/llvm-project/commit/bc802407d16f4aa0df9f32610e3b25b6a791c085
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
    R mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul_mixed_ty.mlir

  Log Message:
  -----------
  [mlir][sve][nfc] Merge the integration tests for linalg.matmul (#74059)

At the moment the logic to tile and vectorize `linalg.matmul` is
duplicated in multiple test files:
  * matmul.mlir
  * matmul_mixed_ty.mlir

Instead, this patch uses `transform.foreach` to apply the same sequence
to multiple functions within the same test file (e.g. `matmul_f32` and
`matmul_mixed_ty` as defined in the original files). This allows us to
merge relevant test files.


  Commit: 76a9ea1321b1365713bbf6afafbd18cc5d7a9381
      https://github.com/llvm/llvm-project/commit/76a9ea1321b1365713bbf6afafbd18cc5d7a9381
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M bolt/utils/llvm-bolt-wrapper.py

  Log Message:
  -----------
  [BOLT][utils] Remove heatmap mode detection from wrapper script

Heatmap mode has been moved to a separate tool. Drop the support in
llvm-bolt-wrapper.


  Commit: 9584f5834499e6093797d4a28fde209f927ea556
      https://github.com/llvm/llvm-project/commit/9584f5834499e6093797d4a28fde209f927ea556
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M bolt/utils/nfc-stat-parser.py

  Log Message:
  -----------
  [BOLT][utils] Bump default time threshold to 2s in nfc-stat-parser


  Commit: f866fde59854fd12dcc067388e4a60b218a0f818
      https://github.com/llvm/llvm-project/commit/f866fde59854fd12dcc067388e4a60b218a0f818
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/constantpool.ll

  Log Message:
  -----------
  [RISCV][GISel] Lower G_FCONSTANT to constant pool load without F or D. (#73034)

I used an IR test because it was easier than constructing different MIR
test for each type of addressing.


  Commit: 3693f44fffc0622760979dd5e2143797662913fe
      https://github.com/llvm/llvm-project/commit/3693f44fffc0622760979dd5e2143797662913fe
  Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M libc/src/__support/macros/properties/float.h
    M libc/src/__support/macros/properties/os.h

  Log Message:
  -----------
  [libc] Exclude Fuchsia from float128 detection (#73985)

Following from https://github.com/llvm/llvm-project/pull/73372:

Fuchsia targets currently don't support `float128`. Add detection for
`LIBC_TARGET_OS_IS_FUCHSIA`, and exclude this OS from setting
`LIBC_COMPILER_HAS_FLOAT128_EXTENSION`.


  Commit: 8bea804923a1b028e86b177caccb3258708ca01c
      https://github.com/llvm/llvm-project/commit/8bea804923a1b028e86b177caccb3258708ca01c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M libc/utils/gpu/loader/amdgpu/Loader.cpp

  Log Message:
  -----------
  [libc] Move the pointer to pin off the stack to the heap (#74118)

Summary:
This may be problematic to pin a stack pointer. Allocate it via the OS
allocator instead as the documentation suggests.

For some reason, if you attempt to free this pointer after the memory
region has been unlocked, it will return an invalid pointer.


  Commit: 6c5e967f5d19ccefe6cf7700ac3998b80d19f202
      https://github.com/llvm/llvm-project/commit/6c5e967f5d19ccefe6cf7700ac3998b80d19f202
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/TargetInstrInfo.cpp

  Log Message:
  -----------
  Fix MSVC signed/unsigned mismatch warning. NFC.


  Commit: 625e1ecb7e80c1da4ea50e5b1ad632f08b71d127
      https://github.com/llvm/llvm-project/commit/625e1ecb7e80c1da4ea50e5b1ad632f08b71d127
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp

  Log Message:
  -----------
  Fix MSVC signed/unsigned mismatch warning. NFC.


  Commit: ff0d8a9a6c2a08e206e77db318a18210678f54a4
      https://github.com/llvm/llvm-project/commit/ff0d8a9a6c2a08e206e77db318a18210678f54a4
  Author: chrulski-intel <christopher.m.chrulski at intel.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Passes/StandardInstrumentations.cpp
    A llvm/test/Other/trigger-verifier-error.ll

  Log Message:
  -----------
  Report pass name when -llvm-verify-each reports breakage (#71447)

Update the string reported to include the pass name of last pass when
running verifier after each pass.


  Commit: bc4e0c048aa3cd940b0cea787014c7e8680e5040
      https://github.com/llvm/llvm-project/commit/bc4e0c048aa3cd940b0cea787014c7e8680e5040
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Modernize the plugin handling (#74034)

This basically moves code around again, but this time to provide cleaner
interfaces and remove duplication. PluginAdaptorManagerTy is almost all
gone after this.


  Commit: 70187ebadf20f014a7821cf322eae60192dbe4cc
      https://github.com/llvm/llvm-project/commit/70187ebadf20f014a7821cf322eae60192dbe4cc
  Author: Jake Egan <5326451+jakeegan at users.noreply.github.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/test/DebugInfo/Generic/mixed-source.ll

  Log Message:
  -----------
  [AIX][tests] Disable mixed-source.ll test using debug_addr section

AIX doesn't support the `debug_addr` section.

See related PR: #71814


  Commit: 3530428b8fab101fa026c734992e11a718071c8c
      https://github.com/llvm/llvm-project/commit/3530428b8fab101fa026c734992e11a718071c8c
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    A openmp/libomptarget/include/OffloadPolicy.h
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/src/omptarget.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Extract OffloadPolicy into a helper class (#74029)

OpenMP allows 3 different offload policies, handling of which we want to
encapsulate.


  Commit: ca2d79f9cad48b7165bf81a7cc24b67f277915f1
      https://github.com/llvm/llvm-project/commit/ca2d79f9cad48b7165bf81a7cc24b67f277915f1
  Author: dhruvachak <Dhruva.Chakrabarti at amd.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp

  Log Message:
  -----------
  [OpenMP] Add an INFO message for data transfer of kernel launch env. (#74030)


  Commit: e81796671890b59c110f8e41adc7ca26f8484d20
      https://github.com/llvm/llvm-project/commit/e81796671890b59c110f8e41adc7ca26f8484d20
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/test/Driver/riscv-features.c
    M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/CodeGen/RISCV/memcpy-inline.ll
    M llvm/test/CodeGen/RISCV/memcpy.ll
    M llvm/test/CodeGen/RISCV/memset-inline.ll
    M llvm/test/CodeGen/RISCV/pr56110.ll
    M llvm/test/CodeGen/RISCV/riscv-func-target-feature.ll
    M llvm/test/CodeGen/RISCV/rvv/concat-vectors-constant-stride.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
    M llvm/test/CodeGen/RISCV/rvv/memcpy-inline.ll
    M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
    M llvm/test/CodeGen/RISCV/rvv/unaligned-loads-stores.ll
    M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV] Collapse fast unaligned access into a single feature [nfc-ish] (#73971)

When we'd originally added unaligned-scalar-mem and
unaligned-vector-mem, they were separated into two parts under the
theory that some processor might implement one, but not the other. At
the moment, we don't have evidence of such a processor. The C/C++ level
interface, and the clang driver command lines have settled on a single
unaligned flag which indicates both scalar and vector support unaligned.
Given that, let's remove the test matrix complexity for a set of
configurations which don't appear useful.

Given these are internal feature names, I don't think we need to provide
any forward compatibility. Anyone disagree?

Note: The immediate trigger for this patch was finding another case
where the unaligned-vector-mem wasn't being properly serialized to IR
from clang which resulted in problems reproducing assembly from clang's
-emit-llvm feature. Instead of fixing this, I decided getting rid of the
complexity was the better approach.


  Commit: 62213be8726d8b036c1c1b8fa1f0228608350f17
      https://github.com/llvm/llvm-project/commit/62213be8726d8b036c1c1b8fa1f0228608350f17
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M lld/ELF/Arch/RISCV.cpp
    A lld/test/ELF/riscv-relax-call-mixed-rvc.s

  Log Message:
  -----------
  [LLD][RISCV] Fix incorrect call relaxation when mixing +c and -c objects (#73977)

This fixes a mis-link when mixing compressed and non-compressed input to
LLD. When relaxing calls, we must respect the source file that the
section came from when deciding whether it's legal to use compressed
instructions. If the call in question comes from a non-rvc source, then it will not
expect 2-byte alignments and cascading failures may result.

This fixes https://github.com/llvm/llvm-project/issues/63964. The symptom 
seen there is that a latter RISCV_ALIGN can't be satisfied and we either
fail an assert or produce a totally bogus link result. (It can be easily
reproduced by putting .p2align 5 right before the nop in the reduced
test case and running check-lld on an assertions enabled build.)  However,
it's important to note this is just one possible symptom of the problem.

If the resulting binary has a runtime switch between rvc and non-rvc
routines (via e.g. ifuncs), then even if we manage to link we may execute invalid
instructions on a machine which doesn't implement compressed instructions.


  Commit: aa7e873f2f52938ffa4d4711dbe494feb49535c8
      https://github.com/llvm/llvm-project/commit/aa7e873f2f52938ffa4d4711dbe494feb49535c8
  Author: David Green <david.green at arm.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fmaxnum.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fminnum.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-memcpy-et-al.mir

  Log Message:
  -----------
  [AArch64] Regenerate fmin/fmax/memcpy legalization tests. NFC


  Commit: 8c1d476db0ac73df44b1b9db66fdac45473dea68
      https://github.com/llvm/llvm-project/commit/8c1d476db0ac73df44b1b9db66fdac45473dea68
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M libc/utils/gpu/loader/amdgpu/Loader.cpp

  Log Message:
  -----------
  Revert "[libc] Explicitly pin memory for the client symbol lookup (#73988)"

Summary:
This caused the bots to begin failing. Revert for now to get the bot
green.

This reverts commit 8bea804923a1b028e86b177caccb3258708ca01c.
This reverts commit e1395c7bdbe74b632ba7fbd90e2be2b4d82ee09e.


  Commit: 171cac95a7eb1526f4d18bf8f654275656183ce4
      https://github.com/llvm/llvm-project/commit/171cac95a7eb1526f4d18bf8f654275656183ce4
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] Fold padding_value away for pack ops when possible. (#74005)

If we can infer statically that there are no incomplete tiles, we can
remove the optional padding operand.

Fixes https://github.com/openxla/iree/issues/15417


  Commit: 7e7aaa53a11009a28228e6f39c48adf64d26d1d6
      https://github.com/llvm/llvm-project/commit/7e7aaa53a11009a28228e6f39c48adf64d26d1d6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/iabs.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Support G_ABS with Zbb. (#72939)

We can use neg+max or negw+max.


  Commit: 279b1ea65f8403aa6d49e7aafa7e40dc906be4bf
      https://github.com/llvm/llvm-project/commit/279b1ea65f8403aa6d49e7aafa7e40dc906be4bf
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll

  Log Message:
  -----------
  [SLP]Improve gathering of the scalars used in the graph.

Currently we emit gathers for scalars being vectorized in the tree as
a pair of extractelement/insertelement instructions. Instead we can try
to find all required vectors and emit shuffle vector instructions
directly, improving the code and reducing compile time.

Part of non-power-of-2 vectorization.

Differential Revision: https://reviews.llvm.org/D110978


  Commit: deca8055d4f590047730df4a6806e06d623ef1ff
      https://github.com/llvm/llvm-project/commit/deca8055d4f590047730df4a6806e06d623ef1ff
  Author: Tanmay <tnmysachan at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Support/Regex.cpp
    M llvm/unittests/Support/RegexTest.cpp

  Log Message:
  -----------
  Avoid nullptr+0 in Regex (#73071)

A zero-length StringRef can have a null data pointer, which, if passed to the llvm_regex functions which take a pointer+length, but then convert it into a [begin, end) pointer pair can cause a nullptr+0 expression to be evaluated, which is UB. So avoid that by ensuring the data pointer is always non-null, even in the zero-length case.


  Commit: 37f2f48c8f43b2b98869a6e5f009d3d2471ecdaf
      https://github.com/llvm/llvm-project/commit/37f2f48c8f43b2b98869a6e5f009d3d2471ecdaf
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Handle a debug-info splicing corner case (#73810)

A large amount of complexity when it comes to shuffling DPValue objects
around is pushed into BasicBlock::spliceDebugInfo, and it gets
comprehensive testing there via the unit tests. It turns out that there's a
corner case though: splicing instructions and debug-info to the end()
iterator requires blocks of DPValues to be concatenated, but the DPValues
don't behave normally as they're dangling at the end of a block. While this
splicing-to-an-empty-block case is rare, and it's even rarer for it to
contain debug-info, it does happen occasionally.

Fix this by wrapping spliceDebugInfo with an outer layer that removes any
dangling DPValues in the destination block -- that way the main splicing
function (renamed to spliceDebugInfoImpl) doesn't need to worry about that
scenario. See the diagram in the added function for more info.


  Commit: 1a013b61dc0f8f415fe34ce4339e35c13ad15785
      https://github.com/llvm/llvm-project/commit/1a013b61dc0f8f415fe34ce4339e35c13ad15785
  Author: eric <eric at efcs.ca>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M libcxx/utils/ci/Dockerfile
    M libcxx/utils/ci/docker-compose.yml

  Log Message:
  -----------
  Allow libc++ image tag to be specified via enviroment variables.

This change is needed for changes I'm working on that allow
github workflows to build, push, and otherwise manage the container
images they use


  Commit: 9553e156cb840ba4bc040bbfc1f44dc284a97c86
      https://github.com/llvm/llvm-project/commit/9553e156cb840ba4bc040bbfc1f44dc284a97c86
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M libc/utils/gpu/loader/amdgpu/Loader.cpp

  Log Message:
  -----------
  [libc] Allocate fine-grained memory for the RPC host symbol

Summary:
This pointer has been causing issues. Allocating and reading from coarse
memory on the CPU is not guaranteed and varies depending on the kernel
version and support. Previously we attempted to pin the memory but this
caused unexpected failures. This should be a legal operation and work
around the problem as fine-grained memory should be always legal to
write to by both sides.


  Commit: adc6b43ee1c4672b8aa1a0763111c1ade9e7e2bb
      https://github.com/llvm/llvm-project/commit/adc6b43ee1c4672b8aa1a0763111c1ade9e7e2bb
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp

  Log Message:
  -----------
  [llvm][NFC] Autoupdater AMD intrinsic detection (#73331)

Check atomic prefix before looking for atomic instructions


  Commit: 91b2559a6a56319ef40bf93f12eccd8d0b37d964
      https://github.com/llvm/llvm-project/commit/91b2559a6a56319ef40bf93f12eccd8d0b37d964
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp

  Log Message:
  -----------
  [nvptx] Fix autoupdater's intrinsic matcher (#73330)

Fix nvptx autoupdater's intrinsic matcher's typo'd names that used `_` (underbar), rather than '.' (dot), as a separator.


  Commit: 481e9b3e0b9c0a6843261f060822c7a41387e28c
      https://github.com/llvm/llvm-project/commit/481e9b3e0b9c0a6843261f060822c7a41387e28c
  Author: Charlie Barto <chbarto at microsoft.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/asan/asan_interface.inc
    A compiler-rt/lib/asan/asan_win_delete_array_align_nothrow_thunk.cpp
    A compiler-rt/lib/asan/asan_win_delete_array_align_thunk.cpp
    A compiler-rt/lib/asan/asan_win_delete_array_nothrow_thunk.cpp
    A compiler-rt/lib/asan/asan_win_delete_array_size_align_thunk.cpp
    A compiler-rt/lib/asan/asan_win_delete_array_size_thunk.cpp
    A compiler-rt/lib/asan/asan_win_delete_array_thunk.cpp
    A compiler-rt/lib/asan/asan_win_delete_scalar_align_nothrow_thunk.cpp
    A compiler-rt/lib/asan/asan_win_delete_scalar_align_thunk.cpp
    A compiler-rt/lib/asan/asan_win_delete_scalar_nothrow_thunk.cpp
    A compiler-rt/lib/asan/asan_win_delete_scalar_size_align_thunk.cpp
    A compiler-rt/lib/asan/asan_win_delete_scalar_size_thunk.cpp
    A compiler-rt/lib/asan/asan_win_delete_scalar_thunk.cpp
    A compiler-rt/lib/asan/asan_win_new_array_align_nothrow_thunk.cpp
    A compiler-rt/lib/asan/asan_win_new_array_align_thunk.cpp
    A compiler-rt/lib/asan/asan_win_new_array_nothrow_thunk.cpp
    A compiler-rt/lib/asan/asan_win_new_array_thunk.cpp
    A compiler-rt/lib/asan/asan_win_new_delete.cpp
    A compiler-rt/lib/asan/asan_win_new_delete_thunk_common.h
    A compiler-rt/lib/asan/asan_win_new_scalar_align_nothrow_thunk.cpp
    A compiler-rt/lib/asan/asan_win_new_scalar_align_thunk.cpp
    A compiler-rt/lib/asan/asan_win_new_scalar_nothrow_thunk.cpp
    A compiler-rt/lib/asan/asan_win_new_scalar_thunk.cpp
    M compiler-rt/test/asan/TestCases/Windows/double_operator_delete.cpp
    A compiler-rt/test/asan/TestCases/Windows/new_delete_mfc_already_defined.cpp
    A compiler-rt/test/asan/TestCases/Windows/new_delete_mfc_already_defined_dbg.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_array_new_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_array_new_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_array_new_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_array_new_with_dtor_left_oob.cpp
    A compiler-rt/test/asan/TestCases/Windows/operator_delete_replacement_array.cpp
    A compiler-rt/test/asan/TestCases/Windows/operator_delete_replacement_scalar.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_delete_wrong_argument.cpp
    A compiler-rt/test/asan/TestCases/Windows/operator_new_delete_replacement_all.cpp
    A compiler-rt/test/asan/TestCases/Windows/operator_new_delete_replacement_common.h
    A compiler-rt/test/asan/TestCases/Windows/operator_new_delete_replacement_macros.h
    M compiler-rt/test/asan/TestCases/Windows/operator_new_left_oob.cpp
    A compiler-rt/test/asan/TestCases/Windows/operator_new_replacement_array.cpp
    A compiler-rt/test/asan/TestCases/Windows/operator_new_replacement_scalar.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_new_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_new_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/wrong_downcast_on_heap.cpp
    M compiler-rt/test/asan/TestCases/large_func_test.cpp
    M compiler-rt/test/asan/TestCases/malloc_context_size.cpp
    M compiler-rt/test/asan/TestCases/use-after-delete.cpp

  Log Message:
  -----------
  [asan][win][msvc] override new and delete and seperate TUs (#68754)

Migrated from: https://reviews.llvm.org/D155879, with some of the
suggestions applied.

PR Description copied from above:

Currently asan simply exports each overridden new/delete function from
the DLL, this works fine normally, but fails if the user is overriding
some, but not all, of these functions. In this case the non-overridden
functions still come from the asan DLL, but they can't correctly call
the user provided override (for example sized op delete should fall back
to scalar op delete, if a scalar op delete is provided). Things were
also broken in the static build because all the asan overrides were
exported from the same TU, and so if you overrode one but not all of
them then you'd get ODR violations. This PR should fix both of these
cases, but the static case isn't really tested (and indeed one such test
does fail) because linking asan statically basically doesn't work on
windows right now with LLVM's version of asan. In fact, while we did fix
this in our fork, it was a huge mess and we've now made the dynamic
version work in all situations (/MD, /MT, /MDd, /MTd, etc) instead.

The following is the description from the internal PR that implemented
most of this feature.

> Previously, operator new/delete were provided as DLL exports when
linking dynamically and wholearchived when linked statically. Both
scenarios were broken. When linking statically, the user could not
define their own op new/delete, because they were already brought into
the link by ASAN. When dynamically linking, if the user provided some
but not all of the overloads, new and delete would be partially hooked.
For example, if the user defined scalar op delete, but the program then
called sized op delete, the sized op delete would still be the version
provided by ASAN instead of falling back to the user-defined scalar op
delete, like the standard requires.

> The change <internal PR number>: ASAN operator new/delete fallbacks in
the ASAN libraries fixes this moving all operator new/delete definitions
to be statically linked. However, this still won't work if
/InferAsanLibs still whole-archives everything since then all the op
new/deletes would always be provided by ASAN, which is why these changes
are necessary.

> With these changes, we will no longer wholearchive all of ASAN and
will leave the c++ parts (the op new/delete definitions) to be included
as a default library. However, it is also necessary to ensure that the
asan library with op new/delete will be searched before the
corresponding CRT library with the same op new/delete definitions. To
accomplish this, we make sure to add the asan library to the beginning
of the default lib list, or move it explicitly to the front if it's
already in the list. If the C runtime library is explicitly provided, we
make sure to warn the user if the current linker line will result in
operator new/delete not being provided by ASAN.

Note that the rearrangement of defaultlibs is not in this diff.

---------

Co-authored-by: Charlie Barto <Charles.Barto at microsoft.com>


  Commit: 4c44dcffd5f1557bde2c21773221081437308895
      https://github.com/llvm/llvm-project/commit/4c44dcffd5f1557bde2c21773221081437308895
  Author: Jinjie Huang <huangjinjie at bytedance.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/include/llvm/DWP/DWP.h
    M llvm/lib/DWP/DWP.cpp
    M llvm/tools/llvm-dwp/Opts.td
    M llvm/tools/llvm-dwp/llvm-dwp.cpp

  Log Message:
  -----------
  Support soft failure on DWP section overflow, producing a truncated but valid DWP(#71902)

When 'ContinueOnCuIndexOverflow' enables without this modification, the
forcibly generated '.dwp' won't be recognized by Debugger(gdb 10.1)
correctly.
<img width="657" alt="image"
src="https://github.com/llvm/llvm-project/assets/150100070/31732775-2548-453a-a47a-fa04c6d05fe9">
it looks like there's a problem with processing the dwarf header, which
makes debugging completely impossible. (unless the consumer walks the debug_info section to rebuild that column (if that's the only section that overflowed - if it's another section, there's no recovery))

**About patch:**
When llvm-dwp enables option '--continue-on-cu-index-overflow=soft-stop'
and recognizes the overflow problem , it will stop packing and generate
the '.dwp' file at once, discarding any DWO files that would not fit
within the 32 bit/4GB limits of the format.
<img width="625" alt="image"
src="https://github.com/llvm/llvm-project/assets/150100070/77d6be24-262b-4f4c-afc0-9a6c49e133c7">


  Commit: f310a5d2c13455f1d68f5654fa4258357bafeff6
      https://github.com/llvm/llvm-project/commit/f310a5d2c13455f1d68f5654fa4258357bafeff6
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td
    M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Tensor/Transforms/ConcatOpPatterns.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    A mlir/test/Dialect/Tensor/decompose-concat.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir
    M mlir/test/Dialect/Tensor/ops.mlir

  Log Message:
  -----------
  [mlir][tensor] Add a tensor.concat operation (#72779)

This adds an operation for concatenating ranked tensors along a static
dimension, as well as a decomposition mirroring the existing lowering
from TOSA to Tensor. This offers a convergence point for "input" like
dialects that include various lowerings for concatenation operations,
easing later analysis. In the future, this op can implement the
necessary interfaces for tiling, as well as potentially add conversions
to some kind of linalg and/or memref counterpart.

This patch adds the op, the decomposition, and some basic
folding/canonicalization. Replacing lowerings with the op (such as the
TOSA lowering) will come as a follow up.

See
https://discourse.llvm.org/t/rfc-tensor-add-a-tensor-concatenate-operation/74858


  Commit: 296088bdf371e8ecd4a1797521b90881d6026581
      https://github.com/llvm/llvm-project/commit/296088bdf371e8ecd4a1797521b90881d6026581
  Author: ShatianWang <38512325+ShatianWang at users.noreply.github.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M bolt/lib/Passes/SplitFunctions.cpp

  Log Message:
  -----------
  [BOLT][NFC] Remove unused code for CDSplit (#74136)

This diff removes JumpInfo related code that is no longer needed by
CDSplit from SplitFunctions.cpp.


  Commit: 1f8f9e3163f6367258281f50b9d0492855c996e8
      https://github.com/llvm/llvm-project/commit/1f8f9e3163f6367258281f50b9d0492855c996e8
  Author: Haowei <haowei at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M libcxx/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Correct libcxx default linker script behavior (#74130)

Patch 4b1fe097f9a3882f437bc3b829ef02331e28a8d6 introduced a bug when
building libc++ for Fuchsia, it disabled the libc++.so linker script by
default. This patch restores its original behavior.


  Commit: 4069299d71e16ffc9bb548b628bb5fbb10ff740d
      https://github.com/llvm/llvm-project/commit/4069299d71e16ffc9bb548b628bb5fbb10ff740d
  Author: Stefan Pintilie <stefanp at ca.ibm.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstrP10.td
    A llvm/test/MC/PowerPC/ppc64-encoding-full-names.s

  Log Message:
  -----------
  [PowerPC] Fix the register class for the instruction paddi. (#73995)

The register class for the PADDI definition is incorrect as register
zero for RA is treated as an actual zero.


  Commit: 81cd283f065b472a355b6edf0b01dfa11cb5f429
      https://github.com/llvm/llvm-project/commit/81cd283f065b472a355b6edf0b01dfa11cb5f429
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py

  Log Message:
  -----------
  [lldb/test] Add OpenBSD to _get_platform_os (#74036)


  Commit: c3f0932c189e4c11f82a3f8d73d2002e0aa6dab6
      https://github.com/llvm/llvm-project/commit/c3f0932c189e4c11f82a3f8d73d2002e0aa6dab6
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M lldb/source/Host/posix/PipePosix.cpp

  Log Message:
  -----------
  [lldb] Simplify pipe2(2) handling on FreeBSD (#74019)

FreeBSD 10.x and 11.x support has been dropped leaving 12.x as the
minimum version. This FreeBSD check can be simplified.


https://github.com/llvm/llvm-project/commit/812dad536ed50abe94d6e2b2519f351791c24c59


  Commit: 25ea0e9d9a262d228b1c43ac1906017822dcc365
      https://github.com/llvm/llvm-project/commit/25ea0e9d9a262d228b1c43ac1906017822dcc365
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
    M lldb/test/API/lit.cfg.py

  Log Message:
  -----------
  [lldb] Make use of LD_LIBRARY_PATH on OpenBSD (#74017)


  Commit: 027935d3cd2886d3dd07741539305f972c5f7e5f
      https://github.com/llvm/llvm-project/commit/027935d3cd2886d3dd07741539305f972c5f7e5f
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M openmp/runtime/src/kmp_os.h

  Log Message:
  -----------
  [OpenMP] Re-enable KMP_HAVE_QUAD on NetBSD 10.0 with GCC 10.5 (#73478)


  Commit: ed22bf69917479034aa4d2d42cbd9cb9d59cc0ae
      https://github.com/llvm/llvm-project/commit/ed22bf69917479034aa4d2d42cbd9cb9d59cc0ae
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/Dialect/Linalg/named-ops.mlir

  Log Message:
  -----------
  [mlir][linalg] Fix weight dimension ordering in 2D grouped conv (#73855)

The `conv_2d_ngchw_fgchw` Op implements 2d grouped convolution with
dimensions ordered as given in the name. However, the current
implementation orders weights as `gfchw` instead of `fgchw`. This was
already pointed out in an old phabricator revision which never landed:
https://reviews.llvm.org/D150064

This patch
1) Adds a new op `conv_2d_ngchw_gfchw`
2) Fixes the dimension ordering of the old op `conv_2d_ngchw_fgchw`
3) Adds tests with non-dynamic dimensions so that it's easier to
  understand.


  Commit: a4d85490e029e797d22881b37d476c2050d0d6a2
      https://github.com/llvm/llvm-project/commit/a4d85490e029e797d22881b37d476c2050d0d6a2
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/test/Driver/hip-toolchain-rdc.hip

  Log Message:
  -----------
  [HIP] fix stack marking for -fgpu-rdc (#72782)

HIP toolchain uses llvm-mc to generate a host object embedding device
binary for -fgpu-rdc. Due to lack of .note.GNU-stack section, the
generated relocatable has executable stack marking, which disables
protection from executable stack for any HIP programs compiled with
-fgpu-rdc.

This patch adds .note.GNU-stack section to the input to llvm-mc to fix
the executable stack marking.

Fixes: https://github.com/llvm/llvm-project/issues/71711


  Commit: 2b76e20ea782790a78ec58d5f94ce88a173bab7f
      https://github.com/llvm/llvm-project/commit/2b76e20ea782790a78ec58d5f94ce88a173bab7f
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/lib/Sema/SemaCUDA.cpp
    A clang/test/SemaCUDA/trivial-ctor-dtor.cu

  Log Message:
  -----------
  [CUDA][HIP] allow trivial ctor/dtor in device var init (#73140)

Treat ctor/dtor in device var init as host device function
so that they can be used to initialize file-scope
device variables to match nvcc behavior. If they are non-trivial
they will be diagnosed.

We cannot add implicit host device attrs to non-trivial
ctor/dtor since determining whether they are non-trivial
needs to know whether they have a trivial body and all their
member and base classes' ctor/dtor have trivial body, which
is affected by where their bodies are defined or instantiated.

Fixes: #72261

Fixes: SWDEV-432412


  Commit: 3d89f2ac16c2a05450693dd0ca223891f5014c1b
      https://github.com/llvm/llvm-project/commit/3d89f2ac16c2a05450693dd0ca223891f5014c1b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp

  Log Message:
  -----------
  [RISCV] Remove null terminator from CSRegs in determineCalleeSaves. NFC (#74131)

Presumably this was done to make it similar to the getCalleeSavedRegs
list in RegInfo, but its simpler to use a range based for loop over the
array.


  Commit: 8206b75a1e8d2e00e9bc47ba8288dec1205fbd91
      https://github.com/llvm/llvm-project/commit/8206b75a1e8d2e00e9bc47ba8288dec1205fbd91
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir

  Log Message:
  -----------
  [mlir][sparse] fix crash when generate rotated convolution kernels. (#74146)


  Commit: d8a04398f9492f043ffd8fbaf2458778f7d0fcd5
      https://github.com/llvm/llvm-project/commit/d8a04398f9492f043ffd8fbaf2458778f7d0fcd5
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/X86/X86Subtarget.cpp
    A llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
    M llvm/test/CodeGen/X86/code-model-elf.ll
    M llvm/test/CodeGen/X86/pcsections.ll
    M llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll

  Log Message:
  -----------
  Reland [X86] With large code model, put functions into .ltext with large section flag (#73037)

So that when mixing small and large text, large text stays out of the
way of the rest of the binary.

This is useful for mixing precompiled small code model object files and
built-from-source large code model binaries so that the the text
sections don't get merged.

The reland fixes an issue where a function in the large code model would reference small data without GOTOFF.

This was incorrectly reverted in 76f78ecc789d58baa3a88b2fe2a57428f07e5362.


  Commit: a09b88178492dcd372d8a1d5ed8d5dedda651614
      https://github.com/llvm/llvm-project/commit/a09b88178492dcd372d8a1d5ed8d5dedda651614
  Author: Kirill Stoimenov <kstoimenov at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/asan/asan_interface.inc
    R compiler-rt/lib/asan/asan_win_delete_array_align_nothrow_thunk.cpp
    R compiler-rt/lib/asan/asan_win_delete_array_align_thunk.cpp
    R compiler-rt/lib/asan/asan_win_delete_array_nothrow_thunk.cpp
    R compiler-rt/lib/asan/asan_win_delete_array_size_align_thunk.cpp
    R compiler-rt/lib/asan/asan_win_delete_array_size_thunk.cpp
    R compiler-rt/lib/asan/asan_win_delete_array_thunk.cpp
    R compiler-rt/lib/asan/asan_win_delete_scalar_align_nothrow_thunk.cpp
    R compiler-rt/lib/asan/asan_win_delete_scalar_align_thunk.cpp
    R compiler-rt/lib/asan/asan_win_delete_scalar_nothrow_thunk.cpp
    R compiler-rt/lib/asan/asan_win_delete_scalar_size_align_thunk.cpp
    R compiler-rt/lib/asan/asan_win_delete_scalar_size_thunk.cpp
    R compiler-rt/lib/asan/asan_win_delete_scalar_thunk.cpp
    R compiler-rt/lib/asan/asan_win_new_array_align_nothrow_thunk.cpp
    R compiler-rt/lib/asan/asan_win_new_array_align_thunk.cpp
    R compiler-rt/lib/asan/asan_win_new_array_nothrow_thunk.cpp
    R compiler-rt/lib/asan/asan_win_new_array_thunk.cpp
    R compiler-rt/lib/asan/asan_win_new_delete.cpp
    R compiler-rt/lib/asan/asan_win_new_delete_thunk_common.h
    R compiler-rt/lib/asan/asan_win_new_scalar_align_nothrow_thunk.cpp
    R compiler-rt/lib/asan/asan_win_new_scalar_align_thunk.cpp
    R compiler-rt/lib/asan/asan_win_new_scalar_nothrow_thunk.cpp
    R compiler-rt/lib/asan/asan_win_new_scalar_thunk.cpp
    M compiler-rt/test/asan/TestCases/Windows/double_operator_delete.cpp
    R compiler-rt/test/asan/TestCases/Windows/new_delete_mfc_already_defined.cpp
    R compiler-rt/test/asan/TestCases/Windows/new_delete_mfc_already_defined_dbg.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_array_new_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_array_new_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_array_new_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_array_new_with_dtor_left_oob.cpp
    R compiler-rt/test/asan/TestCases/Windows/operator_delete_replacement_array.cpp
    R compiler-rt/test/asan/TestCases/Windows/operator_delete_replacement_scalar.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_delete_wrong_argument.cpp
    R compiler-rt/test/asan/TestCases/Windows/operator_new_delete_replacement_all.cpp
    R compiler-rt/test/asan/TestCases/Windows/operator_new_delete_replacement_common.h
    R compiler-rt/test/asan/TestCases/Windows/operator_new_delete_replacement_macros.h
    M compiler-rt/test/asan/TestCases/Windows/operator_new_left_oob.cpp
    R compiler-rt/test/asan/TestCases/Windows/operator_new_replacement_array.cpp
    R compiler-rt/test/asan/TestCases/Windows/operator_new_replacement_scalar.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_new_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_new_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/wrong_downcast_on_heap.cpp
    M compiler-rt/test/asan/TestCases/large_func_test.cpp
    M compiler-rt/test/asan/TestCases/malloc_context_size.cpp
    M compiler-rt/test/asan/TestCases/use-after-delete.cpp

  Log Message:
  -----------
  Revert "[asan][win][msvc] override new and delete and seperate TUs (#68754)"

This reverts commit 481e9b3e0b9c0a6843261f060822c7a41387e28c.

Breaks sanitizer bots: https://lab.llvm.org/buildbot/#/builders/127/builds/59071


  Commit: 75867f8e4a9a06df3b2cafe662d13ee78bb7fc67
      https://github.com/llvm/llvm-project/commit/75867f8e4a9a06df3b2cafe662d13ee78bb7fc67
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
    M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
    M compiler-rt/lib/scudo/standalone/wrappers_c.inc

  Log Message:
  -----------
  [scudo] Fix realloc hooks behavior (#74149)

`realloc` may involve both allocation and deallocation. Given that the
reporting the events is not atomic and which may lead the hook user to a
false case that the double-use pattern happens, we always report the old
pointer is released and report the new allocation afterward (even it's
the same pointer).

This also fixes that we didn't report the new size when it doesn't need
to allocate a new space.


  Commit: 5fe741f08e09a2eca276fc11d39240caa3d23cb2
      https://github.com/llvm/llvm-project/commit/5fe741f08e09a2eca276fc11d39240caa3d23cb2
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M openmp/libomptarget/include/PluginManager.h
    A openmp/libomptarget/include/Shared/Requirements.h
    M openmp/libomptarget/include/omptarget.h
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/rtl.cpp
    M openmp/libomptarget/test/offloading/requires.c

  Log Message:
  -----------
  [OpenMP] Separate Requirements into a standalone header (#74126)

This is not completely NFC since we now check all 4 requirements and the
test is checking the good and the bad case for combining flags.


  Commit: d22944d1cc54a3384a88d654d144ef62a693df16
      https://github.com/llvm/llvm-project/commit/d22944d1cc54a3384a88d654d144ef62a693df16
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  [cmake] Fix relative paths in prefix map (#74132)

When building debug version of LLVM with
`LLVM_USE_RELATIVE_PATHS_IN_FILES=On` would cause source paths to be
incorrect, and be prefixed by the build directory. This lead to source
locations like the following: `../build/llvm/...`. Such paths do not
exist, and existing debuggers can't adjust their search location because
of the incorrect prefix. Ultimately, this happened because the relative
path creation goes in the wrong direction, from source-dir to build-dir
instead of from build-dir to source-dir.

This patch swaps the directionality of the relative paths so that they
get a proper prefix from the build directory. Given a build dir at
`/build` and a project directory at `/llvm-project`, we get source
locations like: `../llvm-project/llvm/lib/Transforms/...`, which a
debugger can resolve once pointed to the correct project directory.


  Commit: b091a887e064a3c75c8ce37bd0e9f1c4bc0f54f6
      https://github.com/llvm/llvm-project/commit/b091a887e064a3c75c8ce37bd0e9f1c4bc0f54f6
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    A openmp/libomptarget/include/DeviceImage.h
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/src/CMakeLists.txt
    A openmp/libomptarget/src/DeviceImage.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Extract device image handling into a class/header (#74129)


  Commit: 7169c45efa9055ef518ceba5e3cd28272d84a21f
      https://github.com/llvm/llvm-project/commit/7169c45efa9055ef518ceba5e3cd28272d84a21f
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M openmp/libomptarget/include/DeviceImage.h
    A openmp/libomptarget/include/OffloadEntry.h
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/src/DeviceImage.cpp
    M openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/rtl.cpp
    M openmp/libomptarget/test/offloading/ctor_dtor.cpp

  Log Message:
  -----------
  [OpenMP][NFCI] Organize offload entry logic

This moves the offload entry logic into classes and provides convenient
accessors. No functional change intended but we can now print all
offload entries (and later look them up), tested via
`OMPTARGET_DUMP_OFFLOAD_ENTRIES=<device_no>`.


  Commit: e469f8474ba46d01aca852aa2016f53a507acf7f
      https://github.com/llvm/llvm-project/commit/e469f8474ba46d01aca852aa2016f53a507acf7f
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M openmp/libomptarget/test/offloading/ctor_dtor.cpp

  Log Message:
  -----------
  [OpenMP][FIX] Fixup test


  Commit: 27f17837bb1d9d49a045af4520eed7e94ad6b5bd
      https://github.com/llvm/llvm-project/commit/27f17837bb1d9d49a045af4520eed7e94ad6b5bd
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Remove PluginAdaptorManagerTy


  Commit: 357b8b46b125810c5c383c485b1fb3f3db233759
      https://github.com/llvm/llvm-project/commit/357b8b46b125810c5c383c485b1fb3f3db233759
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/test/CodeGen/X86/fp-eval-method.c
    M clang/test/Driver/netbsd.c
    M clang/test/Driver/netbsd.cpp

  Log Message:
  -----------
  [Driver] Remove tests for NetBSD 7. No longer supported.


  Commit: 005c83380a907becbf5a6b4522fc43652c9536cd
      https://github.com/llvm/llvm-project/commit/005c83380a907becbf5a6b4522fc43652c9536cd
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/decompose-concat.mlir

  Log Message:
  -----------
  [mlir][tensor] Fix ReifyResultShapes implementation for tensor.concat (#74157)

Without folding the result of the initial tensor.dim, the
ReifyResultShapes implementation would be incorrect because it would
return a dynamic shape for a static result shape.


  Commit: fc74db466b0d2b87d2013d5e24be137f0d8b6f0a
      https://github.com/llvm/llvm-project/commit/fc74db466b0d2b87d2013d5e24be137f0d8b6f0a
  Author: Vivian <zhyuhang88 at gmail.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/test/Dialect/Linalg/canonicalize.mlir

  Log Message:
  -----------
  [mlir][Linalg] Fix foldFillPackIntoFillOp to work for general cases (#74148)


  Commit: ccfc2d687c106ee8430fccd09e165e0aaea39081
      https://github.com/llvm/llvm-project/commit/ccfc2d687c106ee8430fccd09e165e0aaea39081
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp

  Log Message:
  -----------
  [mlir][transform] Remove `cachedNames` expensive check (#73961)

This check was trying to find cases of invalid API usage:
incorrect/missing handle side effects and/or incorrect rewriter usage.

This check is not implemented correctly and can report false positives
in case of pointer reuse (different op created at same location). It is
unclear if such a check can be implemented given that we have both
tracking listener-based handle updates and handle consumption.

Fixes #72931.


  Commit: c45a66ecd4cb8f351298ca987d6086cf02b77bfb
      https://github.com/llvm/llvm-project/commit/c45a66ecd4cb8f351298ca987d6086cf02b77bfb
  Author: Jared Grubb <jgrubb at apple.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/CMakeLists.txt
    M clang/lib/Format/Format.cpp
    A clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
    A clang/lib/Format/ObjCPropertyAttributeOrderFixer.h
    M clang/unittests/Format/CMakeLists.txt
    A clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp

  Log Message:
  -----------
  [clang-format] ObjCPropertyAttributeOrder to sort ObjC property attributes

Add a style option to specify the order that property attributes should
appear in ObjC property declarations (property attributes are things like
`nonatomic, strong, nullable`).

Closes #71323.

Differential Revision: https://reviews.llvm.org/D150083


  Commit: 7ccc4ef55f9a4ebe381a980796e9c63220a48ab2
      https://github.com/llvm/llvm-project/commit/7ccc4ef55f9a4ebe381a980796e9c63220a48ab2
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Format/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/Format/BUILD.gn

  Log Message:
  -----------
  [gn build] Port c45a66ecd4cb


  Commit: 1ffd77db02e385495e1f0d860ccf50f2de1842d4
      https://github.com/llvm/llvm-project/commit/1ffd77db02e385495e1f0d860ccf50f2de1842d4
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M compiler-rt/lib/asan/asan_rtl.cpp

  Log Message:
  -----------
  [NFC][ASAN] Declare few functions as static


  Commit: 28eead018d80a5384b8be6f259c3d2e2b849e8cf
      https://github.com/llvm/llvm-project/commit/28eead018d80a5384b8be6f259c3d2e2b849e8cf
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M compiler-rt/lib/asan/asan_interceptors.cpp

  Log Message:
  -----------
  [NFC][asan] Clang format a few lines


  Commit: b6d0ee056d247e1ecfd4ecd3f97fb2d31740d79b
      https://github.com/llvm/llvm-project/commit/b6d0ee056d247e1ecfd4ecd3f97fb2d31740d79b
  Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M clang/test/Driver/aarch64-v95a.c
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SchedA64FX.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    R llvm/test/MC/AArch64/SVE/armv9.5a-cpa.s
    R llvm/test/MC/AArch64/armv9.5a-cpa.s
    M llvm/test/MC/AArch64/basic-a64-diagnostics.s
    M llvm/test/MC/AArch64/basic-a64-instructions.s
    R llvm/test/MC/Disassembler/AArch64/armv9.5a-cpa.txt
    M llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  Revert HWASAN failure (#74163)

This is the failure:
https://lab.llvm.org/buildbot/#/builders/236/builds/7728/steps/10/logs/stdio

This started with eef8e1d206dc01c081a0ca29b7f9e0c39d33446e, but because
there were a couple of patches that came after that I had to revert all
3 of them because of merge conflicts.


  Commit: 19e068b048591feb8fa66b164669c753090dfd3a
      https://github.com/llvm/llvm-project/commit/19e068b048591feb8fa66b164669c753090dfd3a
  Author: Thomas Raoux <thomas.raoux at openai.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
    M mlir/test/Dialect/SCF/loop-pipelining.mlir

  Log Message:
  -----------
  [MLIR][SCF] Handle more cases in pipelining transform (#74007)

-Fix case where an op is scheduled in stage 0 and used with a distance
of 1
-Fix case where we don't peel the epilogue and a value not part of the
last stage is used outside the loop.


  Commit: 66a3e4fafb6eae19764f8a192ca3a116c0554211
      https://github.com/llvm/llvm-project/commit/66a3e4fafb6eae19764f8a192ca3a116c0554211
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll

  Log Message:
  -----------
  [LoongArch] Override TargetLowering::isShuffleMaskLegal

 By default, `isShuffleMaskLegal` always returns true, which can result
 in the expansion of `BUILD_VECTOR` into a `VECTOR_SHUFFLE` node in
 certain situations. Subsequently, the `VECTOR_SHUFFLE` node is expanded
 again into a `BUILD_VECTOR`, leading to an infinite loop.
 To address this, we always return false, allowing the expansion of
 `BUILD_VECTOR` through the stack.


  Commit: 6b4812f722ca0ddfe93cee194074dda56e1cb497
      https://github.com/llvm/llvm-project/commit/6b4812f722ca0ddfe93cee194074dda56e1cb497
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [llvm-objdump] Stop including llvm/ADT/IndexedMap.h (NFC)

Identified with clangd.


  Commit: 96d0a3b5643a2081e39c9302c86b40859a8752d0
      https://github.com/llvm/llvm-project/commit/96d0a3b5643a2081e39c9302c86b40859a8752d0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/BasicAliasAnalysis.h
    M llvm/include/llvm/Analysis/DemandedBits.h
    M llvm/include/llvm/IRReader/IRReader.h
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/unittests/Support/DivisionByConstantTest.cpp

  Log Message:
  -----------
  [llvm] Stop including optional (NFC)

Identified with clangd.


  Commit: f6d6809d787b7f5d150715aa475f71bca083aebd
      https://github.com/llvm/llvm-project/commit/f6d6809d787b7f5d150715aa475f71bca083aebd
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Support/TypeSize.h
    M llvm/include/llvm/XRay/BlockVerifier.h
    M llvm/lib/Target/ARM/ARMHazardRecognizer.h
    M llvm/unittests/Support/DivisionByConstantTest.cpp

  Log Message:
  -----------
  [llvm] Stop including array (NFC)

Identified with clangd.


  Commit: 07cec73dcd095035257eec1f213d273b10988130
      https://github.com/llvm/llvm-project/commit/07cec73dcd095035257eec1f213d273b10988130
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    A llvm/test/CodeGen/LoongArch/lasx/ctpop-ctlz.ll
    A llvm/test/CodeGen/LoongArch/lsx/ctpop-ctlz.ll

  Log Message:
  -----------
  [LoongArch] Support CTLZ with lsx/lasx

This patch simultaneously adds tests for `CTPOP`.


  Commit: 63e6bba0c322b6c07a4c66f09e6fd84e786248e6
      https://github.com/llvm/llvm-project/commit/63e6bba0c322b6c07a4c66f09e6fd84e786248e6
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    R llvm/test/CodeGen/LoongArch/lasx/ctpop-ctlz.ll
    R llvm/test/CodeGen/LoongArch/lsx/ctpop-ctlz.ll

  Log Message:
  -----------
  Revert "[LoongArch] Support CTLZ with lsx/lasx"

This reverts commit 07cec73dcd095035257eec1f213d273b10988130.


  Commit: a60a5421b60be1bce0272385fa16846ada5eed5e
      https://github.com/llvm/llvm-project/commit/a60a5421b60be1bce0272385fa16846ada5eed5e
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    A llvm/test/CodeGen/LoongArch/lasx/ctpop-ctlz.ll
    A llvm/test/CodeGen/LoongArch/lsx/ctpop-ctlz.ll

  Log Message:
  -----------
  Reland "[LoongArch] Support CTLZ with lsx/lasx"

This patch simultaneously adds tests for `CTPOP`.

This relands 07cec73dcd095035257eec1f213d273b10988130 with fix tests.


  Commit: b1806e6a1f0589acc88499419531c4eb82488f1a
      https://github.com/llvm/llvm-project/commit/b1806e6a1f0589acc88499419531c4eb82488f1a
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/stack-probing-dynamic-no-frame-setup.ll
    A llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll

  Log Message:
  -----------
  [AArch64] Stack probing for dynamic allocas in SelectionDAG (#66525)

Add support for probing for dynamic allocas (variable-size objects and
outgoing stack arguments).

Co-authored-by: Oliver Stannard <oliver.stannard at linaro.org>


  Commit: 37da4e3d80d7136121e74e2b8d23afb14ae7ab69
      https://github.com/llvm/llvm-project/commit/37da4e3d80d7136121e74e2b8d23afb14ae7ab69
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp

  Log Message:
  -----------
  [clang-fuzzer] Remove GCC 4.x pre GCC 4.9 workaround to silence warning (#73974)

The minimum GCC version was bumped up from 4.8 to 5.1 and then even newer
awhile ago so garbage collect the pre 4.9 workaround.

https://reviews.llvm.org/D66188


  Commit: e9c6f3f5e7e23b23de4eeaa182ebfcb7d2188495
      https://github.com/llvm/llvm-project/commit/e9c6f3f5e7e23b23de4eeaa182ebfcb7d2188495
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp

  Log Message:
  -----------
  [AArch64] Fix -Wunused-variable in AArch64FrameLowering.cpp (NFC)

llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:497:21:
error: unused variable 'MFI' [-Werror,-Wunused-variable]
  MachineFrameInfo &MFI = MF.getFrameInfo();
                    ^
1 error generated.


  Commit: 708158529b82007a34d623ba6f52d641c43b3416
      https://github.com/llvm/llvm-project/commit/708158529b82007a34d623ba6f52d641c43b3416
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M lld/COFF/Writer.cpp

  Log Message:
  -----------
  [lld][COFF][NFC] Store pdata range as ChunkRange. (#74024)


  Commit: 293c21db9381fde27cda46e5c3ff8bf8578e5399
      https://github.com/llvm/llvm-project/commit/293c21db9381fde27cda46e5c3ff8bf8578e5399
  Author: Spenser Bauman <sbauman at mathworks.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir

  Log Message:
  -----------
  [mlir][tosa] Improve lowering of tosa.conv2d (#74143)

The existing lowering of tosa.conv2d emits a separate linalg.generic
operator to add the bias after computing the computation.

This change eliminates that additional step by using the generated
linalg.conv_2d_* operator by using the bias value as the input to the
linalg.conv_2d operation.

Rather than:

    %init = tensor.empty()
    %conv = linalg.conv_2d ins(%A, %B) %outs(%init)

    %init = tensor.empty()
    %bias = linalg.generic ins(%conv, %bias) outs(%init2) {
      // perform add operation
    }

The lowering now produces:

    %init = tensor.empty()
    %bias_expanded = linalg.broadcast ins(%bias) outs(%init)
    %conv = linalg.conv_2d ins(%A, %B) %outs(%bias)

This is the same strategy as
https://github.com/llvm/llvm-project/pull/73049 applied to convolutions.


  Commit: 19e2174d54356e1654583a65ff9cd38eccf797ee
      https://github.com/llvm/llvm-project/commit/19e2174d54356e1654583a65ff9cd38eccf797ee
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/ExternalSemaSource.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    R clang/test/PCH/instantiate-used-constexpr-function.cpp
    R clang/test/SemaTemplate/instantiate-used-constexpr-function.cpp

  Log Message:
  -----------
  Revert "[Clang] Eagerly instantiate used constexpr function upon definition. (#73463)"

This reverts commit 030047c432cac133738be68fa0974f70e69dd58d.

Breaks Qt and is inconsistent with GCC.

See the following issue for details:

Fixes #74069


  Commit: 0e823b02ba8a0f61ddd14bb128cf8e12fe14602a
      https://github.com/llvm/llvm-project/commit/0e823b02ba8a0f61ddd14bb128cf8e12fe14602a
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M libcxx/test/tools/clang_tidy_checks/uglify_attributes.cpp

  Log Message:
  -----------
  [libc++] Update libcpp-uglify-attributes to diagnose all attributes in C++03


  Commit: 5e94080fc7cd920107d3d2291c872b510b6ab017
      https://github.com/llvm/llvm-project/commit/5e94080fc7cd920107d3d2291c872b510b6ab017
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sqrt.ll

  Log Message:
  -----------
  AMDGPU: Regenerate test checks

Avoids spurious diffs from change in how metadata is checked in
a future commit.


  Commit: 68d6fe508ce1fb2a70220975036d267f564fe54d
      https://github.com/llvm/llvm-project/commit/68d6fe508ce1fb2a70220975036d267f564fe54d
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86DomainReassignment.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    A llvm/test/CodeGen/X86/apx/kmov-kk.ll

  Log Message:
  -----------
  [X86][CodeGen] Prefer KMOVkk_EVEX than KMOVkk when EGPR is supported (#74048)

In memory fold table, we have

```
 {X86::KMOVDkk, X86::KMOVDkm, 0},
 {X86::KMOVDkk_EVEX, X86::KMOVDkm_EVEX, 0}
```

where `KMOVDkm_EVEX` can use EGPR as base and index registers, while
`KMOVDkm` can't. Hence, though `KMOVkk` does not have any GPR operands,
we prefer to use `KMOVDkk_EVEX` to help register allocation.

It will be compressed to `KMOVDkk` in EVEX2VEX pass if memory folding
does not happen.


  Commit: 3c86bc0ae9b3df289ca005d3c451512f01be6d61
      https://github.com/llvm/llvm-project/commit/3c86bc0ae9b3df289ca005d3c451512f01be6d61
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll

  Log Message:
  -----------
  AMDGPU: Add more tests for rootn libcall handling


  Commit: db8b85ac582608d3719fac56ec0d3aa868a4c70a
      https://github.com/llvm/llvm-project/commit/db8b85ac582608d3719fac56ec0d3aa868a4c70a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    A llvm/test/CodeGen/AMDGPU/llvm.exp10.ll

  Log Message:
  -----------
  AMDGPU: Support llvm.exp10 (#65860)


  Commit: cbf7b52a65890ea72cb6319bfdf98d92dd9ddc81
      https://github.com/llvm/llvm-project/commit/cbf7b52a65890ea72cb6319bfdf98d92dd9ddc81
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll

  Log Message:
  -----------
  [VPlan] Properly update reduction live-out after placing select.

After inserting a select for the final value, update the VPlan def-use
chains. At the moment, the incorrect live-out doesn't cause a
mis-compile, as computing the final reduction value is not yet modeled
in VPlan.


  Commit: 1c6a6ba43ba1a331177bd30194f97ce26117cf04
      https://github.com/llvm/llvm-project/commit/1c6a6ba43ba1a331177bd30194f97ce26117cf04
  Author: Peter Hawkins <phawkins at google.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [bazel] Remove :CAPIGPU as a dependency of :MLIRPythonBindingsCore. (#74133)

This dependency appears unused and it bloats the size of the Python
bindings for non-GPU users.


  Commit: 70535f5e609f747c28cfef699eefb84581b0aac0
      https://github.com/llvm/llvm-project/commit/70535f5e609f747c28cfef699eefb84581b0aac0
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-insertelt.ll
    M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
    M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll

  Log Message:
  -----------
  [VPlan] Replace IR based truncateToMinimalBitwidths with VPlan version.

This patch replaces the IR based truncateToMinimalBitwidths with a VPlan
version. This has 3 benefits:
1) the VPlan-based version is simpler; we don't need to implement
   special codegen for each supported instruction type like the IR based
   one.
2) Removes a dependency on the cost-model after VPlan execution and
3) Removes a use of getVPValue that uses underlying values after VPlan
   execution (See removed FIXME).

Depends on D149081.

Depends on D149079.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D149903


  Commit: 36dd7432123efae2f03de89d7c9f5d734de97e81
      https://github.com/llvm/llvm-project/commit/36dd7432123efae2f03de89d7c9f5d734de97e81
  Author: Hui <hui.xie0621 at gmail.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M libcxx/benchmarks/stop_token.bench.cpp

  Log Message:
  -----------
  [libc++][test] add more benchmarks for `stop_token` (#69590)


  Commit: d06e175dbbecaca08c785fe1a6b5fbbfd4da6805
      https://github.com/llvm/llvm-project/commit/d06e175dbbecaca08c785fe1a6b5fbbfd4da6805
  Author: Saleem Abdulrasool <abdulras at thebrowser.company>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M .mailmap

  Log Message:
  -----------
  mailmap: add another entry for myself

Add an additional email address that has been used.


  Commit: 1fa35f0b5dc2f3427fbade0eaaca6e2d8c32caef
      https://github.com/llvm/llvm-project/commit/1fa35f0b5dc2f3427fbade0eaaca6e2d8c32caef
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M clang/lib/CodeGen/CodeGenTBAA.cpp

  Log Message:
  -----------
  [clang] Avoid recalculating TBAA base type info (#73264)

As nullptr is a legitimate value, change the BaseTypeMetadataCache hash lookup/insertion to use find and
insert rather than the subscript operator. 

Also adjust getBaseTypeInfoHelper to do no insertion, but let getBaseTypeInfo do that.


  Commit: d04a4a06abd4c415d7e433fef1553cfdcddea858
      https://github.com/llvm/llvm-project/commit/d04a4a06abd4c415d7e433fef1553cfdcddea858
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp

  Log Message:
  -----------
  [llvm] Adjust Autoupdater's llvm prefix detection (#74142)

Use consume_front to swallow the 'llvm.' prefix, and 'empty' to check
there's at least one character left.


  Commit: 7e0c5266309c1d2a0e6d766834415dff5cb65e47
      https://github.com/llvm/llvm-project/commit/7e0c5266309c1d2a0e6d766834415dff5cb65e47
  Author: FusionBolt <59008347+FusionBolt at users.noreply.github.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/lib/IR/ConstantsContext.h

  Log Message:
  -----------
  [LLVM][NFC] fix typo in `llvm/lib/IR/ConstantsContext.h` (#74195)


  Commit: 2f9c922a12e9f15abe5f6b1a50d684414be47d26
      https://github.com/llvm/llvm-project/commit/2f9c922a12e9f15abe5f6b1a50d684414be47d26
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M clang/test/CXX/drs/dr0xx.cpp
    M clang/test/CXX/drs/dr1xx.cpp
    M clang/test/CXX/drs/dr2xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Fill in historical data on when C++ DRs 200-299 were fixed


  Commit: 0c06e8745f131d867c566f4d35a7a04e24b4a075
      https://github.com/llvm/llvm-project/commit/0c06e8745f131d867c566f4d35a7a04e24b4a075
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M clang/test/CXX/drs/dr2xx.cpp

  Log Message:
  -----------
  [clang][NFC] Refactor expected directives in C++ DRs 200-299

This patch continues the work started with ea5b1ef016d020c37f903d6c7d4f623be975dab8. See that commit and its corresponding PR for details.


  Commit: a7627f721f3daa20629e44316e8b51e75ce78bb4
      https://github.com/llvm/llvm-project/commit/a7627f721f3daa20629e44316e8b51e75ce78bb4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-lto/llvm-lto.cpp
    M llvm/tools/llvm-pdbutil/PrettyClassDefinitionDumper.h
    M llvm/tools/llvm-profgen/PerfReader.h
    M llvm/tools/llvm-profgen/ProfiledBinary.h
    M llvm/tools/llvm-remarkutil/RemarkCounter.h

  Log Message:
  -----------
  [llvm] Stop including list (NFC)

Identified with clangd.


  Commit: c6381615ef9bc869a708ab8f786c4350f7e00ee7
      https://github.com/llvm/llvm-project/commit/c6381615ef9bc869a708ab8f786c4350f7e00ee7
  Author: Youngsuk Kim <joseph942010 at gmail.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  [clang][RISCVVEmitter] Remove no-op ptr-to-ptr bitcast (NFC) (#74179)

Remove ptr-to-ptr bitcast which was added back in
939352b6ec31db4e8defe07856868438fbc5340d . With opaque pointers, the
bitcast is now redundant.

Opaque ptr cleanup effort.


  Commit: 308551f952bf8fec7dd926308d36ebca36f01ae7
      https://github.com/llvm/llvm-project/commit/308551f952bf8fec7dd926308d36ebca36f01ae7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/tools/llvm-rc/ResourceScriptStmt.h

  Log Message:
  -----------
  [llvm-rc] Include StringMap.h insteadof StringSet.h (NFC)

ResourceScriptStmt.h uses StringMap, not StringSet.


  Commit: 0008b9c0ac284e0303d9db1745d243975d8642d8
      https://github.com/llvm/llvm-project/commit/0008b9c0ac284e0303d9db1745d243975d8642d8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [Vectorize] Fix an unused variable warning

This patch fixes:

  llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp:912:16: error:
  unused variable 'OldResSizeInBits' [-Werror,-Wunused-variable]


  Commit: 5602636835e3fe655d196428091a64abd1837966
      https://github.com/llvm/llvm-project/commit/5602636835e3fe655d196428091a64abd1837966
  Author: Joshua Cao <cao.joshua at yahoo.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/test/Transforms/LoopUnroll/peel-loop-conditions.ll

  Log Message:
  -----------
  [LoopPeel] Peel iterations based on and, or conditions (#73413)

For example, this allows us to peel this loop with a `and`:
```
for (int i = 0; i < N; ++i) {
  if (i % 2 == 0 && i < 3) // can peel based on || as well
    f1();
  f2();
```
into:
```
for (int i = 0; i < 3; ++i) { // peel three iterations
  if (i % 2 == 0)
    f1();
  f2();
}
for (int i = 3; i < N; ++i)
  f2();
```


  Commit: b3e80d8ed251bfdad4a49fee19b8354eba407d1d
      https://github.com/llvm/llvm-project/commit/b3e80d8ed251bfdad4a49fee19b8354eba407d1d
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/FormatTestVerilog.cpp

  Log Message:
  -----------
  [clang-format] Add space in Verilog tagged unions (#71354)

In a tagged union expression, there should be a space between the field
name and the data. Previously, the tag could be recognized as part of a
dotted identifier or a struct literal, and the space would be omitted.


  Commit: bd382032f6df9529197a391ed80e9ab8c59915f1
      https://github.com/llvm/llvm-project/commit/bd382032f6df9529197a391ed80e9ab8c59915f1
  Author: Joshua Cao <cao.joshua at yahoo.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp

  Log Message:
  -----------
  [BBUtils][NFC] Delete SplitLandingPadPredecessors with DT (#73406)

Function is marked for deprecation. There is only one consumer which is
converted to use DomTreeUpdater.


  Commit: bb6497ffa6a88d1b3a32101d9b6519094d75ef2a
      https://github.com/llvm/llvm-project/commit/bb6497ffa6a88d1b3a32101d9b6519094d75ef2a
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/BranchProbabilityInfo.cpp
    A llvm/test/Analysis/BranchProbabilityInfo/anonymous-bb.ll
    M llvm/test/Analysis/BranchProbabilityInfo/basic.ll
    M llvm/test/Analysis/BranchProbabilityInfo/deopt-intrinsic.ll
    M llvm/test/Analysis/BranchProbabilityInfo/deopt-invoke.ll
    M llvm/test/Analysis/BranchProbabilityInfo/fcmp.ll
    M llvm/test/Analysis/BranchProbabilityInfo/hoist.ll
    M llvm/test/Analysis/BranchProbabilityInfo/libfunc_call.ll
    M llvm/test/Analysis/BranchProbabilityInfo/loop.ll
    M llvm/test/Analysis/BranchProbabilityInfo/noreturn.ll
    M llvm/test/Analysis/BranchProbabilityInfo/pointer_heuristics.ll
    M llvm/test/Analysis/BranchProbabilityInfo/pr18705.ll
    M llvm/test/Analysis/BranchProbabilityInfo/pr22718.ll
    M llvm/test/Analysis/BranchProbabilityInfo/switch.ll
    M llvm/test/Analysis/BranchProbabilityInfo/unreachable.ll
    M llvm/test/Analysis/BranchProbabilityInfo/zero_heuristics.ll
    M llvm/test/Transforms/PGOProfile/indirectbr.ll
    M llvm/test/Transforms/SampleProfile/branch.ll
    M llvm/test/Transforms/SampleProfile/calls.ll
    M llvm/test/Transforms/SampleProfile/discriminator.ll
    M llvm/test/Transforms/SampleProfile/fnptr.ll
    M llvm/test/Transforms/SampleProfile/fsafdo_test.ll
    M llvm/test/Transforms/SampleProfile/offset.ll
    M llvm/test/Transforms/SampleProfile/profile-inference-even-count-distribution.ll
    M llvm/test/Transforms/SampleProfile/profile-inference-rebalance-large.ll
    M llvm/test/Transforms/SampleProfile/profile-inference-rebalance.ll
    M llvm/test/Transforms/SampleProfile/profile-inference.ll
    M llvm/test/Transforms/SampleProfile/propagate.ll
    M llvm/test/Transforms/SampleProfile/remap.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/branch-probability-analysis.ll.expected

  Log Message:
  -----------
  [BPI] Reuse the AsmWriter's BB naming scheme in BranchProbabilityPrinterPass (#73593)

When using `BranchProbabilityPrinterPass`, if a BB has no name, we get pretty unusable information like `edge -> has probability...` (i.e. we have no idea what the vertices of that edge are).

This patch uses `printAsOperand`, which uses the same naming scheme as `Function::dump`, so for example during debugging sessions, the IR obtained from a function and the names used by `BranchProbabilityPrinterPass` will match.

A shortcoming is that `printAsOperand` will result in the numbering algorithm re-running for every edge and every vertex (when `BranchProbabilityPrinterPass` is run on a function). If, for the given scenario, this is a problem, we can revisit this subsequently.

Another nuance is that the entry basic block will be numbered, which may be slightly confusing when it's anonymous, but it's easily identifiable - the first edge would have it as source (and the number should be easily recognizable)


  Commit: b04b89753daf9751a81ffbcfbfbe6c610fb88af8
      https://github.com/llvm/llvm-project/commit/b04b89753daf9751a81ffbcfbfbe6c610fb88af8
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    A llvm/include/llvm/TextAPI/Record.h
    A llvm/include/llvm/TextAPI/RecordsSlice.h
    M llvm/include/llvm/TextAPI/Symbol.h
    M llvm/lib/TextAPI/CMakeLists.txt
    A llvm/lib/TextAPI/RecordsSlice.cpp
    M llvm/lib/TextAPI/Symbol.cpp
    M llvm/unittests/TextAPI/CMakeLists.txt
    A llvm/unittests/TextAPI/RecordTests.cpp

  Log Message:
  -----------
  [TextAPI] Introduce Records & RecordSlice Types (#74115)

`Record`'s hold target triple specific information about APIs and
symbols. This holds information about the relationship between ObjC
symbols and their linkage properties. It will be used to compare and run
significant operations between the frontend representation of symbols in
AST and symbol information extracted from Mach-O binaries. This differs
from the lighter weight Symbol and SymbolSet class where they are
deduplicated across targets and only represent exported symbols, that
class is mostly used for serializing.


  Commit: 96070e1e4c13f53c2cef8178d64e206162923f54
      https://github.com/llvm/llvm-project/commit/96070e1e4c13f53c2cef8178d64e206162923f54
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M clang/test/CXX/drs/dr2xx.cpp

  Log Message:
  -----------
  [clang][NFC] Adjust expected directives in DR tests

This is a follow-up to 0c06e8745f131d867c566f4d35a7a04e24b4a075, which accomodated expected directives for 32-bit ARM and Windows platforms.

Addressed bot failures:
https://lab.llvm.org/buildbot/#/builders/123/builds/23355
https://lab.llvm.org/buildbot/#/builders/245/builds/17458


  Commit: fccc3745190c2e7f75805b7dd142c7262c7b2eb7
      https://github.com/llvm/llvm-project/commit/fccc3745190c2e7f75805b7dd142c7262c7b2eb7
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/include/llvm/TextAPI/RecordsSlice.h

  Log Message:
  -----------
  [TextAPI] fix fpermissive error


  Commit: ad8084ff0693507f62f07dfba105263fcc153030
      https://github.com/llvm/llvm-project/commit/ad8084ff0693507f62f07dfba105263fcc153030
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/TextAPI/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/TextAPI/BUILD.gn

  Log Message:
  -----------
  [gn build] Port b04b89753daf


  Commit: 0801216f6273610c0eb9b3ffcbe525f0de4215bf
      https://github.com/llvm/llvm-project/commit/0801216f6273610c0eb9b3ffcbe525f0de4215bf
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/unittests/TextAPI/CMakeLists.txt

  Log Message:
  -----------
  [TextAPI][Tests] Add missing link to TargetParser in tests

* Caught in buildbot error


  Commit: 7ec4f6094e54911794c142b5d88496a220d807d6
      https://github.com/llvm/llvm-project/commit/7ec4f6094e54911794c142b5d88496a220d807d6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M clang/test/Headers/__clang_hip_math.hip
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/2010-11-01-lshr-mask.ll
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/and-or-not.ll
    M llvm/test/Transforms/InstCombine/and-or.ll
    M llvm/test/Transforms/InstCombine/and.ll
    M llvm/test/Transforms/InstCombine/apint-shift.ll
    M llvm/test/Transforms/InstCombine/binop-and-shifts.ll
    M llvm/test/Transforms/InstCombine/binop-of-displaced-shifts.ll
    M llvm/test/Transforms/InstCombine/bitcast-inselt-bitcast.ll
    M llvm/test/Transforms/InstCombine/bitreverse.ll
    M llvm/test/Transforms/InstCombine/bswap.ll
    M llvm/test/Transforms/InstCombine/cast-mul-select.ll
    M llvm/test/Transforms/InstCombine/cast.ll
    M llvm/test/Transforms/InstCombine/free-inversion.ll
    M llvm/test/Transforms/InstCombine/funnel.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-and.ll
    M llvm/test/Transforms/InstCombine/icmp-of-xor-x.ll
    M llvm/test/Transforms/InstCombine/icmp.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll
    M llvm/test/Transforms/InstCombine/masked-merge-or.ll
    M llvm/test/Transforms/InstCombine/masked-merge-xor.ll
    M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
    M llvm/test/Transforms/InstCombine/mul-masked-bits.ll
    M llvm/test/Transforms/InstCombine/mul_full_32.ll
    M llvm/test/Transforms/InstCombine/mul_full_64.ll
    M llvm/test/Transforms/InstCombine/or-concat.ll
    M llvm/test/Transforms/InstCombine/or-shifted-masks.ll
    M llvm/test/Transforms/InstCombine/or.ll
    M llvm/test/Transforms/InstCombine/pr32686.ll
    M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
    M llvm/test/Transforms/InstCombine/select-icmp-and.ll
    M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/shift-shift.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
    M llvm/test/Transforms/InstCombine/trunc-demand.ll
    M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/trunc.ll
    M llvm/test/Transforms/InstCombine/unfold-masked-merge-with-const-mask-scalar.ll
    M llvm/test/Transforms/InstCombine/unfold-masked-merge-with-const-mask-vector.ll
    M llvm/test/Transforms/InstCombine/xor.ll
    M llvm/test/Transforms/InstCombine/xor2.ll
    M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
    M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/PhaseOrdering/X86/SROA-after-final-loop-unrolling-2.ll
    M llvm/test/Transforms/PhaseOrdering/X86/loadcombine.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pixel-splat.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll

  Log Message:
  -----------
  [InstCombine] Infer disjoint flag on Or instructions. (#72912)

The disjoint flag was recently added to IR in #72583

We already set it when we turn an add into an or. This patch sets it on Ors that weren't converted from an Add.


  Commit: bb41fc682ee779c775185ada1aeab6f4be5c282f
      https://github.com/llvm/llvm-project/commit/bb41fc682ee779c775185ada1aeab6f4be5c282f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M compiler-rt/lib/orc/macho_platform.cpp
    M compiler-rt/lib/orc/simple_packed_serialization.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/ObjectFormats.h
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/ObjectFormats.cpp

  Log Message:
  -----------
  [ORC-RT][ORC][MachO] Add executor-side symbol tables to MachO platform support.

Adds symbol tables to the JITDylibState struct in the ORC runtime
MachOPlatformRuntimeState class. This table will hold the addresses of
materialized symbols (registered by a new JITLink pass in MachOPlatform),
allowing these to be looked up in the executor without an IPC request to the
controller.

The old lookup-symbols callback (made by the runtime in response to dlsym
lookups) is replaced with a push-symbols callback that can trigger
materialization of requested symbols.

Holding a symbol table on the executor side should make repeat calls to dlsym
(and other symbol lookup operations) cheaper since the IPC to trigger
materialization happens at most once per symbol. It should also enable us (at
some point in the future) to symbolicate backtraces in JIT'd code even if the
controller process is gone (e.g. detached or crashed). The trade-off for this
is increased memory consumption in the executor and larger JIT'd data transfers
(since symbol names are now transferred to the executor unconditionally, even
though they may never be used).


  Commit: 5fcf3bbb1acfe226572474636714ede86fffcce8
      https://github.com/llvm/llvm-project/commit/5fcf3bbb1acfe226572474636714ede86fffcce8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_interceptors.cpp

  Log Message:
  -----------
  [NFC][HWASAN] Remove unused macro parameter


  Commit: 091a9f4957b9bed08e6c1c89eacc90a07d4bb603
      https://github.com/llvm/llvm-project/commit/091a9f4957b9bed08e6c1c89eacc90a07d4bb603
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/test_helper.h
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp

  Log Message:
  -----------
  [libc++][test] Avoid truncation warnings from `double` to `float` (#74184)

Found while running libc++'s test suite with MSVC's STL, where we use
both MSVC's compiler and Clang/LLVM.

MSVC really enjoys emitting "warning C4305: 'initializing': truncation
from 'double' to 'float'". It might look repetitive, but `T(value)`
avoids this warning. (According to my understanding, the compiler looks
at the immediate context, and if it's a functional-style cast, it's
satisfied that the truncation was intentional. Not even the
direct-initialization context of `T unexpected(-9999.99)` is enough to
activate that "ok, the programmer knows what they're getting" codepath.)

I usually prefer to use `static_cast` instead of functional-style casts,
but I chose to remain consistent with the surrounding code.

By the way, you might notice that `1.5` doesn't need these changes. This
is because it's exactly representable as both a `double` and a `float`.
Values like `3.125` instead of `3.1` would similarly avoid truncation
warnings without the need for casts, but I didn't want to intrusively
change the test code.


  Commit: 8f018d3ca027504d76a1996e7331ff46f9f966f6
      https://github.com/llvm/llvm-project/commit/8f018d3ca027504d76a1996e7331ff46f9f966f6
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][test] Make the feature-test macro tests more portable (#74185)

Found while running libc++'s test suite with MSVC's STL.

This is a followup to @philnik777's recent #71002 (thank you!) which
provided the existing examples of `__cpp_lib_barrier` and
`__cpp_lib_polymorphic_allocator`:

https://github.com/llvm/llvm-project/blob/66a3e4fafb6eae19764f8a192ca3a116c0554211/libcxx/utils/generate_feature_test_macro_components.py#L199-L203

https://github.com/llvm/llvm-project/blob/66a3e4fafb6eae19764f8a192ca3a116c0554211/libcxx/utils/generate_feature_test_macro_components.py#L866-L870

Applying that new pattern to the feature-test macros here gets their
corresponding tests passing for us.

:robot: Only `generate_feature_test_macro_components.py` was manually
updated; the other files were regenerated.


  Commit: 38f75d606f94e6b552fd74d487b061a1f8f907fa
      https://github.com/llvm/llvm-project/commit/38f75d606f94e6b552fd74d487b061a1f8f907fa
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp

  Log Message:
  -----------
  [llvm-exegesis] Removed useless test

This test was an exact duplicate of the one above, providing no value,
and also adding confusion as it referred to a behavior that (was
presumably) moved around and tested differently during the review
process with the test being forgotten about.


  Commit: bdcf2087d9fb6112cc5a367590a633796af83015
      https://github.com/llvm/llvm-project/commit/bdcf2087d9fb6112cc5a367590a633796af83015
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

  Log Message:
  -----------
  Recommit "[InstCombine] Retain exact instruction name for some cases in SimplifyDemandedUseBits."

It looks like my original patch got caught up in
ef388334ee5a3584255b9ef5b3fefdb244fa3fd7 that was reverting a different
patch.

Original message:
Retain name for SExt->ZExt and AShr->LShr. Previously SExt->ZExt copied
the name with a numeric suffix. AShr->LShr dropped it.


  Commit: f376a3bba1900942f75092a7c2ea100a28e7cbac
      https://github.com/llvm/llvm-project/commit/f376a3bba1900942f75092a7c2ea100a28e7cbac
  Author: Eric <eric at efcs.ca>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp

  Log Message:
  -----------
  Work around GCC test failure that is caused by enabling optimizations. (#73998)

While trying to work around MSAN/TSAN build timeouts, we enabled
optimizations on some tests. This caused GCC to start complaining that
some values may be uninitialized. I believe GCC is wrong, but more
investigation is needed.

The values are initialized when the variable `__g` is either < 0 or >=
0. Which only leaves out NaN I believe, which is likely well into UB
   land anyway.

However, more investigation needed.


  Commit: 19bef888a8c7c58ddddbdf94d377fc485e050efb
      https://github.com/llvm/llvm-project/commit/19bef888a8c7c58ddddbdf94d377fc485e050efb
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M clang/test/CXX/drs/dr2xx.cpp

  Log Message:
  -----------
  [clang][NFC] Adjust expected directives in DR tests further

This is a follow-up to 96070e1e4c13f53c2cef8178d64e206162923f54, where long long case was hidden by a different error.

Addresses bot failures:
https://lab.llvm.org/buildbot/#/builders/123/builds/23355


  Commit: 6b6552aa92a56e4132a62edf31c91ad77caad49f
      https://github.com/llvm/llvm-project/commit/6b6552aa92a56e4132a62edf31c91ad77caad49f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/tools/llvm-dwarfutil/Options.h

  Log Message:
  -----------
  [llvm-dwarfutil] Adjust includes (NFC)

Identified with clangd.


  Commit: 76cd0355cb9437641d9da64ef9025c18b016daad
      https://github.com/llvm/llvm-project/commit/76cd0355cb9437641d9da64ef9025c18b016daad
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

  Log Message:
  -----------
  [InstCombine] Preserve exact instruction name for xor->or transform in SimplifyDemandedUseBits.

We were previously retaining the name with a numeric suffix.


  Commit: 0fc69b1402d75704744c73e15d278dcc8f437f0e
      https://github.com/llvm/llvm-project/commit/0fc69b1402d75704744c73e15d278dcc8f437f0e
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp

  Log Message:
  -----------
  [clangd] Carefully handle PseudoObjectExprs for inlay hints (#71366)

Not all subexpressions for a PseudoObjectExpr are interesting, and they
probably mess up inlay hints.

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


  Commit: ecc080c07d97f7879ce64e644cac828922a7b0d9
      https://github.com/llvm/llvm-project/commit/ecc080c07d97f7879ce64e644cac828922a7b0d9
  Author: Sandeep Kosuri <66305775+sandeepkosuri at users.noreply.github.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M clang/lib/Parse/ParseOpenMP.cpp
    A clang/test/OpenMP/nothing_ast_print.cpp
    A openmp/runtime/test/misc_bugs/omp_nothing.c

  Log Message:
  -----------
  [OpenMP] return empty stmt for `nothing` (#74042)

- `nothing` directive was effecting the `if` block structure which it
should not. So return an empty statement instead of an error statement
while parsing to avoid this.


  Commit: e3b3c91dd0bbc8bd6f1ee562641daf1e554eb1b6
      https://github.com/llvm/llvm-project/commit/e3b3c91dd0bbc8bd6f1ee562641daf1e554eb1b6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/or.ll

  Log Message:
  -----------
  [InstCombine] Fix missed opportunity to fold 'or' into 'mul' operand. (#74225)

We were able to fold
or (mul X, Y), X --> mul X, (add Y, 1) (when the multiply has no common
bits with X)
    
This patch makes the transform work if the mul operands are commuted.


  Commit: c000f754bfb9fb3a7a0a1f9b0485f36ae70534b7
      https://github.com/llvm/llvm-project/commit/c000f754bfb9fb3a7a0a1f9b0485f36ae70534b7
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.iterator.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.range.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.unary.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/ranges.find_end.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search_n.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.starts_with/ranges.starts_with.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.partitions/ranges.is_partitioned.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/ranges.is_sorted.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/ranges.is_sorted_until.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.runtime.pass.cpp
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++][test] Avoid non-Standard zero-length arrays (#74183)

Found while running libc++'s test suite with MSVC's STL, where we use
both MSVC's compiler and Clang/LLVM.

MSVC's compiler rejects the non-Standard extension of zero-length
arrays. For conformance, I'm changing these occurrences to
`std::array<int, 0>`.

Many of these files already had `#include <array>`; I'm adding it to the
rest.

I wanted to add `-Wzero-length-array` to
`libcxx/utils/libcxx/test/params.py` to prevent future occurrences, but
it complained about product code :crying_cat_face: :

```
In file included from /home/runner/_work/llvm-project/llvm-project/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long.pass.cpp:18:
In file included from /home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/istream:170:
In file included from /home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/ostream:172:
In file included from /home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/__system_error/error_code.h:18:
In file included from /home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/__system_error/error_category.h:15:
/home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/string:811:25: error: zero size arrays are an extension [-Werror,-Wzero-length-array]
  811 |         char __padding_[sizeof(value_type) - 1];
      |                         ^~~~~~~~~~~~~~~~~~~~~~
/home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/string:817:19: note: in instantiation of member class 'std::basic_string<char>::__short' requested here
  817 |     static_assert(sizeof(__short) == (sizeof(value_type) * (__min_cap + 1)), "__short has an unexpected size.");
      |                   ^
/home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/string:2069:5: note: in instantiation of template class 'std::basic_string<char>' requested here
 2069 |     _LIBCPP_STRING_V1_EXTERN_TEMPLATE_LIST(_LIBCPP_DECLARE, char)
      |     ^
/home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/__string/extern_template_lists.h:31:60: note: expanded from macro '_LIBCPP_STRING_V1_EXTERN_TEMPLATE_LIST'
   31 |   _Func(_LIBCPP_EXPORTED_FROM_ABI basic_string<_CharType>& basic_string<_CharType>::replace(size_type, size_type, value_type const*, size_type)) \
      |                                                            ^
```

I pushed a tiny commit to fix unrelated comment typos, in an attempt to
clear out spurious CI failures.


  Commit: 5db1c6ed483d7184fa56406b799cb69b5bc7a549
      https://github.com/llvm/llvm-project/commit/5db1c6ed483d7184fa56406b799cb69b5bc7a549
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/or.ll

  Log Message:
  -----------
  Revert "[InstCombine] Fix missed opportunity to fold 'or' into 'mul' operand. (#74225)"

This reverts commit e3b3c91dd0bbc8bd6f1ee562641daf1e554eb1b6.

This is causing an infinite loop on stage 2 builds.


  Commit: 2a3f1195d61e9fc1837926aa394ea73cc6f90bee
      https://github.com/llvm/llvm-project/commit/2a3f1195d61e9fc1837926aa394ea73cc6f90bee
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M clang/tools/clang-format/git-clang-format

  Log Message:
  -----------
  [clang-format] Fix a bug in `git-clang-format --binary` (#74176)

Fixed #74165.


  Commit: c89058291248aecd7d43373b719aff74706026e7
      https://github.com/llvm/llvm-project/commit/c89058291248aecd7d43373b719aff74706026e7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll

  Log Message:
  -----------
  [VPlan] Account for live-in entries in MinBW used by replicate recipes.

In some cases MinBWs may contain entries for live-ins that are not used
by VPWidenRecipe or VPWidenSelectRecipes. In those cases, the live-ins
won't get processed, so make sure we include them in the count when used
as operands in VPWidenCast and VPWidenSelectRecipe.

Fixes https://github.com/llvm/llvm-project/issues/74231


  Commit: 599cba3e7c82f046f247aa1cae4948dbbdcb7cb3
      https://github.com/llvm/llvm-project/commit/599cba3e7c82f046f247aa1cae4948dbbdcb7cb3
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M clang/test/CXX/drs/dr3xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Fill in historical data on when C++ DRs 300-399 were fixed


  Commit: bc51a36fd67c9ef08259612a1a04db6be51a8b76
      https://github.com/llvm/llvm-project/commit/bc51a36fd67c9ef08259612a1a04db6be51a8b76
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M clang/test/CXX/drs/dr3xx.cpp

  Log Message:
  -----------
  [clang][NFC] Refactor expected directives in C++ DRs 300-399 (#74243)

This patch continues the work started with ea5b1ef016d020c37f903d6c7d4f623be975dab8. See that commit and its corresponding PR for details.


  Commit: 9f78edbd20ed922cced9482f7791deb9899a6d82
      https://github.com/llvm/llvm-project/commit/9f78edbd20ed922cced9482f7791deb9899a6d82
  Author: Dominik Wójt <dominik.wojt at arm.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp

  Log Message:
  -----------
  [libc++] tests with picolibc: Fix iterator diff_type to std::streamoff (#74072)

The hardcoded value of long int was not valid for newlib and picolibc.


  Commit: 741975df928208d26fb61465f5f722dfa36cc9c7
      https://github.com/llvm/llvm-project/commit/741975df928208d26fb61465f5f722dfa36cc9c7
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp

  Log Message:
  -----------
  [InstCombine][InstSimplify] Pass `SimplifyQuery` to `computeKnownBits` directly. NFC. (#74246)

This patch passes `SimplifyQuery` to `computeKnownBits` directly in
`InstSimplify` and `InstCombine`.
As the `DomConditionCache` in #73662 is only used in `InstCombine`, it
is inconvenient to introduce a new argument `DC` to `computeKnownBits`.


  Commit: f25daa589ee0649ea87d1e8ae9332cb29d064b9e
      https://github.com/llvm/llvm-project/commit/f25daa589ee0649ea87d1e8ae9332cb29d064b9e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
    M llvm/include/llvm/Target/CGPassBuilderOption.h
    M llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h
    M llvm/lib/Support/ARMBuildAttrs.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h
    M llvm/lib/Testing/Support/Error.cpp
    M llvm/tools/lli/ChildTarget/ChildTarget.cpp

  Log Message:
  -----------
  [llvm] Stop including llvm/ADT/StringRef.h (NFC)

Identified with clangd.


  Commit: 871dfd80bd1f9166b121253afb4eb41f9cbabb2e
      https://github.com/llvm/llvm-project/commit/871dfd80bd1f9166b121253afb4eb41f9cbabb2e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
    M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
    M llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h

  Log Message:
  -----------
  [llvm] Stop including llvm/ADT/StringMap.h (NFC)

Identified with clangd.


  Commit: 3b1761b845181073dbb3993ab5965ed1dfd67471
      https://github.com/llvm/llvm-project/commit/3b1761b845181073dbb3993ab5965ed1dfd67471
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
    M llvm/include/llvm/IR/ReplaceConstant.h
    M llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp
    M llvm/lib/DWARFLinkerParallel/DWARFLinkerGlobalData.h
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-xray/xray-account.h

  Log Message:
  -----------
  [llvm] Stop including map (NFC)

Identified with clangd.


  Commit: 3e7ca05e93e3c6251edef928a08ce613b5c7aebb
      https://github.com/llvm/llvm-project/commit/3e7ca05e93e3c6251edef928a08ce613b5c7aebb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/or.ll

  Log Message:
  -----------
  [InstCombine] Use disjoint flag instead of calling haveNoCommonBitsSet. (#74222)


  Commit: ba3d0241e2b0c4e025a94ce872426314fe119765
      https://github.com/llvm/llvm-project/commit/ba3d0241e2b0c4e025a94ce872426314fe119765
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/TBAAForest.h
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
    M flang/test/Fir/external-mangling.fir

  Log Message:
  -----------
  [flang] Record the original name of a function during ExternalNameCoversion (#74065)

We pass TBAA alias information with separate TBAA trees per function (to
prevent incorrect alias information after inlining). These TBAA trees
are identified by a unique string per function. Naturally, we use the
mangled name of the function.

TBAA tags are added in two places: during a dedicated pass relatively
early (structured control flow makes fir::AliasAnalysis more accurate),
then again during CodeGen (when implied box loads and stores become
visible). In between these two passes, the ExternalNameConversion pass
changes the name of some functions.

These functions with changed names previously ended up with separate
TBAA trees from the TBAA tags pass and from CodeGen - leading LLVM to
think that all data accesses alias with all descriptor accesses.

This patch solves this by storing the original name of a function in an
attribute during the ExternalNameConversion pass, and using the name
from that attribute when creating TBAA trees during CodeGen.


  Commit: 74ff52345d1203995febf6f090a0ff9e91c92b4a
      https://github.com/llvm/llvm-project/commit/74ff52345d1203995febf6f090a0ff9e91c92b4a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Support/Automaton.h
    M llvm/tools/llvm-cfi-verify/lib/FileAnalysis.h
    M llvm/tools/llvm-cfi-verify/lib/GraphBuilder.h
    M llvm/tools/llvm-exegesis/lib/Analysis.h
    M llvm/tools/llvm-pdbutil/PrettyClassDefinitionDumper.h

  Log Message:
  -----------
  [llvm] Stop including unordered_map (NFC)

Identified with clangd.


  Commit: e315bf25a843582de39257e1345408a10dc08224
      https://github.com/llvm/llvm-project/commit/e315bf25a843582de39257e1345408a10dc08224
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [AArch64] Update LangRef to reference GHC calling convention (#72760)

AArch64 has supported the GHC calling convention for quite a few years
at this point (https://reviews.llvm.org/D6877), but the LangRef never
got updated noting that this was implemented on AArch64.


  Commit: 7882f380a234a8c0260b79290406967c851a0df2
      https://github.com/llvm/llvm-project/commit/7882f380a234a8c0260b79290406967c851a0df2
  Author: David Li <57157229+david-xl at users.noreply.github.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M clang/docs/UsersManual.rst

  Log Message:
  -----------
  Fix documentation on PGO/coverage related options. (#73845)

Update the user manual to provide guidance on the usage for different
flavors of instrumentations.


  Commit: 21a9c7e6e7b89b2000e2249a5305cf5d0b04ccd2
      https://github.com/llvm/llvm-project/commit/21a9c7e6e7b89b2000e2249a5305cf5d0b04ccd2
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M mlir/lib/CAPI/Dialect/AMDGPU.cpp

  Log Message:
  -----------
  [mlir][AMDGPU] fix AMDGPU C API registration (#74255)


  Commit: 4042fb8ce47947cc4d16985035f4106feb386ba1
      https://github.com/llvm/llvm-project/commit/4042fb8ce47947cc4d16985035f4106feb386ba1
  Author: Joshua Cao <cao.joshua at yahoo.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/TailCallElim/accum_recursion.ll

  Log Message:
  -----------
  [TRE] Generate tests for accumulator recursion


  Commit: 57eb4826e5b4c99751c6eff4e4fc50b55919e5ae
      https://github.com/llvm/llvm-project/commit/57eb4826e5b4c99751c6eff4e4fc50b55919e5ae
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/InlineModelFeatureMaps.h
    M llvm/include/llvm/DWARFLinkerParallel/StringPool.h
    M llvm/include/llvm/Option/Option.h
    M llvm/include/llvm/TableGen/Parser.h
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
    M llvm/lib/Target/Mips/MipsSubtarget.h
    M llvm/tools/llvm-cfi-verify/lib/GraphBuilder.h
    M llvm/tools/llvm-exegesis/lib/Analysis.h
    M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
    M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
    M llvm/tools/llvm-pdbutil/DumpOutputStyle.h
    M llvm/tools/llvm-pdbutil/ExplainOutputStyle.h
    M llvm/tools/llvm-rc/ResourceScriptToken.h
    M llvm/tools/llvm-readobj/llvm-readobj.h
    M llvm/unittests/Support/AddressRangeTest.cpp

  Log Message:
  -----------
  [llvm] Stop including string (NFC)

Identified with clangd.


  Commit: 4596dd103cf8a4624505e3fa820af5f64bff6b51
      https://github.com/llvm/llvm-project/commit/4596dd103cf8a4624505e3fa820af5f64bff6b51
  Author: Eric <eric at efcs.ca>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  Change how libc++ specifies the runners to use. (#74188)

Github actions has some quirks with how you use runner groups, labels,
names, etc... One of them is that groups can't "group" more than one set
of builders. To do that, you use the same name. So now we're specifying
the name.


  Commit: dff5bb92d47ef226319ba1b70a334785d7896de8
      https://github.com/llvm/llvm-project/commit/dff5bb92d47ef226319ba1b70a334785d7896de8
  Author: David Truby <david.truby at arm.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp
    A flang/test/Driver/msvc-defines.f90

  Log Message:
  -----------
  [flang] Add MSC_VER and target arch defines when targeting the MSVC ABI (#73250)

Fixes #67675


  Commit: e9cd197d15300f186a5a32092103add65fbd3f50
      https://github.com/llvm/llvm-project/commit/e9cd197d15300f186a5a32092103add65fbd3f50
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    A llvm/test/CodeGen/LoongArch/lasx/mulh.ll
    A llvm/test/CodeGen/LoongArch/lsx/mulh.ll

  Log Message:
  -----------
  [LoongArch] Support MULHS/MULHU with lsx/lasx

Mark MULHS/MULHU nodes as legal and adds the necessary patterns.


  Commit: 239bcba65099558e2ec4f57d14ef6ce46b1ae74e
      https://github.com/llvm/llvm-project/commit/239bcba65099558e2ec4f57d14ef6ce46b1ae74e
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  Fix [[clang::coro_wrapper]] documentation.


  Commit: 26fc26c184bae3e5eb6f481f63edb7c285ada272
      https://github.com/llvm/llvm-project/commit/26fc26c184bae3e5eb6f481f63edb7c285ada272
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Simplify computation of VarArgsSaveSize. NFC (#74209)

The computation we use for computing the size already returns 0 when all
registers are allocated. We don't need an if to set it to 0.

Use the size being 0 to check for whether we need to spill registers or
not.

I have another change I want to make to this code, but this change
seemed to stand on its own. I left the curly braces since I need them
for the other change.


  Commit: 0f8681b38e51e8a68894042e638eba681f7737f1
      https://github.com/llvm/llvm-project/commit/0f8681b38e51e8a68894042e638eba681f7737f1
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    A clang/test/CodeGenHIP/ballot.cpp

  Log Message:
  -----------
  [clang][AMDGPU] precommit test for ballot on Windows (#73920)

The Clang declaration of the wave-64 builtin uses "UL" as the return
type, which is interpreted as a 32-bit unsigned integer on Windows. This
emits an incorrect LLVM declaration with i32 return type instead of i64.
The clang declaration needs to be fixed to use "WU" instead.


  Commit: 87526c836e27c0c18a8a9230dbf3c4a7456485b8
      https://github.com/llvm/llvm-project/commit/87526c836e27c0c18a8a9230dbf3c4a7456485b8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    A llvm/test/CodeGen/RISCV/sextw-removal-debug.mir

  Log Message:
  -----------
  [RISCV] Add test case showing that removal of W suffixes doesn't work with DBG_VALUE uses. NFC


  Commit: 55f91bfe5074a22ead581a49e54ec9ed1744b39d
      https://github.com/llvm/llvm-project/commit/55f91bfe5074a22ead581a49e54ec9ed1744b39d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
    M llvm/test/CodeGen/RISCV/sextw-removal-debug.mir

  Log Message:
  -----------
  [RISCV] Ignore debug instructions in hasAllNBitUsers in RISCVOptWInstrs.


  Commit: 7c4eb1309ec4aceae659522038fd52e58427270d
      https://github.com/llvm/llvm-project/commit/7c4eb1309ec4aceae659522038fd52e58427270d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO.h

  Log Message:
  -----------
  [Transforms] Remove unnecessary includes (NFC)

Identified with clangd.


  Commit: f4b1f44cb570a61533a876ca1dfaefd87b902485
      https://github.com/llvm/llvm-project/commit/f4b1f44cb570a61533a876ca1dfaefd87b902485
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    R llvm/include/llvm/DebugInfo/PDB/Native/Formatters.h

  Log Message:
  -----------
  [PDB] Remove llvm/DebugInfo/PDB/Native/Formatters.h (#74257)

The last use was removed by:

  commit 7b84b678a993c8a8236868f65d1d4c2b3e29fb3d
  Author: Zachary Turner <zturner at google.com>
  Date:   Mon Mar 26 18:01:07 2018 +0000


  Commit: 0031efe6be19735402656a76b64a173d17f1f935
      https://github.com/llvm/llvm-project/commit/0031efe6be19735402656a76b64a173d17f1f935
  Author: wheatman <wheatman at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Sema/warn-char-subscripts.c
    A clang/test/Sema/warn-char-subscripts.cpp

  Log Message:
  -----------
  Remove warnings from -Wchar-subscripts for known positive constants (#69061)

Fixes #18763

Remove warnings when using a signed char as an array bound if the char is a known positive constant.

This goes one step farther than gcc does.

For example given the following code
```c++
char upper[300];

int main() {
  upper['a'] = 'A';
  char b = 'a';
  upper[b] = 'A';
  const char c = 'a';
  upper[c] = 'A';
  constexpr char d = 'a';
  upper[d] = 'A';
  char e = -1;
  upper[e] = 'A';
  const char f = -1;
  upper[f] = 'A';
  constexpr char g = -1;
  upper[g] = 'A';
  return 1;
}
```

clang currently gives warnings for all cases, while gcc gives warnings
for all cases except for 'a' (https://godbolt.org/z/5ahjETTv3)

With the change there is no longer any warning for 'a', 'c', or 'd'.


  Commit: fe0d629c1ebb175fc224fb016757e9a979a6c1e4
      https://github.com/llvm/llvm-project/commit/fe0d629c1ebb175fc224fb016757e9a979a6c1e4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/include/llvm/TableGen/Parser.h

  Log Message:
  -----------
  [TableGen] Remove unnecessary includes (NFC)

Identified with clangd.


  Commit: bc1fe6fd49b28e52ad289ec2aee6ea5709c3b25c
      https://github.com/llvm/llvm-project/commit/bc1fe6fd49b28e52ad289ec2aee6ea5709c3b25c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    A llvm/test/CodeGen/AArch64/coalescer-drop-subreg-to-reg-imm-ops.mir

  Log Message:
  -----------
  RegisterCoalescer: Fix producing malformed IMPLICIT_DEFs (#73784)

If this was coalescing a SUBREG_TO_REG as a copy, the resulting
instruction would be an IMPLICIT_DEF with an unexpected 2 immediate
operands, which need to be dropped. Until recently the verifier did not
catch this error, and an assert would fire if later the broken
IMPLICIT_DEF was rematerialized P

#73758 is related, it changes the failure mode to a verifier error.


  Commit: 92c2529ccde4a7eff344acd4ba22bf9d4af26b9d
      https://github.com/llvm/llvm-project/commit/92c2529ccde4a7eff344acd4ba22bf9d4af26b9d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/include/llvm/ADT/PostOrderIterator.h
    M llvm/include/llvm/CodeGen/CallingConvLower.h
    M llvm/include/llvm/DebugInfo/GSYM/ExtractRanges.h
    M llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
    M llvm/include/llvm/ExecutionEngine/Orc/EPCDebugObjectRegistrar.h
    M llvm/include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h
    M llvm/include/llvm/IR/Dominators.h
    M llvm/include/llvm/IR/ReplaceConstant.h
    M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
    M llvm/include/llvm/Support/Automaton.h
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/include/llvm/Transforms/Instrumentation.h
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/MachineCSE.cpp
    M llvm/lib/ObjCopy/XCOFF/XCOFFWriter.h
    M llvm/lib/Object/RelocationResolver.cpp
    M llvm/lib/TableGen/Main.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h
    M llvm/lib/Target/ARM/ARM.h
    M llvm/lib/Target/ARM/ARMBasicBlockInfo.cpp
    M llvm/lib/Target/AVR/AVRFrameLowering.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp
    M llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
    M llvm/lib/Target/PowerPC/PPCCTRLoopsVerify.cpp
    M llvm/lib/Transforms/IPO/Inliner.cpp
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
    M llvm/lib/Transforms/Scalar/SCCP.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h
    M llvm/tools/llvm-objcopy/ObjcopyOptions.h
    M llvm/tools/llvm-profgen/CallContext.h
    M llvm/tools/llvm-profgen/PerfReader.h
    M llvm/tools/llvm-reduce/deltas/Delta.h
    M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
    M llvm/tools/llvm-reduce/llvm-reduce.cpp
    M llvm/tools/llvm-xray/xray-account.h

  Log Message:
  -----------
  [llvm] Stop including vector (NFC)

Identified with clangd.


  Commit: 3406a2bc5ff71b2e395a28d4f65d177bafb60b9b
      https://github.com/llvm/llvm-project/commit/3406a2bc5ff71b2e395a28d4f65d177bafb60b9b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-03 (Sun, 03 Dec 2023)

  Changed paths:
    M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Transforms/Scalar/TLSVariableHoist.cpp
    M llvm/unittests/ADT/CombinationGeneratorTest.cpp
    M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.h
    M llvm/unittests/XRay/FDRProducerConsumerTest.cpp

  Log Message:
  -----------
  [llvm] Stop including tuple (NFC)

Identified with clangd.


  Commit: 67f9cd46708e74aa65341b07eeefa4fe198d7a9e
      https://github.com/llvm/llvm-project/commit/67f9cd46708e74aa65341b07eeefa4fe198d7a9e
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [mlir][llvm] Fix verifier for const float (#74247)

Fixes one of the cases of
https://github.com/llvm/llvm-project/issues/56962.

This PR basically moves some code from
`mlir::LLVM::detail::getLLVMConstant`
([source](https://github.com/llvm/llvm-project/blob/9f78edbd20ed922cced9482f7791deb9899a6d82/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp#L354-L371))
over to the verifier of `LLVM::ConstantOp`. For now, I focused just on
the case where the attribute is a float and ignored the integer case of
https://github.com/llvm/llvm-project/issues/56962. Note that without
this patch, both added tests will crash inside `getLLVMConstant` during
`mlir-translate -mlir-to-llvmir`.


  Commit: 725656bdd885483c39f482a01ea25d67acf39c46
      https://github.com/llvm/llvm-project/commit/725656bdd885483c39f482a01ea25d67acf39c46
  Author: Sheng <ox59616e at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Target/M68k/M68kExpandPseudo.cpp
    M llvm/lib/Target/M68k/M68kInstrControl.td
    A llvm/test/CodeGen/M68k/CConv/rte.ll

  Log Message:
  -----------
  [M68k] Emit RTE for interrupt handler. (#72787)

Fixes #64833


  Commit: d49e9d88a27295b52f28cdcdcf5eb59d88dd99f9
      https://github.com/llvm/llvm-project/commit/d49e9d88a27295b52f28cdcdcf5eb59d88dd99f9
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

  Log Message:
  -----------
  [SelectionDAG][NFC] Replace C-style casting with static_cast (#74060)

Fix comments in #73283.


  Commit: c9c1b3c37fa5d5c617068afe67afcafacd58a241
      https://github.com/llvm/llvm-project/commit/c9c1b3c37fa5d5c617068afe67afcafacd58a241
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Transforms/loop-invariant-code-motion.mlir

  Log Message:
  -----------
  [mlir][memref] Fix an invalid dim loop motion crash (#74204)

Fixes https://github.com/llvm/llvm-project/issues/73382.

This PR suggests to replace two assertions that were introduced in
https://github.com/llvm/llvm-project/commit/adabce41185910227ca276a1cfd22e76443dd238
(https://reviews.llvm.org/D135748). According to the enum definition of
`NotSpeculatable`, an op that invokes undefined behavior is
`NotSpeculatable`.

https://github.com/llvm/llvm-project/blob/0c06e8745f131d867c566f4d35a7a04e24b4a075/mlir/include/mlir/Interfaces/SideEffectInterfaces.h#L248-L258

and both `tensor.dim` and `memref.dim` state that "If the dimension
index is out of bounds, the behavior is undefined."

So therefore it seems to me that `DimOp::getSpeculatability()` should
return `NotSpeculatable` if the dimension index is out of bounds.

The added test is just a simplified version of
https://github.com/llvm/llvm-project/issues/73382.


  Commit: c1e2457a14f865371bb2dcba260ace32e3a2f71b
      https://github.com/llvm/llvm-project/commit/c1e2457a14f865371bb2dcba260ace32e3a2f71b
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M lldb/source/Host/netbsd/HostNetBSD.cpp

  Log Message:
  -----------
  [lldb] Fix build on NetBSD (#74190)

lldb/source/Host/netbsd/HostNetBSD.cpp:112:32: error: reinterpret_cast from 'const uint8_t *' (aka 'const unsigned char *') to 'char *' casts away qualifiers
                              {reinterpret_cast<char *>(buffer_sp->GetBytes()),
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.


  Commit: b96bae2887f276345f9c0ea9974703e8dd3b5ddf
      https://github.com/llvm/llvm-project/commit/b96bae2887f276345f9c0ea9974703e8dd3b5ddf
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp
    M lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.h

  Log Message:
  -----------
  [lldb] Fix building on NetBSD 8.x (#74191)

PT_STOP was introduced with NetBSD 9.0.


  Commit: 0cdacd5f492991362bfc8e252673aafdb9651322
      https://github.com/llvm/llvm-project/commit/0cdacd5f492991362bfc8e252673aafdb9651322
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h

  Log Message:
  -----------
  [DomTree] Fix root attachment in runDFS() (#73148)

Currently, runDFS() only sets the Parent of the DFS root if it is
already in the NodeToInfo map. This doesn't matter if we're running DFS
on the DT root, which doesn't have a parent anyway. However, when
running on PDT roots, this means we end up keeping the parent at 0,
rather than setting it to 1 for the virtual PDT root. Because the
virtual root (nullptr) has the same value as the dummy value in
NumToNode (nullptr) this happens to work out by accident right now.

I believe we should always be setting the parent in runDFS(), and adjust
AttachToNum in doFullDFSWalk() to be 1 (the virtual root) for PDTs.


  Commit: 71f2ec2db1295462d61e1407fcc1e715ba5d458b
      https://github.com/llvm/llvm-project/commit/71f2ec2db1295462d61e1407fcc1e715ba5d458b
  Author: martinboehme <mboehme at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
    M clang/include/clang/Analysis/FlowSensitive/RecordOps.h
    M clang/include/clang/Analysis/FlowSensitive/StorageLocation.h
    M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
    M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
    M clang/unittests/Analysis/FlowSensitive/RecordOpsTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Add synthetic fields to `RecordStorageLocation` (#73860)

Synthetic fields are intended to model the internal state of a class
(e.g. the value stored in a `std::optional`) without having to depend on
that class's implementation details.

Today, this is typically done with properties on `RecordValue`s, but
these have several drawbacks:

* Care must be taken to call `refreshRecordValue()` before modifying a
property so that the modified property values aren’t seen by other
environments that may have access to the same `RecordValue`.

* Properties aren’t associated with a storage location. If an analysis
needs to associate a location with the value stored in a property (e.g.
to model the reference returned by `std::optional::value()`), it needs
to manually add an indirection using a `PointerValue`. (See for example
the way this is done in UncheckedOptionalAccessModel.cpp, specifically
in `maybeInitializeOptionalValueMember()`.)

* Properties don’t participate in the builtin compare, join, and widen
operations. If an analysis needs to apply these operations to
properties, it needs to override the corresponding methods of
`ValueModel`.

* Longer-term, we plan to eliminate `RecordValue`, as by-value
operations on records aren’t really “a thing” in C++ (see
https://discourse.llvm.org/t/70086#changed-structvalue-api-14). This
would obviously eliminate the ability to set properties on
`RecordValue`s.

To demonstrate the advantages of synthetic fields, this patch converts
UncheckedOptionalAccessModel.cpp to synthetic fields. This greatly
simplifies the implementation of the check.

This PR is pretty big; to make it easier to review, I have broken it
down into a stack of three commits, each of which contains a set of
logically related changes. I considered submitting each of these as a
separate PR, but the commits only really make sense when taken together.

To review, I suggest first looking at the changes in
UncheckedOptionalAccessModel.cpp. This gives a flavor for how the
various API changes work together in the context of an analysis. Then,
review the rest of the changes.


  Commit: f65e3af73dd507568bcb645e1fcb3ddb738fb809
      https://github.com/llvm/llvm-project/commit/f65e3af73dd507568bcb645e1fcb3ddb738fb809
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/Target.cpp
    A flang/test/Fir/target-rewrite-complex-10-x86.fir

  Log Message:
  -----------
  [flang] Implement COMPLEX(10) passing and return ABI for X86-64 linux (#74094)

COMPLEX(10) passing by value and returning follows C complex
passing/returning ABI.

Cover the COMPLEX(10) case (X87 / __Complex long double on X86-64).

Implements System V ABI for AMD64 version 1.0.

The LLVM signatures match the one generated by clang for the __Complex
long double case.

Note that a FIXME is added for the COMPLEX(8) case that is incorrect in
a corner case. This will be fixed when dealing with passing derived type
by value in BIND(C) context.


  Commit: a01392cc95a03e97d8dc19cc3b3484daf9a4f19e
      https://github.com/llvm/llvm-project/commit/a01392cc95a03e97d8dc19cc3b3484daf9a4f19e
  Author: Valery Pykhtin <valery.pykhtin at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll

  Log Message:
  -----------
  [AMDGPU] Set debug info on CFG annotation instructions. (#73958)

This fixes incorrect source location in ASAN diagnostics for #72247.


  Commit: db3d0e4dfa34e59fab90c0726a6722f82db48462
      https://github.com/llvm/llvm-project/commit/db3d0e4dfa34e59fab90c0726a6722f82db48462
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p5-ex2.cpp
    M clang/test/CXX/module/module.interface/p2.cpp
    A clang/test/Modules/pr73893.cppm
    M clang/test/Modules/submodules-merge-defs.cpp

  Log Message:
  -----------
  [C++20] [Modules] Don't diagnose on invisible namesapce

Close https://github.com/llvm/llvm-project/issues/73893

As the issue shows, generally, the diagnose information for
invisible namespace is confusing more than helpful. Also this patch
implements the same solution as suggested in the issue: don't diagnose
on invisible namespace.


  Commit: a3fe9cb24da302a40c53d187271e472a6432c4f1
      https://github.com/llvm/llvm-project/commit/a3fe9cb24da302a40c53d187271e472a6432c4f1
  Author: Samira Bazuzi <bazuzi at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Retrieve members from accessors called using member… (#73978)

… pointers.

getMethodDecl does not handle pointers to members and returns nullptr
for them. getMethodDecl contains a decade-plus-old FIXME to handle
pointers to members, but two approaches I looked at for fixing it are
more invasive or complex than simply swapping to getCalleeDecl.

The first, have getMethodDecl call getCalleeDecl, creates a large tree
of const-ness mismatches due to getMethodDecl returning a non-const
value while being a const member function and getCalleeDecl only being a
const member function when it returns a const value.

The second, implementing an AST walk to match how
CXXMemberCallExpr::getImplicitObjectArgument grabs the LHS of the binary
operator, is basically reimplementing Expr::getReferencedDeclOfCallee,
which is used by Expr::getCalleeDecl. We don't need another copy of that
code.


  Commit: ea668144d9c6d93fbe2ea7827bd8e8cbaf4c50dd
      https://github.com/llvm/llvm-project/commit/ea668144d9c6d93fbe2ea7827bd8e8cbaf4c50dd
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/PseudoSourceValue.h
    A llvm/include/llvm/CodeGen/PseudoSourceValueManager.h
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/PseudoSourceValue.cpp
    M llvm/lib/CodeGen/StackColoring.cpp
    M llvm/lib/CodeGen/StackSlotColoring.cpp
    M llvm/lib/Target/Mips/MipsMachineFunction.cpp
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp

  Log Message:
  -----------
  [CodeGen] Split off PseudoSourceValueManager into separate header (NFC) (#73327)

Most users of PseudoSourceValue.h only need PseudoSourceValue, not the
PseudoSourceValueManager. However, this header pulls in some very
expensive dependencies like ValueMap.h, which is only used for the
manager.

Split off the manager into a separate header and include it only where
used.


  Commit: 16232927062ec56d41911b1538a7887a6ee023a1
      https://github.com/llvm/llvm-project/commit/16232927062ec56d41911b1538a7887a6ee023a1
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/udiv-simplify.ll

  Log Message:
  -----------
  [InstCombine] Add test for #74242 (NFC)


  Commit: 10063c5a29b9dd5041ea7e0ab9569ed74ef54d32
      https://github.com/llvm/llvm-project/commit/10063c5a29b9dd5041ea7e0ab9569ed74ef54d32
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
    M mlir/test/Dialect/ArmSME/vector-ops-to-sme.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Move vector.print -> ArmSME lowering to VectorToArmSME (#74063)

This moves the SME tile vector.print lowering from
`-convert-arm-sme-to-scf` to `-convert-vector-to-arm-sme`. This seems
like a more logical place, as this is lowering a vector op to ArmSME,
and it also prevents vector.print from blocking tile allocation.


  Commit: c1140d49ec3363bf903e4c1dbf7a3f5e8c1b6523
      https://github.com/llvm/llvm-project/commit/c1140d49ec3363bf903e4c1dbf7a3f5e8c1b6523
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-dyn-alloca.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll

  Log Message:
  -----------
  [AArch64] Stack probing for dynamic allocas in GlobalISel (#67123)

Co-authored-by: Oliver Stannard <oliver.stannard at linaro.org>


  Commit: 9db642394dee768e8a4404978c0e5d3af07fed17
      https://github.com/llvm/llvm-project/commit/9db642394dee768e8a4404978c0e5d3af07fed17
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenHIP/ballot.cpp

  Log Message:
  -----------
  [clang][AMDGPU] fix the return type for ballot (#73906)

In the builtins declaration, "ULi" is a 32-bit integer on Windows. Use
"WUi" instead to ensure a 64-bit integer on all platforms.


  Commit: 077fe9773632b955ad114eeeb4153c734a9f5172
      https://github.com/llvm/llvm-project/commit/077fe9773632b955ad114eeeb4153c734a9f5172
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp

  Log Message:
  -----------
  [llvm-exegesis] Disable core dumps in subprocess (#74144)

Core dumps are currently enabled within the llvm-exegesis subprocess
executor. This can create a lot of core dumps when going through
different snippets that might segfault when experimenting with memory
annotations. These core dumps are not really needed as the information
about the segfault is reported directly to the user.


  Commit: 8628ca29aa4714f99e865c99b9d510ad14897fdc
      https://github.com/llvm/llvm-project/commit/8628ca29aa4714f99e865c99b9d510ad14897fdc
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M libc/src/string/memory_utils/utils.h

  Log Message:
  -----------
  [libc] Fix UB in memory utils (#74295)

The [standard](https://eel.is/c++draft/expr.add#4.3) forbids forming
pointers to invalid objects even if the pointer is never read from or
written to. This patch makes sure that we don't do pointer arithmetic on
invalid pointers.


Co-authored-by: Vitaly Buka <vitalybuka at google.com>


  Commit: f827b953ab3206294530685b8b821f1a60f3836c
      https://github.com/llvm/llvm-project/commit/f827b953ab3206294530685b8b821f1a60f3836c
  Author: wangpc <wangpengcheng.pp at bytedance.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M .mailmap

  Log Message:
  -----------
  [mailmap] Add entry for myself


  Commit: 8171eac23fe7756319444c2caa27216a1e9f046a
      https://github.com/llvm/llvm-project/commit/8171eac23fe7756319444c2caa27216a1e9f046a
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir

  Log Message:
  -----------
  [mlir][Vector] Update patterns for flattening vector.xfer Ops (1/N) (#73522)

Updates "flatten vector" patterns to support more cases, namely Ops that
read/write vectors with leading unit dims. For example:

```mlir
%0 = vector.transfer_read %arg0[%c0, %c0, %c0, %c0] ... :
  memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>, vector<1x1x2x2xi8>
```

Currently, the `vector.transfer_read` above would not be flattened. With
this
change, it will be rewritten as follows:
```mlir
%collapse_shape = memref.collapse_shape %arg0 [[0, 1, 2, 3]] :
  memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>
  into memref<120xi8, strided<[1], offset: ?>>
%0 = vector.transfer_read %collapse_shape[%c0] ... :
  memref<120xi8, strided<[1], offset: ?>>, vector<4xi8>
%1 = vector.shape_cast %0 : vector<4xi8> to vector<1x1x2x2xi8>
```

`hasMatchingInnerContigousShape` is generalised and renamed as
`isContiguousSlice` to better match the updated functionality. A few
test names are updated to better highlight what case is being exercised.


  Commit: 3b6d63c5193bf5e3ce04c71703fc5c681a62f094
      https://github.com/llvm/llvm-project/commit/3b6d63c5193bf5e3ce04c71703fc5c681a62f094
  Author: martinboehme <mboehme at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp

  Log Message:
  -----------
  Revert "[clang][dataflow] Retrieve members from accessors called using member…" (#74299)

Reverts llvm/llvm-project#73978


  Commit: 5c672d87ea5e63bf5e218c871228b62358e1ba51
      https://github.com/llvm/llvm-project/commit/5c672d87ea5e63bf5e218c871228b62358e1ba51
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp

  Log Message:
  -----------
  Fix MSVC signed/unsigned mismatch warning. NFC.


  Commit: 4275da2278b146189268b1040b749fa9f3a7bdcc
      https://github.com/llvm/llvm-project/commit/4275da2278b146189268b1040b749fa9f3a7bdcc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp

  Log Message:
  -----------
  [ValueTracking] Add isGuaranteedNotToBeUndef() variant (NFC)

We have a bunch of places where we have to guard against undef
to avoid multi-use issues, but would be fine with poison. Use a
different function for these to make it clear, and to indicate that
this check can be removed once we no longer support undef. I've
replaced some of the obvious cases, but there's probably more.

For now, the implementation is the same as UndefOrPoison, it just
has a more precise name.


  Commit: 83e01ea1a559a7da0e8f41620a05f91c9ae542a2
      https://github.com/llvm/llvm-project/commit/83e01ea1a559a7da0e8f41620a05f91c9ae542a2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp

  Log Message:
  -----------
  Fix MSVC signed/unsigned mismatch warning. NFC.


  Commit: 99fd62adff24724547f6ba7716cca2e37c640667
      https://github.com/llvm/llvm-project/commit/99fd62adff24724547f6ba7716cca2e37c640667
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    A llvm/test/CodeGen/X86/nontemporal-4.ll

  Log Message:
  -----------
  [X86] Add tests for constant nontemporal vector stores

Extends the zero-vector test coverage in nontemporal-3.ll


  Commit: 853682cc19e26964383af9e834215fae5966b140
      https://github.com/llvm/llvm-project/commit/853682cc19e26964383af9e834215fae5966b140
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [mlir][LLVIR] Apply ClangTidy finding.

Remove unused using declaration.


  Commit: 6d6baef5c9bf880a28c3b9861fc5c1f578b6635c
      https://github.com/llvm/llvm-project/commit/6d6baef5c9bf880a28c3b9861fc5c1f578b6635c
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/test/Driver/x86-target-features.c
    M clang/test/Preprocessor/x86_target_features.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/TargetParser/X86TargetParser.cpp

  Log Message:
  -----------
  [X86] Support CFE flags for APX features (#74199)

Positive options: -mapx-features=<comma-separated-features>
Negative options: -mno-apx-features=<comma-separated-features>

-m[no-]apx-features is designed to be able to control separate APX
features.

Besides, we also support the flag -m[no-]apxf, which can be used like an
alias of -m[no-]apx-features=< all APX features covered by CPUID APX_F>

Behaviour when positive and negative options are used together:

For boolean flags, the last one wins

-mapxf   -mno-apxf   -> -mno-apxf
-mno-apxf   -mapxf   -> -mapxf

For flags that take a set as arguments, it sets the mask by order of the
flags

-mapx-features=egpr,ndd  -mno-apx-features=egpr  ->   -egpr,+ndd
-mapx-features=egpr  -mno-apx-features=egpr,ndd  ->   -egpr,-ndd
-mno-apx-features=egpr  -mapx-features=egpr,ndd  ->   +egpr,+ndd
-mno-apx-features=egpr,ndd  -mapx-features=egpr  ->   -ndd,+egpr

The design is aligned with gcc
https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628905.html


  Commit: 666a61972f65eb7441a0e81b3ad20780ed857eea
      https://github.com/llvm/llvm-project/commit/666a61972f65eb7441a0e81b3ad20780ed857eea
  Author: Kiran Kumar T P <50909805+kiranktp at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/copying.f90
    M flang/test/Semantics/OpenMP/threadprivate04.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [Flang] Add semantic check for usage of COPYPRIVATE and NOWAIT clauses (#73486)

1. COPYPRIVATE clause should be specified on END SINGLE construct.
2. NOWAIT clause should be specified on END DO/DO SIMD/SINGLE/SECTIONS
construct.

Special handling for semantic checks for nowait/copyprivate clause is
needed in Fortran due to the fact that Openmp pragmas for C/C++ doesn't
have end directive (clause). nowait/copyprivate clauses are allowed in
begin directive clause lists for C/C++ and it is not allowed for
Fortran.


  Commit: 40a61458f56ed2f2336d8536bf4a97badbe821d7
      https://github.com/llvm/llvm-project/commit/40a61458f56ed2f2336d8536bf4a97badbe821d7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/not.ll

  Log Message:
  -----------
  [InstCombine] Add tests for #74302 (NFC)


  Commit: d43c081aef505b0f1d5e887a365cd69e7f9f37b2
      https://github.com/llvm/llvm-project/commit/d43c081aef505b0f1d5e887a365cd69e7f9f37b2
  Author: Youngsuk Kim <joseph942010 at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp

  Log Message:
  -----------
  [clang][CGOpenMPRuntimeGPU] Merge consecutive AddrSpaceCasts (NFC) (#74279)

Merge consecutive AddrSpaceCasts into a single AddrSpaceCast.


  Commit: f5868cb6a672e54b4697f27c202f9eac68ec37b0
      https://github.com/llvm/llvm-project/commit/f5868cb6a672e54b4697f27c202f9eac68ec37b0
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIInstrFormats.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    A llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vimage_alias.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vsample.s
    A llvm/test/MC/AMDGPU/gfx12_err.s
    M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vsample.txt

  Log Message:
  -----------
  [AMDGPU][MC] Add GFX12 VIMAGE and VSAMPLE encodings (#74062)


  Commit: f9afe4049a8829aa8dad64b0eb7dccc8dd4a8bbe
      https://github.com/llvm/llvm-project/commit/f9afe4049a8829aa8dad64b0eb7dccc8dd4a8bbe
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/test/CXX/drs/dr4xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Fill in historical data on when C++ DRs 400-499 were fixed


  Commit: efec4cc50145ed32139c7f5268f22ec6e56f7696
      https://github.com/llvm/llvm-project/commit/efec4cc50145ed32139c7f5268f22ec6e56f7696
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll

  Log Message:
  -----------
  [LV] Remove unused CHECK lines, remove IR references from test.

Clean up sve-tail-folding-option.ll by removing the unused
CHECK-TF-NEOVERSE-V1 prefix (note the use of non-opaque pointers) and
remove IR value references.


  Commit: 2377f20ac6719472308220e692f3651fbbf766f4
      https://github.com/llvm/llvm-project/commit/2377f20ac6719472308220e692f3651fbbf766f4
  Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c

  Log Message:
  -----------
  [AArch64][SME2] Add intrinsics & builtins for S/URSHL (single, multi) (#74066)

Patch by: Kerry McLaughlin <kerry.mclaughlin at arm.com>


  Commit: 9a99a1a39e1d067abb9a6cc0d53e7708d6c49995
      https://github.com/llvm/llvm-project/commit/9a99a1a39e1d067abb9a6cc0d53e7708d6c49995
  Author: shaojingzhi <shaojingzhi98 at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/mul_fold.ll
    M llvm/test/Transforms/InstCombine/mul_full_64.ll

  Log Message:
  -----------
  [InstCombine] Add one-use limitation to box multiply fold (#72876)

Check the operands of I are used in no more than one place, which can
not be deleted, cause a mul instruction has far more weight than add and
shl instruction in IR, thus this method cannot achieve the goal of
simplifying instructions, just return null.


  Commit: 3c012562844b5ba83904e78da6e9d6a1e3ff6b95
      https://github.com/llvm/llvm-project/commit/3c012562844b5ba83904e78da6e9d6a1e3ff6b95
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/back-off-barrier-subtarget-feature.ll

  Log Message:
  -----------
  [AMDGPU] Fix back off barrier checks


  Commit: 0e1b3ed0aaf64f99d4fab0d43a73497ad0de2c81
      https://github.com/llvm/llvm-project/commit/0e1b3ed0aaf64f99d4fab0d43a73497ad0de2c81
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll

  Log Message:
  -----------
  [AMDGPU] Tweak non-entry-alloc prefixes to simplify rerunning UTC


  Commit: 110319f20bb837ba47220b11da104713566c1e7e
      https://github.com/llvm/llvm-project/commit/110319f20bb837ba47220b11da104713566c1e7e
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
    M llvm/test/CodeGen/AMDGPU/waitcnt-preexisting-vscnt.mir

  Log Message:
  -----------
  [AMDGPU] Regenerate some MIR checks


  Commit: 99aa5311ee7a20df5054ed9fc2aeaa7d1226d372
      https://github.com/llvm/llvm-project/commit/99aa5311ee7a20df5054ed9fc2aeaa7d1226d372
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Add missing output of live-ins to VPlan dot printing.

Split off live-in printing to VPlan::printLiveIns and use it to print
Live-ins when printing in the DOT format.


  Commit: 8a9bbac6629686bd1107cc0742b343a67d37a3c9
      https://github.com/llvm/llvm-project/commit/8a9bbac6629686bd1107cc0742b343a67d37a3c9
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
    M llvm/include/llvm/CodeGen/MachinePassRegistry.def
    A llvm/include/llvm/CodeGen/WinEHPrepare.h
    M llvm/lib/CodeGen/WinEHPrepare.cpp
    M llvm/lib/IR/EHPersonalities.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/CodeGen/WinEH/wineh-asm.ll
    M llvm/test/CodeGen/WinEH/wineh-cloning.ll
    M llvm/test/CodeGen/WinEH/wineh-demotion.ll
    M llvm/test/CodeGen/WinEH/wineh-no-demotion.ll

  Log Message:
  -----------
  [CodeGen] Port WinEHPrepare to new pass manager (#74233)


  Commit: be054fe49513642483ace02da836f76e6cbc8f10
      https://github.com/llvm/llvm-project/commit/be054fe49513642483ace02da836f76e6cbc8f10
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M flang/lib/Lower/DirectivesCommon.h
    M flang/test/Lower/OpenACC/acc-bounds.f90
    M flang/test/Lower/OpenACC/acc-data-operands.f90
    M flang/test/Lower/OpenACC/acc-enter-data.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    M flang/test/Lower/OpenACC/acc-reduction.f90
    M flang/test/Lower/OpenMP/FIR/array-bounds.f90
    M flang/test/Lower/OpenMP/array-bounds.f90

  Log Message:
  -----------
  [Flang][OpenACC][OpenMP] Always add extent to acc/omp.BoundsOp (#73790)

This patch changes the bounds generation code shared between OpenMP and OpenACC to always attach an extent to the bounds generation. This is
currently required for OpenMP descriptor lowering but may not
necessarily be required in the case of OpenACC.


  Commit: c556c9c3792a322dfc3a9c60be9d7d32cf335235
      https://github.com/llvm/llvm-project/commit/c556c9c3792a322dfc3a9c60be9d7d32cf335235
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/test/CXX/drs/dr4xx.cpp

  Log Message:
  -----------
   [clang][NFC] Refactor expected directives in C++ DRs 400-499 (#74311)

This patch continues the work started with ea5b1ef016d020c37f903d6c7d4f623be975dab8. See that commit and its corresponding PR for details.


  Commit: dd376f859526d9023c879e880f380158050daa5b
      https://github.com/llvm/llvm-project/commit/dd376f859526d9023c879e880f380158050daa5b
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp

  Log Message:
  -----------
  [flang] Fix move-assign operator for struct IncrementLoopInfo (#74137)


  Commit: 2b7191c8993b5608ddb8b89c049717b497265796
      https://github.com/llvm/llvm-project/commit/2b7191c8993b5608ddb8b89c049717b497265796
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/test/CodeGen/AMDGPU/fadd.f16.ll

  Log Message:
  -----------
  [AMDGPU][True16][GISel] Support v_add_f16 codegen. (#74122)


  Commit: bc8cff1d7fb2069aa3f7333e25642f2571049af1
      https://github.com/llvm/llvm-project/commit/bc8cff1d7fb2069aa3f7333e25642f2571049af1
  Author: Nicolas van Kempen <nvankempen at meta.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.h
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/abseil/string-find-startswith.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stddef.h
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
    M clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp

  Log Message:
  -----------
  [clang-tidy] Add new modernize-use-starts-ends-with check (#72385)

Make a modernize version of abseil-string-find-startswith using the
available C++20 `std::string::starts_with` and
`std::string_view::starts_with`. Following up from
https://github.com/llvm/llvm-project/pull/72283.


  Commit: 83abe5703f1d48b21c2f9a11758737588ef23d9c
      https://github.com/llvm/llvm-project/commit/83abe5703f1d48b21c2f9a11758737588ef23d9c
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn

  Log Message:
  -----------
  [gn build] Port bc8cff1d7fb2


  Commit: 8f40ef3479fb16b9b754a29e56bac91c6377e7b7
      https://github.com/llvm/llvm-project/commit/8f40ef3479fb16b9b754a29e56bac91c6377e7b7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/IndVarSimplify/backedge-on-min-max.ll

  Log Message:
  -----------
  [IndVarSimplify] Regenerate test checks (NFC)


  Commit: 6da578cec1395ee54f82b51f912fb85fdb6cdce3
      https://github.com/llvm/llvm-project/commit/6da578cec1395ee54f82b51f912fb85fdb6cdce3
  Author: Justin Wilson <justin.wilson at omibyte.io>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.h
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.h
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/debuginfo.mlir
    M mlir/test/Dialect/LLVMIR/global.mlir
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/Import/global-variables.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [mlir] Add support for DIGlobalVariable and DIGlobalVariableExpression (#73367)

This PR introduces DIGlobalVariableAttr and
DIGlobalVariableExpressionAttr so that ModuleTranslation can emit the
required metadata needed for debug information about global variable.
The translator implementation for debug metadata needed to be refactored
in order to allow translation of nodes based on MDNode
(DIGlobalVariableExpressionAttr and DIExpression) in addition to
DINode-based nodes.

A DIGlobalVariableExpressionAttr can now be passed to the GlobalOp
operation directly and ModuleTranslation will create the respective
DIGlobalVariable and DIGlobalVariableExpression nodes. The compile unit
that DIGlobalVariable is expected to be configured with will be updated
with the created DIGlobalVariableExpression.


  Commit: e0357e9ce390a8be6c4a9ea89977c8b8a30b5454
      https://github.com/llvm/llvm-project/commit/e0357e9ce390a8be6c4a9ea89977c8b8a30b5454
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/WinEHPrepare.cpp

  Log Message:
  -----------
  [CodeGen] Remove redundant ID in WinEHPrepareImpl (#74322)

Fix ppc build bot


  Commit: c4b795df8075b111fc14cb5409f7138c32313a9b
      https://github.com/llvm/llvm-project/commit/c4b795df8075b111fc14cb5409f7138c32313a9b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/combine-or.ll

  Log Message:
  -----------
  [X86] Regenerate combine-or.ll


  Commit: 4c198542226223f6a5c5511a1f89b37d15ee10b9
      https://github.com/llvm/llvm-project/commit/4c198542226223f6a5c5511a1f89b37d15ee10b9
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M libcxx/.clang-format
    M libcxx/docs/Contributing.rst
    M libcxx/docs/DesignDocs/VisibilityMacros.rst
    M libcxx/include/__algorithm/any_of.h
    M libcxx/include/__algorithm/binary_search.h
    M libcxx/include/__algorithm/comp_ref_type.h
    M libcxx/include/__algorithm/copy.h
    M libcxx/include/__algorithm/copy_if.h
    M libcxx/include/__algorithm/copy_n.h
    M libcxx/include/__algorithm/count_if.h
    M libcxx/include/__algorithm/fill.h
    M libcxx/include/__algorithm/fill_n.h
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/find_first_of.h
    M libcxx/include/__algorithm/find_if.h
    M libcxx/include/__algorithm/find_if_not.h
    M libcxx/include/__algorithm/for_each_n.h
    M libcxx/include/__algorithm/generate.h
    M libcxx/include/__algorithm/generate_n.h
    M libcxx/include/__algorithm/half_positive.h
    M libcxx/include/__algorithm/inplace_merge.h
    M libcxx/include/__algorithm/is_heap.h
    M libcxx/include/__algorithm/is_sorted.h
    M libcxx/include/__algorithm/iter_swap.h
    M libcxx/include/__algorithm/lexicographical_compare.h
    M libcxx/include/__algorithm/max.h
    M libcxx/include/__algorithm/merge.h
    M libcxx/include/__algorithm/min.h
    M libcxx/include/__algorithm/minmax.h
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/move_backward.h
    M libcxx/include/__algorithm/next_permutation.h
    M libcxx/include/__algorithm/none_of.h
    M libcxx/include/__algorithm/partial_sort.h
    M libcxx/include/__algorithm/partial_sort_copy.h
    M libcxx/include/__algorithm/partition.h
    M libcxx/include/__algorithm/prev_permutation.h
    M libcxx/include/__algorithm/remove_copy.h
    M libcxx/include/__algorithm/remove_copy_if.h
    M libcxx/include/__algorithm/replace.h
    M libcxx/include/__algorithm/replace_copy.h
    M libcxx/include/__algorithm/replace_copy_if.h
    M libcxx/include/__algorithm/replace_if.h
    M libcxx/include/__algorithm/reverse.h
    M libcxx/include/__algorithm/reverse_copy.h
    M libcxx/include/__algorithm/rotate.h
    M libcxx/include/__algorithm/rotate_copy.h
    M libcxx/include/__algorithm/sample.h
    M libcxx/include/__algorithm/search.h
    M libcxx/include/__algorithm/shift_left.h
    M libcxx/include/__algorithm/shift_right.h
    M libcxx/include/__algorithm/stable_partition.h
    M libcxx/include/__algorithm/swap_ranges.h
    M libcxx/include/__algorithm/transform.h
    M libcxx/include/__bit/blsr.h
    M libcxx/include/__bit/countl.h
    M libcxx/include/__bit/popcount.h
    M libcxx/include/__chrono/duration.h
    M libcxx/include/__chrono/time_point.h
    M libcxx/include/__config
    M libcxx/include/__exception/nested_exception.h
    M libcxx/include/__filesystem/copy_options.h
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__filesystem/directory_options.h
    M libcxx/include/__filesystem/file_status.h
    M libcxx/include/__filesystem/operations.h
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__filesystem/path_iterator.h
    M libcxx/include/__filesystem/perm_options.h
    M libcxx/include/__filesystem/perms.h
    M libcxx/include/__filesystem/recursive_directory_iterator.h
    M libcxx/include/__filesystem/u8path.h
    M libcxx/include/__functional/binary_negate.h
    M libcxx/include/__functional/bind.h
    M libcxx/include/__functional/binder1st.h
    M libcxx/include/__functional/binder2nd.h
    M libcxx/include/__functional/default_searcher.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/mem_fn.h
    M libcxx/include/__functional/mem_fun_ref.h
    M libcxx/include/__functional/operations.h
    M libcxx/include/__functional/pointer_to_binary_function.h
    M libcxx/include/__functional/pointer_to_unary_function.h
    M libcxx/include/__functional/reference_wrapper.h
    M libcxx/include/__functional/unary_negate.h
    M libcxx/include/__fwd/get.h
    M libcxx/include/__hash_table
    M libcxx/include/__iterator/access.h
    M libcxx/include/__iterator/data.h
    M libcxx/include/__iterator/distance.h
    M libcxx/include/__iterator/empty.h
    M libcxx/include/__iterator/front_insert_iterator.h
    M libcxx/include/__iterator/insert_iterator.h
    M libcxx/include/__iterator/istream_iterator.h
    M libcxx/include/__iterator/istreambuf_iterator.h
    M libcxx/include/__iterator/next.h
    M libcxx/include/__iterator/ostream_iterator.h
    M libcxx/include/__iterator/ostreambuf_iterator.h
    M libcxx/include/__iterator/prev.h
    M libcxx/include/__iterator/reverse_access.h
    M libcxx/include/__iterator/reverse_iterator.h
    M libcxx/include/__iterator/size.h
    M libcxx/include/__locale
    M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
    M libcxx/include/__locale_dir/locale_base_api/locale_guard.h
    M libcxx/include/__memory/addressof.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/allocator_arg_t.h
    M libcxx/include/__memory/allocator_destructor.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/auto_ptr.h
    M libcxx/include/__memory/destruct_n.h
    M libcxx/include/__memory/pointer_traits.h
    M libcxx/include/__memory/raw_storage_iterator.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/temporary_buffer.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__node_handle
    M libcxx/include/__numeric/accumulate.h
    M libcxx/include/__numeric/adjacent_difference.h
    M libcxx/include/__numeric/exclusive_scan.h
    M libcxx/include/__numeric/gcd_lcm.h
    M libcxx/include/__numeric/inclusive_scan.h
    M libcxx/include/__numeric/inner_product.h
    M libcxx/include/__numeric/iota.h
    M libcxx/include/__numeric/midpoint.h
    M libcxx/include/__numeric/partial_sum.h
    M libcxx/include/__numeric/reduce.h
    M libcxx/include/__numeric/transform_exclusive_scan.h
    M libcxx/include/__numeric/transform_inclusive_scan.h
    M libcxx/include/__numeric/transform_reduce.h
    M libcxx/include/__random/bernoulli_distribution.h
    M libcxx/include/__random/binomial_distribution.h
    M libcxx/include/__random/cauchy_distribution.h
    M libcxx/include/__random/chi_squared_distribution.h
    M libcxx/include/__random/clamp_to_integral.h
    M libcxx/include/__random/discard_block_engine.h
    M libcxx/include/__random/discrete_distribution.h
    M libcxx/include/__random/exponential_distribution.h
    M libcxx/include/__random/extreme_value_distribution.h
    M libcxx/include/__random/fisher_f_distribution.h
    M libcxx/include/__random/gamma_distribution.h
    M libcxx/include/__random/geometric_distribution.h
    M libcxx/include/__random/independent_bits_engine.h
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/include/__random/lognormal_distribution.h
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/include/__random/negative_binomial_distribution.h
    M libcxx/include/__random/normal_distribution.h
    M libcxx/include/__random/piecewise_constant_distribution.h
    M libcxx/include/__random/piecewise_linear_distribution.h
    M libcxx/include/__random/poisson_distribution.h
    M libcxx/include/__random/random_device.h
    M libcxx/include/__random/seed_seq.h
    M libcxx/include/__random/shuffle_order_engine.h
    M libcxx/include/__random/student_t_distribution.h
    M libcxx/include/__random/subtract_with_carry_engine.h
    M libcxx/include/__random/uniform_real_distribution.h
    M libcxx/include/__random/weibull_distribution.h
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__thread/this_thread.h
    M libcxx/include/__thread/thread.h
    M libcxx/include/__thread/timed_backoff_policy.h
    M libcxx/include/__threading_support
    M libcxx/include/__tree
    M libcxx/include/__type_traits/integral_constant.h
    M libcxx/include/__type_traits/invoke.h
    M libcxx/include/__type_traits/is_constant_evaluated.h
    M libcxx/include/__type_traits/is_swappable.h
    M libcxx/include/__utility/cmp.h
    M libcxx/include/__utility/convert_to_integral.h
    M libcxx/include/__utility/exchange.h
    M libcxx/include/__utility/integer_sequence.h
    M libcxx/include/__utility/rel_ops.h
    M libcxx/include/__utility/swap.h
    M libcxx/include/__utility/to_underlying.h
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/barrier
    M libcxx/include/bitset
    M libcxx/include/cmath
    M libcxx/include/codecvt
    M libcxx/include/complex
    M libcxx/include/condition_variable
    M libcxx/include/experimental/__memory
    M libcxx/include/experimental/propagate_const
    M libcxx/include/ext/__hash
    M libcxx/include/ext/hash_map
    M libcxx/include/ext/hash_set
    M libcxx/include/forward_list
    M libcxx/include/fstream
    M libcxx/include/future
    M libcxx/include/initializer_list
    M libcxx/include/iomanip
    M libcxx/include/ios
    M libcxx/include/iosfwd
    M libcxx/include/istream
    M libcxx/include/latch
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/locale
    M libcxx/include/map
    M libcxx/include/mutex
    M libcxx/include/new
    M libcxx/include/optional
    M libcxx/include/ostream
    M libcxx/include/queue
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/semaphore
    M libcxx/include/set
    M libcxx/include/span
    M libcxx/include/sstream
    M libcxx/include/stack
    M libcxx/include/stdexcept
    M libcxx/include/stdlib.h
    M libcxx/include/streambuf
    M libcxx/include/string_view
    M libcxx/include/strstream
    M libcxx/include/tuple
    M libcxx/include/typeindex
    M libcxx/include/typeinfo
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/valarray
    M libcxx/include/variant
    M libcxx/include/wchar.h
    M libcxx/src/condition_variable_destructor.cpp
    M libcxx/src/hash.cpp
    M libcxx/src/include/atomic_support.h
    M libcxx/src/include/sso_allocator.h
    M libcxx/src/mutex_destructor.cpp
    M libcxx/src/support/win32/thread_win32.cpp
    M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/noncopyable_return_type.pass.cpp

  Log Message:
  -----------
  [libc++] Rename _LIBCPP_INLINE_VISIBILITY to _LIBCPP_HIDE_FROM_ABI (#74095)

In preparation for running clang-format on the whole code base, we are
also removing mentions of the legacy _LIBCPP_INLINE_VISIBILITY macro in
favor of the newer _LIBCPP_HIDE_FROM_ABI.

We're still leaving the definition of _LIBCPP_INLINE_VISIBILITY to avoid
creating needless breakage in case some older patches are checked-in
with mentions of the old macro. After we branch for LLVM 18, we can do
another pass to clean up remaining uses of the macro that might have
gotten introduced by mistake (if any) and remove the macro itself at the
same time. This is just a minor convenience to smooth out the transition
as much as possible.

See
https://discourse.llvm.org/t/rfc-clang-formatting-all-of-libc-once-and-for-all
for the clang-format proposal.


  Commit: c274eea297417fff223fc6aaf9aa578ce4e5696a
      https://github.com/llvm/llvm-project/commit/c274eea297417fff223fc6aaf9aa578ce4e5696a
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M .git-blame-ignore-revs

  Log Message:
  -----------
  [git] Add _LIBCPP_INLINE_VISIBILITY renaming to .git-blame-ignore-revs file


  Commit: 374e8288e047da640090629879072e4fa3af31fe
      https://github.com/llvm/llvm-project/commit/374e8288e047da640090629879072e4fa3af31fe
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/test/Driver/falias-analysis.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Driver/optimization-remark.f90
    M flang/test/Fir/basic-program.fir
    M flang/tools/tco/tco.cpp

  Log Message:
  -----------
  [flang] (Re-)Enable alias tags pass by default (#74250)

Enable by default for optimization levels higher than 0 (same behavior
as clang).

For simplicity, only forward the flag to the frontend driver when it
contradicts what is implied by the optimization level.

This was first landed in
https://github.com/llvm/llvm-project/pull/73111 but was later reverted
due to a performance regression. That regression was fixed by
https://github.com/llvm/llvm-project/pull/74065.


  Commit: e309667769c8f7d6f5616c226ee43a19dcee8bf3
      https://github.com/llvm/llvm-project/commit/e309667769c8f7d6f5616c226ee43a19dcee8bf3
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp

  Log Message:
  -----------
  [AutoUpgrade] Simplify vclz upgrade (NFC)

We can use Intrinsic::getDeclaration() here, we just have to pass
the correct arguments. This function accepts only the mangled types,
not all argument types.


  Commit: cd4348349a9dae6d61a3f7db0cb8d2ba2c0ad1c3
      https://github.com/llvm/llvm-project/commit/cd4348349a9dae6d61a3f7db0cb8d2ba2c0ad1c3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll

  Log Message:
  -----------
  [VPlan] Sink cases where no truncate is needed in truncateMinimalBWs.

MinBWs contains entries that specify the minimum required bitwidth. In
some cases, the old and new bitwidths can be equal (see test case) and
in those cases no truncations are needed, so skip those cases.

Fixes #74307.


  Commit: 0c568c2535848d1596a612c15248f299ec8c42be
      https://github.com/llvm/llvm-project/commit/0c568c2535848d1596a612c15248f299ec8c42be
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/SystemZ/vec-intrinsics-01.ll
    M llvm/test/CodeGen/SystemZ/vec-intrinsics-02.ll
    M llvm/test/CodeGen/SystemZ/vec-intrinsics-03.ll
    M llvm/test/CodeGen/SystemZ/vec-intrinsics-04.ll

  Log Message:
  -----------
  [SystemZ] Auto-generate vec-intrinsics tests


  Commit: 3a03da37a3c1e146ce7af1a1bbf8a2d3a0bf53df
      https://github.com/llvm/llvm-project/commit/3a03da37a3c1e146ce7af1a1bbf8a2d3a0bf53df
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
    M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir

  Log Message:
  -----------
  [mlir][nvgpu] Add address space attribute converter in nvgpu-to-nvvm pass  (#74075)

GPU dialect has `#gpu.address_space<workgroup>` for shared memory of
NVGPU (address space =3). Howeverm when IR combine NVGPU and GPU
dialect, `nvgpu-to-nvvm` pass fails due to missing attribute conversion.

This PR adds `populateGpuMemorySpaceAttributeConversions` to
nvgou-to-nvvm lowering, so we can use `#gpu.address_space<workgroup>`
`nvgpu-to-nvvm` pass


  Commit: 80ff67be8118d443f27595f6959d0468dfcf8ad7
      https://github.com/llvm/llvm-project/commit/80ff67be8118d443f27595f6959d0468dfcf8ad7
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Conversion/NVVMToLLVM/invalid.mlir
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir

  Log Message:
  -----------
  [mlir][nvvm] Introduce `nvvm.fence.proxy` (#74057)

This PR introduce `nvvm.fence.proxy` OP for the following cases:

```
nvvm.fence.proxy { kind = #nvvm.proxy_kind<alias>}
nvvm.fence.proxy { kind = #nvvm.proxy_kind<async>}
nvvm.fence.proxy { kind = #nvvm.proxy_kind<async.global>}
nvvm.fence.proxy { kind = #nvvm.proxy_kind<async.shared>, space = #nvvm.shared_space<cta>}
nvvm.fence.proxy { kind = #nvvm.proxy_kind<async.shared>, space = #nvvm.shared_space<cluster>}
```


  Commit: c61eb440059d6e9c18e6f8404e06bf125aa942c9
      https://github.com/llvm/llvm-project/commit/c61eb440059d6e9c18e6f8404e06bf125aa942c9
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsSystemZ.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/vecintrin.h
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
    M llvm/include/llvm/IR/IntrinsicsSystemZ.td
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    M llvm/test/CodeGen/SystemZ/vec-intrinsics-01.ll
    A llvm/test/CodeGen/SystemZ/vec-rot-01.ll
    A llvm/test/CodeGen/SystemZ/vec-rot-02.ll

  Log Message:
  -----------
  [SystemZ] Implement vector rotate in terms of funnel shift

Clang currently implements a set of vector rotate builtins
(__builtin_s390_verll*) in terms of platform-specific LLVM
intrinsics.  To simplify the IR (and allow for common code
optimizations if applicable), this patch removes those LLVM
intrinsics and implements the builtins in terms of the
platform-independent funnel shift intrinsics instead.

Also, fix the prototype of the __builtin_s390_verll*
builtins for full compatibility with GCC.


  Commit: dca432cb7b1c282f5dc861095813c4f40f109619
      https://github.com/llvm/llvm-project/commit/dca432cb7b1c282f5dc861095813c4f40f109619
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsSystemZ.def
    M clang/lib/Headers/vecintrin.h
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector2.c
    M llvm/include/llvm/IR/IntrinsicsSystemZ.td

  Log Message:
  -----------
  [SystemZ] Fix naming of vlrlr/vstrlr builtins

The builtins that expand to the vlrl/vlrlr and vstrl/vstrlr
instructions are currently named inconsistently between GCC
and clang.  Rename the clang versions to match GCC.


  Commit: 9d27139293890a18b903c62f2c43954cc2bc302d
      https://github.com/llvm/llvm-project/commit/9d27139293890a18b903c62f2c43954cc2bc302d
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsSystemZ.def
    M clang/lib/Headers/vecintrin.h
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c

  Log Message:
  -----------
  [SystemZ] Fix __builtin_s390_vceq* inconsistency

The __builtin_s390_vceq* family of builtins currently take
signed arguments with clang, but unsigned with GCC.  Update
clang to match existing GCC precendent.


  Commit: 901e484fdaba2be4eacbaee4fc9e05df8d5b783b
      https://github.com/llvm/llvm-project/commit/901e484fdaba2be4eacbaee4fc9e05df8d5b783b
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/test/MC/Disassembler/SystemZ/insns-z13.txt
    M llvm/test/MC/SystemZ/fixups.s
    M llvm/test/MC/SystemZ/insn-good-z13.s
    M llvm/test/MC/SystemZ/insn-good.s

  Log Message:
  -----------
  [SystemZ] Handle index-only addresses in (dis)assembler

Most addresses in SystemZ instructions take two registers,
an index register and a base register.  However, either of
those can be omitted.  If there is just a single register,
this usually is taken as the base register - however, there
are certain rare cases where you specifically want to use
an index register but no base register.  This is currently
not handled consistently by the assembler / disassembler.

Fix this by
 - always emitting a dummy 0 as base register for index-
   only addresses
 - correctly handle dummy 0 as indicating no base register
   when parsing an address

This is compatible with current GNU binutils behavior.


  Commit: 47a40e80c553b07a08f0f17fd68c12ae9b9a2a67
      https://github.com/llvm/llvm-project/commit/47a40e80c553b07a08f0f17fd68c12ae9b9a2a67
  Author: Da-Viper <57949090+Da-Viper at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/readability/named-parameter.rst

  Log Message:
  -----------
  Fix #41439: Update the documentation with the correct information. (#69377)

Fixes #41439

The documentation is update to say it is allowed to have omitted
parameter names if the variable is not used


  Commit: ec000a65553bac55a1f4b8b21c365d48dc6a540a
      https://github.com/llvm/llvm-project/commit/ec000a65553bac55a1f4b8b21c365d48dc6a540a
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/TargetInstrInfo.cpp

  Log Message:
  -----------
  [TargetInstrInfo] update INLINEASM memoperands once (#74135)

In commit b05335989239 ("[X86InstrInfo] support memfold on spillable
inline asm
(#70832)"), I had a last minute fix to update the memoperands. I
originally
did this in the parent foldInlineAsmMemOperand call, updated the mir
test via
update_mir_test_checks.py, but then decided to move it to the child call
of
foldInlineAsmMemOperand.

But I forgot to rerun update_mir_test_checks.py. That last minute change
caused
the same memoperand to be added twice when recursion occurred (for tied
operands). I happened to get lucky that trailing content omitted from
the
CHECK line doesn't result in test failure.

But rerunning update_mir_test_checks.py on the mir test added in that
commit
produces updated output. This is resulting in updates to the test that:
1. conflate additions to the test in child commits with simply updating
the
   test as it should have been when first committed.
2. look wrong because the same memoperand is specified twice (we don't
   deduplicate memoperands when added). Example:

INLINEASM ... :: (load (s32) from %stack.0) (load (s32) from %stack.0)

Fix the bug, so that in child commits, we don't have additional
unrelated test
changes (which would be wrong anyways) from simply running
update_mir_test_checks.py.

Link: #20571


  Commit: e3a97dffee93f03e12b5911869f9a443c39821bc
      https://github.com/llvm/llvm-project/commit/e3a97dffee93f03e12b5911869f9a443c39821bc
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
    M llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
    A llvm/test/Verifier/branch-prot-attrs.ll

  Log Message:
  -----------
  [Verifier] Check function attributes related to branch protection (NFC) (#70565)


  Commit: 67f387c67e2a1bfa9432cff372462e204e0952bc
      https://github.com/llvm/llvm-project/commit/67f387c67e2a1bfa9432cff372462e204e0952bc
  Author: DonatNagyE <donat.nagy at ericsson.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
    M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
    M clang/test/Analysis/bitwise-shift-common.c

  Log Message:
  -----------
  [analyzer] Let the checkers query upper and lower bounds on symbols (#74141)

This commit extends the class `SValBuilder` with the methods
`getMinValue()` and `getMaxValue()` to that work like
`SValBuilder::getKnownValue()` but return the minimal/maximal possible
value the `SVal` is not perfectly constrained.

This extension of the ConstraintManager API is discussed at:
https://discourse.llvm.org/t/expose-the-inferred-range-information-in-warning-messages/75192

As a simple proof-of-concept application of this new API, this commit
extends a message from `core.BitwiseShift` with some range information
that reports the assumptions of the analyzer.

My main motivation for adding these methods is that I'll also want to
use them in `ArrayBoundCheckerV2` to make the error messages less
awkward, but I'm starting with this simpler and less important usecase
because I want to avoid merge conflicts with my other commit
https://github.com/llvm/llvm-project/pull/72107 which is currently under
review.

The testcase `too_large_right_operand_compound()` shows a situation
where querying the range information does not work (and the extra
information is not added to the error message). This also affects the
debug utility `clang_analyzer_value()`, so the problem isn't in the
fresh code. I'll do some investigations to resolve this, but I think
that this commit is a step forward even with this limitation.


  Commit: 8ac84a9555bc25ed9a53ea6a5a09432e18ee9042
      https://github.com/llvm/llvm-project/commit/8ac84a9555bc25ed9a53ea6a5a09432e18ee9042
  Author: Thomas Schenker <thomas.schenker at protonmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp

  Log Message:
  -----------
  [clang-tidy] readability-container-contains literal suffixes (#74215)

Before this PR, readability-container-contains fix-its did not handle
integer literal suffixes correctly. It e.g. changed
```
  MyMap.count(2) != 0U;
```
into
```
  MyMap.contains(2)U;
```

With this PR, it correctly changes it to
```
  MyMap.contains(2);
```


  Commit: 86accd4e039ca60882caceab48701df4731a266c
      https://github.com/llvm/llvm-project/commit/86accd4e039ca60882caceab48701df4731a266c
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h

  Log Message:
  -----------
  Remove unused includes. NFC.


  Commit: b935f1a7edccd9f7c1b6342be80e48693af0ce11
      https://github.com/llvm/llvm-project/commit/b935f1a7edccd9f7c1b6342be80e48693af0ce11
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [bazel] Add missing dependency for 3a03da37a3c1e146ce7af1a1bbf8a2d3a0bf53df


  Commit: 74e59e7752ac80607d817308a63d0574a6e8cbe1
      https://github.com/llvm/llvm-project/commit/74e59e7752ac80607d817308a63d0574a6e8cbe1
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M flang/lib/Evaluate/variable.cpp
    M flang/lib/Semantics/symbol.cpp

  Log Message:
  -----------
  [flang] Remove GCC 7.2 workarounds (#73574)

The minimum GCC version was bumped from 7.1 to 7.4 so garbage collect
the 7.2 workarounds.

https://reviews.llvm.org/D156286


  Commit: bbd2b08b95fe76bea138c1b03c1cd42ed3ee04df
      https://github.com/llvm/llvm-project/commit/bbd2b08b95fe76bea138c1b03c1cd42ed3ee04df
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp

  Log Message:
  -----------
  [mlir][vector] Make `TransposeOpLowering` configurable (#73915)

Following the discussion here:

  * https://github.com/llvm/llvm-project/pull/72105

this patch makes the `TransposeOpLowering` configurable so that one can select
whether to favour `vector.shape_cast` over `vector.transpose`.

As per the discussion in #72105, using `vector.shape_cast` is very beneficial
and desirable when targeting `LLVM IR` (CPU lowering), but won't work when
targeting `SPIR-V` today (GPU lowering). Hence the need for a mechanism to be
able to disable/enable the pattern introduced in #72105. This patch proposes one
such mechanism.

While this should solve the problem that we are facing today, it's understood to
be a temporary workaround. It should be removed once support for lowering
`vector.shape_cast` to SPIR-V is added. Also, (once implemented) the following
proposal might make this workaround redundant:

  * https://discourse.llvm.org/t/improving-handling-of-unit-dimensions-in-the-vector-dialect/


  Commit: 01e40a8a3d40d7595d2cd95363c27d84b31e5cd2
      https://github.com/llvm/llvm-project/commit/01e40a8a3d40d7595d2cd95363c27d84b31e5cd2
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.h
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.h
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    R mlir/lib/Dialect/ArmSME/Transforms/ArmSMETypeConverter.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
    A mlir/unittests/Dialect/ArmSME/CMakeLists.txt
    A mlir/unittests/Dialect/ArmSME/TileTypeConversionTest.cpp
    M mlir/unittests/Dialect/CMakeLists.txt

  Log Message:
  -----------
  [mlir][ArmSME] Remove ArmSMETypeConverter (and configure LLVM one instead) (#73639)

This patch removes the ArmSMETypeConverter, and instead updates
`populateArmSMEToLLVMConversionPatterns()` to add an ArmSME vector type
conversion to the existing LLVMTypeConverter. This makes it easier to
add these patterns to an existing `-to-llvm` lowering pass.


  Commit: dff2f59be39765c8d6814c9a06155f76a5393673
      https://github.com/llvm/llvm-project/commit/dff2f59be39765c8d6814c9a06155f76a5393673
  Author: Boian Petkantchin <boian at nod-labs.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/docs/Dialects/Mesh.md
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp

  Log Message:
  -----------
  [mlir][mesh] Add TableGen deffinitions of more collective ops (#73842)

Add definitions for
broadcast, gather, receive, reduce, scatter, send and shift.


  Commit: f368e6424fbfb7fdea4b9d9a2e44f2f7e188c133
      https://github.com/llvm/llvm-project/commit/f368e6424fbfb7fdea4b9d9a2e44f2f7e188c133
  Author: Natalie Chouinard <sudonatalie at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/test/CMakeLists.txt
    A llvm/test/CodeGen/SPIRV/OpVariable_order.ll
    M llvm/test/CodeGen/SPIRV/basic_int_types.ll
    A llvm/test/CodeGen/SPIRV/basic_int_types_spirvdis.ll
    M llvm/test/CodeGen/SPIRV/lit.local.cfg
    M llvm/test/lit.site.cfg.py.in
    A llvm/tools/spirv-tools/CMakeLists.txt

  Log Message:
  -----------
  [SPIR-V] Add SPIRV-Tools for testing (#73044)

Add spirv-dis (disassembler) and spirv-val (validator) from SPIRV-Tools
as external dependencies for testing the SPIR-V backend. These tools are
test dependencies only.

SPIR-V backend tests now have a dependency on the spirv-dis and
spirv-val targets when the `LLVM_INCLUDE_SPIRV_TOOLS_TESTS` cmake
variable is set, which allows additional test files with the `REQUIRES:
spirv-tools` constraint to run, along with additional `RUN: %if
spirv-tools ...` lines in existing tests. All other SPIR-V backend tests
will run normally when `LLVM_INCLUDE_SPIRV_TOOLS_TESTS` is not set.

Several tests are included to show these tools' use, however more tests
will be migrated and added later.
* OpVariable_order.ll shows how spirv-val can catch bugs in the backend.
* basic_int_types_spirvdis.ll shows how tests can be much shorter and
more readable by FileChecking the spirv-dis output.
* basic_int_types.ll shows how an additional RUN line can add validation
to existing tests.

RFC:
https://discourse.llvm.org/t/rfc-add-a-test-dependency-on-spirv-tools/75135


  Commit: 3aba9264b38c1aa3a991065305c0a04988432692
      https://github.com/llvm/llvm-project/commit/3aba9264b38c1aa3a991065305c0a04988432692
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Lower/PFTBuilder.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
    A flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
    A flang/include/flang/Runtime/exceptions.h
    R flang/include/flang/Runtime/ieee_arithmetic.h
    M flang/include/flang/Runtime/magic-numbers.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/PFTBuilder.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
    A flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
    M flang/module/__cuda_builtins.f90
    M flang/module/__fortran_builtins.f90
    M flang/module/__fortran_ieee_exceptions.f90
    M flang/module/__fortran_type_info.f90
    M flang/module/ieee_arithmetic.f90
    M flang/module/ieee_exceptions.f90
    M flang/module/iso_c_binding.f90
    M flang/module/iso_fortran_env.f90
    M flang/runtime/CMakeLists.txt
    A flang/runtime/exceptions.cpp
    A flang/test/Lower/Intrinsics/ieee_compare.f90
    A flang/test/Lower/Intrinsics/ieee_femodes.f90
    A flang/test/Lower/Intrinsics/ieee_festatus.f90
    A flang/test/Lower/Intrinsics/ieee_flag.f90
    A flang/test/Lower/Intrinsics/ieee_logb.f90
    A flang/test/Lower/Intrinsics/ieee_max_min.f90
    M flang/test/Lower/Intrinsics/ieee_unordered.f90

  Log Message:
  -----------
  [flang] IEEE_ARITHMETIC and IEEE_EXCEPTIONS intrinsic module procedures (#74138)

Implement a selection of intrinsic module procedures that involve
exceptions.

 - IEEE_GET_FLAG
 - IEEE_GET_HALTING_MODE
 - IEEE_GET_MODES
 - IEEE_GET_STATUS
 - IEEE_LOGB
 - [f23] IEEE_MAX, IEEE_MAX_MAG, IEEE_MAX_NUM, IEEE_MAX_NUM_MAG
 - [f23] IEEE_MIN, IEEE_MIN_MAG, IEEE_MIN_NUM, IEEE_MIN_NUM_MAG
 - IEEE_QUIET_EQ, IEEE_QUIET_GE, IEEE_QUIET_GT,
 - IEEE_QUIET_LE, IEEE_QUIET_LT, IEEE_QUIET_NE
 - IEEE_SET_FLAG
 - IEEE_SET_HALTING_MODE
 - IEEE_SET_MODES
 - IEEE_SET_STATUS
 - IEEE_SIGNALING_EQ, IEEE_SIGNALING_GE, IEEE_SIGNALING_GT,
 - IEEE_SIGNALING_LE, IEEE_SIGNALING_LT, IEEE_SIGNALING_NE
 - IEEE_SUPPORT_FLAG
 - IEEE_SUPPORT_HALTING


  Commit: f81eb7daf44b07f5b8d3a3ce490233cd6ad37617
      https://github.com/llvm/llvm-project/commit/f81eb7daf44b07f5b8d3a3ce490233cd6ad37617
  Author: Durga <r.durgadoss at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir

  Log Message:
  -----------
  [MLIR][NVVM]: Add cp.async.mbarrier.arrive Op (#74241)

Add:
* an Op for 'cp.async.mbarrier.arrive', targeting the
nvvm_cp_async_mbarrier_arrive* family of intrinsics.
* The 'noinc' intrinsic property is modelled as a default-valued-attr of
type I1.
* Test cases are added to verify the Op as well as the intrinsic
lowering.

Signed-off-by: Durgadoss R <durgadossr at nvidia.com>


  Commit: 78580715240e2744b2ba7995b532369a27bc76ac
      https://github.com/llvm/llvm-project/commit/78580715240e2744b2ba7995b532369a27bc76ac
  Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp

  Log Message:
  -----------
  [mlir][llvm] Fix attribute printer warning (NFC)(#74351)

This commit fixes a compilation warning caused by the printExpressionArg
function that previously returned LogicalResult instead of void.

The warning has been introduced by #73367.


  Commit: 503dbe75a042af2af35b90d23153752c66dcbf25
      https://github.com/llvm/llvm-project/commit/503dbe75a042af2af35b90d23153752c66dcbf25
  Author: Kamau Bridgeman <kamau.bridgeman.ibm at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_generator.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_subscr.pass.cpp
    M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
    M libcxx/test/std/experimental/simd/simd.reference/reference_value_type.pass.cpp

  Log Message:
  -----------
  XFailing test cases that fail on PowerPC

These test cases fail when the libcxx and libcxxabi runtimes are
built on Linux PowerPC. XFailing them until the issue is resolved.


  Commit: 7a86cc6c4ca11e37d5985d4fc902658ab6ad0e22
      https://github.com/llvm/llvm-project/commit/7a86cc6c4ca11e37d5985d4fc902658ab6ad0e22
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M lldb/source/Interpreter/OptionArgParser.cpp

  Log Message:
  -----------
  [lldb][NFC] Remove unnecessary std::string temporaries

The existing code was taking three substrings from a regex match and converting
to std::strings prior to using them. This may have been done to address
null-termination concerns, but this is not the case:

1. `name` was being used to call `c_str()` and then implicitly converted back to
a `StringRef` on the call to `ToAddress`. While the path `const char *` ->
`StringRef` requires null-termination, we can simply use the original StringRef.
2. `str_offset` was being converted back to a StringRef in order to call a
member method. Member methods can't handle non-null termination.
3. `sign` simply had it's 0-th element accessed.


  Commit: 3e98a285138a517fd918ec0ac8397dc56330d8e7
      https://github.com/llvm/llvm-project/commit/3e98a285138a517fd918ec0ac8397dc56330d8e7
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M lldb/source/Interpreter/OptionArgParser.cpp

  Log Message:
  -----------
  [lldb][NFC] Remove else after return in OptionArgParse

This will enable us to prove that there is unreachable code in this function in
a subsequent commit.


  Commit: d24d7edaef9517edd9eb2ab26b02969e201bbcad
      https://github.com/llvm/llvm-project/commit/d24d7edaef9517edd9eb2ab26b02969e201bbcad
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M lldb/source/Interpreter/OptionArgParser.cpp

  Log Message:
  -----------
  [lldb][NFC] Delete unreachable code and dead variable in OptionArgParser

With the combination of an early return and removing an else-after-return, it
becomes evident that there is unreachable code in the function being changed.


  Commit: c146c3b7471af576103971354f0d4c7b78f11495
      https://github.com/llvm/llvm-project/commit/c146c3b7471af576103971354f0d4c7b78f11495
  Author: Andres Villegas <andresvi at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_fuchsia.cpp
    A compiler-rt/test/sanitizer_common/TestCases/print-stack-trace-markup.cpp

  Log Message:
  -----------
  [sanitizer_symbolizer] RenderContextual elements for symbolizer markup.

This is part of a stack of PRs to add support for symbolizer
markup in linux.

Render contextual symbolizer markup elements. For Fuchsia it is not
necessary to emit any context given that Fuchsia's logging
infrastructure already handles emitting it when necessary.

For more information about contextual symbolizer markup elements:
https://llvm.org/docs/SymbolizerMarkupFormat.html#contextual-elements

Reviewers: PiJoules, petrhosek, vitalybuka

Reviewed By: petrhosek, vitalybuka

Pull Request: https://github.com/llvm/llvm-project/pull/73194


  Commit: a0eda109471b74ef929f5830438201973d70705e
      https://github.com/llvm/llvm-project/commit/a0eda109471b74ef929f5830438201973d70705e
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M libc/config/linux/app.h
    M libc/src/stdlib/getenv.cpp
    M libc/startup/linux/aarch64/start.cpp
    M libc/startup/linux/riscv/start.cpp
    M libc/startup/linux/x86_64/start.cpp

  Log Message:
  -----------
  [libc][NFC] unify startup library's code style with the rest (#74041)

This PR unifies the startup library's code style with the rest of libc.


  Commit: 4d4c30a37c75a4c41bcc70be1431651704624b6a
      https://github.com/llvm/llvm-project/commit/4d4c30a37c75a4c41bcc70be1431651704624b6a
  Author: James Y Knight <jyknight at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/test/CodeGen/atomic-ops.c
    A clang/test/CodeGen/ms-intrinsics-underaligned.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/OpenMP/parallel_reduction_codegen.cpp

  Log Message:
  -----------
  Use Address for CGBuilder's CreateAtomicRMW and CreateAtomicCmpXchg. (#74349)

Update all callers to pass through the Address.

For the older builtins such as `__sync_*` and MSVC `_Interlocked*`,
natural alignment of the atomic access is _assumed_. This change
preserves that behavior. It will pass through greater-than-required
alignments, however.


  Commit: cae650ef3764288e1df47dcc48a5e180d1289ff4
      https://github.com/llvm/llvm-project/commit/cae650ef3764288e1df47dcc48a5e180d1289ff4
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    A llvm/test/tools/llvm-mca/RISCV/SiFive7/div-fdiv.s

  Log Message:
  -----------
  [RISCV] Rework IDiv and FDiv pipes on SiFive7 (#73970)

Set BufferSize=0 and remove Super pipes for these resources.


  Commit: e893f69545148c723a8b51d0975eb0142de86c62
      https://github.com/llvm/llvm-project/commit/e893f69545148c723a8b51d0975eb0142de86c62
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M compiler-rt/lib/asan/asan_interceptors.h
    M compiler-rt/lib/asan/asan_rtl.cpp

  Log Message:
  -----------
  [NFC][ASAN] Move ENSURE_ASAN_INITED into AsanInitFromRtl (#74170)


  Commit: c33e5d59e5dd4f54c3f4cc00d1bedaf644fdb694
      https://github.com/llvm/llvm-project/commit/c33e5d59e5dd4f54c3f4cc00d1bedaf644fdb694
  Author: Petr Hosek <phosek at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/integer_utils.h

  Log Message:
  -----------
  [libc] Add the missing math_extras.h include (#74259)

math_extras.h is used in integer_utils.h when building for 32-bit
platforms but the include is missing.


  Commit: 606653091d1a66d1a83a1bfdea2883cc8d46687e
      https://github.com/llvm/llvm-project/commit/606653091d1a66d1a83a1bfdea2883cc8d46687e
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/docs/dev/code_style.rst

  Log Message:
  -----------
  [libc] build with -Werror (#73966)

A recent commit introduced warnings observable when building unit tests.
If the
unit tests don't fail when warnings are introduced into the build, then
we
might fail to notice them in the stream of output from check-libc.

Link: https://github.com/llvm/llvm-project/pull/72763/files#r1410932348


  Commit: 5aa2f8c98cd7b05e4cb8b6c74db08cf417c2a1a6
      https://github.com/llvm/llvm-project/commit/5aa2f8c98cd7b05e4cb8b6c74db08cf417c2a1a6
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/asan/asan_internal.h
    M compiler-rt/lib/asan/asan_malloc_linux.cpp
    M compiler-rt/lib/asan/asan_rtl.cpp

  Log Message:
  -----------
  [NFC][ASAN] Replace AsanInitIsRunning with TryAsanInitFromRtl



Reviewers: zacklj89

Reviewed By: zacklj89

Pull Request: https://github.com/llvm/llvm-project/pull/74171


  Commit: 5bc391a7c96a58929794ec1dc664b966c0a03d09
      https://github.com/llvm/llvm-project/commit/5bc391a7c96a58929794ec1dc664b966c0a03d09
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/Mips/msa/basic_operations.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
    M llvm/test/CodeGen/X86/pr59980.ll

  Log Message:
  -----------
  [SelectionDAG] Use getVectorElementPointer in DAGCombiner::replaceStoreOfInsertLoad. (#74249)

This ensures we clip the index to be in bounds of the vector we are
inserting into. If the index is out of bounds the results of the insert
element is poison. If we don't clip the index we can write memory that
was not part of the original store.

Fixes #74248.


  Commit: c4cebe5b4489438185236881ce3d6eaaa23b0e7b
      https://github.com/llvm/llvm-project/commit/c4cebe5b4489438185236881ce3d6eaaa23b0e7b
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [bazel] Add missing dependency for dff2f59be39765c8d6814c9a06155f76a5393673


  Commit: 47fe9fcaf28097fd4f3b70513c444b2cd391831a
      https://github.com/llvm/llvm-project/commit/47fe9fcaf28097fd4f3b70513c444b2cd391831a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h

  Log Message:
  -----------
  [RISCV] Share ArgGPRs array between SelectionDAG and GISel. (#74152)

This will allow us to isolate the EABI from D70401 to this new function.


  Commit: 6886a52d6dbefff77f33de12ff85d654e2557f81
      https://github.com/llvm/llvm-project/commit/6886a52d6dbefff77f33de12ff85d654e2557f81
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/docs/dev/code_style.rst

  Log Message:
  -----------
  Revert "[libc] build with -Werror (#73966)"

This reverts commit 606653091d1a66d1a83a1bfdea2883cc8d46687e.

Post submit buildbots are now red. We can use these explicit errors to better
clean up existing warnings, then reland this.

Link: #73966


  Commit: c43c86c285a39dcc6ec4a15b8f155152031b3997
      https://github.com/llvm/llvm-project/commit/c43c86c285a39dcc6ec4a15b8f155152031b3997
  Author: Kevin Frei <kevinfrei at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M lldb/include/lldb/Core/PluginManager.h
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    A lldb/source/Plugins/SymbolLocator/Debuginfod/CMakeLists.txt
    A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
    A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.h
    A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.td
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/Debuginfod/Debuginfod.h
    M llvm/lib/Debuginfod/Debuginfod.cpp

  Log Message:
  -----------
  DEBUGINFOD based DWP acquisition for LLDB (#70996)

I've plumbed the LLVM DebugInfoD client into LLDB, and added automatic
downloading of DWP files to the SymbolFileDWARF.cpp plugin. If you have
DEBUGINFOD_URLS set to a space delimited set of web servers, LLDB will
try to use them as a last resort when searching for DWP files. If you do
*not* have that environment variable set, nothing should be changed.
There's also a setting, per @clayborg 's suggestion, that will override
the environment variable, or can be used instead of the environment
variable. The setting is why I also needed to add an API to the
llvm-debuginfod library

### Test Plan:

Suggestions are welcome here. I should probably have some positive and
negative tests, but I wanted to get the diff up for people who have a
clue what they're doing to rip it to pieces before spending too much
time validating the initial implementation.

---------

Co-authored-by: Kevin Frei <freik at meta.com>
Co-authored-by: Alex Langford <nirvashtzero at gmail.com>


  Commit: f6c7baea098aac03687f5041fc860ca95f070e4e
      https://github.com/llvm/llvm-project/commit/f6c7baea098aac03687f5041fc860ca95f070e4e
  Author: Seth Brenith <sethbrenith at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/Target/X86/X86CallingConv.td
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    A llvm/test/CodeGen/X86/preserve_mostcc64_win.ll

  Log Message:
  -----------
  [Win/x64] Update preserve_most to treat XMM registers like C (#73866)

As [scottmcm
described](https://discourse.llvm.org/t/conv-c-and-conv-preservemost-mix-badly-on-windows-x64/73054),
the `preserve_most` calling convention, as currently implemented, is a
bad fit for Windows on x64. The intent of `preserve_most` is "to make
the code in the caller as unintrusive as possible", but `preserve_most`
causes the caller to spill and restore ten SIMD registers. It would be
preferable to make `preserve_most` treat the XMM registers however the C
calling convention does on the target operating system.

This is a breaking change, but the documentation indicates that
`preserve_most` is still experimental, so I believe that ABI
compatibility is not yet a requirement.


  Commit: d00c502ee5e89575a6515c2f2bb3716e64027812
      https://github.com/llvm/llvm-project/commit/d00c502ee5e89575a6515c2f2bb3716e64027812
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/preserve-or-disjoint.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [LV] Add tests for preserving and printing the new disjoint flag.

Tests for support for the disjoint flag added in #72583.


  Commit: a2e61bc2f3bc66124575c0abf9b8421073470202
      https://github.com/llvm/llvm-project/commit/a2e61bc2f3bc66124575c0abf9b8421073470202
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Host/common/SocketAddress.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/source/Initialization/SystemInitializerCommon.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
    M lldb/test/API/api/multithreaded/common.h
    M lldb/test/API/tools/lldb-server/thread-name/main.cpp

  Log Message:
  -----------
  [lldb] Additional pieces towards OpenBSD support (#74198)


  Commit: b18a46e35d69e4148a147256c70472d0a16e00e8
      https://github.com/llvm/llvm-project/commit/b18a46e35d69e4148a147256c70472d0a16e00e8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M libcxx/include/__availability
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/__format/extended_grapheme_cluster_table.h
    M libcxx/include/__iterator/iter_swap.h
    M libcxx/include/__string/extern_template_lists.h
    M libcxx/include/__utility/integer_sequence.h
    M libcxx/include/bitset
    M libcxx/include/chrono
    M libcxx/include/memory
    M libcxx/include/span
    M libcxx/include/sstream
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/tuple
    M libcxx/include/unordered_set
    M libcxx/include/vector
    M libcxx/src/locale.cpp
    M libcxx/utils/generate_escaped_output_table.py
    M libcxx/utils/generate_extended_grapheme_cluster_table.py

  Log Message:
  -----------
  [libc++][NFC] Add a few clang-format annotations (#74352)

This is in preparation for clang-formatting the whole code base. These
annotations are required either to avoid clang-format bugs or because
the manually formatted code is significantly more readable than the
clang-formatted alternative. All in all, it seems like very few
annotations are required, which means that clang-format is doing a very
good job in most cases.


  Commit: 9eea7441831328a56bb0f91e7a15b7c575a42930
      https://github.com/llvm/llvm-project/commit/9eea7441831328a56bb0f91e7a15b7c575a42930
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    A libcxx/utils/clang-format-merge-driver.sh

  Log Message:
  -----------
  [libc++] Add a merge driver that can apply clang-format (#73712)

In preparation for the moment when we'll clang-format the whole code
base, this patch adds a script that can be used to rebase patches across
clang-format changes mechanically, without requiring manual
intervention.

See https://discourse.llvm.org/t/rfc-clang-formatting-all-of-libc-once-and-for-all.


  Commit: 53d498d095c9969c3efb81ad417c76d5fd0b1aff
      https://github.com/llvm/llvm-project/commit/53d498d095c9969c3efb81ad417c76d5fd0b1aff
  Author: Nico Weber <thakis at chromium.org>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn

  Log Message:
  -----------
  [gn] port f368e6424fbf


  Commit: ff51b60b18656ae05fdc65ac6f6abc3ec6a15eda
      https://github.com/llvm/llvm-project/commit/ff51b60b18656ae05fdc65ac6f6abc3ec6a15eda
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/spec/linux.td
    M libc/spec/spec.td
    M libc/src/sys/mman/CMakeLists.txt
    M libc/src/sys/mman/linux/CMakeLists.txt
    R libc/src/sys/mman/linux/mincore.cpp
    R libc/src/sys/mman/mincore.h
    M libc/test/src/sys/mman/linux/CMakeLists.txt
    R libc/test/src/sys/mman/linux/mincore_test.cpp

  Log Message:
  -----------
  [libc] Revert #73704 and subsequent fixes #73984, #74026 (#74355)

The test cases of mincore require getting correct page size from OS. As
`sysconf` is not functioning correctly, these patches are implemented in
a somewhat confusing way. We revert such patches and will reintroduce
mincore after we correct sysconf.

This reverts 54878b8, 985c0d1 and 418a3a4.


  Commit: e1e34cc2a17c5f640333767df2d3bfe2b2f81a84
      https://github.com/llvm/llvm-project/commit/e1e34cc2a17c5f640333767df2d3bfe2b2f81a84
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    R llvm/include/llvm/Support/Host.h
    M llvm/include/module.modulemap
    M polly/lib/External/isl/interface/extract_interface.cc

  Log Message:
  -----------
  [Support] Remove llvm/Support/Host.h (#74261)

The header file has been deprecated since:

  commit f09cf34d00625e57dea5317a3ac0412c07292148
  Author: Archibald Elliott <archibald.elliott at arm.com>
  Date:   Tue Dec 20 10:24:02 2022 +0000


  Commit: d605d9d7a153fb39eca2beac20f895f0407acabf
      https://github.com/llvm/llvm-project/commit/d605d9d7a153fb39eca2beac20f895f0407acabf
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVGISel.td
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rotate-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rotate-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Support G_ROTL/G_ROTR with Zbb. (#72825)


  Commit: d1cdcddcc2ef712c4e2ab61c6e4ca83350e7e9e3
      https://github.com/llvm/llvm-project/commit/d1cdcddcc2ef712c4e2ab61c6e4ca83350e7e9e3
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [llvm][OMPIRBuilder] Remove no-op ptr-to-ptr bitcast (NFC)

Opaque ptr cleanup effort


  Commit: 0d59cfc7a3446dc6078dfc57783048f490d8d998
      https://github.com/llvm/llvm-project/commit/0d59cfc7a3446dc6078dfc57783048f490d8d998
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M libc/src/__support/float_to_string.h

  Log Message:
  -----------
  [libc] fix -Wconversion in float_to_string.h (#74369)

Fixes:
libc/src/__support/float_to_string.h:551:48: error: conversion from
‘long
unsigned int’ to ‘int32_t’ {aka ‘int’} may change value
[-Werror=conversion]
551 | const int32_t shift_amount = SHIFT_CONST + (-exponent - IDX_SIZE *
idx);
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Observed in gcc fullbuilds.

IDX_SIZE is a size_t (aka 'long unsigned int'), but has the value 128,
so the
expression is undergoing implicit promotion.

Link: https://lab.llvm.org/buildbot/#/builders/250/builds/14891


  Commit: 8dc474c6b7d5fc4e0e7f18aac7750eb8c6bb6b26
      https://github.com/llvm/llvm-project/commit/8dc474c6b7d5fc4e0e7f18aac7750eb8c6bb6b26
  Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/lib/Frontend/CompilerInvocation.cpp

  Log Message:
  -----------
  [flang] Pass Argv0 to getIntriniscDir and getOpenMPHeadersDir (#73254)

The `llvm::sys::fs::getMainExecutable(nullptr, nullptr)` is not able to
obtain the correct executable path on AIX without Argv0 due to the lack
of a current process on AIX's `proc` filesystem. This causes a build
failure on AIX as intrinsic module directory is missing.

---------

Co-authored-by: Mark Danial <mak.danial at ibm.com>


  Commit: 143133fe685bd0b8819a96bdc1af6a4ff2877b13
      https://github.com/llvm/llvm-project/commit/143133fe685bd0b8819a96bdc1af6a4ff2877b13
  Author: Martin Storsjö <martin at martin.st>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M lld/COFF/InputFiles.cpp
    M lld/test/COFF/lto-imp-prefix.ll

  Log Message:
  -----------
  [LLD] [COFF] Don't preserve unnecessary __imp_ prefixed symbols (#72989)

This redoes the fix from 3ab6209a3f93bdbeec8e9b9fcc00a9a4980915ff
differently, without the unwanted effect of preserving unnecessary
`__imp_` prefixed symbols.

If the referencing object is a regular object, the `__imp_` symbol will
have `isUsedInRegularObj` set on it from that already. If the
referencing object is an LTO object, we set `isUsedInRegularObj` for any
symbol starting with `__imp_`.

If the object file defining the `__imp_` symbol is a regular object, the
`isUsedInRegularObj` flag has no effect. If it is an LTO object, it
causes the symbol to be preserved.


  Commit: e77bfaaf9d66748fc2dc3a710a0c9b4665dd3034
      https://github.com/llvm/llvm-project/commit/e77bfaaf9d66748fc2dc3a710a0c9b4665dd3034
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/test/CXX/drs/dr5xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Fill in historical data on when C++ DRs 500-599 were fixed


  Commit: 54c30953b9374e3bcc1c79b53a231e4b53ceafed
      https://github.com/llvm/llvm-project/commit/54c30953b9374e3bcc1c79b53a231e4b53ceafed
  Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/combined.h

  Log Message:
  -----------
  Do not initialize the allocator on free(nullptr). (#74366)

free(nullptr) is guaranteed by ISO and POSIX to be a no-op, we should not pay for the overhead of maybeInit() in this case.

Additionally, Bionic calls free(nullptr) before the allocator settings are finalized.
Scudo should not run allocator initialization at that time. Doing so
causes various bad things to happen, like mapping primary regions with
the wrong PROT_MTE setting.


  Commit: 78940a4e1f7f484d8a2dd0c646e288d6a5bf2f81
      https://github.com/llvm/llvm-project/commit/78940a4e1f7f484d8a2dd0c646e288d6a5bf2f81
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/tools/clang-format/git-clang-format

  Log Message:
  -----------
  [clang-format] Fix a bug in `git-clang-format --binary` (#74293)

This is a rework of #74176, which erroneously changed the default
clang-format filename (`clang-format`, `clang-format.exe`, etc.) to an
absolute pathname. Instead, we should do that only if the name is a
pathname, e.g. `./clang-format`,
`llvm-project/build/bin/clang-format.exe`, etc. See also
https://github.com/llvm/llvm-project/pull/74176#issuecomment-1837921351.


  Commit: fef1854318bd797c1f8a141d4b45b113b04860d1
      https://github.com/llvm/llvm-project/commit/fef1854318bd797c1f8a141d4b45b113b04860d1
  Author: Juergen Ributzka <juergen at ributzka.de>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    A clang/include/clang/Basic/DebugOptions.def
    M clang/include/module.modulemap
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/ClangScanDeps/strip-codegen-args.m

  Log Message:
  -----------
  [clang][modules] Reset codegen options. (#74006)

CodeGen options do not affect the AST, so they usually can be ignored.
The only exception to the rule is when a PCM is created with
`-gmodules`.
In that case the Clang module format is switched to object file
container and contains also serialized debug information that can be
affected by debug options. There the following approach was choosen:

1.) Split out all the debug options into a separate `DebugOptions.def`
    file. The file is included by `CodeGenOptions.def`, so the change is
    transparent to all existing users of `CodeGenOptions.def`.
2.) Reset all CodeGen options, but excluding affecting debug options.
3.) Conditionally reset debug options that can affect the PCM.

This fixes rdar://113135909.


  Commit: e8f3ccd2737c638fafae7c5bf13cd2e913ef0f86
      https://github.com/llvm/llvm-project/commit/e8f3ccd2737c638fafae7c5bf13cd2e913ef0f86
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/AccelTable.h
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/test/DebugInfo/X86/debug-names-types.ll

  Log Message:
  -----------
  [LLVM][DWARF] Add support for .debug_names with split dwarf (#73872)

Enables Type Units with DWARF5 accelerator tables for split dwarf. It is
still
under discussion what is the best way to implement support for
de-duplication in
DWP. This will be in follow up PR.


  Commit: 6fd1c1b8ef407cb16f7c990a33908d289313559f
      https://github.com/llvm/llvm-project/commit/6fd1c1b8ef407cb16f7c990a33908d289313559f
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M libc/src/__support/HashTable/bitmask.h
    M libc/src/__support/HashTable/generic/bitmask_impl.inc
    M libc/test/src/__support/HashTable/CMakeLists.txt

  Log Message:
  -----------
  [libc] fix HashTable warnings and build problems (#74371)

According to https://lab.llvm.org/buildbot/#/builders/163/builds/48002,
the generic build on HashTable fails with two major issues with
`werror`:
1. warnings on `error: suggest braces around initialization of
subobject`.
2. `__support/HashTable` tests are built regardless of its entrypoints`

This PR attempts to fix such issues.


  Commit: ce9b72c9798680c9297de3f2a77f0a09303c06e5
      https://github.com/llvm/llvm-project/commit/ce9b72c9798680c9297de3f2a77f0a09303c06e5
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [NFC] Fix unused variable (used only in assert) after d1cdcddcc2ef712c4e2ab61c6e4ca83350e7e9e3


  Commit: b73d79fda85b26fc111c47fe292d94d46b925754
      https://github.com/llvm/llvm-project/commit/b73d79fda85b26fc111c47fe292d94d46b925754
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Fix typo in comment. NFC

This should say "Assume that VL output is <= 65536".


  Commit: d9570babf1b253767a3a6c1450fa1b9e10b4e2f9
      https://github.com/llvm/llvm-project/commit/d9570babf1b253767a3a6c1450fa1b9e10b4e2f9
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/div-fdiv.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass-c.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/reductions.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/strided-load-x0.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/vector-integer-arithmetic.s
    M llvm/test/tools/llvm-mca/RISCV/different-lmul-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/different-sew-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/disable-im.s
    M llvm/test/tools/llvm-mca/RISCV/fractional-lmul-data.s
    M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-at-start.s
    M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-middle.s
    M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-region.s
    M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-straddles-region.s
    M llvm/test/tools/llvm-mca/RISCV/multiple-same-lmul-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/multiple-same-sew-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/needs-sew-but-only-lmul.s
    M llvm/test/tools/llvm-mca/RISCV/no-vsetvli-to-start.s
    M llvm/test/tools/llvm-mca/RISCV/sew-instrument-at-start.s
    M llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-middle.s
    M llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-region.s
    M llvm/test/tools/llvm-mca/RISCV/sew-instrument-straddles-region.s
    M llvm/test/tools/llvm-mca/RISCV/vle-vse.s
    M llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-instrument.s
    M llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-sew-instrument.s
    M llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-instrument.s
    M llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-sew-instrument.s

  Log Message:
  -----------
  [RISCV] Remove SiFive7PipeV and replace it with SiFive7VCQ (#73969)

The Arithmetic, Load, and Store sequencers can accept instructions in
parallel. The PipeV blocked that from happening since it became busy if
any of the sequencers were busy. This change allows the sequencers to
accept instructions in parallel.

The VCQ accepts instructions from the the A Pipe and holds them until
the vector unit is ready to dequeue them. The unit dequeues up to one
instruction per cycle, in order, as soon as the sequencer for that type
of instruction is avaliable. This resource is meant to be used for 1
cycle by all vector instructions, to model that only one vector
instruction may be dequed at a time. The actual dequeueing into the
sequencer is modeled by the VA, VL, and VS sequencer resources below.
Each of them will only accept a single instruction at a time and remain
busy for the number of cycles associated with that instruction.


  Commit: 1157bee5ce2c7acb803cda5003b2ea9d0ed962e2
      https://github.com/llvm/llvm-project/commit/1157bee5ce2c7acb803cda5003b2ea9d0ed962e2
  Author: Juergen Ributzka <juergen at ributzka.de>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    R clang/include/clang/Basic/DebugOptions.def
    M clang/include/module.modulemap
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    R clang/test/ClangScanDeps/strip-codegen-args.m

  Log Message:
  -----------
  Revert "[clang][modules] Reset codegen options. (#74006)"

This reverts commit fef1854318bd797c1f8a141d4b45b113b04860d1.


  Commit: 3e09a93859c69f1e5692226a849c067b71d010b1
      https://github.com/llvm/llvm-project/commit/3e09a93859c69f1e5692226a849c067b71d010b1
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Mesh/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir][mesh] Fix build breakage (#74362)

```
/usr/bin/ld: CMakeFiles/obj.MLIRMeshDialect.dir/MeshOps.cpp.o: in function
 `mlir::mesh::BroadcastOp::print(mlir::OpAsmPrinter&) [clone .localalias]':
MeshOps.cpp:(.text._ZN4mlir4mesh11BroadcastOp5printERNS_12OpAsmPrinterE+0x2 d3): undefined reference to `mlir::printDynamicIndexList(mlir::OpAsmPrinter&, mlir::Operation*, mlir::OperandRange, llvm::ArrayRef<long>, mlir::TypeRange, llvm::ArrayRef<bool>, mlir::AsmParser::Delimiter)'
```


  Commit: 7e3aeee3bf515f5922b564d3a850ab9f933a32dd
      https://github.com/llvm/llvm-project/commit/7e3aeee3bf515f5922b564d3a850ab9f933a32dd
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/Mips/msa/basic_operations.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
    M llvm/test/CodeGen/X86/pr59980.ll

  Log Message:
  -----------
  [NFC][asan] Replace AsanInited/ENSURE_ASAN_INITED with TryAsanInitFromRtl (#74172)


  Commit: b83289b0b66c8e88a8ab5c53d91327a380cfb0bd
      https://github.com/llvm/llvm-project/commit/b83289b0b66c8e88a8ab5c53d91327a380cfb0bd
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M compiler-rt/lib/asan/asan_interceptors.cpp

  Log Message:
  -----------
  [NFC][asan] Replace a few `#if SANITIZER_APPLE` with `if (SANITIZER_APPLE` (#74173)


  Commit: eef39f4341b16d1eb5d1a907d2cefe061f3a8928
      https://github.com/llvm/llvm-project/commit/eef39f4341b16d1eb5d1a907d2cefe061f3a8928
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/asan/asan_interceptors.h
    M compiler-rt/lib/asan/asan_malloc_linux.cpp
    M compiler-rt/lib/asan/asan_malloc_mac.cpp

  Log Message:
  -----------
  [NFC][asan] Inline ENSURE_ASAN_INITED macro (#74174)


  Commit: ae6db862a9ea0977e44127eb36e5d25e5673df04
      https://github.com/llvm/llvm-project/commit/ae6db862a9ea0977e44127eb36e5d25e5673df04
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
    M compiler-rt/test/hwasan/TestCases/Linux/syscalls.cpp
    A compiler-rt/test/hwasan/TestCases/memset-recover.cpp

  Log Message:
  -----------
  [hwasan] Use ErrorAction::Recover in interceptors (#74000)


  Commit: 3d718d0ebac232f304a0a074610de2d9652ab21f
      https://github.com/llvm/llvm-project/commit/3d718d0ebac232f304a0a074610de2d9652ab21f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M compiler-rt/lib/asan/asan_rtl.cpp

  Log Message:
  -----------
  [NFC][asan] Remove SetAsanInited parameter


  Commit: 4b1254e7d4c30c7e15669e8879f405814c1790ee
      https://github.com/llvm/llvm-project/commit/4b1254e7d4c30c7e15669e8879f405814c1790ee
  Author: stephenpeckham <118857872+stephenpeckham at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/include/llvm/MC/MCSectionXCOFF.h
    M llvm/include/llvm/MC/MCSymbolXCOFF.h
    M llvm/include/llvm/MC/MCXCOFFStreamer.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/MCXCOFFStreamer.cpp
    M llvm/test/CodeGen/PowerPC/aix-alias.ll
    M llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-clobber-register.ll
    M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
    M llvm/test/CodeGen/PowerPC/aix-extern.ll
    M llvm/test/CodeGen/PowerPC/aix-func-align.ll
    M llvm/test/CodeGen/PowerPC/aix-personality-alias.ll
    M llvm/test/CodeGen/PowerPC/aix-weak.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-data.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-symbol-rename.ll
    M llvm/test/CodeGen/PowerPC/test_func_desc.ll
    M llvm/test/DebugInfo/XCOFF/empty.ll
    M llvm/test/DebugInfo/XCOFF/explicit-section.ll
    M llvm/test/DebugInfo/XCOFF/function-sections.ll

  Log Message:
  -----------
  [AIX] In assembly file, create a dummy text renamed to an empty string (#73052)

This works around an AIX assembler and linker bug. If the
-fno-integrated-as and -frecord-command-line options are used but
there's no actual code in the source file, the assembler creates an
object file with only an .info section. The AIX linker rejects such an
object file.


  Commit: 924f6ca1bdc49efe776d7f5cfd43d421b65346ba
      https://github.com/llvm/llvm-project/commit/924f6ca1bdc49efe776d7f5cfd43d421b65346ba
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
    M clang/lib/Format/ObjCPropertyAttributeOrderFixer.h
    M clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp

  Log Message:
  -----------
  [clang-format] Remove duplicates in @property using std::set (#74235)

Re-implement ObjCPropertyAttributeOrder using std::set for sorting and
removing duplicates. (We can't use llvm::SmallSet because it's
unordered.)


  Commit: ab65c9c3bb9bdbc3271db9b25e2c5746fd59eead
      https://github.com/llvm/llvm-project/commit/ab65c9c3bb9bdbc3271db9b25e2c5746fd59eead
  Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M libc/src/__support/UInt.h
    M libc/src/__support/float_to_string.h
    M libc/src/math/generic/math_utils.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/float_hex_converter.h

  Log Message:
  -----------
  [libc][NFC] fix int warnings in float conversion (#74379)

The printf float to string conversion functions had some implicit
integer conversion warnings on gcc. This patch adds explicit casts to
these places.


  Commit: 961d943e396fa179988a160c2998f0bafc2a56c0
      https://github.com/llvm/llvm-project/commit/961d943e396fa179988a160c2998f0bafc2a56c0
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M lldb/source/Host/netbsd/HostInfoNetBSD.cpp

  Log Message:
  -----------
  [lldb] Remove unused variable

lldb/source/Host/netbsd/HostInfoNetBSD.cpp:48:8: warning: unused variable 'osrev_str' [-Wunused-variable]
  char osrev_str[12];
       ^
1 warning generated.


  Commit: 6a8a5629a6042da602fbc586c8b41137cdd2f053
      https://github.com/llvm/llvm-project/commit/6a8a5629a6042da602fbc586c8b41137cdd2f053
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-addrmode.ll

  Log Message:
  -----------
  [AArch64] Precommit tests for PR71917


  Commit: d6f4d5209ffcdc6d8e33a14fe8df70283b768f45
      https://github.com/llvm/llvm-project/commit/d6f4d5209ffcdc6d8e33a14fe8df70283b768f45
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/test/CodeGen/AArch64/arm64-addrmode.ll
    M llvm/test/Transforms/CodeGenPrepare/AArch64/large-offset-gep.ll

  Log Message:
  -----------
  [CGP][AArch64] Rebase the common base offset for better ISel

When all the large const offsets masked with the same value from bit-12 to bit-23.
Fold
  add     x8, x0, #2031, lsl #12
  add     x8, x8, #960
  ldr     x9, [x8, x8]
  ldr     x8, [x8, #2056]

into
  add     x8, x0, #2031, lsl #12
  ldr     x9, [x8, #960]
  ldr     x8, [x8, #3016]


  Commit: 66784dcb3b4302cea606c3e74913350197b7ed45
      https://github.com/llvm/llvm-project/commit/66784dcb3b4302cea606c3e74913350197b7ed45
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/include/Shared/Debug.h
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/src/OpenMP/InteropAPI.cpp
    M openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/api.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp

  Log Message:
  -----------
  [OpenMP] Ensure `Devices` is accessed exlusively (#74374)

We accessed the `Devices` container most of the time while holding the
RTLsMtx, but not always. Sometimes we used the mutex for the size query,
but then accessed Devices again unguarded. From now we properly
encapsulate the container in a ProtectedObj which ensures exclusive
accesses. We also hide the "isReady" part in the `getDevice` accessor
and use an `llvm::Expected` to allow to return errors.


  Commit: c3a9c905fbc486add75e16218fe58a04b7b6c282
      https://github.com/llvm/llvm-project/commit/c3a9c905fbc486add75e16218fe58a04b7b6c282
  Author: Lu Weining <luweining at loongson.cn>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELFRelocs/LoongArch.def
    M llvm/test/tools/llvm-readobj/ELF/reloc-types-loongarch64.test
    M llvm/unittests/Object/ELFTest.cpp

  Log Message:
  -----------
  [BinaryFormat][LoongArch] Define psABI v2.20 relocs (#73345)

psABI v2.20 added R_LARCH_CALL36 and removed R_LARCH_DELETE / R_LARCH_CFA.

R_LARCH_CALL36 was designed for function call on medium code model where
the 2 instructions (pcaddu18i + jirl) must be adjacent.


  Commit: 192439db6e3fcccf98c850bda1b970a11c590bbb
      https://github.com/llvm/llvm-project/commit/192439db6e3fcccf98c850bda1b970a11c590bbb
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Complex/IR/ComplexOps.cpp
    M mlir/test/Dialect/Complex/invalid.mlir

  Log Message:
  -----------
  [mlir][Complex] Fix bug in `MergeComplexBitcast` (#74271)

When two `complex.bitcast` ops are folded and the resulting bitcast is a
non-complex -> non-complex bitcast, an `arith.bitcast` should be
generated. Otherwise, the generated `complex.bitcast` op is invalid.

Also remove a pattern that convertes non-complex -> non-complex
`complex.bitcast` ops to `arith.bitcast`. Such `complex.bitcast` ops are
invalid and should not appear in the input.

Note: This bug can only be triggered by running with `-debug` (which
will should intermediate IR that does not verify) or with
`MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS` (#74270).


  Commit: a8874cf50bb676facb4429234dff7774e579faef
      https://github.com/llvm/llvm-project/commit/a8874cf50bb676facb4429234dff7774e579faef
  Author: hev <wangrui at loongson.cn>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/IR/GlobalObject.h
    M llvm/include/llvm/IR/GlobalVariable.h
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Globals.cpp
    M llvm/test/Assembler/globalvariable-attributes.ll
    A llvm/test/Transforms/GlobalOpt/globalvar-code-model.ll

  Log Message:
  -----------
  [llvm][IR] Add per-global code model attribute (#72077)

This adds a per-global code model attribute, which can override the
target's code model to access global variables.

Suggested-by: Arthur Eubanks <aeubanks at google.com>
Link: https://discourse.llvm.org/t/how-to-best-implement-code-model-overriding-for-certain-values/71816
Link: https://discourse.llvm.org/t/rfc-add-per-global-code-model-attribute/74944


  Commit: b3392c447ad7b18a652d2ed63e8ebb7741077a98
      https://github.com/llvm/llvm-project/commit/b3392c447ad7b18a652d2ed63e8ebb7741077a98
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/SemaCXX/builtin-dump-struct.cpp

  Log Message:
  -----------
  [clang] Reject incomplete type arguments for __builtin_dump_struct (#72749)

We used to assume that the CXXRecordDecl passed to the 1st argument
always had a definition. This is not true since a pointer to an
incomplete type was not excluded.

Fixes https://github.com/llvm/llvm-project/issues/63506


  Commit: 89e775ac81ec9e5b45c3bdf39dc8e456c1f13690
      https://github.com/llvm/llvm-project/commit/89e775ac81ec9e5b45c3bdf39dc8e456c1f13690
  Author: Kevin Frei <kevinfrei at users.noreply.github.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/lib/Debuginfod/Debuginfod.cpp

  Log Message:
  -----------
  Switch from the std::shared_mutex to an LLVM RWMutex (#74383)

@nico pointed out that my usage of `std::shared_mutex` broke builds on
older macOS devices. Switching to `llvm::sys::RWMutex` is the solution
that they provided.

Tracked in issue #74382

Co-authored-by: Kevin Frei <freik at meta.com>


  Commit: 725a04066a210fdd812a56c3a6256cc97c0aaf4d
      https://github.com/llvm/llvm-project/commit/725a04066a210fdd812a56c3a6256cc97c0aaf4d
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/docs/GettingStarted.rst
    M llvm/docs/GitHub.rst

  Log Message:
  -----------
  Update GitHub doc to mention that we accepts user branches for Stacked PRs (#73774)

This isn't yet a guide on how to do stacked PRs.


  Commit: 4288fb8c26447280b9e8ddb22160ebbfc082a815
      https://github.com/llvm/llvm-project/commit/4288fb8c26447280b9e8ddb22160ebbfc082a815
  Author: Lang Hames <lhames at gmail.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp

  Log Message:
  -----------
  [ORC][MachO] Fix JITDylib header-addr tracking in MachOPlatform.

HeaderAddr shouldn't be a member variable of MachOPlatformPlugin: there's only
one plugin instance shared between all JITDylibs, so the shared HeaderAddr will
be overwritten in an unpredictable and unsafe way. We haven't seen any issues
due to this yet, but it triggered failures during testing of an upcoming
llvm-jitlink patch (e.g. ORC-RT test Darwin/x86-64/jit-re-dlopen-trivial.S).
This patch pre-fixes the issue in advance of the llvm-jitlink patch landing.

This patch also removes some stale debugging output in MachOPlatform.


  Commit: 3dae97cc011ca097bd457bbfa5855da86290f631
      https://github.com/llvm/llvm-project/commit/3dae97cc011ca097bd457bbfa5855da86290f631
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp

  Log Message:
  -----------
  [mlir][bufferization] Fix op dominance bug in rewrite pattern (#74159)

Fixes a bug in `SplitDeallocWhenNotAliasingAnyOther`. This pattern used
to generate invalid IR (op dominance error). We never noticed this bug
in existing test cases because other patterns and/or foldings were
applied afterwards and those rewrites "fixed up" the IR again. (The bug
is visible when running `mlir-opt -debug`.) Also add additional comments
to the implementation and simplify the code a bit.

Apart from the fixed dominance error, this change is NFC. Without this
change, buffer deallocation tests will fail when running with #74270.


  Commit: e31a7581a556da9ab789afac4ac95f1ff592530f
      https://github.com/llvm/llvm-project/commit/e31a7581a556da9ab789afac4ac95f1ff592530f
  Author: Ruiling Song <ruiling.song at amd.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/scratch-pointer-sink.ll

  Log Message:
  -----------
  AMDGPU: Pre-commit test to show diff


  Commit: 90681d3a41c0f8e12b51b73f1bfa9c366f8189d8
      https://github.com/llvm/llvm-project/commit/90681d3a41c0f8e12b51b73f1bfa9c366f8189d8
  Author: Ruiling, Song <ruiling.song at amd.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/scratch-pointer-sink.ll

  Log Message:
  -----------
  AMDGPU: Return legal addressmode correctly for flat scratch (#71494)


  Commit: 74c00d432944ca4ada5f105b0d396b55f2692f05
      https://github.com/llvm/llvm-project/commit/74c00d432944ca4ada5f105b0d396b55f2692f05
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/LiveRangeEdit.cpp
    A llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.ll
    A llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir

  Log Message:
  -----------
  LiveRangeEdit: Clear all dead flags when rematerializing (#73933)

It's allowed to rematerialize instructions with implicit-defs of the
same register as the single explicit def. If this happened, it was only
clearing the dead flags on the one main result.


  Commit: 943f3e52a0532d1d2b5c743635e1aed15033154b
      https://github.com/llvm/llvm-project/commit/943f3e52a0532d1d2b5c743635e1aed15033154b
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/test/CodeGen/X86/atomic-unordered.ll

  Log Message:
  -----------
  [X86] Remove x86-experimental-unordered-atomic-isel option and associated code

This option enables an experimental lowering for unordered atomics I worked
on a few years back.  It never reached production quality, and hasn't been
worked on in years.  So let's rip it out.

This wasn't a crazy idea, but I hit some stumbling block which prevented me
from pushing it across the finish line.  From the look of 027aa27, that
change description is probably a good summary.  I don't remember the
details any longer.


  Commit: 3223936dc512c9f4f87a230a4d2931e37186ca22
      https://github.com/llvm/llvm-project/commit/3223936dc512c9f4f87a230a4d2931e37186ca22
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    R compiler-rt/lib/asan/asan_lock.h
    R compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp
    R compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.h
    R llvm/test/DebugInfo/Inputs/dwarfdump-test3-decl.h
    R llvm/test/DebugInfo/Inputs/dwarfdump-test3.cc
    R polly/include/polly/CodeGen/CodegenCleanup.h

  Log Message:
  -----------
  [lldb] A start at cleaning up zero byte files that should have been removed


  Commit: 98b4c1ee212901f6b6478a928ca74ed6edb311a9
      https://github.com/llvm/llvm-project/commit/98b4c1ee212901f6b6478a928ca74ed6edb311a9
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h
    M lldb/source/Plugins/Process/Utility/NetBSDSignals.h
    M lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_i386.cpp
    M lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_x86_64.h

  Log Message:
  -----------
  [lldb][NFC] Minor formatting nits with some of the NetBSD code


  Commit: 2fd66e6eb659701b9d4c88708d55d5854a246815
      https://github.com/llvm/llvm-project/commit/2fd66e6eb659701b9d4c88708d55d5854a246815
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    A compiler-rt/lib/asan/asan_lock.h
    A compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.h
    A llvm/test/DebugInfo/Inputs/dwarfdump-test3-decl.h
    A llvm/test/DebugInfo/Inputs/dwarfdump-test3.cc
    A polly/include/polly/CodeGen/CodegenCleanup.h

  Log Message:
  -----------
  Revert "[lldb] A start at cleaning up zero byte files that should have been removed"

This reverts commit 3223936dc512c9f4f87a230a4d2931e37186ca22.

Commited by accident while mixed in with another commit.


  Commit: 1334030f12e8f33a28167d32c51ca956634ec5f7
      https://github.com/llvm/llvm-project/commit/1334030f12e8f33a28167d32c51ca956634ec5f7
  Author: Joshua Cao <cao.joshua at yahoo.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    A llvm/test/Transforms/TailCallElim/tre-minmax-intrinsic.ll

  Log Message:
  -----------
  [TRE] Add tests for intrinsic accumulators


  Commit: 72ffaa915623e337abb5c689b5087d7e1d4477ae
      https://github.com/llvm/llvm-project/commit/72ffaa915623e337abb5c689b5087d7e1d4477ae
  Author: Joshua Cao <cao.joshua at yahoo.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/Constants.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
    M llvm/test/Transforms/TailCallElim/accum_recursion.ll
    M llvm/test/Transforms/TailCallElim/tre-minmax-intrinsic.ll

  Log Message:
  -----------
  [IR][TRE] Support associative intrinsics (#74226)

There is support for intrinsics in Instruction::isCommunative, but there
is no equivalent implementation for isAssociative. This patch builds
support for associative intrinsics with TRE as an application. TRE can
now have associative intrinsics as an accumulator. For example:
```
struct Node {
  Node *next;
  unsigned val;
}

unsigned maxval(struct Node *n) {
  if (!n) return 0;
  return std::max(n->val, maxval(n->next));
}
```
Can be transformed into:
```
unsigned maxval(struct Node *n) {
  struct Node *head = n;
  unsigned max = 0; // Identity of unsigned std::max
  while (true) {
    if (!head) return max;
    max = std::max(max, head->val);
    head = head->next;
  }
  return max;
}
```
This example results in about 5x speedup in local runs.

We conservatively only consider min/max and as associative for this
patch to limit testing scope. There are probably other intrinsics that
could be considered associative. There are a few consumers of
isAssociative() that could be impacted. Testing has only required to
Reassociate pass be updated.


  Commit: 12ed2c90a105f29b9b2f6056d936f47534d31624
      https://github.com/llvm/llvm-project/commit/12ed2c90a105f29b9b2f6056d936f47534d31624
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    R compiler-rt/lib/asan/asan_lock.h
    R compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp
    R compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.h
    R llvm/test/DebugInfo/Inputs/dwarfdump-test3-decl.h
    R llvm/test/DebugInfo/Inputs/dwarfdump-test3.cc
    R polly/include/polly/CodeGen/CodegenCleanup.h

  Log Message:
  -----------
  [llvm][NFC] A start at cleaning up zero byte files that should have been removed (#74404)


  Commit: d11d38cb095b7f86d4c1298ea9806099d2fc4bd6
      https://github.com/llvm/llvm-project/commit/d11d38cb095b7f86d4c1298ea9806099d2fc4bd6
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/test/CXX/drs/dr5xx.cpp

  Log Message:
  -----------
   [clang][NFC] Refactor expected directives in C++ DRs 500-599 (#74373)

This patch continues the work started with ea5b1ef016d020c37f903d6c7d4f623be975dab8. See that commit and its
corresponding PR for details.


  Commit: 6b4b6d9ba4691fcb59a5e67cb1cac95027a7e132
      https://github.com/llvm/llvm-project/commit/6b4b6d9ba4691fcb59a5e67cb1cac95027a7e132
  Author: Danila Malyutin <danilaml at users.noreply.github.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [llvm][docs] Expand section on non-integral pointers (#73242)

Specify their restrictions w.r.t. `align` attribute.


  Commit: d50482402662ef6053e5666a1b9fddb46dec0e3a
      https://github.com/llvm/llvm-project/commit/d50482402662ef6053e5666a1b9fddb46dec0e3a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/RISCV/push-pop-popret.ll

  Log Message:
  -----------
  [RISCV] Use ABI align in varargs tests in push-pop-popret.ll. NFC (#74423)

The explicit 'align 4' caused the pointers to be underaligned on RV64.


  Commit: 543589af492b43d1fe21aaf499bd4d168e64abf1
      https://github.com/llvm/llvm-project/commit/543589af492b43d1fe21aaf499bd4d168e64abf1
  Author: Amy Wang <kai.ting.wang at huawei.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/python/mlir/dialects/affine.py
    M mlir/test/python/dialects/affine.py

  Log Message:
  -----------
  [mlir][python] python binding wrapper for the affine.AffineForOp (#74408)

This PR creates the wrapper class AffineForOp and adds a testcase for
it. A testcase for the AffineLoadOp is also added.


  Commit: 8cfdd37088d662338ec85ac15721dddf3f6d8db6
      https://github.com/llvm/llvm-project/commit/8cfdd37088d662338ec85ac15721dddf3f6d8db6
  Author: Yonggang Luo <luoyonggang at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Headers/bmiintrin.h

  Log Message:
  -----------
  [clang] Fixes compile error that double colon operator cannot resolve macro with parentheses. (#68618)

Error message:
```
In file included from ../src/amd/addrlib/src/core/addrobject.h:21:
../src/amd/addrlib/src/core/addrcommon.h:343:13: error: expected unqualified-id
    out = ::_tzcnt_u32(mask);
            ^
/usr/lib/llvm-15/lib/clang/15.0.6/include/bmiintrin.h:74:27: note: expanded from macro '_tzcnt_u32'
#define _tzcnt_u32(a)     (__tzcnt_u32((a)))
```

This is because both GCC/Clang doesn't support compiling the following
code:
```
#ifdef _MSC_VER
#include <intrin.h>
#else
#include <x86intrin.h>
#endif

int f(int a) {
    return ::(_tzcnt_u32)(a);
}
```

This is because the return statement expects an expression or braced
init list: http://eel.is/c++draft/stmt.jump#general-1 but we really only
need to care about the expression form (there's no braces in sight).
Grammatically, the leading :: will parse as a qualified-id because it
matches the production for nested-name-specifier:
http://eel.is/c++draft/expr.prim.id.qual#nt:qualified-id That needs to
be followed by an unqualified-id
(http://eel.is/c++draft/expr.prim.id.unqual#nt:unqualified-id), but the
open paren does not match any of the grammar productions, so this is a
syntax error.

Closes: https://github.com/llvm/llvm-project/issues/64467

Signed-off-by: Yonggang Luo <luoyonggang at gmail.com>


  Commit: 5c70c181a359e651bc58f98a4654e32087abe417
      https://github.com/llvm/llvm-project/commit/5c70c181a359e651bc58f98a4654e32087abe417
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M lldb/source/Host/openbsd/HostInfoOpenBSD.cpp

  Log Message:
  -----------
  [lldb] Sync OpenBSD GetOSVersion() closer to NetBSD function (#74396)

Also eliminate an unused variable while here.


  Commit: 0ca80eb5e814a6d061556888c9c9fbd04f054a80
      https://github.com/llvm/llvm-project/commit/0ca80eb5e814a6d061556888c9c9fbd04f054a80
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [NFC] Remove duplicated message resulted from a bad merge I think


  Commit: e8dbe945f39f2249fe24e0d62ec8ac998e853c2b
      https://github.com/llvm/llvm-project/commit/e8dbe945f39f2249fe24e0d62ec8ac998e853c2b
  Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/CodeGen/TargetSchedule.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp

  Log Message:
  -----------
  TargetInstrInfo, TargetSchedule: fix non-NFC parts of 9468de4 (#74338)

Follow up on a post-commit review of 9468de4 (TargetInstrInfo: make
getOperandLatency return optional (NFC)) by Bjorn Pettersson to fix a
couple of things that are not NFC:

- std::optional<T>::operator<= returns true if the first operand is a
std::nullopt and second operand is T. Fix a couple of places where we
assumed it would return false.
- In TargetSchedule, computeInstrCost could take another codepath,
returning InstrLatency instead of DefaultDefLatency. Fix one instance
not accounting for this behavior.


  Commit: 2eb9e33cc57d5acc2232d468a99f0e35c8f583dc
      https://github.com/llvm/llvm-project/commit/2eb9e33cc57d5acc2232d468a99f0e35c8f583dc
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir][Vector] Update patterns for flattening vector.xfer Ops (2/N) (#73523)

Updates patterns for flattening `vector.transfer_read` by relaxing the
requirement that the "collapsed" indices are all zero. This enables
collapsing cases like this one:

```mlir
  %2 = vector.transfer_read %arg4[%c0, %arg0, %arg1, %c0] ... :
    memref<1x43x4x6xi32>, vector<1x2x6xi32>
```

Previously only the following case would be consider for collapsing
(all indices are 0):

```mlir
  %2 = vector.transfer_read %arg4[%c0, %c0, %c0, %c0] ... :
    memref<1x43x4x6xi32>, vector<1x2x6xi32>
```

Also adds some new comments and renames the `firstContiguousInnerDim`
parameter as `firstDimToCollapse` (the latter better matches the actual
meaning).

Similar updates for `vector.transfer_write` will be implemented in a
follow-up patch.


  Commit: 43455a2f0d3cdcd8dc46c4fbdebf4e655b26c2f2
      https://github.com/llvm/llvm-project/commit/43455a2f0d3cdcd8dc46c4fbdebf4e655b26c2f2
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [bazel] port c33e5d59e5dd4f54c3f4cc00d1bedaf644fdb694


  Commit: eaba81fd245da952a2a708495bf97d7791e8b965
      https://github.com/llvm/llvm-project/commit/eaba81fd245da952a2a708495bf97d7791e8b965
  Author: ZengZhijin <977862353 at qq.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    A llvm/test/CodeGen/RISCV/reduce-unnecessary-extension.ll

  Log Message:
  -----------
  [SDAG] Count call argument attributes to reduce unnecessary extension (#73501)

Count how often the value is with signext/zeroext calls
when determining the preferred extension type.


  Commit: 892abd34d22076cac2be297222acb269a3d1f605
      https://github.com/llvm/llvm-project/commit/892abd34d22076cac2be297222acb269a3d1f605
  Author: Hideto Ueno <uenoku.tokotoko at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/lib/IR/Verifier.cpp

  Log Message:
  -----------
  [mlir][IR] Make verifyDominanceOfContainedRegions iterative (#74428)

This commit refactors `verifyDominanceOfContainedRegions` to iterative
algorithms similar to https://reviews.llvm.org/D154925 to fix stack
overflow for deeply nested regions (e.g.
https://github.com/llvm/circt/issues/5316). There should be no
functional change except that this could result in slightly different
order of verification.


  Commit: 292ecb8b81fbd3784faa237d9f2613e5d962d488
      https://github.com/llvm/llvm-project/commit/292ecb8b81fbd3784faa237d9f2613e5d962d488
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/GVN/captured-before.ll

  Log Message:
  -----------
  [GVN] Add test for capture via vector GEP (NFC)

Reported at:
https://github.com/llvm/llvm-project/pull/69931#issuecomment-1839475854


  Commit: 383e35048e16c85ab26bc46822d3ceb11fd4d3f2
      https://github.com/llvm/llvm-project/commit/383e35048e16c85ab26bc46822d3ceb11fd4d3f2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/CaptureTracking.cpp
    M llvm/test/Transforms/GVN/captured-before.ll

  Log Message:
  -----------
  [CaptureTracking] Treat vector GEPs as captures

Because AA does not support vectors of pointers, we have to
treat pointers that are inserted into a vector as captures. We
mostly already do so, but missed the case where getelementptr
is used to produce a vector.


  Commit: 432bb523e2939ca6049356efb4fa90b64b1ea7dc
      https://github.com/llvm/llvm-project/commit/432bb523e2939ca6049356efb4fa90b64b1ea7dc
  Author: eleviant <56861949+eleviant at users.noreply.github.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/AsmParser/LLParser.cpp
    A llvm/test/Assembler/index-value-order.ll

  Log Message:
  -----------
  Fix parsing out-of-order ValueInfos (#73239)

AsmParser creates dummy values when value identifiers are not going in ascending order and tries to use those dummy values when/if they are being referenced. We need to postpone this until all required data is read.


  Commit: 6b8d659062a0f9a7daa641432701dc6996939dc5
      https://github.com/llvm/llvm-project/commit/6b8d659062a0f9a7daa641432701dc6996939dc5
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    M flang/test/Driver/falias-analysis.f90

  Log Message:
  -----------
  [flang] remove -f[no-]alias-analysis (#74343)

Now that tbaa tags pass is enabled by default, I would like to remove
these flags. `-fno-alias-analysis` was originally intended to be useful
for debugging, but as it also disables tbaa tag generation in codegen,
it turned out to be too noisy.

@banach-space expressed that these flags felt too non-standard.

The tbaa tags pass can be toggled using `-mllvm
-disable-fir-alias-tags=0`


  Commit: fd870c6fa987869abc9c7fa4a59037088ac71636
      https://github.com/llvm/llvm-project/commit/fd870c6fa987869abc9c7fa4a59037088ac71636
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Translate Debug EmissionKind (#74376)

Translate debug emission kind into LLVM (the importer already supports
this).


  Commit: 1c55b227fe7d42b3ad18bf9e485fca66f14fa751
      https://github.com/llvm/llvm-project/commit/1c55b227fe7d42b3ad18bf9e485fca66f14fa751
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    A llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
    A llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
    A llvm/test/MC/AMDGPU/gfx12_asm_sop2_alias.s
    A llvm/test/MC/AMDGPU/gfx12_asm_sopc.s
    A llvm/test/MC/AMDGPU/gfx12_asm_sopk.s
    A llvm/test/MC/AMDGPU/gfx12_asm_sopk_alias.s
    A llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopc.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopp.txt

  Log Message:
  -----------
  [AMDGPU] Add GFX12 encoding and aliases for existing SOP (SALU) instructions (#74305)


  Commit: 0d0c2298552222b049fa3b8db5efef4b161e51e9
      https://github.com/llvm/llvm-project/commit/0d0c2298552222b049fa3b8db5efef4b161e51e9
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
    M llvm/test/Transforms/InstSimplify/assume-fcmp-constant-implies-class.ll

  Log Message:
  -----------
  Revert "Reapply "ValueTracking: Identify implied fp classes by general fcmp (#66505)""

This reverts commit d55692d60d218f402ce107520daabed15f2d9ef6.

See discussion in #66505: assertion fires in OSS build of TensorFlow.


  Commit: b14094885077fb10ae688a4cae85f7cfee795fb3
      https://github.com/llvm/llvm-project/commit/b14094885077fb10ae688a4cae85f7cfee795fb3
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/Hypot.h
    M libc/src/__support/FPUtil/generic/CMakeLists.txt
    M libc/src/__support/FPUtil/generic/FMA.h
    M libc/src/__support/FPUtil/generic/FMod.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/HashTable/CMakeLists.txt
    M libc/src/__support/HashTable/bitmask.h
    M libc/src/__support/HashTable/table.h
    M libc/src/__support/UInt.h
    R libc/src/__support/bit.h
    M libc/src/__support/hash.h
    M libc/src/__support/integer_utils.h
    M libc/src/__support/memory_size.h
    M libc/src/__support/str_to_float.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/powf.cpp
    M libc/src/string/memory_utils/op_builtin.h
    M libc/src/string/memory_utils/utils.h
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/HashTable/table_test.cpp
    R libc/test/src/__support/bit_test.cpp
    M libc/test/src/__support/memory_size_test.cpp
    M libc/test/src/search/hsearch_test.cpp
    M libc/test/src/string/memory_utils/utils_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl

  Log Message:
  -----------
  [libc][NFC] Remove __support/bit.h and use __support/CPP/bit.h instead (#73939)


  Commit: de7fdc5b54c229f05ddacc33a49203762cdb5f66
      https://github.com/llvm/llvm-project/commit/de7fdc5b54c229f05ddacc33a49203762cdb5f66
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/Hypot.h
    M libc/src/__support/FPUtil/generic/CMakeLists.txt
    M libc/src/__support/FPUtil/generic/FMA.h
    M libc/src/__support/FPUtil/generic/FMod.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/HashTable/CMakeLists.txt
    M libc/src/__support/HashTable/bitmask.h
    M libc/src/__support/HashTable/table.h
    M libc/src/__support/UInt.h
    A libc/src/__support/bit.h
    M libc/src/__support/hash.h
    M libc/src/__support/integer_utils.h
    M libc/src/__support/memory_size.h
    M libc/src/__support/str_to_float.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/powf.cpp
    M libc/src/string/memory_utils/op_builtin.h
    M libc/src/string/memory_utils/utils.h
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/HashTable/table_test.cpp
    A libc/test/src/__support/bit_test.cpp
    M libc/test/src/__support/memory_size_test.cpp
    M libc/test/src/search/hsearch_test.cpp
    M libc/test/src/string/memory_utils/utils_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl

  Log Message:
  -----------
  Revert "[libc][NFC] Remove __support/bit.h and use __support/CPP/bit.h instead" (#74444)

Reverts llvm/llvm-project#73939

This broke libc-aarch64-ubuntu build bot 
https://lab.llvm.org/buildbot/#/builders/138/builds/56186


  Commit: 1d894788305c624c700ae332742886823554560e
      https://github.com/llvm/llvm-project/commit/1d894788305c624c700ae332742886823554560e
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/Hypot.h
    M libc/src/__support/FPUtil/generic/CMakeLists.txt
    M libc/src/__support/FPUtil/generic/FMA.h
    M libc/src/__support/FPUtil/generic/FMod.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/HashTable/CMakeLists.txt
    M libc/src/__support/HashTable/bitmask.h
    M libc/src/__support/HashTable/table.h
    M libc/src/__support/UInt.h
    R libc/src/__support/bit.h
    M libc/src/__support/hash.h
    M libc/src/__support/integer_utils.h
    M libc/src/__support/memory_size.h
    M libc/src/__support/str_to_float.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/powf.cpp
    M libc/src/string/memory_utils/op_aarch64.h
    M libc/src/string/memory_utils/op_builtin.h
    M libc/src/string/memory_utils/utils.h
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/HashTable/table_test.cpp
    R libc/test/src/__support/bit_test.cpp
    M libc/test/src/__support/memory_size_test.cpp
    M libc/test/src/search/hsearch_test.cpp
    M libc/test/src/string/memory_utils/utils_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl

  Log Message:
  -----------
  [reland][libc][NFC] Remove __support/bit.h and use __support/CPP/bit.h instead (#73939) (#74446)

Same as #73939 but also fix `libc/src/string/memory_utils/op_aarch64.h`
that was still using `deferred_static_assert`.


  Commit: 900bb318b5b8c485e57cf810253a656b0fb683bc
      https://github.com/llvm/llvm-project/commit/900bb318b5b8c485e57cf810253a656b0fb683bc
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/tools/clang-format/clang-format-diff.py

  Log Message:
  -----------
  [clang-format][NFC] Use `prog` in clang-format-diff.py (#74399)

This is a minor improvement to #73491.


  Commit: 3257e4ca1657b3a018acac737f8c2b88f5805400
      https://github.com/llvm/llvm-project/commit/3257e4ca1657b3a018acac737f8c2b88f5805400
  Author: Radu Salavat <radusalavat48 at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/func.mlir
    A mlir/test/Target/LLVMIR/Import/frame-pointer.ll
    A mlir/test/Target/LLVMIR/frame-pointer.mlir

  Log Message:
  -----------
  [MLIR] Add support for frame pointers in MLIR (#72145)

Add support for frame pointers in MLIR.

---------

Co-authored-by: Markus Böck <markus.boeck02 at gmail.com>
Co-authored-by: Christian Ulmann <christianulmann at gmail.com>


  Commit: 7788ef4be19fdbcd0c1f5ecf9f5cc52ab8b4ac1e
      https://github.com/llvm/llvm-project/commit/7788ef4be19fdbcd0c1f5ecf9f5cc52ab8b4ac1e
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp

  Log Message:
  -----------
  [AArch64][SME2] Remove IsPreservesZA from ldr_zt builtin (#74303)


  Commit: 72c6ca694384744225bbfcbd899602848e46e8ff
      https://github.com/llvm/llvm-project/commit/72c6ca694384744225bbfcbd899602848e46e8ff
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/Writer.cpp
    M lld/test/COFF/Inputs/loadconfig-arm64ec.s
    A lld/test/COFF/pdata-arm64ec.test

  Log Message:
  -----------
  [lld][COFF] Support .pdata section on ARM64EC targets. (#72521)

ARM64EC needs to handle both ARM and x86_64 exception tables. This is
achieved by separating their chunks and sorting them separately.
EXCEPTION_TABLE directory references x86_64 variant, while ARM variant
is exposed using CHPE metadata, which references
__arm64x_extra_rfe_table and __arm64x_extra_rfe_table_size symbols.


  Commit: 40381d12640932a4e8185d18e5a0da84b4e449c0
      https://github.com/llvm/llvm-project/commit/40381d12640932a4e8185d18e5a0da84b4e449c0
  Author: Samira Bazuzi <bazuzi at users.noreply.github.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Re-land: Retrieve members from accessors called usi… (#74336)

…ng member pointers.

This initially landed with a broken test due to a mid-air collision with
a new requirement for Environment initialization before field modeling.
Have added that initialization in the test.

>From first landing:

getMethodDecl does not handle pointers to members and returns nullptr
for them. getMethodDecl contains a decade-plus-old FIXME to handle
pointers to members, but two approaches I looked at for fixing it are
more invasive or complex than simply swapping to getCalleeDecl.

The first, have getMethodDecl call getCalleeDecl, creates a large tree
of const-ness mismatches due to getMethodDecl returning a non-const
value while being a const member function and getCalleeDecl only being a
const member function when it returns a const value.

The second, implementing an AST walk to match how
CXXMemberCallExpr::getImplicitObjectArgument grabs the LHS of the binary
operator, is basically reimplementing Expr::getReferencedDeclOfCallee,
which is used by Expr::getCalleeDecl. We don't need another copy of that
code.


  Commit: b21175258b9a9a930acddef8ebc911e39095a436
      https://github.com/llvm/llvm-project/commit/b21175258b9a9a930acddef8ebc911e39095a436
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    A llvm/test/Transforms/LoopRotate/delete-dbg-values.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Avoid crash and output-difference in loop-rotate (#74093)

Avoid editing a range of DPValues and then remapping them. This occurs
when we try to de-duplicate dbg.values, but then re-use the same
iterator range. We can instead remap them, and then erase any
duplicates.

At the same time refactor the computation of seen-intrinsic hashes, and
account for a peculiarity of loop-rotates existing behaviour: it will
only deduplicate dbg.values that are immediately before the preheaders
branch instruction, not just any dbg.value in the preheader.


  Commit: 77249546aa5114b36734123fe5bb65310e516aea
      https://github.com/llvm/llvm-project/commit/77249546aa5114b36734123fe5bb65310e516aea
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M .github/workflows/new-prs.yml
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [GitHub] Add greeting comment to opened PRs from new contributors (#72384)

This includes some commonly needed information like how to add
reviewers.

This is implemented as a job before the labeler, so that on a new PR the
comment is added before there are any subscribers and only the author
gets a nofitication.

The labeler job depends on the greeter having run or having been
skipped. So if the PR wasn't just opened, or it's from a regular
contributor, the labeling still happens.

But we can be sure that when a greeting comment is left, it's the very
first thing we do.


  Commit: 17de468df1af6479f31bb8c02973e01702f7b240
      https://github.com/llvm/llvm-project/commit/17de468df1af6479f31bb8c02973e01702f7b240
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    A mlir/test/Target/LLVMIR/Import/target-features.ll
    M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
    A mlir/test/Target/LLVMIR/target-features.mlir

  Log Message:
  -----------
  [mlir][llvm] Add llvm.target_features features attribute (#71510)

This patch adds a target_features (TargetFeaturesAttr) to the LLVM
dialect to allow setting and querying the features in use on a function.

The motivation for this comes from the Arm SME dialect where we would
like a convenient way to check what variants of an operation are
available based on the CPU features.

Intended usage:

The target_features attribute is populated manually or by a pass:

```mlir
func.func @example() attributes {
   target_features = #llvm.target_features<["+sme", "+sve", "+sme-f64f64"]>
} {
 // ...
}
```

Then within a later rewrite the attribute can be checked, and used to
make lowering decisions.

```c++
// Finds the "target_features" attribute on the parent
// FunctionOpInterface.
auto targetFeatures = LLVM::TargetFeaturesAttr::featuresAt(op);

// Check a feature.
// Returns false if targetFeatures is null or the feature is not in
// the list.
if (!targetFeatures.contains("+sme-f64f64"))
    return failure();
```

For now, this is rather simple just checks if the exact feature is in
the list, though it could be possible to extend with implied features
using information from LLVM.


  Commit: 13da9a58c5c823eeda6af125ef6df9d8b0748bd2
      https://github.com/llvm/llvm-project/commit/13da9a58c5c823eeda6af125ef6df9d8b0748bd2
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/Target/LLVMIR/llvmir-invalid.mlir

  Log Message:
  -----------
  [mlir][llvm] Fix verifier for const int and dense (#74340)

Continuation of https://github.com/llvm/llvm-project/pull/74247 to fix
https://github.com/llvm/llvm-project/issues/56962. Fixes verifier for
(Integer Attr):
```mlir
llvm.mlir.constant(1 : index) : f32
```
and (Dense Attr):
```mlir
llvm.mlir.constant(dense<100.0> : vector<1xf64>) : f32
```

## Integer Attr

The addition that this PR makes to `LLVM::ConstantOp::verify` is meant
to be exactly verifying the code in
`mlir::LLVM::detail::getLLVMConstant`:


https://github.com/llvm/llvm-project/blob/9f78edbd20ed922cced9482f7791deb9899a6d82/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp#L350-L353

One failure mode is when the `type` (`llvm.mlir.constant(<value>) :
<type>`) is not an `Integer`, because then the `cast` in
`getIntegerBitWidth` will crash:


https://github.com/llvm/llvm-project/blob/dca432cb7b1c282f5dc861095813c4f40f109619/llvm/include/llvm/IR/DerivedTypes.h#L97-L99

So that's now caught in the verifier.

Apart from that, I don't see anything we could check for. `sextOrTrunc`
means "Sign extend or truncate to width" and that one is quite
permissive. For example, the following doesn't have to be caught in the
verifier as it doesn't crash during `mlir-translate -mlir-to-llvmir`:

```mlir
llvm.func @main() -> f32 {
  %cst = llvm.mlir.constant(100 : i64) : f32
  llvm.return %cst : f32
}
```

## Dense Attr

Crash if not either a MLIR Vector type or one of these:


https://github.com/llvm/llvm-project/blob/9f78edbd20ed922cced9482f7791deb9899a6d82/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp#L375-L391


  Commit: 58dcac3948e8c9e0f24eb57fb6014366b75b2095
      https://github.com/llvm/llvm-project/commit/58dcac3948e8c9e0f24eb57fb6014366b75b2095
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/store-swift-async-context-clobber-live-reg.ll

  Log Message:
  -----------
  [AArch64] Check X16&X17 in prologue if the fn has an SwiftAsyncContext. (#73945)

StoreSwiftAsyncContext clobbers X16 & X17. Make sure they are available
in canUseAsPrologue, to avoid shrink wrapping moving the pseudo to a
place where X16 or X17 are live.


  Commit: 7931426e21753ad330e710148bb291e6fdff1dab
      https://github.com/llvm/llvm-project/commit/7931426e21753ad330e710148bb291e6fdff1dab
  Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir

  Log Message:
  -----------
  [mlir][nfc] Add missing comment in a test


  Commit: 600c12987e17d8be174bb4e4cd95244c598676e6
      https://github.com/llvm/llvm-project/commit/600c12987e17d8be174bb4e4cd95244c598676e6
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Reverse order of DPValues from findDbgUsers (#74099)

The order of dbg.value intrinsics appearing in the output can affect the
order of tables in DWARF sections. This means that DPValues, our
dbg.value replacement, needs to obey the same ordering rules. For
dbg.values returned by findDbgUsers it's reverse order of creation (due
to how they're put on use-lists). Produce that order from findDbgUsers
for DPValues.

I've got a few IR files where the order of dbg.values flips, but it's a
fragile test -- ultimately it needs the number of times a DPValue is
handled by findDbgValues to be odd.


  Commit: ecf881838045985f381003cc27569c73a207d0cc
      https://github.com/llvm/llvm-project/commit/ecf881838045985f381003cc27569c73a207d0cc
  Author: Valery Pykhtin <valery.pykhtin at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/regpressure_printer.mir

  Log Message:
  -----------
  [AMDGPU] Presubmit test: max register pressure on defs. (#74424)

Upcoming patch #74422.


  Commit: dd04e183045f9fb2fb2322df4d623b60c0942850
      https://github.com/llvm/llvm-project/commit/dd04e183045f9fb2fb2322df4d623b60c0942850
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/fold-pcmpeqd-2.ll

  Log Message:
  -----------
  [X86]fold-pcmpeqd-2.ll - replace X32 check prefix with X86

We use X32 for gnux32 triples - X86 should be used for 32-bit triples


  Commit: 21b986637b950bb1762a38201223d62c4bca0dce
      https://github.com/llvm/llvm-project/commit/21b986637b950bb1762a38201223d62c4bca0dce
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libc/test/src/__support/memory_size_test.cpp

  Log Message:
  -----------
  [libc] Fix arm32 tests (#74457)

`ASSERT_EQ` requires that both operands have the same type but on arm32
`size_t` is `unsigned int` instead of `unsigned long`. Using `size_t`
explicitely to avoid "conflicting types for parameter 'ValType"


  Commit: eecb99c5f66c8491766628a2925587e20f3b1dbd
      https://github.com/llvm/llvm-project/commit/eecb99c5f66c8491766628a2925587e20f3b1dbd
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/test/Analysis/CostModel/X86/interleaved-load-half.ll
    M llvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll
    M llvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll
    M llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll
    M llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
    M llvm/test/Analysis/DependenceAnalysis/GCD.ll
    M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
    M llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll
    M llvm/test/Analysis/ScalarEvolution/nsw-offset.ll
    M llvm/test/Analysis/ScalarEvolution/sext-mul.ll
    M llvm/test/CodeGen/AArch64/aarch64-sched-store.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/smlad0.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/smlad11.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/smladx-1.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/smlald0.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/smlald2.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/smlaldx-1.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/smlaldx-2.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/unroll-n-jam-smlad.ll
    M llvm/test/CodeGen/ARM/dsp-loop-indexing.ll
    M llvm/test/CodeGen/ARM/fpclamptosat.ll
    M llvm/test/CodeGen/ARM/loop-indexing.ll
    M llvm/test/CodeGen/ARM/shifter_operand.ll
    M llvm/test/CodeGen/Hexagon/autohvx/interleave.ll
    M llvm/test/CodeGen/PowerPC/rematerializable-instruction-machine-licm.ll
    M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
    M llvm/test/CodeGen/SystemZ/vec-load-element.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
    M llvm/test/CodeGen/Thumb2/mve-tailpred-loopinvariant.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-vla.ll
    M llvm/test/CodeGen/WebAssembly/unrolled-mem-indices.ll
    M llvm/test/CodeGen/X86/2008-08-06-CmpStride.ll
    M llvm/test/CodeGen/X86/MergeConsecutiveStores.ll
    M llvm/test/CodeGen/X86/avx512vnni-combine.ll
    M llvm/test/CodeGen/X86/avxvnni-combine.ll
    M llvm/test/CodeGen/X86/loop-strength-reduce4.ll
    M llvm/test/CodeGen/X86/lsr-addrecloops.ll
    M llvm/test/CodeGen/X86/lsr-loop-exit-cond.ll
    M llvm/test/CodeGen/X86/merge_store.ll
    M llvm/test/CodeGen/X86/optimize-max-0.ll
    M llvm/test/CodeGen/X86/unused_stackslots.ll
    M llvm/test/Transforms/IRCE/stride_more_than_1.ll
    M llvm/test/Transforms/IndVarSimplify/ashr-tripcount.ll
    M llvm/test/Transforms/IndVarSimplify/lcssa-preservation.ll
    M llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
    M llvm/test/Transforms/IndVarSimplify/pr58702-invalidate-scev-when-replacing-congruent-phis.ll
    M llvm/test/Transforms/IndVarSimplify/pr64891.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/complex-index.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/extended-index.ll
    M llvm/test/Transforms/LoopIdiom/unroll-custom-dl.ll
    M llvm/test/Transforms/LoopIdiom/unroll.ll
    M llvm/test/Transforms/LoopInterchange/pr57148.ll
    M llvm/test/Transforms/LoopReroll/basic32iters.ll
    M llvm/test/Transforms/LoopReroll/indvar_with_ext.ll
    M llvm/test/Transforms/LoopReroll/reduction.ll
    M llvm/test/Transforms/LoopReroll/reroll_with_dbg.ll
    M llvm/test/Transforms/LoopStrengthReduce/ARM/complexity.ll
    M llvm/test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/ivchain-X86.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/missing-phi-operand-update.ll
    M llvm/test/Transforms/LoopUnroll/X86/high-cost-expansion.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-masked-group.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/pr39099.ll
    M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
    M llvm/test/Transforms/LoopVectorize/unroll_nonlatch.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
    M llvm/test/Transforms/SLPVectorizer/NVPTX/v2f16.ll
    M llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll
    M llvm/test/Transforms/SLPVectorizer/X86/consecutive-access.ll
    M llvm/test/Transforms/SLPVectorizer/X86/hoist.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal.ll
    M llvm/test/Transforms/SLPVectorizer/X86/in-tree-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/loopinvariant.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_horcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_not_all_parts.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scheduling.ll
    M llvm/test/Transforms/SLPVectorizer/X86/simple-loop.ll
    M llvm/test/Transforms/SLPVectorizer/X86/slp-throttle.ll

  Log Message:
  -----------
  [Tests] Add disjoint flag to some tests (NFC)

These tests rely on SCEV looking recognizing an "or" with no common
bits as an "add". Add the disjoint flag to relevant or instructions
in preparation for switching SCEV to use the flag instead of the
ValueTracking query. The IR with disjoint flag matches what
InstCombine would produce.


  Commit: 0626cedb17555ee003bec7588c7b3d51353793a2
      https://github.com/llvm/llvm-project/commit/0626cedb17555ee003bec7588c7b3d51353793a2
  Author: Samuel Tebbs <samuel.tebbs at arm.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c

  Log Message:
  -----------
  [clang][NFC] Replace ARM_STREAMING_ATTR in tests with SME streaming attribute

Some tests were testing SME builtins before the streaming attributes
existed, and so either inserted them or not depending on a macro
definition. The intention was for the macro to be defined once the
attributes were added to clang, but it never was defined. This change
removes the macro logic and adds the attribute now that they have been
added to clang.


  Commit: 17168f7f786b051dd4737a576ba371742a29894d
      https://github.com/llvm/llvm-project/commit/17168f7f786b051dd4737a576ba371742a29894d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M polly/test/CodeGen/MemAccess/create_arrays_heap.ll
    M polly/test/ForwardOpTree/out-of-quota1.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll
    M polly/test/ScopInfo/multi-scop.ll

  Log Message:
  -----------
  [Polly] Add disjoint flag to some tests (NFC)


  Commit: cd865e36dbc0b1778739348ac9a25eb18b5c5c16
      https://github.com/llvm/llvm-project/commit/cd865e36dbc0b1778739348ac9a25eb18b5c5c16
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll

  Log Message:
  -----------
  [InstCombine] Use disjoint flag instead of haveNoCommonBitsSet()

Slightly stronger, if disjoint was inferred earlier with information
that is no longer available.


  Commit: 186695929db632b057334757923d1cab1aa395ca
      https://github.com/llvm/llvm-project/commit/186695929db632b057334757923d1cab1aa395ca
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/IR/Instruction.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Cope with instructions moving after themselves (#74113)

We occasionally move instructions to their own positions, which is not
an error, and has no effect on the program. However, if dbg.value
intrinsics are present then they can effectively be moved without any
other effect on the program.

This is a problem if we're using non-instruction debug-info: a moveAfter
that appears to be a no-op in RemoveDIs mode can jump in front of
intrinsics in dbg.value mode. Thus: if an instruction is moved to itself
and the head bit is set, force attached debug-info to shift down one
instruction, which replicates the dbg.value behaviour.


  Commit: e4710872e98a931c6d5e89bc965b778746ead2c0
      https://github.com/llvm/llvm-project/commit/e4710872e98a931c6d5e89bc965b778746ead2c0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/add.ll

  Log Message:
  -----------
  [InstCombine] Use disjoint flag in add of or fold

Use disjoint instead of haveNoCommonBitsSet(), which is slightly
stronger in case the information used to infer disjoint has been
lost.

Introduce the m_DisjointOr() matcher to make handling cases like
this cleaner.


  Commit: c27de23b27dae50c5f49ad9fd69ddac9410a3e6e
      https://github.com/llvm/llvm-project/commit/c27de23b27dae50c5f49ad9fd69ddac9410a3e6e
  Author: Dominik Wójt <dominik.wojt at arm.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp

  Log Message:
  -----------
  [libc++] tests with picolibc: Fix expected error message (#74452)

Newlib's strerror function returns an empty string for unknown errnum
values as described in [1].

[1]: https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/string/strerror.c;hb=HEAD


  Commit: 94708fbc0fa06b18c9b263ecb78d20a95a194e7f
      https://github.com/llvm/llvm-project/commit/94708fbc0fa06b18c9b263ecb78d20a95a194e7f
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/test/CXX/drs/dr6xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Fill in historical data on when C++ DRs 600-699 were fixed


  Commit: 4ea268d831a79a1e466a126e4188b3a3b8615777
      https://github.com/llvm/llvm-project/commit/4ea268d831a79a1e466a126e4188b3a3b8615777
  Author: Baodi <lwshanbd at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_private_codegen.cpp
    A clang/test/OpenMP/simd_private_taskloop_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp

  Log Message:
  -----------
  [Clang][OpenMP] Fix private variables registration in `simd` (#74105)

Fix #69214 
In `emitOMPSimdRegion`, the `EmitOMPPrivateLoopCounters` should be after
`EmitOMPPrivateClause`.
If not, the private variables will be registered too early, which is not
allowed by `EmitOMPPrivateClause`.


  Commit: 056367bb1933d8484463489dc9af0b1dce0c14a9
      https://github.com/llvm/llvm-project/commit/056367bb1933d8484463489dc9af0b1dce0c14a9
  Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [LV]Support dropping of nneg flag for zext widencast recipes. (#74112)

Compiler crashes when the assertion triggered for zext nneg instruction,
that checks that the instruction cannot produce poison. Changed the base
class for widencast recipe to handle dropping nneg flag to avoid
compiler crash.


  Commit: 410bf5e1425432e49a46d3c4b7962b747a976c85
      https://github.com/llvm/llvm-project/commit/410bf5e1425432e49a46d3c4b7962b747a976c85
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/mul.ll

  Log Message:
  -----------
  [InstCombine] Use disjoint flag in mul of or fold

Slightly more powerful if the information used to infer disjoint
was lost.


  Commit: 164c204a19f7859d570003d4c5e82faf48cb65a9
      https://github.com/llvm/llvm-project/commit/164c204a19f7859d570003d4c5e82faf48cb65a9
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
    M libcxx/test/std/containers/views/mdspan/ConvertibleToIntegral.h
    M libcxx/test/std/numerics/rand/rand.device/ctor.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.comparison/equal.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.comparison/greater.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.comparison/greater_equal.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.comparison/less.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.comparison/less_equal.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.comparison/not_equal.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp
    M libcxx/test/support/test_macros.h

  Log Message:
  -----------
  [libc++][test] Fix simple warnings (#74186)

Found while running libc++'s tests with MSVC's STL. This fixes 3 kinds of warnings:

- Add void-casts to fix `-Wunused-variable` warnings.
- Avoid sign/truncation warnings in `ConvertibleToIntegral.h`.
- Add `TEST_STD_AT_LEAST_23_OR_RUNTIME_EVALUATED` to avoid mixing preprocessor 
  and runtime tests.
- Cleanup: Add `TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED` for
  consistency.


  Commit: 9e4210faf20014bf8637040b2231cbcd83c38ddd
      https://github.com/llvm/llvm-project/commit/9e4210faf20014bf8637040b2231cbcd83c38ddd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/RISCV/vararg.ll

  Log Message:
  -----------
  [RISCV] Use iXLen for ptr<->int casts in vararg.ll (#74426)

Also use ABI alignment for ptr sized objects.

This makes the code more sane and avoids only loading part of what was
stored by vastart on RV64.


  Commit: dfdedaf6dae0b4e54c64c740f8d22567447e0f8d
      https://github.com/llvm/llvm-project/commit/dfdedaf6dae0b4e54c64c740f8d22567447e0f8d
  Author: DonatNagyE <donat.nagy at ericsson.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
    M clang/test/Analysis/out-of-bounds-diagnostics.c
    M clang/test/Analysis/out-of-bounds-new.cpp
    M clang/test/Analysis/taint-diagnostic-visitor.c

  Log Message:
  -----------
  [analyzer] Switch to PostStmt callbacks in ArrayBoundV2 (#72107)

...instead of the currently used, more abstract Location callback. The
main advantage of this change is that after it the checker will check
`array[index].field` while the previous implementation ignored this
situation (because here the ElementRegion is wrapped in a FieldRegion
object). This improvement fixes PR #70187.

Note that after this change `&array[idx]` will be handled as an access
to the `idx`th element of `array`, which is technically incorrect but
matches the programmer intuitions. In my opinion it's more helpful if
the report points to the source location where the indexing happens
(instead of the location where a pointer is finally dereferenced).

As a special case, this change allows code that forms the past-the-end
pointer of an array as `&arr[size]` (but still rejects code like
`if (idx >= size) return &array[idx];` and code that dereferences a
past-the-end pointer).

In addition to this primary improvement, this change tweaks the message
for the tainted index/offset case (using the more concrete information
that's available now) and clarifies/improves a few testcases.

The main change of this commit (replacing `check::Location` with
`check::PostStmt<...>` callbacks) was already proposed in my change
https://reviews.llvm.org/D150446 and https://reviews.llvm.org/D159107 by
steakhal. Those reviews were both abandoned, but the problems that led
to abandonment were unrelated to the change that is introduced in this
PR.


  Commit: bbd1941a38fc84e7d371517db5b3dc695c31893c
      https://github.com/llvm/llvm-project/commit/bbd1941a38fc84e7d371517db5b3dc695c31893c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/LoopVectorize/preserve-or-disjoint.ll
    M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [VPlan] Add disjoint flag to VPRecipeWithIRFlags. (#74364)

A new disjoint flag was added for OR instructions in #72583. 

Update VPRecipeWithIRFlags to also support the new flag. This
allows printing and preserving the disjoint flag in vectorized code.


  Commit: a28e4eac26ccd2e17f041b8d96da93df4a2414c0
      https://github.com/llvm/llvm-project/commit/a28e4eac26ccd2e17f041b8d96da93df4a2414c0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libc/cmake/modules/prepare_libc_gpu_build.cmake

  Log Message:
  -----------
  [libc] Default to a single threaded thread pool for GPU tests (#74486)

Summary:
The GPU tests tend to fail when run massively in parallel. This is why
we use a CMake job pool to limit it to 1 in most cases. We should
default to the configuration that is most likely to work, that being a
single thread. There aren't enough GPU tests for this to be a massive
increase in test time on the bots, so we should default to what works
guaranteed.


  Commit: 3ad6d1cbe54dc06554303097cc51d590edaa1c1c
      https://github.com/llvm/llvm-project/commit/3ad6d1cbe54dc06554303097cc51d590edaa1c1c
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/forward-negative-step.ll
    A llvm/test/Analysis/LoopAccessAnalysis/print-order.ll

  Log Message:
  -----------
  [LAA] Fix incorrect dependency classification. (#70819)

As shown in #70473, the following loop was not considered safe to
vectorize. When determining the memory access dependencies in
a loop which has negative iteration step, we invert the source and
sink of the dependence. Perhaps we should just invert the operands
to getMinusSCEV(). This way the dependency is not regarded to be
true, since the users of the `IsWrite` variables, which correspond to
each of the memory accesses, rely on program order and therefore
should not be swapped.

void vectorizable_Read_Write(int *A) {
  for (unsigned i = 1022; i >= 0; i--)
    A[i+1] = A[i] + 1;
}


  Commit: 83dabd0569965cf9923ad552d030b9e87ee694c9
      https://github.com/llvm/llvm-project/commit/83dabd0569965cf9923ad552d030b9e87ee694c9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/RISCV/vararg.ll

  Log Message:
  -----------
  [RISCV] Use iXLen for ptr<->int casts in vararg.ll. NFC

Fix another test I missed in 9e4210faf20014bf8637040b2231cbcd83c38ddd


  Commit: 80fa79609e9adf0e2ccd71b9838d7fdb6ab2d07a
      https://github.com/llvm/llvm-project/commit/80fa79609e9adf0e2ccd71b9838d7fdb6ab2d07a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] combineStore - add early out for 32-bit f64 store combines. NFC.


  Commit: 71809cfc7ae2fc69b5f6a2069354e74b320ec8d3
      https://github.com/llvm/llvm-project/commit/71809cfc7ae2fc69b5f6a2069354e74b320ec8d3
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/IR/BasicBlock.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Avoid leaking trailing DPMarkers (#74458)

In the debug-info-splice implementation, we need to be careful to delete
trailing DPMarkers from blocks when we splice their contents out. This
is equivalent to removing the terminator from a block, then splicing the
rest of it's contents to another block: any DPValues trailing at the end
of the block get moved and we need to clean up afterwards.


  Commit: 58b514921f119e07d70131d779c8ec81e85dcee5
      https://github.com/llvm/llvm-project/commit/58b514921f119e07d70131d779c8ec81e85dcee5
  Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M flang/test/Evaluate/fold-nearest.f90
    M flang/test/Lower/assignment.f90
    M flang/unittests/Evaluate/real.cpp

  Log Message:
  -----------
  [flang] Run real 10 test on x86 only (NFC) (#73911)

Remove real 10 tests for powerpc

---------

Co-authored-by: Mark Danial <mark.danial at ibm.com>


  Commit: e888e83fb64679e7869ddcbc7147b6255abf6315
      https://github.com/llvm/llvm-project/commit/e888e83fb64679e7869ddcbc7147b6255abf6315
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp

  Log Message:
  -----------
  [ARM][AArch64] Use SelectionDAG::SplitScalar to simplify some code. (#74411)

We know we're splitting a type in half to two legal values. Instead of
using shift and truncate that need to be legalized, we can use two
ISD::EXTRACT_ELEMENTs.

Spotted while reviewing #67918 for RISC-V which copied this code.


  Commit: 64a9b355fea89ced300e36108d6eb5a4f0fcd93a
      https://github.com/llvm/llvm-project/commit/64a9b355fea89ced300e36108d6eb5a4f0fcd93a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll

  Log Message:
  -----------
  [RISCV] Optimize VRELOAD/VSPILL lowering if VLEN is known. (#74421)

Instead of using VLENB and a shift, load (VLEN/8)*LMUL directly into a
register. We could go further and use ADDI, but that would be more
intrusive to the code structure.

My primary goal is to remove the read of VLENB which might be expensive
if it's not optimized in hardware.


  Commit: ff0e4fb89a75ebe5f30a0292caba1ff88c8bff88
      https://github.com/llvm/llvm-project/commit/ff0e4fb89a75ebe5f30a0292caba1ff88c8bff88
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/add-like-or.ll

  Log Message:
  -----------
  [SCEV] Use or disjoint flag (#74467)

Use the disjoint flag to convert or to add instead of calling the
haveNoCommonBitsSet() ValueTracking query. This ensures that we can
reliably undo add -> or canonicalization, even in cases where the
necessary information has been lost or is too complex to reinfer in
SCEV.

I have updated the bulk of the test coverage to add the necessary
disjoint flags in advance.


  Commit: a7993faf0c085610d35c501024aaa1edb5c21346
      https://github.com/llvm/llvm-project/commit/a7993faf0c085610d35c501024aaa1edb5c21346
  Author: Jakub Mazurkiewicz <mazkuba3 at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libcxx/docs/Status/Cxx23Papers.csv

  Log Message:
  -----------
  [libc++] Mark P2017R1 as complete (#74484)

[P2017R1](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2017r1.html#wording)
appears to have been implemented in LLVM 16.0:
https://godbolt.org/z/GbcT4rjcd.


  Commit: c568927f3e2e7d9804ea74ecbf11c16c014ddcbc
      https://github.com/llvm/llvm-project/commit/c568927f3e2e7d9804ea74ecbf11c16c014ddcbc
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/lib/Basic/Targets/SystemZ.h
    A clang/test/CodeGen/SystemZ/atomic_is_lock_free.c
    A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-16Al.c
    A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
    A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i16.c
    A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i32.c
    A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i64.c
    A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i8.c
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-xchg-07.ll

  Log Message:
  -----------
  [SystemZ] Properly support 16 byte atomic int/fp types and ops. (#73134)

- Clang FE now has MaxAtomicPromoteWidth / MaxAtomicInlineWidth set to 128, and now produces IR
  instead of calls to __atomic instrinsics for 16 bytes as well.
- Atomic __int128 (and long double) variables are now aligned to 16 bytes by default (like gcc 14).
- AtomicExpand pass now expands 16 byte operations as well.
- tests for __atomic builtins for all integer widths, and __atomic_is_lock_free with friends.
- TODO: AtomicExpand pass handles with this patch expansion of i128 atomicrmw:s. As a next step
  smaller integer types should also be possible to handle this way instead of by the backend.


  Commit: 77a00c0d546cd4aa8311b5b9031ae9ea8cdb050c
      https://github.com/llvm/llvm-project/commit/77a00c0d546cd4aa8311b5b9031ae9ea8cdb050c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libcxx/docs/Contributing.rst
    M libcxx/include/__algorithm/clamp.h
    M libcxx/include/__algorithm/copy_n.h
    M libcxx/include/__algorithm/equal.h
    M libcxx/include/__algorithm/fill.h
    M libcxx/include/__algorithm/fill_n.h
    M libcxx/include/__algorithm/find_first_of.h
    M libcxx/include/__algorithm/for_each_n.h
    M libcxx/include/__algorithm/generate_n.h
    M libcxx/include/__algorithm/inplace_merge.h
    M libcxx/include/__algorithm/is_heap.h
    M libcxx/include/__algorithm/is_heap_until.h
    M libcxx/include/__algorithm/is_sorted.h
    M libcxx/include/__algorithm/is_sorted_until.h
    M libcxx/include/__algorithm/lexicographical_compare.h
    M libcxx/include/__algorithm/max.h
    M libcxx/include/__algorithm/max_element.h
    M libcxx/include/__algorithm/merge.h
    M libcxx/include/__algorithm/min.h
    M libcxx/include/__algorithm/min_element.h
    M libcxx/include/__algorithm/next_permutation.h
    M libcxx/include/__algorithm/nth_element.h
    M libcxx/include/__algorithm/partial_sort.h
    M libcxx/include/__algorithm/partial_sort_copy.h
    M libcxx/include/__algorithm/partition_point.h
    M libcxx/include/__algorithm/prev_permutation.h
    M libcxx/include/__algorithm/remove.h
    M libcxx/include/__algorithm/remove_if.h
    M libcxx/include/__algorithm/rotate.h
    M libcxx/include/__algorithm/rotate_copy.h
    M libcxx/include/__algorithm/sample.h
    M libcxx/include/__algorithm/shift_left.h
    M libcxx/include/__algorithm/shift_right.h
    M libcxx/include/__algorithm/sift_down.h
    M libcxx/include/__algorithm/stable_partition.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__compare/compare_partial_order_fallback.h
    M libcxx/include/__compare/compare_strong_order_fallback.h
    M libcxx/include/__compare/compare_three_way.h
    M libcxx/include/__compare/compare_weak_order_fallback.h
    M libcxx/include/__compare/partial_order.h
    M libcxx/include/__compare/strong_order.h
    M libcxx/include/__compare/weak_order.h
    M libcxx/include/__concepts/assignable.h
    M libcxx/include/__concepts/boolean_testable.h
    M libcxx/include/__concepts/invocable.h
    M libcxx/include/__concepts/swappable.h
    M libcxx/include/__config
    M libcxx/include/__coroutine/coroutine_handle.h
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__filesystem/directory_iterator.h
    M libcxx/include/__filesystem/filesystem_error.h
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__filesystem/recursive_directory_iterator.h
    M libcxx/include/__filesystem/u8path.h
    M libcxx/include/__format/buffer.h
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__format/formatter_integral.h
    M libcxx/include/__format/formatter_output.h
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/include/__format/write_escaped.h
    M libcxx/include/__functional/bind.h
    M libcxx/include/__functional/bind_back.h
    M libcxx/include/__functional/bind_front.h
    M libcxx/include/__functional/compose.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__functional/identity.h
    M libcxx/include/__functional/invoke.h
    M libcxx/include/__functional/not_fn.h
    M libcxx/include/__functional/operations.h
    M libcxx/include/__functional/perfect_forward.h
    M libcxx/include/__functional/ranges_operations.h
    M libcxx/include/__functional/reference_wrapper.h
    M libcxx/include/__functional/weak_result_type.h
    M libcxx/include/__hash_table
    M libcxx/include/__iterator/advance.h
    M libcxx/include/__iterator/back_insert_iterator.h
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/include/__iterator/concepts.h
    M libcxx/include/__iterator/counted_iterator.h
    M libcxx/include/__iterator/distance.h
    M libcxx/include/__iterator/front_insert_iterator.h
    M libcxx/include/__iterator/insert_iterator.h
    M libcxx/include/__iterator/istream_iterator.h
    M libcxx/include/__iterator/iter_swap.h
    M libcxx/include/__iterator/next.h
    M libcxx/include/__iterator/ostream_iterator.h
    M libcxx/include/__iterator/prev.h
    M libcxx/include/__iterator/reverse_access.h
    M libcxx/include/__iterator/wrap_iter.h
    M libcxx/include/__locale
    M libcxx/include/__locale_dir/locale_base_api/locale_guard.h
    M libcxx/include/__memory/allocation_guard.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/allocator_arg_t.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/builtin_new_allocator.h
    M libcxx/include/__memory/pointer_traits.h
    M libcxx/include/__memory/ranges_construct_at.h
    M libcxx/include/__memory/ranges_uninitialized_algorithms.h
    M libcxx/include/__memory/raw_storage_iterator.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/swap_allocator.h
    M libcxx/include/__memory/temporary_buffer.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__memory/voidify.h
    M libcxx/include/__mutex/once_flag.h
    M libcxx/include/__node_handle
    M libcxx/include/__numeric/accumulate.h
    M libcxx/include/__numeric/adjacent_difference.h
    M libcxx/include/__numeric/exclusive_scan.h
    M libcxx/include/__numeric/gcd_lcm.h
    M libcxx/include/__numeric/inclusive_scan.h
    M libcxx/include/__numeric/inner_product.h
    M libcxx/include/__numeric/midpoint.h
    M libcxx/include/__numeric/partial_sum.h
    M libcxx/include/__numeric/reduce.h
    M libcxx/include/__numeric/transform_inclusive_scan.h
    M libcxx/include/__numeric/transform_reduce.h
    M libcxx/include/__random/binomial_distribution.h
    M libcxx/include/__random/cauchy_distribution.h
    M libcxx/include/__random/discard_block_engine.h
    M libcxx/include/__random/discrete_distribution.h
    M libcxx/include/__random/exponential_distribution.h
    M libcxx/include/__random/extreme_value_distribution.h
    M libcxx/include/__random/gamma_distribution.h
    M libcxx/include/__random/independent_bits_engine.h
    M libcxx/include/__random/lognormal_distribution.h
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/include/__random/normal_distribution.h
    M libcxx/include/__random/piecewise_constant_distribution.h
    M libcxx/include/__random/piecewise_linear_distribution.h
    M libcxx/include/__random/poisson_distribution.h
    M libcxx/include/__random/seed_seq.h
    M libcxx/include/__random/shuffle_order_engine.h
    M libcxx/include/__random/student_t_distribution.h
    M libcxx/include/__random/subtract_with_carry_engine.h
    M libcxx/include/__random/uniform_real_distribution.h
    M libcxx/include/__random/weibull_distribution.h
    M libcxx/include/__split_buffer
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__thread/thread.h
    M libcxx/include/__threading_support
    M libcxx/include/__tree
    M libcxx/include/__type_traits/invoke.h
    M libcxx/include/__type_traits/is_nothrow_constructible.h
    M libcxx/include/__type_traits/is_nothrow_convertible.h
    M libcxx/include/__utility/cmp.h
    M libcxx/include/__utility/exchange.h
    M libcxx/include/__utility/swap.h
    M libcxx/include/__utility/to_underlying.h
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/barrier
    M libcxx/include/bitset
    M libcxx/include/complex
    M libcxx/include/condition_variable
    M libcxx/include/deque
    M libcxx/include/experimental/__config
    M libcxx/include/experimental/__memory
    M libcxx/include/experimental/iterator
    M libcxx/include/experimental/propagate_const
    M libcxx/include/ext/hash_map
    M libcxx/include/ext/hash_set
    M libcxx/include/forward_list
    M libcxx/include/fstream
    M libcxx/include/future
    M libcxx/include/iomanip
    M libcxx/include/ios
    M libcxx/include/istream
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/locale
    M libcxx/include/map
    M libcxx/include/mutex
    M libcxx/include/new
    M libcxx/include/optional
    M libcxx/include/ostream
    M libcxx/include/queue
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/set
    M libcxx/include/shared_mutex
    M libcxx/include/span
    M libcxx/include/sstream
    M libcxx/include/stack
    M libcxx/include/stdexcept
    M libcxx/include/streambuf
    M libcxx/include/string_view
    M libcxx/include/strstream
    M libcxx/include/tuple
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/valarray
    M libcxx/include/variant
    M libcxx/src/chrono.cpp
    M libcxx/src/include/to_chars_floating_point.h
    M libcxx/src/ios.cpp
    M libcxx/src/iostream.cpp
    M libcxx/src/locale.cpp
    M libcxx/src/regex.cpp
    M libcxx/src/std_stream.h
    M libcxx/src/strstream.cpp
    M libcxx/src/support/win32/thread_win32.cpp
    M libcxx/src/vector.cpp

  Log Message:
  -----------
  [libc++] Replace uses of _VSTD:: by std:: (#74331)

As part of the upcoming clang-formatting of libc++, this patch performs
the long desired removal of the _VSTD macro.

See https://discourse.llvm.org/t/rfc-clang-formatting-all-of-libc-once-and-for-all
for the clang-format proposal.


  Commit: 953ac952eb17ef3a370699958f760ee81acdbe1a
      https://github.com/llvm/llvm-project/commit/953ac952eb17ef3a370699958f760ee81acdbe1a
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libcxx/include/array

  Log Message:
  -----------
  [libc++][NFC] Use aliases instead of typedefs in std::array (#74491)

As requested in https://github.com/llvm/llvm-project/pull/74482.


  Commit: 34cdc913214fd9561b6ec8d535bd3d0313772cb5
      https://github.com/llvm/llvm-project/commit/34cdc913214fd9561b6ec8d535bd3d0313772cb5
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp

  Log Message:
  -----------
  [NFC][DebugInfo][RemoveDIs] Use iterators to insert in callsite-splitting (#74455)

This patch gets call site splitting to use iterators for insertion
rather than instruction pointers. When we switch on non-instr debug-info
this becomes significant, as the iterators are going to signal whether
or not a position is before or after debug-info.

NFC as this isn't going to affect the output of any existing test.


  Commit: f1db578f0d0f9d83f8b8b88d92ad5397377a74b2
      https://github.com/llvm/llvm-project/commit/f1db578f0d0f9d83f8b8b88d92ad5397377a74b2
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_copy.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_copy_if.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_if.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.merge.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way_comp.pass.cpp
    M libcxx/test/std/containers/from_range_helpers.h
    M libcxx/test/std/containers/views/views.span/span.cons/iterator_sentinel.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/compare.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/decrement.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/deref.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/increment.pass.cpp

  Log Message:
  -----------
  [libc++][test] Fix assumptions that `std::array` iterators are pointers (#74430)

Found while running libc++'s tests with MSVC's STL, where `std::array`
iterators are never pointers.

Most of these changes are reasonably self-explanatory (the `std::array`s
are right there, and the sometimes-slightly-wrapped raw pointer types
are a short distance away). A couple of changes are less obvious:

In `libcxx/test/std/containers/from_range_helpers.h`, `wrap_input()` is
called with `Iter` types that are constructible from raw pointers. It's
also sometimes called with an `array` as the `input`, so the first
overload was implicitly assuming that `array` iterators are pointers. We
can fix this assumption by providing a dedicated overload for `array`,
just like the one for `vector` immediately below. Finally,
`from_range_helpers.h` should explicitly include both `<array>` and
`<vector>`, even though they were apparently being dragged in already.

In `libcxx/test/std/containers/views/views.span/span.cons/iterator_sentinel.pass.cpp`,
fix `throw_operator_minus`. The error was pretty complicated, caused by
the concepts machinery noticing that `value_type` and `element_type`
were inconsistent. In the template instantiation context, you can see
the critical detail that `throw_operator_minus<std::_Array_iterator>` is
being formed.

Fortunately, the fix is extremely simple. To produce `element_type`
(which retains any cv-qualification, unlike `value_type`), we shouldn't
attempt to `remove_pointer` with the iterator type `It`. Instead, we've
already obtained the `reference` type, so we can `remove_reference_t`.
(This is modern code, where we have access to the alias templates, so I
saw no reason to use the older verbose form.)


  Commit: 323451ab88866c42c87971cbc670771bd0d48692
      https://github.com/llvm/llvm-project/commit/323451ab88866c42c87971cbc670771bd0d48692
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/test/CodeGen/X86/code-model-elf-sections.ll

  Log Message:
  -----------
  [X86] Set SHF_X86_64_LARGE for globals with explicit well-known large section name (#74381)

Globals marked with the .lbss/.ldata/.lrodata should automatically be
treated as large.
Do this regardless of the code model for consistency when mixing object
files compiled with different code models.

Basically the other half of #70748.

Example in the wild:
https://codebrowser.dev/qt5/qtbase/src/testlib/qtestcase.cpp.html#1664


  Commit: 4e0275a2c8f7f94cc1aacf4803fc827fad8f56d4
      https://github.com/llvm/llvm-project/commit/4e0275a2c8f7f94cc1aacf4803fc827fad8f56d4
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/arc-exceptions.m
    M clang/test/Driver/arm-arch-darwin.c
    M clang/test/Frontend/darwin-eabi.c

  Log Message:
  -----------
  [Driver] Mark -arch as TargetSpecific (#74365)

`-arch` is a Darwin-specific option that is ignored for other targets
and not known by GCC.
```
% clang -arch arm64 -c a.c
clang: warning: argument unused during compilation: '-arch arm64' [-Wunused-command-line-argument]
```

We are utilizing TargetSpecific (from https://reviews.llvm.org/D151590)
to make more options lead to errors for unsupported targets.


  Commit: 5ad3a32c79319b0721cb26398946b9a59b50d264
      https://github.com/llvm/llvm-project/commit/5ad3a32c79319b0721cb26398946b9a59b50d264
  Author: Juergen Ributzka <juergen at ributzka.de>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    A clang/include/clang/Basic/DebugOptions.def
    M clang/include/module.modulemap
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/ClangScanDeps/strip-codegen-args.m

  Log Message:
  -----------
  [clang][modules] Reset codegen options (take 2). (#74388)

CodeGen options do not affect the AST, so they usually can be ignored.
The only exception to the rule is when a PCM is created with
`-gmodules`.
In that case the Clang module format is switched to object file
container and contains also serialized debug information that can be
affected by debug options. There the following approach was choosen:

1.) Split out all the debug options into a separate `DebugOptions.def`
    file. The file is included by `CodeGenOptions.def`, so the change is
    transparent to all existing users of `CodeGenOptions.def`.
2.) Reset all CodeGen options, but excluding affecting debug options.
3.) Conditionally reset debug options that can affect the PCM.

This fixes rdar://113135909.


  Commit: 2a95d47ed53e959017c345860df80898699cefb5
      https://github.com/llvm/llvm-project/commit/2a95d47ed53e959017c345860df80898699cefb5
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/IR/BasicBlock.cpp

  Log Message:
  -----------
  [DebugInfo] Follow up to 34cdc91321 to fix a crash

We're removing trailing debug-records at the correct time, but from the
wrong block. Broken the iterators buildbot:

  https://lab.llvm.org/buildbot/#/builders/275/builds/1889


  Commit: 67f9b5ae7d7a256a547d97386d67e9a55fc3fe6a
      https://github.com/llvm/llvm-project/commit/67f9b5ae7d7a256a547d97386d67e9a55fc3fe6a
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M flang/include/flang/Lower/ConvertExprToHLFIR.h
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/test/Fir/dispatch.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/dispatch.f90
    M flang/test/Lower/nullify-polymorphic.f90

  Log Message:
  -----------
  [flang] Fix issue with lookup in the binding table (#74416)

This patch is fixing two issue relative to the dynamic dispatch for
polymorphic entities.

1. Fix the `requireDispatchCall` function. It was checking for the first
symbol of the component but this is not the one to be checked. Instead
the last symbol of the base of the component object is the one to check
to know if it is polymorphic object with a dispatch call or not. This is
demonstrated in the new added test in `flang/test/Lower/dispatch.f90`
where the first symbol would point to `q` which is monomorphic and would
result in a simple `fir.call`
2. Fix the pass object in a no pass situation. In a no pass situation
the pass object is lowered anyway to be able to do the lookup in the
binding table. It was previously lowered wrongly an lead to unresolved
lookup. The base of the component is the passed object and should be
lowered. To achieve this, the `gen(DataRef)` entry point is exposed form
`ConvertExprToHLFIR` through a `convertDataRefToValue` function. The
same test added in `flang/test/Lower/dispatch.f90` is checking for the
correct passed object.

In addition couple of tests were updated to HLFIR since the lowering
used only works with it.


  Commit: 86e99e11e50da254ddaf73fbb9ea24028756bdd7
      https://github.com/llvm/llvm-project/commit/86e99e11e50da254ddaf73fbb9ea24028756bdd7
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libc/docs/dev/undefined_behavior.rst
    M libc/src/__support/HashTable/CMakeLists.txt
    M libc/src/__support/HashTable/bitmask.h
    M libc/src/__support/HashTable/generic/bitmask_impl.inc
    M libc/src/__support/HashTable/sse2/bitmask_impl.inc
    M libc/src/__support/HashTable/table.h
    M libc/src/search/CMakeLists.txt
    M libc/src/search/hcreate.cpp
    M libc/src/search/hdestroy.cpp
    M libc/src/search/hsearch.cpp
    M libc/src/search/hsearch_r.cpp
    M libc/test/src/__support/HashTable/bitmask_test.cpp
    M libc/test/src/__support/HashTable/table_test.cpp
    M libc/test/src/search/hsearch_test.cpp

  Log Message:
  -----------
  [libc] [search] improve hsearch robustness  (#73896)

Following up the discussion at
https://github.com/llvm/llvm-project/pull/73469#discussion_r1409593911
by @nickdesaulniers.

According to FreeBSD implementation
(https://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/upstream-freebsd/lib/libc/stdlib/hcreate.c),
`hsearch` is able to handle the cases where the global table is not
properly initialized. To do this, FreeBSD actually allows hash table to
be dynamically resized. If the global table is uninitialized at the
first call, the table will be initialized with a minimal size; hence
subsequent insertion will be reasonable as the table grows
automatically.

This patch mimic such behaviors. More precisely, this patch introduces:

1. a full table iterator that scans each element in the table,
2. a resize routine that is automatically triggered whenever the load
factor is reached where it iterates the old table and insert the entries
into a new one,
3. more tests that cover the growth of the table.


  Commit: 31aebdd8919b7bef4bbfe1d7988708215a8b953f
      https://github.com/llvm/llvm-project/commit/31aebdd8919b7bef4bbfe1d7988708215a8b953f
  Author: James Y Knight <jyknight at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/CMakeLists.txt
    M clang/test/Frontend/sarif-diagnostics.cpp
    M llvm/utils/UpdateTestChecks/common.py

  Log Message:
  -----------
  Include LLVM_VERSION_SUFFIX in the Clang version string. (#74469)

This causes current mainline to now report "18.0.0git" instead of
"18.0.0".

Fixes #53825


  Commit: 030b8cb1561db4161b108b59044717d89026cf70
      https://github.com/llvm/llvm-project/commit/030b8cb1561db4161b108b59044717d89026cf70
  Author: Eduard Zingerman <eddyz87 at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    A clang/test/CodeGen/bpf-preserve-static-offset-arr.c
    A clang/test/CodeGen/bpf-preserve-static-offset-bitfield.c
    A clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
    A clang/test/CodeGen/bpf-preserve-static-offset-non-bpf.c
    A clang/test/CodeGen/bpf-preserve-static-offset-pai.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/Sema/bpf-attr-preserve-static-offset-warns-nonbpf.c
    A clang/test/Sema/bpf-attr-preserve-static-offset-warns.c
    A clang/test/Sema/bpf-attr-preserve-static-offset.c
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsBPF.td
    M llvm/lib/Target/BPF/BPF.h
    M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
    M llvm/lib/Target/BPF/BPFCORE.h
    M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
    A llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp
    M llvm/lib/Target/BPF/CMakeLists.txt
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-align.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-arr-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-atomic.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-2.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-type-mismatch.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-non-const.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-ptr-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-simple.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-struct-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-align.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-u8.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-simple.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-volatile.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-union-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-volatile.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-zero.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-align.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-atomic.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-2.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-simple.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-align.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-u8.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-simple.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-volatile.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-volatile.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll

  Log Message:
  -----------
  [BPF] Attribute preserve_static_offset for structs

This commit adds a new BPF specific structure attribte
`__attribute__((preserve_static_offset))` and a pass to deal with it.

This attribute may be attached to a struct or union declaration, where
it notifies the compiler that this structure is a "context" structure.
The following limitations apply to context structures:
- runtime environment might patch access to the fields of this type by
  updating the field offset;

  BPF verifier limits access patterns allowed for certain data
  types. E.g. `struct __sk_buff` and `struct bpf_sock_ops`. For these
  types only `LD/ST <reg> <static-offset>` memory loads and stores are
  allowed.

  This is so because offsets of the fields of these structures do not
  match real offsets in the running kernel. During BPF program
  load/verification loads and stores to the fields of these types are
  rewritten so that offsets match real offsets. For this rewrite to
  happen static offsets have to be encoded in the instructions.

  See `kernel/bpf/verifier.c:convert_ctx_access` function in the Linux
  kernel source tree for details.

- runtime environment might disallow access to the field of the type
  through modified pointers.

  During BPF program verification a tag `PTR_TO_CTX` is tracked for
  register values. In case if register with such tag is modified BPF
  programs are not allowed to read or write memory using register. See
  kernel/bpf/verifier.c:check_mem_access function in the Linux kernel
  source tree for details.

Access to the structure fields is translated to IR as a sequence:
- `(load (getelementptr %ptr %offset))` or
- `(store (getelementptr %ptr %offset))`

During instruction selection phase such sequences are translated as a
single load instruction with embedded offset, e.g. `LDW %ptr, %offset`,
which matches access pattern necessary for the restricted
set of types described above (when `%offset` is static).

Multiple optimizer passes might separate these instructions, this
includes:
- SimplifyCFGPass (sinking)
- InstCombine (sinking)
- GVN (hoisting)

The `preserve_static_offset` attribute marks structures for which the
following transformations happen:
- at the early IR processing stage:
  - `(load (getelementptr ...))` replaced by call to intrinsic
    `llvm.bpf.getelementptr.and.load`;
  - `(store (getelementptr ...))` replaced by call to intrinsic
    `llvm.bpf.getelementptr.and.store`;
- at the late IR processing stage this modification is undone.

Such handling prevents various optimizer passes from generating
sequences of instructions that would be rejected by BPF verifier.

The __attribute__((preserve_static_offset)) has a priority over
__attribute__((preserve_access_index)). When preserve_access_index
attribute is present preserve access index transformations are not
applied.

This addresses the issue reported by the following thread:

https://lore.kernel.org/bpf/CAA-VZPmxh8o8EBcJ=m-DH4ytcxDFmo0JKsm1p1gf40kS0CE3NQ@mail.gmail.com/T/#m4b9ce2ce73b34f34172328f975235fc6f19841b6

This is a second attempt to commit this change, previous reverted
commit is: cb13e9286b6d4e384b5d4203e853d44e2eff0f0f.
The following items had been fixed:
- test case bpf-preserve-static-offset-bitfield.c now uses
  `-triple bpfel` to avoid different codegen for little/big endian
  targets.
- BPFPreserveStaticOffset.cpp:removePAICalls() modified to avoid
  use after free for `WorkList` elements `V`.

Differential Revision: https://reviews.llvm.org/D133361


  Commit: 067bebb50f6ec3f30ca8c34117c2c964729aca58
      https://github.com/llvm/llvm-project/commit/067bebb50f6ec3f30ca8c34117c2c964729aca58
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp

  Log Message:
  -----------
  [mlir][sparse] minor refactoring of sparsification file (#74403)

Removed obsoleted TODOs and NOTEs, formatting, removed unused parameter


  Commit: 989e8f9d51e6945905b0e26148574c8e1fa88c84
      https://github.com/llvm/llvm-project/commit/989e8f9d51e6945905b0e26148574c8e1fa88c84
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp

  Log Message:
  -----------
  Revert "[NFC][DebugInfo][RemoveDIs] Use iterators to insert in callsite-splitting (#74455)"

This reverts commit 34cdc913214fd9561b6ec8d535bd3d0313772cb5.

Two buildbots say this is bad:

  https://lab.llvm.org/buildbot/#/builders/265/builds/861
  https://lab.llvm.org/buildbot/#/builders/168/builds/17272


  Commit: 3d0dd1a7d627f19ca9a7ae927bc8fa0bff1a0fdf
      https://github.com/llvm/llvm-project/commit/3d0dd1a7d627f19ca9a7ae927bc8fa0bff1a0fdf
  Author: Lang Hames <lhames at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/jit-re-dlopen-data-reset.S
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/jit-re-dlopen-trivial.S
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-jit-dlopen-nested.c
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-jit-dlopen.c
    M compiler-rt/test/orc/TestCases/Windows/x86-64/trivial-jit-dlopen.c
    M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_thumbv7_printf.s
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h

  Log Message:
  -----------
  [llvm-jitlink] Add Process and Platform JITDylibs, generalize alias option.

The Process JITDylib holds reflected process symbols. The Platform JITDylib
holds ORC runtime symbols if the ORC runtime is loaded. The Platform and
Process JITDylibs are appended to the link order of all other JITDylibs,
including the main JITDylib, after any explicitly specified libraries. This
scheme is similar to the one introduced in LLJIT in 371cb1af61d, and makes
it easier to introduce aliases for process and platform symbols in a way that
affects all JITDylibs uniformly.

Since the Process and Platform JITDylibs are created implicitly the -alias
option is generalized to allow source and destination JITDylibs to be explicitly
specified, i.e. the -alias option now supports general re-exports.

Testcases are updated to account for the change.


  Commit: 020746d1b1d0686498b7faa8b63920f61817d93a
      https://github.com/llvm/llvm-project/commit/020746d1b1d0686498b7faa8b63920f61817d93a
  Author: James Y Knight <jyknight at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Target/XCore/XCoreISelLowering.cpp
    M llvm/lib/Target/XCore/XCoreISelLowering.h
    M llvm/test/CodeGen/XCore/atomic.ll

  Log Message:
  -----------
  [XCore] Set MaxAtomicSizeInBitsSupported to 0 (#74389)

XCore does not appear to have any support for atomicrmw or cmpxchg.

This will result in all atomic operations getting expanded to __atomic_*
libcalls via AtomicExpandPass, which matches what Clang already does in
the frontend.

Additionally, remove the code which handles atomic load/store, as it
will no longer be used.


  Commit: d28194131b81809997962cfe8c472a9de2915842
      https://github.com/llvm/llvm-project/commit/d28194131b81809997962cfe8c472a9de2915842
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 030b8cb1561d


  Commit: ac12665e26b8acff4e9c3a606762b475f81a718c
      https://github.com/llvm/llvm-project/commit/ac12665e26b8acff4e9c3a606762b475f81a718c
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M .git-blame-ignore-revs
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/new-prs.yml
    R .github/workflows/sync-release-repo.yml
    M .mailmap
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/FunctionLayout.h
    M bolt/include/bolt/Passes/SplitFunctions.h
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/FunctionLayout.cpp
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/X86/Inputs/dwarf5-df-types-dup-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-types-dup-main.s
    A bolt/test/X86/cdsplit-call-scale.s
    A bolt/test/X86/cdsplit-symbol-names.s
    A bolt/test/X86/dwarf4-deleted-range.s
    A bolt/test/X86/dwarf5-deleted-range.s
    M bolt/test/X86/dwarf5-df-output-dir-same-name.test
    A bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
    M bolt/utils/llvm-bolt-wrapper.py
    M bolt/utils/nfc-stat-parser.py
    M clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.h
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.h
    M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/abseil/string-find-startswith.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/named-parameter.rst
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stddef.h
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
    M clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-enum-usage-strict.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-enum-usage.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
    M clang/CMakeLists.txt
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ClangOffloadBundler.rst
    M clang/docs/InternalsManual.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang/APINotes/APINotesManager.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
    M clang/include/clang/Analysis/FlowSensitive/RecordOps.h
    M clang/include/clang/Analysis/FlowSensitive/StorageLocation.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/BuiltinsSystemZ.def
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    A clang/include/clang/Basic/DebugOptions.def
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TargetOptions.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Driver/Multilib.h
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Format/.clang-format
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/VerifyDiagnosticConsumer.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/module.modulemap
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
    M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/Driver/Multilib.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/DragonFly.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/Format/.clang-format
    M clang/lib/Format/CMakeLists.txt
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    A clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
    A clang/lib/Format/ObjCPropertyAttributeOrderFixer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Headers/bmiintrin.h
    M clang/lib/Headers/opencl-c-base.h
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Headers/riscv_crypto.h
    M clang/lib/Headers/vecintrin.h
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Sema/OpenCLBuiltins.td
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
    M clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/bitwise-shift-common.c
    M clang/test/Analysis/out-of-bounds-diagnostics.c
    M clang/test/Analysis/out-of-bounds-new.cpp
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream.c
    M clang/test/Analysis/taint-diagnostic-visitor.c
    M clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p5-ex2.cpp
    M clang/test/CXX/drs/dr0xx.cpp
    M clang/test/CXX/drs/dr1xx.cpp
    M clang/test/CXX/drs/dr20xx.cpp
    A clang/test/CXX/drs/dr24xx.cpp
    M clang/test/CXX/drs/dr2xx.cpp
    M clang/test/CXX/drs/dr3xx.cpp
    M clang/test/CXX/drs/dr4xx.cpp
    M clang/test/CXX/drs/dr5xx.cpp
    M clang/test/CXX/drs/dr6xx.cpp
    M clang/test/CXX/module/module.interface/p2.cpp
    A clang/test/ClangScanDeps/strip-codegen-args.m
    A clang/test/ClangScanDeps/working-dir.m
    A clang/test/CodeGen/SystemZ/atomic_is_lock_free.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector2.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
    A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-16Al.c
    A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
    A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i16.c
    A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i32.c
    A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i64.c
    A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i8.c
    M clang/test/CodeGen/X86/fp-eval-method.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
    A clang/test/CodeGen/annotations-decl-use-decl.c
    A clang/test/CodeGen/annotations-decl-use-define.c
    A clang/test/CodeGen/annotations-declaration.c
    M clang/test/CodeGen/annotations-global.c
    M clang/test/CodeGen/atomic-ops.c
    A clang/test/CodeGen/bpf-preserve-static-offset-arr.c
    A clang/test/CodeGen/bpf-preserve-static-offset-bitfield.c
    A clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
    A clang/test/CodeGen/bpf-preserve-static-offset-non-bpf.c
    A clang/test/CodeGen/bpf-preserve-static-offset-pai.c
    M clang/test/CodeGen/fat-lto-objects.c
    A clang/test/CodeGen/ms-intrinsics-underaligned.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGen/stack-clash-protection.c
    A clang/test/CodeGenCXX/attr-annotate-constructor.cpp
    A clang/test/CodeGenCXX/attr-annotate-destructor.cpp
    M clang/test/CodeGenCXX/attr-annotate.cpp
    M clang/test/CodeGenCXX/debug-info-static-inline-member.cpp
    M clang/test/CodeGenCXX/debug-info-static-member.cpp
    A clang/test/CodeGenCXX/template-param-objects-address-space.cpp
    M clang/test/CodeGenCoroutines/coro-init-await-nontrivial-return.cpp
    A clang/test/CodeGenHIP/ballot.cpp
    A clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenOpenCL/sqrt-fpmath.cl
    M clang/test/Driver/arc-exceptions.m
    M clang/test/Driver/arm-arch-darwin.c
    A clang/test/Driver/baremetal-multilib-exclusive-group.yaml
    A clang/test/Driver/baremetal-multilib-group-error.yaml
    M clang/test/Driver/clang-g-opts.c
    M clang/test/Driver/clang-offload-bundler-asserts-on.c
    M clang/test/Driver/constructors.c
    M clang/test/Driver/debug-options.c
    M clang/test/Driver/fat-lto-objects.c
    M clang/test/Driver/hip-toolchain-rdc.hip
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/mcmodel.c
    M clang/test/Driver/netbsd.c
    M clang/test/Driver/netbsd.cpp
    M clang/test/Driver/riscv-features.c
    M clang/test/Driver/solaris-ld.c
    M clang/test/Driver/x86-target-features.c
    A clang/test/ExtractAPI/vfs_redirected_include.m
    M clang/test/Frontend/darwin-eabi.c
    M clang/test/Frontend/sarif-diagnostics.cpp
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/Index/initializer-memory.cpp
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/Misc/target-invalid-cpu-note.c
    A clang/test/Modules/pr72828.cppm
    A clang/test/Modules/pr73893.cppm
    M clang/test/Modules/submodules-merge-defs.cpp
    A clang/test/OpenMP/debug-info-kmpc.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/metadirective_ast_print.c
    M clang/test/OpenMP/metadirective_empty.cpp
    A clang/test/OpenMP/nothing_ast_print.cpp
    M clang/test/OpenMP/nothing_messages.cpp
    M clang/test/OpenMP/parallel_reduction_codegen.cpp
    A clang/test/OpenMP/simd_private_taskloop_codegen.cpp
    M clang/test/OpenMP/target_ast_print.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
    M clang/test/Parser/cxx2a-concepts-requires-expr.cpp
    A clang/test/ParserHLSL/hlsl_groupshared.cpp
    A clang/test/ParserHLSL/hlsl_parameter_modifiers.cpp
    M clang/test/Preprocessor/suggest-typoed-directive.c
    M clang/test/Preprocessor/x86_target_features.c
    A clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    A clang/test/Sema/bpf-attr-preserve-static-offset-warns-nonbpf.c
    A clang/test/Sema/bpf-attr-preserve-static-offset-warns.c
    A clang/test/Sema/bpf-attr-preserve-static-offset.c
    M clang/test/Sema/warn-char-subscripts.c
    A clang/test/Sema/warn-char-subscripts.cpp
    A clang/test/SemaCUDA/trivial-ctor-dtor.cu
    M clang/test/SemaCXX/builtin-dump-struct.cpp
    A clang/test/SemaCXX/cxx2c-enum-compare.cpp
    A clang/test/SemaCXX/pr72025.cpp
    M clang/test/SemaCXX/rounding-math.cpp
    M clang/test/SemaCXX/type-traits-incomplete.cpp
    A clang/test/SemaCXX/type-traits-nonobject.cpp
    A clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzleErrors.hlsl
    A clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
    A clang/test/SemaHLSL/parameter_modifiers.hlsl
    A clang/test/SemaHLSL/parameter_modifiers_ast.hlsl
    M clang/test/SemaTemplate/dependent-base-classes.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
    A clang/test/SemaTemplate/temp_arg_nontype_cxx2c.cpp
    M clang/tools/clang-format/.clang-format
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-format/clang-format-diff.py
    M clang/tools/clang-format/git-clang-format
    M clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp
    M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
    M clang/unittests/Analysis/FlowSensitive/RecordOpsTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
    M clang/unittests/Format/.clang-format
    M clang/unittests/Format/CMakeLists.txt
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestVerilog.cpp
    A clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M compiler-rt/include/sanitizer/memprof_interface.h
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/asan/asan_interceptors.h
    M compiler-rt/lib/asan/asan_internal.h
    R compiler-rt/lib/asan/asan_lock.h
    M compiler-rt/lib/asan/asan_malloc_linux.cpp
    M compiler-rt/lib/asan/asan_malloc_mac.cpp
    M compiler-rt/lib/asan/asan_rtl.cpp
    M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
    M compiler-rt/lib/memprof/memprof_allocator.cpp
    M compiler-rt/lib/memprof/memprof_interface_internal.h
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/lib/orc/macho_platform.cpp
    M compiler-rt/lib/orc/simple_packed_serialization.h
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
    M compiler-rt/lib/sanitizer_common/sanitizer_mallinfo.h
    R compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp
    R compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_fuchsia.cpp
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
    M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
    M compiler-rt/lib/scudo/standalone/wrappers_c.inc
    M compiler-rt/test/hwasan/TestCases/Linux/syscalls.cpp
    A compiler-rt/test/hwasan/TestCases/memset-recover.cpp
    M compiler-rt/test/lit.common.cfg.py
    A compiler-rt/test/memprof/TestCases/profile_reset.cpp
    M compiler-rt/test/msan/Linux/mallinfo.cpp
    A compiler-rt/test/msan/Linux/mallinfo2.cpp
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/jit-re-dlopen-data-reset.S
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/jit-re-dlopen-trivial.S
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-jit-dlopen-nested.c
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-jit-dlopen.c
    M compiler-rt/test/orc/TestCases/Windows/x86-64/trivial-jit-dlopen.c
    A compiler-rt/test/sanitizer_common/TestCases/print-stack-trace-markup.cpp
    A flang/docs/OpenACC-descriptor-management.md
    M flang/include/flang/Common/Fortran-features.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/include/flang/Frontend/CompilerInstance.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/ISO_Fortran_binding.h
    M flang/include/flang/ISO_Fortran_binding_wrapper.h
    M flang/include/flang/Lower/ConvertExpr.h
    M flang/include/flang/Lower/ConvertExprToHLFIR.h
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Lower/OpenACC.h
    M flang/include/flang/Lower/PFTBuilder.h
    M flang/include/flang/Optimizer/Analysis/TBAAForest.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
    A flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/Support/Utils.h
    A flang/include/flang/Runtime/exceptions.h
    R flang/include/flang/Runtime/ieee_arithmetic.h
    M flang/include/flang/Runtime/magic-numbers.h
    M flang/include/flang/Semantics/scope.h
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/fold-integer.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Evaluate/variable.cpp
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP.cpp
    M flang/lib/Lower/PFTBuilder.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Optimizer/Builder/Character.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
    A flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
    M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/DescriptorModel.h
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/preprocessor.h
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-directive-structure.h
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/symbol.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/module/__cuda_builtins.f90
    M flang/module/__fortran_builtins.f90
    M flang/module/__fortran_ieee_exceptions.f90
    M flang/module/__fortran_type_info.f90
    M flang/module/ieee_arithmetic.f90
    M flang/module/ieee_exceptions.f90
    M flang/module/iso_c_binding.f90
    M flang/module/iso_fortran_env.f90
    M flang/runtime/CMakeLists.txt
    M flang/runtime/character.cpp
    M flang/runtime/descriptor-io.h
    A flang/runtime/exceptions.cpp
    M flang/runtime/format-implementation.h
    M flang/runtime/random.cpp
    M flang/runtime/tools.cpp
    M flang/runtime/transformational.cpp
    M flang/runtime/unit.cpp
    A flang/test/Driver/Inputs/no_duplicate_main.ll
    A flang/test/Driver/code-object-version.f90
    M flang/test/Driver/ctofortran.f90
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    M flang/test/Driver/falias-analysis.f90
    A flang/test/Driver/frame-pointer-forwarding.f90
    M flang/test/Driver/frontend-forwarding.f90
    M flang/test/Driver/linker-flags.f90
    A flang/test/Driver/msvc-defines.f90
    A flang/test/Driver/no_duplicate_main.f90
    M flang/test/Driver/optimization-remark.f90
    M flang/test/Driver/pass-plugin-not-found.f90
    M flang/test/Driver/underscoring.f90
    M flang/test/Driver/write-module.f90
    M flang/test/Evaluate/fold-nearest.f90
    A flang/test/Fir/box-offset-codegen.fir
    A flang/test/Fir/box-offset.fir
    M flang/test/Fir/dispatch.f90
    M flang/test/Fir/external-mangling.fir
    M flang/test/Fir/invalid.fir
    A flang/test/Fir/target-rewrite-complex-10-x86.fir
    M flang/test/HLFIR/associate-codegen.fir
    M flang/test/HLFIR/call_with_poly_dummy.f90
    M flang/test/HLFIR/extents-of-shape-of.f90
    M flang/test/HLFIR/mul_transpose.f90
    A flang/test/Lower/AMD/code-object-version.f90
    M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
    M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
    M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
    M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
    M flang/test/Lower/HLFIR/associate-for-args-with-alloc-components.f90
    M flang/test/Lower/HLFIR/calls-assumed-shape.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg-polymorphic.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
    M flang/test/Lower/HLFIR/calls-f77.f90
    M flang/test/Lower/HLFIR/calls-optional.f90
    M flang/test/Lower/HLFIR/charconvert.f90
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/HLFIR/elemental-array-ops.f90
    M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
    M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
    M flang/test/Lower/HLFIR/entry_return.f90
    M flang/test/Lower/HLFIR/expr-addr.f90
    M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
    M flang/test/Lower/HLFIR/polymorphic-expressions.f90
    M flang/test/Lower/HLFIR/transformational.f90
    M flang/test/Lower/HLFIR/user-defined-assignment.f90
    M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
    A flang/test/Lower/Intrinsics/ieee_compare.f90
    A flang/test/Lower/Intrinsics/ieee_femodes.f90
    A flang/test/Lower/Intrinsics/ieee_festatus.f90
    A flang/test/Lower/Intrinsics/ieee_flag.f90
    A flang/test/Lower/Intrinsics/ieee_logb.f90
    A flang/test/Lower/Intrinsics/ieee_max_min.f90
    M flang/test/Lower/Intrinsics/ieee_unordered.f90
    M flang/test/Lower/Intrinsics/loc.f90
    M flang/test/Lower/Intrinsics/missing-math-runtime.f90
    M flang/test/Lower/Intrinsics/storage_size-2.f90
    M flang/test/Lower/OpenACC/acc-bounds.f90
    M flang/test/Lower/OpenACC/acc-data-operands.f90
    M flang/test/Lower/OpenACC/acc-enter-data.f90
    A flang/test/Lower/OpenACC/acc-loop-exit.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    M flang/test/Lower/OpenACC/acc-reduction.f90
    M flang/test/Lower/OpenMP/FIR/array-bounds.f90
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/assignment.f90
    M flang/test/Lower/dispatch.f90
    M flang/test/Lower/nullify-polymorphic.f90
    A flang/test/Preprocessing/unclosed-FLM.F90
    M flang/test/Semantics/OpenACC/acc-data.f90
    M flang/test/Semantics/OpenACC/acc-kernels-loop.f90
    M flang/test/Semantics/OpenACC/acc-kernels.f90
    M flang/test/Semantics/OpenACC/acc-loop.f90
    M flang/test/Semantics/OpenACC/acc-parallel-loop-validity.f90
    M flang/test/Semantics/OpenACC/acc-parallel.f90
    M flang/test/Semantics/OpenACC/acc-serial-loop.f90
    M flang/test/Semantics/OpenACC/acc-serial.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/copying.f90
    M flang/test/Semantics/OpenMP/threadprivate04.f90
    M flang/test/Semantics/argshape01.f90
    M flang/test/Semantics/associated.f90
    M flang/test/Semantics/cuf10.cuf
    A flang/test/Semantics/ichar01.f90
    M flang/test/Semantics/misc-intrinsics.f90
    M flang/test/Semantics/reduce01.f90
    M flang/test/Semantics/stmt-func01.f90
    M flang/test/Semantics/stmt-func02.f90
    A flang/test/Semantics/symbol33.f90
    M flang/unittests/Evaluate/real.cpp
    M flang/unittests/Runtime/Format.cpp
    M libc/cmake/modules/LLVMLibCFlagRules.cmake
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/api.td
    M libc/config/linux/app.h
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/docs/dev/api_test.rst
    M libc/docs/dev/clang_tidy_checks.rst
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/implementation_standard.rst
    M libc/docs/dev/source_tree_layout.rst
    M libc/docs/dev/undefined_behavior.rst
    M libc/docs/strings.rst
    M libc/include/CMakeLists.txt
    A libc/include/llvm-libc-types/ACTION.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/ENTRY.h
    A libc/include/llvm-libc-types/struct_hsearch_data.h
    A libc/include/search.h.def
    M libc/spec/gnu_ext.td
    M libc/spec/posix.td
    M libc/spec/spec.td
    M libc/src/CMakeLists.txt
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/CPP/bitset.h
    M libc/src/__support/CPP/limits.h
    M libc/src/__support/CPP/type_traits/invoke.h
    M libc/src/__support/CPP/utility/in_place.h
    M libc/src/__support/CPP/utility/move.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/FloatProperties.h
    M libc/src/__support/FPUtil/Hypot.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/NormalFloat.h
    M libc/src/__support/FPUtil/generic/CMakeLists.txt
    M libc/src/__support/FPUtil/generic/FMA.h
    M libc/src/__support/FPUtil/generic/FMod.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/FPUtil/x86_64/LongDoubleBits.h
    M libc/src/__support/FPUtil/x86_64/sqrt.h
    A libc/src/__support/HashTable/CMakeLists.txt
    A libc/src/__support/HashTable/bitmask.h
    A libc/src/__support/HashTable/generic/bitmask_impl.inc
    A libc/src/__support/HashTable/randomness.h
    A libc/src/__support/HashTable/sse2/bitmask_impl.inc
    A libc/src/__support/HashTable/table.h
    M libc/src/__support/UInt.h
    R libc/src/__support/bit.h
    M libc/src/__support/float_to_string.h
    A libc/src/__support/hash.h
    M libc/src/__support/integer_operations.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/integer_utils.h
    M libc/src/__support/macros/properties/CMakeLists.txt
    M libc/src/__support/macros/properties/float.h
    M libc/src/__support/macros/properties/os.h
    M libc/src/__support/math_extras.h
    A libc/src/__support/memory_size.h
    R libc/src/__support/named_pair.h
    M libc/src/__support/number_pair.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_num_result.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/math_utils.h
    M libc/src/math/generic/nexttoward.cpp
    M libc/src/math/generic/nexttowardf.cpp
    M libc/src/math/generic/nexttowardl.cpp
    M libc/src/math/generic/powf.cpp
    A libc/src/search/CMakeLists.txt
    A libc/src/search/hcreate.cpp
    A libc/src/search/hcreate.h
    A libc/src/search/hcreate_r.cpp
    A libc/src/search/hcreate_r.h
    A libc/src/search/hdestroy.cpp
    A libc/src/search/hdestroy.h
    A libc/src/search/hdestroy_r.cpp
    A libc/src/search/hdestroy_r.h
    A libc/src/search/hsearch.cpp
    A libc/src/search/hsearch.h
    A libc/src/search/hsearch/CMakeLists.txt
    A libc/src/search/hsearch/global.cpp
    A libc/src/search/hsearch/global.h
    A libc/src/search/hsearch_r.cpp
    A libc/src/search/hsearch_r.h
    M libc/src/stdio/generic/CMakeLists.txt
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/float_hex_converter.h
    M libc/src/stdlib/getenv.cpp
    M libc/src/string/memmem.cpp
    M libc/src/string/memory_utils/op_aarch64.h
    M libc/src/string/memory_utils/op_builtin.h
    M libc/src/string/memory_utils/utils.h
    M libc/startup/linux/aarch64/start.cpp
    M libc/startup/linux/riscv/start.cpp
    M libc/startup/linux/x86_64/start.cpp
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/CPP/CMakeLists.txt
    A libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    A libc/test/src/__support/HashTable/CMakeLists.txt
    A libc/test/src/__support/HashTable/bitmask_test.cpp
    A libc/test/src/__support/HashTable/group_test.cpp
    A libc/test/src/__support/HashTable/table_test.cpp
    R libc/test/src/__support/bit_test.cpp
    A libc/test/src/__support/hash_test.cpp
    A libc/test/src/__support/memory_size_test.cpp
    M libc/test/src/__support/str_to_float_test.cpp
    A libc/test/src/search/CMakeLists.txt
    A libc/test/src/search/hsearch_test.cpp
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdio/sscanf_test.cpp
    M libc/test/src/stdlib/strtold_test.cpp
    M libc/test/src/string/memory_utils/utils_test.cpp
    M libc/utils/gpu/loader/amdgpu/Loader.cpp
    M libcxx/.clang-format
    M libcxx/CMakeLists.txt
    M libcxx/benchmarks/filesystem.bench.cpp
    M libcxx/benchmarks/stop_token.bench.cpp
    M libcxx/benchmarks/stringstream.bench.cpp
    A libcxx/cmake/caches/Armv7M-picolibc.cmake
    M libcxx/docs/Contributing.rst
    M libcxx/docs/DesignDocs/VisibilityMacros.rst
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/Status/FormatIssues.csv
    M libcxx/docs/Status/PSTLPaper.csv
    M libcxx/docs/index.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/any_of.h
    M libcxx/include/__algorithm/binary_search.h
    M libcxx/include/__algorithm/clamp.h
    M libcxx/include/__algorithm/comp_ref_type.h
    M libcxx/include/__algorithm/copy.h
    M libcxx/include/__algorithm/copy_if.h
    M libcxx/include/__algorithm/copy_n.h
    M libcxx/include/__algorithm/count_if.h
    M libcxx/include/__algorithm/equal.h
    M libcxx/include/__algorithm/fill.h
    M libcxx/include/__algorithm/fill_n.h
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/find_first_of.h
    M libcxx/include/__algorithm/find_if.h
    M libcxx/include/__algorithm/find_if_not.h
    M libcxx/include/__algorithm/for_each_n.h
    M libcxx/include/__algorithm/generate.h
    M libcxx/include/__algorithm/generate_n.h
    M libcxx/include/__algorithm/half_positive.h
    M libcxx/include/__algorithm/inplace_merge.h
    M libcxx/include/__algorithm/is_heap.h
    M libcxx/include/__algorithm/is_heap_until.h
    M libcxx/include/__algorithm/is_sorted.h
    M libcxx/include/__algorithm/is_sorted_until.h
    M libcxx/include/__algorithm/iter_swap.h
    M libcxx/include/__algorithm/lexicographical_compare.h
    M libcxx/include/__algorithm/max.h
    M libcxx/include/__algorithm/max_element.h
    M libcxx/include/__algorithm/merge.h
    M libcxx/include/__algorithm/min.h
    M libcxx/include/__algorithm/min_element.h
    M libcxx/include/__algorithm/minmax.h
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/move_backward.h
    M libcxx/include/__algorithm/next_permutation.h
    M libcxx/include/__algorithm/none_of.h
    M libcxx/include/__algorithm/nth_element.h
    M libcxx/include/__algorithm/partial_sort.h
    M libcxx/include/__algorithm/partial_sort_copy.h
    M libcxx/include/__algorithm/partition.h
    M libcxx/include/__algorithm/partition_point.h
    M libcxx/include/__algorithm/prev_permutation.h
    M libcxx/include/__algorithm/pstl_backend.h
    A libcxx/include/__algorithm/pstl_equal.h
    M libcxx/include/__algorithm/remove.h
    M libcxx/include/__algorithm/remove_copy.h
    M libcxx/include/__algorithm/remove_copy_if.h
    M libcxx/include/__algorithm/remove_if.h
    M libcxx/include/__algorithm/replace.h
    M libcxx/include/__algorithm/replace_copy.h
    M libcxx/include/__algorithm/replace_copy_if.h
    M libcxx/include/__algorithm/replace_if.h
    M libcxx/include/__algorithm/reverse.h
    M libcxx/include/__algorithm/reverse_copy.h
    M libcxx/include/__algorithm/rotate.h
    M libcxx/include/__algorithm/rotate_copy.h
    M libcxx/include/__algorithm/sample.h
    M libcxx/include/__algorithm/search.h
    M libcxx/include/__algorithm/shift_left.h
    M libcxx/include/__algorithm/shift_right.h
    M libcxx/include/__algorithm/sift_down.h
    M libcxx/include/__algorithm/stable_partition.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__algorithm/swap_ranges.h
    M libcxx/include/__algorithm/transform.h
    M libcxx/include/__availability
    M libcxx/include/__bit/blsr.h
    M libcxx/include/__bit/countl.h
    M libcxx/include/__bit/popcount.h
    M libcxx/include/__chrono/duration.h
    M libcxx/include/__chrono/file_clock.h
    M libcxx/include/__chrono/time_point.h
    M libcxx/include/__compare/compare_partial_order_fallback.h
    M libcxx/include/__compare/compare_strong_order_fallback.h
    M libcxx/include/__compare/compare_three_way.h
    M libcxx/include/__compare/compare_weak_order_fallback.h
    M libcxx/include/__compare/partial_order.h
    M libcxx/include/__compare/strong_order.h
    M libcxx/include/__compare/weak_order.h
    M libcxx/include/__concepts/assignable.h
    M libcxx/include/__concepts/boolean_testable.h
    M libcxx/include/__concepts/invocable.h
    M libcxx/include/__concepts/swappable.h
    M libcxx/include/__config
    M libcxx/include/__coroutine/coroutine_handle.h
    M libcxx/include/__exception/nested_exception.h
    M libcxx/include/__filesystem/copy_options.h
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__filesystem/directory_iterator.h
    M libcxx/include/__filesystem/directory_options.h
    M libcxx/include/__filesystem/file_status.h
    M libcxx/include/__filesystem/file_time_type.h
    M libcxx/include/__filesystem/file_type.h
    M libcxx/include/__filesystem/filesystem_error.h
    M libcxx/include/__filesystem/operations.h
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__filesystem/path_iterator.h
    M libcxx/include/__filesystem/perm_options.h
    M libcxx/include/__filesystem/perms.h
    M libcxx/include/__filesystem/recursive_directory_iterator.h
    M libcxx/include/__filesystem/space_info.h
    M libcxx/include/__filesystem/u8path.h
    M libcxx/include/__format/buffer.h
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/__format/extended_grapheme_cluster_table.h
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__format/formatter_char.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__format/formatter_integral.h
    M libcxx/include/__format/formatter_output.h
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/include/__format/write_escaped.h
    M libcxx/include/__functional/binary_negate.h
    M libcxx/include/__functional/bind.h
    M libcxx/include/__functional/bind_back.h
    M libcxx/include/__functional/bind_front.h
    M libcxx/include/__functional/binder1st.h
    M libcxx/include/__functional/binder2nd.h
    M libcxx/include/__functional/compose.h
    M libcxx/include/__functional/default_searcher.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__functional/identity.h
    M libcxx/include/__functional/invoke.h
    M libcxx/include/__functional/mem_fn.h
    M libcxx/include/__functional/mem_fun_ref.h
    M libcxx/include/__functional/not_fn.h
    M libcxx/include/__functional/operations.h
    M libcxx/include/__functional/perfect_forward.h
    M libcxx/include/__functional/pointer_to_binary_function.h
    M libcxx/include/__functional/pointer_to_unary_function.h
    M libcxx/include/__functional/ranges_operations.h
    M libcxx/include/__functional/reference_wrapper.h
    M libcxx/include/__functional/unary_negate.h
    M libcxx/include/__functional/weak_result_type.h
    M libcxx/include/__fwd/get.h
    M libcxx/include/__hash_table
    M libcxx/include/__iterator/access.h
    M libcxx/include/__iterator/advance.h
    M libcxx/include/__iterator/back_insert_iterator.h
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/include/__iterator/concepts.h
    M libcxx/include/__iterator/counted_iterator.h
    M libcxx/include/__iterator/data.h
    M libcxx/include/__iterator/distance.h
    M libcxx/include/__iterator/empty.h
    M libcxx/include/__iterator/front_insert_iterator.h
    M libcxx/include/__iterator/insert_iterator.h
    M libcxx/include/__iterator/istream_iterator.h
    M libcxx/include/__iterator/istreambuf_iterator.h
    M libcxx/include/__iterator/iter_swap.h
    M libcxx/include/__iterator/next.h
    M libcxx/include/__iterator/ostream_iterator.h
    M libcxx/include/__iterator/ostreambuf_iterator.h
    M libcxx/include/__iterator/prev.h
    M libcxx/include/__iterator/reverse_access.h
    M libcxx/include/__iterator/reverse_iterator.h
    M libcxx/include/__iterator/size.h
    M libcxx/include/__iterator/wrap_iter.h
    M libcxx/include/__locale
    M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
    M libcxx/include/__locale_dir/locale_base_api/locale_guard.h
    M libcxx/include/__memory/addressof.h
    M libcxx/include/__memory/allocation_guard.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/allocator_arg_t.h
    M libcxx/include/__memory/allocator_destructor.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/auto_ptr.h
    M libcxx/include/__memory/builtin_new_allocator.h
    M libcxx/include/__memory/destruct_n.h
    M libcxx/include/__memory/pointer_traits.h
    M libcxx/include/__memory/ranges_construct_at.h
    M libcxx/include/__memory/ranges_uninitialized_algorithms.h
    M libcxx/include/__memory/raw_storage_iterator.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/swap_allocator.h
    M libcxx/include/__memory/temporary_buffer.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__memory/voidify.h
    M libcxx/include/__mutex/once_flag.h
    M libcxx/include/__node_handle
    M libcxx/include/__numeric/accumulate.h
    M libcxx/include/__numeric/adjacent_difference.h
    M libcxx/include/__numeric/exclusive_scan.h
    M libcxx/include/__numeric/gcd_lcm.h
    M libcxx/include/__numeric/inclusive_scan.h
    M libcxx/include/__numeric/inner_product.h
    M libcxx/include/__numeric/iota.h
    M libcxx/include/__numeric/midpoint.h
    M libcxx/include/__numeric/partial_sum.h
    M libcxx/include/__numeric/reduce.h
    M libcxx/include/__numeric/transform_exclusive_scan.h
    M libcxx/include/__numeric/transform_inclusive_scan.h
    M libcxx/include/__numeric/transform_reduce.h
    M libcxx/include/__random/bernoulli_distribution.h
    M libcxx/include/__random/binomial_distribution.h
    M libcxx/include/__random/cauchy_distribution.h
    M libcxx/include/__random/chi_squared_distribution.h
    M libcxx/include/__random/clamp_to_integral.h
    M libcxx/include/__random/discard_block_engine.h
    M libcxx/include/__random/discrete_distribution.h
    M libcxx/include/__random/exponential_distribution.h
    M libcxx/include/__random/extreme_value_distribution.h
    M libcxx/include/__random/fisher_f_distribution.h
    M libcxx/include/__random/gamma_distribution.h
    M libcxx/include/__random/geometric_distribution.h
    M libcxx/include/__random/independent_bits_engine.h
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/include/__random/lognormal_distribution.h
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/include/__random/negative_binomial_distribution.h
    M libcxx/include/__random/normal_distribution.h
    M libcxx/include/__random/piecewise_constant_distribution.h
    M libcxx/include/__random/piecewise_linear_distribution.h
    M libcxx/include/__random/poisson_distribution.h
    M libcxx/include/__random/random_device.h
    M libcxx/include/__random/seed_seq.h
    M libcxx/include/__random/shuffle_order_engine.h
    M libcxx/include/__random/student_t_distribution.h
    M libcxx/include/__random/subtract_with_carry_engine.h
    M libcxx/include/__random/uniform_real_distribution.h
    M libcxx/include/__random/weibull_distribution.h
    M libcxx/include/__split_buffer
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__string/extern_template_lists.h
    M libcxx/include/__thread/this_thread.h
    M libcxx/include/__thread/thread.h
    M libcxx/include/__thread/timed_backoff_policy.h
    M libcxx/include/__threading_support
    M libcxx/include/__tree
    M libcxx/include/__type_traits/integral_constant.h
    M libcxx/include/__type_traits/invoke.h
    M libcxx/include/__type_traits/is_constant_evaluated.h
    M libcxx/include/__type_traits/is_nothrow_constructible.h
    M libcxx/include/__type_traits/is_nothrow_convertible.h
    M libcxx/include/__type_traits/is_swappable.h
    M libcxx/include/__utility/cmp.h
    M libcxx/include/__utility/convert_to_integral.h
    M libcxx/include/__utility/exchange.h
    M libcxx/include/__utility/integer_sequence.h
    A libcxx/include/__utility/no_destroy.h
    M libcxx/include/__utility/rel_ops.h
    M libcxx/include/__utility/swap.h
    M libcxx/include/__utility/to_underlying.h
    M libcxx/include/algorithm
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/barrier
    M libcxx/include/bitset
    M libcxx/include/chrono
    M libcxx/include/cmath
    M libcxx/include/codecvt
    M libcxx/include/complex
    M libcxx/include/condition_variable
    M libcxx/include/deque
    M libcxx/include/experimental/__config
    M libcxx/include/experimental/__memory
    M libcxx/include/experimental/iterator
    M libcxx/include/experimental/propagate_const
    M libcxx/include/ext/__hash
    M libcxx/include/ext/hash_map
    M libcxx/include/ext/hash_set
    M libcxx/include/forward_list
    M libcxx/include/fstream
    M libcxx/include/future
    M libcxx/include/initializer_list
    M libcxx/include/iomanip
    M libcxx/include/ios
    M libcxx/include/iosfwd
    M libcxx/include/istream
    M libcxx/include/latch
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/locale
    M libcxx/include/map
    M libcxx/include/memory
    M libcxx/include/module.modulemap.in
    M libcxx/include/mutex
    M libcxx/include/new
    M libcxx/include/optional
    M libcxx/include/ostream
    M libcxx/include/queue
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/semaphore
    M libcxx/include/set
    M libcxx/include/shared_mutex
    M libcxx/include/span
    M libcxx/include/sstream
    M libcxx/include/stack
    M libcxx/include/stdexcept
    M libcxx/include/stdlib.h
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/strstream
    M libcxx/include/tuple
    M libcxx/include/typeindex
    M libcxx/include/typeinfo
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/valarray
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/include/version
    M libcxx/include/wchar.h
    M libcxx/src/chrono.cpp
    M libcxx/src/condition_variable_destructor.cpp
    M libcxx/src/filesystem/directory_entry.cpp
    M libcxx/src/filesystem/file_descriptor.h
    M libcxx/src/hash.cpp
    M libcxx/src/include/atomic_support.h
    M libcxx/src/include/sso_allocator.h
    M libcxx/src/include/to_chars_floating_point.h
    M libcxx/src/ios.cpp
    M libcxx/src/iostream.cpp
    M libcxx/src/locale.cpp
    M libcxx/src/mutex_destructor.cpp
    M libcxx/src/regex.cpp
    M libcxx/src/std_stream.h
    M libcxx/src/strstream.cpp
    M libcxx/src/support/win32/thread_win32.cpp
    M libcxx/src/vector.cpp
    A libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
    M libcxx/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
    M libcxx/test/libcxx/input.output/file.streams/fstreams/fstream.cons/wchar_pointer.pass.cpp
    M libcxx/test/libcxx/input.output/file.streams/fstreams/fstream.members/open_wchar_pointer.pass.cpp
    M libcxx/test/libcxx/input.output/file.streams/fstreams/ofstream.cons/wchar_pointer.pass.cpp
    M libcxx/test/libcxx/input.output/file.streams/fstreams/ofstream.members/open_wchar_pointer.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.path/path.itr/assert.iterator.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
    M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
    M libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-compile-flags.sh.cpp
    M libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-run.sh.cpp
    M libcxx/test/libcxx/selftest/dsl/dsl.sh.py
    M libcxx/test/libcxx/selftest/stdin-is-piped.sh.cpp
    M libcxx/test/libcxx/system_reserved_names.gen.py
    M libcxx/test/libcxx/transitive_includes_to_csv.py
    M libcxx/test/libcxx/utilities/memory/ptr.align/assume_aligned.power2.verify.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_copy.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_copy_if.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_if.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.iterator.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.range.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.unary.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.equal.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/ranges.find_end.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search_n.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.starts_with/ranges.starts_with.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.merge.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.partitions/ranges.is_partitioned.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/ranges.is_sorted.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/ranges.is_sorted_until.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way_comp.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/test_helper.h
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/ctor.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
    M libcxx/test/std/containers/from_range_helpers.h
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/equal.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/relational.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/views/mdspan/ConvertibleToIntegral.h
    M libcxx/test/std/containers/views/mdspan/extents/CtorTestCombinations.h
    M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/extents.verify.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/extents.verify.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/extents.verify.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/iterator_sentinel.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/fenv_h.compile.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/uchar_h.compile.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_generator.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_subscr.pass.cpp
    M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
    M libcxx/test/std/experimental/simd/simd.reference/reference_value_type.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default_const.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.io/directory_entry.io.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/path.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/equal.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/types.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.file_status/file_status.cons.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.file_status/file_status.mods.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.file_status/file_status.obs.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.charconv.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/empty.verify.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.hash_enabled.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.member/path.query/tested_in_path_decompose.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.verify.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.verify.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path_helper.h
    M libcxx/test/std/input.output/filesystems/class.path/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/synop.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/equal.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.directory_options.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.perm_options.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.enum/enum.perms.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type_resolution.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/space_info.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
    R libcxx/test/std/input.output/filesystems/fs.req.namespace/namespace.verify.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cin.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/clog.sh.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/destroying_delete_t.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/nothrow_t.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/nothrow_t.verify.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/classic_table.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.verify.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_floor.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_width.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/has_single_bit.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countl_one.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countl_zero.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countr_one.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countr_zero.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/popcount.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp
    M libcxx/test/std/numerics/cfenv/cfenv.syn/cfenv.pass.cpp
    M libcxx/test/std/numerics/rand/rand.device/ctor.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp
    M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/compare.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/decrement.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/deref.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/increment.pass.cpp
    M libcxx/test/std/strings/c.strings/cuchar.compile.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.comparison/equal.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.comparison/greater.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.comparison/greater_equal.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.comparison/less.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.comparison/less_equal.pass.cpp
    M libcxx/test/std/strings/string.view/string.view.comparison/not_equal.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/types.verify.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp
    M libcxx/test/std/time/time.cal/euclidian.h
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/decrement.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/increment.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/plus_minus_equal.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/c_encoding.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/decrement.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/increment.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/iso_encoding.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/plus_minus_equal.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/decrement.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/increment.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus_equal.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_month.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_year.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/minus.pass.cpp
    M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/plus.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.file/now.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.file/to_from_sys.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.hires/now.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.system/from_time_t.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.system/now.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.system/to_time_t.pass.cpp
    M libcxx/test/std/time/time.point/time.point.nonmember/op_-duration.pass.cpp
    A libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.fsigned-char.pass.cpp
    A libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.funsigned-char.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_F.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_F.verify.cpp
    M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_ptr.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/noncopyable_return_type.pass.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.spec/swap.pass.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.spec/swap.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/common_reference.compile.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.runtime.pass.cpp
    R libcxx/test/support/filesystem_include.h
    M libcxx/test/support/filesystem_test_helper.h
    M libcxx/test/support/test_macros.h
    M libcxx/test/tools/clang_tidy_checks/uglify_attributes.cpp
    M libcxx/utils/adb_run.py
    M libcxx/utils/ci/BOT_OWNERS.txt
    M libcxx/utils/ci/Dockerfile
    A libcxx/utils/ci/build-picolibc.sh
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/ci/docker-compose.yml
    M libcxx/utils/ci/run-buildbot
    A libcxx/utils/clang-format-merge-driver.sh
    M libcxx/utils/gdb/libcxx/printers.py
    M libcxx/utils/generate_escaped_output_table.py
    M libcxx/utils/generate_extended_grapheme_cluster_table.py
    M libcxx/utils/generate_extended_grapheme_cluster_test.py
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/generate_std_clang_module_header.py
    M libcxx/utils/generate_std_cppm_in.py
    M libcxx/utils/generate_width_estimation_table.py
    M libcxx/utils/graph_header_deps.py
    M libcxx/utils/libcxx/test/android.py
    M libcxx/utils/libcxx/test/dsl.py
    M libcxx/utils/libcxx/test/features.py
    M libcxx/utils/libcxx/test/format.py
    M libcxx/utils/libcxx/test/params.py
    M libcxx/utils/qemu_baremetal.py
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/src/demangle/ItaniumNodes.def
    A libcxxabi/test/configs/armv7m-picolibc-libc++abi.cfg.in
    M libcxxabi/test/test_demangle.pass.cpp
    M libunwind/src/libunwind.cpp
    A libunwind/test/configs/armv7m-picolibc-libunwind.cfg.in
    M libunwind/test/libunwind_02.pass.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/Writer.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Driver.cpp
    M lld/test/COFF/Inputs/loadconfig-arm64ec.s
    M lld/test/COFF/lto-imp-prefix.ll
    A lld/test/COFF/pdata-arm64ec.test
    A lld/test/ELF/lto/libcall-archive-calloc.ll
    A lld/test/ELF/riscv-relax-call-mixed-rvc.s
    A lld/test/wasm/lto/Inputs/comdat_ordering1.ll
    A lld/test/wasm/lto/Inputs/comdat_ordering2.ll
    A lld/test/wasm/lto/comdat_ordering.test
    R lld/test/wasm/pie.ll
    A lld/test/wasm/pie.s
    M lld/wasm/SymbolTable.cpp
    M lldb/include/lldb/Breakpoint/BreakpointSite.h
    R lldb/include/lldb/Breakpoint/BreakpointSiteList.h
    A lldb/include/lldb/Breakpoint/StopPointSiteList.h
    M lldb/include/lldb/Breakpoint/Watchpoint.h
    A lldb/include/lldb/Breakpoint/WatchpointResource.h
    A lldb/include/lldb/Breakpoint/WatchpointResourceList.h
    M lldb/include/lldb/Core/PluginManager.h
    M lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h
    M lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/lldb-defines.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/include/lldb/lldb-types.h
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
    M lldb/source/API/SBThread.cpp
    M lldb/source/API/SBWatchpoint.cpp
    M lldb/source/Breakpoint/BreakpointLocation.cpp
    M lldb/source/Breakpoint/BreakpointSite.cpp
    R lldb/source/Breakpoint/BreakpointSiteList.cpp
    M lldb/source/Breakpoint/CMakeLists.txt
    A lldb/source/Breakpoint/StopPointSiteList.cpp
    M lldb/source/Breakpoint/Watchpoint.cpp
    A lldb/source/Breakpoint/WatchpointResource.cpp
    A lldb/source/Breakpoint/WatchpointResourceList.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Core/Progress.cpp
    M lldb/source/Host/common/Host.cpp
    M lldb/source/Host/common/SocketAddress.cpp
    M lldb/source/Host/netbsd/HostInfoNetBSD.cpp
    M lldb/source/Host/netbsd/HostNetBSD.cpp
    M lldb/source/Host/openbsd/HostInfoOpenBSD.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/source/Host/posix/PipePosix.cpp
    M lldb/source/Initialization/SystemInitializerCommon.cpp
    M lldb/source/Interpreter/OptionArgParser.cpp
    M lldb/source/Interpreter/OptionGroupWatchpoint.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
    M lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp
    M lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.h
    M lldb/source/Plugins/Process/Utility/NetBSDSignals.h
    M lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_i386.cpp
    M lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_x86_64.h
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    A lldb/source/Plugins/SymbolLocator/Debuginfod/CMakeLists.txt
    A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
    A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.h
    A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.td
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/StopInfo.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/ThreadPlanCallFunction.cpp
    M lldb/source/Target/ThreadPlanStepOut.cpp
    M lldb/source/Target/ThreadPlanStepRange.cpp
    M lldb/source/Target/ThreadPlanStepUntil.cpp
    M lldb/test/API/api/multithreaded/common.h
    M lldb/test/API/commands/expression/test/TestExprs.py
    M lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py
    M lldb/test/API/functionalities/thread/state/TestThreadStates.py
    M lldb/test/API/lang/c/shared_lib/TestSharedLib.py
    M lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
    M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
    M lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
    M lldb/test/API/lang/cpp/reference-to-outer-type/TestCppReferenceToOuterClass.py
    M lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
    M lldb/test/API/lit.cfg.py
    A lldb/test/API/python_api/process/cancel_attach/TestCancelAttach.py
    M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
    M lldb/test/API/tools/lldb-server/thread-name/main.cpp
    A lldb/test/Shell/SymbolFile/DWARF/x86/debug-types-debug-names.cpp
    M lldb/test/Shell/Watchpoint/Inputs/val.c
    M lldb/test/Shell/Watchpoint/LocalVariableWatchpointDisabler.test
    M lldb/test/Shell/Watchpoint/SetErrorCases.test
    M lldb/tools/debugserver/source/DNB.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/unittests/Symbol/TestTypeSystemClang.cpp
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/CMake.rst
    M llvm/docs/CommandGuide/llvm-reduce.rst
    M llvm/docs/FatLTO.rst
    M llvm/docs/GettingStarted.rst
    M llvm/docs/GitHub.rst
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/ADT/PostOrderIterator.h
    M llvm/include/llvm/ADT/bit.h
    M llvm/include/llvm/Analysis/BasicAliasAnalysis.h
    M llvm/include/llvm/Analysis/DemandedBits.h
    M llvm/include/llvm/Analysis/InlineModelFeatureMaps.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/BinaryFormat/ELFRelocs/LoongArch.def
    M llvm/include/llvm/BinaryFormat/MsgPackReader.h
    M llvm/include/llvm/CodeGen/AccelTable.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/ByteProvider.h
    A llvm/include/llvm/CodeGen/CallBrPrepare.h
    M llvm/include/llvm/CodeGen/CallingConvLower.h
    M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/include/llvm/CodeGen/MachinePassRegistry.def
    M llvm/include/llvm/CodeGen/PseudoSourceValue.h
    A llvm/include/llvm/CodeGen/PseudoSourceValueManager.h
    A llvm/include/llvm/CodeGen/SafeStack.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    A llvm/include/llvm/CodeGen/WinEHPrepare.h
    M llvm/include/llvm/DWARFLinkerParallel/StringPool.h
    M llvm/include/llvm/DWP/DWP.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
    M llvm/include/llvm/DebugInfo/GSYM/ExtractRanges.h
    M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
    M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.h
    R llvm/include/llvm/DebugInfo/PDB/Native/Formatters.h
    M llvm/include/llvm/Debuginfod/Debuginfod.h
    M llvm/include/llvm/Demangle/ItaniumDemangle.h
    M llvm/include/llvm/Demangle/ItaniumNodes.def
    M llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
    M llvm/include/llvm/ExecutionEngine/Orc/EPCDebugObjectRegistrar.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
    M llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/ObjectFormats.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
    M llvm/include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h
    M llvm/include/llvm/Frontend/OpenACC/ACC.td
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/Constants.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/Dominators.h
    M llvm/include/llvm/IR/GlobalObject.h
    M llvm/include/llvm/IR/GlobalVariable.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/IntrinsicsBPF.td
    M llvm/include/llvm/IR/IntrinsicsSystemZ.td
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/IR/ReplaceConstant.h
    M llvm/include/llvm/IR/RuntimeLibcalls.def
    M llvm/include/llvm/IRReader/IRReader.h
    M llvm/include/llvm/MC/MCDwarf.h
    M llvm/include/llvm/MC/MCInstrItineraries.h
    M llvm/include/llvm/MC/MCSectionXCOFF.h
    M llvm/include/llvm/MC/MCSymbolXCOFF.h
    M llvm/include/llvm/MC/MCXCOFFStreamer.h
    M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
    M llvm/include/llvm/Option/Option.h
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/include/llvm/Support/Automaton.h
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h
    R llvm/include/llvm/Support/Host.h
    M llvm/include/llvm/Support/LEB128.h
    M llvm/include/llvm/Support/TypeSize.h
    M llvm/include/llvm/Support/X86FoldTablesUtils.h
    M llvm/include/llvm/TableGen/Parser.h
    M llvm/include/llvm/Target/CGPassBuilderOption.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    A llvm/include/llvm/TextAPI/Record.h
    A llvm/include/llvm/TextAPI/RecordsSlice.h
    M llvm/include/llvm/TextAPI/Symbol.h
    M llvm/include/llvm/Transforms/IPO.h
    M llvm/include/llvm/Transforms/IPO/EmbedBitcodePass.h
    M llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
    M llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/include/llvm/Transforms/Instrumentation.h
    M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h
    M llvm/include/llvm/Transforms/Instrumentation/CFGMST.h
    M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/include/llvm/XRay/BlockVerifier.h
    M llvm/include/module.modulemap
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/BranchProbabilityInfo.cpp
    M llvm/lib/Analysis/CaptureTracking.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp
    M llvm/lib/BinaryFormat/MsgPackDocument.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/CallBrPrepare.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/LiveRangeEdit.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/MachineCSE.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/PseudoSourceValue.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/SafeStack.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
    M llvm/lib/CodeGen/StackColoring.cpp
    M llvm/lib/CodeGen/StackSlotColoring.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/CodeGen/TargetSchedule.cpp
    M llvm/lib/CodeGen/WinEHPrepare.cpp
    M llvm/lib/DWARFLinkerParallel/DWARFLinkerGlobalData.h
    M llvm/lib/DWP/DWP.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/lib/Debuginfod/Debuginfod.cpp
    M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/ObjectFormats.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/ConstantsContext.h
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/EHPersonalities.cpp
    M llvm/lib/IR/Globals.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCDisassembler/Disassembler.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/MCXCOFFStreamer.cpp
    M llvm/lib/ObjCopy/XCOFF/XCOFFWriter.h
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Object/RelocationResolver.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/lib/ProfileData/MemProf.cpp
    M llvm/lib/Support/ARMBuildAttrs.cpp
    M llvm/lib/Support/DataExtractor.cpp
    M llvm/lib/Support/Regex.cpp
    M llvm/lib/TableGen/Main.cpp
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.h
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCtorDtorLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstrFormats.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/ARM/ARM.h
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/ARM/ARMBasicBlockInfo.cpp
    M llvm/lib/Target/ARM/ARMHazardRecognizer.h
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
    M llvm/lib/Target/AVR/AVRFrameLowering.cpp
    M llvm/lib/Target/BPF/BPF.h
    M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
    M llvm/lib/Target/BPF/BPFCORE.h
    M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
    A llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp
    M llvm/lib/Target/BPF/CMakeLists.txt
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
    M llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp
    M llvm/lib/Target/LoongArch/LoongArchFloat32InstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchFloat64InstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/lib/Target/M68k/M68kExpandPseudo.cpp
    M llvm/lib/Target/M68k/M68kInstrControl.td
    M llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp
    M llvm/lib/Target/Mips/MipsMachineFunction.cpp
    M llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
    M llvm/lib/Target/Mips/MipsSubtarget.h
    M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCCTRLoopsVerify.cpp
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h
    M llvm/lib/Target/PowerPC/PPCInstrP10.td
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.h
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.h
    M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVGISel.td
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
    M llvm/lib/Target/RISCV/RISCVRVVInitUndef.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86CallingConv.td
    M llvm/lib/Target/X86/X86DomainReassignment.cpp
    M llvm/lib/Target/X86/X86ExpandPseudo.cpp
    M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/lib/Target/X86/X86InstrFoldTables.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/Target/X86/X86InstrInfo.td
    M llvm/lib/Target/X86/X86InstrMisc.td
    M llvm/lib/Target/X86/X86InstrShiftRotate.td
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    A llvm/lib/Target/X86/X86ReplaceableInstrs.def
    M llvm/lib/Target/X86/X86Subtarget.cpp
    M llvm/lib/Target/XCore/XCoreISelLowering.cpp
    M llvm/lib/Target/XCore/XCoreISelLowering.h
    M llvm/lib/TargetParser/X86TargetParser.cpp
    M llvm/lib/Testing/Support/Error.cpp
    M llvm/lib/TextAPI/CMakeLists.txt
    A llvm/lib/TextAPI/RecordsSlice.cpp
    M llvm/lib/TextAPI/Symbol.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    M llvm/lib/Transforms/IPO/EmbedBitcodePass.cpp
    M llvm/lib/Transforms/IPO/Inliner.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/lib/Transforms/Scalar/GuardWidening.cpp
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/lib/Transforms/Scalar/SCCP.cpp
    M llvm/lib/Transforms/Scalar/TLSVariableHoist.cpp
    M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/Debugify.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/MoveAutoInit.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/runtimes/CMakeLists.txt
    A llvm/test/Analysis/BranchProbabilityInfo/anonymous-bb.ll
    M llvm/test/Analysis/BranchProbabilityInfo/basic.ll
    M llvm/test/Analysis/BranchProbabilityInfo/deopt-intrinsic.ll
    M llvm/test/Analysis/BranchProbabilityInfo/deopt-invoke.ll
    M llvm/test/Analysis/BranchProbabilityInfo/fcmp.ll
    M llvm/test/Analysis/BranchProbabilityInfo/hoist.ll
    M llvm/test/Analysis/BranchProbabilityInfo/libfunc_call.ll
    M llvm/test/Analysis/BranchProbabilityInfo/loop.ll
    M llvm/test/Analysis/BranchProbabilityInfo/noreturn.ll
    M llvm/test/Analysis/BranchProbabilityInfo/pointer_heuristics.ll
    M llvm/test/Analysis/BranchProbabilityInfo/pr18705.ll
    M llvm/test/Analysis/BranchProbabilityInfo/pr22718.ll
    M llvm/test/Analysis/BranchProbabilityInfo/switch.ll
    M llvm/test/Analysis/BranchProbabilityInfo/unreachable.ll
    M llvm/test/Analysis/BranchProbabilityInfo/zero_heuristics.ll
    M llvm/test/Analysis/CostModel/X86/interleaved-load-half.ll
    M llvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll
    M llvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll
    M llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll
    M llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
    M llvm/test/Analysis/DependenceAnalysis/GCD.ll
    M llvm/test/Analysis/LoopAccessAnalysis/forward-negative-step.ll
    A llvm/test/Analysis/LoopAccessAnalysis/print-order.ll
    M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
    M llvm/test/Analysis/ScalarEvolution/add-like-or.ll
    M llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll
    M llvm/test/Analysis/ScalarEvolution/nsw-offset.ll
    M llvm/test/Analysis/ScalarEvolution/sext-mul.ll
    M llvm/test/Analysis/ValueTracking/select-known-non-zero.ll
    R llvm/test/Assembler/debug-info-source-invalid.ll
    R llvm/test/Assembler/debug-info-source.ll
    M llvm/test/Assembler/globalvariable-attributes.ll
    A llvm/test/Assembler/index-value-order.ll
    A llvm/test/Assembler/thinlto-vtable-summary2.ll
    M llvm/test/Bindings/llvm-c/echo.ll
    M llvm/test/CMakeLists.txt
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-dyn-alloca.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fmaxnum.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fminnum.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-memcpy-et-al.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/aarch64-sched-store.ll
    M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
    M llvm/test/CodeGen/AArch64/arm64-addrmode.ll
    A llvm/test/CodeGen/AArch64/blr-bti-preserves-regmask.mir
    M llvm/test/CodeGen/AArch64/callbr-prepare.ll
    A llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.ll
    A llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir
    A llvm/test/CodeGen/AArch64/coalescer-drop-subreg-to-reg-imm-ops.mir
    M llvm/test/CodeGen/AArch64/kcfi-bti.ll
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-armpl.ll
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef.ll
    M llvm/test/CodeGen/AArch64/sme-aarch64-svcount.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-zero-zt.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-zt0.ll
    A llvm/test/CodeGen/AArch64/stack-probing-64k.ll
    A llvm/test/CodeGen/AArch64/stack-probing-dynamic-no-frame-setup.ll
    A llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll
    A llvm/test/CodeGen/AArch64/stack-probing-last-in-block.mir
    A llvm/test/CodeGen/AArch64/stack-probing-sve.ll
    A llvm/test/CodeGen/AArch64/stack-probing.ll
    M llvm/test/CodeGen/AArch64/store-swift-async-context-clobber-live-reg.ll
    M llvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir
    M llvm/test/CodeGen/AArch64/sve-aliasing.ll
    A llvm/test/CodeGen/AArch64/sve-aliasing.mir
    A llvm/test/CodeGen/AArch64/sve-fixed-length-function-calls.ll
    A llvm/test/CodeGen/AArch64/sve-fixed-length-functions.ll
    M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-private.mir
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sqrt.ll
    M llvm/test/CodeGen/AMDGPU/back-off-barrier-subtarget-feature.ll
    M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
    M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-i8-i16.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/function-returns.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
    M llvm/test/CodeGen/AMDGPU/idot4u.ll
    A llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/memory_clause.ll
    M llvm/test/CodeGen/AMDGPU/mul_int24.ll
    M llvm/test/CodeGen/AMDGPU/mul_uint24-amdgcn.ll
    M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/regpressure_printer.mir
    A llvm/test/CodeGen/AMDGPU/scratch-pointer-sink.ll
    A llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll
    M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
    M llvm/test/CodeGen/AMDGPU/waitcnt-preexisting-vscnt.mir
    M llvm/test/CodeGen/ARM/ParallelDSP/smlad0.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/smlad11.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/smladx-1.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/smlald0.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/smlald2.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/smlaldx-1.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/smlaldx-2.ll
    M llvm/test/CodeGen/ARM/ParallelDSP/unroll-n-jam-smlad.ll
    M llvm/test/CodeGen/ARM/dsp-loop-indexing.ll
    M llvm/test/CodeGen/ARM/fpclamptosat.ll
    M llvm/test/CodeGen/ARM/loop-indexing.ll
    M llvm/test/CodeGen/ARM/shifter_operand.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-align.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-arr-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-atomic.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-2.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-type-mismatch.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-non-const.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-ptr-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-simple.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-struct-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-align.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-u8.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-simple.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-volatile.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-union-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-volatile.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/load-zero.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-align.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-atomic.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-2.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-pai.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-simple.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-align.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-oob.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-u8.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-simple.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-volatile.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-volatile.ll
    A llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll
    M llvm/test/CodeGen/Hexagon/autohvx/interleave.ll
    M llvm/test/CodeGen/LoongArch/double-fma.ll
    M llvm/test/CodeGen/LoongArch/float-fma.ll
    A llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
    A llvm/test/CodeGen/LoongArch/lasx/ctpop-ctlz.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/add.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/and.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/ashr.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/extractelement.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fadd.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fdiv.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fmul.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fsub.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/lshr.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/mul.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/or.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sdiv.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shl.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sub.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/udiv.ll
    A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/xor.ll
    A llvm/test/CodeGen/LoongArch/lasx/mulh.ll
    A llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
    A llvm/test/CodeGen/LoongArch/lsx/ctpop-ctlz.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/add.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/and.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/ashr.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/extractelement.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fadd.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fdiv.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fmul.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fsub.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/lshr.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/mul.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/or.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sdiv.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shl.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sub.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/udiv.ll
    A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/xor.ll
    A llvm/test/CodeGen/LoongArch/lsx/mulh.ll
    A llvm/test/CodeGen/M68k/CConv/rte.ll
    R llvm/test/CodeGen/MIR/AMDGPU/extra-imm-operand.mir
    R llvm/test/CodeGen/MIR/AMDGPU/extra-reg-operand.mir
    A llvm/test/CodeGen/MIR/X86/inline-asm-rm-exhaustion.mir
    M llvm/test/CodeGen/MLRegAlloc/dev-mode-extra-features-logging.ll
    M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/var_arg.ll
    M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
    M llvm/test/CodeGen/NVPTX/vector-stores.ll
    M llvm/test/CodeGen/PowerPC/aix-alias.ll
    A llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
    M llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-clobber-register.ll
    M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
    M llvm/test/CodeGen/PowerPC/aix-extern.ll
    M llvm/test/CodeGen/PowerPC/aix-func-align.ll
    M llvm/test/CodeGen/PowerPC/aix-personality-alias.ll
    M llvm/test/CodeGen/PowerPC/aix-weak.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-data.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-symbol-rename.ll
    M llvm/test/CodeGen/PowerPC/build-vector-from-load-and-zeros.ll
    M llvm/test/CodeGen/PowerPC/rematerializable-instruction-machine-licm.ll
    M llvm/test/CodeGen/PowerPC/test_func_desc.ll
    A llvm/test/CodeGen/RISCV/65704-illegal-instruction.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/constantpool.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/iabs.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-arith.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-select-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/implicit-def-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/implicit-def-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/merge-unmerge-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/ptrmask-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/ptrmask-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rotate-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rotate-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/bitcast-between-f64-and-i64.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/lower-args-vararg.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-arith.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-select-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ptrmask-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ptrmask-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/merge-unmerge-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/merge-unmerge-rv32d.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/merge-unmerge-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/fp-arith.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/fp-select-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/implicit-def-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/implicit-def-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/merge-unmerge-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/ptrmask-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/ptrmask-rv64.mir
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/branch-on-zero.ll
    M llvm/test/CodeGen/RISCV/condops.ll
    M llvm/test/CodeGen/RISCV/imm.ll
    M llvm/test/CodeGen/RISCV/memcpy-inline.ll
    M llvm/test/CodeGen/RISCV/memcpy.ll
    M llvm/test/CodeGen/RISCV/memset-inline.ll
    A llvm/test/CodeGen/RISCV/misched-load-clustering.ll
    M llvm/test/CodeGen/RISCV/pr56110.ll
    M llvm/test/CodeGen/RISCV/push-pop-popret.ll
    A llvm/test/CodeGen/RISCV/reduce-unnecessary-extension.ll
    M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
    M llvm/test/CodeGen/RISCV/riscv-func-target-feature.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
    M llvm/test/CodeGen/RISCV/rvv/concat-vectors-constant-stride.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/handle-noreg-with-implicit-def.mir
    M llvm/test/CodeGen/RISCV/rvv/memcpy-inline.ll
    M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
    M llvm/test/CodeGen/RISCV/rvv/regalloc-fast-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/unaligned-loads-stores.ll
    M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.mir
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    A llvm/test/CodeGen/RISCV/sextw-removal-debug.mir
    M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
    M llvm/test/CodeGen/RISCV/vararg.ll
    M llvm/test/CodeGen/SPIRV/EnqueueEmptyKernel.ll
    A llvm/test/CodeGen/SPIRV/OpVariable_order.ll
    M llvm/test/CodeGen/SPIRV/basic_int_types.ll
    A llvm/test/CodeGen/SPIRV/basic_int_types_spirvdis.ll
    M llvm/test/CodeGen/SPIRV/half_no_extension.ll
    M llvm/test/CodeGen/SPIRV/linked-list.ll
    M llvm/test/CodeGen/SPIRV/lit.local.cfg
    M llvm/test/CodeGen/SPIRV/opencl/basic/vstore_private.ll
    M llvm/test/CodeGen/SPIRV/opencl/device_execution/execute_block.ll
    M llvm/test/CodeGen/SPIRV/pstruct.ll
    M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange_2.ll
    M llvm/test/CodeGen/SPIRV/transcoding/block_w_struct_return.ll
    M llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
    M llvm/test/CodeGen/SPIRV/transcoding/extract_insert_value.ll
    M llvm/test/CodeGen/SPIRV/transcoding/global_block.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-xchg-07.ll
    M llvm/test/CodeGen/SystemZ/vec-intrinsics-01.ll
    M llvm/test/CodeGen/SystemZ/vec-intrinsics-02.ll
    M llvm/test/CodeGen/SystemZ/vec-intrinsics-03.ll
    M llvm/test/CodeGen/SystemZ/vec-intrinsics-04.ll
    M llvm/test/CodeGen/SystemZ/vec-load-element.ll
    A llvm/test/CodeGen/SystemZ/vec-rot-01.ll
    A llvm/test/CodeGen/SystemZ/vec-rot-02.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
    M llvm/test/CodeGen/Thumb2/mve-tailpred-loopinvariant.ll
    M llvm/test/CodeGen/Thumb2/pacbti-m-vla.ll
    M llvm/test/CodeGen/WebAssembly/unrolled-mem-indices.ll
    M llvm/test/CodeGen/WinEH/wineh-asm.ll
    M llvm/test/CodeGen/WinEH/wineh-cloning.ll
    M llvm/test/CodeGen/WinEH/wineh-demotion.ll
    M llvm/test/CodeGen/WinEH/wineh-no-demotion.ll
    M llvm/test/CodeGen/X86/2008-08-06-CmpStride.ll
    M llvm/test/CodeGen/X86/MergeConsecutiveStores.ll
    A llvm/test/CodeGen/X86/addr-mode-matcher-4.ll
    A llvm/test/CodeGen/X86/apx/kmov-copy-to-from-asymmetric-reg.ll
    A llvm/test/CodeGen/X86/apx/kmov-domain-assignment.ll
    A llvm/test/CodeGen/X86/apx/kmov-isel.ll
    A llvm/test/CodeGen/X86/apx/kmov-kk.ll
    A llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
    M llvm/test/CodeGen/X86/atomic-unordered.ll
    M llvm/test/CodeGen/X86/avx512vlvp2intersect-intrinsics.ll
    M llvm/test/CodeGen/X86/avx512vnni-combine.ll
    M llvm/test/CodeGen/X86/avx512vp2intersect-intrinsics.ll
    M llvm/test/CodeGen/X86/avxvnni-combine.ll
    M llvm/test/CodeGen/X86/code-model-elf-sections.ll
    A llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
    M llvm/test/CodeGen/X86/code-model-elf.ll
    A llvm/test/CodeGen/X86/combine-fneg.ll
    M llvm/test/CodeGen/X86/combine-or.ll
    M llvm/test/CodeGen/X86/dpbusd_const.ll
    M llvm/test/CodeGen/X86/fat-lto-section.ll
    M llvm/test/CodeGen/X86/fold-pcmpeqd-2.ll
    M llvm/test/CodeGen/X86/frem.ll
    M llvm/test/CodeGen/X86/loop-strength-reduce4.ll
    M llvm/test/CodeGen/X86/lsr-addrecloops.ll
    M llvm/test/CodeGen/X86/lsr-loop-exit-cond.ll
    M llvm/test/CodeGen/X86/merge_store.ll
    A llvm/test/CodeGen/X86/nontemporal-4.ll
    M llvm/test/CodeGen/X86/optimize-max-0.ll
    M llvm/test/CodeGen/X86/pcsections.ll
    A llvm/test/CodeGen/X86/preserve_mostcc64_win.ll
    M llvm/test/CodeGen/X86/stack-folding-avx512vp2intersect.ll
    M llvm/test/CodeGen/X86/unused_stackslots.ll
    M llvm/test/CodeGen/X86/vec_fabs.ll
    A llvm/test/CodeGen/X86/vec_fcopysign.ll
    M llvm/test/CodeGen/X86/vec_fneg.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-lzcnt-512.ll
    M llvm/test/CodeGen/X86/vp2intersect_multiple_pairs.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
    M llvm/test/CodeGen/XCore/atomic.ll
    M llvm/test/DebugInfo/Generic/mem2reg-promote-alloca-1.ll
    M llvm/test/DebugInfo/Generic/mem2reg-promote-alloca-2.ll
    M llvm/test/DebugInfo/Generic/mem2reg-promote-alloca-3.ll
    A llvm/test/DebugInfo/Generic/mixed-source.ll
    M llvm/test/DebugInfo/Generic/volatile-alloca.ll
    R llvm/test/DebugInfo/Inputs/dwarfdump-test3-decl.h
    R llvm/test/DebugInfo/Inputs/dwarfdump-test3.cc
    M llvm/test/DebugInfo/X86/codegenprep-addrsink.ll
    A llvm/test/DebugInfo/X86/codegenprepare-rollback.ll
    M llvm/test/DebugInfo/X86/debug-names-types.ll
    M llvm/test/DebugInfo/X86/licm-undef-dbg-value.ll
    M llvm/test/DebugInfo/X86/mem2reg_fp80.ll
    M llvm/test/DebugInfo/XCOFF/empty.ll
    M llvm/test/DebugInfo/XCOFF/explicit-section.ll
    M llvm/test/DebugInfo/XCOFF/function-sections.ll
    M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_thumbv7_printf.s
    M llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_constant_address_space.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_generic_address_space.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_global_address_space.ll
    A llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
    A llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
    A llvm/test/MC/AMDGPU/gfx12_asm_sop2_alias.s
    A llvm/test/MC/AMDGPU/gfx12_asm_sopc.s
    A llvm/test/MC/AMDGPU/gfx12_asm_sopk.s
    A llvm/test/MC/AMDGPU/gfx12_asm_sopk_alias.s
    A llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vimage_alias.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vsample.s
    A llvm/test/MC/AMDGPU/gfx12_err.s
    A llvm/test/MC/ARM/pcrel-adr16-relocs.s
    A llvm/test/MC/ARM/pcrel-adr32-relocs.s
    M llvm/test/MC/ARM/pcrel-arm-ldr-imm8-relocs.s
    M llvm/test/MC/ARM/pcrel-global.s
    M llvm/test/MC/ARM/pcrel-ldr-relocs.s
    M llvm/test/MC/ARM/pcrel-thumb-ldr2-relocs.s
    M llvm/test/MC/ARM/thumb1-relax-adr.s
    M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopc.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopp.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vsample.txt
    M llvm/test/MC/Disassembler/SystemZ/insns-z13.txt
    A llvm/test/MC/Disassembler/X86/apx/andn.txt
    A llvm/test/MC/Disassembler/X86/apx/bextr.txt
    A llvm/test/MC/Disassembler/X86/apx/blsi.txt
    A llvm/test/MC/Disassembler/X86/apx/blsmsk.txt
    A llvm/test/MC/Disassembler/X86/apx/blsr.txt
    A llvm/test/MC/Disassembler/X86/apx/bzhi.txt
    M llvm/test/MC/Disassembler/X86/apx/evex-format.txt
    A llvm/test/MC/Disassembler/X86/apx/kmov.txt
    A llvm/test/MC/Disassembler/X86/apx/mulx.txt
    A llvm/test/MC/Disassembler/X86/apx/pdep.txt
    A llvm/test/MC/Disassembler/X86/apx/pext.txt
    A llvm/test/MC/Disassembler/X86/apx/rorx.txt
    A llvm/test/MC/Disassembler/X86/apx/sarx.txt
    A llvm/test/MC/Disassembler/X86/apx/shlx.txt
    A llvm/test/MC/Disassembler/X86/apx/shrx.txt
    A llvm/test/MC/PowerPC/ppc64-encoding-full-names.s
    M llvm/test/MC/SystemZ/fixups.s
    M llvm/test/MC/SystemZ/insn-good-z13.s
    M llvm/test/MC/SystemZ/insn-good.s
    A llvm/test/MC/X86/apx/andn-att.s
    A llvm/test/MC/X86/apx/andn-intel.s
    A llvm/test/MC/X86/apx/bextr-att.s
    A llvm/test/MC/X86/apx/bextr-intel.s
    A llvm/test/MC/X86/apx/blsi-att.s
    A llvm/test/MC/X86/apx/blsi-intel.s
    A llvm/test/MC/X86/apx/blsmsk-att.s
    A llvm/test/MC/X86/apx/blsmsk-intel.s
    A llvm/test/MC/X86/apx/blsr-att.s
    A llvm/test/MC/X86/apx/blsr-intel.s
    A llvm/test/MC/X86/apx/bzhi-att.s
    A llvm/test/MC/X86/apx/bzhi-intel.s
    M llvm/test/MC/X86/apx/evex-format-att.s
    M llvm/test/MC/X86/apx/evex-format-intel.s
    A llvm/test/MC/X86/apx/kmov-att.s
    A llvm/test/MC/X86/apx/kmov-intel.s
    A llvm/test/MC/X86/apx/mulx-att.s
    A llvm/test/MC/X86/apx/mulx-intel.s
    A llvm/test/MC/X86/apx/pdep-att.s
    A llvm/test/MC/X86/apx/pdep-intel.s
    A llvm/test/MC/X86/apx/pext-att.s
    A llvm/test/MC/X86/apx/pext-intel.s
    A llvm/test/MC/X86/apx/rorx-att.s
    A llvm/test/MC/X86/apx/rorx-intel.s
    A llvm/test/MC/X86/apx/sarx-att.s
    A llvm/test/MC/X86/apx/sarx-intel.s
    A llvm/test/MC/X86/apx/shlx-att.s
    A llvm/test/MC/X86/apx/shlx-intel.s
    A llvm/test/MC/X86/apx/shrx-att.s
    A llvm/test/MC/X86/apx/shrx-intel.s
    A llvm/test/MachineVerifier/verify-implicit-def.mir
    M llvm/test/Other/loop-mssa-not-preserved.ll
    A llvm/test/Other/trigger-verifier-error.ll
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/test/ThinLTO/X86/builtin-nostrip.ll
    M llvm/test/ThinLTO/X86/memprof-duplicate-context-ids.ll
    M llvm/test/Transforms/ArgumentPromotion/pr27568.ll
    M llvm/test/Transforms/BDCE/basic.ll
    M llvm/test/Transforms/CodeExtractor/LoopExtractor_alloca.ll
    M llvm/test/Transforms/CodeGenPrepare/AArch64/large-offset-gep.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/catchpad-phi-cast.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/cttz-ctlz.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/select.ll
    M llvm/test/Transforms/CodeGenPrepare/sink-shift-and-trunc.ll
    A llvm/test/Transforms/Coroutines/coro-split-musttail-chain-pgo-counter-promo.ll
    M llvm/test/Transforms/DCE/basic.ll
    M llvm/test/Transforms/DeadStoreElimination/debuginfo.ll
    M llvm/test/Transforms/EmbedBitcode/embed.ll
    M llvm/test/Transforms/GVN/captured-before.ll
    A llvm/test/Transforms/GlobalOpt/globalvar-code-model.ll
    M llvm/test/Transforms/GlobalOpt/shrink-global-to-bool-check-debug.ll
    M llvm/test/Transforms/IRCE/stride_more_than_1.ll
    M llvm/test/Transforms/IndVarSimplify/ashr-tripcount.ll
    M llvm/test/Transforms/IndVarSimplify/backedge-on-min-max.ll
    M llvm/test/Transforms/IndVarSimplify/lcssa-preservation.ll
    M llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
    M llvm/test/Transforms/IndVarSimplify/pr58702-invalidate-scev-when-replacing-congruent-phis.ll
    M llvm/test/Transforms/IndVarSimplify/pr64891.ll
    M llvm/test/Transforms/InstCombine/2010-11-01-lshr-mask.ll
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/add3.ll
    M llvm/test/Transforms/InstCombine/addnegneg.ll
    M llvm/test/Transforms/InstCombine/allocsize.ll
    M llvm/test/Transforms/InstCombine/and-or-not.ll
    M llvm/test/Transforms/InstCombine/and-or.ll
    M llvm/test/Transforms/InstCombine/and.ll
    M llvm/test/Transforms/InstCombine/apint-shift.ll
    A llvm/test/Transforms/InstCombine/array.ll
    M llvm/test/Transforms/InstCombine/binop-and-shifts.ll
    M llvm/test/Transforms/InstCombine/binop-of-displaced-shifts.ll
    M llvm/test/Transforms/InstCombine/bitcast-inselt-bitcast.ll
    M llvm/test/Transforms/InstCombine/bitreverse.ll
    M llvm/test/Transforms/InstCombine/bswap.ll
    M llvm/test/Transforms/InstCombine/call-guard.ll
    M llvm/test/Transforms/InstCombine/cast-mul-select.ll
    M llvm/test/Transforms/InstCombine/cast-set-preserve-signed-dbg-val.ll
    M llvm/test/Transforms/InstCombine/cast.ll
    M llvm/test/Transforms/InstCombine/consecutive-fences.ll
    M llvm/test/Transforms/InstCombine/dbg-scalable-store-fixed-frag.ll
    M llvm/test/Transforms/InstCombine/debuginfo-dce2.ll
    M llvm/test/Transforms/InstCombine/debuginfo-skip.ll
    M llvm/test/Transforms/InstCombine/debuginfo-variables.ll
    M llvm/test/Transforms/InstCombine/debuginfo.ll
    M llvm/test/Transforms/InstCombine/debuginfo_add.ll
    M llvm/test/Transforms/InstCombine/double-float-shrink-2.ll
    M llvm/test/Transforms/InstCombine/erase-dbg-values-at-dead-alloc-site.ll
    M llvm/test/Transforms/InstCombine/free-inversion.ll
    M llvm/test/Transforms/InstCombine/funnel.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-and.ll
    M llvm/test/Transforms/InstCombine/icmp-of-xor-x.ll
    M llvm/test/Transforms/InstCombine/icmp.ll
    M llvm/test/Transforms/InstCombine/idioms.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll
    M llvm/test/Transforms/InstCombine/lower-dbg-declare.ll
    M llvm/test/Transforms/InstCombine/masked-merge-or.ll
    M llvm/test/Transforms/InstCombine/masked-merge-xor.ll
    M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
    M llvm/test/Transforms/InstCombine/mul-masked-bits.ll
    M llvm/test/Transforms/InstCombine/mul.ll
    M llvm/test/Transforms/InstCombine/mul_fold.ll
    M llvm/test/Transforms/InstCombine/mul_full_32.ll
    M llvm/test/Transforms/InstCombine/mul_full_64.ll
    M llvm/test/Transforms/InstCombine/not.ll
    M llvm/test/Transforms/InstCombine/or-concat.ll
    M llvm/test/Transforms/InstCombine/or-shifted-masks.ll
    M llvm/test/Transforms/InstCombine/or.ll
    M llvm/test/Transforms/InstCombine/phi.ll
    M llvm/test/Transforms/InstCombine/pr32686.ll
    M llvm/test/Transforms/InstCombine/pr43893.ll
    M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
    M llvm/test/Transforms/InstCombine/select-icmp-and.ll
    M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/shift-shift.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/sink-instruction-introduces-unnecessary-poison-value.ll
    M llvm/test/Transforms/InstCombine/stacksave-debuginfo.ll
    M llvm/test/Transforms/InstCombine/storemerge-dbg.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
    M llvm/test/Transforms/InstCombine/trunc-demand.ll
    M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/trunc.ll
    M llvm/test/Transforms/InstCombine/udiv-simplify.ll
    M llvm/test/Transforms/InstCombine/unavailable-debug.ll
    M llvm/test/Transforms/InstCombine/unfold-masked-merge-with-const-mask-scalar.ll
    M llvm/test/Transforms/InstCombine/unfold-masked-merge-with-const-mask-vector.ll
    M llvm/test/Transforms/InstCombine/xor.ll
    M llvm/test/Transforms/InstCombine/xor2.ll
    M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
    M llvm/test/Transforms/InstSimplify/freeze-noundef.ll
    M llvm/test/Transforms/InstSimplify/implies.ll
    M llvm/test/Transforms/InstSimplify/select.ll
    M llvm/test/Transforms/JumpThreading/branch-debug-info.ll
    M llvm/test/Transforms/LCSSA/avoid-intrinsics-in-catchswitch.ll
    M llvm/test/Transforms/LCSSA/basictest.ll
    A llvm/test/Transforms/LICM/dbg-value-sink.ll
    M llvm/test/Transforms/LICM/debug-value.ll
    M llvm/test/Transforms/LICM/hoist-debuginvariant.ll
    A llvm/test/Transforms/LICM/pr64897.ll
    M llvm/test/Transforms/LICM/sinking-debugify.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/complex-index.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/extended-index.ll
    M llvm/test/Transforms/LoopIdiom/X86/arithmetic-right-shift-until-zero.ll
    M llvm/test/Transforms/LoopIdiom/X86/left-shift-until-bittest.ll
    M llvm/test/Transforms/LoopIdiom/X86/logical-right-shift-until-zero-debuginfo.ll
    M llvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll
    M llvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll
    M llvm/test/Transforms/LoopIdiom/unroll-custom-dl.ll
    M llvm/test/Transforms/LoopIdiom/unroll.ll
    M llvm/test/Transforms/LoopInterchange/pr57148.ll
    M llvm/test/Transforms/LoopReroll/basic32iters.ll
    M llvm/test/Transforms/LoopReroll/indvar_with_ext.ll
    M llvm/test/Transforms/LoopReroll/reduction.ll
    M llvm/test/Transforms/LoopReroll/reroll_with_dbg.ll
    A llvm/test/Transforms/LoopRotate/delete-dbg-values.ll
    M llvm/test/Transforms/LoopStrengthReduce/ARM/complexity.ll
    M llvm/test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-cost-compare.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/ivchain-X86.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/missing-phi-operand-update.ll
    M llvm/test/Transforms/LoopUnroll/X86/call-remark.ll
    M llvm/test/Transforms/LoopUnroll/X86/high-cost-expansion.ll
    M llvm/test/Transforms/LoopUnroll/peel-loop-conditions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/armpl-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sleef-intrinsic-calls-aarch64.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-insertelt.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
    M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
    M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/i8-induction.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-masked-group.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/pr39099.ll
    M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
    A llvm/test/Transforms/LoopVectorize/preserve-or-disjoint.ll
    M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
    M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
    M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
    M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
    M llvm/test/Transforms/LoopVectorize/unroll_nonlatch.ll
    M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/Mem2Reg/PromoteMemToRegister.ll
    M llvm/test/Transforms/MemCpyOpt/pr37967.ll
    M llvm/test/Transforms/MergedLoadStoreMotion/st_sink_check_debug.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines.ll
    M llvm/test/Transforms/OpenMP/gpu_state_machine_function_ptr_replacement.ll
    M llvm/test/Transforms/OpenMP/spmdization.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
    M llvm/test/Transforms/OpenMP/spmdization_indirect.ll
    M llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll
    A llvm/test/Transforms/PGOProfile/Inputs/memprof_internal_linkage.exe
    A llvm/test/Transforms/PGOProfile/Inputs/memprof_internal_linkage.memprofraw
    M llvm/test/Transforms/PGOProfile/Inputs/update_memprof_inputs.sh
    M llvm/test/Transforms/PGOProfile/indirectbr.ll
    A llvm/test/Transforms/PGOProfile/memprof_internal_linkage.ll
    M llvm/test/Transforms/PhaseOrdering/X86/SROA-after-final-loop-unrolling-2.ll
    M llvm/test/Transforms/PhaseOrdering/X86/loadcombine.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pixel-splat.ll
    M llvm/test/Transforms/SCCP/ipsccp-basic.ll
    M llvm/test/Transforms/SCCP/loadtest.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
    M llvm/test/Transforms/SLPVectorizer/NVPTX/v2f16.ll
    M llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll
    M llvm/test/Transforms/SLPVectorizer/X86/consecutive-access.ll
    M llvm/test/Transforms/SLPVectorizer/X86/hoist.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal.ll
    M llvm/test/Transforms/SLPVectorizer/X86/in-tree-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/loopinvariant.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_horcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_not_all_parts.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scheduling.ll
    M llvm/test/Transforms/SLPVectorizer/X86/simple-loop.ll
    M llvm/test/Transforms/SLPVectorizer/X86/slp-throttle.ll
    M llvm/test/Transforms/SROA/alignment.ll
    M llvm/test/Transforms/SafeStack/AArch64/abi.ll
    M llvm/test/Transforms/SafeStack/AArch64/abi_ssp.ll
    M llvm/test/Transforms/SafeStack/AArch64/unreachable.ll
    M llvm/test/Transforms/SafeStack/ARM/abi.ll
    M llvm/test/Transforms/SafeStack/ARM/debug.ll
    M llvm/test/Transforms/SafeStack/ARM/setjmp.ll
    M llvm/test/Transforms/SafeStack/X86/abi.ll
    M llvm/test/Transforms/SafeStack/X86/abi_ssp.ll
    M llvm/test/Transforms/SafeStack/X86/addr-taken.ll
    M llvm/test/Transforms/SafeStack/X86/array-aligned.ll
    M llvm/test/Transforms/SafeStack/X86/array.ll
    M llvm/test/Transforms/SafeStack/X86/byval.ll
    M llvm/test/Transforms/SafeStack/X86/call.ll
    M llvm/test/Transforms/SafeStack/X86/cast.ll
    M llvm/test/Transforms/SafeStack/X86/coloring-ssp.ll
    M llvm/test/Transforms/SafeStack/X86/coloring.ll
    M llvm/test/Transforms/SafeStack/X86/coloring2.ll
    M llvm/test/Transforms/SafeStack/X86/constant-gep-call.ll
    M llvm/test/Transforms/SafeStack/X86/constant-gep.ll
    M llvm/test/Transforms/SafeStack/X86/constant-geps.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc-dynamic.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc.ll
    M llvm/test/Transforms/SafeStack/X86/debug-loc2.ll
    M llvm/test/Transforms/SafeStack/X86/dynamic-alloca.ll
    M llvm/test/Transforms/SafeStack/X86/escape-addr-pointer.ll
    M llvm/test/Transforms/SafeStack/X86/escape-bitcast-store.ll
    M llvm/test/Transforms/SafeStack/X86/escape-bitcast-store2.ll
    M llvm/test/Transforms/SafeStack/X86/escape-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-casted-pointer.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-invoke.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-negative.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-ptrtoint.ll
    M llvm/test/Transforms/SafeStack/X86/escape-gep-store.ll
    M llvm/test/Transforms/SafeStack/X86/escape-phi-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-select-call.ll
    M llvm/test/Transforms/SafeStack/X86/escape-vector.ll
    M llvm/test/Transforms/SafeStack/X86/invoke.ll
    M llvm/test/Transforms/SafeStack/X86/layout-frag.ll
    M llvm/test/Transforms/SafeStack/X86/layout-region-split.ll
    M llvm/test/Transforms/SafeStack/X86/memintrinsic-oob-read.ll
    M llvm/test/Transforms/SafeStack/X86/musttail.ll
    M llvm/test/Transforms/SafeStack/X86/no-attr.ll
    M llvm/test/Transforms/SafeStack/X86/no-crash-on-lifetime.ll
    M llvm/test/Transforms/SafeStack/X86/phi-cycle.ll
    M llvm/test/Transforms/SafeStack/X86/phi.ll
    M llvm/test/Transforms/SafeStack/X86/pr54784.ll
    M llvm/test/Transforms/SafeStack/X86/ret.ll
    M llvm/test/Transforms/SafeStack/X86/setjmp.ll
    M llvm/test/Transforms/SafeStack/X86/setjmp2.ll
    M llvm/test/Transforms/SafeStack/X86/sink-to-use.ll
    M llvm/test/Transforms/SafeStack/X86/ssp.ll
    M llvm/test/Transforms/SafeStack/X86/store.ll
    M llvm/test/Transforms/SafeStack/X86/struct.ll
    M llvm/test/Transforms/SampleProfile/branch.ll
    M llvm/test/Transforms/SampleProfile/calls.ll
    M llvm/test/Transforms/SampleProfile/discriminator.ll
    M llvm/test/Transforms/SampleProfile/fnptr.ll
    M llvm/test/Transforms/SampleProfile/fsafdo_test.ll
    M llvm/test/Transforms/SampleProfile/offset.ll
    M llvm/test/Transforms/SampleProfile/profile-inference-even-count-distribution.ll
    M llvm/test/Transforms/SampleProfile/profile-inference-rebalance-large.ll
    M llvm/test/Transforms/SampleProfile/profile-inference-rebalance.ll
    M llvm/test/Transforms/SampleProfile/profile-inference.ll
    M llvm/test/Transforms/SampleProfile/propagate.ll
    M llvm/test/Transforms/SampleProfile/remap.ll
    M llvm/test/Transforms/SimplifyCFG/X86/merge-compatible-invokes-of-landingpad-debuginfo.ll
    M llvm/test/Transforms/SimplifyCFG/debug-info-thread-phi.ll
    M llvm/test/Transforms/TailCallElim/accum_recursion.ll
    M llvm/test/Transforms/TailCallElim/debugloc.ll
    A llvm/test/Transforms/TailCallElim/tre-minmax-intrinsic.ll
    M llvm/test/Transforms/Util/Debugify/loc-only.ll
    A llvm/test/Verifier/branch-prot-attrs.ll
    M llvm/test/lit.site.cfg.py.in
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/branch-probability-analysis.ll.expected
    A llvm/test/tools/llvm-exegesis/X86/latency/subprocess-rsp.s
    A llvm/test/tools/llvm-mca/RISCV/SiFive7/div-fdiv.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass-c.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/reductions.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/strided-load-x0.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/vector-integer-arithmetic.s
    M llvm/test/tools/llvm-mca/RISCV/different-lmul-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/different-sew-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/disable-im.s
    M llvm/test/tools/llvm-mca/RISCV/fractional-lmul-data.s
    M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-at-start.s
    M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-middle.s
    M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-region.s
    M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-straddles-region.s
    M llvm/test/tools/llvm-mca/RISCV/multiple-same-lmul-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/multiple-same-sew-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/needs-sew-but-only-lmul.s
    M llvm/test/tools/llvm-mca/RISCV/no-vsetvli-to-start.s
    M llvm/test/tools/llvm-mca/RISCV/sew-instrument-at-start.s
    M llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-middle.s
    M llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-region.s
    M llvm/test/tools/llvm-mca/RISCV/sew-instrument-straddles-region.s
    M llvm/test/tools/llvm-mca/RISCV/vle-vse.s
    M llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-instrument.s
    M llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-sew-instrument.s
    M llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-instrument.s
    M llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-sew-instrument.s
    M llvm/test/tools/llvm-readobj/ELF/note-amd-invalid-v3.test
    M llvm/test/tools/llvm-readobj/ELF/note-amdgpu-invalid.s
    M llvm/test/tools/llvm-readobj/ELF/reloc-types-loongarch64.test
    M llvm/tools/lli/ChildTarget/ChildTarget.cpp
    M llvm/tools/llvm-c-test/echo.cpp
    M llvm/tools/llvm-cfi-verify/lib/FileAnalysis.h
    M llvm/tools/llvm-cfi-verify/lib/GraphBuilder.h
    M llvm/tools/llvm-dwarfutil/Error.h
    M llvm/tools/llvm-dwarfutil/Options.h
    M llvm/tools/llvm-dwp/Opts.td
    M llvm/tools/llvm-dwp/llvm-dwp.cpp
    M llvm/tools/llvm-exegesis/lib/Analysis.h
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h
    M llvm/tools/llvm-lto/llvm-lto.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOptions.h
    M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-pdbutil/DumpOutputStyle.h
    M llvm/tools/llvm-pdbutil/ExplainOutputStyle.h
    M llvm/tools/llvm-pdbutil/PrettyClassDefinitionDumper.h
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/tools/llvm-profgen/CallContext.h
    M llvm/tools/llvm-profgen/PerfReader.h
    M llvm/tools/llvm-profgen/ProfiledBinary.h
    M llvm/tools/llvm-rc/ResourceScriptStmt.h
    M llvm/tools/llvm-rc/ResourceScriptToken.h
    M llvm/tools/llvm-readobj/COFFDumper.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.h
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
    M llvm/tools/llvm-reduce/deltas/Delta.h
    M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
    M llvm/tools/llvm-reduce/llvm-reduce.cpp
    M llvm/tools/llvm-remarkutil/RemarkCounter.h
    M llvm/tools/llvm-xray/xray-account.h
    A llvm/tools/spirv-tools/CMakeLists.txt
    M llvm/unittests/ADT/CombinationGeneratorTest.cpp
    M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.h
    M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/VectorBuilderTest.cpp
    M llvm/unittests/Object/ELFTest.cpp
    M llvm/unittests/Support/AddressRangeTest.cpp
    M llvm/unittests/Support/DivisionByConstantTest.cpp
    M llvm/unittests/Support/RegexTest.cpp
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/unittests/TextAPI/CMakeLists.txt
    A llvm/unittests/TextAPI/RecordTests.cpp
    M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/unittests/XRay/FDRProducerConsumerTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/git/github-automation.py
    R llvm/utils/git/sync-release-repo.sh
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Format/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/Format/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/TextAPI/BUILD.gn
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/TextAPI/BUILD.gn
    M llvm/utils/lit/lit/TestRunner.py
    M llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt
    M llvm/utils/lit/tests/unit/TestRunner.py
    M mlir/docs/Dialects/Mesh.md
    M mlir/docs/Dialects/Transform.md
    M mlir/docs/Dialects/Vector.md
    M mlir/docs/Passes.md
    M mlir/examples/toy/Ch7/include/toy/Dialect.h
    A mlir/include/mlir-c/Target/LLVMIR.h
    M mlir/include/mlir/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.h
    M mlir/include/mlir/Conversion/ConvertToLLVM/ToLLVMPass.h
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSME.h
    A mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEEnums.h
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
    M mlir/include/mlir/Dialect/ArmSME/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.h
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
    M mlir/include/mlir/Dialect/ArmSME/Utils/Utils.h
    M mlir/include/mlir/Dialect/DLTI/DLTI.h
    M mlir/include/mlir/Dialect/GPU/IR/GPUDialect.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/include/mlir/Dialect/Quant/QuantTypes.h
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.h
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td
    M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/include/mlir/IR/AttrTypeBase.td
    M mlir/include/mlir/IR/AttributeSupport.h
    M mlir/include/mlir/IR/BuiltinAttributes.h
    M mlir/include/mlir/IR/BuiltinAttributes.td
    M mlir/include/mlir/IR/BuiltinLocationAttributes.td
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/TypeSupport.h
    M mlir/include/mlir/TableGen/AttrOrTypeDef.h
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/CAPI/CMakeLists.txt
    M mlir/lib/CAPI/Dialect/AMDGPU.cpp
    A mlir/lib/CAPI/Target/CMakeLists.txt
    A mlir/lib/CAPI/Target/LLVMIR.cpp
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/lib/Conversion/ArmSMEToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
    M mlir/lib/Conversion/ArmSMEToSCF/CMakeLists.txt
    M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp
    M mlir/lib/Conversion/GPUCommon/CMakeLists.txt
    M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/lib/Conversion/VectorToArmSME/CMakeLists.txt
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
    M mlir/lib/Dialect/ArmSME/CMakeLists.txt
    M mlir/lib/Dialect/ArmSME/IR/ArmSME.cpp
    M mlir/lib/Dialect/ArmSME/IR/CMakeLists.txt
    A mlir/lib/Dialect/ArmSME/IR/Utils.cpp
    R mlir/lib/Dialect/ArmSME/Transforms/ArmSMETypeConverter.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/ArmSME/Transforms/EnableArmStreaming.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
    R mlir/lib/Dialect/ArmSME/Utils/CMakeLists.txt
    R mlir/lib/Dialect/ArmSME/Utils/Utils.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
    M mlir/lib/Dialect/Complex/IR/ComplexOps.cpp
    M mlir/lib/Dialect/GPU/CMakeLists.txt
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/Mesh/IR/CMakeLists.txt
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
    M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorDescriptor.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorDescriptor.h
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Tensor/Transforms/ConcatOpPatterns.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
    M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
    M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/IR/ExtensibleDialect.cpp
    M mlir/lib/IR/MLIRContext.cpp
    M mlir/lib/IR/Verifier.cpp
    M mlir/lib/TableGen/AttrOrTypeDef.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.h
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.h
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/python/mlir/dialects/affine.py
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/CAPI/CMakeLists.txt
    A mlir/test/CAPI/translation.c
    M mlir/test/CMakeLists.txt
    M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
    M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
    M mlir/test/Conversion/NVVMToLLVM/invalid.mlir
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
    M mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir
    M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/ArmSME/arith-ops-to-sme.mlir
    R mlir/test/Dialect/ArmSME/arm-sme-to-llvm-casts.mlir
    M mlir/test/Dialect/ArmSME/arm-sme-to-llvm.mlir
    M mlir/test/Dialect/ArmSME/canonicalize.mlir
    M mlir/test/Dialect/ArmSME/cse.mlir
    M mlir/test/Dialect/ArmSME/enable-arm-streaming.mlir
    M mlir/test/Dialect/ArmSME/invalid.mlir
    M mlir/test/Dialect/ArmSME/roundtrip.mlir

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/7f2f3512dacd...ac12665e26b8


More information about the All-commits mailing list