[all-commits] [llvm/llvm-project] 2ec857: [OpenMP] Add back in `ENABLE_LIBOMPTARGET' definition

Steven Wu via All-commits all-commits at lists.llvm.org
Mon May 20 09:32:34 PDT 2024


  Branch: refs/heads/users/cachemeifyoucan/spr/darwinir-dont-error-on-target_variant-mismatch-when-linking-ir
  Home:   https://github.com/llvm/llvm-project
  Commit: 2ec85713bd910c5b22ce090798ca00f742d5eb14
      https://github.com/llvm/llvm-project/commit/2ec85713bd910c5b22ce090798ca00f742d5eb14
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M openmp/CMakeLists.txt

  Log Message:
  -----------
  [OpenMP] Add back in `ENABLE_LIBOMPTARGET' definition

Summary:
Even though we moved `libomptarget` this is still present in `omp.h` and
can't be removed.


  Commit: 4525f442fadb7cc44cc2eaede2c8ac6ba15bdf78
      https://github.com/llvm/llvm-project/commit/4525f442fadb7cc44cc2eaede2c8ac6ba15bdf78
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Don't pass clauses to op-generating functions anymore (#90108)

Remove parameter `const List<Clause> &clauses` from functions that take
construct queue. The clauses should now be accessed from the construct
queue.


  Commit: eb822dc25853299ea81166f9bb8a43436ab8b0c8
      https://github.com/llvm/llvm-project/commit/eb822dc25853299ea81166f9bb8a43436ab8b0c8
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/test/API/functionalities/completion/TestCompletion.py

  Log Message:
  -----------
  [lldb] Fixed the TestCompletion test running on a remote target (#92281)

Install the image to the remote target if necessary.


  Commit: 7645269710493c188d1d270b9e4e085b3e92b9b0
      https://github.com/llvm/llvm-project/commit/7645269710493c188d1d270b9e4e085b3e92b9b0
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/test/API/functionalities/postmortem/netbsd-core/TestNetBSDCore.py

  Log Message:
  -----------
  [lldb] Fixed the TestNetBSDCore test (#92285)

TestNetBSDCore.py contains 3 classes with the same test names
test_aarch64 and test_amd64. It causes conflicts because the same build
dir. Add suffixes to avoid conflicts.


  Commit: d92c67784f21063d6334a009dbf4f9e0f8217b41
      https://github.com/llvm/llvm-project/commit/d92c67784f21063d6334a009dbf4f9e0f8217b41
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py

  Log Message:
  -----------
  [lldb][Windows] Fixed the TestIOHandlerResizeNoEditline test (#92286)

This test caused python crash on Windows x86_64 host with the exit code
0xC0000409 (STATUS_STACK_BUFFER_OVERRUN). Close the input stream before
exit to avoid this crash.


  Commit: 217668f641e82f901645f428ae0d07a3c01e9a8a
      https://github.com/llvm/llvm-project/commit/217668f641e82f901645f428ae0d07a3c01e9a8a
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/include/llvm/Support/Error.h
    M llvm/lib/Bitstream/Reader/BitstreamReader.cpp
    M llvm/lib/Object/COFFObjectFile.cpp
    M llvm/lib/Object/WindowsResource.cpp

  Log Message:
  -----------
  [nfc] Allow forwarding `Error` returns from `Expected` callers (#92208)

On a few compilers (clang 11/12 for example [1]), the following does not
result in a copy elision, and since `Error`'s copy dtor is elided,
results in a compile error:

```
  Expect<Something> foobar() {
    ...
    if (Error E = aCallReturningError())
      return E;
    ...
  }
```

Moving `E` would, conversely, result in the pessimizing-move warning on
more recent clangs ("moving a local object in a return statement
prevents copy elision")

We just need to make the `Expected` ctor taking an `Error` take it as a
r-value reference.

[1] https://lab.llvm.org/buildbot/#/builders/54/builds/10505


  Commit: 0647d1035cb208195e002b38089b82004b6f7b92
      https://github.com/llvm/llvm-project/commit/0647d1035cb208195e002b38089b82004b6f7b92
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp

  Log Message:
  -----------
  [RISCV] Remove unneeded casts from int64_t to uint64_t in RISCVMatInt.cpp. NFC

Most of these were to avoid undefined behavior if a shift left
changed the sign of the result. I don't think its possible to change
the sign of the result here. We're shifting left by 12 after an arithmetic
right shift by more than 12. The bits we are shifting out with the left
shift are guaranteed to be sign bits.

Also use SignExtend64<32> to force upper bits to all 1s instead of an
Or. We know the value isUInt<32> && !isInt<32> which means bit 31 is set.


  Commit: ec36145f58d2cf93d86bc4e3be617ad7d7d8ace7
      https://github.com/llvm/llvm-project/commit/ec36145f58d2cf93d86bc4e3be617ad7d7d8ace7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    A llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll

  Log Message:
  -----------
  [LAA] Add tests with invariant dependences before strided ones.

Add extra test coverage for loops with strided and invariant accesses to
the same object.


  Commit: c19f2c773b0e23fd623502888894add822079f63
      https://github.com/llvm/llvm-project/commit/c19f2c773b0e23fd623502888894add822079f63
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    A llvm/include/llvm/ProfileData/PGOCtxProfReader.h
    A llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
    M llvm/lib/ProfileData/CMakeLists.txt
    A llvm/lib/ProfileData/PGOCtxProfReader.cpp
    A llvm/lib/ProfileData/PGOCtxProfWriter.cpp
    M llvm/unittests/ProfileData/CMakeLists.txt
    A llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp

  Log Message:
  -----------
  Reapply "[ctx_profile] Profile reader and writer" (#92199)

This reverts commit 03c7458a3603396d2d0e1dee43399d3d1664a264.

One of the problems was addressed in #92208

The other problem: needed to add `BitstreamReader` to the list of
link deps of `LLVMProfileData`


  Commit: df5804aec48f99704ef26c740e19deaa4072fe27
      https://github.com/llvm/llvm-project/commit/df5804aec48f99704ef26c740e19deaa4072fe27
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

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

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


  Commit: 468357114c64633651ebcc5ef17161990da25a78
      https://github.com/llvm/llvm-project/commit/468357114c64633651ebcc5ef17161990da25a78
  Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    R flang/include/flang/Optimizer/CodeGen/CGOps.h
    M flang/include/flang/Optimizer/CodeGen/CGOps.td
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/CodeGen/CGOps.cpp
    A flang/lib/Optimizer/CodeGen/CGOps.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/test/Fir/declare-codegen.fir
    M flang/test/Fir/dummy-scope-codegen.fir
    R flang/test/Transforms/debug-local-var-2.f90
    R flang/test/Transforms/debug-local-var.f90

  Log Message:
  -----------
  Revert "[flang] Initial debug info support for local variables. (#909… (#92302)

…05)"

This reverts commit 61da6366d043792d7db280ce9edd2db62516e0e8.

Update #90905 was causing many tests to fail.

See comments in #90905.


  Commit: 411bf385ba27f15145c635c7d8ff2701fe8de5b9
      https://github.com/llvm/llvm-project/commit/411bf385ba27f15145c635c7d8ff2701fe8de5b9
  Author: Walter Erquinigo <a20012251 at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/tools/lldb-dap/README.md

  Log Message:
  -----------
  [lldb-dap] Include npm install in the extension installation steps (#92028)

Otherwise the build step fails due to missing dependencies.


  Commit: 2c54bf497f7d7aecd24f4b849ee08e37a3519611
      https://github.com/llvm/llvm-project/commit/2c54bf497f7d7aecd24f4b849ee08e37a3519611
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    R llvm/include/llvm/ProfileData/PGOCtxProfReader.h
    R llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
    M llvm/lib/ProfileData/CMakeLists.txt
    R llvm/lib/ProfileData/PGOCtxProfReader.cpp
    R llvm/lib/ProfileData/PGOCtxProfWriter.cpp
    M llvm/unittests/ProfileData/CMakeLists.txt
    R llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp

  Log Message:
  -----------
  Revert "Reapply "[ctx_profile] Profile reader and writer" (#92199)"

This reverts commit c19f2c773b0e23fd623502888894add822079f63.

Broke the gcc-7 bot.


  Commit: 9ae2177843f681c70ad89506155a2cb83eeebfd4
      https://github.com/llvm/llvm-project/commit/9ae2177843f681c70ad89506155a2cb83eeebfd4
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll

  Log Message:
  -----------
  [RISCV] Handle undef AVLs in RISCVInsertVSETVLI

Before #91440 a VSETVLIInfo would have had an IMPLICIT_DEF defining
instruction, but now we look up a VNInfo which doesn't exist, which
triggers an assertion failure. Mark these undef AVLs as AVLIsIgnored.


  Commit: 378c9e952a3d198873677fb2d2afb33695185b72
      https://github.com/llvm/llvm-project/commit/378c9e952a3d198873677fb2d2afb33695185b72
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

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

  Log Message:
  -----------
  [gn build] Port 2c54bf497f7d


  Commit: d542eb7aa830e94490b943a3ea0937506fece15b
      https://github.com/llvm/llvm-project/commit/d542eb7aa830e94490b943a3ea0937506fece15b
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/test/CXX/drs/cwg11xx.cpp
    M clang/test/CXX/drs/cwg13xx.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/CXX/drs/cwg25xx.cpp
    A clang/test/CXX/drs/cwg2630.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg9xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add tests for CWG issues regarding completeness of types (#92113)

This patch covers the following Core issues:
[CWG930](https://cplusplus.github.io/CWG/issues/930.html) "`alignof`
with incomplete array type"
[CWG1110](https://cplusplus.github.io/CWG/issues/1110.html) "Incomplete
return type should be allowed in `decltype` operand"
[CWG1340](https://cplusplus.github.io/CWG/issues/1340.html) "Complete
type in member pointer expressions"
[CWG1352](https://cplusplus.github.io/CWG/issues/1352.html)
"Inconsistent class scope and completeness rules"
[CWG1458](https://cplusplus.github.io/CWG/issues/1458.html) "Address of
incomplete type vs `operator&()`"
[CWG1824](https://cplusplus.github.io/CWG/issues/1824.html)
"Completeness of return type vs point of instantiation"
[CWG1832](https://cplusplus.github.io/CWG/issues/1832.html) "Casting to
incomplete enumeration"
[CWG2304](https://cplusplus.github.io/CWG/issues/2304.html) "Incomplete
type vs overload resolution"
[CWG2310](https://cplusplus.github.io/CWG/issues/2310.html) "Type
completeness and derived-to-base pointer conversions"
[CWG2430](https://cplusplus.github.io/CWG/issues/2430.html)
"Completeness of return and parameter types of member functions"
[CWG2512](https://cplusplus.github.io/CWG/issues/2512.html) "`typeid`
and incomplete class types"
[CWG2630](https://cplusplus.github.io/CWG/issues/2630.html) "Syntactic
specification of class completeness"
[CWG2718](https://cplusplus.github.io/CWG/issues/2718.html) "Type
completeness for derived-to-base conversions"
[CWG2857](https://cplusplus.github.io/CWG/issues/2857.html)
"Argument-dependent lookup with incomplete class types"

Current wording for CWG1110 came from
[P0135R1](https://wg21.link/p0135R1) "Wording for guaranteed copy
elision through simplified value categories".

As a drive-by fix, I fixed incorrect status of CWG1815, test for which
was added in #87933. CC @yronglin


  Commit: 64b3cdc0220174c1af236a42b227a5226f0f12c5
      https://github.com/llvm/llvm-project/commit/64b3cdc0220174c1af236a42b227a5226f0f12c5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/prepare_libc_gpu_build.cmake

  Log Message:
  -----------
  [libc] Fix GPU handling for unsupported backends (#92271)

Summary:
If the user does not have the selected backend enabled, we should still
be able to build the LLVM-IR an ddistribute it. This patch makes logic
to suppress tests if the backend can't build it, as well as removing a
flag for the building that's only present int he NVPTX backend.


  Commit: 4ab2ac22d0a481460536f673377b644702cb3372
      https://github.com/llvm/llvm-project/commit/4ab2ac22d0a481460536f673377b644702cb3372
  Author: Patrick O'Neill <patrick at rivosinc.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/RISCV/pr92193.ll

  Log Message:
  -----------
  [DAGCombiner] Mark vectors as not AllAddOne/AllSubOne on type mismatch (#92195)

Fixes #92193.


  Commit: fc8775e2142c6bd7876831c27c3fbef0d64860bc
      https://github.com/llvm/llvm-project/commit/fc8775e2142c6bd7876831c27c3fbef0d64860bc
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    A llvm/include/llvm/ProfileData/PGOCtxProfReader.h
    A llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
    M llvm/lib/ProfileData/CMakeLists.txt
    A llvm/lib/ProfileData/PGOCtxProfReader.cpp
    A llvm/lib/ProfileData/PGOCtxProfWriter.cpp
    M llvm/unittests/ProfileData/CMakeLists.txt
    A llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp

  Log Message:
  -----------
  "Reapply "[ctx_profile] Profile reader and writer" (#92199)"

This reverts commit 2c54bf497f7d7aecd24f4b849ee08e37a3519611.

Fixed gcc-7 issue.


  Commit: 2fb92520cba15afff6f25a1f0b959ef39912fa0a
      https://github.com/llvm/llvm-project/commit/2fb92520cba15afff6f25a1f0b959ef39912fa0a
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

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

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


  Commit: 24c39261e62d9f99bab91edf67bb9607a681b038
      https://github.com/llvm/llvm-project/commit/24c39261e62d9f99bab91edf67bb9607a681b038
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV][test] Add tests for parsing profiles using RISCVISAInfo::parseArchString


  Commit: 891d687137ad9bb3b4efae116f9539addb5be0ea
      https://github.com/llvm/llvm-project/commit/891d687137ad9bb3b4efae116f9539addb5be0ea
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/test/Driver/riscv-profiles.c
    M llvm/lib/Target/RISCV/RISCVProfiles.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Gate unratified profiles behind -menable-experimental-extensions (#92167)

As discussed in the last sync-up call, because these profiles are not
yet finalised they shouldn't be exposed to users unless they opt-in to
them (much like experimental extensions). We may later want to add a
more specific flag, but reusing `-menable-experimental-extensions`
solves the immediate problem.

This is implemented using the new support for marking profiles s
experimental added in #91993 to move the unratified profiles to
RISCVExperimentalProfile and making the necessary changes to logic in
RISCVISAInfo to handle this.


  Commit: 80d9ae9cbf692a73404995a88665af7166c7e8ad
      https://github.com/llvm/llvm-project/commit/80d9ae9cbf692a73404995a88665af7166c7e8ad
  Author: Samira Bazuzi <bazuzi at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Fully support Environment construction for Stmt analysis. (#91616)

Assume in fewer places that the analysis is of a `FunctionDecl`, and
initialize the `Environment` properly for `Stmt`s.

Moves constructors for `Environment` to header to make it more obvious
that there are only minor differences between them and very little
initialization in the constructors.

Tested with check-clang-tooling.


  Commit: ee765b0c94df7e636d9739216b1646d3a2d3b5db
      https://github.com/llvm/llvm-project/commit/ee765b0c94df7e636d9739216b1646d3a2d3b5db
  Author: Tim Besard <tim.besard at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Transforms/Internalize/lists.ll

  Log Message:
  -----------
  [NewPM] Add pass options for `InternalizePass` to preserve GVs. (#91334)

This PR adds a string interface to `InternalizePass`' `MustPreserveGV`
option, which is a callback function to indicate if a GV is not to be
internalized. This is for use in LLVM.jl, the Julia wrapper for LLVM,
which uses the C API and is thus required to use the PassBuilder string
API for building NewPM pipelines.


  Commit: ec1f28dc97ce22ba5b3e6f95ff84414dfbda46b0
      https://github.com/llvm/llvm-project/commit/ec1f28dc97ce22ba5b3e6f95ff84414dfbda46b0
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/waitcnt-preexisting.mir

  Log Message:
  -----------
  AMDGPU/gfx12: avoid crashing on legacy waitcnt intrinsics (#92306)

They *are* still accepted by the HW but have a conservative effect.

Leave them untouched since handling them would complicate the logic a
bit, and developers who code to such a low level really need to revisit
what they're doing anyway.


  Commit: 81d20d861e48f5202c9f79b47dee244674fb9121
      https://github.com/llvm/llvm-project/commit/81d20d861e48f5202c9f79b47dee244674fb9121
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/src/LegacyAPI.cpp
    M offload/src/OpenMP/API.cpp
    M offload/src/OpenMP/Mapping.cpp
    M offload/src/omptarget.cpp

  Log Message:
  -----------
  [Offload][NFC] Fix warning messages in runtime

Summary:
These are lots of random warnings due to inconsistent initialization or
signedness.


  Commit: 83f065d582977aca5c037c27a7290f30850bdd35
      https://github.com/llvm/llvm-project/commit/83f065d582977aca5c037c27a7290f30850bdd35
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] static_assert SupportedProfiles and SupportedExperimentalProfiles are sorted

Just as we do for the arrays of extension names.


  Commit: e1ed138a67a92ef1ff0214ca198094be13045090
      https://github.com/llvm/llvm-project/commit/e1ed138a67a92ef1ff0214ca198094be13045090
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-15 (Wed, 15 May 2024)

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

  Log Message:
  -----------
  [bazel] Port #92199


  Commit: 8530b1c464ae9af4a5c8be145a8db043798634f6
      https://github.com/llvm/llvm-project/commit/8530b1c464ae9af4a5c8be145a8db043798634f6
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/docs/use/variable.rst
    M lldb/source/Core/FormatEntity.cpp
    A lldb/test/API/functionalities/data-formatter/custom-printf-summary/Makefile
    A lldb/test/API/functionalities/data-formatter/custom-printf-summary/TestCustomSummaryLLVMFormat.py
    A lldb/test/API/functionalities/data-formatter/custom-printf-summary/main.c

  Log Message:
  -----------
  [lldb] Support custom LLVM formatting for variables (#91868)

Re-apply https://github.com/llvm/llvm-project/pull/81196, with a fix that handles the 
absence of llvm formatting: 
https://github.com/llvm/llvm-project/pull/91868/commits/3ba650e91eded3543764f37921dcce3b
b47d425f


  Commit: 1daa7fd3fadd17e61d9dfa56f84228617c5514d9
      https://github.com/llvm/llvm-project/commit/1daa7fd3fadd17e61d9dfa56f84228617c5514d9
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/test/CodeGen/AArch64/sme-support-routines-calling-convention.ll

  Log Message:
  -----------
  [AArch64][SME] Remove Darwin compile error for ABI support routine calls.

These are allowed for Darwin and use the same ABI.


  Commit: 537a94b2ef67cd96a4b3a9b5612ea726a91c602b
      https://github.com/llvm/llvm-project/commit/537a94b2ef67cd96a4b3a9b5612ea726a91c602b
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Transforms/Internalize/lists.ll

  Log Message:
  -----------
  Revert "[NewPM] Add pass options for `InternalizePass` to preserve GVs." (#92321)

Reverts llvm/llvm-project#91334

This broke the gcc7 build.
I suspect the issue is a mismatch on user-defined move constructor on
the return: `return PreservedGVs;` does not match the return type of the
function.


  Commit: f97f039e0bb7bb60c9cc437f678059c5ee19c8da
      https://github.com/llvm/llvm-project/commit/f97f039e0bb7bb60c9cc437f678059c5ee19c8da
  Author: klensy <klensy at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lld/test/MachO/install-name.s
    M lld/test/MachO/objc-methname.s

  Log Message:
  -----------
  [lld,test] Fix few FileCheck annotation typos (#92238)


  Commit: 00179e92c147e16de1f7c653f88c8805aef820c1
      https://github.com/llvm/llvm-project/commit/00179e92c147e16de1f7c653f88c8805aef820c1
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

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

  Log Message:
  -----------
  [bazel] Add new dependencies (#92323)

This also fixes building ... on Linux. Seems like target_compatible_with
isn't enough but you also need a manual tag.


  Commit: 050593fc4f9a7f2b9450ee093c4638b8539315b7
      https://github.com/llvm/llvm-project/commit/050593fc4f9a7f2b9450ee093c4638b8539315b7
  Author: Andrey Ali Khan Bolshakov <bolsh.andrey at yandex.ru>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/test/CoverageMapping/coroutine.cpp

  Log Message:
  -----------
  [Coverage] Handle `CoroutineSuspendExpr` correctly (#88898)

This avoids visiting `co_await` or `co_yield` operand 5 times (it is
repeated under transformed awaiter subexpression, and under
`await_ready`, `await_suspend`, and `await_resume` generated call
subexpressions).


  Commit: 5ff6c6542ac451daaed6c417e481e313165d3454
      https://github.com/llvm/llvm-project/commit/5ff6c6542ac451daaed6c417e481e313165d3454
  Author: Andrey Ali Khan Bolshakov <bolsh.andrey at yandex.ru>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    A clang/test/CoverageMapping/decomposition.cpp

  Log Message:
  -----------
  [Coverage] Handle array decomposition correctly (#88881)

`ArrayInitLoopExpr` AST node has two occurences of its as-written
initializing expression in its subexpressions through a non-unique
`OpaqueValueExpr`. It causes double-visiting of the initializing
expression if not handled explicitly, as discussed in #85837.


  Commit: aa889d7783af050ce5d19af67c7225ee119d625e
      https://github.com/llvm/llvm-project/commit/aa889d7783af050ce5d19af67c7225ee119d625e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lld/test/ELF/arm-exidx-shared.s
    M lld/test/ELF/mips-tls-hilo.s
    M lld/test/ELF/ppc32-reloc-rel.s
    M lld/test/ELF/ppc64-pcrel-call-to-extern.s
    M lld/test/ELF/ppc64-toc-relax-ifunc.s
    M lld/test/ELF/riscv-gp.s

  Log Message:
  -----------
  [ELF,test] Fix FileCheck prefixes

Most violations are stale and should be removed while a few can be
adjusted.

Reported at #92238


  Commit: 0585eed9409c1362f7deaabc42c1d3c3f55c4b6c
      https://github.com/llvm/llvm-project/commit/0585eed9409c1362f7deaabc42c1d3c3f55c4b6c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/tools/lldb-dap/package.json

  Log Message:
  -----------
  [lldb-dap] Support publishing to the VSCode market place (#92320)

Update the publisher and add a publish script that we can use from
Github actions.


  Commit: e00a3ccf43563209b71c5b68f56d83f4052dca63
      https://github.com/llvm/llvm-project/commit/e00a3ccf43563209b71c5b68f56d83f4052dca63
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M flang/include/flang/Frontend/FrontendActions.h
    M flang/include/flang/Frontend/FrontendOptions.h
    M flang/include/flang/Semantics/unparse-with-symbols.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/lib/Semantics/unparse-with-symbols.cpp
    A flang/test/Driver/unparse-with-modules.f90

  Log Message:
  -----------
  [flang] New -fdebug-unparse-with-modules option (#91660)

This option is a compilation action that parses a source file and
performs semantic analysis on it, like the existing -fdebug-unparse
option does. Its output, however, is preceded by the effective contents
of all of the non-intrinsic modules on which it depends but does not
define, transitively preceded by the closure of all of those modules'
dependencies.

The output from this option is therefore the analyzed parse tree for a
source file encapsulated with all of its non-intrinsic module
dependencies. This output may be useful for extracting code from large
applications for use as an attachment to a bug report, or as input to a
test case reduction tool for problem isolation.


  Commit: 667d12f86e626173726e87e101626a9060b8d967
      https://github.com/llvm/llvm-project/commit/667d12f86e626173726e87e101626a9060b8d967
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    A clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.partial/p3.cpp

  Log Message:
  -----------
  [Clang][Sema] Do not mark template parameters in the exception specification as used during partial ordering (#91534)

We do not deduce template arguments from the exception specification
when determining the primary template of a function template
specialization or when taking the address of a function template.
Therefore, this patch changes `isAtLeastAsSpecializedAs` such that we do
not mark template parameters in the exception specification as 'used'
during partial ordering (per [temp.deduct.partial]
p12) to prevent the following from being ambiguous:

```
template<typename T, typename U>
void f(U) noexcept(noexcept(T())); // #1

template<typename T>
void f(T*) noexcept; // #2

template<>
void f<int>(int*) noexcept; // currently ambiguous, selects #2 with this patch applied 
```

Although there is no corresponding wording in the standard (see core issue filed here
https://github.com/cplusplus/CWG/issues/537), this seems
to be the intended behavior given the definition of _deduction
substitution loci_ in [temp.deduct.general] p7 (and EDG does the same thing).


  Commit: 325d1d0b73aa6bff0ce4174b45a7601f6b32a793
      https://github.com/llvm/llvm-project/commit/325d1d0b73aa6bff0ce4174b45a7601f6b32a793
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/lib/Semantics/check-purity.cpp
    A flang/test/Semantics/pure02.f90

  Log Message:
  -----------
  [flang] Fix purity checking for internal subprograms (#91759)

ELEMENTAL internal subprograms are pure unless explicitly IMPURE.


  Commit: c227bf1b217598066acd32de8c9a75c2e0928f89
      https://github.com/llvm/llvm-project/commit/c227bf1b217598066acd32de8c9a75c2e0928f89
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/frelaxed-template-template-args.cpp

  Log Message:
  -----------
  [clang] Create new warning group for deprecation of '-fno-relaxed-template-template-args' (#92324)

This allows the warning to be disabled in isolation, as it helps when
treating them as errors.


  Commit: 7605ad8a2f95e3b37de83e7fb3d320efc74e0ccc
      https://github.com/llvm/llvm-project/commit/7605ad8a2f95e3b37de83e7fb3d320efc74e0ccc
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/entry01.f90
    M flang/test/Semantics/resolve102.f90

  Log Message:
  -----------
  [flang] Always check procedure characterizability (#92008)

When a procedure is defined with a subprogram but never referenced in a
compilation unit, it may not be characterized until lowering, and any
errors in characterization then may crash the compiler. So always ensure
that procedure definitions are characterizable in declaration checking.

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


  Commit: 463f58a564a8d136b3e5d56d23bb86b99ab75245
      https://github.com/llvm/llvm-project/commit/463f58a564a8d136b3e5d56d23bb86b99ab75245
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    A flang/test/Semantics/bind-c15.f90

  Log Message:
  -----------
  [flang] Further work on relaxing BIND(C) enforcement (#92029)

When a BIND(C) interface or subprogram has a dummy argument whose
derived type is not BIND(C) but meets the constraints and requirements
of a BIND(C) type, accept it with a warning.


  Commit: 5bbb63bd6d6d3929de643fcd88babbda20c97b69
      https://github.com/llvm/llvm-project/commit/5bbb63bd6d6d3929de643fcd88babbda20c97b69
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/executable-parsers.cpp
    M flang/lib/Parser/openacc-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/resolve-directives.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Parser/cuf-sanity-common
    M flang/test/Parser/cuf-sanity-unparse.CUF
    A flang/test/Semantics/reduce.cuf

  Log Message:
  -----------
  [flang] Parse REDUCE clauses in !$CUF KERNEL DO (#92154)

A !$CUF KERNEL DO directive is allowed to have advisory REDUCE clauses
similar to those in OpenACC and DO CONCURRENT. Parse and represent them.
Semantic validation will follow.


  Commit: 3ddfb6807e905868a3a9df71fa5ea87309181270
      https://github.com/llvm/llvm-project/commit/3ddfb6807e905868a3a9df71fa5ea87309181270
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/lib/Evaluate/fold.cpp

  Log Message:
  -----------
  [flang] Prevent crash from unfoldable TRANSFER() (#92282)

When the MOLD= argument's type is polymorphic, the type of the result
cannot be known at compilation time, so the call cannot be folded even
when the SOURCE= is constant.

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


  Commit: c87b1ca4edefe3c267a20f28eaf79f6b83d36c66
      https://github.com/llvm/llvm-project/commit/c87b1ca4edefe3c267a20f28eaf79f6b83d36c66
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/test/tools/llvm-profdata/trace-limit.proftext

  Log Message:
  -----------
  [InstrProf] Fix bug when clearing traces with samples (#92310)

The `--temporal-profile-max-trace-length=0` flag in the `llvm-profdata
merge` command is used to remove traces from a profile. There was a bug
where traces would not be cleared if the profile was already sampled.
This patch fixes that.


  Commit: c00e012bcf5da384a3e7339dc2e046779b339063
      https://github.com/llvm/llvm-project/commit/c00e012bcf5da384a3e7339dc2e046779b339063
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h

  Log Message:
  -----------
  [ctx_profile] Follow the pattern elsewhere for choosing the block IDs

This was an oversight in #91859. Using the subblock ID mechanism
other places that use the bitstream APIs (e.g. `BitstreamRemarkSerializer`) use.


  Commit: 772b1b0cb26c66804d0a7e416dc7a5742b7f8db2
      https://github.com/llvm/llvm-project/commit/772b1b0cb26c66804d0a7e416dc7a5742b7f8db2
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/combined.h

  Log Message:
  -----------
  [scudo] Move the chunk update into functions (#83493)

The code paths for mte enabled and disabled were interleaving and which
increases the difficulty of reading each path in both source level and
assembly level. In this change, we move the parts that they have
different logic into functions and minor refactors on the code
structure.


  Commit: c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba
      https://github.com/llvm/llvm-project/commit/c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/test/MC/AsmParser/macro-rept.s

  Log Message:
  -----------
  [MCAsmParser] .rept/.irp/.irpc: remove excess tail EOL in expansion

```
.irp foo,1
nop
.endr
nop
```

expands to an excess EOL between two nop lines. Remove the excess EOL.


  Commit: 26fabdded34f8cea490060a70188a07ad6b76b8b
      https://github.com/llvm/llvm-project/commit/26fabdded34f8cea490060a70188a07ad6b76b8b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/MemProf.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Pass FrameIdConverter and CallStackIdConverter by reference (#92327)

CallStackIdConverter sets LastUnmappedId when a mapping failure
occurs.  Now, since toMemProfRecord takes an instance of
CallStackIdConverter by value, namely std::function, the caller of
toMemProfRecord never receives the mapping failure that occurs inside
toMemProfRecord.  The same problem applies to FrameIdConverter.

The patch fixes the problem by passing FrameIdConverter and
CallStackIdConverter by reference, namely llvm::function_ref.

While I am it, this patch deletes the copy constructor and copy
assignment operator to avoid accidental copies.


  Commit: fa750f09be6966de7423ddce1af7d1eaf817182c
      https://github.com/llvm/llvm-project/commit/fa750f09be6966de7423ddce1af7d1eaf817182c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/tools/driver/cc1as_main.cpp
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp

  Log Message:
  -----------
  Revert "[MC] Remove UseAssemblerInfoForParsing"

This reverts commit 03c53c69a367008da689f0d2940e2197eb4a955c.

This causes very large compile-time regressions in some cases,
e.g. sqlite3 at O0 regresses by 5%.


  Commit: a9763deb2f3f20d789b947ec69360c258377db6a
      https://github.com/llvm/llvm-project/commit/a9763deb2f3f20d789b947ec69360c258377db6a
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    A llvm/test/DebugInfo/AArch64/merge-locations-legalizer.mir

  Log Message:
  -----------
  Merge sourcelocation in CSEMIRBuilder::getDominatingInstrForID. (#90922)

Make sure to merge the sourcelocation of the Dominating Instruction that
is hoisted in a basic block in the CSEMIRBuilder in the legalizer pass.

If this is not done, we can have a incorrect line table entry that makes
the instruction pointer jump around.

For example the line table without this patch looks like:

```
Address            Line   Column File   ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- ------- -------------
0x0000000000000000      0      0      1   0             0       0  is_stmt
0x0000000000000010     11     14      1   0             0       0  is_stmt prologue_end
0x0000000000000028     12      1      1   0             0       0  is_stmt
0x000000000000002c     12     15      1   0             0       0
0x000000000000004c     12     13      1   0             0       0
0x000000000000005c     13      1      1   0             0       0  is_stmt
0x0000000000000064     12     13      1   0             0       0  is_stmt
0x000000000000007c     13      7      1   0             0       0  is_stmt
0x00000000000000c8     13      1      1   0             0       0
0x00000000000000e8     13      1      1   0             0       0  epilogue_begin
0x00000000000000f8     13      1      1   0             0       0  end_sequence
```

The line table entry for 0x000000000000005c should be 0

After this patch, the line table looks like:

```
Address            Line   Column File   ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- ------- -------------
0x0000000000000000      0      0      1   0             0       0  is_stmt
0x0000000000000010     11     14      1   0             0       0  is_stmt prologue_end
0x0000000000000028     12      1      1   0             0       0  is_stmt
0x000000000000002c     12     15      1   0             0       0 
0x000000000000004c     12     13      1   0             0       0 
0x000000000000005c      0      0      1   0             0       0 
0x0000000000000064     12     13      1   0             0       0 
0x000000000000007c     13      7      1   0             0       0  is_stmt
0x00000000000000c8     13      1      1   0             0       0 
0x00000000000000e8     13      1      1   0             0       0  epilogue_begin
0x00000000000000f8     13      1      1   0             0       0  end_sequence
```


  Commit: 72200fcc346bee1830d9e640e42d717a55acd74c
      https://github.com/llvm/llvm-project/commit/72200fcc346bee1830d9e640e42d717a55acd74c
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [analyzer] Check C++ base or member initializer in WebKit checkers. (#92220)

Co-authored-by: Ryosuke Niwa <rniwa at apple.com>


  Commit: f0b3654701bde1cf7821d60698b42383edaff9f3
      https://github.com/llvm/llvm-project/commit/f0b3654701bde1cf7821d60698b42383edaff9f3
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/test/Transforms/LoopUnroll/X86/znver3.ll

  Log Message:
  -----------
  [LoopUnroll] Clamp PartialThreshold for large LoopMicroOpBufferSize (#67657)

The znver3/znver4 scheduler models are outliers, specifying very large
LoopMicroOpBufferSizes at 512, while typical values for other subtargets
are on the order of ~50. Even if this information is
micro-architecturally correct (*), this does not mean that we want to
runtime unroll all loops to a size that completely fills the loop
buffer. Unless this is the single hot loop in the entire application,
the massive code size increase will bust the micro-op and instruction
caches.

Protect against this by clamping to the default PartialThreshold of 150,
which is the same as the default full-unroll threshold and half the
aggressive full-unroll threshold. Allowing more partial unrolling than
full unrolling certainly does not make sense.

(*) I strongly doubt that this is actually correct -- I believe this may
derive from an incorrect reading of Agner Fog's micro-architecture
guide. The number 4096 that was originally used here is the size of the
general micro-op cache, not that of a loop buffer. A separate loop
buffer is not listed for the Zen microarchitecture. Comparing this to
the listing for Skylake, it has a 1536 micro-op buffer, but only a 64
micro-op loopback buffer, with a note that it's rarely fully utilized.
Our scheduling model specifies LoopMicroOpBufferSize of 50 in that case.


  Commit: f60c699d37c41c46dd0be4ec98e5b4d74e73b2b7
      https://github.com/llvm/llvm-project/commit/f60c699d37c41c46dd0be4ec98e5b4d74e73b2b7
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M openmp/runtime/src/CMakeLists.txt

  Log Message:
  -----------
  [OpenMP] Fix intermediate header locations for OpenMP

Summary:
A previous patch moved the code here and accidentally overrwrote the
include path that the LSP interface used. This caused incorrect errors
when using clangd with the offload project. This patch removes the
unnecessary header and makes sure we include the correct folder.


  Commit: 1595988ee6f9732e7ea79928af8a470ad5ef7dbe
      https://github.com/llvm/llvm-project/commit/1595988ee6f9732e7ea79928af8a470ad5ef7dbe
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-lambda.cpp
    A clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
    M clang/test/CXX/over/over.built/ast.cpp
    M clang/test/CXX/over/over.built/p10.cpp
    M clang/test/CXX/over/over.built/p11.cpp
    A clang/test/CXX/over/over.oper/over.oper.general/p1.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
    M clang/test/Frontend/noderef_templates.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaTemplate/class-template-spec.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  Reapply "[Clang][Sema] Earlier type checking for builtin unary operators (#90500)" (#92283)

This patch reapplies #90500, addressing a bug which caused binary
operators with dependent operands to be incorrectly rebuilt by
`TreeTransform`.


  Commit: 3a4c1b9b4428b08d4475decf74c11e0d328c5842
      https://github.com/llvm/llvm-project/commit/3a4c1b9b4428b08d4475decf74c11e0d328c5842
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/pr91418.cppm
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp

  Log Message:
  -----------
  [Serialization] Read the initializer for interesting static variables before consuming it (#92218)

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

Since we load the variable's initializers lazily, it'd be problematic if
the initializers dependent on each other.

For example,

```
SomeType a = ...;
SomeType b = a;
```

Previously, when we load variable `b`, we need to load the initializer,
then we need to load `a`. We can only mark the variable `b` as loaded
after we load `a`. Then `a` is always initialized before `b`. However,
it is not true after we implement lazy loading for initializers.

So here we try to load the initializers of static variables to make sure
they are passed to code generator by order. If we read any thing
interesting, we would consume that before emitting the current
declaration.


  Commit: 1dd0d3cf40f21b842dbee107b3d203db9fbaa4ae
      https://github.com/llvm/llvm-project/commit/1dd0d3cf40f21b842dbee107b3d203db9fbaa4ae
  Author: Dhruv Chawla <dhruvc at nvidia.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
    M llvm/test/CodeGen/AArch64/aarch64-mulv.ll
    M llvm/test/CodeGen/AArch64/aarch64-smull.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/insertextract.ll
    M llvm/test/CodeGen/AArch64/ptradd.ll
    M llvm/test/CodeGen/AArch64/reduce-and.ll
    M llvm/test/CodeGen/AArch64/reduce-or.ll
    M llvm/test/CodeGen/AArch64/reduce-xor.ll

  Log Message:
  -----------
  [AArch64][GISel] Fold COPY(y:gpr, DUP(x:fpr, i)) -> UMOV(y:gpr, x:fpr, i) (#89017)

This patch adds a peephole to AArch64PostSelectOptimize for codegen
that is caused by RegBankSelect limiting G_EXTRACT_VECTOR_ELT
only to FPR registers in both the input and output registers. This can
cause a generation of COPY from FPR to GPR when, for example, the
output register of the G_EXTRACT_VECTOR_ELT is used in a branch
condition.

This was noticed when looking at codegen differences between SDAG and GI
for the s1279 kernel in the TSVC benchmark.


  Commit: 31c903890a905d203de3303eaaa63063754ffbca
      https://github.com/llvm/llvm-project/commit/31c903890a905d203de3303eaaa63063754ffbca
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Add additional inbounds preservation tests (NFC)

Adding these for NVPTX because for AMDGPU the problematic -1 case
does not get reordered in the first place.


  Commit: b4d1a606c7492d827aff6ff0c1c109adff1253b9
      https://github.com/llvm/llvm-project/commit/b4d1a606c7492d827aff6ff0c1c109adff1253b9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Check correct index for non-negativity

We were checking the index of GEP twice, instead of checking both
GEP and PtrGEP.


  Commit: 83e61d03deaaa8f4dd8395cfa753af7b38f74b24
      https://github.com/llvm/llvm-project/commit/83e61d03deaaa8f4dd8395cfa753af7b38f74b24
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Add tests for multiple indices (NFC)


  Commit: e91ea1b5d88805ebf7657da57ca6a7577374e4ad
      https://github.com/llvm/llvm-project/commit/e91ea1b5d88805ebf7657da57ca6a7577374e4ad
  Author: Jim M. R. Teichgräber <a at teichgraeber.digital>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/C/C2x/n2900_n3011.c
    M clang/test/C/C2x/n2900_n3011_2.c
    M clang/test/Sema/compound-literal.c

  Log Message:
  -----------
  [Clang] Disallow VLA type compound literals (#91891)

C99-C23 6.5.2.5 says: The type name shall specify an object type or an
array of unknown size, but not a variable length array type.

Fixes #89835.


  Commit: 90fbc5bbcdc7d35d57157e4cc0459470d473f2ae
      https://github.com/llvm/llvm-project/commit/90fbc5bbcdc7d35d57157e4cc0459470d473f2ae
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MCAsmParser.cpp

  Log Message:
  -----------
  [MCAsmParser] Simplify. NFC


  Commit: ce961c5607dd5c2d181117938720e410b406a49f
      https://github.com/llvm/llvm-project/commit/ce961c5607dd5c2d181117938720e410b406a49f
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/test/API/functionalities/avoids-fd-leak/TestFdLeak.py

  Log Message:
  -----------
  [lldb] Fixed the TestFdLeak test (#92273)

Use `os.devnull` instead of `/dev/null`.


  Commit: b11a6607cb6522c58dfbd5f54239e7daa281368e
      https://github.com/llvm/llvm-project/commit/b11a6607cb6522c58dfbd5f54239e7daa281368e
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/tools/clang-format/ClangFormat.cpp

  Log Message:
  -----------
  [clang-format][NFC] Reformat with 18.1.5


  Commit: 526553b25131a69d9d6426e17c7b69c2ba27144f
      https://github.com/llvm/llvm-project/commit/526553b25131a69d9d6426e17c7b69c2ba27144f
  Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
    M flang/test/Driver/frontend-forwarding.f90
    M flang/test/Fir/loop01.fir
    M flang/test/Lower/array-substring.f90
    M flang/test/Lower/do_loop.f90
    M flang/test/Lower/do_loop_unstructured.f90
    M flang/test/Lower/infinite_loop.f90
    M flang/test/Lower/io-implied-do-fixes.f90
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [flang] Add nsw flag to do-variable increment with a new option (#91579)

This patch adds nsw flag to the increment of do-variables when a new
option is enabled.
NOTE 11.10 in the Fortran 2018 standard says they never overflow.

See also the discussion in #74709 and the following discourse post.
https://discourse.llvm.org/t/rfc-add-nsw-flags-to-arithmetic-integer-operations-using-the-option-fno-wrapv/77584/5


  Commit: 3cc445a6608dc0e88f7d5f16501ef827199cf0c4
      https://github.com/llvm/llvm-project/commit/3cc445a6608dc0e88f7d5f16501ef827199cf0c4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp

  Log Message:
  -----------
  [MCAsmParser] Simplify expandMacro

The error checking is only for .macro directives. Move it to the .macro
parser to remove one parameter.


  Commit: 245b7b65cb341ac5499fabf62f28fdbbc39bc7d7
      https://github.com/llvm/llvm-project/commit/245b7b65cb341ac5499fabf62f28fdbbc39bc7d7
  Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    A etime-function.mlir
    M flang/docs/Intrinsics.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Runtime/time-intrinsic.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/runtime/time-intrinsic.cpp
    M flang/runtime/tools.h
    A flang/test/Lower/Intrinsics/etime-function.f90
    A flang/test/Lower/Intrinsics/etime.f90
    A flang/test/Semantics/etime.f90

  Log Message:
  -----------
  [flang] Add ETIME runtime and lowering intrinsics implementation (#90578)

This patch add support of intrinsics GNU extension ETIME
https://github.com/llvm/llvm-project/issues/84205. Some usage info and
example has been added to `flang/docs/Intrinsics.md`. The patch contains
both the lowering and the runtime code and works on both Windows and
Linux.


|   System  |   Implmentation  |
|-----------|--------------------|
| Windows| GetProcessTimes |
| Linux      |times                     |


  Commit: f2d74002fdad2171b62392eaedf38aac7e4fb50d
      https://github.com/llvm/llvm-project/commit/f2d74002fdad2171b62392eaedf38aac7e4fb50d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll

  Log Message:
  -----------
  [LegalizeVectorOps][X86] Add ISD::ABDS/ABSDU to the list of opcodes handled by LegalizeVectorOps. (#92332)

The expand code is present, but we were missing the type query code
so the nodes would be ignored until LegalizeDAG.


  Commit: 487b43cdc9fff9e370b8ea948c0cc19ca817aa86
      https://github.com/llvm/llvm-project/commit/487b43cdc9fff9e370b8ea948c0cc19ca817aa86
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll

  Log Message:
  -----------
  [RISCV] Pass subvector type to isLegalInterleavedAccessType in getInterleavedMemoryOpCost. (#91825)

isLegalInterleavedAccessType expects the subvector type, but
getInterleavedMemoryOpCost is called with the full vector type. So we
need to divide by Factor.


  Commit: 6bf185920bd6831efc151d7d4158d6390006c50b
      https://github.com/llvm/llvm-project/commit/6bf185920bd6831efc151d7d4158d6390006c50b
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp

  Log Message:
  -----------
  [ORC] Support visionOS in LC_BUILD_VERSIONs for JITDylibs.

rdar://127846581


  Commit: 566fbb450092bf8c9f966a6ab1b0381626e3e535
      https://github.com/llvm/llvm-project/commit/566fbb450092bf8c9f966a6ab1b0381626e3e535
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp

  Log Message:
  -----------
  [RISCV] Defer creating RISCVInsertVSETVLI to avoid leak with -stop-after (#92303)

As noted in
https://github.com/llvm/llvm-project/pull/91440#discussion_r1601976425,
if the pass pipeline stops early because of -stop-after any allocated
passes added with insertPass will not be freed if they haven't already
been added.

This was showing up as a failure on the address sanitizer buildbots. We
can fix it by instead passing the pass ID instead so that allocation is
deferred.


  Commit: 70a926cfb1d4af326be5afe6419991aeff8f44b2
      https://github.com/llvm/llvm-project/commit/70a926cfb1d4af326be5afe6419991aeff8f44b2
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  [clang] NFC: Add a few more interesting test cases for CWG2398


  Commit: 5bd8091f4bde53de48329e14d5b955314e6518f4
      https://github.com/llvm/llvm-project/commit/5bd8091f4bde53de48329e14d5b955314e6518f4
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    R mlir/docs/Dialects/Polynomial.md
    M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir] fix polynomial docs for MLIR website (#92348)

I built it and confirmed this fixes the issue locally.

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: afce597baa9c6cf46feb30aba97cf832bff32673
      https://github.com/llvm/llvm-project/commit/afce597baa9c6cf46feb30aba97cf832bff32673
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/IRDL/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir] fix IRDL dialect docs (#92349)

Currently the irdl dialect page has no content beyond the header.

By referring to the Ops.td in the CMake config, it pulls in all the
types, attributes, etc., so that the doc generation can include them all
in the page.

Rendered locally to confirm it fixes the issue


![image](https://github.com/llvm/llvm-project/assets/2467754/8758f324-6bc3-4f0e-8fa9-8962cdb0177f)

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: 3c2638dae58466f7eb4384bb7f26c9af904bf94c
      https://github.com/llvm/llvm-project/commit/3c2638dae58466f7eb4384bb7f26c9af904bf94c
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    R clang/test/Modules/pr91418.cppm
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp

  Log Message:
  -----------
  Revert "[Serialization] Read the initializer for interesting static variables before consuming it (#92218)"

This reverts commit 3a4c1b9b4428b08d4475decf74c11e0d328c5842.

This breaks a bot on clang-s390x-linux


  Commit: 5c35b63da3c2e3c773580f748129fdec76354ede
      https://github.com/llvm/llvm-project/commit/5c35b63da3c2e3c773580f748129fdec76354ede
  Author: William G Hatch <william at hatch.uno>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/test/CAPI/llvm.c
    M mlir/test/Dialect/LLVMIR/debuginfo.mlir
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [MLIR][LLVM] add dwarfAddressSpace to DIDerivedType (#92043)

This field is present in LLVM, but was missing from the MLIR wrapper
type. This addition allows MLIR languages to add proper DWARF info for
GPU programs.


  Commit: 6706aebefac3c89d8df55bade022f3aeb55cfeb9
      https://github.com/llvm/llvm-project/commit/6706aebefac3c89d8df55bade022f3aeb55cfeb9
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    R etime-function.mlir
    M flang/docs/Intrinsics.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Runtime/time-intrinsic.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/runtime/time-intrinsic.cpp
    M flang/runtime/tools.h
    R flang/test/Lower/Intrinsics/etime-function.f90
    R flang/test/Lower/Intrinsics/etime.f90
    R flang/test/Semantics/etime.f90

  Log Message:
  -----------
  Revert "[flang] Add ETIME runtime and lowering intrinsics implementation" (#92354)

Reverts llvm/llvm-project#90578

This broke the premerge linux buildbot.


  Commit: 45cc6bdea97be10793e4cd5f0ef11abd9d19adea
      https://github.com/llvm/llvm-project/commit/45cc6bdea97be10793e4cd5f0ef11abd9d19adea
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M .github/CODEOWNERS
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/test/AST/Interp/builtin-functions.cpp

  Log Message:
  -----------
  [clang][Interp] Implement __builtin_shufflevector


  Commit: e27f9bb31984927d10995e3d7e5a8fcde60cf5d4
      https://github.com/llvm/llvm-project/commit/e27f9bb31984927d10995e3d7e5a8fcde60cf5d4
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [github] Add keith back to bazel codeowners

Wrongly removed in 45cc6bdea97be10793e4cd5f0ef11abd9d19adea.


  Commit: 7c956293d856224dd6a1b633820ef53009f7ef1c
      https://github.com/llvm/llvm-project/commit/7c956293d856224dd6a1b633820ef53009f7ef1c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmMacro.h
    M llvm/include/llvm/MC/MCContext.h
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/test/MC/AsmParser/macro-at-pseudo-variable.s

  Log Message:
  -----------
  MCAsmParser: Support \+

In .macro, \+ expands to the per-macro invocation count.
https://sourceware.org/pipermail/binutils/2024-May/134009.html

\+ counts from 0 for .irp/.irpc/.rept .

Note: We currently prints \q for `.print "\q"` while gas doesn't. This
patch does not change this behavior.


  Commit: 89ee3ae2bd1d5705a3e775e3f30bf0ec6d8d863a
      https://github.com/llvm/llvm-project/commit/89ee3ae2bd1d5705a3e775e3f30bf0ec6d8d863a
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  [Flang][OpenMP] Fix update operation not found issue (#92165)

If there is only one non-terminator operation in the update region then
the update operation can be found and we can try to generate an
atomicrmw instruction. Otherwise use the cmpxchg loop.

Fixes #91929


  Commit: ca1f0d41b8c5f42ca6cdcbdf9732bf4df2fcc80f
      https://github.com/llvm/llvm-project/commit/ca1f0d41b8c5f42ca6cdcbdf9732bf4df2fcc80f
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/test/ELF/aarch64-reloc-pauth.s

  Log Message:
  -----------
  [lld][AArch64][ELF][PAC] Support `.relr.auth.dyn` section (#87635)

Support `R_AARCH64_AUTH_RELATIVE` relocation compression as described in
https://github.com/ARM-software/abi-aa/blob/main/pauthabielf64/pauthabielf64.rst#relocation-compression


  Commit: ce1ce5d30c7696fddcb0c040909a9b786fe7cb06
      https://github.com/llvm/llvm-project/commit/ce1ce5d30c7696fddcb0c040909a9b786fe7cb06
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/pow-1.ll

  Log Message:
  -----------
  InstCombine: Try to use exp10 intrinsic instead of libcall (#92287)

Addresses old TODO about the exp10 intrinsic not existing.


  Commit: b5107bdda332234d632c9749e01d60dd0f01bf39
      https://github.com/llvm/llvm-project/commit/b5107bdda332234d632c9749e01d60dd0f01bf39
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
    M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
    M mlir/test/Conversion/ArmSMEToLLVM/unsupported.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Verify ops on tile types post LLVM conversion  (#92076)

Unsupported ops on tile types can become dead after
`-convert-arm-sme-to-llvm` resulting in incorrect results. Verify such
operations don't exist post-conversion and fail if they do.

Based on discussion from
https://discourse.llvm.org/t/on-improving-arm-sme-lowering-resilience-in-mlir/78543


  Commit: 8389177710c2cb7a7e0cf5c6c9b34aabb8048f39
      https://github.com/llvm/llvm-project/commit/8389177710c2cb7a7e0cf5c6c9b34aabb8048f39
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp

  Log Message:
  -----------
  SimplifyLibCalls: Use IRBuilder helpers for creating intrinsics (#92288)


  Commit: de483ad513895c0adf7f21c7001c30f031998ea3
      https://github.com/llvm/llvm-project/commit/de483ad513895c0adf7f21c7001c30f031998ea3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/ADT/StringRef.h

  Log Message:
  -----------
  [ADT] Deprecate StringRef::equals (#92351)

This patch deprecates StringRef::equals.  Note that I've migrated all
known users to operator==(StringRef, StringRef).


  Commit: 8f711aa32488beb3382de101a290e11b41ceb876
      https://github.com/llvm/llvm-project/commit/8f711aa32488beb3382de101a290e11b41ceb876
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.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] `__cpp_lib_within_lifetime` -> `__cpp_lib_is_within_lifetime` (#91896)

The feature test macro was renamed when
[P2641R4](https://wg21.link/P2641R4) was adopted into the standard:
https://github.com/cplusplus/draft/commit/0facada4cadd97e1ba15bfaea76a804f1dc5c309
https://wg21.link/version.syn#lib:__cpp_lib_is_constant_evaluated


  Commit: dcd32bd65f16e80db2485e6e02b62d6a91c3cddf
      https://github.com/llvm/llvm-project/commit/dcd32bd65f16e80db2485e6e02b62d6a91c3cddf
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] Fold pack-unpack with unbalanced outer_dims_perm attr (#92234)

Extends pack/unpack perm attribute checker to account for cases when the
optional outer_dims_perm attribute might be missing in one operation and
the other one has explicit identity permutation. This enables
canonicalizer to fold more unpack(pack(x)) variants.


  Commit: cd5ee2715e89ad31982f91cc85fc3939977f2f4e
      https://github.com/llvm/llvm-project/commit/cd5ee2715e89ad31982f91cc85fc3939977f2f4e
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    A flang/include/flang/Optimizer/CodeGen/CGOps.h
    M flang/include/flang/Optimizer/CodeGen/CGOps.td
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/CodeGen/CGOps.cpp
    R flang/lib/Optimizer/CodeGen/CGOps.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/test/Fir/declare-codegen.fir
    M flang/test/Fir/dummy-scope-codegen.fir
    A flang/test/Transforms/debug-local-var-2.f90
    A flang/test/Transforms/debug-local-var.f90

  Log Message:
  -----------
  [reland][flang] Initial debug info support for local variables (#92304)

This is same as #90905 with an added fix. The issue was that we
generated variable info even when user asked for line-tables-only. This
caused llvm dwarf generation code to fail an assertion as it expected an
empty variable list.

Fixed by not generating debug info for variables when user wants only
line table. I also updated a test check for this case.


  Commit: 0ea178b085ba386d9d7bfea5afa072aa37f633fd
      https://github.com/llvm/llvm-project/commit/0ea178b085ba386d9d7bfea5afa072aa37f633fd
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/exp2-1.ll
    M llvm/test/Transforms/InstCombine/exp2-to-ldexp.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int.ll

  Log Message:
  -----------
  SimplifyLibCalls: Emit vector ldexp intrinsics in exp2->ldexp combine (#92219)

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: 710f4bd054a857dd25012c9fef0cb66104f17ec0
      https://github.com/llvm/llvm-project/commit/710f4bd054a857dd25012c9fef0cb66104f17ec0
  Author: Alex Zinenko <ftynse at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.h

  Log Message:
  -----------
  [mlir] add missing include to MemRefTransformOps.h

The ODS-generated code has the following:

```
::mlir::TypedValue<::mlir::transform::OperationType> getAlloca() {
  return ::llvm::cast<::mlir::TypedValue<::mlir::transform::OperationType>>(
      *getODSOperands(0).begin());
}
```

that may require the compiler seing the definition of `OperationType` so
include the corresponding header.


  Commit: 51403ada789e63e98e0dd5ac0ceba351465490d1
      https://github.com/llvm/llvm-project/commit/51403ada789e63e98e0dd5ac0ceba351465490d1
  Author: Alex Zinenko <ftynse at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [mlir] fix orphaned IRDLExtensionOps documentation

.md files should be included into other .md files so they don't show up in the
top-level menu.


  Commit: 72a895336b1e4df1ec2f485f8786ead6c356edb8
      https://github.com/llvm/llvm-project/commit/72a895336b1e4df1ec2f485f8786ead6c356edb8
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/utils/TableGen/ARMTargetDefEmitter.cpp

  Log Message:
  -----------
  [AArch64][TargetParser] move ArchInfo into tablegen [NFC] (#92037)

This moves the architecture version, profile and extension information
into tablegen, and generates the TargetParser ArchInfo objects from
this data.

There are two lists of "dependencies" defined for each architecture: the
SubtargetFeature::Implies which controls which features are
automatically enabled in the backend when the corresponding architecture
SubtargetFeature is enabled; and the list of Extensions which are
enabled by default for this architecture. As far as I can tell, the idea
here is that the SubtargetFeature models the mandatory dependencies (although
they can still be disabled if desired) while the default extensions models
the typical use case for that architecture.


  Commit: ca02f36bacaec58071a26ff65329fbab5526d1d7
      https://github.com/llvm/llvm-project/commit/ca02f36bacaec58071a26ff65329fbab5526d1d7
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/vector-transferop-opt.mlir

  Log Message:
  -----------
  [mlir][vector] Teach `TransferOptimization` to forward masked stores (#87794)

This only handles one case (that's fairly common in practice*), storing
a masked constant splat, then reloading again with the same mask and a
padding value that matches the splat.

* For SVE/SME (without peeling) this occurs when you have a
`linalg.fill` preceding a `linalg.matmul`.


  Commit: 30410018d32b2cc19552c6d6a3b7b6de84d99382
      https://github.com/llvm/llvm-project/commit/30410018d32b2cc19552c6d6a3b7b6de84d99382
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
    A llvm/test/CodeGen/LoongArch/target-abi.ll

  Log Message:
  -----------
  [LoongArch] Enable all -target-abi options

This is a pre-commit for modifying `computeTargetABI` logic.

This patch will provide warning prompts when using those ABIs that have
not yet been standardized.

Reviewed By: xen0n, SixWeining

Pull Request: https://github.com/llvm/llvm-project/pull/92222


  Commit: 70608c24fae8943cb93276db4d0358722705507b
      https://github.com/llvm/llvm-project/commit/70608c24fae8943cb93276db4d0358722705507b
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
    M llvm/test/CodeGen/LoongArch/e_flags.ll
    M llvm/test/CodeGen/LoongArch/target-abi-from-triple-edge-cases.ll

  Log Message:
  -----------
  [LoongArch] Refactor LoongArchABI::computeTargetABI

The previous logic did not consider whether the architectural features
meet the requirements of the ABI, resulting in the generation of
incorrect object files in some cases. For example:

```
llc -mtriple=loongarch64 -filetype=obj test/CodeGen/LoongArch/ir-instruction/fadd.ll -o t.o
llvm-readelf -h t.o
```
The object file indicates the ABI as lp64d, however, the generated code
is lp64s.

The new logic introduces the `feature-implied` ABI. When both target-abi
and triple-implied ABI are invalid, the feature-implied ABI is used.

Reviewed By: SixWeining, xen0n

Pull Request: https://github.com/llvm/llvm-project/pull/92223


  Commit: 53bdcee9d7a921a0ea5e0c8fa3f889f16f1d268f
      https://github.com/llvm/llvm-project/commit/53bdcee9d7a921a0ea5e0c8fa3f889f16f1d268f
  Author: Oleg Shyshkov <shyshkov at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Fix bazel build.


  Commit: cfcbe3ae55144635cac4ab00c017e3e93dad1c4b
      https://github.com/llvm/llvm-project/commit/cfcbe3ae55144635cac4ab00c017e3e93dad1c4b
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lld/test/ELF/emulation-loongarch.s

  Log Message:
  -----------
  [lld][test] Fix test failure after #92223

https://lab.llvm.org/buildbot/#/builders/272/builds/16745


  Commit: 90d2f8c630e1ddddd034e4a0e575929c08dd26bf
      https://github.com/llvm/llvm-project/commit/90d2f8c630e1ddddd034e4a0e575929c08dd26bf
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
    M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transferop-opt.mlir

  Log Message:
  -----------
  [mlir][vector] Teach `TransferOptimization` to look through trivial aliases (#87805)

This allows `TransferOptimization` to eliminate and forward stores that
are to trivial aliases (rather than just to identical memref values).

A trivial aliases is (currently) defined as:

  1. A `memref.cast`
  2. A `memref.subview` with a zero offset and unit strides
  3. A chain of 1 and 2


  Commit: 1795fa58bac5092f758bf27e1b27a2b333307bab
      https://github.com/llvm/llvm-project/commit/1795fa58bac5092f758bf27e1b27a2b333307bab
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaExpr.cpp

  Log Message:
  -----------
  [NFC] Update example in comment


  Commit: 5ffd154cf61390c1ed32a1b0eb134929f78c0fbe
      https://github.com/llvm/llvm-project/commit/5ffd154cf61390c1ed32a1b0eb134929f78c0fbe
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [analyzer] Clean up list of taint propagation functions (#91635)

This commit refactors GenericTaintChecker and performs various
improvements in the list of taint propagation functions:

1. The matching mode (usually `CDM::CLibrary` or
`CDM::CLibraryMaybeHardened`) was specified to avoid matching e.g. C++
methods or functions from a user-defined namespace that happen to share
the name of a well-known library function.
2. With these matching modes, a `CallDescription` can automatically
match builtin variants of the functions, so entries that explicitly
specified a builtin function were removed. This eliminated
inconsistencies where the "normal" and the builtin variant of the same
function was handled differently (e.g. `__builtin_strlcat` was covered,
while plain `strlcat` wasn't; while `__builtin_memcpy` and `memcpy` were
both on the list with different propagation rules).
3. The modeling of the functions `strlcat` and `strncat` was updated to
propagate taint from the first argument (index 0), because a tainted
string should remain tainted even if we append something else to it.
Note that this was already applied to `strcat` and `wcsncat` by commit
6ceb1c0ef9f544be0eed65e46cc7d99941a001bf.
4. Some functions were updated to propagate taint from a size/length
argument to the result: e.g. `memcmp(p, q, get_tainted_int())` will now
return a tainted value (because the attacker can manipulate it). This
principle was already present in some propagation rules (e.g.
`__builtin_memcpy` was handled this way), and even after this commit
there are still some functions where it isn't applied. (I only aimed for
consistency within the same function family.)
5. Functions that have hardened `__FOO_chk()` variants are matched in
`CDM:CLibraryMaybeHardened` to ensure consistent handling of the
"normal" and the hardened variant. I added special handling for the
hardened variants of "sprintf" and "snprintf" because there the extra
parameters are inserted into the middle of the parameter list.
6. Modeling of `sscanf_s` was added, to complete the group of `fscanf`,
`fscanf_s` and `sscanf`.
7. The `Source()` specifications for `gets`, `gets_s` and `wgetch` were
ill-formed: they were specifying variadic arguments starting at argument
index `ReturnValueIndex`. (That is, in addition to the return value they
were propagating taint to all arguments.)
8. Functions that were related to each other were grouped together. (I
know that this makes the diff harder to read, but I felt that the full
list is unreadable without some reorganization.)
9. I spotted and removed some redundant curly braces. Perhaps would be
good to switch to a cleaner layout with less nested braces...
10. I updated some obsolete comments and added two TODOs for issues that
should be fixed in followup commits.


  Commit: 83974a4b92d1fd33b8e21d7a868862893d9430e9
      https://github.com/llvm/llvm-project/commit/83974a4b92d1fd33b8e21d7a868862893d9430e9
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/test/Transforms/LoopUnroll/X86/znver3.ll

  Log Message:
  -----------
  Revert "[LoopUnroll] Clamp PartialThreshold for large LoopMicroOpBufferSize (#67657)"

This reverts commit f0b3654701bde1cf7821d60698b42383edaff9f3.

This commit triggers UB by reading an uninitialized variable.

`UP.PartialThreshold` is used uninitialized in `getUnrollingPreferences()` when
it is called from `LoopVectorizationPlanner::executePlan()`. In this case the
`UP` variable is created on the stack and its fields are not initialized.

```
==8802==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x557c0b081b99 in llvm::BasicTTIImplBase<llvm::X86TTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) llvm-project/llvm/include/llvm/CodeGen/BasicTTIImpl.h
    #1 0x557c0b07a40c in llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) llvm-project/llvm/include/llvm/Analysis/TargetTransformInfo.h:2277:17
    #2 0x557c0f5d69ee in llvm::TargetTransformInfo::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) const llvm-project/llvm/lib/Analysis/TargetTransformInfo.cpp:387:19
    #3 0x557c0e6b96a0 in llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*, bool, llvm::DenseMap<llvm::SCEV const*, llvm::Value*, llvm::DenseMapInfo<llvm::SCEV const*, void>, llvm::detail::DenseMapPair<llvm::SCEV const*, llvm::Value*>> const*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7624:7
    #4 0x557c0e6e4b63 in llvm::LoopVectorizePass::processLoop(llvm::Loop*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10253:13
    #5 0x557c0e6f2429 in llvm::LoopVectorizePass::runImpl(llvm::Function&, llvm::ScalarEvolution&, llvm::LoopInfo&, llvm::TargetTransformInfo&, llvm::DominatorTree&, llvm::BlockFrequencyInfo*, llvm::TargetLibraryInfo*, llvm::DemandedBits&, llvm::AssumptionCache&, llvm::LoopAccessInfoManager&, llvm::OptimizationRemarkEmitter&, llvm::ProfileSummaryInfo*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10344:30
    #6 0x557c0e6f2f97 in llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10383:9

[...]

  Uninitialized value was created by an allocation of 'UP' in the stack frame
    #0 0x557c0e6b961e in llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*, bool, llvm::DenseMap<llvm::SCEV const*, llvm::Value*, llvm::DenseMapInfo<llvm::SCEV const*, void>, llvm::detail::DenseMapPair<llvm::SCEV const*, llvm::Value*>> const*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7623:3
```


  Commit: ba2e4fe4e7f79e49fcac54ea20f5b899dc687cfc
      https://github.com/llvm/llvm-project/commit/ba2e4fe4e7f79e49fcac54ea20f5b899dc687cfc
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/test/AST/ast-dump-expr.cpp

  Log Message:
  -----------
  [clang] Fix CXXNewExpr end source location for 'new struct S' (#92266)

Currently, `new struct S` fails to set any valid end source location
because the token corresponding to `S` is consumed in
`ParseClassSpecifier` and is not accessible in the
`ParseDeclarationSpecifiers` that normally sets the end source location.

Fixes #35300


  Commit: 239f8b9eb0725b4c6ff8342717b6abbfc9a7915a
      https://github.com/llvm/llvm-project/commit/239f8b9eb0725b4c6ff8342717b6abbfc9a7915a
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/AST/RecursiveASTVisitor.h
    A clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp

  Log Message:
  -----------
  [AST] RecursiveASTVisitor: Don't traverse the alias deduction guides in the default mode. (#91454)

By default (`shouldVisitImplicitCode()` returns `false`), RAV should not
traverse AST nodes that are not spelled in the source code. Deduction
guides for alias templates are always synthesized, so they should not be
traversed.

This is usually done by checking the implicit bit of the Decl. However,
this doesn't work deduction guides that are synthesized from explicit
user-defined deduction guides, as we must maintain the explicit bit to
ensure correct overload resolution.


  Commit: a9605730a481707623358d3b12220f05cfdc50a8
      https://github.com/llvm/llvm-project/commit/a9605730a481707623358d3b12220f05cfdc50a8
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Basic/TypeTraits.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [clang] CTAD: implement the missing IsDeducible constraint for alias templates  (#89358)

Fixes https://github.com/llvm/llvm-project/issues/85192
Fixes https://github.com/llvm/llvm-project/issues/84492

This patch implements the "IsDeducible" constraint where the template
arguments of the alias template can be deduced from the returned type of
the synthesized deduction guide, per C++ [over.match.class.deduct]p4. In
the implementation, we perform the deduction directly, which is more
efficient than the way specified in the standard.

Also update relevant CTAD tests which were incorrectly compiled due to
the missing constraint.


  Commit: 46bc54f4e688870da8356a9b85257ffb12d47e1f
      https://github.com/llvm/llvm-project/commit/46bc54f4e688870da8356a9b85257ffb12d47e1f
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Fix assertion failure when `computeKnownFPClass` returns fcNone (#92355)

Fixes
https://github.com/llvm/llvm-project/pull/92084#issuecomment-2114083188.


  Commit: 0bc1ec5cda8d68a681534bda9fd121b7f58fb495
      https://github.com/llvm/llvm-project/commit/0bc1ec5cda8d68a681534bda9fd121b7f58fb495
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [GlobalISel] Reduce KnownBits usage in matcher combines (#92381)

Two icmp/and combines forced computation of KnownBits on all operands
everytime. We can avoid computing KnownBits on the LHS by exploiting a
couple of properties:
- Constants are always on the RHS for those instructions. If we have no
KnownBits on the RHS, we can bail out early and avoid computing LHS
knownbits.
- For icmp uge/ult 0, we don't need to know the KBs of the LHS to infer
the result

This allows to save some KnownBits calls, which are very expensive,
without affecting codegen.


  Commit: 7d81062352f75cf328d91d4900af52c1842b950e
      https://github.com/llvm/llvm-project/commit/7d81062352f75cf328d91d4900af52c1842b950e
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/docs/GlobalISel/MIRPatterns.rst
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-permutations.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/patfrag-errors.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterHwModes.td
    M llvm/utils/TableGen/Common/CMakeLists.txt
    M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp
    M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
    R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.cpp
    R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.h
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.h
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [GlobalISel] Refactor Combiner MatchData & Apply C++ Code Handling (#92239)

Combiners that use C++ code in their "apply" pattern only use that. They
never mix it with MIR patterns as that has little added value.

This patch restricts C++ apply code so that if C++ is used, we cannot
use MIR patterns or builtins with it. Adding this restriction allows us
to merge calls to match and apply C++ code together, which in turns
makes it so we can just have MatchData variables on the stack.

So before, we would have
```
  GIM_CheckCxxInsnPredicate // match
  GIM_CheckCxxInsnPredicate // apply
  GIR_Done
```
Alongside a massive C++ struct holding the MatchData of all rules
possible (which was a big space/perf issue).

Now we just have
```
GIR_DoneWithCustomAction
```

And the function being ran just does
```
unsigned SomeMatchData;
if (match(SomeMatchData))
  apply(SomeMatchData)
```

This approach solves multiple issues in one:
- MatchData handling is greatly simplified and more efficient, "don't
pay for what you don't use"
  - We reduce the size of the match table
- Calling C++ code has a certain overhead (we need a switch), and this
overhead is only paid once now.

Handling of C++ code inside PatFrags is unchanged though, that still
emits a `GIM_CheckCxxInsnPredicate`. This is completely fine as they
can't use MatchDatas.


  Commit: cf92e51f5b66afc315f2b43c238291ca87a5602e
      https://github.com/llvm/llvm-project/commit/cf92e51f5b66afc315f2b43c238291ca87a5602e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 7d81062352f7


  Commit: 311339e25cd4d431902f93b1cbc6b67ac3fd2abf
      https://github.com/llvm/llvm-project/commit/311339e25cd4d431902f93b1cbc6b67ac3fd2abf
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-cost.ll

  Log Message:
  -----------
  [DAG] SimplifyDemandedBits - ISD::AND - only request DemandedElts when looking for a splat constant

Limit the isConstOrConstSplat call to the vector elements we care about

Noticed while investigating regressions in #92096


  Commit: fdaad738753cde2bba6480c2ee5d1e9fb45064b9
      https://github.com/llvm/llvm-project/commit/fdaad738753cde2bba6480c2ee5d1e9fb45064b9
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
    A llvm/test/Transforms/Reg2Mem/callbr-crash.ll

  Log Message:
  -----------
  [Reg2Mem] Handle CallBr instructions (#90953)

Fixes #90900


  Commit: 911207338add39b8439a09fd7f9d97bbe4a335bd
      https://github.com/llvm/llvm-project/commit/911207338add39b8439a09fd7f9d97bbe4a335bd
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Bindings/llvm-c/debug_info.ll
    A llvm/test/Bindings/llvm-c/debug_info_new_format.ll
    M llvm/tools/llvm-c-test/debuginfo.c
    M llvm/tools/llvm-c-test/main.c

  Log Message:
  -----------
  [RemoveDIs][NFC] Fix rotten green C API test (#92362)

`llvm_test_dibuilder(/*NewDebugInfoMode=*/true)` isn't currently executed in 
`return llvm_test_dibuilder(false) && llvm_test_dibuilder(true);`
because `llvm_test_dibuilder` returns 0 for success.

Split the llvm-c-test flag `--test-dibuilder` into two, one for the old and
one for the new debug info format. Add another lit test for the new format.

Now that the test actually runs, it crashes using the new format with
`llvm/lib/IR/LLVMContextImpl.cpp:53:llvm::LLVMContextImpl::~LLVMContextImpl(): Assertion 'TrailingDbgRecords.empty() && "DbgRecords in blocks not cleaned"' failed. Aborted`.

Insert terminators into the blocks so that we don't leave the debug records
trailing, unattached to any instructions, which fixes that.


  Commit: 03d8e613911bdef52fec23924a4e5b4235997bb8
      https://github.com/llvm/llvm-project/commit/03d8e613911bdef52fec23924a4e5b4235997bb8
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp

  Log Message:
  -----------
  [Transforms] Fix -Wsign-compare in DemoteRegToStack.cpp (NFC)

llvm-project/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp:54:23:
error: comparison of integers of different signs: 'int' and 'unsigned int' [-Werror,-Wsign-compare]
    for (int i = 0; i < CBI->getNumSuccessors(); i++) {
                    ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.


  Commit: 99de3a685170c24208b00ef83fe0416373387acc
      https://github.com/llvm/llvm-project/commit/99de3a685170c24208b00ef83fe0416373387acc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/docs/VectorizationPlan.rst
    M llvm/docs/conf.py
    A llvm/docs/vplan-scope.png
    A llvm/docs/vplan-transform-pipeline.png

  Log Message:
  -----------
  [VPlan] Document current status. (#85689)

Update VectorizationPlan.rst to include a section about the current
status of VPlan and its use in LoopVectorize, based on "VPlan: Status
Update and Future Roadmap", LLVM Developers’ Meeting 2023,
https://www.youtube.com/watch?v=SzGP4PgMuLE

PR: https://github.com/llvm/llvm-project/pull/85689


  Commit: 7ce8d2e5fb9cc5f6f9de214584170a8cf01b98de
      https://github.com/llvm/llvm-project/commit/7ce8d2e5fb9cc5f6f9de214584170a8cf01b98de
  Author: David Truby <david.truby at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/MSVC.cpp
    A clang/test/Driver/flang/msvc-link.f90

  Log Message:
  -----------
  [clang][flang][windows] Prefer user-provided library paths (-L) (#90758)

Currently the paths to compiler-rt and the Flang runtimes from the LLVM
build/install directory are preferred over any user-provided library
paths. This means a user can't override compiler-rt or the Flang
runtimes with custom versions.

This patch changes the link order to prefer library paths specified with
-L over the LLVM paths. This matches the behaviour of clang and flang on
Linux.


  Commit: 7a66e4209b0b4cc0dc871a54c4f07a4b0054b5f7
      https://github.com/llvm/llvm-project/commit/7a66e4209b0b4cc0dc871a54c4f07a4b0054b5f7
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h

  Log Message:
  -----------
  [flang][OpenMP] Remove unnecessary `Fortran::` qualification, NFC (#92298)

The `Fortran::` namespace is redundant for all parts of the code in this
PR, except for names of functions in their definitions.


  Commit: 2bc9af96567eeda1effdf0cb7662511d896fb386
      https://github.com/llvm/llvm-project/commit/2bc9af96567eeda1effdf0cb7662511d896fb386
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py

  Log Message:
  -----------
  [lldb][Windows] Disable the TestGdbRemoteLibrariesSvr4Support test for Windows host (#92341)

Windows does not allow quotes in file names. So it is impossible to
build `libsvr4lib_b".so` on Windows.


  Commit: 588ce34ba626a369a416b883342af48c69e70925
      https://github.com/llvm/llvm-project/commit/588ce34ba626a369a416b883342af48c69e70925
  Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp

  Log Message:
  -----------
  [libc++][z/OS] Fixup two linear_congruential_engine tests (#92261)


  Commit: e948da1021b207dbcee9ed484ccb3409c2295561
      https://github.com/llvm/llvm-project/commit/e948da1021b207dbcee9ed484ccb3409c2295561
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp

  Log Message:
  -----------
  [Transforms] Fix -Wunused-variable in DemoteRegToStack.cpp (NFC)

llvm-project/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp:58:21:
error: unused variable 'BB' [-Werror,-Wunused-variable]
        BasicBlock *BB = SplitCriticalEdge(II, i);
                    ^
1 error generated.


  Commit: 80fac30a09ce0fbd2047cc210ec0a42cfa95b79d
      https://github.com/llvm/llvm-project/commit/80fac30a09ce0fbd2047cc210ec0a42cfa95b79d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [X86] rot32.ll - remove old shld check prefixes

This was missed in 8dbd745b09c9f65fefc2ffac14e8f7f288766861


  Commit: 44eded31e0bd5739391298497affe3412e4091aa
      https://github.com/llvm/llvm-project/commit/44eded31e0bd5739391298497affe3412e4091aa
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py

  Log Message:
  -----------
  [lldb] Move TestBase.runCmd() to the Base class (#92252)

runCmd() is called from Base.getCPUInfo() but implemented only in
TestBase(Base). Usually it works if TestBase is used. But call
getCPUInfo() from a class based on Base will cause something like
```
File "E:\projects\llvm-nino\lldb\llvm-project\lldb\packages\Python\lldbsuite\test\lldbtest.py", line 1256, in getCPUInfo
  self.runCmd('platform get-file "/proc/cpuinfo" ' + cpuinfo_path)
AttributeError: 'TestGdbRemoteExpeditedRegisters' object has no attribute 'runCmd'
```
BTW, TestBase.setUp() called runCmd() before applying
LLDB_MAX_LAUNCH_COUNT and LLDB_TIME_WAIT_NEXT_LAUNCH.

This patch fixes the test TestGdbRemoteExpeditedRegisters in case of
Windows host and Linux target.


  Commit: f7392f40f3f6d5d4fc4ec11a982cf5379ab3c5d1
      https://github.com/llvm/llvm-project/commit/f7392f40f3f6d5d4fc4ec11a982cf5379ab3c5d1
  Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll

  Log Message:
  -----------
  [AArch64] Add intrinsics for bfloat16 min/max/minnm/maxnm (#90105)

According to specifications in
[ARM-software/acle/pull/309](https://github.com/ARM-software/acle/pull/309)
Add following intrinsics:

```
// svmax single,multi
svbfloat16x2_t svmax_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmax_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmax_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmax_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```

```
// svmin single,multi
svbfloat16x2_t svmin_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmin_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmin_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmin_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```

```
// svmaxnm single,multi
svbfloat16x2_t svmaxnm_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmaxnm_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmaxnm_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmaxnm_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```

```
// svminnm single,multi
svbfloat16x2_t svminnm_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svminnm_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svminnm_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svminnm_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```
- Variations other than bfloat16 are already supported.


  Commit: af57ad6536c7df19e6df7217d9d976067fdaf882
      https://github.com/llvm/llvm-project/commit/af57ad6536c7df19e6df7217d9d976067fdaf882
  Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libcxx/include/__algorithm/simd_utils.h

  Log Message:
  -----------
  [libc++][z/OS] Correct a definition of __native_vector_size (#91995)

Fix `std/ranges/range.adaptors/range.lazy.split/general.pass.cpp` which
started failing on z/OS after this
[commit](https://github.com/llvm/llvm-project/commit/985c1a44f8d49e0af).

This test case is passing on other platforms such as AIX. This is
because the `__ALTIVEC__` macro is defined and `__mismatch` under
`_LIBCPP_VECTORIZE_ALGORITHMS` guard is compiled out. However, on z/OS
`_LIBCPP_VECTORIZE_ALGORITHMS` is defined. Analyzing the algorithm of
`__mismatch` shows that the culprit is the definition of
`__native_vector_size` which was defined wrongly as 1. This PR corrects
the definition of `__native_vector_size` and fixes the affected test.


  Commit: 4a5dffc67499640c71357d8f3f49edc97af5482f
      https://github.com/llvm/llvm-project/commit/4a5dffc67499640c71357d8f3f49edc97af5482f
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/arm64ec-symbols.ll

  Log Message:
  -----------
  [CodeGen][ARM64EC][NFC] Add ARM64EC alias symbols test. (#92100)


  Commit: 54e52aa5ebe68de122a3fe6064e0abef97f6b8e0
      https://github.com/llvm/llvm-project/commit/54e52aa5ebe68de122a3fe6064e0abef97f6b8e0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ScheduleZnver3.td
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/test/Transforms/LoopUnroll/X86/znver3.ll

  Log Message:
  -----------
  [X86] Reduce znver3/4 LoopMicroOpBufferSize to practical loop unrolling values (#91340)

The znver3/4 scheduler models have previously associated the LoopMicroOpBufferSize with the maximum size of their op caches, and when this led to quadratic complexity issues this were reduced to a value of 512 uops, based mainly on compilation time and not its effectiveness on runtime performance.

>From a runtime performance POV, a large LoopMicroOpBufferSize leads to a higher number of loop unrolls, meaning the cpu has to rely on the frontend decode rate (4 ins/cy max) for much longer to fill the op cache before looping begins and we make use of the faster op cache rate (8/9 ops/cy).

This patch proposes we instead cap the size of the LoopMicroOpBufferSize based off the maximum rate from the op cache (znver3 = 8op/cy, znver4 = 9op/cy) and the branch misprediction penalty from the opcache (~12cy) as a estimate of the useful number of ops we can unroll a loop by before mispredictions are likely to cause stalls. This isn't a perfect metric, but does try to be closer to the spirit of how we use LoopMicroOpBufferSize in the compiler vs the size of a similar naming buffer in the cpu.


  Commit: 93c02b7dc3bd07d3d62b56cb3299288901205f3a
      https://github.com/llvm/llvm-project/commit/93c02b7dc3bd07d3d62b56cb3299288901205f3a
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/test/CodeGen/AArch64/arm64ec-symbols.ll

  Log Message:
  -----------
  [CodeGen][ARM64EC] Use MCSymbolRefExpr::VK_None for function aliases. (#92100)


  Commit: c675a58edec6d1a876a0d0e7d261f74764855b38
      https://github.com/llvm/llvm-project/commit/c675a58edec6d1a876a0d0e7d261f74764855b38
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [TableGen][SubtargetEmitter] Early exit from loop in FindWriteResources and FindReadAdvance (#92202)

This gives us a 30% speed improvement in our downstream.


  Commit: 6c7ec6e1e6646fb334064bda6f301fdb52390d9b
      https://github.com/llvm/llvm-project/commit/6c7ec6e1e6646fb334064bda6f301fdb52390d9b
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/test/Dialect/ArmSME/tile-allocation-spills-with-mixed-tile-types.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Remove empty line in test (NFC) (#92404)


  Commit: 74a87548e5b62881108e6cd1fd63b45580fc3097
      https://github.com/llvm/llvm-project/commit/74a87548e5b62881108e6cd1fd63b45580fc3097
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/test/Fir/omp-reduction-embox-codegen.fir
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir

  Log Message:
  -----------
  [flang][MLIR][OpenMP] make reduction by-ref toggled per variable (#92244)

Fixes #88935

Toggling reduction by-ref broke when multiple reduction clauses were
used. Decisions made for the by-ref status for later clauses could then
invalidate decisions for earlier clauses. For example,

```
reduction(+:scalar,scalar2) reduction(+:array)
```

The first clause would choose by value reduction and generate by-value
reduction regions, but then after this the second clause would force
by-ref to support the array argument. But by the time the second clause
is processed, the first clause has already had the wrong kind of
reduction regions generated.

This is solved by toggling whether a variable should be reduced by
reference per variable. In the above example, this allows only `array`
to be reduced by ref.


  Commit: d94582eea410a04f9f84e39a54276a8418aa2dbb
      https://github.com/llvm/llvm-project/commit/d94582eea410a04f9f84e39a54276a8418aa2dbb
  Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    A flang/test/Semantics/OpenMP/atomic-update-overloaded-ops.f90

  Log Message:
  -----------
  [flang][OpenMP] Add test for checking overloaded operator in atomic update (#88471)

Atomic update expression does not allow overloaded user-defined
operators. This PR adds a test case for the same; the semantic check is
already existent.


  Commit: f579dcf816b5626724e9eae5feea594008b5c863
      https://github.com/llvm/llvm-project/commit/f579dcf816b5626724e9eae5feea594008b5c863
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb] Fixed an invalid error message in the DAP disconnect response (#92345)

The `disconnect` response contains the `error` message with invalid
characters (a junk data). To reproduce this issue it is enough to run
the `TestDAP_commands` test on Windows host and Linux target. The test
will fail to run ELF file on Windows and dap_server will be disconnected
unexpectedly.

Note dap_server hangs if read_packet() cannot decode JSON with invalid
characters. read_packet() must return None in this case instead of an
exception. But dap_server does not require any fix after this patch.


  Commit: d665d51c9296fc0b57945bb67e06040e26cd03c5
      https://github.com/llvm/llvm-project/commit/d665d51c9296fc0b57945bb67e06040e26cd03c5
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
    M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py

  Log Message:
  -----------
  [lldb] Fixed the DAP tests in case of a remote target (#92398)

These tests failed in case of Windows host and Linux target, because
dap_server tried to run ELF file on Windows.


  Commit: d1f96d4cfe25770827b5f819b6a9de6fef142c9c
      https://github.com/llvm/llvm-project/commit/d1f96d4cfe25770827b5f819b6a9de6fef142c9c
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [clang][NFC] Claim support for P3106R1 since Clang 17

Test for this paper were added in https://github.com/llvm/llvm-project/pull/91435


  Commit: 5ac34358181b21135851979c1c949632be5a9d32
      https://github.com/llvm/llvm-project/commit/5ac34358181b21135851979c1c949632be5a9d32
  Author: Dana Jansens <danakj at chromium.org>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp

  Log Message:
  -----------
  Respect the [[clang::unsafe_buffer_usage]] attribute for constructors (#91777)

The -Wunsafe-buffer-usage warning should fire on any call to a function
annotated with [[clang::unsafe_buffer_usage]], however it omitted calls
to constructors, since the expression is a CXXConstructExpr which does
not subclass CallExpr. Thus the matcher on callExpr() does not find
these expressions.

Add a new WarningGadget that matches cxxConstructExpr that are calling a
CXXConstructDecl annotated by [[clang::unsafe_buffer_usage]] and fires
the warning. The new UnsafeBufferUsageCtorAttrGadget gadget explicitly
avoids matching against the std::span(ptr, size) constructor because
that is handled by SpanTwoParamConstructorGadget and we never want two
gadgets to match the same thing (and this is guarded by asserts).

The gadgets themselves do not report the warnings, instead each gadget's
Stmt is passed to the UnsafeBufferUsageHandler (implemented by
UnsafeBufferUsageReporter). The Reporter is previously hardcoded that a
CXXConstructExpr statement must be a match for std::span(ptr, size), but
that is no longer the case. We want the Reporter to generate different
warnings (in the -Wunsafe-buffer-usage-in-container subgroup) for the
span contructor. And we will want it to report more warnings for other
std-container-specific gadgets in the future. To handle this we allow
the gadget to control if the warning is general (it calls
handleUnsafeBufferUsage()) or is a std-container-specific warning (it
calls handleUnsafeOperationInContainer()).

Then the WarningGadget grows a virtual method to dispatch to the
appropriate path in the UnsafeBufferUsageHandler. By doing so, we no
longer need getBaseStmt in the Gadget interface. The only use of it for
FixableGadgets was to get the SourceLocation, so we make an explicit
virtual method for that on Gadget. Then the handleUnsafeOperation()
dispatcher can be a virtual method that is only in WarningGadget.

The SpanTwoParamConstructorGadget gadget dispatches to
handleUnsafeOperationInContainer() while the other WarningGadgets all
dispatch to the original handleUnsafeBufferUsage().

Tests are added for annotated constructors, conversion operattors, call
operators, fold expressions, and regular methods.

Issue #80482


  Commit: ee407e17a3a4986bab49272665abc9973d78691d
      https://github.com/llvm/llvm-project/commit/ee407e17a3a4986bab49272665abc9973d78691d
  Author: Renaud Kauffmann <50748669+Renaud-K at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
    M flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
    A flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir

  Log Message:
  -----------
  [flang] AliasAnalysis: More formally define and distinguish between data and non-data  (#91020)

This PR is an implementation for changes proposed in
https://discourse.llvm.org/t/rfc-distinguish-between-data-and-non-data-in-fir-alias-analysis/78759

Test updates were made when the query was on the wrong reference. So, it
is my hope that this will clear ambiguity on the nature of the queries
from here on.
There are also some TODOs that were addressed. 

It also partly implements what
https://github.com/llvm/llvm-project/pull/87723 is attempting to
accomplish. At least, on a point-to-point query between references, the
distinction is made. To apply it to TBAA, would be another PR.

Note that, the changes were minimal in the TBAA code to retain the
current results.


  Commit: cdb41e416adcd49a783f0d3d28d1e3fafb6f5429
      https://github.com/llvm/llvm-project/commit/cdb41e416adcd49a783f0d3d28d1e3fafb6f5429
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
    M llvm/test/Transforms/PlaceSafepoints/libcall.ll

  Log Message:
  -----------
  PlaceSafepoints: Fix using default constructed TargetLibraryInfo (#92411)


  Commit: 309a881dccb82bf1f101cf138bee3e7400968ed8
      https://github.com/llvm/llvm-project/commit/309a881dccb82bf1f101cf138bee3e7400968ed8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/docs/VectorizationPlan.rst
    M llvm/docs/conf.py

  Log Message:
  -----------
  [VPlan] Address remaining comments for #85689.

Address comments missed when landing
https://github.com/llvm/llvm-project/pull/85689.


  Commit: 117d755b1b84c7d379ea5c3d93f8c2ab9bfcde82
      https://github.com/llvm/llvm-project/commit/117d755b1b84c7d379ea5c3d93f8c2ab9bfcde82
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
    M llvm/test/CodeGen/PowerPC/pr44183.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll
    M llvm/test/CodeGen/X86/vector_splat-const-shift-of-constmasked.ll

  Log Message:
  -----------
  [DAG] SimplifyDemandedBits - use ComputeKnownBits instead of getValidShiftAmountConstant to check for constant shift amounts. (#92412)

This allows us to handle cases where the constant has already been type legalized behind a bitcast

Despite calling ComputeKnownBits I'm not seeing any notable change in compile time.


  Commit: 3abd3d6e597cba5161f37fa0478382fc93a8c9fd
      https://github.com/llvm/llvm-project/commit/3abd3d6e597cba5161f37fa0478382fc93a8c9fd
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [Libomptarget] Remove requires information from plugin (#80345)

Summary:
Currently this is only used for the zero-copy handling. However, this
can easily be moved into `libomptarget` so that we do not need to bother
setting the requires flags in the plugin. The advantage here is that we
no longer need to do this for every device redundently. Additionally,
these requires flags are specifically OpenMP related, so they should
live in `libomptarget`.


  Commit: b28766eb3f20354d1d7a34ea83b9d915c3715032
      https://github.com/llvm/llvm-project/commit/b28766eb3f20354d1d7a34ea83b9d915c3715032
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll

  Log Message:
  -----------
  [Arm64EC] Correctly handle sret in entry thunks. (#92326)

I accidentally left out the code to transfer sret attributes to entry
thunks, so values weren't being passed in the right registers, and the
sret pointer wasn't returned in the correct register.

Fixes #90229


  Commit: b82fd5d75cff87f7480a24d4a16ea8400cc35c86
      https://github.com/llvm/llvm-project/commit/b82fd5d75cff87f7480a24d4a16ea8400cc35c86
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h

  Log Message:
  -----------
  [GlobalISel] Initialize variables in IndexedLoadStoreMatchInfo


  Commit: e8692b88bec1d43325804d75166d9483d6c17fc7
      https://github.com/llvm/llvm-project/commit/e8692b88bec1d43325804d75166d9483d6c17fc7
  Author: Tim Besard <tim.besard at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Transforms/Internalize/lists.ll

  Log Message:
  -----------
  [NewPM] Add pass options for InternalizePass to preserve GVs (reland) (#92383)

Reland of https://github.com/llvm/llvm-project/pull/91334, which broke
the gcc7 buildbot and was reverted in
https://github.com/llvm/llvm-project/pull/92321.
Work around the failure by being explicit about returning an `Expected`.

cc @joker-eph


  Commit: ce67fcf15f4ffac00a715cf724bc72e37f063064
      https://github.com/llvm/llvm-project/commit/ce67fcf15f4ffac00a715cf724bc72e37f063064
  Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  Avoid unevaluated implicit private (#92055)

For every variable used under `#pragma omp task` directive
(`DeclRefExpr`) an ImplicitPrivateVariable is created in the AST, if
`private` or `shared` clauses are not present. If the variable has the
property of `non_odr_use_unevaluated` e.g. for statements which use
`sizeof( i )` `i` will have `non_odr_use_unevaluated` . In such cases
CodeGen was asserting by avoiding emitting of LLVM IR for such
variables. To prevent this assertion this checkin avoids adding the
ImplicitPrivateVariable for variables with `non_odr_use_unevaluated`.

---------

Authored-by: Sunil Kuravinakop <kuravina at pe28vega.us.cray.com>


  Commit: 033fa81480a7e8d0a6cf2f72b52232275145d105
      https://github.com/llvm/llvm-project/commit/033fa81480a7e8d0a6cf2f72b52232275145d105
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    R offload/include/Shared/PluginAPI.h
    R offload/include/Shared/PluginAPI.inc

  Log Message:
  -----------
  [Offload][NFC] Remove unused files following static plugins

Summary:
Forgot to remove these when I landed the initial patch, they are no
longer used.


  Commit: 224116ab9f4d97acb0cca76dc63c1d3d4a253078
      https://github.com/llvm/llvm-project/commit/224116ab9f4d97acb0cca76dc63c1d3d4a253078
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/AST/ast-dump-default-init-json.cpp
    M clang/test/AST/ast-dump-default-init.cpp
    M clang/test/Analysis/lifetime-extended-regions.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/special/class.temporary/p6.cpp
    M clang/test/SemaCXX/constexpr-default-arg.cpp
    M clang/test/SemaCXX/eval-crashes.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  Revert "[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (#87933)"

This reverts commit 17daa204feadf9c28fc13b7daa69c3cbe865b238.

Multiple examples on the PR
https://github.com/llvm/llvm-project/pull/87933

show regressions, so reverting until they can be fixed in the followup.


  Commit: bd6c358d01f6ebc3851996e2c29c47b08e992525
      https://github.com/llvm/llvm-project/commit/bd6c358d01f6ebc3851996e2c29c47b08e992525
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/tools/lldb-dap/package.json

  Log Message:
  -----------
  [lldb-dap] Update repository in package.json

Use https://github.com/llvm/vscode-lldb instead of the monorepo, for
consistency with the other two extensions (mlir, clangd).


  Commit: f03430f5e37e8eb64878dc538b05210adea2d80f
      https://github.com/llvm/llvm-project/commit/f03430f5e37e8eb64878dc538b05210adea2d80f
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/test/std/iterators/predef.iterators/iterators.common/arrow.pass.cpp

  Log Message:
  -----------
  [libc++] LWG3672: `common_iterator::operator->()` should return by value (#87899)

## Abstract

This pull request implements LWG3672: `common_iterator::operator->()`
should return by value. The current implementation specifies that this
function should return the underlying pointer by reference (`T*
const&`), but it would be more intuitive to return it by value (`T*`).

## Reference

- [Draft C++ Standard:
[common.iter.access]](https://eel.is/c++draft/common.iter.access)
- [LWG3672](https://cplusplus.github.io/LWG/issue3672)


  Commit: c7ae8c6639370ccbc583dca019bbb78761ce423d
      https://github.com/llvm/llvm-project/commit/c7ae8c6639370ccbc583dca019bbb78761ce423d
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
    M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py

  Log Message:
  -----------
  [lldb] Fixed the DAP tests in case of a remote target (#92416)

These tests are based on dap_server which runs locally. These tests
failed in case of Windows host and Linux target.


  Commit: 0dc80e4b2640f80a5b421e6e636d2a7243150917
      https://github.com/llvm/llvm-project/commit/0dc80e4b2640f80a5b421e6e636d2a7243150917
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/InstrProfWriter.cpp

  Log Message:
  -----------
  [memprof] Group MemProf data structures into a struct (NFC) (#92360)

This patch groups the three Memprof data structures into a struct
named IndexedMemProfData and teaches InstrProfWriter to use it.  This
way, we can pass IndexedMemProfData to writeMemProf and its helpers
instead of individual data structures.

As a follow-up, we can use the new struct in MemProfReader also.  That
in turn allows loadInput in llvm-profdata to move the MemProf data
into the writer context, saving a few seconds for a large MemProf
profile.


  Commit: 525bd66fc29fd056ef18118dfff3c9cc05fdd5e3
      https://github.com/llvm/llvm-project/commit/525bd66fc29fd056ef18118dfff3c9cc05fdd5e3
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/docs/index.rst
    A lldb/docs/resources/lldbdap.md
    M lldb/tools/lldb-dap/README.md

  Log Message:
  -----------
  [lldb-dap] Separate user and developer documentation (#92428)

The README.md is what users see when they look for the extension in the
Marketplace [1]. Right now, it's a mix of developer documentation (for
us) and user documentation. This commit moves the developer docs into
`docs` and the lldb website and refocuses the README on using the
extension.

[1] https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.lldb-dap


  Commit: 80a0a067fb8cc3122f53083fd2fe20f9d5dfc5bf
      https://github.com/llvm/llvm-project/commit/80a0a067fb8cc3122f53083fd2fe20f9d5dfc5bf
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for computing knownbits from `(icmp upred (add/sub nuw X, Y), C)`; NFC


  Commit: 05347f8c2fde0cde2fd12f1ec3611eeaf666ece0
      https://github.com/llvm/llvm-project/commit/05347f8c2fde0cde2fd12f1ec3611eeaf666ece0
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Compute knownbits from `(icmp upred (add/sub nuw X, Y), C)`

`(icmp ule/ult (add nuw X, Y), C)` implies both `(icmp ule/ult X, C)` and
`(icmp ule/ult Y, C)`. We can use this to deduce leading zeros in `X`/`Y`.

`(icmp uge/ugt (sub nuw X, Y), C)` implies `(icmp uge/uge X, C)` . We
can use this to deduce leading ones in `X`.

Proofs: https://alive2.llvm.org/ce/z/sc5k22

Closes #87180


  Commit: ebbf484e1c62a312d88c7f6482af11a58d40f52d
      https://github.com/llvm/llvm-project/commit/ebbf484e1c62a312d88c7f6482af11a58d40f52d
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/icmp-trunc.ll

  Log Message:
  -----------
  [InstCombine] Add tests for folding `(icmp pred (trunc nuw/nsw X), C)`; NFC


  Commit: 23f1047daac9702876ca99b53e8fe649fca569fa
      https://github.com/llvm/llvm-project/commit/23f1047daac9702876ca99b53e8fe649fca569fa
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-trunc.ll

  Log Message:
  -----------
  [InstCombine] Fold `(icmp pred (trunc nuw/nsw X), C)` -> `(icmp pred X, (zext/sext C))`

This is valid as long as the sign of the wrap flag doesn't differ from
the sign of the `pred`.

Proofs: https://alive2.llvm.org/ce/z/35NsrR

NB: The online Alive2 hasn't been updated with `trunc nuw/nsw`
support, so the proofs must be reproduced locally.

Closes #87935


  Commit: da928c6d6e0e2f619fdaef71cea8747d9aef188d
      https://github.com/llvm/llvm-project/commit/da928c6d6e0e2f619fdaef71cea8747d9aef188d
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ASTContext.cpp
    A clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p2.cpp

  Log Message:
  -----------
  [Clang][Sema] ASTContext::getUnconstrainedType propagates dependence (#92425)

When the argument passed to `ASTContext::getUnconstrainedType` is an
unconstrained `AutoType`, will return the argument unchanged. However,
when called with a constrained `AutoType`, an unconstrained,
non-dependent `AutoType` will be returned even if the argument was
dependent. Consider the following:
```
template<typename T>
concept C = sizeof(T) == sizeof(int);

template<auto N>
struct A;

template<C auto N>
struct A<N>; // error: class template partial specialization is not more specialized than the primary template
```
When comparing the template parameters for equivalence,
`ASTContext::getUnconstrainedType` is used to remove the constraints per
[temp.over.link] p6 sentence 2. For the template
parameter `N` of the class template, it returns a dependent `AutoType`.
For the template parameter `N` of the class template partial
specialization, it returns a non-dependent `AutoType`. We subsequently
compare the adjusted types and find they are not equivalent, thus we
consider the partial specialization to not be more specialized than the
primary template per [temp.func.order] p6.2.2.

This patch changes `ASTContext::getUnconstrainedType` such that the
dependence of a constrained `AutoType` will propagate to the returned
unconstrained `AutoType`. This causes the above example to be correctly
accepted, fixing #77377.


  Commit: 9a7f54ba4878c4e66c99430b52d8c014ab7b2a03
      https://github.com/llvm/llvm-project/commit/9a7f54ba4878c4e66c99430b52d8c014ab7b2a03
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/tools/clang-fuzzer/dictionary/dictionary.c

  Log Message:
  -----------
  [clang-fuzzer-dictionary] Skip EmptySpellingName after #89358

The dictionary entry `=""` is invalid.


  Commit: a383b3cca3383128123b33bc73ffc0199ec573e4
      https://github.com/llvm/llvm-project/commit/a383b3cca3383128123b33bc73ffc0199ec573e4
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaConcept.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD alias: Emit a more descriptive diagnostic message when is_deducible  constraint is evaluated to false. (#92389)

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


  Commit: 476f7f65f9f17fab7e78f395b83dcb7b0bbd5215
      https://github.com/llvm/llvm-project/commit/476f7f65f9f17fab7e78f395b83dcb7b0bbd5215
  Author: weltschildkroete <65237298+weltschildkroete at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaType.cpp
    M clang/test/SemaCXX/auto-cxx0x.cpp

  Log Message:
  -----------
  [clang][Sema] Emit more specific diagnostic for auto in lambda before C++14 (#46059) (#68540)

Namely, we specify that `auto` in a lambda parameter is a C++14
extension in the error message, which now reads:

`'auto' not allowed in lambda parameter before C++14`

This does not change the behavior for `decltype(auto)` and `__auto_type`
though.

---------

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


  Commit: 174cdeced0fe0da07a03d0d118bd70b93badfbb1
      https://github.com/llvm/llvm-project/commit/174cdeced0fe0da07a03d0d118bd70b93badfbb1
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Passes/PassBuilderPipelines.cpp

  Log Message:
  -----------
  [nfc] Clarify when the various PGO instrumentation passes run (#92330)

The code seems easier to read if it's centered on what the user wants rather than combinations of whatever internal variables.


  Commit: b5f6cc9eb4f661816ef264ad41cb703004380636
      https://github.com/llvm/llvm-project/commit/b5f6cc9eb4f661816ef264ad41cb703004380636
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/unittests/Support/ErrorTest.cpp

  Log Message:
  -----------
  Unittest for Error forwarding, follow-up to PR #92208 (#92314)

Added a unittest demonstrating Error -> Expected<T> forwarding.


  Commit: 9144553207052a868efc5a8ce61a0afbb0eaf236
      https://github.com/llvm/llvm-project/commit/9144553207052a868efc5a8ce61a0afbb0eaf236
  Author: Evgenii Stepanov <eugenis at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp

  Log Message:
  -----------
  Revert "[RISCV] Remove unneeded casts from int64_t to uint64_t in RISCVMatInt.cpp. NFC"

LLVM is built with C++17, where left shift of any negative value is still UB.
Detected with UBSan on the buildbot.

This reverts commit 0647d1035cb208195e002b38089b82004b6f7b92.


  Commit: f42f57b52dd279e6ae19270d063aeb8d59e3f11c
      https://github.com/llvm/llvm-project/commit/f42f57b52dd279e6ae19270d063aeb8d59e3f11c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp

  Log Message:
  -----------
  [Libomptarget] Rework Record & Replay to be a plugin member (#88928) (#89097)

Summary:
Previously, the R&R support was global state initialized by a global
constructor. This is bad because it prevents us from adequately
constraining the lifetime of the library. Additionally, we want to
minimize the amount of global state floating around.

This patch moves the R&R support into a plugin member like everything
else. This means there will be multiple copies of the R&R implementation
floating around, but this was already the case given the fact that we
currently handle everything with dynamic libraries.


  Commit: 9d0a8eda0baca51ce61fd5ce7c59864b2b57dcf8
      https://github.com/llvm/llvm-project/commit/9d0a8eda0baca51ce61fd5ce7c59864b2b57dcf8
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h

  Log Message:
  -----------
  [libc][NFC] Replace address space with constant GPU utility

Summary:
This was written before we had the address space helpers. Using
numerical address spaces is bad so this should be removed.


  Commit: 61565abcdc4d864a8c7aa7ad23ed441a3762b77d
      https://github.com/llvm/llvm-project/commit/61565abcdc4d864a8c7aa7ad23ed441a3762b77d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h

  Log Message:
  -----------
  [libc] Fix constant variable initializer


  Commit: 479f4a7b68a8b1eb8da7fc3f28638045eaa7dc25
      https://github.com/llvm/llvm-project/commit/479f4a7b68a8b1eb8da7fc3f28638045eaa7dc25
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [memprof] Update comments for writeMemProf and its helpers (#92446)

This patch adds comments for writeMemProf{V0,V1,V2} in a
version-specific manner.  The mostly repetitive nature of the comments
is somewhat unfortunate but intentional to make it easy to retire
older versions.

Without this patch, the comment just before writeMemProf documents the
Version1 format, which is very confusing.


  Commit: f05c068429a86ef2187eae094354c73e8339baa2
      https://github.com/llvm/llvm-project/commit/f05c068429a86ef2187eae094354c73e8339baa2
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [InstrProf] Remove unused argv in llvm-profdata.cpp (#92435)

https://github.com/llvm/llvm-project/pull/71328 refactored
`llvm-profdata.cpp` to use subcommands (which is super nice), but left
many unused `argv` variables. This opts to use `ProgName` where
necessary, and removes `argv` otherwise.


  Commit: 1ede503910d3133ea1af8c084fee96ca98c66464
      https://github.com/llvm/llvm-project/commit/1ede503910d3133ea1af8c084fee96ca98c66464
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
    M mlir/test/Dialect/Tensor/fold-tensor-subset-ops-into-vector-transfers.mlir

  Log Message:
  -----------
  [MLIR][Vector] Implement TransferReadOfExtractSliceOp as MaskableOpRewritePattern (#91960)

Split of https://github.com/llvm/llvm-project/pull/90835
Adds support for `TransferReadOfExtractSliceOpFolder` when the
`TransferReadOp` is inside a `MaskOp`.


  Commit: d311a62e2f1ae34a0329c3812f2969cedac93561
      https://github.com/llvm/llvm-project/commit/d311a62e2f1ae34a0329c3812f2969cedac93561
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp

  Log Message:
  -----------
  [ctx_profile] Decouple ctx  instrumentation from PGOOpt (#92445)

We currently don't support passing files and don't need frontend involvement either.


  Commit: 6d2219acabc1882508d695e23d444d3e1cae4ff3
      https://github.com/llvm/llvm-project/commit/6d2219acabc1882508d695e23d444d3e1cae4ff3
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/src/CMakeLists.txt

  Log Message:
  -----------
  [Libomptarget] Pass '-Werror=global-constructors' to the libomptarget build (#88531)

Summary:
A runtime library should not have global constructors. Everything is now
expected to go through the init methods. This patch ensures that global
constructors will not accidentally be introduced.


  Commit: 47d80ec1802d70082c8fd32b4396c98db2c4dba2
      https://github.com/llvm/llvm-project/commit/47d80ec1802d70082c8fd32b4396c98db2c4dba2
  Author: Jacob Lalonde <jjjlalonde at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Target/Process.cpp
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py

  Log Message:
  -----------
  [LLDB/Coredump] Only take the Pthread from stack start to the stackpointer + red_zone (#92002)

Currently in Core dumps, the entire pthread is copied, including the
unused space beyond the stack pointer. This causes large amounts of core
dump inflation when the number of threads is high, but the stack usage
is low. Such as when an application is using a thread pool.

This change will optimize for these situations in addition to generally
improving the core dump performance for all of lldb.


  Commit: e5e562361555fc96c768b1dd3dd99f403f500838
      https://github.com/llvm/llvm-project/commit/e5e562361555fc96c768b1dd3dd99f403f500838
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [bazel] Port #91960 (#92458)


  Commit: 997eae3673dcd635b60ac63031f01f5dded92f32
      https://github.com/llvm/llvm-project/commit/997eae3673dcd635b60ac63031f01f5dded92f32
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    A llvm/test/CodeGen/X86/big-array-init.ll

  Log Message:
  -----------
  [AsmPrinter] Increase upper bound for size in global structs

This is part of the fixes to address #57353

https://reviews.llvm.org/D133845

Pull Request: https://github.com/llvm/llvm-project/pull/92334


  Commit: c86a53d75995d65601d5745b2fceb2d50a970645
      https://github.com/llvm/llvm-project/commit/c86a53d75995d65601d5745b2fceb2d50a970645
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  [clang] Implement provisional wording for CWG2398 regarding packs (#90820)

This solves some ambuguity introduced in P0522 regarding how
template template parameters are partially ordered, and should reduce
the negative impact of enabling `-frelaxed-template-template-args`
by default.

When performing template argument deduction, a template template
parameter
containing no packs should be more specialized than one that does.

Given the following example:
```C++
template<class T2> struct A;
template<template<class ...T3s> class TT1, class T4> struct A<TT1<T4>>; // #1
template<template<class    T5 > class TT2, class T6> struct A<TT2<T6>>; // #2

template<class T1> struct B;
template struct A<B<char>>;
```

Prior to P0522, candidate `#2` would be more specialized.
After P0522, neither is more specialized, so this becomes ambiguous.
With this change, `#2` becomes more specialized again,
maintaining compatibility with pre-P0522 implementations.

The problem is that in P0522, candidates are at least as specialized
when matching packs to fixed-size lists both ways, whereas before,
a fixed-size list is more specialized.

This patch keeps the original behavior when checking template arguments
outside deduction, but restores this aspect of pre-P0522 matching
during deduction.

---

Since this changes provisional implementation of CWG2398 which has
not been released yet, and already contains a changelog entry,
we don't provide a changelog entry here.


  Commit: c79690040acf5bb3d857558b0878db47f7f23dc3
      https://github.com/llvm/llvm-project/commit/c79690040acf5bb3d857558b0878db47f7f23dc3
  Author: DianQK <dianqk at dianqk.net>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    A llvm/test/Transforms/GlobalOpt/alias-weak.ll

  Log Message:
  -----------
  [GlobalOpt] Don't replace aliasee with alias that has weak linkage (#91483)

Fixes #91312.

Don't perform the transform if the alias may be replaced at link time.


  Commit: e578314c049bb9ae6dc3983db5cf27513e29517b
      https://github.com/llvm/llvm-project/commit/e578314c049bb9ae6dc3983db5cf27513e29517b
  Author: Ryan Thomas Lynch <rlynch34 at gatech.edu>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/include/mlir/IR/CommonAttrConstraints.td

  Log Message:
  -----------
  [MLIR Attr] add ArrayMaxCount attribute constraint (#92453)

this is the dual of ArrayMinCount. I saw that I needed it but it didn't
exist yet


  Commit: 84abe0a6d4face73c15ed6344be74ae231f18718
      https://github.com/llvm/llvm-project/commit/84abe0a6d4face73c15ed6344be74ae231f18718
  Author: Dan Liew <delcypher at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.h

  Log Message:
  -----------
  [Bounds-Safety] Reserve slot in SanitizerHandler enum for Bounds-Safety (#91032)

Due to how `CodeGenFunction::EmitTrapCheck` is implemented
`SanitizerHandler` with numeric value 0x19 needs to be reserved because
`-fbounds-safety` generates trap instructions with that value embedded
in the trap instructions for x86_64 and arm64 just like for UBSan traps.

** x86_64 **

```
ud1l   0x19(%eax), %eax
```

** arm64 **

```
brk    #0x5519
```

To avoid upstream Clang and AppleClang diverging their ABIs for
`-fbounds-safety` the slot is being reserved in this patch.

`SanitizerHandler::BoundsSafety` currently has no uses in the code but
uses will be introduced when the CodeGen side of `-fbounds-safety`'s
implementation is upstreamed.

rdar://126884014

Co-authored-by: Dan Liew <dan at su-root.co.uk>


  Commit: d6f9278ae9e587d2d23a9940a2364aaafba74735
      https://github.com/llvm/llvm-project/commit/d6f9278ae9e587d2d23a9940a2364aaafba74735
  Author: James Y Knight <jyknight at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/atomic-non-integer-fp128.ll
    M llvm/test/CodeGen/X86/atomic-non-integer.ll
    A llvm/test/CodeGen/X86/atomic-unaligned.ll
    M llvm/test/CodeGen/X86/atomic-unordered.ll
    M llvm/test/CodeGen/X86/atomic128.ll
    M llvm/test/CodeGen/X86/cmpxchg-i128-i1.ll

  Log Message:
  -----------
  [X86] Use plain load/store instead of cmpxchg16b for atomics with AVX (#74275)

In late 2021, both Intel and AMD finally documented that every
AVX-capable CPU has always been guaranteed to execute aligned 16-byte
loads/stores atomically, and further, guaranteed that all future CPUs
with AVX will do so as well.

Therefore, we may use normal SSE 128-bit load/store instructions to
implement atomics, if AVX is enabled.

Per AMD64 Architecture Programmer's manual, 7.3.2 Access Atomicity:

> Processors that report [AVX] extend the atomicity for cacheable,
> naturally-aligned single loads or stores from a quadword to a double
> quadword.

Per Intel's SDM:

> Processors that enumerate support for Intel(R) AVX guarantee that the
> 16-byte memory operations performed by the following instructions will
> always be carried out atomically:
> - MOVAPD, MOVAPS, and MOVDQA.
> - VMOVAPD, VMOVAPS, and VMOVDQA when encoded with VEX.128.
> - VMOVAPD, VMOVAPS, VMOVDQA32, and VMOVDQA64 when encoded with
>   EVEX.128 and k0 (masking disabled).

This was also confirmed to be true for Zhaoxin CPUs with AVX, in
https://gcc.gnu.org/PR104688


  Commit: f88760f3118a106be847a8d5296931a8e44c72f8
      https://github.com/llvm/llvm-project/commit/f88760f3118a106be847a8d5296931a8e44c72f8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/TableGen/Record.h

  Log Message:
  -----------
  [TableGen] Remove unnecessary StringRef constructor call from LessRecord(). NFC

Record::getName already returns a StringRef. When this code was
originally written getName returned const std::string &.


  Commit: 2a4ee605b03bc69c296d0388239d9c837e787995
      https://github.com/llvm/llvm-project/commit/2a4ee605b03bc69c296d0388239d9c837e787995
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/TableGen/Record.cpp

  Log Message:
  -----------
  [TableGen] Use LessRecord() for the sort in getAllDerivedDefinitions instead of re-implementing it. NFC


  Commit: f210152e5fbcec1c50ff5ccc1f6680ab2c39b46f
      https://github.com/llvm/llvm-project/commit/f210152e5fbcec1c50ff5ccc1f6680ab2c39b46f
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] constrain `SemaCXX/cxx20-ctad-type-alias.cpp` target triple

The test expectations are otherwise affected by the underlying type of size_t.


  Commit: fe4d5f0d0e457a0a7dec2c7dc87996706b30a25e
      https://github.com/llvm/llvm-project/commit/fe4d5f0d0e457a0a7dec2c7dc87996706b30a25e
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] NFC: stray space cleanup


  Commit: fa9b1be45088dce1e4b602d451f118128b94237b
      https://github.com/llvm/llvm-project/commit/fa9b1be45088dce1e4b602d451f118128b94237b
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    A llvm/test/ThinLTO/X86/ref-ifunc.ll

  Log Message:
  -----------
  [ThinLTO]Mark referencers of local ifunc not eligible for import (#92431)

If an ifunc has local linkage, do not add it into ref edges and mark its
referencer (a function or global variable) not eligible for import. An
ifunc doesn't have summary and ThinLTO cannot promote it. Importing the
referencer may cause linkage errors.

To reference a similar fix, https://reviews.llvm.org/D158961 marks
callers of local ifunc not eligible for import to fix
https://github.com/llvm/llvm-project/issues/58740


  Commit: 96d2db4ba9016b4512e7cd27d7dfda209d07ce62
      https://github.com/llvm/llvm-project/commit/96d2db4ba9016b4512e7cd27d7dfda209d07ce62
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/libcall-extend.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit test for lib call auguments extension

Reviewed By: SixWeining

Pull Request: https://github.com/llvm/llvm-project/pull/92374


  Commit: 5a204a5f0a19417c1c0bd71834dee7ba129e6776
      https://github.com/llvm/llvm-project/commit/5a204a5f0a19417c1c0bd71834dee7ba129e6776
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
    M llvm/test/CodeGen/LoongArch/libcall-extend.ll
    M llvm/test/CodeGen/LoongArch/sextw-removal.ll
    M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll

  Log Message:
  -----------
  [LoongArch] Use sign extend for i32 arguments in makeLibCall on LA64

The 32 bits arguments and returns on LA64 are always sign extended to
i64. So we should be taking this into account around libcalls.

Reviewed By: heiher, SixWeining

Pull Request: https://github.com/llvm/llvm-project/pull/92375


  Commit: bf1d4172335689f62e4f7368446f0026c595330b
      https://github.com/llvm/llvm-project/commit/bf1d4172335689f62e4f7368446f0026c595330b
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
    M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
    M llvm/test/CodeGen/LoongArch/libcall-extend.ll
    M llvm/test/CodeGen/LoongArch/sextw-removal.ll
    M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll

  Log Message:
  -----------
  [LoongArch] Suppress the unnecessary extensions for arguments in makeLibCall

Reviewed By: SixWeining, heiher

Pull Request: https://github.com/llvm/llvm-project/pull/92376


  Commit: 8fe39e64c0ef0a1aefce3c1187c5822343caeedd
      https://github.com/llvm/llvm-project/commit/8fe39e64c0ef0a1aefce3c1187c5822343caeedd
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [clang-format] Don't always break before << between string literals (#92214)

Instead, leave the line wrapping as is.

Fixes #43887.
Fixes #44363.


  Commit: 88d351e2e62d2ff291f3e6dea6b7e425f683285b
      https://github.com/llvm/llvm-project/commit/88d351e2e62d2ff291f3e6dea6b7e425f683285b
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Fix a regression in annotating struct braces (#92352)

Fixes #92350.


  Commit: ebf283162f5a0e7e9392c3a825e060856eee0991
      https://github.com/llvm/llvm-project/commit/ebf283162f5a0e7e9392c3a825e060856eee0991
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/bindings/CMakeLists.txt
    M lldb/bindings/headers.swig
    M lldb/bindings/interfaces.swig

  Log Message:
  -----------
  [lldb] Include SBLanguages in the SWIG bindings (#92470)


  Commit: 552927840319572a649cdec2d8bf2e688a5df490
      https://github.com/llvm/llvm-project/commit/552927840319572a649cdec2d8bf2e688a5df490
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/bindings/CMakeLists.txt
    M lldb/bindings/headers.swig
    M lldb/bindings/interfaces.swig

  Log Message:
  -----------
  Revert "[lldb] Include SBLanguages in the SWIG bindings" (#92490)

Reverts llvm/llvm-project#92470


  Commit: 9f15aa009c36d2c108f0f2d09c2e9b283ebc4453
      https://github.com/llvm/llvm-project/commit/9f15aa009c36d2c108f0f2d09c2e9b283ebc4453
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp

  Log Message:
  -----------
  [BOLT][NFC] Rename DataAggregator::BranchInfo to TakenBranchInfo

Align the name to its counterpart `FTInfo` which avoids name aliasing
with llvm::bolt::BranchInfo and allows to drop namespace specifier.

Test Plan: NFC

Reviewers: maksfb, rafaelauler, ayermolo, dcci

Reviewed By: dcci

Pull Request: https://github.com/llvm/llvm-project/pull/92017


  Commit: c33922666ce219fd6cb3341c3394f72050599552
      https://github.com/llvm/llvm-project/commit/c33922666ce219fd6cb3341c3394f72050599552
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Target/PathMappingList.cpp

  Log Message:
  -----------
  [lldb] Use operator==(StringRef, StringRef) instead of StringRef::equals (NFC) (#92476)

Note that StringRef::equals has been deprecated in favor of
operator==(StringRef, StringRef).


  Commit: 5d8354c009d5625fa140be47de1f91275f4698d3
      https://github.com/llvm/llvm-project/commit/5d8354c009d5625fa140be47de1f91275f4698d3
  Author: harishch4 <harishcse44 at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/lib/Lower/DirectivesCommon.h
    M flang/test/Lower/OpenMP/atomic-write.f90

  Log Message:
  -----------
  [Flang][OpenMP]Missing convert to lhsType in atomic write (#92346)

Fixes test.f90 in #83144.

This issue is observed only when a boolean constant is assigned to a
logical variable. In non-openmp flow, a conversion op is inserted before
assigning it to a logical variable. This patch will insert a fir.convert
operation when the types are not the same, before generating the atomic
write operation.

I've proposed another patch(#85059 ) which removes checks at MLIR level
and looks like it's too permissive. I'm planning to abandon this patch
and address it here.


  Commit: d395b56a52e9809ec3ea1139f5b30698c9f4e247
      https://github.com/llvm/llvm-project/commit/d395b56a52e9809ec3ea1139f5b30698c9f4e247
  Author: Pavel Samolysov <samolisov at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
    M llvm/test/ExecutionEngine/JITLink/AArch64/ELF_relocations.s

  Log Message:
  -----------
  [JITLink][AArch64] Implement R_AARCH64_LDR_PREL_LO19 (#82172)

This relocation is used for the 32-bit aligned 21-bit immediate in LDR
Literal instructions.


  Commit: aaa8a8000009890b79effb0d0f3c6f989a3d5563
      https://github.com/llvm/llvm-project/commit/aaa8a8000009890b79effb0d0f3c6f989a3d5563
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp

  Log Message:
  -----------
  [CodeGen] Use operator==(StringRef, StringRef) (NFC)

The LHS and RHS are of SmallString and StringRef, respectively.  We
can safely use operator==(StringRef, SringRef) with one implicit
conversion from SmallString to StringRef.


  Commit: a26fbf36a78a703be2da0744131a8d6ecbdb7c67
      https://github.com/llvm/llvm-project/commit/a26fbf36a78a703be2da0744131a8d6ecbdb7c67
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaDeclAttr.cpp

  Log Message:
  -----------
  [Sema] Use SmallString::empty (NFC)


  Commit: f4066fa2dd21c65bf0e24a479634c9a2d276cf8e
      https://github.com/llvm/llvm-project/commit/f4066fa2dd21c65bf0e24a479634c9a2d276cf8e
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Lex/LiteralSupport.h
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/AST/const-fpfeatures.c
    M clang/test/AST/const-fpfeatures.cpp

  Log Message:
  -----------
  [clang] Use constant rounding mode for floating literals (#90877)

Conversion of floating-point literal to binary representation must be
made using constant rounding mode, which can be changed using pragma
FENV_ROUND. For example, the literal "0.1F" should be representes by
either 0.099999994 or 0.100000001 depending on the rounding direction.


  Commit: 14030d71693b046784ff19cc157074e4db23e74f
      https://github.com/llvm/llvm-project/commit/14030d71693b046784ff19cc157074e4db23e74f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp

  Log Message:
  -----------
  [llvm] Drop explicit conversions of string literals to StringRef (NFC)

We routinely rely on implicit conversions of string literals to
StringRef so that we can use operator==(StringRef, StringRef).


  Commit: f71749c5ef8667e3fc23820e8e94864653ea9ac9
      https://github.com/llvm/llvm-project/commit/f71749c5ef8667e3fc23820e8e94864653ea9ac9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [clang] Drop explicit conversions of string literals to StringRef (NFC)

We routinely rely on implicit conversions of string literals to
StringRef so that we can use operator==(StringRef, StringRef).

The LHS here are all known to be of StringRef.


  Commit: 9bffe790499e99a4110a33988100ba45835e905e
      https://github.com/llvm/llvm-project/commit/9bffe790499e99a4110a33988100ba45835e905e
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  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/GlobalISel/combine-select.mir

  Log Message:
  -----------
  [GlobalIsel] Speedup select to integer min/max (#92378)

https://github.com/llvm/llvm-project/issues/92309


  Commit: bc9823cf60bf91cc8b45248c4205cd2c67b2a3d5
      https://github.com/llvm/llvm-project/commit/bc9823cf60bf91cc8b45248c4205cd2c67b2a3d5
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [X86][BF16] Change MVT to EVT in combineFP_EXTEND

Fixes: #92471


  Commit: f43deca2538b717f5669ce8116cc4c040bde87c8
      https://github.com/llvm/llvm-project/commit/f43deca2538b717f5669ce8116cc4c040bde87c8
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir

  Log Message:
  -----------
  Fix Tan inaccuracies on extreme complex inputs. (#92443)

Specifically, those with small/large absolute values. This ports
https://github.com/openxla/xla/pull/10525 and was verified with XLA's
test suite.


  Commit: 5b7088c3619e95eaa8e154765470ddb4d3859fa4
      https://github.com/llvm/llvm-project/commit/5b7088c3619e95eaa8e154765470ddb4d3859fa4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Analysis/TargetLibraryInfo.cpp

  Log Message:
  -----------
  TargetLibraryInfo: Assume no libcalls in the default constructor (#92400)

The only tricky point here is PlaceSafepoints has an awful hack where
it's creating a legacy PassManager inside it's runImpl, which was not
propagating the incoming TLI. This means there's an implicit bug fix,
where PlaceSafepoints would have been treating too many calls as
builtins.

I'm trying to delete the default constructor altogether, but this seems
to be more difficult.


  Commit: 37d00635c4ff1b656a49635e826aeff8063dc1e8
      https://github.com/llvm/llvm-project/commit/37d00635c4ff1b656a49635e826aeff8063dc1e8
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/phi-insert-point.ll

  Log Message:
  -----------
  [SPIR-V] Ensure that internal intrinsic functions for PHI's operand are inserted at the correct positions (#92316)

This PR is to ensure that internal intrinsic functions for PHI's operand
are inserted at the correct positions and don't break rules of
instruction domination and PHI nodes grouping at top of basic block.


  Commit: e0a293d12f3fe1c2a284e2e116cfa77d894da49f
      https://github.com/llvm/llvm-project/commit/e0a293d12f3fe1c2a284e2e116cfa77d894da49f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [mlir] Fix a warning

This patch fixes:

  mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp:964:26:
  error: missing 'typename' prior to dependent type name Op::Adaptor;
  implicit 'typename' is a C++20 extension
  [-Werror,-Wc++20-extensions]


  Commit: b27eb0ae8280675fc8fb249d39f1ccafa3ee2187
      https://github.com/llvm/llvm-project/commit/b27eb0ae8280675fc8fb249d39f1ccafa3ee2187
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lldb/test/API/functionalities/completion/TestCompletion.py

  Log Message:
  -----------
  [lldb] Avoid modifying the source tree in TestCompletion.py

This was a side-effect of the "optimization" in #92281. Deoptimize the
code slightly.


  Commit: c4bac7f7dcd931a5e561604e95656a24c3d1c9d9
      https://github.com/llvm/llvm-project/commit/c4bac7f7dcd931a5e561604e95656a24c3d1c9d9
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
    A llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll

  Log Message:
  -----------
  [LLVM][AArch64]Use load/store with consecutive registers in SME2 or S… (#77665)

…VE2.1 for spill/fill

When possible the spill/fill register in Frame Lowering uses the ld/st
consecutive pairs available in sme or sve2.1.


  Commit: 5a20a07fce88d54cf01cafde489bfc2fc447acc0
      https://github.com/llvm/llvm-project/commit/5a20a07fce88d54cf01cafde489bfc2fc447acc0
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  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:3084:31:
error: unused variable 'Subtarget' [-Werror,-Wunused-variable]
      const AArch64Subtarget &Subtarget = MF.getSubtarget<AArch64Subtarget>();
                              ^
llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:3253:31:
error: unused variable 'Subtarget' [-Werror,-Wunused-variable]
      const AArch64Subtarget &Subtarget = MF.getSubtarget<AArch64Subtarget>();
                              ^
2 errors generated.


  Commit: ee54c86ef70d7809e7d67cd44de2d3153b31c46e
      https://github.com/llvm/llvm-project/commit/ee54c86ef70d7809e7d67cd44de2d3153b31c46e
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Basic/SourceManager.h
    M clang/lib/Basic/SourceManager.cpp

  Log Message:
  -----------
  [clang][NFC] Improve const-correctness in `SourceManager` (#92436)

This patch adds several const-qualified variants of existing member
functions to `SourceManager`.
I started with removing const qualification from
`setNumCreatedFIDsForFileID`, and removing `const_cast` in the body of
this function, as I think it doesn't make sense to const-qualify
setters.


  Commit: 33bf08ec36efc2fc2df8217eddd751cef9bc6be6
      https://github.com/llvm/llvm-project/commit/33bf08ec36efc2fc2df8217eddd751cef9bc6be6
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    A lldb/test/API/tools/lldb-dap/repl-mode/Makefile
    A lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
    A lldb/test/API/tools/lldb-dap/repl-mode/main.cpp
    M lldb/tools/lldb-dap/DAP.cpp

  Log Message:
  -----------
  [lldb-dap] Correctly detect alias commands with arguments in repl (#92137)

ResolveCommand will not succeed for an alias command with arguments, and
the code wasn't providing any. Replace that with explicit query(ies) for
the existence of a command with the given name.


  Commit: 7a6747939218efbe3b1d2cc0f896dfa97c0ff40f
      https://github.com/llvm/llvm-project/commit/7a6747939218efbe3b1d2cc0f896dfa97c0ff40f
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/test/ExtractAPI/class_template.cpp
    M clang/test/ExtractAPI/class_template_param_inheritance.cpp
    M clang/test/ExtractAPI/class_template_partial_spec.cpp
    M clang/test/ExtractAPI/class_template_spec.cpp
    M clang/test/ExtractAPI/concept.cpp
    M clang/test/ExtractAPI/field_template.cpp
    M clang/test/ExtractAPI/global_func_template.cpp
    M clang/test/ExtractAPI/global_func_template_spec.cpp
    M clang/test/ExtractAPI/global_var_template.cpp
    M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
    M clang/test/ExtractAPI/global_var_template_spec.cpp
    M clang/test/ExtractAPI/method_template.cpp
    M clang/test/ExtractAPI/method_template_spec.cpp
    A clang/test/ExtractAPI/non_type_template.cpp

  Log Message:
  -----------
  [clang][ExtractAPI] Correctly generate declaration fragments for non-type template parameters (#91958)

Previously we only generated declaration fragments for template type
parameters/arguments, this adds supports for most other possible
template parameters/arguments.

rdar://127732598


  Commit: b6fa78d54cf761b232b00222a39fbfe974cb8a16
      https://github.com/llvm/llvm-project/commit/b6fa78d54cf761b232b00222a39fbfe974cb8a16
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp

  Log Message:
  -----------
  [LAA] refactor sortPtrAccesses (NFC) (#92256)

Use the destructuring syntax in C++ and llvm::enumerate to make
sortPtrAccesses a little more readable.


  Commit: 2ed8ff3bf84e682b7c6ae9ad6370db629166653c
      https://github.com/llvm/llvm-project/commit/2ed8ff3bf84e682b7c6ae9ad6370db629166653c
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/builtin_alloca.ll

  Log Message:
  -----------
  [SPIR-V] Fix types of internal intrinsic functions and add a test case for __builtin_alloca() (#92265)

This PR generation of argument types of internal intrinsic functions
`spv_const_composite` and `spv_track_constant`, so that composite
constants of ConstantVector type preserve their correct type in
transformation passes and can be successfully used further by LLVM
intrinsic functions.

The added test case serves two purposes: it is to check the above
mentioned fix and to demonstrate that a call to __builtin_alloca() maps
to instructions from SPV_INTEL_variable_length_array when this extension
is available.


  Commit: e3e06135eb16a1b9d84796a6cbb14cac1c1cf543
      https://github.com/llvm/llvm-project/commit/e3e06135eb16a1b9d84796a6cbb14cac1c1cf543
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll

  Log Message:
  -----------
  [SPIR-V] Ensure that we don't have a dangling BlockAddress constants after internal intrinsic 'spv_switch' is processed (#92390)

After internal intrinsic 'spv_switch' is processed we need to delete
G_BLOCK_ADDR instructions that were generated to keep track of the
corresponding basic blocks. If we just delete G_BLOCK_ADDR instructions
with BlockAddress operands, this leaves their BasicBlock counterparts in
a "address taken" status. This would make AsmPrinter to generate a
series of unneeded labels of a `"Address of block that was removed by
CodeGen"` kind. This PR is to ensure that we don't have a dangling
BlockAddress constants by zapping the BlockAddress nodes, and only after
that proceed with erasing G_BLOCK_ADDR instructions.

See also https://github.com/llvm/llvm-project/pull/87823 for more
details.


  Commit: 7c16e7d9cd37d7d1162866c5ac29fe4ab2e24a5a
      https://github.com/llvm/llvm-project/commit/7c16e7d9cd37d7d1162866c5ac29fe4ab2e24a5a
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp

  Log Message:
  -----------
  [flang][NFC] Use tablegen to reduce AddAliasTags boilerplate (#92373)

I will make this pass run properly on more top-level operations in a
follow up patch.


  Commit: d0e2808f806ece6d2aa8d359a700afab87ded16b
      https://github.com/llvm/llvm-project/commit/d0e2808f806ece6d2aa8d359a700afab87ded16b
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    A llvm/test/Transforms/LoopLoadElim/update-debugloc-store-forwarded.ll

  Log Message:
  -----------
  [DebugInfo][LoopLoadElim] Fix missing debug location updates (#91839)


  Commit: 698cf0176b3146993134354b02c9a67352d9d27e
      https://github.com/llvm/llvm-project/commit/698cf0176b3146993134354b02c9a67352d9d27e
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    A llvm/test/CodeGen/NVPTX/i1-array-global.ll

  Log Message:
  -----------
  Fix i1 array global crash in NVPTXAsmPrinter. (#92506)

See the test file. At head, this crashes with

```
assertion failed at llvm/lib/Support/APInt.cpp:492 in
uint64_t llvm::APInt::extractBitsAsZExtValue(unsigned int, unsigned int) const:
  bitPosition < BitWidth && (numBits + bitPosition) <= BitWidth &&
  "Illegal bit extraction"
```


  Commit: c93b45aaee62700f61ddc366d971bde594459324
      https://github.com/llvm/llvm-project/commit/c93b45aaee62700f61ddc366d971bde594459324
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Reword in-memory tile warning (NFC) (#92415)

It did not make sense that this said "all tile operations will go
through memory". Only the operations where the warning is emitted will
go through memory. The message has been updated to reflect that.


  Commit: bbe40b9e0a24605e0526475e643312839772294f
      https://github.com/llvm/llvm-project/commit/bbe40b9e0a24605e0526475e643312839772294f
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/MC/MCSectionELF.cpp
    M llvm/test/MC/ELF/section-numeric-invalid-type.s

  Log Message:
  -----------
  [MCAsmStreamer] Do not crash on switching to sections of unknown types (#92380)

MCObjectStreamer already accepts unknown types.


  Commit: 4349ffb3fa268dba180b7c65fdce20a0be60272b
      https://github.com/llvm/llvm-project/commit/4349ffb3fa268dba180b7c65fdce20a0be60272b
  Author: David Green <david.green at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/selectopt-not.ll

  Log Message:
  -----------
  [SelectOpt] Add tests for not select conditions. NFC


  Commit: 37c6b9ff7245a76056ca3363bdef4e593e7e6c9d
      https://github.com/llvm/llvm-project/commit/37c6b9ff7245a76056ca3363bdef4e593e7e6c9d
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/AliasSetTracker.h
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp

  Log Message:
  -----------
  [NFC][LLVM] Mainly whitespace changes.

Also marks AliasSetTracker::size() as const.


  Commit: 58bad2862cf136f9483eb005bbfa6915d459b46d
      https://github.com/llvm/llvm-project/commit/58bad2862cf136f9483eb005bbfa6915d459b46d
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
    M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
    M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
    M clang/unittests/StaticAnalyzer/ConflictingEvalCallsTest.cpp
    M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
    M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
    M clang/unittests/StaticAnalyzer/NoStateChangeFuncVisitorTest.cpp

  Log Message:
  -----------
  [analyzer][NFC] Require explicit matching mode for CallDescriptions (#92454)

This commit deletes the "simple" constructor of `CallDescription` which
did not require a `CallDescription::Mode` argument and always used the
"wildcard" mode `CDM::Unspecified`.

A few months ago, this vague matching mode was used by many checkers,
which caused bugs like https://github.com/llvm/llvm-project/issues/81597
and https://github.com/llvm/llvm-project/issues/88181. Since then, my
commits improved the available matching modes and ensured that all
checkers explicitly specify the right matching mode.

After those commits, the only remaining references to the "simple"
constructor were some unit tests; this commit updates them to use an
explicitly specified matching mode (often `CDM::SimpleFunc`).

The mode `CDM::Unspecified` was not deleted in this commit because it's
still a reasonable choice in `GenericTaintChecker` and a few unit tests.


  Commit: ddb87e0f96c7d23b9b824fa9e2710c0fe11bb86b
      https://github.com/llvm/llvm-project/commit/ddb87e0f96c7d23b9b824fa9e2710c0fe11bb86b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll

  Log Message:
  -----------
  SystemZ: Use REG_SEQUENCE for PAIR128 (#90640)

PAIR128 should probably just be removed entirely

Depends #90638


  Commit: 1e7d047c71ce0a8076f774b9106cd7a499a1c542
      https://github.com/llvm/llvm-project/commit/1e7d047c71ce0a8076f774b9106cd7a499a1c542
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll

  Log Message:
  -----------
  [VPlan] Mark LoopInfo preserved in native-path as well (NFC).

LoopInfo is updated during VPlan execution now, so it will also be
updated correctly in the native path.


  Commit: ac092925c3fa61144e606c7a9d0d375b96e1abda
      https://github.com/llvm/llvm-project/commit/ac092925c3fa61144e606c7a9d0d375b96e1abda
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/AMDGPU/cttz.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll

  Log Message:
  -----------
  [SelectionDAG] Widen cttz to cttz_zero_undef (#92514)

Instead of widening e.g. i8 cttz(x) to i16 cttz(x | 0x100), use the more
optimizable form cttz_zero_undef(x | 0x100) since the widened operand is
definitely not zero.


  Commit: d1cff36e5e37cd552ec049335feb1dd8f94517ea
      https://github.com/llvm/llvm-project/commit/d1cff36e5e37cd552ec049335feb1dd8f94517ea
  Author: Andi Drebes <47449897+andidr at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
    M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp

  Log Message:
  -----------
  [MLIR][analysis] Lattice: Fix automatic delegation of meet to lattice value classes (#82620)

The class `Lattice` should automatically delegate invocations of the
meet operator to the meet operation of the associated lattice value
class if that class provides a static function called `meet`. This
process fails for two reasons:

1. `Lattice::has_meet` checks for a member function `meet` without
arguments of the lattice value class, although it should check for a
static member function.

2. The function template `Lattice::meet<VT>()` implementing the default
meet operation directly in the lattice is always present and takes
precedence over the delegating function template `Lattice::meet<VT,
std::integral_constant<bool, true>>()`.

This change fixes the automatic delegation of the meet operation of a
lattice to the lattice value class in the presence of a static `meet`
function by conditionally enabling either the delegating function
template or the non-delegating function template and by changing
`Lattice::has_meet` so that it checks for a static `meet` member
function in the lattice value type.

The test from `TestSparseBackwardDataFlowAnalysis.cpp` is changed, such
that the `meet` function is not provided directly in the `WrittenTo`
lattice, but by the `Lattice` base class in order to trigger delegation
to a lattice value class.


  Commit: a2590e0c145c56928a8870d9a6ea76ccbf4fcfeb
      https://github.com/llvm/llvm-project/commit/a2590e0c145c56928a8870d9a6ea76ccbf4fcfeb
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/OneToNTypeConversion.h
    M mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
    M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Make 1:N function conversion pattern interface-based (#92395)

This commit turns the 1:N dialect conversion pattern for function
signatures into a pattern for `FunctionOpInterface`. This is similar to
the interface-based pattern that is provided with the 1:1 dialect
conversion (`populateFunctionOpInterfaceTypeConversionPattern`). No
change in functionality apart from supporting all `FunctionOpInterface`
ops and not just `func::FuncOp`.


  Commit: 98deedae929fce01f0c40d5a55d00e93fb121981
      https://github.com/llvm/llvm-project/commit/98deedae929fce01f0c40d5a55d00e93fb121981
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [X86][CodeGen] Use switch-case for transform in X86DAGToDAGISel::PostprocessISelDAG, NFCI

This is to simplify code for #91747


  Commit: 0ad275c1588065c9f4ef45a6a88f062182ad446b
      https://github.com/llvm/llvm-project/commit/0ad275c1588065c9f4ef45a6a88f062182ad446b
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/vector-logical-reductions.ll
    M llvm/test/Transforms/InstCombine/vector-reductions.ll

  Log Message:
  -----------
  [InstCombine] Fold vector.reduce.op(vector.reverse(X)) -> vector.reduce.op(X) (#91743)

For all of the following reductions:

vector.reduce.or
vector.reduce.and
vector.reduce.xor
vector.reduce.add
vector.reduce.mul
vector.reduce.umin
vector.reduce.umax
vector.reduce.smin
vector.reduce.smax
vector.reduce.fmin
vector.reduce.fmax

if the input operand is the result of a vector.reverse then we can
perform a reduction on the vector.reverse input instead since the answer
is the same. If the reassociation is permitted we can also do the same
folds for these:

vector.reduce.fadd
vector.reduce.fmul


  Commit: a68d20e986053ec571223a9f3ead3e146a27dc82
      https://github.com/llvm/llvm-project/commit/a68d20e986053ec571223a9f3ead3e146a27dc82
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/SemaCXX/cxx-deprecated.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Implement CWG2428 "Deprecating a concept" (#92295)

This patch allows attributes to be attached to C++20 concepts,
implementing
[CWG2428](https://cplusplus.github.io/CWG/issues/2428.html).


  Commit: 371eccd5dfed88c8e76449233d8388c12be3464b
      https://github.com/llvm/llvm-project/commit/371eccd5dfed88c8e76449233d8388c12be3464b
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang-tools-extra/clang-query/CMakeLists.txt
    M clang-tools-extra/clang-query/Query.cpp
    M clang-tools-extra/clang-query/Query.h
    M clang-tools-extra/clang-query/QueryParser.cpp
    M clang-tools-extra/clang-query/QuerySession.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
    M clang/docs/tools/clang-formatted-files.txt
    R clang/include/clang/Tooling/NodeIntrospection.h
    M clang/lib/Tooling/CMakeLists.txt
    R clang/lib/Tooling/DumpTool/APIData.h
    R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.cpp
    R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.h
    R clang/lib/Tooling/DumpTool/CMakeLists.txt
    R clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
    R clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
    R clang/lib/Tooling/EmptyNodeIntrospection.inc.in
    R clang/lib/Tooling/NodeIntrospection.cpp
    M clang/unittests/CMakeLists.txt
    R clang/unittests/Introspection/CMakeLists.txt
    R clang/unittests/Introspection/IntrospectionTest.cpp
    M llvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
    R llvm/utils/gn/secondary/clang/lib/Tooling/DumpTool/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
    R llvm/utils/gn/secondary/clang/unittests/Introspection/BUILD.gn

  Log Message:
  -----------
  [clang-query] Remove support for srcloc output (#92442)

This functionality was added about three years ago, but has been in a
significantly broken state since it was added. It has begun to cause a
maintenance burden for work in Clang (largely due to the complexity of
having two levels of code generation involved), and the original author
is unable to help maintain it. Because it only worked under limited
circumstances and because of the maintenance burden, it is being
removed. If someone wishes to resurrect the functionality, they should
hopefully be able to do so from this one commit.

Fixes #82591


  Commit: f5c8242042c959cbf476778e1d8a874fc8747801
      https://github.com/llvm/llvm-project/commit/f5c8242042c959cbf476778e1d8a874fc8747801
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    A llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int16.ll

  Log Message:
  -----------
  SimplifyLibCalls: Prefer to emit intrinsic in pow(2, x) -> ldexp(1, x) (#92363)


  Commit: 3a32590f25482e283a79dea1f313a226a6dd392f
      https://github.com/llvm/llvm-project/commit/3a32590f25482e283a79dea1f313a226a6dd392f
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll

  Log Message:
  -----------
  [AArch64] Avoid using NEON FCVTXN in Streaming-SVE mode. (#91981)


  Commit: 932ca85680db5e4579306f37e55746097fb8ec7f
      https://github.com/llvm/llvm-project/commit/932ca85680db5e4579306f37e55746097fb8ec7f
  Author: Romaric Jodin <89833130+rjodinchr at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CodeGenFunction.cpp
    A clang/test/CodeGen/clspv_libclc_builtin.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M libclc/generic/include/clc/clcfunc.h

  Log Message:
  -----------
  libclc: remove __attribute__((assume)) for clspv targets (#92126)

Instead add a proper attribute in clang, and add convert it to function
metadata to keep the information in the IR. The goal is to remove the
dependency on __attribute__((assume)) that should have not be there in
the first place.

Ref https://github.com/llvm/llvm-project/pull/84934


  Commit: 9917f3ce641490ff95a11d22e37754a972c05420
      https://github.com/llvm/llvm-project/commit/9917f3ce641490ff95a11d22e37754a972c05420
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
    M clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
    M clang/test/Sema/aarch64-sme2p1-diagnostics.c

  Log Message:
  -----------
  [Clang][AArch64] Require SVE or SSVE for scalable types. (#91356)

Scalable types are only available when:
* The function is compiled with +sve
* The function is compiled with +sme and the function is executed in
Streaming-SVE mode.


  Commit: f39af73f3edcc949bf9dc3535effc59afbcdda22
      https://github.com/llvm/llvm-project/commit/f39af73f3edcc949bf9dc3535effc59afbcdda22
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Sema/bool-compare.c
    M clang/test/Sema/parentheses.cpp
    M clang/test/SemaCXX/bool-compare.cpp
    M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
    M clang/test/SemaTemplate/typo-dependent-name.cpp
    M clang/test/SemaTemplate/typo-template-name.cpp

  Log Message:
  -----------
  [clang][Sema] Warn consecutive builtin comparisons in an expression (#92200)

Add warning under `-Wparentheses` for consistency with `gcc 14.1`.

Closes #20456

---------

Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


  Commit: b1161b2a40d89d4146f6b81fda073a37479edf0f
      https://github.com/llvm/llvm-project/commit/b1161b2a40d89d4146f6b81fda073a37479edf0f
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/test/Semantics/OpenMP/nested-distribute.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix semantics check for nested DISTRIBUTE (#91592)

Composite OpenMP constructs where DISTRIBUTE is the first leaf
construct, as well as standalone DISTRIBUTE constructs, are allowed
inside of TEAMS regions.

Before this patch, nesting a DISTRIBUTE construct inside of a combined
TARGET TEAMS construct was disallowed, which it shouldn't be. Now both
TEAMS and TARGET TEAMS constructs can be immediate parents of DISTRIBUTE
constructs.


  Commit: a43d2f686a46fd9d971aa65fde4563375e16f3de
      https://github.com/llvm/llvm-project/commit/a43d2f686a46fd9d971aa65fde4563375e16f3de
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.h

  Log Message:
  -----------
  [Flang][OpenMP] NFC: Fix typo in include guard (#91593)


  Commit: 502ccd81c6bcf913d2eddf9ed24496a9a634e808
      https://github.com/llvm/llvm-project/commit/502ccd81c6bcf913d2eddf9ed24496a9a634e808
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [MLIR][OpenMP] NFC: Remove redundant check (#91594)

The check removed by this patch in the OpenMP to LLVM IR translation
pass already exists as part of the op verifier for `omp.loop_nest`.


  Commit: d3d5a30021b8df26ac4b2b01e659ab8487fb4080
      https://github.com/llvm/llvm-project/commit/d3d5a30021b8df26ac4b2b01e659ab8487fb4080
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/Parser.cpp

  Log Message:
  -----------
  [clang][NFC] Remove `const_cast` from `ParseClassSpecifier`


  Commit: 89b83d2d3f2ae7b806987143167e8ccb79c6d674
      https://github.com/llvm/llvm-project/commit/89b83d2d3f2ae7b806987143167e8ccb79c6d674
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/issue-subscriber.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-request-release-note.yml
    M .github/workflows/pr-subscriber.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/version-check.yml
    M llvm/utils/git/requirements.txt

  Log Message:
  -----------
  [git] Add hashes to requirements.txt for extra security (#92305)

https://pip.pypa.io/en/stable/topics/secure-installs/


  Commit: 6677aef28583526c65073bd2406ca1246a41c2a8
      https://github.com/llvm/llvm-project/commit/6677aef28583526c65073bd2406ca1246a41c2a8
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/Sema/SemaTemplate.cpp

  Log Message:
  -----------
  [clang][NFC] Remove const-qualification from `FunctionTemplateSpecializationInfo::TemplateArguments` (#92500)

This patch remove const-qualification from pointee type of
`FunctionTemplateSpecializationInfo::TemplateArguments`, because it's
(eventually) used to initialize `MultiLevelTemplateArgumentList`, which
can actually mutate the arguments via

https://github.com/llvm/llvm-project/blob/f42f57b52dd279e6ae19270d063aeb8d59e3f11c/clang/include/clang/Sema/Template.h#L197-L204
Mutation seems to be required to correctly handle packs:

https://github.com/llvm/llvm-project/blob/9144553207052a868efc5a8ce61a0afbb0eaf236/clang/lib/Sema/SemaTemplateInstantiate.cpp#L1440-L1469


  Commit: a0cc1ab97888ea15647d9dfb82d51aed7f9e446e
      https://github.com/llvm/llvm-project/commit/a0cc1ab97888ea15647d9dfb82d51aed7f9e446e
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll

  Log Message:
  -----------
  [AArch64] Add intrinsics for multi-vector to ZA array vector accumulators (#91606)

[Recommit of e88ba6d975d887ca001cae30bfa0c53d91165148]

According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics

void_svadd_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svadd_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");

as well as the corresponding `bf16` variants.


  Commit: fa9881d6a9d0bf3c72754a310c800d424c2db932
      https://github.com/llvm/llvm-project/commit/fa9881d6a9d0bf3c72754a310c800d424c2db932
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-bitreverse.ll

  Log Message:
  -----------
  [X86] vector-bitreverse.ll - add AVX512BW+AVX512VL test coverage


  Commit: c4017cda006c437c8400e280f8473aa65c302b40
      https://github.com/llvm/llvm-project/commit/c4017cda006c437c8400e280f8473aa65c302b40
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/DeviceRTL/CMakeLists.txt
    M offload/cmake/Modules/LibomptargetGetDependencies.cmake
    M offload/cmake/Modules/LibomptargetUtils.cmake
    M offload/plugins-nextgen/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/tools/CMakeLists.txt
    M offload/tools/deviceinfo/CMakeLists.txt
    M offload/tools/kernelreplay/CMakeLists.txt

  Log Message:
  -----------
  [Offload][NFC] Remove header license in CMake files (#92544)

Summary:
No other project has these in the CMake itself, and they're wildly
inconsistent even within the project. These don't really add anything so
I think they should be removed.


  Commit: 8c5e487ee3160cf4d40c0680ed40e4b0a494e956
      https://github.com/llvm/llvm-project/commit/8c5e487ee3160cf4d40c0680ed40e4b0a494e956
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/cmake/caches/HLSL.cmake

  Log Message:
  -----------
  [HLSL][CMake] Add clangd and distribution settings (#92011)

This just adds some simple distribution settings and includes clangd in
the build for distribution.


  Commit: 30d0850e0f780b17a37522e6503c98ebe197c5fa
      https://github.com/llvm/llvm-project/commit/30d0850e0f780b17a37522e6503c98ebe197c5fa
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/lib/Parse/ParseCXXInlineMethods.cpp

  Log Message:
  -----------
  [clang][NFC] Improve const-correctness in `ParseLexedMethodDeclaration`


  Commit: 9ba0a7725680fec5e071634f814a9d32ba33e852
      https://github.com/llvm/llvm-project/commit/9ba0a7725680fec5e071634f814a9d32ba33e852
  Author: maxbartel <bartel at roofline.ai>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    A mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-le-specific.mlir
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir

  Log Message:
  -----------
  [mlir][spirv] Add support for dense_resource in arith to spirv (#91318)

This adds support for `dense_resource` in arith to spirv. 

Note that this inlines the blob into the IR. Another possibility would
be to add proper dense_resource support to spirv, but there is a lot of
special handling going on to convert a `DenseElementsAttr` to the
correct SPIRV type. Some of that even iterates over all the values in
the Attribute. For proper support of a `DenseResourceElementsAttr` this
probably needs a redesign. I would like to hear some opinions on that!

The test is disabled on non little Endian machines. See
https://github.com/llvm/llvm-project/issues/63469 for more information.


  Commit: 9b6f0735fbff4e9a51f0c76f5630be649490f6ef
      https://github.com/llvm/llvm-project/commit/9b6f0735fbff4e9a51f0c76f5630be649490f6ef
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Support/CommandLine.cpp

  Log Message:
  -----------
  [Support] Drop nop conversions of StringRef to StringRef (NFC)

Both sides here are known to be of StringRef.


  Commit: c0cdc1d9569fdb8e3b672befda80cf90db24e814
      https://github.com/llvm/llvm-project/commit/c0cdc1d9569fdb8e3b672befda80cf90db24e814
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/test/Transforms/debug-line-table-inc-file.fir
    M flang/test/Transforms/debug-line-table.fir

  Log Message:
  -----------
  [flang] Allow flexible producer name in #di_compile_unit (NFC) (#92462)


  Commit: 84aee95124549c5d13e22053af254e3fcc02bc84
      https://github.com/llvm/llvm-project/commit/84aee95124549c5d13e22053af254e3fcc02bc84
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Lex/Preprocessor.h
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp

  Log Message:
  -----------
  [clang][NFC] Remove `const_cast` from `Preprocessor::addModuleMacro()`


  Commit: e919df57770d43217cbd4d05f92de8dc7aac5035
      https://github.com/llvm/llvm-project/commit/e919df57770d43217cbd4d05f92de8dc7aac5035
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/RegionUtils.h
    M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp

  Log Message:
  -----------
  [MLIR][Transforms] Correct block sorting utils name (NFC) (#92558)

This commit renames the name of the block sorting utility function to
`getBlocksSortedByDominance`. A topological order is not defined on a
general directed graph, so the previous name did not make sense.


  Commit: 9e39a0c723ced1aefdb30cece554356644aac148
      https://github.com/llvm/llvm-project/commit/9e39a0c723ced1aefdb30cece554356644aac148
  Author: Christian Ulmann <christian.ulmann at nextsilicon.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp

  Log Message:
  -----------
  [MLIR][ArmSME] Fix for block sorting refactor

This commit fixes a breakage introduced by changing the name of the
block sorting function.

Related PR: https://github.com/llvm/llvm-project/pull/92558


  Commit: 621d0f3e86ecc46c2df302041777e42dfc10171e
      https://github.com/llvm/llvm-project/commit/621d0f3e86ecc46c2df302041777e42dfc10171e
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix last argument not being used when comparing function template specializations when one has an explicit object argument (#92263)

Fixes #92188


  Commit: 8aa6511f4209bba33a74c4ef6e208fda5c0f3d27
      https://github.com/llvm/llvm-project/commit/8aa6511f4209bba33a74c4ef6e208fda5c0f3d27
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [clang][NFC] Remove an unnecessary `const_cast`


  Commit: e01ff8238cf62c7149de7b8046bccec9adefbe67
      https://github.com/llvm/llvm-project/commit/e01ff8238cf62c7149de7b8046bccec9adefbe67
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir

  Log Message:
  -----------
  [mlir][vector] Fix scalability issues in drop innermost unit dims transfer patterns (#92402)

Previously, these rewrites would drop scalable dimensions and treated
`[1]` (scalable one dim) as a unit dimension. This patch propagates
scalable dimensions and ensures `[1]` is not treated as a unit
dimension.


  Commit: d38ea8c4c84be9496249098053599c24b87f1376
      https://github.com/llvm/llvm-project/commit/d38ea8c4c84be9496249098053599c24b87f1376
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py

  Log Message:
  -----------
  [lldb] Fixed the test TestGdbRemoteAttachWait running on a remote target (#92413)

Install `_exe_to_attach` to a remote target if necessary.


  Commit: d90159add4140d6f4994f5767fa6ef31cc28897b
      https://github.com/llvm/llvm-project/commit/d90159add4140d6f4994f5767fa6ef31cc28897b
  Author: Walter Erquinigo <a20012251 at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Tools/lsp-server-support/Transport.cpp

  Log Message:
  -----------
  [LSP] Use std::string for storing the Reply method (#92464)

This was using a StringRef, which is very unsafe because the method name
might just get disposed due to the async nature of the response.
This was causing weird characters being printed in the output logs.


  Commit: 45daa4fdc68f5faa5bd5c33da052d2415cd88540
      https://github.com/llvm/llvm-project/commit/45daa4fdc68f5faa5bd5c33da052d2415cd88540
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
    A flang/include/flang/Optimizer/Dialect/CUF/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
    A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
    A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
    A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
    A flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/CUFDialect.cpp
    A flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIRDialect.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/test/Fir/cuf-invalid.fir
    M flang/test/Fir/cuf.mlir
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
    M flang/test/Lower/CUDA/cuda-mod.cuf
    M flang/test/Lower/CUDA/cuda-module-use.cuf
    M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/tco/CMakeLists.txt
    M flang/unittests/Optimizer/CMakeLists.txt
    M flang/unittests/Optimizer/FortranVariableTest.cpp

  Log Message:
  -----------
  [flang][cuda] Move CUDA Fortran operations to a CUF dialect (#92317)

The number of operations dedicated to CUF grew and where all still in
FIR. In order to have a better organization, the CUF operations,
attributes and code is moved into their specific dialect and files. CUF
dialect is tightly coupled with HLFIR/FIR and their types.

The CUF attributes are bundled into their own library since some
HLFIR/FIR operations depend on them and the CUF dialect depends on the
FIR types. Without having the attributes into a separate library there
would be a dependency cycle.


  Commit: e3686755eab66604335e246ed7b30033ab71dbbc
      https://github.com/llvm/llvm-project/commit/e3686755eab66604335e246ed7b30033ab71dbbc
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
    M mlir/unittests/Dialect/CMakeLists.txt
    A mlir/unittests/Dialect/Polynomial/CMakeLists.txt
    A mlir/unittests/Dialect/Polynomial/PolynomialMathTest.cpp

  Log Message:
  -----------
  [mlir][polynomial] implement add for polynomial data structure (#92169)

A change extracted from https://github.com/llvm/llvm-project/pull/91655,
where I'm still trying to get the attributes working for elementwise
constant folding of polynomial ops. This piece is self-contained.

- use CRTP for base classes
- Add unit test

---------

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: 874f511ae779a38bd9ad9d80db63c0a10252e526
      https://github.com/llvm/llvm-project/commit/874f511ae779a38bd9ad9d80db63c0a10252e526
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp

  Log Message:
  -----------
  [clang] Introduce `SemaCodeCompletion` (#92311)

This patch continues previous efforts to split `Sema` up, this time
covering code completion.
Context can be found in #84184.
Dropping `Code` prefix from function names in `SemaCodeCompletion` would
make sense, but I think this PR has enough changes already.
As usual, formatting changes are done as a separate commit. Hopefully
this helps with the review.


  Commit: d74bc823beabbb7067a4b4ae2d69a36d874f5132
      https://github.com/llvm/llvm-project/commit/d74bc823beabbb7067a4b4ae2d69a36d874f5132
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lldb/bindings/CMakeLists.txt
    M lldb/bindings/headers.swig
    M lldb/bindings/interfaces.swig
    M lldb/bindings/lua/CMakeLists.txt
    M lldb/bindings/python/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Include SBLanguages in the SWIG bindings (#92470)


  Commit: dc8d70acf7afd6d8c9eef7d240fb8c917eddab50
      https://github.com/llvm/llvm-project/commit/dc8d70acf7afd6d8c9eef7d240fb8c917eddab50
  Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    A etime-function.mlir
    M flang/docs/Intrinsics.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Runtime/time-intrinsic.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/runtime/time-intrinsic.cpp
    M flang/runtime/tools.h
    A flang/test/Lower/Intrinsics/etime-function.f90
    A flang/test/Lower/Intrinsics/etime.f90
    A flang/test/Semantics/etime.f90

  Log Message:
  -----------
  [reland][flang] Add ETIME runtime and lowering intrinsics implementation (#92571)

This is same as https://github.com/llvm/llvm-project/pull/90578 with an
added fix. This PR updated tests of etime intrinsic due to Lowering
changes for assigning dummy_scope to hlfir.declare. Referring to
https://github.com/llvm/llvm-project/pull/92472 and
https://github.com/llvm/llvm-project/pull/90989


  Commit: a4ad05284e97dd188c44252846486cbfb74a884c
      https://github.com/llvm/llvm-project/commit/a4ad05284e97dd188c44252846486cbfb74a884c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py

  Log Message:
  -----------
  [lldb-dap] Replace `assertEquals` with `assertEqual` (NFC)

Fixes new test that were added or modified after #82073. Also fixes a
formatting issue.


  Commit: 932bef23276da05c5eed2ffe7c62b7fc5f39caf1
      https://github.com/llvm/llvm-project/commit/932bef23276da05c5eed2ffe7c62b7fc5f39caf1
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
    A mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
    M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
    A mlir/test/Dialect/Polynomial/canonicalization.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Poly canonicalization (#91410)

Adds simple canonicalization rules to the polynomial dialect. Mainly to
get the boilerplate incorporated before more substantial
canonicalization patterns are added.

---------

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: e18c4838811f2a6f9592ddeaed585a3830ebc8aa
      https://github.com/llvm/llvm-project/commit/e18c4838811f2a6f9592ddeaed585a3830ebc8aa
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir] add arith dialect dep to fix buildbot failure (#92585)

https://lab.llvm.org/buildbot/#/builders/268/builds/14288

```undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ConstantOp, void>::id'```


  Commit: f7516c7f3f00fca7271056cc9abeda2da4687c17
      https://github.com/llvm/llvm-project/commit/f7516c7f3f00fca7271056cc9abeda2da4687c17
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/CodeGen/array-init.c

  Log Message:
  -----------
  [CodeGen] Support arrays with initializers of 64-bit size

Based on @OfekShochat's https://reviews.llvm.org/D133648

init.c is the primary test for array initialization, but it uses a
32-bit triple, which would lead to an "array is too large" error. Add
the new test to array-init.c instead.

Fix #57353

Pull Request: https://github.com/llvm/llvm-project/pull/92473


  Commit: 487d5af6482ea5f074c12d29d7e376d3fc697706
      https://github.com/llvm/llvm-project/commit/487d5af6482ea5f074c12d29d7e376d3fc697706
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py

  Log Message:
  -----------
  [ctx_profile] Integration test (#92456)

Compile with clang a program that's instrumented for contextual profiling and verify a profile can be collected.


  Commit: 16bb7e89a995dfe8b14a8ddbce3da79c217e884a
      https://github.com/llvm/llvm-project/commit/16bb7e89a995dfe8b14a8ddbce3da79c217e884a
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/DeviceRTL/CMakeLists.txt
    M offload/plugins-nextgen/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M offload/plugins-nextgen/host/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/test/mapping/array_section_implicit_capture.c
    M offload/test/offloading/default_thread_limit.c
    M offload/test/offloading/fortran/basic-target-region-1D-array-section.f90
    M offload/test/offloading/fortran/basic-target-region-3D-array-section.f90
    M offload/test/offloading/fortran/double-target-call-with-declare-target.f90
    M offload/test/offloading/fortran/target-map-allocatable-map-scopes.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-1.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-2.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
    M offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
    M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
    M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
    M offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
    M offload/test/offloading/fortran/target-map-enter-exit-allocatables.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array.f90
    M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
    M offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
    M offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
    M offload/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
    M offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
    M offload/test/offloading/fortran/target-map-pointer-target-scopes.f90
    M offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
    M offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
    M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
    M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
    M offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
    M offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
    M offload/test/offloading/spmdization.c
    M offload/test/offloading/thread_limit.c

  Log Message:
  -----------
  [Offload][NFC] Remove all trailing whitespace from offload/ (#92578)

Summary:
This patch cleans up the training whitespace in a bunch of tests and
CMake files. Most just in preparation for other cleanups.


  Commit: 770d92830311b21c82ff12ba85bd131950db23d0
      https://github.com/llvm/llvm-project/commit/770d92830311b21c82ff12ba85bd131950db23d0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/DeviceRTL/CMakeLists.txt
    R offload/cmake/Modules/LibomptargetUtils.cmake
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M offload/plugins-nextgen/host/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/test/CMakeLists.txt
    M offload/tools/deviceinfo/CMakeLists.txt
    M offload/tools/kernelreplay/CMakeLists.txt
    M offload/unittests/Plugins/CMakeLists.txt

  Log Message:
  -----------
  [Offload][NFC] Remove 'libomptarget' message helpers (#92581)

Summary:
This isn't `libomptarget` anymore, and these messages were always
unnecessary because no other project uses these prefixed messages. The
effect of this is that no longer will the logs have `LIBOMPTARGET --` in
front of everything. We have a message stating when we start building
the offload project so it'll still be trivial to find.


  Commit: 48b23c09c0dd70c4d5645d781caa1e0a7d51e0fc
      https://github.com/llvm/llvm-project/commit/48b23c09c0dd70c4d5645d781caa1e0a7d51e0fc
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll

  Log Message:
  -----------
  AMDGPU: Handle undef correctly in isKnownIntegral (#92566)


  Commit: 1e5f29af81a5f6fda308074f6345b9fba4faa71c
      https://github.com/llvm/llvm-project/commit/1e5f29af81a5f6fda308074f6345b9fba4faa71c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/test/MC/AsmParser/macro-rept.s

  Log Message:
  -----------
  Revert "[MCAsmParser] .rept/.irp/.irpc: remove excess tail EOL in expansion"

This reverts commit c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba.

parseEOL() would remove \n # after .endr, not recognizing the line marker.

```
// reduced from Linux kernel arch/x86/crypto/sha1_avx2_x86_64_asm.S
.rept 1
nop
.endr
# 512 "a.s"
```


  Commit: 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
      https://github.com/llvm/llvm-project/commit/0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
  Author: Dan Liew <delcypher at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Type.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    A clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
    A clang/test/AST/attr-counted-by-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-late-parsed-off.c
    A clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
    A clang/test/Sema/attr-counted-by-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-vla-sizeless-types.c
    A clang/test/Sema/attr-counted-by-vla.c
    R clang/test/Sema/attr-counted-by.c

  Log Message:
  -----------
  [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (#90786)

Previously the attribute was only allowed on flexible array members.
This patch patch changes this to also allow the attribute on pointer
fields in structs and also allows late parsing of the attribute in some
contexts.

For example this previously wasn't allowed:

```
struct BufferTypeDeclAttributePosition {
  size_t count;
  char* buffer __counted_by(count); // Now allowed
}
```

Note the attribute is prevented on pointee types where the size isn't
known at compile time. In particular pointee types that are:

* Incomplete (e.g. `void`) and sizeless types
* Function types (e.g. the pointee of a function pointer)
* Struct types with a flexible array member

This patch also introduces late parsing of the attribute when used in
the declaration attribute position. For example

```
struct BufferTypeDeclAttributePosition {
  char* buffer __counted_by(count); // Now allowed
  size_t count;
}
```

is now allowed but **only** when passing
`-fexperimental-late-parse-attributes`. The motivation for using late
parsing here is to avoid breaking the data layout of structs in existing
code that want to use the `counted_by` attribute. This patch is the
first use of `LateAttrParseExperimentalExt` in `Attr.td` that was
introduced in a previous patch.

Note by allowing the attribute on struct member pointers this now allows
the possiblity of writing the attribute in the type attribute position.
For example:

```
struct BufferTypeAttributePosition {
  size_t count;
  char *__counted_by(count) buffer; // Now allowed
}
```

However, the attribute in this position is still currently parsed
immediately rather than late parsed. So this will not parse currently:

```
struct BufferTypeAttributePosition {
  char *__counted_by(count) buffer; // Fails to parse
  size_t count;
}
```

The intention is to lift this restriction in future patches. It has not
been done in this patch to keep this size of this commit small.

There are also several other follow up changes that will need to be
addressed in future patches:

* Make late parsing working with anonymous structs (see
`on_pointer_anon_buf` in `attr-counted-by-late-parsed-struct-ptrs.c`).
* Allow `counted_by` on more subjects (e.g. parameters, returns types)
when `-fbounds-safety` is enabled.
* Make use of the attribute on pointer types in code gen (e.g. for
`_builtin_dynamic_object_size` and UBSan's array-bounds checks).

This work is heavily based on a patch originally written by Yeoul Na.

rdar://125400257

Co-authored-by: Dan Liew <dan at su-root.co.uk>


  Commit: 1b58940c88edaad9320bd21eaa7da65f7e791552
      https://github.com/llvm/llvm-project/commit/1b58940c88edaad9320bd21eaa7da65f7e791552
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/test/MC/AsmParser/macro-rept.s

  Log Message:
  -----------
  [MCAsmParser,test] Test line marker after .endr \n

Regression test for 1e5f29af81a5f6fda308074f6345b9fba4faa71c

Reduced from Linux kernel arch/x86/crypto/sha1_avx2_x86_64_asm.S


  Commit: 76fdc2e52719c7164e3f2cb05158a74df2b3d22e
      https://github.com/llvm/llvm-project/commit/76fdc2e52719c7164e3f2cb05158a74df2b3d22e
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][NFC] Rename isUnsupportedBranch to isReversibleBranch (#92447)

`isUnsupportedBranch` is not a very informative name, and doesn't match
its corresponding `reverseBranchCondition`, as I noted in PR #92018.
Here's a renaming to a more mnemonic name.


  Commit: 112eadd55f06bee15caadff688ea0b45acbfa804
      https://github.com/llvm/llvm-project/commit/112eadd55f06bee15caadff688ea0b45acbfa804
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test

  Log Message:
  -----------
  [Bounds-Safety] Fix `pragma-attribute-supported-attributes-list.test`

0ec3b972e58bcbcdc1bebe1696ea37f2931287c3 changed the `counted_by`
attribute to be `LateAttrParseExperimentalExt`. This means the attribute
is no longer supported by `#pragma clang attribute`. However, the
`pragma-attribute-supported-attributes-list.test` wasn't updated
to account for that.

rdar://125400257


  Commit: df575be9d864886684e536cd76c5a96bb0d443a6
      https://github.com/llvm/llvm-project/commit/df575be9d864886684e536cd76c5a96bb0d443a6
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [clang][NFC] Add `const` qualifier in `Sema::isIncompatibleTypedef`


  Commit: af7467ce9f447d6fe977b73db1f03a18d6bbd511
      https://github.com/llvm/llvm-project/commit/af7467ce9f447d6fe977b73db1f03a18d6bbd511
  Author: John Ericson <John.Ericson at Obsidian.Systems>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M libcxx/src/atomic.cpp
    M libcxx/src/chrono.cpp
    M libcxxabi/src/cxa_guard_impl.h

  Log Message:
  -----------
  [libcxx][libcxxabi] Fix build for OpenBSD (#92186)

- No indirect syscalls on OpenBSD. Instead there is a `futex` function
which issues a direct syscall.

- Monotonic clock is available despite the full POSIX suite of timers
not being available in its entirety.

  See https://lists.boost.org/boost-bugs/2015/07/41690.php and
  https://github.com/boostorg/log/commit/c98b1f459add14d5ce3e9e63e2469064601d7f71
  for a description of an analogous problem and fix for Boost.


  Commit: 1a5bc7c895ddeafa0e1d269da67bbeafcd8bc1a4
      https://github.com/llvm/llvm-project/commit/1a5bc7c895ddeafa0e1d269da67bbeafcd8bc1a4
  Author: Julian Lettner <yln at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M compiler-rt/test/tsan/signal_in_mutex_lock.cpp

  Log Message:
  -----------
  Fix flaky test: signal_in_mutex_lock.cpp (#92587)

Fix flaky test: the spawned thread keeps spinning
on `sampler_mutex` which may be released before
the thread is terminated based on termination
ordering.

My understanding of C++ semantics are that the
program here is invalid: the destructors of global
variables are invoked at the time of program
termination, and it is the responsibility of the
program to ensure that invoking those destructors
is safe.

rdar://126768628


  Commit: 6d50a79b721760fa5e10b81ebe6d1e37f141f61b
      https://github.com/llvm/llvm-project/commit/6d50a79b721760fa5e10b81ebe6d1e37f141f61b
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/include/flang/Semantics/semantics.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/semantics.cpp
    A flang/module/cudadevice.f90
    A flang/test/Semantics/cuf-device-procedures01.cuf
    A flang/test/Semantics/cuf-device-procedures02.cuf
    M flang/tools/f18/CMakeLists.txt

  Log Message:
  -----------
  [flang][cuda] Implicitly load cudadevice module in device/global subprogram (#92038)

This is a re-worked version of #91668. It adds the `cudadevice` module
and set the `device` attributes on its functions/subroutines so there is
no need for special case in semantic check.
`cudadevice` module is implicitly USE'd in `global`/`device` subprogram.


  Commit: bdfb04a63d73c31ee75395064762d0d6ccb45819
      https://github.com/llvm/llvm-project/commit/bdfb04a63d73c31ee75395064762d0d6ccb45819
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lldb/tools/lldb-dap/package.json

  Log Message:
  -----------
  [lldb-dap] Bump the version to 0.2.1

Bump the version to 0.2.1 to test the publishing workflow and update the
extension README and URL.


  Commit: e2db08f8f1a7dd37cd18705164f0c1188707e5b6
      https://github.com/llvm/llvm-project/commit/e2db08f8f1a7dd37cd18705164f0c1188707e5b6
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c

  Log Message:
  -----------
  [test] Use conventional -emit-llvm-only

Similar to a6d7828f4c50c1ec7b0b5f61fe59d7a768175dcc


  Commit: 8da3a8f550d0b266411b2dc177dff8591ee86cb2
      https://github.com/llvm/llvm-project/commit/8da3a8f550d0b266411b2dc177dff8591ee86cb2
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    A llvm/test/CodeGen/NVPTX/param-overalign.ll

  Log Message:
  -----------
  [NVPTX] fixup support for over-aligned parameters (#92457)

This extends the NVPTX support for over-aligned parameters and return
values in a few related ways:

- Support for `alignstack` attribute, as an alternative to legacy nvvm
`!"align"` metadata entries. While we still maintain the legacy support,
long term it might be nice to auto-upgrade to `alignstack`.
- Check the alignment info when emitting the parameter list to prevent a
mismatch between alignment of caller and callee, which would previously
cause a fatal error for `ptxas`.
- Check the alignment info when emitting loads for parameters,
potentially enabling better vectorization.


  Commit: fe2ff54590c313551e7968179b48988ff0916290
      https://github.com/llvm/llvm-project/commit/fe2ff54590c313551e7968179b48988ff0916290
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/runtime/CMakeLists.txt
    M flang/runtime/descriptor-io.h
    A flang/runtime/io-api-common.h
    A flang/runtime/io-api-minimal.cpp
    M flang/runtime/io-api.cpp

  Log Message:
  -----------
  [flang][runtime] Decouple scalar output APIs from descriptors (#92444)

For testing purposes the implementations of the output APIs like
OutputInteger32 have been simply constructing descriptors and executing
the operation through the general DescriptorIO template. This patch
decouples those APIs from that mechanism so that programs using simple
"PRINT *" statements for output can link to a smaller portion of the I/O
runtime support library. (This is the only form of I/O accepted in GPU
device code by previous CUDA Fortran and Fortran OpenACC compilers.)


  Commit: ab7930bd9f088c4fcdfd438b5207a4052c9669b8
      https://github.com/llvm/llvm-project/commit/ab7930bd9f088c4fcdfd438b5207a4052c9669b8
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/bind-c03.f90
    M flang/test/Semantics/bind-c09.f90
    M flang/test/Semantics/bind-c12.f90
    M flang/test/Semantics/resolve81.f90
    M flang/test/Semantics/resolve82.f90

  Log Message:
  -----------
  [flang] Relax checking of dummy procedures under BIND(C) (#92474)

As was done recently to allow derived types that are not explicitly
BIND(C), but meet the requirements of BIND(C), to be acceptable for use
in contexts nominally requiring BIND(C), this patch allows procedures
that are not explicitly BIND(C) to be used in contexts that nominally
require BIND(C) so long as (1) they meet the requirements of BIND(C),
and (2) don't use dummy arguments whose implementations may vary under
BIND(C), such as VALUE.


  Commit: b80e0fbcfb71b24d762d8b48069153b9e16679be
      https://github.com/llvm/llvm-project/commit/b80e0fbcfb71b24d762d8b48069153b9e16679be
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.td
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][polynomial] split attributes into its own tablegen (#92613)

Out of tree we have other dialects that use the ring attribute, but we
get compilation errors when generating ops while pulling in all the
Polynomial tablegen ops (there's no `-dialect` flag in `mlir-tblgen` for
op generation like there is for attributes and types).

This PR simply moves the attributes into its own file, so it can be
included separately, and this also requires moving the dialect
declaration into its own file.


  Commit: cef6387e52578366c2332275dad88b9953b55336
      https://github.com/llvm/llvm-project/commit/cef6387e52578366c2332275dad88b9953b55336
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/attr-counted-by-vla.c

  Log Message:
  -----------
  [Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members

In 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3 an additional restriction
was added when applying the `counted_by` attribute to flexible array
members in structs. The restriction prevented the element type being
a struct that itself had a flexible array member. E.g.:

```
struct has_unannotated_VLA {
  int count;
  char buffer[];
};

struct buffer_of_structs_with_unnannotated_vla {
  int count;
  struct has_unannotated_VLA Arr[] __counted_by(count);
};
```

In this example assuming the size of `Arr` is `sizeof(struct
has_unannotated_VLA)*count` (which is what the attribute says) is wrong
because it doesn't account for the size of
`has_unannotated_VLA::buffer`. This is why this kind of code construct
was treated as an error.

However, it turns out existing Linux kernel code used the attribute
on a flexible array member in this way
(https://github.com/llvm/llvm-project/pull/90786#issuecomment-2118416515).

To unbreak the build this restriction is downgraded to a warning with
the plan to make it an error again once the errornous use of the
attribute in the Linux kernel is resolved.


  Commit: 86e511bc145ffe6e08f2f440b329c5ed9cb38532
      https://github.com/llvm/llvm-project/commit/86e511bc145ffe6e08f2f440b329c5ed9cb38532
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/runtime/io-api.cpp

  Log Message:
  -----------
  [flang] Fixed https://lab.llvm.org/buildbot/#/builders/270/builds/14406


  Commit: 881f20e958e80bd30463fc57d2d3e891bcb8a571
      https://github.com/llvm/llvm-project/commit/881f20e958e80bd30463fc57d2d3e891bcb8a571
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    R compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py

  Log Message:
  -----------
  Revert "[ctx_profile] Integration test (#92456)"

This reverts commit 487d5af6482ea5f074c12d29d7e376d3fc697706.

This was causing failures on some buildbots.
https://lab.llvm.org/buildbot/#/builders/247/builds/18559


  Commit: b672d9e3d3aa6f9796c09d691ca5c40dc816ab67
      https://github.com/llvm/llvm-project/commit/b672d9e3d3aa6f9796c09d691ca5c40dc816ab67
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    A llvm/test/DebugInfo/X86/debug-names-split-dwarf-inlining.ll

  Log Message:
  -----------
  DebugInfo: Don't emit .debug_names entries for split-dwarf-inlining info


  Commit: 1e9324a8c734aaa933d2672522cc22d5022c6200
      https://github.com/llvm/llvm-project/commit/1e9324a8c734aaa933d2672522cc22d5022c6200
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lldb/include/lldb/API/SBExpressionOptions.h
    M lldb/source/API/SBExpressionOptions.cpp

  Log Message:
  -----------
  [lldb] Namespace SBSourceLanguageName (NFC)


  Commit: faf39f45e3107d6bcb5f9cef8b5681c116b261d7
      https://github.com/llvm/llvm-project/commit/faf39f45e3107d6bcb5f9cef8b5681c116b261d7
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lld/ELF/InputSection.cpp
    R lld/test/ELF/loongarch-relax-align-ldr.s
    M lld/test/ELF/loongarch-relax-emit-relocs.s
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
    M llvm/test/MC/LoongArch/Relocations/relax-align.s

  Log Message:
  -----------
  Revert "[LoongArch] Use R_LARCH_ALIGN with section symbol (#84741)"

This reverts commit 01f79899ba349a0200586c8d05f5e22cca2ced31.

This unusual special case has been discussed on the binutils mailing
list. The approach will be revisited:
https://sourceware.org/pipermail/binutils/2024-May/134092.html

Pull Request: https://github.com/llvm/llvm-project/pull/92584


  Commit: 702198fc9ac5dba392f9d9ba7c56467996343c0a
      https://github.com/llvm/llvm-project/commit/702198fc9ac5dba392f9d9ba7c56467996343c0a
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/lib/Lower/ConvertVariable.cpp
    A flang/test/Lower/CUDA/cuda-program-global.cuf

  Log Message:
  -----------
  [flang][cuda] Add data attribute to program globals (#92610)


  Commit: cfe9deb1353021a1c1fe4731ec3e90f702dbd43d
      https://github.com/llvm/llvm-project/commit/cfe9deb1353021a1c1fe4731ec3e90f702dbd43d
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M .github/dependabot.yml
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py

  Log Message:
  -----------
  Reapply "[ctx_profile] Integration test (#92456)"

This reverts commit 881f20e958e80bd30463fc57d2d3e891bcb8a571.

Passing -ldl -lpthread explicitly


  Commit: 9e98815ef04f055e84d0b1a5cfb877bb1c9cb22a
      https://github.com/llvm/llvm-project/commit/9e98815ef04f055e84d0b1a5cfb877bb1c9cb22a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M .github/dependabot.yml

  Log Message:
  -----------
  [Github] Revert accidental changes to dependabot config

f3524e9aebbfabed0c60d0087b39ce14d8f778da accidentally touched the
dependabot config. This patch reverts that change.


  Commit: 219476d20fcdb21644944b0c204b4ac6d6ef3760
      https://github.com/llvm/llvm-project/commit/219476d20fcdb21644944b0c204b4ac6d6ef3760
  Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    R etime-function.mlir

  Log Message:
  -----------
  Fix: remove wrongly pushed etime-function.mlir at toplevel (#92634)

The purpose of this PR is to remove the 'etime-function.mlir' file that
I mistakenly committed in
https://github.com/llvm/llvm-project/pull/92571. This file is not
necessary in source code control, and its presence may cause confusion
or misunderstanding.


  Commit: 195ba4572129befa25ca56439515d7cb91587c56
      https://github.com/llvm/llvm-project/commit/195ba4572129befa25ca56439515d7cb91587c56
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/test/MC/AsmParser/macro-arg.s
    M llvm/test/MC/AsmParser/macro-irp.s
    M llvm/test/MC/AsmParser/macro-rept.s

  Log Message:
  -----------
  [MCAsmParser] .macro/.rept/.irp/.irpc: remove excess \n after expansion

```
.irp foo,1
nop
.endr
nop
```

expands to an excess EOL between two nop lines. Other loop directives
and .macro have the same issue.

`Lex()` at "Jump to the macro instantiation and prime the lexer"
requires that there is one single \n token in CurTok. Therefore, we
cannot consume the trailing \n when parsing the macro(-like) body.
(commit c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba (reverted by
1e5f29af81a5f6fda308074f6345b9fba4faa71c))

Instead, skip the potential \n after jumpToLoc at handleMacroExit.


  Commit: bfeebda3b1cc1a05e435e94f54bf2d2a2570b4e2
      https://github.com/llvm/llvm-project/commit/bfeebda3b1cc1a05e435e94f54bf2d2a2570b4e2
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M flang/test/Driver/include-omp-header.f90
    M flang/test/Lower/OpenMP/atomic-capture.f90
    M flang/test/Lower/OpenMP/atomic-read.f90
    M flang/test/Lower/OpenMP/atomic-update.f90
    M flang/test/Lower/OpenMP/atomic-write.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
    M flang/test/Lower/OpenMP/parallel-sections.f90
    M flang/test/Lower/OpenMP/parallel.f90
    M flang/test/Lower/OpenMP/sections.f90
    M flang/test/Lower/OpenMP/single.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/taskgroup.f90
    M flang/test/Lower/OpenMP/teams.f90
    M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
    M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
    M flang/test/Parser/OpenMP/allocate-tree.f90
    M flang/test/Parser/OpenMP/target_device_parse.f90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate-directive.f90
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate08.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic04.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/critical-hint-clause.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M flang/test/Semantics/OpenMP/sections02.f90
    M flang/test/Semantics/OpenMP/sync-critical02.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [flang][OpenMP] Re-enable tests when building OpenMP as a runtime (#89046)


  Commit: 2a97b507dc643b7ee3bc651b3f21b754cfba433c
      https://github.com/llvm/llvm-project/commit/2a97b507dc643b7ee3bc651b3f21b754cfba433c
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90

  Log Message:
  -----------
  [flang][OpenMP] Try to unify induction var privatization for OMP regions. (#91116)


  Commit: 7b4dfec8936f54145297fd2f14bf95a2b8c95f5f
      https://github.com/llvm/llvm-project/commit/7b4dfec8936f54145297fd2f14bf95a2b8c95f5f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/test/MC/AsmParser/macro-irp.s
    R llvm/test/MC/AsmParser/macro-rept-err1.s
    R llvm/test/MC/AsmParser/macro-rept-err2.s
    M llvm/test/MC/AsmParser/macro-rept.s

  Log Message:
  -----------
  [MCAsmParser] Improve .rept/.irp tests


  Commit: 2c2e0507e92bdb77a01828f899ff59e44492b537
      https://github.com/llvm/llvm-project/commit/2c2e0507e92bdb77a01828f899ff59e44492b537
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp

  Log Message:
  -----------
  [clang][ThreadSafety] Skip past implicit cast in `translateAttrExpr`

Ignore `ImplicitCastExpr` when building `AttrExp` for capability
attribute diagnostics.

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


  Commit: f7b0b99c52ee36ed6ca8abcce74a752e483768d6
      https://github.com/llvm/llvm-project/commit/f7b0b99c52ee36ed6ca8abcce74a752e483768d6
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp

  Log Message:
  -----------
  [clang][NFC] Further improvements to const-correctness


  Commit: 778826f0b8fb9f1a595ce8ab23faad6daa9466f5
      https://github.com/llvm/llvm-project/commit/778826f0b8fb9f1a595ce8ab23faad6daa9466f5
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir

  Log Message:
  -----------
  [GlobalIsel] Combine select to integer min max more (#92570)


  Commit: 4b62afca64a3f18cd57a3b3247330effd4b38098
      https://github.com/llvm/llvm-project/commit/4b62afca64a3f18cd57a3b3247330effd4b38098
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    A llvm/test/CodeGen/X86/apx/ccmp-flags-copy-lowering.mir

  Log Message:
  -----------
  [X86][CodeGen] Support flags copy lowering for CCMP/CTEST (#91849)

```
%1:gr64 = COPY $eflags
OP1 may update eflags
$eflags = COPY %1
OP2 may use eflags
```

To use eflags as input at 4th instruction, we need to use SETcc to
preserve the eflags before 2, and update the source condition of OP2
according to value in GPR %1.

In this patch, we support CCMP/CTEST as OP2.


  Commit: 33550b43f49a4e5b20e748936278e55f67e4b929
      https://github.com/llvm/llvm-project/commit/33550b43f49a4e5b20e748936278e55f67e4b929
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/CFGLoopInfo.h
    M mlir/include/mlir/IR/Block.h
    M mlir/lib/Analysis/CFGLoopInfo.cpp
    M mlir/lib/IR/AsmPrinter.cpp

  Log Message:
  -----------
  [mlir] Add operator<< for printing `Block` (#92550)

Turns out it was already in Analysis/CFGLoopInfo, so just move it
to IR/AsmPrinter.


  Commit: e90126e0dd6f058e1602bb6c769dfa4c52d7ad47
      https://github.com/llvm/llvm-project/commit/e90126e0dd6f058e1602bb6c769dfa4c52d7ad47
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt

  Log Message:
  -----------
  [flang][cuf] Add attr gen dependency to fix #92635


  Commit: 58c778565cd64a69ea86e7e67e6a87fff3b0b224
      https://github.com/llvm/llvm-project/commit/58c778565cd64a69ea86e7e67e6a87fff3b0b224
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp

  Log Message:
  -----------
  [nfc][ctx_profile] Fix printf - related `-Wformat-pedantic`


  Commit: c5b11a710e01304908e3f320e40bc9da9f6a8de4
      https://github.com/llvm/llvm-project/commit/c5b11a710e01304908e3f320e40bc9da9f6a8de4
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    A llvm/test/CodeGen/NVPTX/st-param-imm.ll

  Log Message:
  -----------
  [NVPTX] support immediate values in st.param instructions (#91523)

Add support for generating `st.param` instructions with direct use of
immediates. This eliminates the need for a `mov` instruction prior to
the `st.param` resulting in more concise emitted PTX.


  Commit: 577785c5ca78a9714584b5c99ec085f8aea0a5c0
      https://github.com/llvm/llvm-project/commit/577785c5ca78a9714584b5c99ec085f8aea0a5c0
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanValue.h

  Log Message:
  -----------
  [VPlan] Remove unused removeLastOperand (NFC).

The last use of the function has been removed a while ago. Remove the
unused function.


  Commit: 003cebdaccc4ad3a3b6f9e177ee5049c8b6a9cbb
      https://github.com/llvm/llvm-project/commit/003cebdaccc4ad3a3b6f9e177ee5049c8b6a9cbb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/tools/dsymutil/MachODebugMapParser.cpp

  Log Message:
  -----------
  [dsymutil] Use operator==(StringRef, StringRef) (NFC)


  Commit: 8d3e1022c8883f2bfe9faccb82ce807c1cf4272c
      https://github.com/llvm/llvm-project/commit/8d3e1022c8883f2bfe9faccb82ce807c1cf4272c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/DWARFLinker/Parallel/OutputSections.h

  Log Message:
  -----------
  [DWARFLinker] Use an implicit conversion of SmallString to StringRef (NFC)


  Commit: ba8a2ade84f4c1bfc531fe3673470377c038f31d
      https://github.com/llvm/llvm-project/commit/ba8a2ade84f4c1bfc531fe3673470377c038f31d
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp

  Log Message:
  -----------
  [DXIL] Use consistent SmallVector parameters

Fixes: 060df78cdbbf70d5a6dfff3af1d435a5a811b886


  Commit: 4c98f5b439ddd204d8ff1e423104215ebd0e1720
      https://github.com/llvm/llvm-project/commit/4c98f5b439ddd204d8ff1e423104215ebd0e1720
  Author: David Green <david.green at arm.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/frem-power2.ll
    M llvm/test/CodeGen/ARM/frem-power2.ll

  Log Message:
  -----------
  [DAG] Use copysign in frem power-2 fold. (#91751)

As a small addition to #91148, this uses copysign to produce the correct
sign for zero when converting frem to div/trunc/mul when we do not know
that the input is positive (and we care about sign bits). The copysign
lets us get the sign of zero correct.

In testing, the only case this produced different results than fmod was:
frem -inf, 4.0 -> nan vs -nan


  Commit: c3677e45222a9461eed0224b99bd8ea19bc52bf6
      https://github.com/llvm/llvm-project/commit/c3677e45222a9461eed0224b99bd8ea19bc52bf6
  Author: David Green <david.green at arm.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/select-shuffle.ll

  Log Message:
  -----------
  [VectorCombine] Don't transform single shuffles in shuffleToIdentity

This will help in later patches where the checks for operands being
instructions is removed, and might help not remove unnecessary poison lanes.


  Commit: 597ac471cc7da97ccf957362a7e9f7a52d6910ee
      https://github.com/llvm/llvm-project/commit/597ac471cc7da97ccf957362a7e9f7a52d6910ee
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
    M llvm/utils/UpdateTestChecks/asm.py
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/UpdateTestChecks/isel.py
    M llvm/utils/update_analyze_test_checks.py
    M llvm/utils/update_cc_test_checks.py
    M llvm/utils/update_llc_test_checks.py
    M llvm/utils/update_test_checks.py

  Log Message:
  -----------
  update_test_checks: match IR basic block labels (#88979)

Labels are matched using a regexp of the form '^(pattern):', which
requires the addition of a "suffix" concept to NamelessValue.

Aside from that, the key challenge is that block labels are values, and
we typically capture values including the prefix '%'. However, when
labels appear at the start of a basic block, the prefix '%' is not
included, so we must capture block label values *without* the prefix
'%'.

We don't know ahead of time whether an IR value is a label or not. In
most cases, they are prefixed by the word "label" (their type), but this
isn't the case in phi nodes. We solve this issue by leveraging the
two-phase nature of variable generalization: the first pass finds all
occurences of a variable and determines whether the '%' prefix can be
included or not. The second pass does the actual substitution.

This change also unifies the generalization path for assembly with that
for IR and analysis, in the hope that any future changes avoid diverging
those cases future.

I also considered the alternative of trying to detect the phi node case
using more regular expression special cases but ultimately decided
against that because it seemed more fragile, and perhaps the approach of
keeping a tentative prefix that may later be discarded could also be
eventually applied to some metadata and attribute cases.

Note that an early version of this change was reviewed as
https://reviews.llvm.org/D142452, before version numbers were
introduced. This is a substantially updated version of that change.


  Commit: d34be649af1aa849c21a5a0570617c3a89d5f0b8
      https://github.com/llvm/llvm-project/commit/d34be649af1aa849c21a5a0570617c3a89d5f0b8
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/LTO/LTO.cpp

  Log Message:
  -----------
  [ThinLTO]Sort imported GUIDs before cache key update (#92622)

Add 'sort' here since it's helpful when container type
changes (for example, https://github.com/llvm/llvm-project/pull/88024
wants to change container type from `unordered_set` to `DenseMap)

@MaskRay points out `std::` doesn't randomize the iteration order of
`unordered_{set,map}`, and the iteration order for single build is
deterministic.


  Commit: 7b977e0f644c43232732e149b03d41de321d804e
      https://github.com/llvm/llvm-project/commit/7b977e0f644c43232732e149b03d41de321d804e
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/lib/ProfileData/InstrProfWriter.cpp

  Log Message:
  -----------
  [nfc][InstrFDO]Encapsulate header writes in a class member function (#90142)

The smaller class member are more focused and easier to maintain. This
also paves the way for partial header forward compatibility in
https://github.com/llvm/llvm-project/pull/88212

---------

Co-authored-by: Kazu Hirata <kazu at google.com>


  Commit: f87ed54e495eba7b9897654de4c17fbf101cb620
      https://github.com/llvm/llvm-project/commit/f87ed54e495eba7b9897654de4c17fbf101cb620
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt

  Log Message:
  -----------
  Reformat


  Commit: 9d15fc0060b584141674dddfedb06b0b58ad7aae
      https://github.com/llvm/llvm-project/commit/9d15fc0060b584141674dddfedb06b0b58ad7aae
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/ctx_profile/CMakeLists.txt

  Log Message:
  -----------
  Quick fix for a waning in clang_rt.ctx_profile [-Wgnu-anonymous-struct]

`__sanitizer_siginfo` has been introduced in D142117.
(llvmorg-16-init-17950-ged9ef9b4f248)
It is incompatible to -pedantic.

`clang_rt.ctx_profile` has been introduced in #92456.


  Commit: b4ba3fe0068b2391e24ebf9a0ec6f56a8ac224b4
      https://github.com/llvm/llvm-project/commit/b4ba3fe0068b2391e24ebf9a0ec6f56a8ac224b4
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
    A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/R600TargetMachine.h

  Log Message:
  -----------
  [NewPM][AMDGPU] Add CodeGenPassBuilder (#91040)

In order to test SelectionDAG for target AMDGPU, we need
CodeGenPassBuilder.


  Commit: ef890572f379273da09db964b9ea1b67aa324762
      https://github.com/llvm/llvm-project/commit/ef890572f379273da09db964b9ea1b67aa324762
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

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


  Commit: 9940620f6eab50deeaed0d976b2ea0afd007ba24
      https://github.com/llvm/llvm-project/commit/9940620f6eab50deeaed0d976b2ea0afd007ba24
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir

  Log Message:
  -----------
  [GISel][RISCV] Legalize G_CONSTANT_FOLD_BARRIER (#89960)

This patch supports `G_CONSTANT_FOLD_BARRIER` on RISCV to generate the
following inst seq without crash:
```
define i64 @xor_and_i64(i64 %x) {
entry:
  %y = and i64 %x, 16383
  %z = xor i64 %y, 16368
  ret i64 %z
}
```


  Commit: 8b8a38a7b426fc724804602d7635134a0c63f08c
      https://github.com/llvm/llvm-project/commit/8b8a38a7b426fc724804602d7635134a0c63f08c
  Author: David Green <david.green at arm.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine] Additional extend tests for shuffleToIdentity. NFC


  Commit: 689bba1eec31fa236e2febaa4bcf46bc89ba432b
      https://github.com/llvm/llvm-project/commit/689bba1eec31fa236e2febaa4bcf46bc89ba432b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [DAG] canCreateUndefOrPoison - merge INSERT_VECTOR_ELT/EXTRACT_VECTOR_ELT cases. NFC.

The only difference is the operand index for the element index variable.


  Commit: 7fc524fe080a69e79bd1ce8925e680350b7e9d44
      https://github.com/llvm/llvm-project/commit/7fc524fe080a69e79bd1ce8925e680350b7e9d44
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py

  Log Message:
  -----------
  [ctx_profile] Pass lib path into test

Fixes build after cfe9deb1353021a1c1fe4731ec3e90f702dbd43d on
https://lab.llvm.org/buildbot/#/builders/37/builds/34828


  Commit: e0217ee7829cf49bc0caa8b814f6acc4c4b0836d
      https://github.com/llvm/llvm-project/commit/e0217ee7829cf49bc0caa8b814f6acc4c4b0836d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/X86/pr92569.ll

  Log Message:
  -----------
  [DAG] canCreateUndefOrPoison - only compute extract/index vector elt index knownbits when not poison

We were calling computeKnownBits to determine the bounds of the element index without ensuring that it wasn't poison, meaning if we did freeze the index, isGuaranteedNotToBeUndefOrPoison would then fail as we can't call computeKnownBits through FREEZE for potentially poison values.

Fixes #92569


  Commit: 9f5c8de3864b0be27a8b36cd891c5a28a3acfd27
      https://github.com/llvm/llvm-project/commit/9f5c8de3864b0be27a8b36cd891c5a28a3acfd27
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [DAG] visitAVG - rewrite "fold (avgfloor x, 0) -> x >> 1" to use SDPatternMatch

No need for this to be vector specific, and its more likely that scalar cases will appear after #92096


  Commit: 7273ad123850a7b44c0625d098ebb49153bf855a
      https://github.com/llvm/llvm-project/commit/7273ad123850a7b44c0625d098ebb49153bf855a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [DAG] visitABD - rewrite "(abs x, 0)" folds to use SDPatternMatch

No need for this to be vector specific, and its more likely that scalar cases will appear after #92576


  Commit: ed9007d0d219726db01f211e9c9ab72fbfe4ecb1
      https://github.com/llvm/llvm-project/commit/ed9007d0d219726db01f211e9c9ab72fbfe4ecb1
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/attr-counted-by-vla.c

  Log Message:
  -----------
  Revert "[Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members"

Together with 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
breaks https://lab.llvm.org/buildbot/#/builders/5/builds/43403

Issue #92687

This reverts commit cef6387e52578366c2332275dad88b9953b55336.


  Commit: 6447abe067c8088a5cc093fe872719374e174068
      https://github.com/llvm/llvm-project/commit/6447abe067c8088a5cc093fe872719374e174068
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Type.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    R clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
    R clang/test/AST/attr-counted-by-struct-ptrs.c
    R clang/test/Sema/attr-counted-by-late-parsed-off.c
    R clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
    R clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
    R clang/test/Sema/attr-counted-by-struct-ptrs.c
    R clang/test/Sema/attr-counted-by-vla-sizeless-types.c
    R clang/test/Sema/attr-counted-by-vla.c
    A clang/test/Sema/attr-counted-by.c

  Log Message:
  -----------
  Revert "[BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (#90786)"

Memory leak: https://lab.llvm.org/buildbot/#/builders/5/builds/43403

Issue #92687

This reverts commit 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3.


  Commit: c587483da0b50efa04146fde205da1d16731e12e
      https://github.com/llvm/llvm-project/commit/c587483da0b50efa04146fde205da1d16731e12e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test

  Log Message:
  -----------
  Revert "[Bounds-Safety] Fix `pragma-attribute-supported-attributes-list.test`"

Issue #92687

This reverts commit 112eadd55f06bee15caadff688ea0b45acbfa804.


  Commit: 10edb4991c12738e60843d55cd9edbf6d702d9eb
      https://github.com/llvm/llvm-project/commit/10edb4991c12738e60843d55cd9edbf6d702d9eb
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTypeCache.h
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/eh.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
    M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
    M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-with-address-space.cpp
    M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
    M clang/test/CodeGenCXX/vtt-address-space.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp
    M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
    M llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
    M llvm/test/Transforms/Inline/inline_invoke.ll
    M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
    M llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [Clang][CodeGen] Start migrating away from assuming the Default AS is 0 (#88182)

At the moment, Clang is rather liberal in assuming that 0 (and by extension unqualified) is always a safe default. This does not work for targets that actually use a different value for the default / generic AS (for example, the SPIRV that obtains from HIPSPV or SYCL). This patch is a first, fairly safe step towards trying to clear things up by querying a modules' default AS from the target, rather than assuming it's 0, alongside fixing a few places where things break / we encode the 0 == DefaultAS assumption. A bunch of existing tests are extended to check for non-zero default AS usage.


  Commit: 0c7d268ba72767b70c7bf0bc8ae6422c509f94d8
      https://github.com/llvm/llvm-project/commit/0c7d268ba72767b70c7bf0bc8ae6422c509f94d8
  Author: aengelke <engelke at in.tum.de>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp

  Log Message:
  -----------
  [CodeGen][SDAG] Skip preferred extend at O0 (#92643)

This is a pure optimization to avoid redundant extensions, but iterating
over all users is expensive, so don't do this at -O0.


  Commit: 9e4ef0dee18c0c99325e8d56f16c149020e89d37
      https://github.com/llvm/llvm-project/commit/9e4ef0dee18c0c99325e8d56f16c149020e89d37
  Author: aengelke <engelke at in.tum.de>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

  Log Message:
  -----------
  [CodeGen][SDAG] Track returntwice in lowering info (#92640)

This saves an extra iteration over the all instructions of the function.


  Commit: eab92cb7f33be16a6a17549182e9237112b7a183
      https://github.com/llvm/llvm-project/commit/eab92cb7f33be16a6a17549182e9237112b7a183
  Author: Nhat Nguyen <nhat7203 at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Support/KnownBits.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [llvm] Add KnownBits implementations for avgFloor and avgCeil (#86445)

This PR is to address the issue #84640


  Commit: c1c1567d60983298a0db0efefd78899985464f19
      https://github.com/llvm/llvm-project/commit/c1c1567d60983298a0db0efefd78899985464f19
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/pow-to-ldexp.ll

  Log Message:
  -----------
  SimplifyLibCalls: Permit pow(2, x) -> ldexp(1, x) fold for vectors (#92532)


  Commit: b050048d35f6580fb427e6de9063444aa85625c6
      https://github.com/llvm/llvm-project/commit/b050048d35f6580fb427e6de9063444aa85625c6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll

  Log Message:
  -----------
  [VPlan] Simplify (X && Y) || (X && !Y) -> X. (#89386)

Simplify a common pattern generated for masks when folding the tail.

PR: https://github.com/llvm/llvm-project/pull/89386


  Commit: 643f36184bd3d9a95cbfd608af6f1cccc69e0187
      https://github.com/llvm/llvm-project/commit/643f36184bd3d9a95cbfd608af6f1cccc69e0187
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    A clang/docs/HLSL/AvailabilityDiagnostics.rst
    M clang/docs/HLSL/HLSLDocs.rst

  Log Message:
  -----------
  HLSL availability diagnostics design doc (#92207)

Design document for the HLSL availability diagnostic modes

Fixes microsoft/hlsl-specs#190

---------

Co-authored-by: Xiang Li <python3kgae at outlook.com>


  Commit: c34079c9455515fd1eb4feaa7613a57e88b7209d
      https://github.com/llvm/llvm-project/commit/c34079c9455515fd1eb4feaa7613a57e88b7209d
  Author: Isaac David <61389980+orion160 at users.noreply.github.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/docs/ORCv2.rst

  Log Message:
  -----------
  [DOCS] ORCv2.rst Typo (#89482)


  Commit: 3f33c4c14e79e68007cf1460e4a0e606eb199da5
      https://github.com/llvm/llvm-project/commit/3f33c4c14e79e68007cf1460e4a0e606eb199da5
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Index/CommentToXML.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Parser/attr-availability.c
    M clang/test/Sema/attr-availability-ios.c
    A clang/test/SemaHLSL/Availability/attr-availability-compute.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-errors.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-mesh.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
    R clang/test/SemaHLSL/AvailabilityMarkup.hlsl
    M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl

  Log Message:
  -----------
  [Clang][HLSL] Add environment parameter to availability attribute (#89809)

Add `environment` parameter to Clang availability attribute. The allowed
values for this parameter are a subset of values allowed in the
`llvm::Triple` environment component. If the `environment` parameters is
present, the declared availability attribute applies only to targets
with the same platform and environment.

This new parameter will be initially used for annotating HLSL functions
for the `shadermodel` platform because in HLSL built-in function
availability can depend not just on the shader model version (mapped to
`llvm::Triple::OSType`) but also on the target shader stage (mapped to
`llvm::Triple::EnvironmentType`). See example in #89802 and
microsoft/hlsl-specs#204 for more details.

The environment parameter is currently supported only for HLSL.

Fixes #89802


  Commit: 0cd2bf3521a52f255c2b0d466f2f48f15d4a89a9
      https://github.com/llvm/llvm-project/commit/0cd2bf3521a52f255c2b0d466f2f48f15d4a89a9
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/InstCombine/and-fcmp.ll
    M llvm/test/Transforms/InstCombine/or-fcmp.ll

  Log Message:
  -----------
  ValueTracking: Correct undef handling for constant FP vectors (#92557)

Treat undef as unknown, and poison as ignorable.


  Commit: 878642954f5178c55b337afe2bff4e6a92a67a5b
      https://github.com/llvm/llvm-project/commit/878642954f5178c55b337afe2bff4e6a92a67a5b
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/test/X86/bb-with-two-tail-calls.s

  Log Message:
  -----------
  [BOLT] Fix preserved offset in fixDoubleJumps (#92485)


  Commit: fb2c6597e39e9e1a775525ea0236b2f89e46acff
      https://github.com/llvm/llvm-project/commit/fb2c6597e39e9e1a775525ea0236b2f89e46acff
  Author: Leon Clark <PeddleSpam at users.noreply.github.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll

  Log Message:
  -----------
  [AMDGPU] Use LSH for lowering ctlz_zero_undef.i8/i16 (#88512)

Use LSH to lower ctlz_zero_undef instead of subtracting leading zeros
for i8 and i16.

Related to [77615](https://github.com/llvm/llvm-project/pull/77615).

---------

Co-authored-by: Leon Clark <leoclark at amd.com>


  Commit: ad625a407622ba5817ef58e30357139a40cf929e
      https://github.com/llvm/llvm-project/commit/ad625a407622ba5817ef58e30357139a40cf929e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [TableGen] Avoid std::string copy. NFC

Fix #92702


  Commit: 7892d434741ba0ac755e00ae96ca7cdcfaf82d35
      https://github.com/llvm/llvm-project/commit/7892d434741ba0ac755e00ae96ca7cdcfaf82d35
  Author: Ryuichi Watanabe <ryucrosskey at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M .github/workflows/llvm-bugs.yml

  Log Message:
  -----------
  Update llvm-bugs.yml (#77243)


  Commit: b603237b6c067e82a7c6b73adb7e18c8edfb40dd
      https://github.com/llvm/llvm-project/commit/b603237b6c067e82a7c6b73adb7e18c8edfb40dd
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Option/OptTable.cpp
    M llvm/lib/ProfileData/InstrProfCorrelator.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp

  Log Message:
  -----------
  [llvm] Use operator==(StringRef, StringRef) (NFC) (#92705)


  Commit: 2d5e488c98225108aebfe4aa4acfe6ec1f234a37
      https://github.com/llvm/llvm-project/commit/2d5e488c98225108aebfe4aa4acfe6ec1f234a37
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/unittests/Format/SortIncludesTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Clean up SortIncludesTest.cpp

Wherever applicable, replace EXPECT_EQ with verifyFormat and std::string
with StringRef. Also, change a raw string literal to a regular one.


  Commit: 2f52bbeb6f6f3b7abef19cb5297773d95aa0b434
      https://github.com/llvm/llvm-project/commit/2f52bbeb6f6f3b7abef19cb5297773d95aa0b434
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp

  Log Message:
  -----------
  [mlir] Use operator==(StringRef, StringRef) (NFC) (#92706)


  Commit: 5d3f296733b66281a53dd451a983e69ae0bb482f
      https://github.com/llvm/llvm-project/commit/5d3f296733b66281a53dd451a983e69ae0bb482f
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp

  Log Message:
  -----------
  [CallPromotionUtils]Implement conditional indirect call promotion with vtable-based comparison (#81378)

* Given the code sequence
   ```
   bb:
     %vtable = load ptr, ptr %d, !prof !8
     %vfn = getelementptr inbounds ptr, ptr %vtable, i64 1
     %1 = load ptr, ptr %vfn
     %call = tail call i32 %1(ptr %d), !prof !9
  ```
   The transformation looks like

   ```
   bb:
    %vtable = load ptr, ptr %d, align 8
    %vfn = getelementptr inbounds i8, ptr %vtable, i64 8  <-- Inst 1
    %func-addr = load ptr, ptr %vfn, align 8  <-- Inst 2
    # compare loaded pointers with address point of vtables
%1 = icmp eq ptr %vtable, getelementptr inbounds (i8, ptr @_ZTV<VTable>,
i32 16)
br i1 %1, label %if.true.direct_targ, label %if.false.orig_indirect,
!prof !18

  if.true.direct_targ:                              ; preds = %bb
    %2 = tail call i32 @<direct-call>(ptr nonnull %d)
    br label %if.end.icp

  if.false.orig_indirect:                           ; preds = %bb
    %call = tail call i32 %func-addr(ptr nonnull %d)
    br label %if.end.icp

if.end.icp: ; preds = %if.false.orig_indirect, %if.true.direct_targ
%4 = phi i32 [ %call, %if.false.orig_indirect ], [ %2,
%if.true.direct_targ ]

   ```
It's intentional that `Inst 1` and `Inst2` remains in `bb` (not in
`if.false.orig_indirect`). A follow up patch will implement code to sink
them (something like how `instcombine` would
[sink](https://github.com/llvm/llvm-project/blob/2fcfc9754a16805b81e541dc8222a8b5cf17a121/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4293)
instructions along with [debug
intrinsics](https://github.com/llvm/llvm-project/blob/2fcfc9754a16805b81e541dc8222a8b5cf17a121/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4356-L4368)
if possible)

* The parent patch is https://github.com/llvm/llvm-project/pull/81181


  Commit: d102ee63e849cdaa586fd1aaae900c1399bf2b76
      https://github.com/llvm/llvm-project/commit/d102ee63e849cdaa586fd1aaae900c1399bf2b76
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [clang] Use operator==(StringRef, StringRef) (NFC) (#92708)


  Commit: 0bced10f290bb96d675874a89f1b6789a2384e30
      https://github.com/llvm/llvm-project/commit/0bced10f290bb96d675874a89f1b6789a2384e30
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    A llvm/test/CodeGen/X86/vec-strict-cmp-512-skx.ll

  Log Message:
  -----------
  [SDAG][X86] Extend SplitVecOp_VSETCC for STRICT_FSETCC. (#92509)


  Commit: 89d0937348ebd4b55f17d503910be9300aa44a13
      https://github.com/llvm/llvm-project/commit/89d0937348ebd4b55f17d503910be9300aa44a13
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/IR/Mangler.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/TextAPI/Utils.cpp

  Log Message:
  -----------
  [llvm] Use StringRef::contains (NFC) (#92710)


  Commit: fc0144a30cf20d6405411da141d11bfde143d3d2
      https://github.com/llvm/llvm-project/commit/fc0144a30cf20d6405411da141d11bfde143d3d2
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/pr91418.cppm
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp

  Log Message:
  -----------
  [Serialization] Read the initializer for interesting static variables before consuming it (#92353)

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

Since we load the variable's initializers lazily, it'd be problematic if
the initializers dependent on each other. So here we try to load the
initializers of static variables to make sure they are passed to code
generator by order. If we read any thing interesting, we would consume
that before emitting the current declaration.


  Commit: 91423d71938d7a1dba27188e6d854148a750a3dd
      https://github.com/llvm/llvm-project/commit/91423d71938d7a1dba27188e6d854148a750a3dd
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M bolt/lib/Profile/YAMLProfileReader.cpp
    A bolt/test/X86/yaml-non-simple.test

  Log Message:
  -----------
  [BOLT][NFC] Don't assign YAML profile to functions with no CFG (#92487)

YAML profile for non-simple functions without CFG is
  1) useless for optimizations,
  2) can't be attached, similar to fdata profile,
  3) would be reported as invalid/stale even if the profile is valid.

Don't attempt to attach the profile in this case, aligning the behavior
to DataReader.

Test Plan: added yaml-non-simple.test


  Commit: 6bf1601a0d9a01fe663442096466d46800483e0c
      https://github.com/llvm/llvm-project/commit/6bf1601a0d9a01fe663442096466d46800483e0c
  Author: Monad <yanwqmonad at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/cast_ptr.ll

  Log Message:
  -----------
  [InstCombine] Fold pointer adding in integer to arithmetic add (#91596)

Fold
``` llvm
define i32 @src(i32 %x, i32 %y) {
  %base = inttoptr i32 %x to ptr
  %ptr = getelementptr inbounds i8, ptr %base, i32 %y
  %r = ptrtoint ptr %ptr to i32
  ret i32 %r
}
```
where both `%base` and `%ptr` have only one use, to
``` llvm
define i32 @tgt(i32 %x, i32 %y) {
  %r = add i32 %x, %y
  ret i32 %r
}
```

The `add` can be `nuw` if the GEP is `inbounds` and the offset is
non-negative. The relevant Alive2 proof is
https://alive2.llvm.org/ce/z/nP3RWy.

### Motivation

It seems unnecessary to convert `int` to `ptr` just to get its offset.
In most cases, they generates the same assembly, but sometimes it may
miss some optimizations since the analysis of `GEP` is not as perfect as
that of arithmetic operation. One example is


https://github.com/dtcxzyw/llvm-opt-benchmark/blob/e3c822bf41df3a88ca38eba884a52b0cc7e70bf2/bench/protobuf/optimized/generated_message_reflection.cc.ll#L39860-L39873

``` llvm
  %conv.i188 = zext i32 %145 to i64
  %add.i189 = add i64 %conv.i188, %125
  %146 = load i16, ptr %num_aux_entries10.i, align 2
  %conv2.i191 = zext i16 %146 to i64
  %mul.i192 = shl nuw nsw i64 %conv2.i191, 3
  %add3.i193 = add i64 %add.i189, %mul.i192
  %147 = inttoptr i64 %add3.i193 to ptr
  %sub.ptr.lhs.cast.i195 = ptrtoint ptr %144 to i64
  %sub.ptr.rhs.cast.i196 = ptrtoint ptr %143 to i64
  %sub.ptr.sub.i197 = sub i64 %sub.ptr.lhs.cast.i195, %sub.ptr.rhs.cast.i196
  %add.ptr = getelementptr inbounds i8, ptr %147, i64 %sub.ptr.sub.i197
  %sub.ptr.lhs.cast = ptrtoint ptr %add.ptr to i64
  %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %125
```

where `%conv.i188` first adds `%125` and then subtracts `%125` (the
result is `%sub.ptr.sub`), which can be optimized.


  Commit: ebbbc73667a68dcfbe09392a1d34050592b234fd
      https://github.com/llvm/llvm-project/commit/ebbbc73667a68dcfbe09392a1d34050592b234fd
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Use removeFnAttrFromReachable in lower-module-lds pass. (#92686)


  Commit: f6527774569790b5a5236f6e84f3f839ce6c2fff
      https://github.com/llvm/llvm-project/commit/f6527774569790b5a5236f6e84f3f839ce6c2fff
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll

  Log Message:
  -----------
  [AMDGPU] Fix kernarg preloading crash with some types and alignments (#91625)

Lowering of preloded arguments would fail with half/bfloat if they were
dword aligned in the kernarg segment and not part of a vector. Added
more tests with different alignments and types.


  Commit: 8de7890572296830b27b6e6db39b36810bc98c31
      https://github.com/llvm/llvm-project/commit/8de7890572296830b27b6e6db39b36810bc98c31
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    A llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/tools/llvm-link/llvm-link.cpp

  Log Message:
  -----------
  [ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option (#88024)

The goal is to populate `declaration` import status if a new flag`-import-declaration` is on.

* For in-process ThinLTO, the `declaration` status is visible to backend
`function-import` pass, so `FunctionImporter::importFunctions` should
read the import status and be no-op for declaration summaries.
Basically, the postlink pipeline is updated to keep its current behavior
(import definitions), but not updated to handle `declaration` summaries.
Two use cases (better call-graph sort and cross-module auto-init)
would use this bit differently.

* For distributed ThinLTO, the `declaration` status is not serialized to
bitcode. As discussed, https://github.com/llvm/llvm-project/pull/87600
will do this.

[1] https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5
[2] https://github.com/llvm/llvm-project/pull/87597#discussion_r1556067195


  Commit: d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
      https://github.com/llvm/llvm-project/commit/d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Serialization/ASTCommon.h
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [NFC] Remove unused ASTWriter::getTypeID

As the title suggests, the `ASTWriter:getTypeID` method is not used.
This patch removes it.


  Commit: b6e102e08cd35543175459494211a3a15f793302
      https://github.com/llvm/llvm-project/commit/b6e102e08cd35543175459494211a3a15f793302
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll

  Log Message:
  -----------
  [SCEV] Don't use non-deterministic constant folding for trip counts (#90942)

When calculating the exit count exhaustively, if any of the involved
operations is non-deterministic, the exit count we compute at
compile-time and the exit count at run-time may differ. Using these
non-deterministic constant folding results is only correct if we
actually replace all uses of the instruction with the value. SCEV (or
its consumers) generally don't do this.

Handle this by adding a new AllowNonDeterministic flag to the constant
folding API, and disabling it in SCEV. If non-deterministic results are
not allowed, do not fold FP lib calls in general, and FP operations
returning NaNs in particular. This could be made more precise (some FP
libcalls like fabs are fully deterministic), but I don't think this that
precise handling here is worthwhile.

Fixes the interesting part of
https://github.com/llvm/llvm-project/issues/89885.


  Commit: 6b0733e3a35350679ea9c6056ecd28652d99017f
      https://github.com/llvm/llvm-project/commit/6b0733e3a35350679ea9c6056ecd28652d99017f
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    R llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/tools/llvm-link/llvm-link.cpp

  Log Message:
  -----------
  Revert "[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option" (#92715)

Reverts llvm/llvm-project#88024

Build bot failures
(https://lab.llvm.org/buildbot/#/builders/259/builds/4727 and
https://lab.llvm.org/buildbot/#/builders/9/builds/43876)


  Commit: 32ae9a28a54f59f2b4e2f32323f53fb107ea1f85
      https://github.com/llvm/llvm-project/commit/32ae9a28a54f59f2b4e2f32323f53fb107ea1f85
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/CodeGen/ParallelCG.cpp
    M llvm/lib/LTO/LTOBackend.cpp

  Log Message:
  -----------
  [llvm] Use SmallString::str (NFC) (#92712)


  Commit: 7529fe2e92e79eef22a528a7168e4dd777d6e9bd
      https://github.com/llvm/llvm-project/commit/7529fe2e92e79eef22a528a7168e4dd777d6e9bd
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [AMDGPU] Only set Info.memVT when not later overridden (#92670)

For the amdgcn_*_buffer_load_lds intrinsics this field is later
overriden, so avoid pointlessly calling MVT::getVT in that case.
Importantly, this is also the only case I can find in tree where a
PointerType is passed to MVT::getVT, so this will allow us to forbid
doing so in future, keeping MVT::iPTR as originating solely from
TableGen as was claimed next to its definition in MachineValueType.h
(but lost in the autogeneration conversion).


  Commit: 9500a5d02e23f9b43294e5f662ac099f8989c0e4
      https://github.com/llvm/llvm-project/commit/9500a5d02e23f9b43294e5f662ac099f8989c0e4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/tools/driver/cc1as_main.cpp
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp

  Log Message:
  -----------
  [MC] Make UseAssemblerInfoForParsing mostly true

Commit 6c0665e22174d474050e85ca367424f6e02476be
(https://reviews.llvm.org/D45164) enabled certain constant expression
evaluation for `MCObjectStreamer` at parse time (e.g. `.if` directives,
see llvm/test/MC/AsmParser/assembler-expressions.s).

`getUseAssemblerInfoForParsing` was added to make `clang -c` handling
inline assembly similar to `MCAsmStreamer` (e.g. `llvm-mc -filetype=asm`),
where such expression folding (related to
`AttemptToFoldSymbolOffsetDifference`) is unavailable.

I believe this is overly conservative. We can make some parse-time
expression folding work for `clang -c` even if `clang -S` would still
report an error, a MCAsmStreamer issue (we cannot print `.if`
directives) that should not restrict the functionality of
MCObjectStreamer.

```
% cat b.cc
asm(R"(
.pushsection .text,"ax"
.globl _start; _start: ret
.if . -_start == 1
  ret
.endif
.popsection
)");
% gcc -S b.cc && gcc -c b.cc
% clang -S -fno-integrated-as b.cc     # succeeded

% clang -c b.cc     # succeeded with this patch
% clang -S b.cc     # still failed
<inline asm>:4:5: error: expected absolute expression
    4 | .if . -_start == 1
      |     ^
1 error generated.
```

However, removing `getUseAssemblerInfoForParsing` would make
MCDwarfFrameEmitter::Emit (for .eh_frame FDE) slow (~4% compile time
regression for sqlite3.c amalgamation) due to expensive
`AttemptToFoldSymbolOffsetDifference`. For now, make
`UseAssemblerInfoForParsing` false in MCDwarfFrameEmitter::Emit.

Close #62520
Link: https://discourse.llvm.org/t/rfc-clang-assembly-object-equivalence-for-files-with-inline-assembly/78841

Pull Request: https://github.com/llvm/llvm-project/pull/91082


  Commit: eac743d1b01fd44bc742e1ccc2be8360908bdbf8
      https://github.com/llvm/llvm-project/commit/eac743d1b01fd44bc742e1ccc2be8360908bdbf8
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
    M llvm/test/CodeGen/Mips/msa/inline-asm.ll

  Log Message:
  -----------
  MIPS: Support '%w' token in inline asm template for MSA (#91920)

MSA registers share the FPRs as its bottom half. So that we can use MSA
instructions to work with normal float/double:
   double a, b, c;
   asm volatile ("fmadd.d %w0, %w1, %w2" : "+f"(a) : "f"(b), "f"(c));

GCC has support it for quite long time.


  Commit: d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
      https://github.com/llvm/llvm-project/commit/d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/test/Driver/mips-as.c
    M clang/test/Driver/mips-features.c

  Log Message:
  -----------
  Clang/MIPS: Add +fp64 if MSA and no explicit -mfp option (#91949)

MSA requires -mfp64. If FP64 is supported by CPU (mips32r2+), and no
-mfp32/-mfpxx is explicitly given, let's add +fp64. Otherwise some cmd
like
   clang --target=mips -mips32r5 -mmsa
will issue LLVM backend ICE.


  Commit: 073488cb1f2ca131253efa3171bd56be34ba9fb3
      https://github.com/llvm/llvm-project/commit/073488cb1f2ca131253efa3171bd56be34ba9fb3
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Basic/Targets/Mips.h

  Log Message:
  -----------
  MIPS/Clang: Use FP32 by default if CPU is mips1 (#92122)

FP32 is the only supported FPMode of mips1.
FPXX requires MIPS2+ and FP64 requires MIPS32r2+.


  Commit: dd8cb3d4f120edcf5fc3939594ee086c44010274
      https://github.com/llvm/llvm-project/commit/dd8cb3d4f120edcf5fc3939594ee086c44010274
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/test/ELF/mips-eh_frame-pic.s

  Log Message:
  -----------
  [ELF] Support high address DW_EH_sdata4 for ELFCLASS32

When the address pointer encoding in FDEs uses
DW_EH_PE_absptr|DW_EH_PE_sdata4, the address is sign-extended to 64-bit
by `readFdeAddr`. We should truncate the address to 32-bit for
ELFCLASS32. Otherwise, `isInt<32>(pc - va)` could be false, leading to a
spurious error in `getFdeData`.

In LLVM, this appears a MIPS-specific issue.
Fix #88852

Pull Request: https://github.com/llvm/llvm-project/pull/92438


  Commit: 2143b7cd7d184b3f3bc4a997ea925ab7574c93f9
      https://github.com/llvm/llvm-project/commit/2143b7cd7d184b3f3bc4a997ea925ab7574c93f9
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    A llvm/test/CodeGen/PowerPC/pr92233.ll

  Log Message:
  -----------
  [PowerPC]perform bitcast lowering only at 64 bit

Perform bitcast lowering requires 64-bit to be native supported,
However this is not true on 32-bit targets. Explicitly require
64-bit target.

Fixes #92233


  Commit: a027bea438e285380450f5b380be072f44ee0312
      https://github.com/llvm/llvm-project/commit/a027bea438e285380450f5b380be072f44ee0312
  Author: hev <wangrui at loongson.cn>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll

  Log Message:
  -----------
  [LoongArch] Select {DIV,MOD}.{W,WU} instruction to eliminate explicit sign extension (#92205)


  Commit: 6582efc263c0df921b88b03bbdcd28a89daaa641
      https://github.com/llvm/llvm-project/commit/6582efc263c0df921b88b03bbdcd28a89daaa641
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/SemaCXX/type-traits.cpp

  Log Message:
  -----------
  [Clang] Fix __is_array returning true for zero-sized arrays (#86652)

Fixes #54705


  Commit: da6a0b7af29a222b2e16a10155b49d4fafe967f3
      https://github.com/llvm/llvm-project/commit/da6a0b7af29a222b2e16a10155b49d4fafe967f3
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Headers/opencl-c-base.h
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Sema/OpenCLBuiltins.td

  Log Message:
  -----------
  [OpenCL] Add cl_khr_kernel_clock builtins (#91950)


  Commit: 50b2bd4a25bb3a7a0790cb59e1240099efd7092e
      https://github.com/llvm/llvm-project/commit/50b2bd4a25bb3a7a0790cb59e1240099efd7092e
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/test/ExtractAPI/objc_external_category.m

  Log Message:
  -----------
  [clang][ExtractAPI] Remove symbols defined in categories to external types unless requested (#92522)

rdar://128259890


  Commit: b60e62896e2665e1a0ac51fc9942c1c4d31c0f53
      https://github.com/llvm/llvm-project/commit/b60e62896e2665e1a0ac51fc9942c1c4d31c0f53
  Author: Elvis Wang <110374989+ElvisWang123 at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/RISCV/cmp-select.ll

  Log Message:
  -----------
  [RISCV][CostModel] Remove cost of icmp inst in icmp+select with SFB. (#91158)

With ShortFowrardBranchOpt(SFB) or ConditionalMoveFusion, scalar
ICmp and scalar Select instructions will lower to SELECT_CC
and lower to PseudoCCMOVGPR which will generate a conditional
branch instruction and a move instruction.
The cost of scalar (ICmp + Select) = (0 + Select instruction cost)


  Commit: f5211d79b9edf56c08143491ccde38d480b40ab8
      https://github.com/llvm/llvm-project/commit/f5211d79b9edf56c08143491ccde38d480b40ab8
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    A llvm/test/Transforms/GVNSink/sink-ignore-dbg-intrinsics.ll

  Log Message:
  -----------
  [DebugInfo][GVNSink] Fix #77415: GVNSink fails to optimize LLVM IR with debug info (#77602)

This PR fixes issue #77415 and is revised from PR #77419 .

PR #77419 breaks the newly added test in the same PR on windows, because
GVNSink is non-deterministic when sorting `BasicBlock*` pointers. This
is reflected in the failure report.

```
# | C:\src\llvm-project\llvm\test\Transforms\GVNSink\sink-ignore-dbg-intrinsics.ll:28:10: error: CHECK: expected string not found in input
# | ; CHECK: %a.sink = phi i32 [ %a, %if.then ], [ %b, %if.else ]
# |          ^
# | <stdin>:24:8: note: scanning from here
# | if.end: ; preds = %if.else, %if.then
# |        ^
# | <stdin>:25:2: note: possible intended match here
# |  %b.sink = phi i32 [ %b, %if.else ], [ %a, %if.then ]
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\src\llvm-project\llvm\test\Transforms\GVNSink\sink-ignore-dbg-intrinsics.ll
```

According to the report, what the CheckFile wants to match is the
`%a.sink`, however there is `%b.sink`. But this mismatch does not mean
that this commit is wrong, since the occurrence of either `%a.sink` or
`%b.sink` is correct. The root cause of this test failure is the strict
check rule in the regression test committed.

So I refined the regression test with a more general check rule to only
detect whether there is an instruction with suffix `.sink` in the
`if.end` block. Hope this won't fail the test. If this PR still fails to
build, I will close this PR and try to find another right way to fix
this.


  Commit: d3d6565c2453be2f580ff12b32cc5d0cb5c6c9d8
      https://github.com/llvm/llvm-project/commit/d3d6565c2453be2f580ff12b32cc5d0cb5c6c9d8
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
    A llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir

  Log Message:
  -----------
  [AArch64] Add PreTest for optimizing `MOV` to `ORR`


  Commit: 384bf545a1a7d8dfd16afd20ef07eb845495bac4
      https://github.com/llvm/llvm-project/commit/384bf545a1a7d8dfd16afd20ef07eb845495bac4
  Author: bd1976bris <bd1976llvm at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/test/Driver/ps4-ps5-visibility-dllstorageclass.c
    A clang/test/Driver/ps4-visibility.cl
    A clang/test/Driver/ps5-visibility.cl

  Log Message:
  -----------
  [Driver][PS5] Set visibility option defaults (#92091)

Adjust the PS5 driver defaults for the -fvisibility-from-dllstorageclass
sub-options so that only globals with dllimport/dllexport annotations
are adjusted. This allows globals without dllimport/export to retain
the visibility and pre-emptability assigned during IR-Gen. Set
-fvisibility=hidden on PS5 by default to compensate for no longer
overriding the visibility of definitions without dllexport. Note there
is no behavior change for PS4 (the behavior of overriding the
visibility for all globals is retained on PS4).


  Commit: ce1a0d8ad380d12dc7ea001cfab3749bb23d445d
      https://github.com/llvm/llvm-project/commit/ce1a0d8ad380d12dc7ea001cfab3749bb23d445d
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ExpandImm.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir

  Log Message:
  -----------
  [AArch64] Optimize `MOV` to `ORR` when load symmetric constants (#86249)

This change looks for cases of symmetric constant loading.
`symmetric constant load` is when the upper 32 bits and lower 32 bits
of a 64-bit register load the same value.

When it finds this, it replaces it with an instruction that loads only
the lower 32 bits of the constant and stores it in the upper and lower
bits simultaneously.

For example:
  renamable $x8 = MOVZXi 49370, 0
  renamable $x8 = MOVKXi $x8, 320, 16
  renamable $x8 = MOVKXi $x8, 49370, 32
  renamable $x8 = MOVKXi $x8, 320, 48
becomes
  renamable $x8 = MOVZXi 49370, 0
  renamable $x8 = MOVKXi $x8, 320, 16
  renamable $x8 = ORRXrs $x8, $x8, 32


  Commit: 702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed
      https://github.com/llvm/llvm-project/commit/702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    A clang/test/CoverageMapping/mcdc-system-headers.cpp

  Log Message:
  -----------
  [Coverage] Rework !SystemHeadersCoverage (#91446)

- Introduce `LeafExprSet`,
  - Suppress traversing LAnd and LOr expr under system headers.
- Handle LAnd and LOr as instrumented leaves to override
`!isInstrumentedCondition(C)`.
- Replace Loc with FileLoc if it is expanded with system headers.

Fixes #78920


  Commit: 2217d1706a76d3f298899f824354ca9d96c45813
      https://github.com/llvm/llvm-project/commit/2217d1706a76d3f298899f824354ca9d96c45813
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py

  Log Message:
  -----------
  [lldb][Windows] Fixed LibcxxChronoTimePointSecondsSummaryProvider() (#92701)

This patch fixes #92574. It is a replacement for #92575.


  Commit: 8e8d2595dafa230a3da7f410200d89f05b6e8d87
      https://github.com/llvm/llvm-project/commit/8e8d2595dafa230a3da7f410200d89f05b6e8d87
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/test/CodeGen/RISCV/riscv-inline-asm.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGenCXX/atomicinit.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    M clang/test/Profile/c-unreachable-after-switch.c
    M compiler-rt/test/profile/Linux/counter_promo_for.c
    M compiler-rt/test/profile/Linux/counter_promo_while.c
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Other/constant-fold-gep.ll
    M llvm/test/Other/optimize-inrange-gep.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
    M llvm/test/Transforms/GVN/PRE/load-pre-licm.ll
    M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
    M llvm/test/Transforms/IndVarSimplify/D108043.ll
    M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
    M llvm/test/Transforms/IndVarSimplify/floating-point-small-iv.ll
    M llvm/test/Transforms/IndVarSimplify/lftr-dead-ivs.ll
    M llvm/test/Transforms/IndVarSimplify/lftr.ll
    M llvm/test/Transforms/InstCombine/addrspacecast.ll
    M llvm/test/Transforms/InstCombine/align-addr.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
    M llvm/test/Transforms/InstCombine/constant-fold-gep.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstCombine/force-opaque-ptr.ll
    M llvm/test/Transforms/InstCombine/fortify-folding.ll
    M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
    M llvm/test/Transforms/InstCombine/loadstore-alignment.ll
    M llvm/test/Transforms/InstCombine/memchr-2.ll
    M llvm/test/Transforms/InstCombine/memchr-4.ll
    M llvm/test/Transforms/InstCombine/memchr-6.ll
    M llvm/test/Transforms/InstCombine/memchr-7.ll
    M llvm/test/Transforms/InstCombine/memchr-8.ll
    M llvm/test/Transforms/InstCombine/memchr-9.ll
    M llvm/test/Transforms/InstCombine/memchr.ll
    M llvm/test/Transforms/InstCombine/memcmp-8.ll
    M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
    M llvm/test/Transforms/InstCombine/memrchr-3.ll
    M llvm/test/Transforms/InstCombine/memrchr-4.ll
    M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
    M llvm/test/Transforms/InstCombine/objsize.ll
    M llvm/test/Transforms/InstCombine/pr25342.ll
    M llvm/test/Transforms/InstCombine/pr33453.ll
    M llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/pr38984.ll
    M llvm/test/Transforms/InstCombine/pr83947.ll
    M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/select-and-or.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls-i16.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls.ll
    M llvm/test/Transforms/InstCombine/snprintf-2.ll
    M llvm/test/Transforms/InstCombine/snprintf-3.ll
    M llvm/test/Transforms/InstCombine/snprintf-4.ll
    M llvm/test/Transforms/InstCombine/stpcpy-1.ll
    M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
    M llvm/test/Transforms/InstCombine/stpncpy-1.ll
    M llvm/test/Transforms/InstCombine/str-int-2.ll
    M llvm/test/Transforms/InstCombine/str-int-3.ll
    M llvm/test/Transforms/InstCombine/str-int-4.ll
    M llvm/test/Transforms/InstCombine/str-int-5.ll
    M llvm/test/Transforms/InstCombine/str-int.ll
    M llvm/test/Transforms/InstCombine/strcall-bad-sig.ll
    M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
    M llvm/test/Transforms/InstCombine/strchr-1.ll
    M llvm/test/Transforms/InstCombine/strchr-3.ll
    M llvm/test/Transforms/InstCombine/strcmp-4.ll
    M llvm/test/Transforms/InstCombine/strlcpy-1.ll
    M llvm/test/Transforms/InstCombine/strlen-1.ll
    M llvm/test/Transforms/InstCombine/strlen-6.ll
    M llvm/test/Transforms/InstCombine/strpbrk-1.ll
    M llvm/test/Transforms/InstCombine/strrchr-1.ll
    M llvm/test/Transforms/InstCombine/strrchr-3.ll
    M llvm/test/Transforms/InstCombine/strstr-1.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstCombine/wcslen-1.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-alias.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-constanfolding-error.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/past-the-end.ll
    M llvm/test/Transforms/LoopStrengthReduce/2011-12-19-PostincQuadratic.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2012-01-13-phielim.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr42674.ll
    M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
    M llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll
    M llvm/test/Transforms/LoopVersioning/bound-check-partially-known.ll
    M llvm/test/Transforms/NewGVN/loadforward.ll
    M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
    M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
    M llvm/test/Transforms/SCCP/2009-09-24-byval-ptr.ll
    M llvm/test/Transforms/SCCP/apint-bigint2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll

  Log Message:
  -----------
  [ConstantFolding] Canonicalize constexpr GEPs to i8 (#89872)

This patch canonicalizes constant expression GEPs to use i8 source
element type, aka ptradd. This is the ConstantFolding equivalent of the
InstCombine canonicalization introduced in #68882.

I believe all our optimizations working on constant expression GEPs
(like GlobalOpt etc) have already been switched to work on offsets, so I
don't expect any significant fallout from this change.

This is part of:
https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699


  Commit: 21419071e197ca2f813a983c319a2213844dc72d
      https://github.com/llvm/llvm-project/commit/21419071e197ca2f813a983c319a2213844dc72d
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/shufflevector.ll

  Log Message:
  -----------
  InstSimplify: increase shufflevector test coverage (#92407)

Add examples of patterns that can be simplified, but are currently not.
This patch serves as a pre-commit test.


  Commit: 605ae4e93be8976095c7eedf5c08bfdb9ff71257
      https://github.com/llvm/llvm-project/commit/605ae4e93be8976095c7eedf5c08bfdb9ff71257
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang][HLFIR] Adapt SimplifyHLFIRIntrinsics to run on all top level ops (#92573)

This means that this pass will also run on hlfir intrinsics which are
not inside of functions.

See RFC:

https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations

Some of the changes are from moving the declaration and definition of
the constructor into tablegen (as requested during code review of
another pass).


  Commit: 1ef081b05c562936fc025dde39b444066d9d470f
      https://github.com/llvm/llvm-project/commit/1ef081b05c562936fc025dde39b444066d9d470f
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir

  Log Message:
  -----------
  movimm-expand-ldst.mir (d3d6565c2453) requires asserts


  Commit: 9f449c34278191193f2f2cbc96c333548ad20238
      https://github.com/llvm/llvm-project/commit/9f449c34278191193f2f2cbc96c333548ad20238
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [SLP] NFC. Use TreeEntry::getOperand if setOperandsInOrder is called (#92727)

already.


  Commit: 6733a505a1afb8eb4db2f6d85426d79ff0dc5eee
      https://github.com/llvm/llvm-project/commit/6733a505a1afb8eb4db2f6d85426d79ff0dc5eee
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td

  Log Message:
  -----------
  [MLIR][OpenMP] NFC: Split OpenMP dialect definitions (#91741)

This patch splits definitions for the OpenMP dialect into multiple files
to simplify the addition of new features, reduce merge conflicts, make
it easier to understand, etc. The split is based on the structure of the
more mature LLVMIR dialect. More specifically:

- The OpenMP dialect definition is located in OpenMPDialect.td.
- Base classes for OpenMP operations and types, as well as generic
OpenMP types are moved to OpenMPOpBase.td.
- OpenMP enumeration attributes, their case attributes and shared base
classes for these are placed in OpenMPEnums.td.
- Other OpenMP attributes are separated into OpenMPAttrDefs.td.
- OpenMPOps.td only contains operation definitions.

Even though this change should be useful on its own, it is intended as a
precursor to a follow-up PR in which operation arguments and attributes
are split into clause-specific classes which are then shared by all
operations to which they apply to. Without this prior change, that
approach would make the OpenMPOps.td file harder to navigate.


  Commit: f6ae8e6381a02b10091589d7742fab389f847ea9
      https://github.com/llvm/llvm-project/commit/f6ae8e6381a02b10091589d7742fab389f847ea9
  Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
    M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    M mlir/test/Dialect/IRDL/invalid.irdl.mlir

  Log Message:
  -----------
  [mlir][irdl] Fix missing verifier in irdl.parametric (#92700)

The parametric op was not checking the symbol it points to is a type or
attribute. This PR also fixes a small bug where an invalid IRDL file
would not end processing in mlir-opt. I also improved the error messages
for the already handled irdl.base invalid symbols.


  Commit: 82c5d350d200ccc5365d40eac187b9ec967af727
      https://github.com/llvm/llvm-project/commit/82c5d350d200ccc5365d40eac187b9ec967af727
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll

  Log Message:
  -----------
  [VPlan] Add commutative binary OR matcher, use in transform. (#92539)

Split off from https://github.com/llvm/llvm-project/pull/89386, this
extends the binary matcher to support matching commuative operations.
This is used for a new m_c_BinaryOr matcher, used in simplifyRecipe.

PR: https://github.com/llvm/llvm-project/pull/92539


  Commit: 36899d693d91719e7e6cd0f0ee4cf579111b8509
      https://github.com/llvm/llvm-project/commit/36899d693d91719e7e6cd0f0ee4cf579111b8509
  Author: Danila Malyutin <danilaml at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/CloneFunction.cpp

  Log Message:
  -----------
  [CloneFunction] Remove check that is no longer necessary (#92577)

We do not need to concern ourselves with CGSCC since all remaining CG
related updates went away in fa6ea7a419f37befbed04368bcb8af4c718facbb as
pointed out by @nikic in
https://github.com/llvm/llvm-project/pull/87963#issuecomment-2113937182.


  Commit: 04ae6e600a3090ccc1f80d0110a1108aa73a54f8
      https://github.com/llvm/llvm-project/commit/04ae6e600a3090ccc1f80d0110a1108aa73a54f8
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/unittests/Analysis/ValueTrackingTest.cpp

  Log Message:
  -----------
  [ValueTracking] Fix incorrect inferrence about the signbit of sqrt (#92510)

According to IEEE Std 754-2019, `sqrt` returns nan when the input is
negative (except for -0). In this case, we cannot make assumptions about
sign bit of the result.

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


  Commit: d108fa03d4ac1a2634fa0a1e9b3058f4196f261c
      https://github.com/llvm/llvm-project/commit/d108fa03d4ac1a2634fa0a1e9b3058f4196f261c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll

  Log Message:
  -----------
  [LAA] Add tests with invariant accesses using vector types.

Extra tests for https://github.com/llvm/llvm-project/pull/92307


  Commit: 1553b21f6d3b620b8e32121b974793342820ab8c
      https://github.com/llvm/llvm-project/commit/1553b21f6d3b620b8e32121b974793342820ab8c
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD alias: Fix missing template arg packs during the transformation (#92535)

clang rejects some valid code (see testcases) because of an incorrect
transformed deduction guides. This patch fixes it.

We miss the template argument packs during the transformation (`auto
(type-parameter-0-0...) -> Foo<>`). In
`TreeTransform::TransformTemplateArguments `, we have a logic of
handling template argument packs which were originally added to support
CTAD alias, it doesn't seem to be needed, we need to unpack them.


  Commit: d0dc29c2084a18c33b1b5b1cad9fd42215869746
      https://github.com/llvm/llvm-project/commit/d0dc29c2084a18c33b1b5b1cad9fd42215869746
  Author: jofrn <jofernau at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/test/TableGen/predicate-patfags.td
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen] HasOneUse builtin predicate on PatFrags (#91578)

This predicate tells GlobalISelEmitter and DAGISelEmitter to check that
the instruction to emit has only one use of its result. This can be used
on a PatFrag instead of defining custom predicates for both emitters per
record that requires it.


  Commit: 64e0835126d1cf3d36eb31fa1ebb4e286cc3bea7
      https://github.com/llvm/llvm-project/commit/64e0835126d1cf3d36eb31fa1ebb4e286cc3bea7
  Author: Andrew Ng <andrew.ng at sony.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
    M clang/test/CodeGenCXX/windows-itanium-dllexport.cpp

  Log Message:
  -----------
  [clang] Make PS template DLL attribute propagation the same as MSVC (#92549)

For PlayStation, make the propagation of DLL import/export attributes
for explicit template instantiations the same as MSVC and Windows
Itanium.


  Commit: c2f92a33464bd9b76007ad5817952000add0033e
      https://github.com/llvm/llvm-project/commit/c2f92a33464bd9b76007ad5817952000add0033e
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    A llvm/test/Transforms/NaryReassociate/preserving-debugloc-add-mul.ll

  Log Message:
  -----------
  [DebugInfo][NaryReassociate] Fix missing debug location updates (#92545)

Fixes #92537


  Commit: 60fe1e9e657180cc66dc5b1211b06144f010852b
      https://github.com/llvm/llvm-project/commit/60fe1e9e657180cc66dc5b1211b06144f010852b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/ARCMigrate/ARCMT.cpp
    M clang/lib/ARCMigrate/ObjCMT.cpp
    M clang/lib/Sema/SemaExpr.cpp

  Log Message:
  -----------
  [clang] Use SmallString::str (NFC) (#92717)


  Commit: 2a90d59fc3905d3d56dac99fa25640a6d6a7bad2
      https://github.com/llvm/llvm-project/commit/2a90d59fc3905d3d56dac99fa25640a6d6a7bad2
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M libcxx/src/locale.cpp

  Log Message:
  -----------
  [libcxx] locale.cpp: Move build_name helper into unnamed namespace (#92461)

Fix linkage of `build_name`; it is not supposed to have external
linkage.


  Commit: 3df7cb9ab9d2cc347efd5748dfc81fdb2082e529
      https://github.com/llvm/llvm-project/commit/3df7cb9ab9d2cc347efd5748dfc81fdb2082e529
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    R offload/plugins-nextgen/exports

  Log Message:
  -----------
  [Offload] Remove unused version script for plugins

Summary:
The plugins are no longer linked to a share library, making this unused
and useless.


  Commit: 02f1a992035f40b49435f0e7f358badd152d9dc2
      https://github.com/llvm/llvm-project/commit/02f1a992035f40b49435f0e7f358badd152d9dc2
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    A llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll
    A llvm/test/Transforms/DivRemPairs/AMDGPU/lit.local.cfg

  Log Message:
  -----------
  [DivRemPairs] Pre-commit tests for PR #92627 (#92628)

The tests are added to a new AMDGPU/ subdirectory since I found the
missed optimization while hacking on AMDGPU code. Also, this ensures
that AMDGPU, which uses DivRemPass, is being checked for existing
expected behavior.


  Commit: 8b22bb8a62a259e35ccc49fb2f50077a2772cf2f
      https://github.com/llvm/llvm-project/commit/8b22bb8a62a259e35ccc49fb2f50077a2772cf2f
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DivRemPairs.cpp
    M llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll

  Log Message:
  -----------
  [DivRemPairs] Do not freeze poisons that can't be undef (#92627)

Per comments in DivRemPairs, the rewrite from
```llvm
    %div = div %X, %Y
    %rem = rem %X, %Y
```
to
```llvm
    %div = div %X, %Y
    %.mul = mul %div, %Y
    %rem = sub %X, %mul
```
is unsound when %X or %Y are undef.

However, it is known to be sound if %X or %Y are poison but can't be
undef, since both the pre- and post-rewrite %rem are `poison`.

Additionally, proofs: https://alive2.llvm.org/ce/z/xtNQ8j

A comment in the pass listed a TODO for changing a usage of
isGuaranteedNotToBeUndefOrPoison() in the pass to something that only
detects undef. Such a function has been implemented since the time that
TODO was written, but has not been used.

Therefore, this commit updates DivRemPairs to use
isGuaranteedNotToBeUndef() instead.


  Commit: e33db249b53fb70dce62db3ebd82d42239bd1d9d
      https://github.com/llvm/llvm-project/commit/e33db249b53fb70dce62db3ebd82d42239bd1d9d
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    A llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/tools/llvm-link/llvm-link.cpp

  Log Message:
  -----------
  Reland "[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option" (#92718)

The original PR is reviewed in
https://github.com/llvm/llvm-project/pull/88024, and this PR adds one
line (https://github.com/llvm/llvm-project/pull/92718/commits/b9f04d199dec4f3c221d981dcb91e55298d0693f)
to fix test

Limit to one thread for in-process ThinLTO to test `LLVM_DEBUG` log.
- This should fix build bot failure like
https://lab.llvm.org/buildbot/#/builders/259/builds/4727 and
https://lab.llvm.org/buildbot/#/builders/9/builds/43876
- I could repro the failure and see interleaved log messages by using
`-thinlto-threads=all`

**Original Commit Message:**

The goal is to populate `declaration` import status if a new flag
`-import-declaration` is on.

* For in-process ThinLTO, the `declaration` status is visible to backend
`function-import` pass, so `FunctionImporter::importFunctions` should
read the import status and be no-op for declaration summaries.
Basically, the postlink pipeline is updated to keep its current behavior
(import definitions), but not updated to handle `declaration` summaries.
Two use cases ([better call-graph
sort](https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5)
or [cross-module
auto-init](https://github.com/llvm/llvm-project/pull/87597#discussion_r1556067195))
would use this bit differently.

* For distributed ThinLTO, the `declaration` status is not serialized to
bitcode. As discussed, https://github.com/llvm/llvm-project/pull/87600
will do this.


  Commit: 3efaf9caa56393597839b796d34f92459c711605
      https://github.com/llvm/llvm-project/commit/3efaf9caa56393597839b796d34f92459c711605
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix crash when diagnosing near-match for 'constexpr' redeclaration in C++11 (#92452)

Clang crashes when diagnosing the following invalid redeclaration in
C++11:
```
struct A {
  void f();
};

constexpr void A::f() { } // crash here
```
This happens because `DiagnoseInvalidRedeclaration` tries to create a
fix-it to remove `const` from the out-of-line declaration of `f`, but
there is no `SourceLocation` for the `const` qualifier (it's implicitly
`const` due to `constexpr`) and an assert in
`FunctionTypeInfo::getConstQualifierLoc` fails.

This patch changes `DiagnoseInvalidRedeclaration` to only suggest the removal of the
`const` qualifier when it was explicitly specified in the _cv-qualifier-seq_ of the declaration.


  Commit: 2a2b27d99e3faf34a593c1ed8029ed4744f1cd5d
      https://github.com/llvm/llvm-project/commit/2a2b27d99e3faf34a593c1ed8029ed4744f1cd5d
  Author: David Truby <david.truby at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt

  Log Message:
  -----------
  [flang] Fix CMake dependency in CUF/Attributes (#92751)

flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp includes
CUFDialect.h.inc, but the target generating that isn't currently
depended on in CUF/Attributes. This patch adds that missing dependency.

Fixes #92635


  Commit: 9f3fdbd85a3d5531b4acbc24746eeb9d3b48a2ba
      https://github.com/llvm/llvm-project/commit/9f3fdbd85a3d5531b4acbc24746eeb9d3b48a2ba
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/issue-subscriber.yml
    M .github/workflows/llvm-bugs.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-request-release-note.yml
    M .github/workflows/pr-subscriber.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/version-check.yml
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/test/X86/bb-with-two-tail-calls.s
    A bolt/test/X86/yaml-non-simple.test
    M clang-tools-extra/clang-query/CMakeLists.txt
    M clang-tools-extra/clang-query/Query.cpp
    M clang-tools-extra/clang-query/Query.h
    M clang-tools-extra/clang-query/QueryParser.cpp
    M clang-tools-extra/clang-query/QuerySession.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
    M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
    M clang/cmake/caches/HLSL.cmake
    A clang/docs/HLSL/AvailabilityDiagnostics.rst
    M clang/docs/HLSL/HLSLDocs.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/SourceManager.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/include/clang/Lex/LiteralSupport.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    R clang/include/clang/Tooling/NodeIntrospection.h
    M clang/lib/ARCMigrate/ARCMT.cpp
    M clang/lib/ARCMigrate/ObjCMT.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/TypeTraits.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTypeCache.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/opencl-c-base.h
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Index/CommentToXML.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/OpenCLBuiltins.td
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
    M clang/lib/Tooling/CMakeLists.txt
    R clang/lib/Tooling/DumpTool/APIData.h
    R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.cpp
    R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.h
    R clang/lib/Tooling/DumpTool/CMakeLists.txt
    R clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
    R clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
    R clang/lib/Tooling/EmptyNodeIntrospection.inc.in
    R clang/lib/Tooling/NodeIntrospection.cpp
    M clang/test/AST/Interp/builtin-functions.cpp
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/AST/ast-dump-default-init-json.cpp
    M clang/test/AST/ast-dump-default-init.cpp
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-lambda.cpp
    M clang/test/AST/const-fpfeatures.c
    M clang/test/AST/const-fpfeatures.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    M clang/test/Analysis/lifetime-extended-regions.cpp
    M clang/test/C/C2x/n2900_n3011.c
    M clang/test/C/C2x/n2900_n3011_2.c
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
    M clang/test/CXX/drs/cwg11xx.cpp
    M clang/test/CXX/drs/cwg13xx.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/CXX/drs/cwg25xx.cpp
    A clang/test/CXX/drs/cwg2630.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg9xx.cpp
    A clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
    M clang/test/CXX/over/over.built/ast.cpp
    M clang/test/CXX/over/over.built/p10.cpp
    M clang/test/CXX/over/over.built/p11.cpp
    A clang/test/CXX/over/over.oper/over.oper.general/p1.cpp
    M clang/test/CXX/special/class.temporary/p6.cpp
    A clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p2.cpp
    A clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.partial/p3.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
    M clang/test/CodeGen/RISCV/riscv-inline-asm.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
    M clang/test/CodeGen/array-init.c
    M clang/test/CodeGen/attr-counted-by.c
    A clang/test/CodeGen/clspv_libclc_builtin.c
    M clang/test/CodeGenCXX/atomicinit.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/eh.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
    M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
    M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-with-address-space.cpp
    M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
    M clang/test/CodeGenCXX/vtt-address-space.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp
    M clang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
    M clang/test/CodeGenCXX/windows-itanium-dllexport.cpp
    M clang/test/CoverageMapping/coroutine.cpp
    A clang/test/CoverageMapping/decomposition.cpp
    A clang/test/CoverageMapping/mcdc-system-headers.cpp
    A clang/test/Driver/flang/msvc-link.f90
    M clang/test/Driver/frelaxed-template-template-args.cpp
    M clang/test/Driver/mips-as.c
    M clang/test/Driver/mips-features.c
    M clang/test/Driver/ps4-ps5-visibility-dllstorageclass.c
    A clang/test/Driver/ps4-visibility.cl
    A clang/test/Driver/ps5-visibility.cl
    M clang/test/Driver/riscv-profiles.c
    M clang/test/ExtractAPI/class_template.cpp
    M clang/test/ExtractAPI/class_template_param_inheritance.cpp
    M clang/test/ExtractAPI/class_template_partial_spec.cpp
    M clang/test/ExtractAPI/class_template_spec.cpp
    M clang/test/ExtractAPI/concept.cpp
    M clang/test/ExtractAPI/field_template.cpp
    M clang/test/ExtractAPI/global_func_template.cpp
    M clang/test/ExtractAPI/global_func_template_spec.cpp
    M clang/test/ExtractAPI/global_var_template.cpp
    M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
    M clang/test/ExtractAPI/global_var_template_spec.cpp
    M clang/test/ExtractAPI/method_template.cpp
    M clang/test/ExtractAPI/method_template_spec.cpp
    A clang/test/ExtractAPI/non_type_template.cpp
    M clang/test/ExtractAPI/objc_external_category.m
    M clang/test/Frontend/noderef_templates.cpp
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/Modules/pr91418.cppm
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    M clang/test/OpenMP/task_ast_print.cpp
    M clang/test/Parser/attr-availability.c
    M clang/test/Profile/c-unreachable-after-switch.c
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
    M clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
    M clang/test/Sema/aarch64-sme2p1-diagnostics.c
    M clang/test/Sema/attr-availability-ios.c
    M clang/test/Sema/bool-compare.c
    M clang/test/Sema/compound-literal.c
    M clang/test/Sema/parentheses.cpp
    M clang/test/SemaCXX/auto-cxx0x.cpp
    M clang/test/SemaCXX/bool-compare.cpp
    M clang/test/SemaCXX/constexpr-default-arg.cpp
    M clang/test/SemaCXX/cxx-deprecated.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaCXX/eval-crashes.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
    A clang/test/SemaHLSL/Availability/attr-availability-compute.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-errors.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-mesh.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
    R clang/test/SemaHLSL/AvailabilityMarkup.hlsl
    M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl
    M clang/test/SemaTemplate/class-template-spec.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/typo-dependent-name.cpp
    M clang/test/SemaTemplate/typo-template-name.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-fuzzer/dictionary/dictionary.c
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
    M clang/unittests/CMakeLists.txt
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    R clang/unittests/Introspection/CMakeLists.txt
    R clang/unittests/Introspection/IntrospectionTest.cpp
    M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
    M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
    M clang/unittests/StaticAnalyzer/ConflictingEvalCallsTest.cpp
    M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
    M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
    M clang/unittests/StaticAnalyzer/NoStateChangeFuncVisitorTest.cpp
    A clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    M compiler-rt/lib/scudo/standalone/combined.h
    A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py
    M compiler-rt/test/profile/Linux/counter_promo_for.c
    M compiler-rt/test/profile/Linux/counter_promo_while.c
    M compiler-rt/test/tsan/signal_in_mutex_lock.cpp
    M flang/docs/Intrinsics.md
    M flang/include/flang/Frontend/FrontendActions.h
    M flang/include/flang/Frontend/FrontendOptions.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
    A flang/include/flang/Optimizer/Dialect/CUF/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
    A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
    A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
    A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Runtime/time-intrinsic.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/tools.h
    M flang/include/flang/Semantics/unparse-with-symbols.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Evaluate/fold.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
    A flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/CUFDialect.cpp
    A flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIRDialect.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
    M flang/lib/Parser/executable-parsers.cpp
    M flang/lib/Parser/openacc-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-purity.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/lib/Semantics/resolve-directives.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/lib/Semantics/unparse-with-symbols.cpp
    A flang/module/cudadevice.f90
    M flang/runtime/CMakeLists.txt
    M flang/runtime/descriptor-io.h
    A flang/runtime/io-api-common.h
    A flang/runtime/io-api-minimal.cpp
    M flang/runtime/io-api.cpp
    M flang/runtime/time-intrinsic.cpp
    M flang/runtime/tools.h
    M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
    M flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
    A flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir
    M flang/test/Driver/frontend-forwarding.f90
    M flang/test/Driver/include-omp-header.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    A flang/test/Driver/unparse-with-modules.f90
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/cuf-invalid.fir
    M flang/test/Fir/cuf.mlir
    M flang/test/Fir/loop01.fir
    M flang/test/Fir/omp-reduction-embox-codegen.fir
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
    M flang/test/Lower/CUDA/cuda-mod.cuf
    M flang/test/Lower/CUDA/cuda-module-use.cuf
    M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
    A flang/test/Lower/CUDA/cuda-program-global.cuf
    A flang/test/Lower/Intrinsics/etime-function.f90
    A flang/test/Lower/Intrinsics/etime.f90
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/atomic-capture.f90
    M flang/test/Lower/OpenMP/atomic-read.f90
    M flang/test/Lower/OpenMP/atomic-update.f90
    M flang/test/Lower/OpenMP/atomic-write.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-sections.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/parallel.f90
    M flang/test/Lower/OpenMP/sections.f90
    M flang/test/Lower/OpenMP/single.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/taskgroup.f90
    M flang/test/Lower/OpenMP/teams.f90
    M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90
    M flang/test/Lower/array-substring.f90
    M flang/test/Lower/do_loop.f90
    M flang/test/Lower/do_loop_unstructured.f90
    M flang/test/Lower/infinite_loop.f90
    M flang/test/Lower/io-implied-do-fixes.f90
    M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
    M flang/test/Parser/OpenMP/allocate-tree.f90
    M flang/test/Parser/OpenMP/target_device_parse.f90
    M flang/test/Parser/cuf-sanity-common
    M flang/test/Parser/cuf-sanity-unparse.CUF
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate-directive.f90
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate08.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    A flang/test/Semantics/OpenMP/atomic-update-overloaded-ops.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic04.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/critical-hint-clause.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    M flang/test/Semantics/OpenMP/nested-distribute.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M flang/test/Semantics/OpenMP/sections02.f90
    M flang/test/Semantics/OpenMP/sync-critical02.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90
    M flang/test/Semantics/bind-c03.f90
    M flang/test/Semantics/bind-c09.f90
    M flang/test/Semantics/bind-c12.f90
    A flang/test/Semantics/bind-c15.f90
    A flang/test/Semantics/cuf-device-procedures01.cuf
    A flang/test/Semantics/cuf-device-procedures02.cuf
    M flang/test/Semantics/entry01.f90
    A flang/test/Semantics/etime.f90
    A flang/test/Semantics/pure02.f90
    A flang/test/Semantics/reduce.cuf
    M flang/test/Semantics/resolve102.f90
    M flang/test/Semantics/resolve81.f90
    M flang/test/Semantics/resolve82.f90
    M flang/test/Transforms/debug-line-table-inc-file.fir
    M flang/test/Transforms/debug-line-table.fir
    M flang/test/Transforms/debug-local-var-2.f90
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/bbc/bbc.cpp
    M flang/tools/f18/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/tco/CMakeLists.txt
    M flang/unittests/Optimizer/CMakeLists.txt
    M flang/unittests/Optimizer/FortranVariableTest.cpp
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h
    M libclc/generic/include/clc/clcfunc.h
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/__algorithm/simd_utils.h
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/include/version
    M libcxx/src/atomic.cpp
    M libcxx/src/chrono.cpp
    M libcxx/src/locale.cpp
    M libcxx/test/std/iterators/predef.iterators/iterators.common/arrow.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxxabi/src/cxa_guard_impl.h
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/test/ELF/aarch64-reloc-pauth.s
    M lld/test/ELF/arm-exidx-shared.s
    M lld/test/ELF/emulation-loongarch.s
    R lld/test/ELF/loongarch-relax-align-ldr.s
    M lld/test/ELF/loongarch-relax-emit-relocs.s
    M lld/test/ELF/mips-eh_frame-pic.s
    M lld/test/ELF/mips-tls-hilo.s
    M lld/test/ELF/ppc32-reloc-rel.s
    M lld/test/ELF/ppc64-pcrel-call-to-extern.s
    M lld/test/ELF/ppc64-toc-relax-ifunc.s
    M lld/test/ELF/riscv-gp.s
    M lld/test/MachO/install-name.s
    M lld/test/MachO/objc-methname.s
    M lldb/bindings/CMakeLists.txt
    M lldb/bindings/headers.swig
    M lldb/bindings/interfaces.swig
    M lldb/bindings/lua/CMakeLists.txt
    M lldb/bindings/python/CMakeLists.txt
    M lldb/docs/index.rst
    A lldb/docs/resources/lldbdap.md
    M lldb/docs/use/variable.rst
    M lldb/include/lldb/API/SBExpressionOptions.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/API/SBExpressionOptions.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Target/PathMappingList.cpp
    M lldb/source/Target/Process.cpp
    M lldb/test/API/functionalities/avoids-fd-leak/TestFdLeak.py
    M lldb/test/API/functionalities/completion/TestCompletion.py
    A lldb/test/API/functionalities/data-formatter/custom-printf-summary/Makefile
    A lldb/test/API/functionalities/data-formatter/custom-printf-summary/TestCustomSummaryLLVMFormat.py
    A lldb/test/API/functionalities/data-formatter/custom-printf-summary/main.c
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
    M lldb/test/API/functionalities/postmortem/netbsd-core/TestNetBSDCore.py
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
    M lldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py
    M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
    M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
    M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
    A lldb/test/API/tools/lldb-dap/repl-mode/Makefile
    A lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
    A lldb/test/API/tools/lldb-dap/repl-mode/main.cpp
    M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
    M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
    M lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/README.md
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/tools/lldb-dap/package.json
    M llvm/docs/GlobalISel/MIRPatterns.rst
    M llvm/docs/ORCv2.rst
    M llvm/docs/SPIRVUsage.rst
    M llvm/docs/VectorizationPlan.rst
    M llvm/docs/conf.py
    A llvm/docs/vplan-scope.png
    A llvm/docs/vplan-transform-pipeline.png
    M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/include/llvm/Analysis/AliasSetTracker.h
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/MC/MCAsmMacro.h
    M llvm/include/llvm/MC/MCContext.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    A llvm/include/llvm/ProfileData/PGOCtxProfReader.h
    A llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
    M llvm/include/llvm/Support/Error.h
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/include/llvm/TableGen/Record.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitstream/Reader/BitstreamReader.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/ParallelCG.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/DWARFLinker/Parallel/OutputSections.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/Mangler.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MCAsmParser.cpp
    M llvm/lib/MC/MCSectionELF.cpp
    M llvm/lib/Object/COFFObjectFile.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Object/WindowsResource.cpp
    M llvm/lib/Option/OptTable.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/CMakeLists.txt
    M llvm/lib/ProfileData/InstrProfCorrelator.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/ProfileData/MemProf.cpp
    A llvm/lib/ProfileData/PGOCtxProfReader.cpp
    A llvm/lib/ProfileData/PGOCtxProfWriter.cpp
    M llvm/lib/Support/CommandLine.cpp
    M llvm/lib/Support/KnownBits.cpp
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandImm.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.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/GISel/AArch64PostSelectOptimize.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
    A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/R600TargetMachine.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.cpp
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVProfiles.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/Target/X86/X86ScheduleZnver3.td
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/TextAPI/Utils.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/Scalar/DivRemPairs.cpp
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Analysis/CostModel/RISCV/cmp-select.ll
    A llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
    M llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll
    M llvm/test/Bindings/llvm-c/debug_info.ll
    A llvm/test/Bindings/llvm-c/debug_info_new_format.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
    M llvm/test/CodeGen/AArch64/aarch64-mulv.ll
    M llvm/test/CodeGen/AArch64/aarch64-smull.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
    A llvm/test/CodeGen/AArch64/arm64ec-symbols.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/frem-power2.ll
    M llvm/test/CodeGen/AArch64/insertextract.ll
    A llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
    A llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir
    M llvm/test/CodeGen/AArch64/ptradd.ll
    M llvm/test/CodeGen/AArch64/reduce-and.ll
    M llvm/test/CodeGen/AArch64/reduce-or.ll
    M llvm/test/CodeGen/AArch64/reduce-xor.ll
    M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
    A llvm/test/CodeGen/AArch64/selectopt-not.ll
    M llvm/test/CodeGen/AArch64/sme-support-routines-calling-convention.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll
    M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
    A llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/cttz.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/waitcnt-preexisting.mir
    M llvm/test/CodeGen/ARM/frem-power2.ll
    M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
    M llvm/test/CodeGen/LoongArch/e_flags.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
    A llvm/test/CodeGen/LoongArch/libcall-extend.ll
    M llvm/test/CodeGen/LoongArch/sextw-removal.ll
    M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
    M llvm/test/CodeGen/LoongArch/target-abi-from-triple-edge-cases.ll
    A llvm/test/CodeGen/LoongArch/target-abi.ll
    M llvm/test/CodeGen/Mips/msa/inline-asm.ll
    A llvm/test/CodeGen/NVPTX/i1-array-global.ll
    A llvm/test/CodeGen/NVPTX/param-overalign.ll
    A llvm/test/CodeGen/NVPTX/st-param-imm.ll
    M llvm/test/CodeGen/PowerPC/pr44183.ll
    A llvm/test/CodeGen/PowerPC/pr92233.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir
    M llvm/test/CodeGen/RISCV/attributes.ll
    A llvm/test/CodeGen/RISCV/pr92193.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
    M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/builtin_alloca.ll
    A llvm/test/CodeGen/SPIRV/phi-insert-point.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-cost.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
    A llvm/test/CodeGen/X86/apx/ccmp-flags-copy-lowering.mir
    M llvm/test/CodeGen/X86/atomic-non-integer-fp128.ll
    M llvm/test/CodeGen/X86/atomic-non-integer.ll
    A llvm/test/CodeGen/X86/atomic-unaligned.ll
    M llvm/test/CodeGen/X86/atomic-unordered.ll
    M llvm/test/CodeGen/X86/atomic128.ll
    M llvm/test/CodeGen/X86/bfloat.ll
    A llvm/test/CodeGen/X86/big-array-init.ll
    M llvm/test/CodeGen/X86/cmpxchg-i128-i1.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
    A llvm/test/CodeGen/X86/pr92569.ll
    M llvm/test/CodeGen/X86/rot32.ll
    A llvm/test/CodeGen/X86/vec-strict-cmp-512-skx.ll
    M llvm/test/CodeGen/X86/vector-bitreverse.ll
    M llvm/test/CodeGen/X86/vector_splat-const-shift-of-constmasked.ll
    A llvm/test/DebugInfo/AArch64/merge-locations-legalizer.mir
    A llvm/test/DebugInfo/X86/debug-names-split-dwarf-inlining.ll
    M llvm/test/ExecutionEngine/JITLink/AArch64/ELF_relocations.s
    M llvm/test/MC/AsmParser/macro-arg.s
    M llvm/test/MC/AsmParser/macro-at-pseudo-variable.s
    M llvm/test/MC/AsmParser/macro-irp.s
    R llvm/test/MC/AsmParser/macro-rept-err1.s
    R llvm/test/MC/AsmParser/macro-rept-err2.s
    M llvm/test/MC/AsmParser/macro-rept.s
    M llvm/test/MC/ELF/section-numeric-invalid-type.s
    M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
    M llvm/test/MC/LoongArch/Relocations/relax-align.s
    M llvm/test/Other/constant-fold-gep.ll
    M llvm/test/Other/optimize-inrange-gep.ll
    A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-permutations.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/patfrag-errors.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterHwModes.td
    M llvm/test/TableGen/predicate-patfags.td
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    A llvm/test/ThinLTO/X86/import_callee_declaration.ll
    A llvm/test/ThinLTO/X86/ref-ifunc.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    A llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll
    A llvm/test/Transforms/DivRemPairs/AMDGPU/lit.local.cfg
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
    M llvm/test/Transforms/GVN/PRE/load-pre-licm.ll
    M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
    M llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
    A llvm/test/Transforms/GVNSink/sink-ignore-dbg-intrinsics.ll
    A llvm/test/Transforms/GlobalOpt/alias-weak.ll
    M llvm/test/Transforms/IndVarSimplify/D108043.ll
    M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
    M llvm/test/Transforms/IndVarSimplify/floating-point-small-iv.ll
    M llvm/test/Transforms/IndVarSimplify/lftr-dead-ivs.ll
    M llvm/test/Transforms/IndVarSimplify/lftr.ll
    M llvm/test/Transforms/Inline/inline_invoke.ll
    M llvm/test/Transforms/InstCombine/addrspacecast.ll
    M llvm/test/Transforms/InstCombine/align-addr.ll
    M llvm/test/Transforms/InstCombine/and-fcmp.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/cast_ptr.ll
    M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
    M llvm/test/Transforms/InstCombine/constant-fold-gep.ll
    M llvm/test/Transforms/InstCombine/exp2-1.ll
    M llvm/test/Transforms/InstCombine/exp2-to-ldexp.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstCombine/force-opaque-ptr.ll
    M llvm/test/Transforms/InstCombine/fortify-folding.ll
    M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
    M llvm/test/Transforms/InstCombine/icmp-trunc.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/loadstore-alignment.ll
    M llvm/test/Transforms/InstCombine/memchr-2.ll
    M llvm/test/Transforms/InstCombine/memchr-4.ll
    M llvm/test/Transforms/InstCombine/memchr-6.ll
    M llvm/test/Transforms/InstCombine/memchr-7.ll
    M llvm/test/Transforms/InstCombine/memchr-8.ll
    M llvm/test/Transforms/InstCombine/memchr-9.ll
    M llvm/test/Transforms/InstCombine/memchr.ll
    M llvm/test/Transforms/InstCombine/memcmp-8.ll
    M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
    M llvm/test/Transforms/InstCombine/memrchr-3.ll
    M llvm/test/Transforms/InstCombine/memrchr-4.ll
    M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
    M llvm/test/Transforms/InstCombine/objsize.ll
    M llvm/test/Transforms/InstCombine/or-fcmp.ll
    M llvm/test/Transforms/InstCombine/pow-1.ll
    A llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int16.ll
    M llvm/test/Transforms/InstCombine/pr25342.ll
    M llvm/test/Transforms/InstCombine/pr33453.ll
    M llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/pr38984.ll
    M llvm/test/Transforms/InstCombine/pr83947.ll
    M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/select-and-or.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls-i16.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls.ll
    M llvm/test/Transforms/InstCombine/snprintf-2.ll
    M llvm/test/Transforms/InstCombine/snprintf-3.ll
    M llvm/test/Transforms/InstCombine/snprintf-4.ll
    M llvm/test/Transforms/InstCombine/stpcpy-1.ll
    M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
    M llvm/test/Transforms/InstCombine/stpncpy-1.ll
    M llvm/test/Transforms/InstCombine/str-int-2.ll
    M llvm/test/Transforms/InstCombine/str-int-3.ll
    M llvm/test/Transforms/InstCombine/str-int-4.ll
    M llvm/test/Transforms/InstCombine/str-int-5.ll
    M llvm/test/Transforms/InstCombine/str-int.ll
    M llvm/test/Transforms/InstCombine/strcall-bad-sig.ll
    M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
    M llvm/test/Transforms/InstCombine/strchr-1.ll
    M llvm/test/Transforms/InstCombine/strchr-3.ll
    M llvm/test/Transforms/InstCombine/strcmp-4.ll
    M llvm/test/Transforms/InstCombine/strlcpy-1.ll
    M llvm/test/Transforms/InstCombine/strlen-1.ll
    M llvm/test/Transforms/InstCombine/strlen-6.ll
    M llvm/test/Transforms/InstCombine/strpbrk-1.ll
    M llvm/test/Transforms/InstCombine/strrchr-1.ll
    M llvm/test/Transforms/InstCombine/strrchr-3.ll
    M llvm/test/Transforms/InstCombine/strstr-1.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstCombine/vector-logical-reductions.ll
    M llvm/test/Transforms/InstCombine/vector-reductions.ll
    M llvm/test/Transforms/InstCombine/wcslen-1.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-alias.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-constanfolding-error.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/past-the-end.ll
    M llvm/test/Transforms/InstSimplify/shufflevector.ll
    M llvm/test/Transforms/Internalize/lists.ll
    M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
    A llvm/test/Transforms/LoopLoadElim/update-debugloc-store-forwarded.ll
    M llvm/test/Transforms/LoopStrengthReduce/2011-12-19-PostincQuadratic.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2012-01-13-phielim.ll
    M llvm/test/Transforms/LoopUnroll/X86/znver3.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr42674.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
    M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
    M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll
    M llvm/test/Transforms/LoopVersioning/bound-check-partially-known.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
    A llvm/test/Transforms/NaryReassociate/preserving-debugloc-add-mul.ll
    M llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
    M llvm/test/Transforms/NewGVN/loadforward.ll
    M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
    M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
    M llvm/test/Transforms/PlaceSafepoints/libcall.ll
    A llvm/test/Transforms/Reg2Mem/callbr-crash.ll
    M llvm/test/Transforms/SCCP/2009-09-24-byval-ptr.ll
    M llvm/test/Transforms/SCCP/apint-bigint2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/select-shuffle.ll
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
    M llvm/test/tools/llvm-profdata/trace-limit.proftext
    M llvm/tools/dsymutil/MachODebugMapParser.cpp
    M llvm/tools/llvm-c-test/debuginfo.c
    M llvm/tools/llvm-c-test/main.c
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/Analysis/ValueTrackingTest.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/ProfileData/CMakeLists.txt
    M llvm/unittests/ProfileData/MemProfTest.cpp
    A llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
    M llvm/unittests/Support/ErrorTest.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
    M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
    M llvm/utils/TableGen/Common/CMakeLists.txt
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp
    M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
    R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.cpp
    R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.h
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.h
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/TableGen/SubtargetEmitter.cpp
    M llvm/utils/UpdateTestChecks/asm.py
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/UpdateTestChecks/isel.py
    M llvm/utils/git/requirements.txt
    M llvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
    R llvm/utils/gn/secondary/clang/lib/Tooling/DumpTool/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
    R llvm/utils/gn/secondary/clang/unittests/Introspection/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
    M llvm/utils/update_analyze_test_checks.py
    M llvm/utils/update_cc_test_checks.py
    M llvm/utils/update_llc_test_checks.py
    M llvm/utils/update_test_checks.py
    M mlir/docs/DefiningDialects/Operations.md
    R mlir/docs/Dialects/Polynomial.md
    M mlir/docs/Dialects/Transform.md
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Analysis/CFGLoopInfo.h
    M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
    M mlir/include/mlir/Dialect/IRDL/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.h
    M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
    A mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
    A mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.td
    M mlir/include/mlir/IR/Block.h
    M mlir/include/mlir/IR/CommonAttrConstraints.td
    M mlir/include/mlir/Transforms/OneToNTypeConversion.h
    M mlir/include/mlir/Transforms/RegionUtils.h
    M mlir/lib/Analysis/CFGLoopInfo.cpp
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
    M mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
    M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
    M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
    A mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
    M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Tools/lsp-server-support/Transport.cpp
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    M mlir/test/CAPI/llvm.c
    A mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-le-specific.mlir
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir
    M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
    M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
    M mlir/test/Conversion/ArmSMEToLLVM/unsupported.mlir
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
    M mlir/test/Dialect/ArmSME/tile-allocation-spills-with-mixed-tile-types.mlir
    M mlir/test/Dialect/IRDL/invalid.irdl.mlir
    M mlir/test/Dialect/LLVMIR/debuginfo.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Dialect/Polynomial/canonicalization.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/fold-tensor-subset-ops-into-vector-transfers.mlir
    M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
    M mlir/test/Dialect/Vector/vector-transferop-opt.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir
    M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp
    M mlir/unittests/Dialect/CMakeLists.txt
    A mlir/unittests/Dialect/Polynomial/CMakeLists.txt
    A mlir/unittests/Dialect/Polynomial/PolynomialMathTest.cpp
    M offload/CMakeLists.txt
    M offload/DeviceRTL/CMakeLists.txt
    M offload/cmake/Modules/LibomptargetGetDependencies.cmake
    R offload/cmake/Modules/LibomptargetUtils.cmake
    R offload/include/Shared/PluginAPI.h
    R offload/include/Shared/PluginAPI.inc
    M offload/plugins-nextgen/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    R offload/plugins-nextgen/exports
    M offload/plugins-nextgen/host/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/src/LegacyAPI.cpp
    M offload/src/OpenMP/API.cpp
    M offload/src/OpenMP/Mapping.cpp
    M offload/src/device.cpp
    M offload/src/omptarget.cpp
    M offload/test/CMakeLists.txt
    M offload/test/mapping/array_section_implicit_capture.c
    M offload/test/offloading/default_thread_limit.c
    M offload/test/offloading/fortran/basic-target-region-1D-array-section.f90
    M offload/test/offloading/fortran/basic-target-region-3D-array-section.f90
    M offload/test/offloading/fortran/double-target-call-with-declare-target.f90
    M offload/test/offloading/fortran/target-map-allocatable-map-scopes.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-1.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-2.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
    M offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
    M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
    M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
    M offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
    M offload/test/offloading/fortran/target-map-enter-exit-allocatables.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array.f90
    M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
    M offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
    M offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
    M offload/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
    M offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
    M offload/test/offloading/fortran/target-map-pointer-target-scopes.f90
    M offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
    M offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
    M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
    M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
    M offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
    M offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
    M offload/test/offloading/spmdization.c
    M offload/test/offloading/thread_limit.c
    M offload/tools/CMakeLists.txt
    M offload/tools/deviceinfo/CMakeLists.txt
    M offload/tools/kernelreplay/CMakeLists.txt
    M offload/unittests/Plugins/CMakeLists.txt
    M openmp/CMakeLists.txt
    M openmp/runtime/src/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  rebase to lastest main

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/8966b7ad1d84...9f3fdbd85a3d

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list