[all-commits] [llvm/llvm-project] 68106b: [Sample Profile Loader] Fix potential invalidated...

Justin Bogner via All-commits all-commits at lists.llvm.org
Wed Dec 6 14:47:05 PST 2023


  Branch: refs/heads/users/bogner/spr/main.hlsl-rwbuffert-should-not-have-a-default-parameter
  Home:   https://github.com/llvm/llvm-project
  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: df2485b215af46ebd5fd3a94b929ebc951c1d12e
      https://github.com/llvm/llvm-project/commit/df2485b215af46ebd5fd3a94b929ebc951c1d12e
  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:
  -----------
  Revert "[llvm-jitlink] Add Process and Platform JITDylibs, generalize alias..."

This reverts commit 3d0dd1a7d62 while I investigate bot failures (e.g.
https://lab.llvm.org/buildbot/#/builders/272/builds/2573)


  Commit: 02f4b36ad5f2f97ff63259e38244da8fcd5a205e
      https://github.com/llvm/llvm-project/commit/02f4b36ad5f2f97ff63259e38244da8fcd5a205e
  Author: Tacet <4922191+AdvenamTacet at users.noreply.github.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libcxx/include/deque
    M libcxx/include/vector

  Log Message:
  -----------
  [libc++] Refactor of ASan annotation functions (#74023)

This commit refactors the ASan annotation functions in libc++ to reduce
unnecessary code duplication. Additionally it adds a small optimization.

- Eliminates two redundant function versions by utilizing the
`[[maybe_unused]]` attribute and guarding function bodies with `#ifndef
_LIBCPP_HAS_NO_ASAN`.
- Introduces an additional guard to an auxiliary function, allowing the
removal of a no-ops function body. This approach avoids relying on the
optimizer for code elimination.

Fixes #73043


  Commit: 3c5b42acd3e2022da40f6e4b50f5035279b8b93a
      https://github.com/llvm/llvm-project/commit/3c5b42acd3e2022da40f6e4b50f5035279b8b93a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/lower-args-vararg.ll
    M llvm/test/CodeGen/RISCV/vararg.ll

  Log Message:
  -----------
  [RISCV] Allocate the varargs GPR save area as a single object. (#74354)

Previously we allocated one object for each GPR. We also allocated the
same offset twice, once to save for VASTART and then again for the first
register in the save loop.

This patch uses a single object for all the registers and shares this
with VASTART. This is more consistent with other targets like AArch64
and ARM.

I've removed the setValue(nullptr) from the memory operand now. Having a
single object makes me a lot more comfortable about alias analysis being
able to see what is going on. This led to the scheduling changes in
push-pop-popret.ll and vararg.ll.


  Commit: 5c3496ff33ce8e4cc6f8c18edd7ae5fc65d23fdf
      https://github.com/llvm/llvm-project/commit/5c3496ff33ce8e4cc6f8c18edd7ae5fc65d23fdf
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/and-or-not.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll
    M llvm/test/Transforms/InstCombine/masked-merge-add.ll
    M llvm/test/Transforms/InstCombine/masked-merge-or.ll
    M llvm/test/Transforms/InstCombine/masked-merge-xor.ll
    M llvm/test/Transforms/InstCombine/pr53357.ll
    M llvm/unittests/Analysis/ValueTrackingTest.cpp

  Log Message:
  -----------
  [InstCombine] Check isGuaranteedNotToBeUndef in haveNoCommonBitsSetSpecialCases. (#74390)

It's not safe for InstCombine to add disjoint metadata when converting
Add to Or otherwise.

I've added noundef attribute to preserve existing test behavior.


  Commit: ddebce70210dcc97646578705dd13c6fb0e3ee0e
      https://github.com/llvm/llvm-project/commit/ddebce70210dcc97646578705dd13c6fb0e3ee0e
  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] Respect code_model when determining if a global is small/large (#74498)

Using the GlobalVariable code_model property added in #72077.

code_model = "small" means the global should be treated as small
regardless of the TargetMachine code model.
code_model = "large" means the global should be treated as large
regardless of the TargetMachine code model.

Inferring small/large based on a known section name still takes
precedence for correctness.

The intention is to use this for globals that are accessed very
infrequently but also take up a lot of space in the binary to mitigate
relocation overflows. Prime examples are globals that go in
"__llvm_prf_names" for coverage/PGO instrumented builds and
"asan_globals" for ASan builds.


  Commit: 7563eb64102c3bee9b0ab581309d170891fa0565
      https://github.com/llvm/llvm-project/commit/7563eb64102c3bee9b0ab581309d170891fa0565
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir

  Log Message:
  -----------
  [tosa] Fix crash in shape inference for `tosa.transpose` (#74367)

Fixes a crash in `TransposeOp::inferReturnTypeComponents()` when the
supplied permutation tensor is rank-0.
Also removes some dead code from the type inference function.

Fix https://github.com/llvm/llvm-project/issues/74237


  Commit: 33af16f580b168c99a61db118ef59aaf6dd1488f
      https://github.com/llvm/llvm-project/commit/33af16f580b168c99a61db118ef59aaf6dd1488f
  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/lib/Transforms/Utils/Local.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Final cleanup for enabling non-instr-debuginfo (#74497)

Some final errors have turned up when doing stage2clang builds:
* We can insert before end(), which won't have an attached DPMarker,
thus we can have a nullptr DPMarker in Instruction::insertBefore. Add a
null check there.
* We need to use the iterator-returning form of getFirstNonPHI to ensure
we don't insert any PHIs behind debug-info at the start of a block.


  Commit: 3d21b5603835fcd1de8d0565c3324e36fed21ff1
      https://github.com/llvm/llvm-project/commit/3d21b5603835fcd1de8d0565c3324e36fed21ff1
  Author: Kamau Bridgeman <kamau.bridgeman at ibm.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M compiler-rt/CMakeLists.txt

  Log Message:
  -----------
  [GTest][c++17] Silence warnings when building GTest with gcc-toolset-12

This change fixes a build break introduced by aafad2d(#70353) on
the clang-ppc64le-rhel build bot. If the third-party Google Test suite
is built using gcc-toolset-12, the implementation of std::stable_sort in
the toolchain will use a get_temporary_buffer declaration that is marked
_GLIBCXX17_DEPRECATED. This change adds -Wno-deprecated-declarations to
the GTest flags if the toolchain is detected in the build compiler on linux.


  Commit: 9c2e5449f4c7b8dea918cf9640a4cc26c6972866
      https://github.com/llvm/llvm-project/commit/9c2e5449f4c7b8dea918cf9640a4cc26c6972866
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M libc/src/__support/threads/linux/thread.cpp

  Log Message:
  -----------
  [libc] remove spurious LIBC_INLINE (#74505)

This function is marked noinline; the inline keyword (or whatever
LIBC_INLINE
resolves to) will have no effect.


  Commit: 391a7577e703516dbefd41b3da8f3bbd751c6978
      https://github.com/llvm/llvm-project/commit/391a7577e703516dbefd41b3da8f3bbd751c6978
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/test/Conversion/GPUCommon/lower-memory-space-attrs.mlir

  Log Message:
  -----------
  [mlir][gpu] Add lowering dynamic_shared_memory op for rocdl (#74473)

This PR adds lowering of `gpu.dynamic_shared_memory` to rocdl target.


  Commit: f20af7372fcef3f317743063999403beba630078
      https://github.com/llvm/llvm-project/commit/f20af7372fcef3f317743063999403beba630078
  Author: eleviant <56861949+eleviant at users.noreply.github.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    A bolt/test/AArch64/fp-reg-spill.s

  Log Message:
  -----------
  [bolt] Support arm64 FP register spills (#73021)

At the moment llvm-bolt fails when analyzing jump tables on aarch64 in
case FP register spill/reload is used.


  Commit: a855b2c894444419c3689aff6fd0381fdeb02491
      https://github.com/llvm/llvm-project/commit/a855b2c894444419c3689aff6fd0381fdeb02491
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/include/clang/Lex/PPCallbacks.h

  Log Message:
  -----------
  Formatting change; NFC

I'm adding to the list of forward declares in a PR for #embed, so this
won't be a formatting-only change for long.


  Commit: af03e2928971bbed2901e096b446e1e1a078de43
      https://github.com/llvm/llvm-project/commit/af03e2928971bbed2901e096b446e1e1a078de43
  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

  Log Message:
  -----------
   [clang][NFC] Refactor expected directives in C++ DRs 600-699 (#74477)

[clang][NFC] Refactor expected directives in C++ DRs 600-699

This patch continues the work started with https://github.com/llvm/llvm-project/commit/ea5b1ef016d020c37f903d6c7d4f623be975dab8.
See that commit and its corresponding PR for details.


  Commit: aaf3a8ded47121c8ec8136f97a7a2c39112b3e59
      https://github.com/llvm/llvm-project/commit/aaf3a8ded47121c8ec8136f97a7a2c39112b3e59
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M lld/COFF/Config.h
    M lld/COFF/Driver.cpp
    M lld/COFF/Options.td
    M lld/COFF/Writer.cpp
    M lld/MinGW/Driver.cpp
    M lld/MinGW/Options.td
    M lld/test/COFF/debug-reloc.s
    M lld/test/COFF/rsds.test
    M lld/test/MinGW/driver.test

  Log Message:
  -----------
  [LLD][COFF] Add -build-id flag to generate .buildid section. (#71433)

[RFC](https://discourse.llvm.org/t/rfc-add-build-id-flag-to-lld-link/74661)

Before, lld-link only generate the debug directory containing guid when
generating PDB with the hash of PDB content.

With this change, lld-link can generate the debug directory when only
`/build-id` is given:
1. If generating PDB, `/build-id` is ignored. Same behaviour as before.
2. Not generating PDB, using hash of the binary.
   - Not under MinGW, the debug directory is still in `.rdata` section.
   - Under MinGW, place the debug directory into new `.buildid` section.


  Commit: 1e3af94253cebb054db5d2050e00af0169862b39
      https://github.com/llvm/llvm-project/commit/1e3af94253cebb054db5d2050e00af0169862b39
  Author: Eric <eric at efcs.ca>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

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

  Log Message:
  -----------
  Disable fail-fast for libc++ builders. (#74485)

It seems the fail fast just doesn't strike the right balance.
It wastes too many resources, especially if a build is killed because
the machine it was running on got preempted.

Instead, we should simply not run any future jobs if a failure has
occured, while letting the already running jobs finish.


  Commit: 12e5148f9cf24b1360b3adfc7e3f5994a518f0cd
      https://github.com/llvm/llvm-project/commit/12e5148f9cf24b1360b3adfc7e3f5994a518f0cd
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Fix CallOp asm parser for attr-dict (#74372)

Currently the parser & printer of `CallOp` do not match when both
varargs and attr-dict are present (round tripping is broken). This fixes
the parser so that it conforms to the written asm format in the
comments.


  Commit: a0dde7b8d16842005d6f5247dda6f17c77a5906f
      https://github.com/llvm/llvm-project/commit/a0dde7b8d16842005d6f5247dda6f17c77a5906f
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

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

  Log Message:
  -----------
  [DAG] Remove (dead) legalization for atomic LoadSDNode and StoreSDNode

This should have been part of 943f3e52 which removed the never completed
migration code which added these.  I left them out because I thought there
was more generic SDAG code to cleanup, but I'd forgotten that SystemZ
relied on custom legalizing ATOMIC_LOAD to (atomic) LoadSDNode.  As a
result, we still need the various legality checks on combines and the
common infrastructure to suport them.


  Commit: 901bc5129d1a1e8ad47801343d48dcd9e01ad386
      https://github.com/llvm/llvm-project/commit/901bc5129d1a1e8ad47801343d48dcd9e01ad386
  Author: Augusto Noronha <augusto2112 at me.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M lldb/include/lldb/Expression/DiagnosticManager.h

  Log Message:
  -----------
  [NFC][lldb] Implement DiagnosticManager::Consume (#74011)

In some situations it may be useful to have a separate DiagnosticManager
instance, and then later of move the contents of that instance back to
the "main" DiagnosticManager. For example, when silently retrying some
operation with different parameters, depending on whether the retry
succeeded or failed, LLDB may want to present a different set of
diagnostics to the user (the ones generated on the first try vs the
retry). Implement DiagnosticManager::Consume to allow for this use case.


  Commit: 86bde5adc8f20a619c7ccbfee5d9bf92c5429226
      https://github.com/llvm/llvm-project/commit/86bde5adc8f20a619c7ccbfee5d9bf92c5429226
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2023-12-05 (Tue, 05 Dec 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/config/linux/x86_64/entrypoints.txt
    M libc/include/sys/prctl.h.def
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/prctl/CMakeLists.txt
    A libc/src/sys/prctl/linux/CMakeLists.txt
    A libc/src/sys/prctl/linux/prctl.cpp
    A libc/src/sys/prctl/prctl.h
    M libc/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/prctl/CMakeLists.txt
    A libc/test/src/sys/prctl/linux/CMakeLists.txt
    A libc/test/src/sys/prctl/linux/prctl_test.cpp

  Log Message:
  -----------
  [libc] implement prctl (#74386)

Implement `prctl` as specified in
https://man7.org/linux/man-pages/man2/prctl.2.html.

This patch also includes test cases covering two simple use cases:

1. `PR_GET_NAME/PR_SET_NAME`: where userspace data is passed via arg2.
2. `PR_GET_THP_DISABLE`: where return value is passed via syscal retval.


  Commit: 0f45e45847a5f2969b8021c787a566531fc96473
      https://github.com/llvm/llvm-project/commit/0f45e45847a5f2969b8021c787a566531fc96473
  Author: Alex Light <allight at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/tools/lli/lli.cpp

  Log Message:
  -----------
  Ensure `lli --force-interpreter` disables the OrcJIT too (#73717)

Unless the OrcJIT was explicitly disabled it would be used by lli even
if the --force-interpreter flag was passed.


  Commit: d6fbd96e5eaf3e8acbf1b43dce7a311352907567
      https://github.com/llvm/llvm-project/commit/d6fbd96e5eaf3e8acbf1b43dce7a311352907567
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
    M llvm/test/CodeGen/RISCV/push-pop-popret.ll
    M llvm/test/CodeGen/RISCV/vararg.ll
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Support FrameIndex operands in getMemOperandsWithOffsetWidth / getMemOperandWithOffsetWidth (#73802)

I noted AArch64 happily accepts a FrameIndex operand as well as a
register. This doesn't cause any changes outside of my C++ unit test for
the current state of in-tree, but this will cause additional test
changes if #73789 is rebased on top of it.

Note that the returned Offset doesn't seem at all as meaningful if you
have a FrameIndex base, though the approach taken here follows AArch64
(see D54847). This change won't harm the approach taken in
shouldClusterMemOps because memOpsHaveSameBasePtr will only return true
if the FrameIndex operand is the same for both operations.


  Commit: 2284771fa02fa3c75b07fafc37c559cf6deddd59
      https://github.com/llvm/llvm-project/commit/2284771fa02fa3c75b07fafc37c559cf6deddd59
  Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    A flang/test/Driver/compiler-options.f90
    R flang/test/Driver/compiler_options.f90
    A flang/test/Driver/fast-math.f90
    R flang/test/Driver/fast_math.f90
    A flang/test/Driver/flang-f-opts.f90
    R flang/test/Driver/flang_f_opts.f90
    A flang/test/Driver/no-duplicate-main.f90
    R flang/test/Driver/no_duplicate_main.f90

  Log Message:
  -----------
  [flang][nfc] Rename four driver tests

This patch makes sure that hyphen ("-") (instead of an underscore "_")
is consistently used for all test files.

Sending without a review as this is rather straightforward.


  Commit: 7fc792cba7663b2aa54f259515319d74a5625be0
      https://github.com/llvm/llvm-project/commit/7fc792cba7663b2aa54f259515319d74a5625be0
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
    A mlir/include/mlir/Target/LLVMIR/Dialect/SPIRV/SPIRVToLLVMIRTranslation.h
    M mlir/lib/Target/LLVMIR/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
    A mlir/lib/Target/LLVMIR/Dialect/SPIRV/CMakeLists.txt
    A mlir/lib/Target/LLVMIR/Dialect/SPIRV/SPIRVToLLVMIRTranslation.cpp
    M mlir/test/CMakeLists.txt
    A mlir/test/Integration/GPU/SYCL/gpu-addf32-to-spirv.mlir
    A mlir/test/Integration/GPU/SYCL/gpu-addi64-to-spirv.mlir
    A mlir/test/Integration/GPU/SYCL/gpu-reluf32-to-spirv.mlir
    A mlir/test/Integration/GPU/SYCL/lit.local.cfg
    M mlir/test/Target/LLVMIR/gpu.mlir
    M mlir/test/lit.cfg.py
    M mlir/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [MLIR] Enable GPU Dialect to SYCL runtime integration (#71430)

GPU Dialect lowering to SYCL runtime is driven by spirv.target_env
attached to gpu.module. As a result of this, spirv.target_env remains as
an input to LLVMIR Translation.
A SPIRVToLLVMIRTranslation without any actual translation is added to
avoid an unregistered error in mlir-cpu-runner.
SelectObjectAttr.cpp is updated to
1) Pass binary size argument to getModuleLoadFn
2) Pass parameter count to getKernelLaunchFn
This change does not impact CUDA and ROCM usage since both
mlir_cuda_runtime and mlir_rocm_runtime are already updated to accept
and ignore the extra arguments.


  Commit: 13e2200fa426faffb62bdaf8b2f1f5699eee1511
      https://github.com/llvm/llvm-project/commit/13e2200fa426faffb62bdaf8b2f1f5699eee1511
  Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M flang/runtime/exceptions.cpp

  Log Message:
  -----------
  [Flang] remove assert using femode_t from AIX (#74500)

AIX does not have `femode_t` in `<cfenv>` header, removing the assert to
fix build failures

---------

Co-authored-by: Mark Danial <mark.danial at ibm.com>


  Commit: 11ba327e69531255eae550d4de1eb07cd8c1ad39
      https://github.com/llvm/llvm-project/commit/11ba327e69531255eae550d4de1eb07cd8c1ad39
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

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

  Log Message:
  -----------
  [bazel][libc] Add missing UInt.h -> CPP/bit.h dep


  Commit: 16c61cad193f71b609890618fa156ed92c106d1b
      https://github.com/llvm/llvm-project/commit/16c61cad193f71b609890618fa156ed92c106d1b
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

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

  Log Message:
  -----------
  [bazel] Port 7fc792cba7663b2aa54f259515319d74a5625be0


  Commit: 651a49c4b6bdef81c8deddbe653258c066867a58
      https://github.com/llvm/llvm-project/commit/651a49c4b6bdef81c8deddbe653258c066867a58
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/DerivedTypes.h
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp

  Log Message:
  -----------
  [IR] Remove deprecated PointerType methods that always return true (#74521)


  Commit: cee5b8777fa98312b05bf8aa81554910a8f867c5
      https://github.com/llvm/llvm-project/commit/cee5b8777fa98312b05bf8aa81554910a8f867c5
  Author: elizabethandrews <elizabeth.andrews at intel.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/attr-target-clones.c
    M clang/test/CodeGenCXX/attr-target-clones.cpp

  Log Message:
  -----------
  [Clang]  Fix linker error for function multiversioning (#71706)

Currently target_clones attribute results in a linker error when there
are no multi-versioned function declarations in the calling TU.

In the calling TU, the call is generated with the ‘normal’ assembly
name. This does not match any of the versions or the ifunc, since
version mangling includes a .versionstring, and the ifunc includes
.ifunc suffix. The linker error is not seen with GCC since the mangling
for the ifunc symbol in GCC is the ‘normal’ assembly name for function
i.e. no ifunc suffix.

This PR removes the .ifunc suffix to match GCC. It also adds alias with
the .ifunc suffix so as to ensure backward compatibility.

The changes exclude aarch64 target because the mangling for default
versions on aarch64 does not include a .default suffix and is the
'normal' assembly name, unlike other targets. It is not clear to me what
the correct behavior for this target is.

Old Phabricator review - https://reviews.llvm.org/D158666

---------

Co-authored-by: Tom Honermann <tom at honermann.net>


  Commit: 9fbcdfc7c6f547064a8fed7618aa6ba00153048d
      https://github.com/llvm/llvm-project/commit/9fbcdfc7c6f547064a8fed7618aa6ba00153048d
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/DerivedTypes.h

  Log Message:
  -----------
  [IR] Remove deprecated PointerType::getWithSamePointeeType()

As the deprecation message says, use PointerType::get(LLVMContext &, unsigned) instead.


  Commit: 9f87509b1902da2e98254f32bd32cc10eb88bb9e
      https://github.com/llvm/llvm-project/commit/9f87509b1902da2e98254f32bd32cc10eb88bb9e
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/omptarget.cpp
    A openmp/libomptarget/test/Inputs/declare_indirect_func.c
    A openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c

  Log Message:
  -----------
  [OpenMP][FIX] Ensure we allow shared libraries without kernels (#74532)

This fixes two bugs and adds a test for them:
- A shared library with declare target functions but without kernels
should not error out due to missing globals.
- Enabling LIBOMPTARGET_INFO=32 should not deadlock in the presence of
indirect declare targets.


  Commit: 07157db81d4421ced9fcf9a2002255c2a3a80d49
      https://github.com/llvm/llvm-project/commit/07157db81d4421ced9fcf9a2002255c2a3a80d49
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/compilation-database/template.json
    M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-run-with-database.cpp
    M clang/lib/Rewrite/Rewriter.cpp

  Log Message:
  -----------
  [clang][tidy] Ensure rewriter has the correct CWD (#67839)

This patch replaces use of the deprecated `FileEntry::getName()` with
`FileEntryRef::getName()`. This means the code now uses the path that
was used to register file entry in `SourceManager` instead of the
absolute path that happened to be used in the last call to
`FileManager::getFile()` some place else.

This caused some test failures due to the fact that some paths can be
relative and thus rely on the VFS CWD. The CWD can change for each TU,
so when we run `clang-tidy` on a compilation database and try to perform
all the replacements at the end, relative paths won't resolve the same.
This patch takes care to reinstate the correct CWD and make the path
reported by `FileEntryRef` absolute before passing it to
`llvm::writeToOutput()`.


  Commit: 079ca05eea35745b2c362c218069dcc1c33982b9
      https://github.com/llvm/llvm-project/commit/079ca05eea35745b2c362c218069dcc1c33982b9
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

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

  Log Message:
  -----------
  [libc] fix -Wtype-limits in wctob (#74511)

GCC warns:
```
libc/src/__support/wctype_utils.h:33:20: error: comparison of unsigned
expression in ‘< 0’ is always false [-Werror=type-limits]
   33 |   if (c > 127 || c < 0)
      |                  ~~^~~
```

Looking into the signedness of wint_t, it looks like depending on the
platform,
__WINT_TYPE__ is defined to int or unsigned int depending on the
platform.

Link:
https://lab.llvm.org/buildbot/#/builders/250/builds/14891/steps/6/logs/stdio


  Commit: bb0f162b3acfab3146807ab1e01946596d9921f9
      https://github.com/llvm/llvm-project/commit/bb0f162b3acfab3146807ab1e01946596d9921f9
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidy.cpp

  Log Message:
  -----------
  [clang][tidy] Fix build failure after 07157db


  Commit: 68db7aef74c9992de2af69e2d0b127ea7c7eacc3
      https://github.com/llvm/llvm-project/commit/68db7aef74c9992de2af69e2d0b127ea7c7eacc3
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M openmp/libomptarget/include/PluginManager.h
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/src/PluginManager.cpp
    M openmp/libomptarget/src/device.cpp

  Log Message:
  -----------
  [OpenMP] Reorganize the initialization of `PluginAdaptorTy` (#74397)

This introduces checked errors into the creation and initialization of
`PluginAdaptorTy`. We also allow the adaptor to "hide" devices from the
user if the initialization failed. The new organization avoids the
"initOnce" stuff but we still do not eagerly initialize the plugin
devices (I think we should merge `PluginAdaptorTy::initDevices` into
`PluginAdaptorTy::init`)


  Commit: e68c265543722af32821eab2c77565d37079da47
      https://github.com/llvm/llvm-project/commit/e68c265543722af32821eab2c77565d37079da47
  Author: Florian Mayer <fmayer at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
    M compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp

  Log Message:
  -----------
  [scudo] Add parameters for ring buffer and stack depot sizes (#74539)

These will be used in follow-up CLs, committing this separately because
it needs a matching change in AOSP. This way we can avoid complicated
multi-repo rollbacks if something is wrong with the follow up CLs.


  Commit: 20da662656931b5730ab21174a443ac828eb51f3
      https://github.com/llvm/llvm-project/commit/20da662656931b5730ab21174a443ac828eb51f3
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c

  Log Message:
  -----------
  [OpenMP][FIX] Fixup test that doesn't work with lit's `env` substitute


  Commit: dbb782dffdbd37e4aafa745eba9ba0f2831e21e8
      https://github.com/llvm/llvm-project/commit/dbb782dffdbd37e4aafa745eba9ba0f2831e21e8
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/test/Dialect/Shape/canonicalize.mlir

  Log Message:
  -----------
  [mlir][shape] Turn `ShapeOfOp` folding into canonicalization pattern (#74438)

The `ShapeOfOp` folder used to generate invalid IR.

Input:
```
%0 = shape.shape_of %arg1 : tensor<index> -> tensor<?xindex>
```

Output:
```
%0 = "shape.const_shape"() <{shape = dense<> : tensor<0xindex>}> : () -> tensor<?xindex>
error: 'shape.const_shape' op inferred type(s) 'tensor<0xindex>' are incompatible with return type(s) of operation 'tensor<?xindex>'
```

This rewrite cannot be implemented as a folder because the result type
may have to change. In the above example, the original `shape.shape_of`
op had a return type of `tensor<?xindex>`, but the folded attribute
(materialized as a `shape.const_shape` op) must have a type of
`tensor<0xf32>` to be valid.

This commit fixes tests such as
`mlir/test/Dialect/Shape/canonicalize.mlir` when verifying the IR after
each pattern application (#74270).


  Commit: 68f91cd257807ae8aad842d3cdc221415effbb93
      https://github.com/llvm/llvm-project/commit/68f91cd257807ae8aad842d3cdc221415effbb93
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp

  Log Message:
  -----------
  [mlir][bufferization] Fix invalid IR in `SimplifyClones` canonicalization (#74417)

`SimplifyClones` used to generate an invalid op:
```
error: 'memref.cast' op operand type 'memref<*xf32>' and result type 'memref<*xf32>' are cast incompatible
  %2 = bufferization.clone %1 : memref<*xf32> to memref<*xf32
```

This commit fixes tests such as
`mlir/test/Dialect/Bufferization/canonicalize.mlir` when verifying the
IR after each pattern (#74270).


  Commit: 8f9aac44279dbc1e7fdc5e4263da2b237db0cfc1
      https://github.com/llvm/llvm-project/commit/8f9aac44279dbc1e7fdc5e4263da2b237db0cfc1
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp

  Log Message:
  -----------
  [mlir][vector] Fix invalid IR in `vector.print` lowering (#74410)

`DecomposePrintOpConversion` used to generate invalid op such as:
```
error: 'arith.extsi' op operand type 'vector<10xi32>' and result type 'vector<10xi32>' are cast incompatible
  vector.print %v9 : vector<10xi32>
```

This commit fixes tests such as
`mlir/test/Integration/Dialect/Vector/CPU/test-reductions-i32.mlir` when
verifying the IR after each pattern application (#74270).


  Commit: 7a49c30b830471c39d09d71a6a617f2a7f3e711c
      https://github.com/llvm/llvm-project/commit/7a49c30b830471c39d09d71a6a617f2a7f3e711c
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/test/Driver/aarch64-thread-pointer.c
    M clang/test/Headers/arm-neon-header.c

  Log Message:
  -----------
  [Driver,test] Remove invalid -arch for non-Darwin AArch64 OSes

See also #74365. clang/lib/Driver/ToolChains/Arch/AArch64.cpp
inappropriately claims OPT_arch, which will be removed by the follow-up
change.


  Commit: 8a686716e360157ad5726560cc5ea61be647893c
      https://github.com/llvm/llvm-project/commit/8a686716e360157ad5726560cc5ea61be647893c
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/test/Driver/arm-arch-darwin.c

  Log Message:
  -----------
  [Driver,AArch64] Ensure -arch logic is Darwin-specific

`-arch` is a Darwin-specific option that is ignored for other targets
and not known by GCC. It leads to an error for non-Darwin OSes for
non-AArch64 architectures. Ensure that it leads to an error for AArch64
non-Darwin OSes as well.


  Commit: f5adb5bca9c52a0cd563834931b98597932e76d7
      https://github.com/llvm/llvm-project/commit/f5adb5bca9c52a0cd563834931b98597932e76d7
  Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrVMX.td
    A llvm/test/MC/Disassembler/X86/apx/invept.txt
    A llvm/test/MC/Disassembler/X86/apx/invvpid.txt
    A llvm/test/MC/X86/apx/invept-att.s
    A llvm/test/MC/X86/apx/invept-intel.s
    A llvm/test/MC/X86/apx/invvpid-att.s
    A llvm/test/MC/X86/apx/invvpid-intel.s

  Log Message:
  -----------
  [X86][MC] Support Enc/Dec for EGPR for promoted VMX instructions (#74434)

R16-R31 was added into GPRs in
https://github.com/llvm/llvm-project/pull/70958,
This patch supports the encoding/decoding for promoted VMX instructions
in EVEX space.

RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4


  Commit: 4699789249e6945c46cdbecd1fee493cbe553c66
      https://github.com/llvm/llvm-project/commit/4699789249e6945c46cdbecd1fee493cbe553c66
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp

  Log Message:
  -----------
  [clang][analyzer][NFC] Supplement comments in `evalFtell` of StreamChecker (#74291)


  Commit: 689db42c9c393cbf27da5aa345f6a7429cf7e18f
      https://github.com/llvm/llvm-project/commit/689db42c9c393cbf27da5aa345f6a7429cf7e18f
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86Instr3DNow.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/Target/X86/X86InstrFPStack.td
    M llvm/lib/Target/X86/X86InstrFormats.td
    A llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrInfo.td
    M llvm/lib/Target/X86/X86InstrMisc.td
    A llvm/lib/Target/X86/X86InstrOperands.td
    A llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    A llvm/lib/Target/X86/X86InstrUtils.td

  Log Message:
  -----------
  [X86][NFC] Reorgnize the X86Instr*.td (#74454)

1. Move all pattern fragments for SIMD instructions to X86InstrFragmentsSIMD.td
2. Create X86InstrFragments.td and move non-SIMD pattern fragments into it
3. Create X86InstrOperands.td and move operand definitions into it
4. Create X86InstrPredicates.td and move predicate definitions into it
5. Create X86InstrUtils.td and move utilities for simplifying the instruction definitions into it


  Commit: aeaae5311b8d4bbcfe7ef5cff722ea36b038c0ad
      https://github.com/llvm/llvm-project/commit/aeaae5311b8d4bbcfe7ef5cff722ea36b038c0ad
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M clang/tools/clang-format/git-clang-format

  Log Message:
  -----------
  [clang-format] Add "three dot" diff option to git-clang-format (#74230)

This patch adds in the ability to do a "three dot" git-clang-format
between two commits. This looks at the diff between the second commit
and the common merge base rather than comparing at the point of the
specified commits. This is needed to improve the reliability of the LLVM
code formatting CI action which currently breaks in some cases where
files have been modified in the upstream tree and when the person
created their branch, leaving phantom formatting diffs that weren't
touched by the PR author.

Part of a fix for #73873


  Commit: 9fa34555af26a1efdcb367ec70c236a84ece7659
      https://github.com/llvm/llvm-project/commit/9fa34555af26a1efdcb367ec70c236a84ece7659
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

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

  Log Message:
  -----------
  [Bazel] Quick fix for #74469 CLANG_VERSION


  Commit: 62ece9ce997a3ca077a931eff07bc2cfef978289
      https://github.com/llvm/llvm-project/commit/62ece9ce997a3ca077a931eff07bc2cfef978289
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/runtime/unit.cpp

  Log Message:
  -----------
  [flang][runtime] Add a critical section for LookUpOrCreateAnonymous. (#74468)

In parallel regions `LookUpOrCreateAnonymous` may return an anonymous
unit that has not yet been opened, which may cause a runtime error.
This commit ensures that the returned anonymous unit has been opened.
For details see:
https://github.com/llvm/llvm-project/issues/68856#issuecomment-1788632511

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


  Commit: a2b715920ab6978949db8c85a8afd22942898f5b
      https://github.com/llvm/llvm-project/commit/a2b715920ab6978949db8c85a8afd22942898f5b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/include/llvm/XRay/BlockVerifier.h
    M llvm/lib/XRay/BlockVerifier.cpp

  Log Message:
  -----------
  [XRay] Adjust includes of bitset (NFC)

BlockVerifier.cpp uses std::bitset, not BlockVerifier.h.

Identified with clangd.


  Commit: 124b4ab85af254b9e8b6e466417d568fc50a25b2
      https://github.com/llvm/llvm-project/commit/124b4ab85af254b9e8b6e466417d568fc50a25b2
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp

  Log Message:
  -----------
  [Target] Stop including bitset (NFC)

Identified with clangd.


  Commit: 06c5c27e44757e4917f7d7c995720ae8a2d3b1f9
      https://github.com/llvm/llvm-project/commit/06c5c27e44757e4917f7d7c995720ae8a2d3b1f9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp

  Log Message:
  -----------
  [llvm-exegesis] Stop including array (NFC)

Identified with clangd.


  Commit: 41507fe595d0fa3d81e151d70431d51897f8d14d
      https://github.com/llvm/llvm-project/commit/41507fe595d0fa3d81e151d70431d51897f8d14d
  Author: Pranav Taneja <138754701+prtaneja at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll

  Log Message:
  -----------
  [GISel] Combine (Scalarize) vector load followed by an element extract.


  Commit: a8d5f731d6696edcdbb6f71f8d58ca23962f5d9f
      https://github.com/llvm/llvm-project/commit/a8d5f731d6696edcdbb6f71f8d58ca23962f5d9f
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp

  Log Message:
  -----------
  [GlobalISel] Remove unused variable 'ResultTy' in CombinerHelper.cpp (NFC)

llvm-project/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp:1179:7:
 error: unused variable 'ResultTy' [-Werror,-Wunused-variable]
  LLT ResultTy = MRI.getType(MI.getOperand(0).getReg());
      ^
1 error generated.


  Commit: df7545e4be5cb65ef3ddd278119c0b8b2f37b0ec
      https://github.com/llvm/llvm-project/commit/df7545e4be5cb65ef3ddd278119c0b8b2f37b0ec
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/SCF/IR/SCF.cpp

  Log Message:
  -----------
  [mlir][SCF] Fix invalid IR in `ParallelOpSingleOrZeroIterationDimsFolder` pattern (#74552)

`ParallelOpSingleOrZeroIterationDimsFolder` used to produce invalid IR:
```
within split at mlir/test/Dialect/SCF/canonicalize.mlir:1 offset :11:3: error: 'scf.parallel' op expects region #0 to have 0 or 1 blocks
  scf.parallel (%i0, %i1, %i2) = (%c0, %c3, %c7) to (%c1, %c6, %c10) step (%c1, %c2, %c3) {
  ^
within split at mlir/test/Dialect/SCF/canonicalize.mlir:1 offset :11:3: note: see current operation:
"scf.parallel"(%4, %5, %3) <{operandSegmentSizes = array<i32: 1, 1, 1, 0>}> ({
^bb0(%arg1: index):
  "memref.store"(%0, %arg0, %1, %arg1, %6) : (i32, memref<?x?x?xi32>, index, index, index) -> ()
  "scf.yield"() : () -> ()
^bb1(%8: index):  // no predecessors
  "scf.yield"() : () -> ()
}) : (index, index, index) -> ()
```

Together with #74551, this commit fixes
`mlir/test/Dialect/SCF/canonicalize.mlir` when verifying the IR after
each pattern application (#74270).


  Commit: 68f0bc6f2e869dc7d3e8394b99fba7052ad8116a
      https://github.com/llvm/llvm-project/commit/68f0bc6f2e869dc7d3e8394b99fba7052ad8116a
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    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/Utils/StaticValueUtils.cpp
    M mlir/test/Dialect/MemRef/canonicalize.mlir

  Log Message:
  -----------
  [mlir] Fix a zero stride canonicalizer crash (#74200)

This PR fixes https://github.com/llvm/llvm-project/issues/73383 and is
another shot at the refactoring proposed in
https://github.com/llvm/llvm-project/pull/72885.

---------

Co-authored-by: Kai Sasaki <lewuathe at gmail.com>


  Commit: a05e20b9720f8b012f06f410d92f1f22b55bce74
      https://github.com/llvm/llvm-project/commit/a05e20b9720f8b012f06f410d92f1f22b55bce74
  Author: Kohei Yamaguchi <fix7211 at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/benchmark/python/common.py

  Log Message:
  -----------
  [mlir][benchmark] Fix broken benchmark script (#68841)

The mbr script was broken, so this patch fixes it to follow the latest
python binding.


  Commit: c630f95f33e31fe11ec6242560d9bf5d57007673
      https://github.com/llvm/llvm-project/commit/c630f95f33e31fe11ec6242560d9bf5d57007673
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/Analysis.cpp
    M llvm/tools/llvm-exegesis/lib/Analysis.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SchedClassResolution.cpp
    M llvm/unittests/tools/llvm-exegesis/Mips/SnippetGeneratorTest.cpp
    M llvm/unittests/tools/llvm-exegesis/PowerPC/SnippetGeneratorTest.cpp

  Log Message:
  -----------
  [llvm-exegesis] Remove unnecessary includes (NFC)

Identified with clangd.


  Commit: e8ae0e72b794bc1b879a3a90215a940572306c25
      https://github.com/llvm/llvm-project/commit/e8ae0e72b794bc1b879a3a90215a940572306c25
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
    M mlir/test/Dialect/Transform/test-pattern-application.mlir

  Log Message:
  -----------
  [mlir][transform] TrackingListener: Improve dead handles detection (#74290)

The tracking listener should not report op replacement errors for
payload ops that are not mapped to any live handles. The handle liveless
analysis did not work properly with transform IR that has named
sequences.

A handle is live if it has a user after the transform op that is
currently being applied. With named sequences, we need to maintain a
stack of currently applied transform ops. That stack already exists
(`regionStack`), the only thing that's missing is the current transform
op for each stack frame.

This commit fixes #72931.


  Commit: 7ca94a841c7c557191f278ab68f8358e5b9f6cee
      https://github.com/llvm/llvm-project/commit/7ca94a841c7c557191f278ab68f8358e5b9f6cee
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/Delta.cpp
    M llvm/tools/llvm-reduce/deltas/Delta.h
    M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp

  Log Message:
  -----------
  [llvm-reduce] Remove unnecessary includes (NFC)

Identified with clangd.


  Commit: 114325b86a3d0360afc772c44335fc9092686f58
      https://github.com/llvm/llvm-project/commit/114325b86a3d0360afc772c44335fc9092686f58
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.rst
    M llvm/examples/Kaleidoscope/Chapter8/toy.cpp

  Log Message:
  -----------
  Kaleidoscope-Ch8: use Reloc::PIC_

which has better portability across different OSes.
In addition, on many ELF OSes, this output relocatable file can be
linked without -no-pie.


  Commit: 2ea60f41972dcb3c704c0b31a65a620ffcd9d4f6
      https://github.com/llvm/llvm-project/commit/2ea60f41972dcb3c704c0b31a65a620ffcd9d4f6
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Fuse Scope into CallsiteLoc Callee (#74546)

There's an issue in the translator today where, for a CallsiteLoc, if
the callee does not have a DI scope (perhaps due to compile options or
optimizations), it may get propagated the DI scope of its callsite's
parent function, which will create a non-existent DILocation combining
line & col number from one file, and the filename from another.

The root problem is we cannot propagate the parent scope when
translating the callee location, as it no longer applies to inlined
locations (see code diff and hopefully this will make sense).

To facilitate this, the importer is also changed so that callee scopes
are fused with the callee FileLineCol loc, instead of on the Callsite
loc itself. This comes with the benefit that we now have a symmetric
Callsite loc representation. If we required the callee scope be always
annotated on the Callsite loc, it would be hard for generic inlining
passes to maintain that, since it would have to somehow understand the
semantics of the fused metadata and pull it out while inlining.


  Commit: de21308f78f3b0f0910638dbdac90967150d19f0
      https://github.com/llvm/llvm-project/commit/de21308f78f3b0f0910638dbdac90967150d19f0
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-12-06 (Wed, 06 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/vselect.ll
    A llvm/test/CodeGen/LoongArch/lsx/vselect.ll

  Log Message:
  -----------
  [LoongArch] Make ISD::VSELECT a legal operation with lsx/lasx


  Commit: bb4484d41e1ee7856ce71ae0572a724c20d989f2
      https://github.com/llvm/llvm-project/commit/bb4484d41e1ee7856ce71ae0572a724c20d989f2
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

  Log Message:
  -----------
  [OpenMPIRBuilder] Add support for target workshare loops (#73360)

The workshare loop for target region uses the new OpenMP device runtime.
The code generation scheme for the new device runtime is presented
below:

Input code:
```
workshare-loop {
  loop-body
}
```

Output code:
helper function which represents loop body:
```
function-loop-body(counter, loop-body-args) {
  loop-body
}
```
workshare-loop is replaced by the proper device runtime call:
```
call __kmpc_new_worksharing_rtl(function-loop-body, loop-body-args,
                                                     loop-tripcount, ...)
```
This PR uses the new device runtime functions which were added in PR:
https://github.com/llvm/llvm-project/pull/73225


  Commit: 40d802a6b6d507c9ae9dc7b0462e54652b42ad39
      https://github.com/llvm/llvm-project/commit/40d802a6b6d507c9ae9dc7b0462e54652b42ad39
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp

  Log Message:
  -----------
  [AMDGPU] Introduce isBottomOfStack helper. NFC (#74288)

Introduce a helper to check if a function is at the bottom of the stack,
i.e. if it's an entry function or a chain function.
This was suggested in #71913.


  Commit: 08e63dd8feb0933e82d32c306e37f8174eb0d715
      https://github.com/llvm/llvm-project/commit/08e63dd8feb0933e82d32c306e37f8174eb0d715
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir

  Log Message:
  -----------
  AMDGPU: Add a MIR test to catch infinite loop

This is derived from one of the regressions reported
after aed1a2217a1da0c9fb7d2c0856302dee25b1d4a1


  Commit: 19c9f9c0bfc83ebcd4355ee7d5479c542324b332
      https://github.com/llvm/llvm-project/commit/19c9f9c0bfc83ebcd4355ee7d5479c542324b332
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    A llvm/test/MC/AMDGPU/gfx12_asm_smem.s
    M llvm/test/MC/AMDGPU/gfx12_err.s
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_smem.txt

  Log Message:
  -----------
  [AMDGPU] GFX12: Add s_prefetch_inst/data instructions (#74448)

Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>


  Commit: b304873134e82054b18eb64d5c292d2ff06835b8
      https://github.com/llvm/llvm-project/commit/b304873134e82054b18eb64d5c292d2ff06835b8
  Author: sinan <sinan.lin at linux.alibaba.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M bolt/test/runtime/AArch64/instrumentation-ind-call.c

  Log Message:
  -----------
  [BOLT] Fix a wrong compiler option in test (#74420)

-nopie is an option for OpenBSD, and other linux distribution might
report an `unsupported option '-nopie' for target` error.


  Commit: ea4ce16da2c7105c72ec8a3f265d5949febe6718
      https://github.com/llvm/llvm-project/commit/ea4ce16da2c7105c72ec8a3f265d5949febe6718
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/or.ll

  Log Message:
  -----------
  [ConstraintElim] Use disjoint flag for decomposition (#74478)

Use the or disjoint flag for decomposing or into add, which will handle
cases that haveNoCommonBitsSet() may not be able to reinfer (e.g.
because they require context-sensitive facts, which the call here does
not use.)


  Commit: 641e05decc64c541aa5fd5ce253020178ffe094a
      https://github.com/llvm/llvm-project/commit/641e05decc64c541aa5fd5ce253020178ffe094a
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/test/Conversion/GPUCommon/lower-memory-space-attrs.mlir

  Log Message:
  -----------
  [mlir][gpu] Support dynamic_shared_memory Op with vector dialect (#74475)

`gpu.dynamic_shared_memory` currently does not get lowered when it is
used with vector dialect. The reason is that vector-to-llvm conversion
is not included in gpu-to-nvvm. This PR includes that and adds a test.


  Commit: ecd2f56a80ed2c0ccba990a8d46ed73c994bb5c4
      https://github.com/llvm/llvm-project/commit/ecd2f56a80ed2c0ccba990a8d46ed73c994bb5c4
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    A llvm/test/CodeGen/AMDGPU/min-waves-per-eu-not-respected.ll

  Log Message:
  -----------
  [AMDGPU] Warn if 'amdgpu-waves-per-eu' target occupancy was not met (#74055)

This should make it a bit harder to miss this type of issue. The warning
only shows if amdgpu-waves-per-eu is used.

See SWDEV-434482


  Commit: 8d4977affb78c0b165653b154f644078ad207f64
      https://github.com/llvm/llvm-project/commit/8d4977affb78c0b165653b154f644078ad207f64
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
    M llvm/test/MC/AMDGPU/gfx12_asm_sopk.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt

  Log Message:
  -----------
  [AMDGPU] Update hardware registers for GFX12 (#74445)


  Commit: b3f0fa8bb4316b489ddd7894f88983990bbfa43a
      https://github.com/llvm/llvm-project/commit/b3f0fa8bb4316b489ddd7894f88983990bbfa43a
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

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

  Log Message:
  -----------
  [mlir][Bazel] Add missing dependency after 641e05decc64c541aa5fd5ce253020178ffe094a


  Commit: 6704d6aadd34e3b984ef6dbe85b18895beee9831
      https://github.com/llvm/llvm-project/commit/6704d6aadd34e3b984ef6dbe85b18895beee9831
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane-x4.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane-x4.ll

  Log Message:
  -----------
  [SME2] Add LUTI2 and LUTI4 quad Builtins and Intrinsics (#73317)

See https://github.com/ARM-software/acle/pull/217

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


  Commit: f465a2c83d3c2a142ceba6104f7e7093859efa54
      https://github.com/llvm/llvm-project/commit/f465a2c83d3c2a142ceba6104f7e7093859efa54
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sop2_alias.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt

  Log Message:
  -----------
  [AMDGPU] Add new 64-bit SALU instructions (#74449)


  Commit: 6ed7a8eae65153fbbc1f42139074dcbcab833e81
      https://github.com/llvm/llvm-project/commit/6ed7a8eae65153fbbc1f42139074dcbcab833e81
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    A llvm/test/MC/AMDGPU/gfx12_unsupported.s

  Log Message:
  -----------
  [AMDGPU] Remove s_subvector_loop_begin/end for GFX12 (#74451)


  Commit: 6b1aa319754e76366edd88e10034e0539710d946
      https://github.com/llvm/llvm-project/commit/6b1aa319754e76366edd88e10034e0539710d946
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/temp/temp.decls/temp.alias/p3.cpp
    M clang/test/SemaCXX/alias-template.cpp

  Log Message:
  -----------
  [clang] Substitute alias templates from correct context (#74335)

Current context set to where alias was met, not where it is declared
caused incorrect access check in case alias referenced private members
of the parent class.

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


  Commit: 34df53739af2ce0ffb2625075ee2e613b278969c
      https://github.com/llvm/llvm-project/commit/34df53739af2ce0ffb2625075ee2e613b278969c
  Author: Adam Paszke <apaszke at google.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir

  Log Message:
  -----------
  Revert "[mlir][Vector] Add fold transpose(shape_cast) -> shape_cast (#73951)" (#74579)

This reverts commit f42b7615b862bb5f77981f619f92877eb20adf54.

The fold pattern is incorrect, because it does not even look at the
permutation of non-unit dims and is happy to replace a pattern such as
```
%22 = vector.shape_cast %21 : vector<1x256x256xf32> to vector<256x256xf32>
%23 = vector.transpose %22, [1, 0] : vector<256x256xf32> to vector<256x256xf32>
```
with
```
%22 = vector.shape_cast %21 : vector<1x256x256xf32> to vector<256x256xf32>
```
which is obviously incorrect.


  Commit: fcd06d774dad1b5bcdc22f5f10a9d5c62c585814
      https://github.com/llvm/llvm-project/commit/fcd06d774dad1b5bcdc22f5f10a9d5c62c585814
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/fir-ops.fir
    M flang/test/HLFIR/call_with_poly_dummy.f90
    M flang/test/Lower/HLFIR/binary-ops.f90
    M flang/test/Lower/HLFIR/user-defined-assignment.f90
    M flang/test/Lower/Intrinsics/bessel_jn.f90
    M flang/test/Lower/Intrinsics/bessel_yn.f90
    M flang/test/Lower/Intrinsics/dim.f90
    M flang/test/Lower/Intrinsics/min.f90
    M flang/test/Lower/Intrinsics/modulo.f90
    M flang/test/Lower/Intrinsics/nearest.f90
    M flang/test/Lower/OpenACC/acc-reduction.f90
    M flang/test/Lower/arithmetic-goto.f90
    M flang/test/Lower/array-elemental-calls-2.f90
    M flang/test/Lower/array-expression-slice-1.f90
    M flang/test/Lower/array-user-def-assignments.f90
    M flang/test/Lower/forall/forall-construct.f90
    M flang/test/Lower/forall/forall-where.f90
    M flang/test/Lower/host-associated.f90
    M flang/test/Lower/real-operations-2.f90
    M flang/test/Lower/where.f90
    M flang/test/Transforms/simplifyintrinsics.fir
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
    M mlir/test/Dialect/Arith/ops.mlir

  Log Message:
  -----------
  [mlir][flang] add fast math attribute to fcmp (#74315)

`llvm.fcmp` does support fast math attributes therefore so should
`arith.cmpf`.

The heavy churn in flang tests are because flang sets
`fastmath<contract>` by default on all operations that support the fast
math interface. Downstream users of MLIR should not be so effected.

This was requested in https://github.com/llvm/llvm-project/issues/74263


  Commit: bfdc562d0c6ff18ae3a8d618a2cb05c22a04898b
      https://github.com/llvm/llvm-project/commit/bfdc562d0c6ff18ae3a8d618a2cb05c22a04898b
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M libcxx/include/__algorithm/ranges_rotate_copy.h
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/ranges.rotate_copy.pass.cpp

  Log Message:
  -----------
  [libc++] Fix copy-paste damage in `ranges::rotate_copy` and its test (#74544)

Found while running libc++'s tests with MSVC's STL.

`ranges::rotate_copy` takes `forward_iterator`s as this test's comment
banner correctly depicts. However, this test had bogus assertions
expecting that `ranges::rotate_copy` would be constrained away for
not-quite-**bidi** iterators. @philnik777 confirmed that these were
copy-paste relics from the `ranges::reverse_copy` test.

I fixed this by replacing the assertions with the test types that aren't
quite **forward** iterators/ranges. Additionally, I noticed that the
top-level `test()` function was missing coverage with the weakest
possible `forward_iterator<int*>`.

This revealed that the product code in `ranges_rotate_copy.h` was
similarly damaged. In addition to fixing it by taking `forward_iterator`
and `forward_range` as depicted in the Standard, this drops the
inclusion of `<__iterator/reverse_iterator.h>` as this algorithm doesn't
need `std::__reverse_range`.


  Commit: a65363d98965082d4e3e660fa1aee51113104590
      https://github.com/llvm/llvm-project/commit/a65363d98965082d4e3e660fa1aee51113104590
  Author: JP Lehr <JanPatrick.Lehr at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M openmp/libomptarget/test/offloading/barrier_fence.c

  Log Message:
  -----------
  [OpenMP] Disable offloading/barrier_fence test

Unblock build bot, while investigating. Issue is tracked under llvm
https://github.com/llvm/llvm-project/issues/74582


  Commit: 322c7c717b3a3415d6a1c5000752dd51f32341db
      https://github.com/llvm/llvm-project/commit/322c7c717b3a3415d6a1c5000752dd51f32341db
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/slow-unaligned-mem.ll

  Log Message:
  -----------
  [X86] slow-unaligned-mem.ll - improve checks

We can't easily convert this to use the update scripts, but we can manually improve the checks so we check for the right number of stores


  Commit: 46a36af98be29663f9debcd557ef48f62bab6304
      https://github.com/llvm/llvm-project/commit/46a36af98be29663f9debcd557ef48f62bab6304
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-12-06 (Wed, 06 Dec 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:
  -----------
  [llvm-c] Add support for setting/getting new disjoint flag on or instructions (#74517)

Follows #73952 doing the same thing for the nneg flag on zext (i.e.,
exposing support in the C API).


  Commit: 17544fa49df3f890ba22280d10cb28dedd789f9f
      https://github.com/llvm/llvm-project/commit/17544fa49df3f890ba22280d10cb28dedd789f9f
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm-c/Core.h

  Log Message:
  -----------
  [NFC][llvm-c] Add full-stop to doc comments

I'd copied and adjusted the doc comments for LLVMGetNNeg and LLVMSetNNeg
in #74517. Nikita pointed out in that review my comments were missing a
full stop, so I'm applying the same fix to these.


  Commit: 84e01450a30eabab571103d2f1195565c0ab851a
      https://github.com/llvm/llvm-project/commit/84e01450a30eabab571103d2f1195565c0ab851a
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2023-12-06 (Wed, 06 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 `fence.mbarrier.init` (#74058)

This PR introduce `fence.mbarrier.init` OP


  Commit: 975c05b69db2d23f8d135811d46707a3802ea7fa
      https://github.com/llvm/llvm-project/commit/975c05b69db2d23f8d135811d46707a3802ea7fa
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp

  Log Message:
  -----------
  [Bitcode] Check for missing load type

We perform do this check independently of whether this is an old
or new style load.

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


  Commit: f12a0ba53ed1bef3bf42f20b2725cc2cac38409a
      https://github.com/llvm/llvm-project/commit/f12a0ba53ed1bef3bf42f20b2725cc2cac38409a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/zero-remat.ll

  Log Message:
  -----------
  [X86] zero-remat.ll - regenerate checks


  Commit: 9db3b8d2537e2e3da8f9a8f8f12cd9263335f4f9
      https://github.com/llvm/llvm-project/commit/9db3b8d2537e2e3da8f9a8f8f12cd9263335f4f9
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/test/Lower/Intrinsics/ieee_compare.f90
    M flang/test/Lower/Intrinsics/ieee_logb.f90
    M flang/test/Lower/Intrinsics/ieee_max_min.f90
    M flang/test/Lower/Intrinsics/ieee_unordered.f90

  Log Message:
  -----------
  [flang] fix broken ieee tests

These tests were broken after
https://github.com/llvm/llvm-project/pull/74315

Fixing them to ignore the fastmath attribute on fcmp


  Commit: f0f899932b8463488c82953667adb18c01147ca8
      https://github.com/llvm/llvm-project/commit/f0f899932b8463488c82953667adb18c01147ca8
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/vector-call-linear-args.ll

  Log Message:
  -----------
  [LV] Linear argument tests for vectorization of function calls (#73936)

Tests to exercise vectorization of function calls where a vector variant
takes a linear parameter.


  Commit: 609d980b3f11d844e50d39fb9266134ddb6cce5b
      https://github.com/llvm/llvm-project/commit/609d980b3f11d844e50d39fb9266134ddb6cce5b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/ARM/aapcs-hfa-code.ll

  Log Message:
  -----------
  [ARM] Regenerate aapcs-hfa-code.ll


  Commit: a9673bd1ca217e46800f3c2b705c1bed01fdc457
      https://github.com/llvm/llvm-project/commit/a9673bd1ca217e46800f3c2b705c1bed01fdc457
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/docs/InternalsManual.rst

  Log Message:
  -----------
  Fix code blocks so that they render properly

It's rather disturbing that malformed syntax does not generate any
warnings or errors when building either locally or on the bots.


  Commit: 3a772c3bfeb9d7641b2914672a55fe5838d748db
      https://github.com/llvm/llvm-project/commit/3a772c3bfeb9d7641b2914672a55fe5838d748db
  Author: Georgios Pinitas <georgios.pinitas at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir

  Log Message:
  -----------
  [mlir][tosa] Add fp16 support to `tosa.resize` (#73019)


  Commit: e8ce1889eee83eb03fbd8d2dc1627f0e97fd26f0
      https://github.com/llvm/llvm-project/commit/e8ce1889eee83eb03fbd8d2dc1627f0e97fd26f0
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/docs/InternalsManual.rst

  Log Message:
  -----------
  Fix a cross reference

Instead of linking to the doxygen documentation, link to the new sphinx
documentation instead.


  Commit: a1b9736e9b588bdb510b49e373006b06f57e61c7
      https://github.com/llvm/llvm-project/commit/a1b9736e9b588bdb510b49e373006b06f57e61c7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp

  Log Message:
  -----------
  [PatternMatch] Add m_c_DisjointOr (NFC)

Add commutative variant of m_DisjointOr.


  Commit: d77067d08a3f56dc2d0e6c95bd2852c943df743a
      https://github.com/llvm/llvm-project/commit/d77067d08a3f56dc2d0e6c95bd2852c943df743a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/test/CodeGenCXX/RelativeVTablesABI/member-function-pointer.cpp
    M clang/test/Headers/__clang_hip_math.hip
    A llvm/include/llvm/Analysis/DomConditionCache.h
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Analysis/CMakeLists.txt
    A llvm/lib/Analysis/DomConditionCache.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/2007-10-31-RangeCrash.ll
    M llvm/test/Transforms/InstCombine/2009-02-20-InstCombine-SROA.ll
    M llvm/test/Transforms/InstCombine/cast_phi.ll
    M llvm/test/Transforms/InstCombine/icmp-binop.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
    M llvm/test/Transforms/InstCombine/icmp-ne-pow2.ll
    M llvm/test/Transforms/InstCombine/icmp-of-or-x.ll
    M llvm/test/Transforms/InstCombine/idioms.ll
    M llvm/test/Transforms/InstCombine/known-non-zero.ll
    M llvm/test/Transforms/InstCombine/minmax-of-xor-x.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/sink_instruction.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/udiv-simplify.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.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/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check.ll
    M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
    M llvm/test/Transforms/PGOProfile/chr.ll
    M llvm/test/Transforms/PhaseOrdering/X86/simplifycfg-late.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
    M llvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/2007-08-01-LCSSA.ll
    M llvm/test/Transforms/SimplifyCFG/merge-cond-stores.ll

  Log Message:
  -----------
  [ValueTracking] Add dominating condition support in computeKnownBits() (#73662)

This adds support for using dominating conditions in computeKnownBits()
when called from InstCombine. The implementation uses a
DomConditionCache, which stores which branches may provide information
that is relevant for a given value.

DomConditionCache is similar to AssumptionCache, but does not try to do
any kind of automatic tracking. Relevant branches have to be explicitly
registered and invalidated values explicitly removed. The necessary
tracking is done inside InstCombine.

The reason why this doesn't just do exactly the same thing as
AssumptionCache is that a lot more transforms touch branches and branch
conditions than assumptions. AssumptionCache is an immutable analysis
and mostly gets away with this because only a handful of places have to
register additional assumptions (mostly as a result of cloning). This is
very much not the case for branches.

This change regresses compile-time by about ~0.2%. It also improves
stage2-O0-g builds by about ~0.2%, which indicates that this change results
in additional optimizations inside clang itself.

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


  Commit: e59e848805f57bd52ebbb0f7f7d4d951e6af597c
      https://github.com/llvm/llvm-project/commit/e59e848805f57bd52ebbb0f7f7d4d951e6af597c
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/include/flang/Frontend/CompilerInstance.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/Frontend/FrontendActions.h
    M flang/include/flang/Lower/Bridge.h
    A flang/include/flang/Optimizer/Support/DataLayout.h
    A flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Support/CMakeLists.txt
    A flang/lib/Optimizer/Support/DataLayout.cpp
    A flang/test/Fir/tco-default-datalayout.fir
    A flang/test/Fir/tco-explicit-datalayout.fir
    A flang/test/Lower/bbc-host-datalayout.f90
    A flang/test/Lower/bbc-target-datalayout.f90
    M flang/test/Semantics/realkinds-aarch64-01.f90
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/bbc/bbc.cpp
    M flang/tools/f18/CMakeLists.txt
    M flang/tools/tco/tco.cpp
    M flang/unittests/Frontend/FrontendActionTest.cpp

  Log Message:
  -----------
  [flang] Updating drivers to create data layout before semantics (#73301)

Preliminary patch to change lowering/code generation to use
llvm::DataLayout information instead of generating "sizeof" GEP (see
https://github.com/llvm/llvm-project/issues/71507).

Fortran Semantic analysis needs to know about the target type size and
alignment to deal with common blocks, and intrinsics like
C_SIZEOF/TRANSFER. This information should be obtained from the
llvm::DataLayout so that it is consistent during the whole compilation
flow.

This change is changing flang-new and bbc drivers to:
1. Create the llvm::TargetMachine so that the data layout of the target
can be obtained before semantics.
2. Sharing bbc/flang-new set-up of the
SemanticConstext.targetCharateristics from the llvm::TargetMachine. For
now, the actual part that set-up the Fortran type size and alignment
from the llvm::DataLayout is left TODO so that this change is mostly an
NFC impacting the drivers.
3. Let the lowering bridge set-up the mlir::Module datalayout attributes
since it is doing it for the target attribute, and that allows the llvm
data layout information to be available during lowering.

For flang-new, the changes are code shuffling: the `llvm::TargetMachine`
instance is moved to `CompilerInvocation` class so that it can be used
to set-up the semantic contexts. `setMLIRDataLayout` is moved to
`flang/Optimizer/Support/DataLayout.h` (it will need to be used from
codegen pass for fir-opt target independent testing.)), and the code
setting-up semantics targetCharacteristics is moved to
`Tools/TargetSetup.h` so that it can be shared with bbc.

As a consequence, LLVM targets must be registered when running
semantics, and it is not possible to run semantics for a target that is
not registered with the -triple option (hence the power pc specific
modules can only be built if the PowerPC target is available.


  Commit: 50c66600b8c54b24a73e37e0305dd3bf26c19859
      https://github.com/llvm/llvm-project/commit/50c66600b8c54b24a73e37e0305dd3bf26c19859
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll

  Log Message:
  -----------
  [X86][test] Migrate test avx512-broadcast-unfold.ll for opaque pointers


  Commit: e765a8894ac8bbc85c3f7fb097eecc69780fb011
      https://github.com/llvm/llvm-project/commit/e765a8894ac8bbc85c3f7fb097eecc69780fb011
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn

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


  Commit: 6f3bd3a2f609ca2fdb8f2c0f4122b906824ef70f
      https://github.com/llvm/llvm-project/commit/6f3bd3a2f609ca2fdb8f2c0f4122b906824ef70f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
    M openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp

  Log Message:
  -----------
  [Libomptarget] Add a utility function for checking existence of symbols (#74550)

Summary:
There are now a few cases that check if a symbol is present before
continuing, effectively making them optional features if present in the
image. This was done in at least three locations and required an ugly
operation to consume the error. This patch makes a utility function to
handle that instead.


  Commit: ef2d59b1456866f441d324ed81b208851df26ef4
      https://github.com/llvm/llvm-project/commit/ef2d59b1456866f441d324ed81b208851df26ef4
  Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/runtime/ISO_Fortran_binding.cpp

  Log Message:
  -----------
  [Flang] malloc(1) on AIX as malloc(0) returns nullptr (#73878)

On AIX malloc(0) reutrns nullptr, which fails test case
`Evaluate/ISO-Fortran-binding.test`, using malloc(1) in AIX for
consistent behaviour

---------

Co-authored-by: Mark Danial <mark.danial at ibm.com>


  Commit: 02d513cf3a700aa3c12cd07ead9828a233f49920
      https://github.com/llvm/llvm-project/commit/02d513cf3a700aa3c12cd07ead9828a233f49920
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.non_unique.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.non_unique.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.size.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/deduction.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/properties.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/mapping.verify.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp

  Log Message:
  -----------
  [libc++][test] Drop unnecessary typename and template for layout_meow::mapping (#74571)

This is a pure syntax cleanup, I don't need it for running libc++'s
tests with MSVC's STL.

This is possible because std::layout_meow and layout_wrapping_integral<1729>
aren't dependent types. We only need typename and template when reaching
into a dependent type, like `typename OtherLayout::template mapping<E2>` or
`typename layout_wrapping_integral<Wraps>::template mapping<Extents>`.


  Commit: bcb917eba70b454a3d11010c45889c364fd4d9ec
      https://github.com/llvm/llvm-project/commit/bcb917eba70b454a3d11010c45889c364fd4d9ec
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.assign/member_swap_noexcept.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.assign/nonmember_swap_noexcept.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/arrow.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.repeat.view/size.pass.cpp

  Log Message:
  -----------
  [libc++][test] Fix more MSVC warnings (#74256)

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


  Commit: 3aee4a96289b32386d1a6ccda9bc6bf4fff40e13
      https://github.com/llvm/llvm-project/commit/3aee4a96289b32386d1a6ccda9bc6bf4fff40e13
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M libcxx/include/source_location
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/support/msvc_stdlib_force_include.h
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Update <source_location> and msvc_stdlib_force_include.h (#74266)

This makes libc++'s <filesystem> tests compatible with MSVC's STL.

In msvc_stdlib_force_include.h, we need to define 3 more macros:

- _CRT_DECLARE_NONSTDC_NAMES activates the POSIX names of
  `getcwd` etc. As the comment explains, we need this because
  we test with Clang `-fno-ms-compatibility`, which defines 
  `__STDC__` to `1`, which causes the UCRT headers to disable 
  the POSIX names by default.
- Then we need _CRT_NONSTDC_NO_WARNINGS to avoid emitting
  deprecation warnings about the POSIX names.
- Finally, we need `NOMINMAX` to seal away the ancient evil.

These macros are documented in https://learn.microsoft.com/en-us/cpp/c-runtime-library/compatibility?view=msvc-170.

As a drive-by change, the patch adds a "simulated" macro for 
__has_feature(hwaddress_sanitizer). It also clang-formats all
of msvc_stdlib_force_include.h and removes guards for
__has_builtin(__builtin_source_location) in <source_location>,
since those are not needed anymore.


  Commit: bf454839a1b3e8d2177bec386d81a48ca6dc4733
      https://github.com/llvm/llvm-project/commit/bf454839a1b3e8d2177bec386d81a48ca6dc4733
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

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

  Log Message:
  -----------
  [X86] vec_zero_cse.ll - replace X32 check prefix with X86

We use X32 for gnux32 triples - X86 should be used for 32-bit triples


  Commit: c4a77bfb62b7caeb8a4d73a09df7e18e438b890f
      https://github.com/llvm/llvm-project/commit/c4a77bfb62b7caeb8a4d73a09df7e18e438b890f
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/test/Semantics/kinds04_q10.f90
    M flang/test/Semantics/real10-x86-01.f90
    M flang/test/Semantics/real10-x86-02.f90

  Log Message:
  -----------
  [flang] Fix PPC and AARCH64 after #73301 (#74591)

After https://github.com/llvm/llvm-project/pull/73301, all semantics
tests using `triple XXX` options need to have a
`REQUIRED: XX-registered-target` since the llvm::TargetMachine is needed
to get the llvm::DataLayout before semantics.

Fix three tests that lacked this.

Fixes:
https://lab.llvm.org/buildbot/#/builders/21/builds/87263
https://lab.llvm.org/buildbot/#/builders/268/builds/3841


  Commit: b0b69fd879a03f3d37b8cd78049d27939de23ce2
      https://github.com/llvm/llvm-project/commit/b0b69fd879a03f3d37b8cd78049d27939de23ce2
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2023-12-06 (Wed, 06 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/arith-ops-to-sme.mlir
    M mlir/test/Dialect/ArmSME/vector-ops-to-sme.mlir

  Log Message:
  -----------
  [mlir][ArmSME] More precisely model dataflow in ArmSME to SCF lowerings (#73922)

Since #73253, loops over tiles in SSA form (i.e. loops that take
`iter_args` and yield a new tile) are supported, so this patch updates
ArmSME lowerings to this form. This is a NFC, as it still lowers to the
same intrinsics, but this makes IR less 'surprising' at a higher-level,
and may be recognised by more transforms.


Example:

IR before:
```mlir
scf.for %tile_slice_index = %c0 to %num_tile_slices step %c1 
{
   arm_sme.move_vector_to_tile_slice 
     %broadcast_to_1d, %tile, %tile_slice_index : 
     vector<[4]xi32> into vector<[4]x[4]xi32>
}
// ... later use %tile
```
IR now:
```mlir
%broadcast_to_tile = scf.for %tile_slice_index = %c0 to %num_tile_slices
    step %c1 iter_args(%iter_tile = %init_tile) -> (vector<[4]x[4]xi32>)
{
   %tile_update = arm_sme.move_vector_to_tile_slice
      %broadcast_to_1d, %iter_tile, %tile_slice_index :
      vector<[4]xi32> into vector<[4]x[4]xi32>
  scf.yield %tile_update : vector<[4]x[4]xi32>
}
// ... later use %broadcast_to_tile
```


  Commit: 721558ae40ebc996b6a8d51e3d5147f5a8c7d008
      https://github.com/llvm/llvm-project/commit/721558ae40ebc996b6a8d51e3d5147f5a8c7d008
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseOpenACC.cpp
    A clang/test/ParserOpenACC/parse-cache-construct.c
    A clang/test/ParserOpenACC/parse-cache-construct.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'cache' construct parsing (#74324)

The 'cache' construct takes a list of 'vars', which are array-section
style definitions. This patch implements the parsing, leaving the lower
bound and length of the bound as expressions, so that we can validate
they are the correct 'thing' in sema.


  Commit: 30faf19a88c56d064bc372fa325345d35d82902c
      https://github.com/llvm/llvm-project/commit/30faf19a88c56d064bc372fa325345d35d82902c
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane-x2.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane-x2.ll

  Log Message:
  -----------
  [SME2] Add LUTI2 and LUTI4 double Builtins and Intrinsics (#73305)

See https://github.com/ARM-software/acle/pull/217

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


  Commit: 56eb3e738a093d354c5e638eded8d34fbd10f959
      https://github.com/llvm/llvm-project/commit/56eb3e738a093d354c5e638eded8d34fbd10f959
  Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrFPStack.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/test/CodeGen/X86/swifterror.ll

  Log Message:
  -----------
  [X86] Set x87 fld1/fldz pseudo instructions as rematerializable (#74592)

No need to generate/spill/restore to cpu stack

Cleanup work to allow us to properly use isFPImmLegal and fix some regressions encountered while looking at #74304


  Commit: b8bc2351b8fde6da3bff34c1507391d3714427cc
      https://github.com/llvm/llvm-project/commit/b8bc2351b8fde6da3bff34c1507391d3714427cc
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll

  Log Message:
  -----------
  [X86][test] Simplify test avx512-broadcast-unfold.ll (#74593)

The test was updated by

opt -passes=early-cse -S
llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll


  Commit: 546a9ce80cac8fe73d239496010ae84972da3ca8
      https://github.com/llvm/llvm-project/commit/546a9ce80cac8fe73d239496010ae84972da3ca8
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    A llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir

  Log Message:
  -----------
  CodeGen: Fix bypassing legality checks for IMPLICIT_DEF rematerialization (#73934)

It's permitted to have extra implicit-def operands of the same main
register
after the main register def. If there are implicit operands, use the
standard
legality checks which verify the operand contents.

Depends #73933


  Commit: a599a6128c2e0032f4b5f05647987f0c8f112932
      https://github.com/llvm/llvm-project/commit/a599a6128c2e0032f4b5f05647987f0c8f112932
  Author: kkwli <kkwli at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/unittests/Runtime/MatmulTranspose.cpp

  Log Message:
  -----------
  [flang] match the actual data size with the KIND (NFC) (#73179)


  Commit: 8d0fb9f6372ac558380b4771f673bd16ec4030a1
      https://github.com/llvm/llvm-project/commit/8d0fb9f6372ac558380b4771f673bd16ec4030a1
  Author: kkwli <kkwli at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/unittests/Runtime/CommandTest.cpp

  Log Message:
  -----------
  [flang] Make the length size matched in comparison (NFC) (#73280)

The template function call `CheckDescriptorEqInt(length.get(), 16)` is
deduced to have `INT_T` equal to `std::int32_t` instead of
`std::int64_t`, but the length descriptor points to a 64-byte storage.
The comparison does not work in a big endian.


  Commit: 26f8e1461e24bd71dcd409d1fe88ddc1c7cf5da1
      https://github.com/llvm/llvm-project/commit/26f8e1461e24bd71dcd409d1fe88ddc1c7cf5da1
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/ParserOpenACC/unimplemented.c
    M clang/test/ParserOpenACC/unimplemented.cpp

  Log Message:
  -----------
  [OpenACC] NFC: Stop using 'getSpelling' while parsing OpenACC

It was brought up during the cache review that we shouldn't be using
'getSpelling', and instead should use the IdentifierInfo itself.  This
patch replaces all uses of it.


  Commit: 02c218c6fbbf4a3eec600618b4e8f3b44754b686
      https://github.com/llvm/llvm-project/commit/02c218c6fbbf4a3eec600618b4e8f3b44754b686
  Author: Samuel Tebbs <samuel.tebbs at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaChecking.cpp

  Log Message:
  -----------
  [Clang][NFC] Refactor out code from CheckSVEBuiltinFunctionCall into ParseSVEImmChecks

This moves code from CheckSVEBuiltinFunctionCall into ParseSVEImmChecks
in preparation for #74064


  Commit: 10f7801cff26732b9a757ed42a1e2b89021a61d8
      https://github.com/llvm/llvm-project/commit/10f7801cff26732b9a757ed42a1e2b89021a61d8
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenMP.cpp

  Log Message:
  -----------
  [flang] Move `genCommonBlockMember` from OpenMP to ConvertVariable, NFC (#74488)

The function `genCommonBlockMember` is not specific to OpenMP, and it
could very well be a common utility. Move it to ConvertVariable.cpp
where it logically belongs.


  Commit: b7173652163fa968e1df47fa211ce8a549489abd
      https://github.com/llvm/llvm-project/commit/b7173652163fa968e1df47fa211ce8a549489abd
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
    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
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h

  Log Message:
  -----------
  [MachineScheduler][NFCI] Add Offset and OffsetIsScalable args to shouldClusterMemOps (#73778)

These are picked up from getMemOperandsWithOffsetWidth but weren't then
being passed through to shouldClusterMemOps, which forces backends to
collect the information again if they want to use the kind of heuristics
typically used for the similar shouldScheduleLoadsNear function (e.g.
checking the offset is within 1 cache line).

This patch just adds the parameters, but doesn't attempt to use them.
There is potential to use them in the current PPC and AArch64
shouldClusterMemOps implementation, and I intend to use the offset in
the heuristic for RISC-V. I've left these for future patches in the
interest of being as incremental as possible.

As noted in the review and in an inline FIXME, an ElementCount-style abstraction may later be used to condense these two parameters to one argument. ElementCount isn't quite suitable as it doesn't support negative offsets.


  Commit: c7b3ae5ab9c8ffc19db00bd6e995d225ac1013e9
      https://github.com/llvm/llvm-project/commit/c7b3ae5ab9c8ffc19db00bd6e995d225ac1013e9
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

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

  Log Message:
  -----------
  [AArch64][SME2] Add multi-vector builtins for cvt (#74450)

Adds builtins for:
- FCVT
- BFCVT
- FCVTZS
- FCVTZU
- SCVTF
- UCVTF
- BFCVTN
- FCVTN
- SQCVT
- SQCVTU
- UQCVT
- SQCVTN
- SQCVTUN
- UQCVTN

See https://github.com/ARM-software/acle/pull/217


  Commit: 1f283a60a4bb896fa2d37ce00a3018924be82b9f
      https://github.com/llvm/llvm-project/commit/1f283a60a4bb896fa2d37ce00a3018924be82b9f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    A llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
    M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
    A llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
    A llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir

  Log Message:
  -----------
  Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

This reverts commit 9e50c6e6b5741895f58f3e530004052844b6af9f. A few assertion and verifier
errors have been fixed in the coalescer and allocator, so hopefully this sticks this time.


  Commit: 8186e1500b1d9709f10199b7c599274f8a6f8e3a
      https://github.com/llvm/llvm-project/commit/8186e1500b1d9709f10199b7c599274f8a6f8e3a
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane.ll

  Log Message:
  -----------
  [SME2] Add LUTI2 and LUTI4 single Builtins and Intrinsics (#73304)

See https://github.com/ARM-software/acle/pull/217

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


  Commit: 88fbc4d3df7c24105eb36232ff6250da95c8a202
      https://github.com/llvm/llvm-project/commit/88fbc4d3df7c24105eb36232ff6250da95c8a202
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/lib/Analysis/ModuleSummaryAnalysis.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/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/test/Analysis/StackSafetyAnalysis/ipa.ll
    M llvm/test/Assembler/thinlto-summary.ll
    M llvm/test/Bitcode/thinlto-alias.ll
    M llvm/test/Bitcode/thinlto-alias2.ll
    M llvm/test/Bitcode/thinlto-asm-noimport.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-cast.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary-functionattrs.ll
    M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
    M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
    M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary.ll
    M llvm/test/Bitcode/thinlto-summary-linkage-types.ll
    M llvm/test/Bitcode/thinlto-summary-section.ll
    M llvm/test/ThinLTO/X86/deadstrip.ll
    M llvm/test/ThinLTO/X86/distributed_indexes.ll

  Log Message:
  -----------
  [ThinLTO] Add tail call flag to call edges in summary (#74043)

This adds support for a HasTailCall flag on function call edges in the
ThinLTO summary. It is intended for use in aiding discovery of missing
frames from tail calls in profiled call stacks for MemProf of profiled
binaries that did not disable tail call elimination. A follow on change
will add the use of this new flag during MemProf context disambiguation.

The new flag is encoded in the bitcode along with either the hotness
flag from the profile, or the relative block frequency under the
-write-relbf-to-summary flag when there is no profile data.
Because we now will always have some additional call edge information, I
have removed the non-profile function summary record format, and we
simply encode the tail call flag along with a hotness type of none when
there is no profile information or relative block frequency. The change
of record format and name caused most of the test case changes.

I have added explicit testing of generation of the new tail call flag
into the bitcode and IR assembly format as part of the changes to
llvm/test/Bitcode/thinlto-function-summary-refgraph.ll. I have also
added round trip testing through assembly and bitcode to
llvm/test/Assembler/thinlto-summary.ll.


  Commit: 03656776923b699dd4fc16dcde6495a4d12b7886
      https://github.com/llvm/llvm-project/commit/03656776923b699dd4fc16dcde6495a4d12b7886
  Author: Michael Kenzel <michael.kenzel at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M libcxx/test/support/container_debug_tests.h
    M libcxx/test/support/test_macros.h
    M libcxxabi/src/demangle/DemangleConfig.h

  Log Message:
  -----------
  [libc++] Remove dependence on <ciso646> (#73271)

C++23 removed `<ciso646>` from the standard library. The header is used
in a few places in order to pull in implementation-specific and feature
test macros. The new way of doing that is `<version>`, which should be
supported by all supported implementations. This change replaces all
those uses of `<ciso646>` with `<version>`.


  Commit: 565dddec6396d84befa122aa69634b055a60da17
      https://github.com/llvm/llvm-project/commit/565dddec6396d84befa122aa69634b055a60da17
  Author: Podchishchaeva, Mariya <mariya.podchishchaeva at intel.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/temp/temp.decls/temp.alias/p3.cpp
    M clang/test/SemaCXX/alias-template.cpp

  Log Message:
  -----------
  Revert "[clang] Substitute alias templates from correct context (#74335)"

It was reported in the PR that commit caused clang giving errors for
code previously considered valid.
This reverts commit 6b1aa319754e76366edd88e10034e0539710d946.


  Commit: 384f916ea899ea6ac9af4a3fb9d0a5b03937acfe
      https://github.com/llvm/llvm-project/commit/384f916ea899ea6ac9af4a3fb9d0a5b03937acfe
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp

  Log Message:
  -----------
  Reapply 34cdc913214fd (#74455), call-site-splitting for RemoveDIs

Original commit message below; asan complained about this commit because it
transpires that the final comparison with CurrentI is in fact a comparison
of a pointer that has been freed. This seems to work fine most of the time,
but using the iterator for such an instruction causes the freed instruction
memory to be accessed, causing a use-after-free. The fix is to perform the
comparison as an instruction, not an iterator.

[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: 7b83f69db4a57c63c230d45ca2dc52b024612c17
      https://github.com/llvm/llvm-project/commit/7b83f69db4a57c63c230d45ca2dc52b024612c17
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/lib/Analysis/VFABIDemangling.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/Transforms/Utils/ModuleUtils.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp
    M llvm/unittests/Analysis/VectorFunctionABITest.cpp
    M llvm/unittests/Analysis/VectorUtilsTest.cpp

  Log Message:
  -----------
  [NFC] Replace CallInst with FunctionType in VFABI, VFShape API (#74569)

Minor simplification applied to VFShape::getScalarShape,
VFShape::get, and VFABI::tryDemangleForVFABI methods.

Also, remove unnecessary `static_cast` in `SLPVectorizer.cpp`


  Commit: d0858bffa11e418c257b2573acbf4a3901d5dcb1
      https://github.com/llvm/llvm-project/commit/d0858bffa11e418c257b2573acbf4a3901d5dcb1
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    A llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Maintain DPValues on skipped instrs in CGP (#74602)

It turns out that CodeGenPrepare will skip over consecutive select
instructions as it knows it can optimise them all at the same time. This
is unfortunate for the RemoveDIs project to remove intrinsic-based
debug-info, because that means debug-info attached to those skipped
instructions doesn't get seen by optimizeInst and so updated. Add code
to handle debug-info on those skipped instructions manually.

This code will also have been slower when it had dbg.values stuffed in
between instructions, but with RemoveDIs it'll go faster because the
dbg.values won't break up the select sequence.


  Commit: 341a51aac4b344c96d9d8774cf97a57cad76a9f4
      https://github.com/llvm/llvm-project/commit/341a51aac4b344c96d9d8774cf97a57cad76a9f4
  Author: Reid Kleckner <rnk at google.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h

  Log Message:
  -----------
  [mlir] Fix shift overflow and warning on LLP64 platforms (Windows) (#74002)


  Commit: 5b0db27aceb46e66d9c14e950a546cba5fb33a2a
      https://github.com/llvm/llvm-project/commit/5b0db27aceb46e66d9c14e950a546cba5fb33a2a
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp

  Log Message:
  -----------
  [mlir][sparse] remove LoopOrd type (#74540)

Rationale:
We no longer deal with topsort during sparsification, so that LoopId ==
LoopOrd for all methods. This first revision removes the types. A follow
up revision will simplify some other remaining constructs that deal with
loop order (e.g. at and ldx).


  Commit: 56248caa3b427b0c0700f910d0b7b3e1b175bff1
      https://github.com/llvm/llvm-project/commit/56248caa3b427b0c0700f910d0b7b3e1b175bff1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

  Log Message:
  -----------
  [InstCombine] Explicitly set disjoint flag when converting xor to or. (#74229)


  Commit: f85a38e21cfa1d5723ab4af4b76fd7529f2688b2
      https://github.com/llvm/llvm-project/commit/f85a38e21cfa1d5723ab4af4b76fd7529f2688b2
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll

  Log Message:
  -----------
  Follow up to d0858bffa11, add missing REQUIRES x86


  Commit: 3f73fd774cf8fc2f288767ea077bfa351eb7aa80
      https://github.com/llvm/llvm-project/commit/3f73fd774cf8fc2f288767ea077bfa351eb7aa80
  Author: Julian Schmidt <44101708+5chmidti at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    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/UseStdNumbersCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-numbers.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp

  Log Message:
  -----------
  [clang-tidy] add modernize-use-std-numbers (#66583)

Finds constants and function calls to math functions that can be
replaced with c++20's mathematical constants from the 'numbers' 
header and offers fix-it hints.
Does not match the use of variables with that value, and instead,
offers a replacement at the definition of those variables.


  Commit: 9bad6cb7fc571821bfacc8926a8a7f5d147ce540
      https://github.com/llvm/llvm-project/commit/9bad6cb7fc571821bfacc8926a8a7f5d147ce540
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 3f73fd774cf8


  Commit: 0e1a9e3084cd8dffa5d4f2cf6eabf9e7721e1cdd
      https://github.com/llvm/llvm-project/commit/0e1a9e3084cd8dffa5d4f2cf6eabf9e7721e1cdd
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
    A llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll

  Log Message:
  -----------
  [SLP]Fix PR74607: Fix dependency between buildvector nodes with user
nodes, having same last instruction.

If the user nodes has the same last-instruction, used as insert points
for the buildvector nodes, finding the proper dependency is crucial.
  Before, it depended on the indices of the buildvectors themselves but
  looks like it should depend on indices of the user nodes, because it
  identifies the vectorization order and, thus, properly aligns
  buildvector nodes in terms of def-use chain.


  Commit: 65cb5d58eb5783c17fd2121db79ebac950b767b2
      https://github.com/llvm/llvm-project/commit/65cb5d58eb5783c17fd2121db79ebac950b767b2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td

  Log Message:
  -----------
  [RISCV] Remove DecoderNamespace from vector pseudoinstructions.

Pseudoinstructions don't have decoding information so don't need
a namespace.


  Commit: 45e7b410c0a19fd36c2264cdc3a1b4f2ab966790
      https://github.com/llvm/llvm-project/commit/45e7b410c0a19fd36c2264cdc3a1b4f2ab966790
  Author: Peter Hawkins <phawkins at google.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/python/mlir/_mlir_libs/__init__.py

  Log Message:
  -----------
  [mlir:python] Fail immediately if importing an initializer module raises ImportError (#74595)


  Commit: 9982f8ee02be7aa82b88001e509a1b41d57eb1dc
      https://github.com/llvm/llvm-project/commit/9982f8ee02be7aa82b88001e509a1b41d57eb1dc
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

  Log Message:
  -----------
  [lldb][SymbolFileDWARF][NFC] Remove unnecessary calls to GetDWARFDeclContext (#74523)

The function FindDefinitionTypeForDWARFDeclContext loops over all DIEs
corresponding to types with a certain name and compares the context of
each found DIE with the context of a target DIE. However, the target DIE
never changes throughout this search, and yet we recompute its
DeclContext on every iteration of the search. This is wasteful because
the method is not exactly free (see
DWARFDebugInfoEntry::GetDWARFDeclContextStatic).


  Commit: d1f86c3d03b7549eb0153c62550ef0f513ff50e8
      https://github.com/llvm/llvm-project/commit/d1f86c3d03b7549eb0153c62550ef0f513ff50e8
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/FileEntry.h
    M clang/unittests/Basic/FileManagerTest.cpp
    M llvm/include/llvm/Support/Compiler.h

  Log Message:
  -----------
  [clang] NFC: Deprecate `FileEntry::getName()` (#68157)

All uses of `FileEntry::getName()` were removed in favor of
`FileEntryRef::getName()`. This patch finally formally deprecates that
function. The plan is to remove it entirely in the main branch after we
cut the release branch for LLVM 18.


  Commit: bb0b261c2c731f9ceb5a70b2343b892b2ee05f3e
      https://github.com/llvm/llvm-project/commit/bb0b261c2c731f9ceb5a70b2343b892b2ee05f3e
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Attemp to fix compliation issue in UseStdNumbersCheck.cpp

Attempt to fix issue introduced in #66583


  Commit: a2d3bb1fa96aeba610273908d09fefad6d6032f8
      https://github.com/llvm/llvm-project/commit/a2d3bb1fa96aeba610273908d09fefad6d6032f8
  Author: Artem Belevich <tra at google.com>
  Date:   2023-12-06 (Wed, 06 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:
  -----------
  Revert "[NVPTX] Lower 16xi8 and 8xi8 stores efficiently (#73646)" (#74518)

This reverts commit 173fcf7da592acd284dc50749558fd36928861f0.

We need to constrain the optimization to properly aligned loads/stores
only.
https://github.com/llvm/llvm-project/pull/73646#issuecomment-1841454559


  Commit: 7deb41db98230938486ad2f22dda353f8950ac95
      https://github.com/llvm/llvm-project/commit/7deb41db98230938486ad2f22dda353f8950ac95
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp

  Log Message:
  -----------
  Revert "[clang-tidy][NFC] Attemp to fix compliation issue in UseStdNumbersCheck.cpp"

This reverts commit bb0b261c2c731f9ceb5a70b2343b892b2ee05f3e.


  Commit: 1e1e11a4d7c57028953a23deae622acab5eee9ff
      https://github.com/llvm/llvm-project/commit/1e1e11a4d7c57028953a23deae622acab5eee9ff
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    R clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
    R clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    R clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-numbers.rst
    R clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp

  Log Message:
  -----------
  Revert "[clang-tidy] add modernize-use-std-numbers (#66583)"

Compilation issue, to be resolved.

This reverts commit 3f73fd774cf8fc2f288767ea077bfa351eb7aa80.


  Commit: 3ab41f912a6c219a93b87c257139822ea07c8863
      https://github.com/llvm/llvm-project/commit/3ab41f912a6c219a93b87c257139822ea07c8863
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/tools/llvm-exegesis/X86/latency/memory-annotations-unsupported.s
    A llvm/test/tools/llvm-exegesis/X86/latency/snippet-address-annotations-unsupported.s
    A llvm/test/tools/llvm-exegesis/X86/latency/subprocess-address-annotation.s
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp

  Log Message:
  -----------
  [llvm-exegesis] Add in snippet address annotation (#74218)


  Commit: e07c92a9c3e37c506e34196ccbafa20cfc064a2a
      https://github.com/llvm/llvm-project/commit/e07c92a9c3e37c506e34196ccbafa20cfc064a2a
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/test/Dialect/Linalg/transform-ops.mlir
    M mlir/test/Dialect/Linalg/transform-patterns.mlir

  Log Message:
  -----------
  [mlir] Fix TileUsingForOp attr-dict printing/parsing (#73261)

`TileUsingForOp` has an optional Attribute `interchange` which was given
in curly braces like this: `{interchange = [...]}`. The way this was
parsed meant that no `attr-dict` could be attached to the Op.
This patch adds printing / parsing of an `attr-dict` to the Op and
prints/parses the `interchange` Attribute separate from the
discardable Attributes.


  Commit: 5baf66f3c2ee90d2de03f7ba3a558b1ad2632c2f
      https://github.com/llvm/llvm-project/commit/5baf66f3c2ee90d2de03f7ba3a558b1ad2632c2f
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
    M llvm/include/llvm/CodeGen/MachinePassRegistry.def
    A llvm/include/llvm/CodeGen/WasmEHPrepare.h
    M llvm/lib/CodeGen/WasmEHPrepare.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    A llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
    R llvm/test/CodeGen/WebAssembly/wasmehprepare.ll

  Log Message:
  -----------
  [CodeGen] Port WasmEHPrepare to new pass manager (#74435)

Port `WasmEHPrepare` to new pass manager, also rename `wasmehprepare` to
`wasm-eh-prepare`.


  Commit: fa5486e487a6f98358eca572efb4b1fd7d27d1f5
      https://github.com/llvm/llvm-project/commit/fa5486e487a6f98358eca572efb4b1fd7d27d1f5
  Author: Ho Cheung <17492865+gz83 at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Passes/ReorderAlgorithm.cpp

  Log Message:
  -----------
  [BOLT] [Passes] Fix two compile warnings in BOLT (#73086)

Fix build issue on Windows.

issue:#73085

@maksfb PTAL thank you


  Commit: 30d700117b772d94d8474ec56bd6f9cc423fc613
      https://github.com/llvm/llvm-project/commit/30d700117b772d94d8474ec56bd6f9cc423fc613
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/test/tools/llvm-exegesis/X86/latency/memory-annotations-unsupported.s
    R llvm/test/tools/llvm-exegesis/X86/latency/snippet-address-annotations-unsupported.s
    R llvm/test/tools/llvm-exegesis/X86/latency/subprocess-address-annotation.s
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp

  Log Message:
  -----------
  Revert "[llvm-exegesis] Add in snippet address annotation (#74218)"

This reverts commit 3ab41f912a6c219a93b87c257139822ea07c8863.

Unit tests break after recent changes. Will investigate/reland.


  Commit: 69c4930aad9659ec6ab846c8e7124d6afe044b1e
      https://github.com/llvm/llvm-project/commit/69c4930aad9659ec6ab846c8e7124d6afe044b1e
  Author: Thurston Dang <thurston at google.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    R llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
    M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
    R llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
    R llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir

  Log Message:
  -----------
  Revert "Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG""

This reverts commit 1f283a60a4bb896fa2d37ce00a3018924be82b9f.
Reason: breaks MSan buildbot
(https://lab.llvm.org/buildbot/#/builders/74/builds/24077)


  Commit: 2f620374a05d4bfd1e8bebe97a34c9a5471553ed
      https://github.com/llvm/llvm-project/commit/2f620374a05d4bfd1e8bebe97a34c9a5471553ed
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/lib/Sema/Sema.cpp
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ptrue.c

  Log Message:
  -----------
  Add SME2 builtins for pfalse and ptrue (#71953)

Extend pfalse and ptrue builtins with svcount_t return types to be
enabled for sve2p1 and sme2

See https://github.com/ARM-software/acle/pull/217


  Commit: f1c08eebb3bb5eb6e984bcca511381a9748c6705
      https://github.com/llvm/llvm-project/commit/f1c08eebb3bb5eb6e984bcca511381a9748c6705
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/include/clang/IndexSerialization/SerializablePathCollection.h
    M clang/lib/IndexSerialization/SerializablePathCollection.cpp

  Log Message:
  -----------
  [clang] NFCI: Use `FileEntryRef::getName()` in clangIndexSerialization

The clangIndexSerialization target seems to be unused, so it didn't build when I ran `check-all` before landing d1f86c3d. This should resolve the deprecation warning that caused some build bots to fail.


  Commit: 1241b5b05b5cc2e39915a06ee679d644463dcd67
      https://github.com/llvm/llvm-project/commit/1241b5b05b5cc2e39915a06ee679d644463dcd67
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp

  Log Message:
  -----------
  [clang-format][NFC] Refactor getting first/last non-comment of line (#74570)


  Commit: c37573e8c7a6bb82901f2bf35f08efcabd78f112
      https://github.com/llvm/llvm-project/commit/c37573e8c7a6bb82901f2bf35f08efcabd78f112
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn

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


  Commit: cd83180c60d8cf149123c881526e3905c9c49275
      https://github.com/llvm/llvm-project/commit/cd83180c60d8cf149123c881526e3905c9c49275
  Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M flang/test/Lower/default-initialization-globals.f90

  Log Message:
  -----------
  [flang] Change global initialization for equivalence on AIX (NFC) (#74614)

default initialization for equivalence on AIX results in a different
value due to endianness, changing the testcase to account for that.

Co-authored-by: Mark Danial <mark.danial at ibm.com>


  Commit: 3d1172813fc640514c6cb421394c34f4b42cb634
      https://github.com/llvm/llvm-project/commit/3d1172813fc640514c6cb421394c34f4b42cb634
  Author: Thurston Dang <thurston.dang at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc

  Log Message:
  -----------
  [sanitizer_common] Fix potential null dereference in dlopen interceptor (#74645)

The test_only_replace_dlopen_main_program flag
(introduced in
https://github.com/llvm/llvm-project/commit/0be4c6b9483594494051e8f1f67afc2b516270ca)
will cause internal_strcmp to dereference NULL if DlAddrSelfFName()
returns NULL (which happens in very rare cases). This patch adds a
null pointer check.

Co-authored-by: Thurston Dang <thurston at google.com>


  Commit: b4e19155171edf14412dc4132b7b10a84ac65fc5
      https://github.com/llvm/llvm-project/commit/b4e19155171edf14412dc4132b7b10a84ac65fc5
  Author: Lang Hames <lhames at gmail.com>
  Date:   2023-12-06 (Wed, 06 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/Linux/ppc64/trivial-atexit.S
    M compiler-rt/test/orc/TestCases/Linux/x86-64/trivial-atexit.S
    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:
  -----------
  Re-apply "[llvm-jitlink] Add Process and Platform JITDylibs, ..." with fixes.

This reapplies 3d0dd1a7d6, which was reverted in df2485b215a due to bot
failures. This patch addresses the issues seen on the bots by disabling two
Linux atexit tests in the ORC runtime whose behavior could not be maintained
now that the ORC runtime is being loaded into a separate Platform JITDylib.
https://github.com/llvm/llvm-project/issues/74641 has been filed to fix the
issue with atexit.


  Commit: 0eb7d53cfc48f2e9287bb116415620618ca850b7
      https://github.com/llvm/llvm-project/commit/0eb7d53cfc48f2e9287bb116415620618ca850b7
  Author: Julian Schmidt <44101708+5chmidti at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    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/UseStdNumbersCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-numbers.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp

  Log Message:
  -----------
  [clang-tidy] add modernize-use-std-numbers (#66583)

Finds constants and function calls to math functions that can be
replaced with c++20's mathematical constants from the 'numbers' 
header and offers fix-it hints.
Does not match the use of variables with that value, and instead,
offers a replacement at the definition of those variables.


  Commit: e1fa2fea03ff94627008054267a244744d76b5c2
      https://github.com/llvm/llvm-project/commit/e1fa2fea03ff94627008054267a244744d76b5c2
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Change ArrayRef into std::vector in modernize-use-std-numbers

To avoid compiler errors on some platforms introduced
by #66583, now using std::vector to pass list of
matchers into main matcher, and removed static variable
as it could introduce some other issues.


  Commit: 81360ec58217c42b288d1267aba4836f880b19ba
      https://github.com/llvm/llvm-project/commit/81360ec58217c42b288d1267aba4836f880b19ba
  Author: Oskar Wirga <10386631+oskarwirga at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll
    A llvm/test/Transforms/LowerTypeTests/cfi-nounwind-direct-call.ll
    A llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
    M llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
    M llvm/test/Transforms/LowerTypeTests/function-thumb-bti.ll
    M llvm/test/Transforms/LowerTypeTests/function.ll
    M llvm/test/Transforms/LowerTypeTests/x86-jumptable.ll

  Log Message:
  -----------
  [CFI] Fix Direct Call Issues in CFI Dispatch Table (#69663)

I discovered two issues for when a CFI dispatch table entry is used as a
direct call.
# Inlining
There is the possibility that the dispatch table entry contains only a
single function pointer:
```
; Function Attrs: naked nocf_check
define private void @.cfi.jumptable() #6 align 8 { entry:
  call void asm sideeffect "jmp ${0:c}@plt\0Aint3\0Aint3\0Aint3\0A", "s"(ptr @_Z7throw_ei)
  unreachable
}
```
If this function is inlined, the unreachable follows and ruins the
containing function.
# Exception Handling
The dispatch table is always marked NoUnwind. This is fine if the
entries are never used directly, but if a direct call is used which the
containing function expects to throw, it will no longer throw and the
exception handling code will be lost.


  Commit: 48ca868dd3f803cd8c500475e5880652bad75815
      https://github.com/llvm/llvm-project/commit/48ca868dd3f803cd8c500475e5880652bad75815
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 0eb7d53cfc48


  Commit: 98ce2debc6ff3f6d31d7b63eb54e10e88a84ee78
      https://github.com/llvm/llvm-project/commit/98ce2debc6ff3f6d31d7b63eb54e10e88a84ee78
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp

  Log Message:
  -----------
  [mlir][sparse] cleanup ldx/idx/depth/at usage (#74654)

This adds a consistent usage with `at` for everything that refers to the
current loop nesting. This cleans up some redundant legacy code from
when we were still using topSort inside sparsifier code.


  Commit: 03c2f5d8bbcf31239a631d9343ac7f4b6b3094c1
      https://github.com/llvm/llvm-project/commit/03c2f5d8bbcf31239a631d9343ac7f4b6b3094c1
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    A mlir/test/Dialect/Linalg/vectorize-convolution-flatten.mlir

  Log Message:
  -----------
  [mlir][linalg][conv] Flatten the channel dimension when vectorizing (#71918)

The current vectorization of 1D depthwise convolutions in Linalg is
_sub-optimal_ for tensor with a low number of channel dimensions, e.g.:

```mlir
linalg.depthwise_conv_1d_nwc_wc
    {dilations = dense<1> : vector<1xi64>,
    strides = dense<1> : vector<1xi64>}
    ins(%input, %filter : tensor<1x8x3xi8>, tensor<1x3xi8>)
    outs(%output : tensor<1x8x3xi8>) -> tensor<1x8x3xi8>
```

That's due to the fact that ultimately (i.e. at LLVM level),
vectorization happens along the trailing dimension (i.e. the channel
dimension). In this case it leads to vectors with 3 elements (or worse,
if there's e.g. only 1 channel dimension). For comparison, a 128 bit
wide vector registers can hold 16 x i8.

Instead, this patch adds an option to flatten/collapse the channel
dimension into the width dimension of the input/filter/output using
`vector.shape_cast` operation:

```mlir
    %sc_input = vector.shape_cast %input : vector<1x8x3xi8> to vector<1x24xi8>
    %sc_output = vector.shape_cast %output : vector<1x8x3xi8> to vector<1x24xi8>
    %b_filter = vector.broadcast %filter : vector<3xi8> to vector<1x8x3xi8>
    %sc_filter = vector.shape_cast %b_filter : vector<1x8x3xi8> to vector<1x24xi8>
```

This new vectorization mode is implemented in `depthwiseConv` by
inserting `vector.shape_cast` Ops before and after 
`depthwiseConv1dSliceAsMulAcc` is invoked. It can be selected through
e.g. a transform dialect attribute:

```mlir
  transform.structured.vectorize_children_and_apply_patterns %conv {flatten_1d_depthwise_conv}
```

A forthcoming patch will implement a strategy to automatically switch
between the two implementations, depending on the shape of the input
tensors.

Co-authored by: Bradley Smith <bradley.smith at arm.com>


  Commit: fb62a18615d28694f1a16a3e23915190703a2e98
      https://github.com/llvm/llvm-project/commit/fb62a18615d28694f1a16a3e23915190703a2e98
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/docs/Dialects/ArmSME.md

  Log Message:
  -----------
  [mlir][ArmSME] Update docs (#74527)


  Commit: 6419fb51678ec8c648e311256ecc0498576b2066
      https://github.com/llvm/llvm-project/commit/6419fb51678ec8c648e311256ecc0498576b2066
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp

  Log Message:
  -----------
  [GISel] Don't print the opcode twice in LegalityQuery::print. (#74232)


  Commit: 78964457cf1bafe57a54629fafbd081452a9e528
      https://github.com/llvm/llvm-project/commit/78964457cf1bafe57a54629fafbd081452a9e528
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/test/Transforms/Reassociate/add-like-or.ll

  Log Message:
  -----------
  [Reassociate] Use disjoint flag to convert Or to Add. (#72772)

We still have to keep the noCommonBitsSet call to handle multiple reassociations in one pass. We'll lose the flag on the first reassociation.


  Commit: 92fccea2e50030ac849313010e2d3914b953c6c6
      https://github.com/llvm/llvm-project/commit/92fccea2e50030ac849313010e2d3914b953c6c6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/test/Transforms/Reassociate/add-like-or.ll

  Log Message:
  -----------
  Revert "[Reassociate] Use disjoint flag to convert Or to Add. (#72772)"

This reverts commit 78964457cf1bafe57a54629fafbd081452a9e528.

Looks like I didn't rebase this correctly before commit


  Commit: 3b2f8795093ce64209bd648231ecda85df28748a
      https://github.com/llvm/llvm-project/commit/3b2f8795093ce64209bd648231ecda85df28748a
  Author: Lang Hames <lhames at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/main-ret-0.ll
    A llvm/test/ExecutionEngine/JITLink/Generic/error-object-passed-as-archive.test

  Log Message:
  -----------
  [ORC] Use dyn_cast to check input type in StaticLibraryDefinitionGenerator.

Replaces an llvm::cast that assumed that all Binary instances were either
Archive or MachOUniversalBinary instances with a dyn_cast. The cast was
triggering an assert in StaticLibraryDefinitionGenerator::Load if that method
was given a path or MemoryBuffer containing a relocatable object file.
Switching to dyn_cast causes the operation to error out with a bad-format
error as expected.

Fixes rdar://119262300


  Commit: c5a1732cf31c81ee9f12264b40eee60d49fd05dd
      https://github.com/llvm/llvm-project/commit/c5a1732cf31c81ee9f12264b40eee60d49fd05dd
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp

  Log Message:
  -----------
  [mlir][sparse] use "current" and "curr" consistently (#74656)

Removes at in favor of curr; also makes method delegates consistent


  Commit: 4db54e659763401dbf2e5b1f90e9a3391e311e50
      https://github.com/llvm/llvm-project/commit/4db54e659763401dbf2e5b1f90e9a3391e311e50
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/test/CodeGenCXX/debug-info-class.cpp
    R clang/test/CodeGenCXX/debug-info-static-inline-member.cpp
    M clang/test/CodeGenCXX/debug-info-static-member.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py

  Log Message:
  -----------
  [clang][DebugInfo] Revert "emit definitions for constant-initialized static data-members" (#74580)

This commit reverts the changes in
https://github.com/llvm/llvm-project/pull/71780 and all of its follow-up
patches.

We got reports of the `.debug_names/.debug_gnu_pubnames/gdb_index/etc.`
sections growing by a non-trivial amount for some large projects. While
GCC emits definitions for static data member constants into the Names
index, they do so *only* for explicitly `constexpr` members. We were
indexing *all* constant-initialized const-static members, which is
likely where the significant size difference comes from. However, only
emitting explicitly `constexpr` variables into the index doesn't seem
like a good way forward, since from clang's perspective `const`-static
integrals are `constexpr` too, and that shouldn't be any different in
the debug-info component. Also, as new code moves to `constexpr` instead
of `const` static for constants, such solution would just delay the
growth of the Names index.

To prevent the size regression we revert to not emitting definitions for
static data-members that have no location.

To support access to such constants from LLDB we'll most likely have to
have to make LLDB find the constants by looking at the containing class
first.


  Commit: 2a1bcf1f388c3a2924c5429c3f55be054f479950
      https://github.com/llvm/llvm-project/commit/2a1bcf1f388c3a2924c5429c3f55be054f479950
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M openmp/libomptarget/CMakeLists.txt
    M openmp/libomptarget/src/CMakeLists.txt
    M openmp/libomptarget/src/PluginManager.cpp

  Log Message:
  -----------
  [OpenMP] Allow to specify what plugins to look for (#74538)

By default we now only look for the plugins we build, but the user can
overwrite that with `LIBOMPTARGET_PLUGINS_TO_LOAD="cuda,amdgpu,x86_64"`


  Commit: 533a0856bff75c395deacadf98df8b83c72d55e4
      https://github.com/llvm/llvm-project/commit/533a0856bff75c395deacadf98df8b83c72d55e4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/test/Transforms/Reassociate/add-like-or.ll

  Log Message:
  -----------
  Recommit "[Reassociate] Use disjoint flag to convert Or to Add. (#72772)"

Original message:
We still have to keep the noCommonBitsSet call to handle multiple reassociations in one pass. We'll lose the flag on the first reassociation.


  Commit: a93cacf9b08f0780f2ae2832da10a9a841ae7d03
      https://github.com/llvm/llvm-project/commit/a93cacf9b08f0780f2ae2832da10a9a841ae7d03
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M clang/lib/Driver/Driver.cpp

  Log Message:
  -----------
  [clang driver] Remove a bit of redundant flang specific code [nfc]

getOptionVisibilityMask already returns options::FlangOption in FlangMode,
so this assignment is entirely pointless.


  Commit: 64454daab0c34d9f3a488979b6b7dfbe315fa9f8
      https://github.com/llvm/llvm-project/commit/64454daab0c34d9f3a488979b6b7dfbe315fa9f8
  Author: Christopher Di Bella <cjdb at google.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M libcxx/docs/Hardening.rst

  Log Message:
  -----------
  [libcxx] reorganises the hardening documentation (#73159)

The reorganisation assists with identifying information that's relevant
to the reader by using sections, note/warning blocks, and highlighted
lists.

Some rewording was necessary to fit the new structure and some to
improve flow. Changes to the intention of the documentation have not
been made.

---------

Co-authored-by: Will Hawkins <whh8b at obs.cr>


  Commit: 71be8f3c23497e28c86f1135f564b16106d8d6fb
      https://github.com/llvm/llvm-project/commit/71be8f3c23497e28c86f1135f564b16106d8d6fb
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

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

  Log Message:
  -----------
  [lldb] Un-xfail test after commit revert

These tests started passing after this PR landed:
https://github.com/llvm/llvm-project/pull/74580


  Commit: e127ca37faa8b71df8000498434ed50668e0258d
      https://github.com/llvm/llvm-project/commit/e127ca37faa8b71df8000498434ed50668e0258d
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M .git-blame-ignore-revs
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/new-prs.yml
    M .mailmap
    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/Core/BinaryFunction.cpp
    M bolt/lib/Core/FunctionLayout.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Passes/ReorderAlgorithm.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    A bolt/test/AArch64/fp-reg-spill.s
    A bolt/test/X86/cdsplit-call-scale.s
    A bolt/test/X86/cdsplit-symbol-names.s
    M bolt/test/X86/dwarf5-df-output-dir-same-name.test
    M bolt/test/runtime/AArch64/instrumentation-ind-call.c
    M bolt/utils/llvm-bolt-wrapper.py
    M bolt/utils/nfc-stat-parser.py
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    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
    A clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.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
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-numbers.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
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.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-tools-extra/test/clang-tidy/infrastructure/Inputs/compilation-database/template.json
    M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-run-with-database.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/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/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/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/FileEntry.h
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.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/IndexSerialization/SerializablePathCollection.h
    M clang/include/clang/Lex/PPCallbacks.h
    M clang/include/clang/Parse/Parser.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/ExprConstant.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/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    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/Driver/Driver.cpp
    M clang/lib/Driver/Multilib.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.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/Flang.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/Format/.clang-format
    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/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    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/vecintrin.h
    M clang/lib/IndexSerialization/SerializablePathCollection.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Rewrite/Rewriter.cpp
    M clang/lib/Sema/OpenCLBuiltins.td
    M clang/lib/Sema/Sema.cpp
    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/SemaLookup.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.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/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/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_cvt.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.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
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ptrue.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
    M clang/test/CodeGen/attr-target-clones.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
    M clang/test/CodeGenCXX/RelativeVTablesABI/member-function-pointer.cpp
    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/attr-target-clones.cpp
    M clang/test/CodeGenCXX/debug-info-class.cpp
    R clang/test/CodeGenCXX/debug-info-static-inline-member.cpp
    M clang/test/CodeGenCXX/debug-info-static-member.cpp
    A clang/test/CodeGenHIP/ballot.cpp
    M clang/test/CodeGenOpenCL/sqrt-fpmath.cl
    M clang/test/Driver/aarch64-thread-pointer.c
    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/Headers/arm-neon-header.c
    M clang/test/Index/initializer-memory.cpp
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    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
    A clang/test/OpenMP/nothing_ast_print.cpp
    M clang/test/OpenMP/parallel_reduction_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
    M clang/test/Parser/cxx2a-concepts-requires-expr.cpp
    A clang/test/ParserOpenACC/parse-cache-construct.c
    A clang/test/ParserOpenACC/parse-cache-construct.cpp
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/ParserOpenACC/unimplemented.c
    M clang/test/ParserOpenACC/unimplemented.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/pr72025.cpp
    M clang/test/SemaCXX/rounding-math.cpp
    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/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/Basic/FileManagerTest.cpp
    M clang/unittests/Format/.clang-format
    M clang/unittests/Format/CMakeLists.txt
    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/utils/TableGen/SveEmitter.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M compiler-rt/CMakeLists.txt
    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/orc/macho_platform.cpp
    M compiler-rt/lib/orc/simple_packed_serialization.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    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/lib/scudo/standalone/wrappers_c_bionic.cpp
    M compiler-rt/test/hwasan/TestCases/Linux/syscalls.cpp
    A compiler-rt/test/hwasan/TestCases/memset-recover.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/Linux/ppc64/trivial-atexit.S
    M compiler-rt/test/orc/TestCases/Linux/x86-64/trivial-atexit.S
    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
    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/CompilerInstance.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/Frontend/FrontendActions.h
    M flang/include/flang/ISO_Fortran_binding.h
    M flang/include/flang/ISO_Fortran_binding_wrapper.h
    M flang/include/flang/Lower/Bridge.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/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/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    A flang/include/flang/Optimizer/Support/DataLayout.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/include/flang/Tools/CLOptions.inc
    A flang/include/flang/Tools/TargetSetup.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/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.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/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/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/DescriptorModel.h
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/Support/CMakeLists.txt
    A flang/lib/Optimizer/Support/DataLayout.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/ISO_Fortran_binding.cpp
    A flang/runtime/exceptions.cpp
    M flang/runtime/format-implementation.h
    M flang/runtime/unit.cpp
    A flang/test/Driver/compiler-options.f90
    R flang/test/Driver/compiler_options.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/fast-math.f90
    R flang/test/Driver/fast_math.f90
    A flang/test/Driver/flang-f-opts.f90
    R flang/test/Driver/flang_f_opts.f90
    A flang/test/Driver/frame-pointer-forwarding.f90
    M flang/test/Driver/frontend-forwarding.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    A flang/test/Driver/msvc-defines.f90
    A flang/test/Driver/no-duplicate-main.f90
    R 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
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/dispatch.f90
    M flang/test/Fir/external-mangling.fir
    M flang/test/Fir/fir-ops.fir
    A flang/test/Fir/target-rewrite-complex-10-x86.fir
    A flang/test/Fir/tco-default-datalayout.fir
    A flang/test/Fir/tco-explicit-datalayout.fir
    M flang/test/HLFIR/call_with_poly_dummy.f90
    M flang/test/Lower/HLFIR/binary-ops.f90
    M flang/test/Lower/HLFIR/user-defined-assignment.f90
    M flang/test/Lower/Intrinsics/bessel_jn.f90
    M flang/test/Lower/Intrinsics/bessel_yn.f90
    M flang/test/Lower/Intrinsics/dim.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/min.f90
    M flang/test/Lower/Intrinsics/modulo.f90
    M flang/test/Lower/Intrinsics/nearest.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/arithmetic-goto.f90
    M flang/test/Lower/array-elemental-calls-2.f90
    M flang/test/Lower/array-expression-slice-1.f90
    M flang/test/Lower/array-user-def-assignments.f90
    M flang/test/Lower/assignment.f90
    A flang/test/Lower/bbc-host-datalayout.f90
    A flang/test/Lower/bbc-target-datalayout.f90
    M flang/test/Lower/default-initialization-globals.f90
    M flang/test/Lower/dispatch.f90
    M flang/test/Lower/forall/forall-construct.f90
    M flang/test/Lower/forall/forall-where.f90
    M flang/test/Lower/host-associated.f90
    M flang/test/Lower/nullify-polymorphic.f90
    M flang/test/Lower/real-operations-2.f90
    M flang/test/Lower/where.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/kinds04_q10.f90
    M flang/test/Semantics/misc-intrinsics.f90
    M flang/test/Semantics/real10-x86-01.f90
    M flang/test/Semantics/real10-x86-02.f90
    M flang/test/Semantics/realkinds-aarch64-01.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/test/Transforms/simplifyintrinsics.fir
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/bbc/bbc.cpp
    M flang/tools/f18/CMakeLists.txt
    M flang/tools/tco/tco.cpp
    M flang/unittests/Evaluate/real.cpp
    M flang/unittests/Frontend/FrontendActionTest.cpp
    M flang/unittests/Runtime/CommandTest.cpp
    M flang/unittests/Runtime/Format.cpp
    M flang/unittests/Runtime/MatmulTranspose.cpp
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/app.h
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/dev/undefined_behavior.rst
    M libc/include/sys/prctl.h.def
    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/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.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/sqrt.h
    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/__support/UInt.h
    R libc/src/__support/bit.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/hash.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
    M 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/__support/threads/linux/thread.cpp
    M libc/src/__support/wctype_utils.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/math_utils.h
    M libc/src/math/generic/powf.cpp
    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/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/memory_utils/op_aarch64.h
    M libc/src/string/memory_utils/op_builtin.h
    M libc/src/string/memory_utils/utils.h
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/prctl/CMakeLists.txt
    A libc/src/sys/prctl/linux/CMakeLists.txt
    A libc/src/sys/prctl/linux/prctl.cpp
    A libc/src/sys/prctl/prctl.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/__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
    M libc/test/src/__support/HashTable/CMakeLists.txt
    M libc/test/src/__support/HashTable/bitmask_test.cpp
    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/__support/str_to_float_test.cpp
    M 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/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/prctl/CMakeLists.txt
    A libc/test/src/sys/prctl/linux/CMakeLists.txt
    A libc/test/src/sys/prctl/linux/prctl_test.cpp
    M libc/utils/gpu/loader/amdgpu/Loader.cpp
    M libcxx/.clang-format
    M libcxx/CMakeLists.txt
    M libcxx/benchmarks/stop_token.bench.cpp
    M libcxx/cmake/caches/Armv7M-picolibc.cmake
    M libcxx/docs/Contributing.rst
    M libcxx/docs/DesignDocs/VisibilityMacros.rst
    M libcxx/docs/Hardening.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/index.rst
    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/ranges_rotate_copy.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/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/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/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_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/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
    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/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/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/source_location
    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/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
    M 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/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.non_unique.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.non_unique.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.index_operator.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.size.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/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/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/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.rotate/ranges.rotate_copy.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
    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.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/layout_left/ctor.layout_right.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/deduction.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/properties.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/mapping.verify.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/iterator_sentinel.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/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/input.output/string.streams/stringbuf/stringbuf.assign/member_swap_noexcept.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.assign/nonmember_swap_noexcept.pass.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.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.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/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/source_location.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/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/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/ranges/range.adaptors/range.filter/iterator/arrow.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.repeat.view/size.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.clock/time.clock.file/now.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
    M libcxx/test/support/container_debug_tests.h
    M libcxx/test/support/msvc_stdlib_force_include.h
    M libcxx/test/support/test_macros.h
    M libcxx/test/tools/clang_tidy_checks/uglify_attributes.cpp
    M libcxx/utils/ci/Dockerfile
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/ci/docker-compose.yml
    A libcxx/utils/clang-format-merge-driver.sh
    M libcxx/utils/generate_escaped_output_table.py
    M libcxx/utils/generate_extended_grapheme_cluster_table.py
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/libcxx/test/features.py
    M libcxx/utils/libcxx/test/format.py
    M libcxx/utils/libcxx/test/params.py
    M libcxxabi/src/demangle/DemangleConfig.h
    M libcxxabi/test/configs/armv7m-picolibc-libc++abi.cfg.in
    M libunwind/src/libunwind.cpp
    M libunwind/test/configs/armv7m-picolibc-libunwind.cfg.in
    M libunwind/test/libunwind_02.pass.cpp
    M lld/COFF/Config.h
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/Options.td
    M lld/COFF/Writer.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/MinGW/Driver.cpp
    M lld/MinGW/Options.td
    M lld/test/COFF/Inputs/loadconfig-arm64ec.s
    M lld/test/COFF/debug-reloc.s
    M lld/test/COFF/lto-imp-prefix.ll
    A lld/test/COFF/pdata-arm64ec.test
    M lld/test/COFF/rsds.test
    M lld/test/ELF/lto/libcall-archive-calloc.ll
    A lld/test/ELF/riscv-relax-call-mixed-rvc.s
    M lld/test/MinGW/driver.test
    R lld/test/wasm/pie.ll
    A lld/test/wasm/pie.s
    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/Expression/DiagnosticManager.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/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/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/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/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.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
    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/CMake.rst
    M llvm/docs/FatLTO.rst
    M llvm/docs/GettingStarted.rst
    M llvm/docs/GitHub.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.rst
    M llvm/examples/Kaleidoscope/Chapter8/toy.cpp
    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
    A llvm/include/llvm/Analysis/DomConditionCache.h
    M llvm/include/llvm/Analysis/InlineModelFeatureMaps.h
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/Analysis/VectorUtils.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/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/AccelTable.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/ByteProvider.h
    M llvm/include/llvm/CodeGen/CallingConvLower.h
    M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.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/WasmEHPrepare.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/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/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/OMPConstants.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    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/DerivedTypes.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/InstrTypes.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/ModuleSummaryIndex.h
    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/Compiler.h
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h
    R llvm/include/llvm/Support/Host.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/GlobalISel/Combine.td
    M llvm/include/llvm/Target/TargetMachine.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/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/BranchProbabilityInfo.cpp
    M llvm/lib/Analysis/CMakeLists.txt
    M llvm/lib/Analysis/CaptureTracking.cpp
    A llvm/lib/Analysis/DomConditionCache.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/VFABIDemangling.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.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/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.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/MachineScheduler.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/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.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/WasmEHPrepare.cpp
    M llvm/lib/CodeGen/WinEHPrepare.cpp
    M llvm/lib/DWARFLinkerParallel/DWARFLinkerGlobalData.h
    M llvm/lib/DWP/DWP.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/ExecutionUtils.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/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/Support/ARMBuildAttrs.cpp
    M llvm/lib/Support/Regex.cpp
    M llvm/lib/TableGen/Main.cpp
    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/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.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/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCtorDtorLowering.cpp
    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/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
    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/SIInsertHardClauses.cpp
    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/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
    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/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/ARM/Thumb1FrameLowering.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/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/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/RISCVInstrInfoXSf.td
    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/SPIRV/SPIRVEmitIntrinsics.cpp
    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/X86Instr3DNow.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/Target/X86/X86InstrFPStack.td
    M llvm/lib/Target/X86/X86InstrFoldTables.cpp
    M llvm/lib/Target/X86/X86InstrFormats.td
    A llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.td
    M llvm/lib/Target/X86/X86InstrMisc.td
    A llvm/lib/Target/X86/X86InstrOperands.td
    A llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/lib/Target/X86/X86InstrShiftRotate.td
    A llvm/lib/Target/X86/X86InstrUtils.td
    M llvm/lib/Target/X86/X86InstrVMX.td
    M llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
    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/IPO/EmbedBitcodePass.cpp
    M llvm/lib/Transforms/IPO/Inliner.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.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/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/InstrProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.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/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/Local.cpp
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/ModuleUtils.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/lib/XRay/BlockVerifier.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/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/StackSafetyAnalysis/ipa.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
    M llvm/test/Assembler/thinlto-summary.ll
    A llvm/test/Assembler/thinlto-vtable-summary2.ll
    M llvm/test/Bindings/llvm-c/echo.ll
    M llvm/test/Bitcode/thinlto-alias.ll
    M llvm/test/Bitcode/thinlto-alias2.ll
    M llvm/test/Bitcode/thinlto-asm-noimport.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-cast.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary-functionattrs.ll
    M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
    M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
    M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary.ll
    M llvm/test/Bitcode/thinlto-summary-linkage-types.ll
    M llvm/test/Bitcode/thinlto-summary-section.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
    M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
    A llvm/test/CodeGen/AArch64/blr-bti-preserves-regmask.mir
    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
    A llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
    M llvm/test/CodeGen/AArch64/kcfi-bti.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-luti2-lane-x2.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane-x4.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane-x2.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane-x4.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane.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/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/combine-fma-add-mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
    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/fadd.f16.ll
    M llvm/test/CodeGen/AMDGPU/idot4u.ll
    A llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir
    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
    A llvm/test/CodeGen/AMDGPU/min-waves-per-eu-not-respected.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/aapcs-hfa-code.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
    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/lasx/vselect.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/LoongArch/lsx/vselect.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
    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/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
    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
    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
    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/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.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
    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-strided-load-combine.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/unaligned-loads-stores.ll
    M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.mir
    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
    A llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
    R llvm/test/CodeGen/WebAssembly/wasmehprepare.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/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/avx512-broadcast-unfold.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
    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/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/slow-unaligned-mem.ll
    M llvm/test/CodeGen/X86/stack-folding-avx512vp2intersect.ll
    M llvm/test/CodeGen/X86/swifterror.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/vec_zero_cse.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-remat.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
    A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/main-ret-0.ll
    A llvm/test/ExecutionEngine/JITLink/Generic/error-object-passed-as-archive.test
    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_smem.s
    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/AMDGPU/gfx12_unsupported.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_smem.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/invept.txt
    A llvm/test/MC/Disassembler/X86/apx/invvpid.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/invept-att.s
    A llvm/test/MC/X86/apx/invept-intel.s
    A llvm/test/MC/X86/apx/invvpid-att.s
    A llvm/test/MC/X86/apx/invvpid-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/deadstrip.ll
    M llvm/test/ThinLTO/X86/distributed_indexes.ll
    M llvm/test/ThinLTO/X86/memprof-duplicate-context-ids.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
    A llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll
    M llvm/test/Transforms/CodeGenPrepare/sink-shift-and-trunc.ll
    M llvm/test/Transforms/ConstraintElimination/or.ll
    A llvm/test/Transforms/Coroutines/coro-split-musttail-chain-pgo-counter-promo.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/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/2007-10-31-RangeCrash.ll
    M llvm/test/Transforms/InstCombine/2009-02-20-InstCombine-SROA.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
    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-set-preserve-signed-dbg-val.ll
    M llvm/test/Transforms/InstCombine/cast.ll
    M llvm/test/Transforms/InstCombine/cast_phi.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/free-inversion.ll
    M llvm/test/Transforms/InstCombine/funnel.ll
    M llvm/test/Transforms/InstCombine/icmp-binop.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-and.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
    M llvm/test/Transforms/InstCombine/icmp-ne-pow2.ll
    M llvm/test/Transforms/InstCombine/icmp-of-or-x.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/known-non-zero.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-add.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/minmax-of-xor-x.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/pr53357.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/sink_instruction.ll
    M llvm/test/Transforms/InstCombine/stacksave-debuginfo.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
    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
    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
    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/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/LoopUnroll/peel-loop-conditions.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/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/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-insertelt.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/vector-call-linear-args.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.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/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
    M llvm/test/Transforms/LoopVectorize/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
    A llvm/test/Transforms/LoopVectorize/preserve-or-disjoint.ll
    M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check.ll
    M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.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/LowerTypeTests/aarch64-jumptable.ll
    A llvm/test/Transforms/LowerTypeTests/cfi-nounwind-direct-call.ll
    A llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
    M llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
    M llvm/test/Transforms/LowerTypeTests/function-thumb-bti.ll
    M llvm/test/Transforms/LowerTypeTests/function.ll
    M llvm/test/Transforms/LowerTypeTests/x86-jumptable.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/chr.ll
    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/PhaseOrdering/X86/simplifycfg-late.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
    M llvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
    M llvm/test/Transforms/Reassociate/add-like-or.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/delayed-gather-emission.ll
    A llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.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/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/SimpleLoopUnswitch/2007-08-01-LCSSA.ll
    M llvm/test/Transforms/SimplifyCFG/merge-cond-stores.ll
    M llvm/test/Transforms/TailCallElim/accum_recursion.ll
    A llvm/test/Transforms/TailCallElim/tre-minmax-intrinsic.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/reloc-types-loongarch64.test
    M llvm/tools/lli/ChildTarget/ChildTarget.cpp
    M llvm/tools/lli/lli.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.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/SchedClassResolution.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetGenerator.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/llvm-readobj.h
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
    M llvm/tools/llvm-reduce/deltas/Delta.cpp
    M llvm/tools/llvm-reduce/deltas/Delta.h
    M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.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/tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp
    M llvm/unittests/ADT/CombinationGeneratorTest.cpp
    M llvm/unittests/Analysis/ValueTrackingTest.cpp
    M llvm/unittests/Analysis/VectorFunctionABITest.cpp
    M llvm/unittests/Analysis/VectorUtilsTest.cpp
    M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.h
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.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/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/Mips/SnippetGeneratorTest.cpp
    M llvm/unittests/tools/llvm-exegesis/PowerPC/SnippetGeneratorTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.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
    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/lldb/source/Breakpoint/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Analysis/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/benchmark/python/common.py
    M mlir/docs/Dialects/ArmSME.md
    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
    M mlir/include/mlir/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.h
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    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/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.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/Dialect/Shape/IR/ShapeOps.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    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/Dialect/All.h
    A mlir/include/mlir/Target/LLVMIR/Dialect/SPIRV/SPIRVToLLVMIRTranslation.h
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/CAPI/Dialect/AMDGPU.cpp
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.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/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.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/IR/BufferizationOps.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/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.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/IR/SCF.cpp
    M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.h
    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/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
    M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
    M mlir/lib/Dialect/Utils/StaticValueUtils.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/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/CMakeLists.txt
    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/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    A mlir/lib/Target/LLVMIR/Dialect/SPIRV/CMakeLists.txt
    A mlir/lib/Target/LLVMIR/Dialect/SPIRV/SPIRVToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/python/mlir/_mlir_libs/__init__.py
    M mlir/python/mlir/dialects/affine.py
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/CMakeLists.txt
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
    M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
    M mlir/test/Conversion/GPUCommon/lower-memory-space-attrs.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/TosaToLinalg/tosa-to-linalg-resize.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/Arith/ops.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
    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/Dialect/Complex/invalid.mlir
    M mlir/test/Dialect/LLVMIR/debuginfo.mlir
    M mlir/test/Dialect/LLVMIR/func.mlir
    M mlir/test/Dialect/LLVMIR/global.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Dialect/Linalg/canonicalize.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    M mlir/test/Dialect/Linalg/transform-ops.mlir
    M mlir/test/Dialect/Linalg/transform-patterns.mlir
    A mlir/test/Dialect/Linalg/vectorize-convolution-flatten.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/NVGPU/transform-pipeline-shared.mlir
    M mlir/test/Dialect/SCF/loop-pipelining.mlir
    M mlir/test/Dialect/Shape/canonicalize.mlir
    M mlir/test/Dialect/SparseTensor/sparse_conv_2d_slice_based.mlir
    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
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M mlir/test/Dialect/Transform/test-pattern-application.mlir
    M mlir/test/Dialect/Vector/vector-contract-to-outerproduct-matvec-transforms.mlir
    M mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir
    M mlir/test/Dialect/Vector/vector-gather-lowering.mlir
    M mlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir
    M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
    M mlir/test/IR/test-clone.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/Linalg/CPU/ArmSVE/matmul.mlir
    R mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul_mixed_ty.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir
    A mlir/test/Integration/Dialect/Tosa/CPU/test-fully-connected.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
    A mlir/test/Integration/GPU/SYCL/gpu-addf32-to-spirv.mlir
    A mlir/test/Integration/GPU/SYCL/gpu-addi64-to-spirv.mlir
    A mlir/test/Integration/GPU/SYCL/gpu-reluf32-to-spirv.mlir
    A mlir/test/Integration/GPU/SYCL/lit.local.cfg
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    A mlir/test/Target/LLVMIR/Import/frame-pointer.ll
    M mlir/test/Target/LLVMIR/Import/global-variables.ll
    A mlir/test/Target/LLVMIR/Import/target-features.ll
    M mlir/test/Target/LLVMIR/arm-sme-invalid.mlir
    M mlir/test/Target/LLVMIR/arm-sme.mlir
    A mlir/test/Target/LLVMIR/frame-pointer.mlir
    M mlir/test/Target/LLVMIR/gpu.mlir
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir
    M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir
    A mlir/test/Target/LLVMIR/target-features.mlir
    M mlir/test/Transforms/loop-invariant-code-motion.mlir
    M mlir/test/lib/Dialect/Test/TestTypes.h
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
    M mlir/test/lib/IR/TestClone.cpp
    M mlir/test/lit.cfg.py
    M mlir/test/lit.site.cfg.py.in
    M mlir/test/mlir-tblgen/attrdefs.td
    M mlir/test/mlir-tblgen/gen-dialect-doc.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/test/python/dialects/affine.py
    M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
    M mlir/tools/mlir-tblgen/OpDocGen.cpp
    A mlir/unittests/Dialect/ArmSME/CMakeLists.txt
    A mlir/unittests/Dialect/ArmSME/TileTypeConversionTest.cpp
    M mlir/unittests/Dialect/CMakeLists.txt
    M mlir/unittests/IR/CMakeLists.txt
    A mlir/unittests/IR/TypeAttrNamesTest.cpp
    M mlir/unittests/IR/TypeTest.cpp
    M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
    M openmp/docs/design/Runtimes.rst
    M openmp/libomptarget/CMakeLists.txt
    M openmp/libomptarget/DeviceRTL/CMakeLists.txt
    A openmp/libomptarget/include/DeviceImage.h
    A openmp/libomptarget/include/OffloadEntry.h
    A openmp/libomptarget/include/OffloadPolicy.h
    M openmp/libomptarget/include/OpenMP/Mapping.h
    A openmp/libomptarget/include/PluginManager.h
    A openmp/libomptarget/include/Shared/APITypes.h
    M openmp/libomptarget/include/Shared/Debug.h
    A openmp/libomptarget/include/Shared/EnvironmentVar.h
    A openmp/libomptarget/include/Shared/PluginAPI.h
    A openmp/libomptarget/include/Shared/PluginAPI.inc
    M openmp/libomptarget/include/Shared/Profile.h
    A openmp/libomptarget/include/Shared/Requirements.h
    M openmp/libomptarget/include/Shared/Utils.h
    M openmp/libomptarget/include/device.h
    M openmp/libomptarget/include/omptarget.h
    R openmp/libomptarget/include/omptargetplugin.h
    M openmp/libomptarget/include/rtl.h
    M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.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/plugins-nextgen/common/src/GlobalHandler.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.h
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    M openmp/libomptarget/src/CMakeLists.txt
    A openmp/libomptarget/src/DeviceImage.cpp
    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
    A openmp/libomptarget/test/Inputs/declare_indirect_func.c
    M openmp/libomptarget/test/lit.cfg
    M openmp/libomptarget/test/lit.site.cfg.in
    M openmp/libomptarget/test/offloading/barrier_fence.c
    M openmp/libomptarget/test/offloading/ctor_dtor.cpp
    M openmp/libomptarget/test/offloading/fortran/target_map_common_block.f90
    M openmp/libomptarget/test/offloading/requires.c
    A openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c
    M openmp/libomptarget/tools/kernelreplay/llvm-omp-kernel-replay.cpp
    M openmp/runtime/src/include/omp.h.var
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_os.h
    M openmp/runtime/src/kmp_runtime.cpp
    R openmp/runtime/src/kmp_utils.h
    A openmp/runtime/test/misc_bugs/omp_nothing.c
    R polly/include/polly/CodeGen/CodegenCleanup.h
    M polly/lib/External/isl/interface/extract_interface.cc
    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
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    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/__support/CPP/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.5

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/63937e7d352b...e127ca37faa8


More information about the All-commits mailing list