[all-commits] [llvm/llvm-project] 976c37: [AMDGPU] Set hasSideEffects=0 for SALU psuedos (#1...

Helena Kotas via All-commits all-commits at lists.llvm.org
Mon Apr 21 16:59:35 PDT 2025


  Branch: refs/heads/users/hekota/pr135120-resource-constructors
  Home:   https://github.com/llvm/llvm-project
  Commit: 976c37ec950a93ed60068389ad05454f76da1e55
      https://github.com/llvm/llvm-project/commit/976c37ec950a93ed60068389ad05454f76da1e55
  Author: amansharma612 <amansharma6122002 at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/mul.ll

  Log Message:
  -----------
  [AMDGPU] Set hasSideEffects=0 for SALU psuedos (#134487)

Fixes #128685

---------

Co-authored-by: Aman Sharma <210100011 at iitb.ac.in>


  Commit: a4b7688d27da1a0189fff6549853fdfe22b33c48
      https://github.com/llvm/llvm-project/commit/a4b7688d27da1a0189fff6549853fdfe22b33c48
  Author: David Green <david.green at arm.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/fsh.ll

  Log Message:
  -----------
  [AArch64] Regenerate fsh.ll test. NFC


  Commit: ffac1404f8e0f606cac12a21777dfe700b455e87
      https://github.com/llvm/llvm-project/commit/ffac1404f8e0f606cac12a21777dfe700b455e87
  Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [Clang] [Sema] Document invariant in Sema::AddOverloadCandidate (#135256)

Static analysis flagged 1 - ArgIdx in Sema::AddOverloadCandidate for its
potential to overflow.

Turns out this is intentional since when PO ==
OverloadCandidateParamOrder::Reversed Args.size() is always two, so this
will never overflow.

We document using an assert.

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


  Commit: 438f984b4b3c6774f07eced877dce7cdbeef6a3b
      https://github.com/llvm/llvm-project/commit/438f984b4b3c6774f07eced877dce7cdbeef6a3b
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/test/tools/dxil-dis/debug-info.ll

  Log Message:
  -----------
  [DirectX] XFAIL test failing because of debuginfo changes (#135279)

For more context see
https://discourse.llvm.org/t/psa-ir-output-changing-from-debug-intrinsics-to-debug-records/79578

This change:
https://github.com/llvm/llvm-project/commit/6a45fce90937f1c8671e609c4218818ce4491329
broke this test:
https://github.com/llvm/llvm-project/blob/main/llvm/test/tools/dxil-dis/debug-info.ll
in our pipeline:
https://github.com/llvm/llvm-project/actions/workflows/hlsl-matrix.yaml

LLVM is transitioning off of the llvm.dbg.value debug intrinsic in favor
of the `#dbg_declare(..) format. see
https://github.com/llvm/llvm-project/pull/133917/files

dxil-dis does not understand the new format and so work needs to be
planned out to support this transition in
https://github.com/microsoft/DirectXShaderCompiler

For now the fix is to XFAIL this test to unblock the pipeline.


  Commit: 70627af91f577f5195a11ee44c6af39503e1ce52
      https://github.com/llvm/llvm-project/commit/70627af91f577f5195a11ee44c6af39503e1ce52
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Core/Debugger.h
    M lldb/source/Core/Debugger.cpp

  Log Message:
  -----------
  [lldb] Synchronize access to m_statusline in the Debugger (#134759)

Eliminate the potential for a race between the main thread, the default
event handler thread and the signal handling thread, when accessing the
m_statusline member.


  Commit: 8d2f0911ce8dddb37d064b3065b3be71e3233c2c
      https://github.com/llvm/llvm-project/commit/8d2f0911ce8dddb37d064b3065b3be71e3233c2c
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/Frontend/CompilerInstance.cpp

  Log Message:
  -----------
  [clang] Extract `CompilerInstance` creation out of `compileModuleImpl()` (#134887)

This PR extracts the creation of `CompilerInstance` for compiling an
implicitly-discovered module out of `compileModuleImpl()` into its own
separate function and passes it into `compileModuleImpl()` from the
outside. This makes the instance creation logic reusable (useful for my
experiments) and also simplifies the API, removing the `PreBuildStep`
and `PostBuildStep` hooks from `compileModuleImpl()`.


  Commit: 61f80db9a493e3f33dc01ecd5294856d33ca74d4
      https://github.com/llvm/llvm-project/commit/61f80db9a493e3f33dc01ecd5294856d33ca74d4
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lld/COFF/COFFLinkerContext.h
    M lld/COFF/DLL.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/Writer.cpp

  Log Message:
  -----------
  [LLD][COFF] Remove no longer needed symtabEC from COFFLinkerContext (NFC) (#135094)

With #135093, we may just use `symtab` instead.


  Commit: 68b7cba2b04a036dfb2e216cfafe70a83fbc7530
      https://github.com/llvm/llvm-project/commit/68b7cba2b04a036dfb2e216cfafe70a83fbc7530
  Author: Henry Jiang <h243jian at uwaterloo.ca>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    A llvm/test/Transforms/LoopIdiom/strlen-cleanup.ll
    M llvm/test/Transforms/LoopIdiom/strlen.ll
    M llvm/test/Transforms/LoopIdiom/wcslen16.ll
    M llvm/test/Transforms/LoopIdiom/wcslen32.ll

  Log Message:
  -----------
  [LoopIdiom] Update strlen idiom body loop condition to be clean up by LoopDeletion (#134906)

Fixes the case where subsequent passes were unable to find and delete
the invariant loop left over by the strlen idiom conversion. Since
`loop-deletion` only operate on computable loops, we can update the loop
condition to something more easily picked up by `loop-deletion`

As pointed out in https://github.com/llvm/llvm-project/issues/134736


  Commit: d995b2ebdc1a312c8583351c13dac90e8e320a09
      https://github.com/llvm/llvm-project/commit/d995b2ebdc1a312c8583351c13dac90e8e320a09
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaAMDGPU.cpp
    A clang/test/SemaHIP/amdgpu-builtin-in-lambda-with-unsupported-attribute.hip
    A clang/test/SemaHIP/amdgpu-builtin-in-lambda.hip

  Log Message:
  -----------
  [Clang][AMDGPU] Accept builtins in lambda declarations (#135027)

`Sema::getCurFunctionDecl(AllowLambda = false)` returns a nullptr when
the lambda declaration is outside a function (for example, when
assigning a lambda to a static constexpr variable).

This triggered an assertion in
`SemaAMDGPU::CheckAMDGCNBuiltinFunctionCall`.

Using `Sema::getCurFunctionDecl(AllowLambda = true)` returns the
declaration of the enclosing lambda.

Stumbled with this issue when refactoring some code in CK.


  Commit: 8fb6bb3e23966c973bb04784e165473f681ec7af
      https://github.com/llvm/llvm-project/commit/8fb6bb3e23966c973bb04784e165473f681ec7af
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-init.f90
    M flang/test/Lower/OpenACC/acc-shutdown.f90
    M flang/test/Semantics/OpenACC/acc-init-validity.f90
    M flang/test/Semantics/OpenACC/acc-shutdown-validity.f90
    M llvm/include/llvm/Frontend/OpenACC/ACC.td

  Log Message:
  -----------
  [flang][openacc] Allow multiple device_type clauses on init and shutdown (#135314)

Relax the restriction for init and shutdown directives for device_type
clause. The clause can be allowed multiple times.


  Commit: 566c30e324a0e87269fc72e5a0219d4c3e1d9fbf
      https://github.com/llvm/llvm-project/commit/566c30e324a0e87269fc72e5a0219d4c3e1d9fbf
  Author: Morris Hafner <mmha at users.noreply.github.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/test/CIR/CodeGen/binassign.c
    A clang/test/CIR/CodeGen/comma.c
    A clang/test/CIR/IR/binassign.cir

  Log Message:
  -----------
  [CIR] Upstream binary assignments and comma (#135115)

This patch adds `VisitBinAssign` and `VisitBinComma` to the ClangIR
`ScalarExprEmitter` to enable assignments and the comma operator.

---------

Co-authored-by: Morris Hafner <mhafner at nvidia.com>


  Commit: bd0b2bdacc95332a62d5eeb9582302cc12567be3
      https://github.com/llvm/llvm-project/commit/bd0b2bdacc95332a62d5eeb9582302cc12567be3
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Use VF instead of VL.size and modernize some transformations, NFC.


  Commit: 68ab45f0533f3bbfc1c96bddd53de7e769180219
      https://github.com/llvm/llvm-project/commit/68ab45f0533f3bbfc1c96bddd53de7e769180219
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
    M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp

  Log Message:
  -----------
  Revert "[lldb] ProcessGdbRemote header gardning"

This reverts commit 2fd860c1f559c0b0be66cc000e38270a04d0a1a3 as this is
causing a EXC_BAD_ACCESS on Darwin:

https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/23807/
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake/11255/


  Commit: de5b099dd1542deee821b1dcfcb1762e683c672c
      https://github.com/llvm/llvm-project/commit/de5b099dd1542deee821b1dcfcb1762e683c672c
  Author: Jan Korous <jkorous at apple.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    A clang/include/clang/Analysis/Support/FixitUtil.h
    M clang/lib/Analysis/CMakeLists.txt
    A clang/lib/Analysis/FixitUtil.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage][NFC] Factor out FixitUtil (#135100)


  Commit: cb974dcd7798317f065fe0668e16d0e1712e5ca0
      https://github.com/llvm/llvm-project/commit/cb974dcd7798317f065fe0668e16d0e1712e5ca0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

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


  Commit: abe3b90b3fa49829a165f2174191c33542597052
      https://github.com/llvm/llvm-project/commit/abe3b90b3fa49829a165f2174191c33542597052
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp

  Log Message:
  -----------
  [CIR] Fix warnings, again! (#135284)

The calleeDecl var will be used in the near future, so I left it. At
least for clang, the [[maybe_unused]] attribute takes care of the
warnings related to that variable. The other warning was a simple lack
of return after errorNYI.


  Commit: 192a89df2d64bc5785fe4a8bff99e7f0f0f6199a
      https://github.com/llvm/llvm-project/commit/192a89df2d64bc5785fe4a8bff99e7f0f0f6199a
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl

  Log Message:
  -----------
  fix typo


  Commit: a2d129b792cc49224f98c83d2279b2e19bfa700f
      https://github.com/llvm/llvm-project/commit/a2d129b792cc49224f98c83d2279b2e19bfa700f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll

  Log Message:
  -----------
  [SLP]Fix a crash when trying to reduce in revec after minbitwidth analysis

Need to use the original scalar type, when building the reduction, and
use the scalar type, when performing casting, to avoid compiler crash.


  Commit: e911f90a4035ee6a70d9b608ef35c6870aa86fdb
      https://github.com/llvm/llvm-project/commit/e911f90a4035ee6a70d9b608ef35c6870aa86fdb
  Author: Kevin Gleason <gleasonk at google.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/utils/generate-test-checks.py

  Log Message:
  -----------
  [mlir] Add support for broader range of input files in generate-test-checks.py (#134327)

A few additions:

- Lines with `{{`: These can show up if serializing non-MLIR info into
string attrs `my.attr = {{proto}, {...}}`. String escape the opening
`{{`, given that check lines are generated this has no effect on
`{{.*}}` etc in generated lines.
- File split line: Normally these are skipped because of their indent
level, but if using `--starts_from_scope=0` to generate checks for the
`module {...} {` line, and since MLIR opt tools emit file split lines by
default, some `CHECK: // -----` lines were emit.
- (edit removed this, fixed by
https://github.com/llvm/llvm-project/pull/134364) AttrAliases: I'm not
sure if I'm missing something for the attribute parser to work
correctly, but I was getting many `#[[?]]` for all dialect attrs. Only
use the attr aliasing if there's a match.


  Commit: e15025dd50ce2f3db6c8f3f414f95a7b58ef8501
      https://github.com/llvm/llvm-project/commit/e15025dd50ce2f3db6c8f3f414f95a7b58ef8501
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M libcxxabi/test/uncaught_exception.pass.cpp

  Log Message:
  -----------
  [libc++] Another Apple CI quick-fix.

Like #135202 this fixes another issue after the XCode update.


  Commit: c9ad5bed7fa9ff0b16da1212875ba5341d288f3c
      https://github.com/llvm/llvm-project/commit/c9ad5bed7fa9ff0b16da1212875ba5341d288f3c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the incorrect type promotion after bitwidth analysis, NFC


  Commit: 1e54bca669d0f16fbd0809d5ada68af8ba5cf28b
      https://github.com/llvm/llvm-project/commit/1e54bca669d0f16fbd0809d5ada68af8ba5cf28b
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M libc/Maintainers.rst

  Log Message:
  -----------
  [libc] Add dthorn as maintainer for allocator on baremetal (#135203)

This was on request from other maintainers, given that I've been
de-facto acting as maintainer of the baremetal allocator stuff.


  Commit: df579ce4b6006ed23bb3a31f009269a1ba2587d4
      https://github.com/llvm/llvm-project/commit/df579ce4b6006ed23bb3a31f009269a1ba2587d4
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
    A libcxx/test/libcxx/feature_test_macro/is_implemented.sh.py
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Adds is_implemented function for new ftm generator. (#134538)

At the moment the ftm macro for __cpp_lib_to_chars will have the
following values:

standard_ftms: {
    "c++17": "201611L",
    "c++20": "201611L",
    "c++23": "201611L",
    "c++26": "201611L",
}

implemented_ftms: {
    "c++17": None,
}

This is an issue with the test whether the FTM is implemented it does:
  self.implemented_ftms[ftm][std] == self.standard_ftms[ftm][std]
This will fail in C++20 since implemented_ftms[ftm] does not have the
key c++20. This adds a new helper function and removes the None entries
when a FTM is not implemented.

---------

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


  Commit: 6f5e993b179a6f93b40d375a8864f2a482f3ca5d
      https://github.com/llvm/llvm-project/commit/6f5e993b179a6f93b40d375a8864f2a482f3ca5d
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/usub_sat.ll

  Log Message:
  -----------
  [DirectX] legalize usub.sat (#135288)

fixes #135285

This change implements the `usub.sat` intrinsic to perform an unsigned
saturating subtraction on the 2 arguments.
The minimum value this operation is clamp to is 0.


  Commit: 52ef55864f50077072e083c5582d23a9ec494142
      https://github.com/llvm/llvm-project/commit/52ef55864f50077072e083c5582d23a9ec494142
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp

  Log Message:
  -----------
  [OpenACC] Fix source-location on a handful of CIR Directives

Apparently we used the 'end location' instead of 'start' in a few
places.


  Commit: db4ad4686f09822add4575801a2bbb10c8d56ebb
      https://github.com/llvm/llvm-project/commit/db4ad4686f09822add4575801a2bbb10c8d56ebb
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M libc/Maintainers.rst

  Log Message:
  -----------
  [libc] Add myself as maintainer for Public Headers / hdrgen (#135209)


  Commit: 38e64b1a84d1af0bb232833f8f6f57bd4d6e8a7a
      https://github.com/llvm/llvm-project/commit/38e64b1a84d1af0bb232833f8f6f57bd4d6e8a7a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll

  Log Message:
  -----------
  [SLP]Fix minbiwidth analysis for gather nodes with SIToFP users

If the buildvector node has cast to float user, it cannot be considered as safe
for truncation, need to use the original bitwidth here.

Fixes #135410


  Commit: c2939b9bf672713ac36910a3e6d00c19ace1bd44
      https://github.com/llvm/llvm-project/commit/c2939b9bf672713ac36910a3e6d00c19ace1bd44
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py

  Log Message:
  -----------
  Reland "[lldb] Clear thread-creation breakpoints in ProcessGDBRemote::Clear (#134397)" (#135296)

This reapplies commit
https://github.com/llvm/llvm-project/commit/232525f06942adb3b9977632e38dcd5f08c0642d.

The original commit triggered a sanitizer failure when `Target` was
destroyed. In `Target::Destroy`, `DeleteCurrentProcess` was called, but
it did not destroy the thread creation breakpoints for the underlying
`ProcessGDBRemote` because `ProcessGDBRemote::Clear` was not called in
that path.

`Target `then proceeded to destroy its breakpoints, which resulted in a
call to the destructor of a `std::vector` containing the breakpoints.
Through a sequence of complicated events, destroying breakpoints caused
the reference count of the underlying `ProcessGDBRemote` to finally
reach zero. This, in turn, called `ProcessGDBRemote::Clear`, which
attempted to destroy the breakpoints. To do that, it would go back into
the Target's vector of breakpoints, which we are in the middle of
destroying.

We solve this by moving the breakpoint deletion into
`Process:DoDestroy`, which is a virtual Process method that will be
called much earlier.


  Commit: 179d30f8c3fddd3c85056fd2b8e877a4a8513158
      https://github.com/llvm/llvm-project/commit/179d30f8c3fddd3c85056fd2b8e877a4a8513158
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  Revert "[lldb] Make sure the process is stopped when computing the symbol context (#134757)" (#135408)

This reverts commit e84a80408523a48d6eaacd795f1615e821ffb233 because on
Linux there seems to be a race around GetRunLock. See #134757 for more
context.


  Commit: fedd79bdcd8363456ec87796694ae0f37d28a98f
      https://github.com/llvm/llvm-project/commit/fedd79bdcd8363456ec87796694ae0f37d28a98f
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
    M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
    M mlir/test/Dialect/Vector/invalid.mlir
    M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/transpose.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir

  Log Message:
  -----------
  [mlir][vector] Tighten the semantics of vector.{load|store} (#135151)

This change refines the verifier for `vector.load` and `vector.store` to
disallow the use of vectors with higher rank than the source or
destination memref. For example, the following is now rejected:

```mlir
  %0 = vector.load %src[%c0] : memref<?xi8>, vector<16x16xi8>
  vector.store %vec, %dest[%c0] : memref<?xi8>, vector<16x16xi8>
```

This pattern was previously used in SME end-to-end tests and "happened"
to work by implicitly assuming row-major memory layout. However, there
is no guarantee that such an assumption will always hold, and we should
avoid relying on it unless it can be enforced deterministically.

Notably, production ArmSME lowering pipelines do not rely on this
behavior. Instead, the expected usage (illustrated here with scalable
vector syntax) would be:

```mlir
  %0 = vector.load %src[%c0, %c0] : memref<?x?xi8>, vector<[16]x[16]xi8>
```

This PR updates the verifier accordingly and adjusts all affected tests.
These tests are either removed (if no longer relevant) or updated to use
memrefs with appropriately matching rank.


  Commit: 052225dc0366ddf56631b1e4104ef09896f1139b
      https://github.com/llvm/llvm-project/commit/052225dc0366ddf56631b1e4104ef09896f1139b
  Author: David Green <david.green at arm.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/bswap.ll
    M llvm/test/Analysis/CostModel/AArch64/ctlz.ll
    M llvm/test/Analysis/CostModel/AArch64/cttz.ll
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
    M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll

  Log Message:
  -----------
  [AArch64] Use a lower Costsize cost in getScalarizationOverhead.

This is a follow on to #130946 to use the same codesize cost override in
getScalarizationOverhead for vector instructions.


  Commit: 32c39092eab3a401d9d028c21f4707102fd70e32
      https://github.com/llvm/llvm-project/commit/32c39092eab3a401d9d028c21f4707102fd70e32
  Author: Ikhlas Ajbar <iajbar at quicinc.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonCallingConv.td
    A llvm/test/CodeGen/Hexagon/calloperand-v2i1.ll

  Log Message:
  -----------
  [llvm][Hexagon] Promote operand v2i1 to v2i32 (#135409)

Fixes #118879


  Commit: a45b133d400b0e57ca1ba70d50a91fbdf11d3b93
      https://github.com/llvm/llvm-project/commit/a45b133d400b0e57ca1ba70d50a91fbdf11d3b93
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/include/llvm/IR/CallingConv.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Bitcode/calling-conventions.3.2.ll
    M llvm/test/Bitcode/calling-conventions.3.2.ll.bc
    M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
    R llvm/test/CodeGen/AMDGPU/call-to-kernel-undefined.ll
    R llvm/test/CodeGen/AMDGPU/call-to-kernel.ll
    M llvm/test/Other/spir_cc.ll
    M llvm/test/Verifier/amdgpu-cc.ll
    A llvm/test/Verifier/call-to-non-callable-functions.ll

  Log Message:
  -----------
  [AMDGPU][Verifier] Mark calls to entry functions as invalid in the IR verifier (#134910)


  Commit: 72144d119a7291f8b6b8e022a2947fbe31e66afc
      https://github.com/llvm/llvm-project/commit/72144d119a7291f8b6b8e022a2947fbe31e66afc
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M flang-rt/lib/runtime/edit-input.cpp

  Log Message:
  -----------
  [flang][runtime] Fix recently broken big-endian formatted integer input (#135417)

My recent change to speed up formatted integer input has a bug on
big-endian targets that has shown up on ppc64 AIX build bots. Fix.


  Commit: ae0aa2dea2dee3af01326e5ff96ab436628f7e2b
      https://github.com/llvm/llvm-project/commit/ae0aa2dea2dee3af01326e5ff96ab436628f7e2b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [VPlan] Merge cases using getResultType in inferScalarType (NFC).


  Commit: d78b48641429c8b48e2c376fa3870d841e319c96
      https://github.com/llvm/llvm-project/commit/d78b48641429c8b48e2c376fa3870d841e319c96
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Dialect/Tosa/error_if_check.mlir

  Log Message:
  -----------
  [mlir][tosa] Add error_if checks for Mul Op (#135075)

This adds error_if validation checking for Mul Op

Signed-off-by: Tai Ly <tai.ly at arm.com>


  Commit: 90a202f2ff241a9f4b11ec625dcc3446cbceb924
      https://github.com/llvm/llvm-project/commit/90a202f2ff241a9f4b11ec625dcc3446cbceb924
  Author: Victor Vianna <victor.vianna10 at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M compiler-rt/lib/orc/error.h
    M llvm/include/llvm/ADT/TrieRawHashMap.h

  Log Message:
  -----------
  [cpp23] Remove usage of std::aligned_union<> in llvm (#135146)

std::aligned_union<> is deprecated in C++23. See more details in the
linked bug.

Bug: https://crbug.com/388068052


  Commit: d1fd97737e9064431983e48c2105d1c54d5feacc
      https://github.com/llvm/llvm-project/commit/d1fd97737e9064431983e48c2105d1c54d5feacc
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/asan/asan_linux.cpp
    M compiler-rt/lib/asan/asan_malloc_linux.cpp
    M compiler-rt/lib/asan/asan_posix.cpp
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/asan/tests/asan_test.cpp
    M compiler-rt/lib/interception/interception.h
    M compiler-rt/lib/interception/interception_linux.cpp
    M compiler-rt/lib/interception/interception_linux.h
    M compiler-rt/lib/sanitizer_common/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_errno.h
    M compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h
    A compiler-rt/lib/sanitizer_common/sanitizer_haiku.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h
    A compiler-rt/lib/sanitizer_common/sanitizer_procmaps_haiku.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
    M compiler-rt/lib/ubsan/ubsan_platform.h
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp

  Log Message:
  -----------
  [compiler-rt][sanitizer] add Haiku support (#134772)

Co-authored-by: Jérôme Duval <jerome.duval at gmail.com>


  Commit: ee801cdd6e0ba497939cdc1e4dd34b98b4df3675
      https://github.com/llvm/llvm-project/commit/ee801cdd6e0ba497939cdc1e4dd34b98b4df3675
  Author: Jan Korous <jkorous at apple.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/lib/Analysis/UnsafeBufferUsage.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Add findUnsafePointers (#135421)


  Commit: a8da4834f70b4cea0ba8e703a76ccbcd26f88923
      https://github.com/llvm/llvm-project/commit/a8da4834f70b4cea0ba8e703a76ccbcd26f88923
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp

  Log Message:
  -----------
  [flang] IEEE_SCALB and SCALE - kind=2, kind=3 (#135374)

Implement the kind=2,3 variants of language intrinsic SCALE and
intrinsic module procedure IEEE_SCALB, including exception signaling.


  Commit: 609361ab39226a866211286a2ae4f19ab8bb444c
      https://github.com/llvm/llvm-project/commit/609361ab39226a866211286a2ae4f19ab8bb444c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-exit-data.f90
    M flang/test/Semantics/OpenACC/acc-data.f90
    M llvm/include/llvm/Frontend/OpenACC/ACC.td

  Log Message:
  -----------
  [flang][openacc] Allow finalize clause on exit data more than once (#135415)

The spec has not strict restriction to allow a single `finalize` clause
on the `exit data` directive. Allowing this clause multiple times does
not change the semantic of it. This patch relax the rules in `ACC.td`
since there is no restriction in the standard.

The OpenACC dialect represent the finalize clause with a UnitAttr so the
attribute will be set if the is one or more `finalize` clause.


  Commit: 2837fd7e5ad521d977fbca85a639ce7afbacdc56
      https://github.com/llvm/llvm-project/commit/2837fd7e5ad521d977fbca85a639ce7afbacdc56
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-host-data.f90
    M flang/test/Lower/OpenACC/acc-update.f90
    M flang/test/Semantics/OpenACC/acc-host-data.f90
    M flang/test/Semantics/OpenACC/acc-update-validity.f90
    M llvm/include/llvm/Frontend/OpenACC/ACC.td

  Log Message:
  -----------
  [flang][openacc] Allow if_present multiple times on host_data and update (#135422)

Similar to #135415.

The spec has not strict restriction to allow a single `if_present`
clause on the host_data and update directives. Allowing this clause
multiple times does not change the semantic of it. This patch relax the
rules in ACC.td since there is no restriction in the standard.

The OpenACC dialect represents the `if_present` clause with a `UnitAttr`
so the attribute will be set if the is one or more `if_present` clause.


  Commit: 4530922cfdacc5be25dbe499fc106cc3b009bf79
      https://github.com/llvm/llvm-project/commit/4530922cfdacc5be25dbe499fc106cc3b009bf79
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp

  Log Message:
  -----------
  [clang] fix serialization for SubstNonTypeTemplateParmPackExpr (#135428)

This fixes a PCM non-determinism regression reported here:
https://github.com/llvm/llvm-project/pull/134560#issuecomment-2797744370

There was a bit in `SubstNonTypeTemplateParmPackExpr` which we missed to
serialize, and that bit eventually propagates to
`SubstNonTypeTemplateParmExpr`.

As a drive by, improve serialization for PackIndex on
SubstNonTypeTemplateParmExpr by using the newly introduced
UnsignedOrNone helpers.

There are no release notes since this regression was never released.


  Commit: de67293c093efddb9f9444b3a614695ad243355d
      https://github.com/llvm/llvm-project/commit/de67293c093efddb9f9444b3a614695ad243355d
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/CMakeLists.txt
    A mlir/include/mlir/Dialect/SMT/CMakeLists.txt
    A mlir/include/mlir/Dialect/SMT/IR/CMakeLists.txt
    A mlir/include/mlir/Dialect/SMT/IR/SMT.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTArrayOps.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.h
    A mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTBitVectorOps.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTDialect.h
    A mlir/include/mlir/Dialect/SMT/IR/SMTDialect.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTIntOps.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTOps.h
    A mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTTypes.h
    A mlir/include/mlir/Dialect/SMT/IR/SMTTypes.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTVisitors.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/CMakeLists.txt
    A mlir/lib/Dialect/SMT/CMakeLists.txt
    A mlir/lib/Dialect/SMT/IR/CMakeLists.txt
    A mlir/lib/Dialect/SMT/IR/SMTAttributes.cpp
    A mlir/lib/Dialect/SMT/IR/SMTDialect.cpp
    A mlir/lib/Dialect/SMT/IR/SMTOps.cpp
    A mlir/lib/Dialect/SMT/IR/SMTTypes.cpp
    A mlir/test/Dialect/SMT/array-errors.mlir
    A mlir/test/Dialect/SMT/array.mlir
    A mlir/test/Dialect/SMT/basic.mlir
    A mlir/test/Dialect/SMT/bitvector-errors.mlir
    A mlir/test/Dialect/SMT/bitvectors.mlir
    A mlir/test/Dialect/SMT/core-errors.mlir
    A mlir/test/Dialect/SMT/cse-test.mlir
    A mlir/test/Dialect/SMT/integers.mlir
    M mlir/unittests/Dialect/CMakeLists.txt
    A mlir/unittests/Dialect/SMT/AttributeTest.cpp
    A mlir/unittests/Dialect/SMT/CMakeLists.txt
    A mlir/unittests/Dialect/SMT/QuantifierTest.cpp
    A mlir/unittests/Dialect/SMT/TypeTest.cpp

  Log Message:
  -----------
  [mlir][SMT] upstream `SMT` dialect (#131480)

This PR upstreams the `SMT` dialect from the CIRCT project. Here we only
check in the dialect/op/types/attributes and lit tests. Follow up PRs
will add conversions in and out and etc.

Co-authored-by: Bea Healy <beahealy22 at gmail.com>
Co-authored-by: Martin Erhart <maerhart at outlook.com>
Co-authored-by: Mike Urbach <mikeurbach at gmail.com>
Co-authored-by: Will Dietz <will.dietz at sifive.com>
Co-authored-by: fzi-hielscher <hielscher at fzi.de>
Co-authored-by: Fehr Mathieu <mathieu.fehr at gmail.com>


  Commit: 93370c4ab3437432e488fac9e3a09b44dbe87449
      https://github.com/llvm/llvm-project/commit/93370c4ab3437432e488fac9e3a09b44dbe87449
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/test/CIR/CodeGen/array.cpp

  Log Message:
  -----------
  [CIR] Make LLVM & OGCG variables match the same pattern (#135427)

Follow-up patch to improve variable names in LLVM and OGCG in
https://github.com/llvm/llvm-project/pull/134536


  Commit: 84ed81bc8a5359f33818c876e43f6450e98deb35
      https://github.com/llvm/llvm-project/commit/84ed81bc8a5359f33818c876e43f6450e98deb35
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/unittests/Thread/ThreadTest.cpp

  Log Message:
  -----------
  [lldb] On Windows, silence warning when building with Clang ToT

Fixes:
```
[930/2017] Building CXX object tools\lldb\unittests\Thread\CMakeFiles\ThreadTests.dir\ThreadTest.cpp.obj
C:\git\llvm-project\lldb\unittests\Thread\ThreadTest.cpp(51,23): warning: cast from 'FARPROC' (aka 'long long (*)()') to 'SetThreadDescriptionFunctionPtr' (aka 'long (*)(void *, const wchar_t *)') converts to incompatible function type [-Wcast-function-type-mismatch]
   51 |       SetThreadName = reinterpret_cast<SetThreadDescriptionFunctionPtr>(
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   52 |           ::GetProcAddress(hModule, "SetThreadDescription"));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
```


  Commit: 12c4be1ba8513b4c0f43945c0f266d7f871a978a
      https://github.com/llvm/llvm-project/commit/12c4be1ba8513b4c0f43945c0f266d7f871a978a
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/unittests/AST/ByteCode/BitcastBuffer.cpp

  Log Message:
  -----------
  [clang][unittests] On Windows, silence warning when building with MSVC

Fixes:
```
[113/324] Building CXX object tools\clang\unittests\AST\ByteCode\CMakeFiles\InterpTests.dir\BitcastBuffer.cpp.obj
C:\git\llvm-project\clang\unittests\AST\ByteCode\BitcastBuffer.cpp(52): warning C4309: 'initializing': truncation of constant value
C:\git\llvm-project\clang\unittests\AST\ByteCode\BitcastBuffer.cpp(53): warning C4309: 'initializing': truncation of constant value
```


  Commit: 78fbba992188c60f0f06267ca013e52db19b8c67
      https://github.com/llvm/llvm-project/commit/78fbba992188c60f0f06267ca013e52db19b8c67
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M compiler-rt/lib/interception/interception_win.cpp

  Log Message:
  -----------
  [compiler-rt] On Windows, silence warning when building with Clang ToT

Fixes:
```
[6113/7139] Building CXX object projects\compiler-rt\lib\interception\CMakeFiles\RTInterception.x86_64.dir\interception_win.cpp.obj
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
  746 |     case 0xB841:  // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
      |     ^
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): note: insert 'FALLTHROUGH;' to silence this warning
  746 |     case 0xB841:  // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
      |     ^
      |     FALLTHROUGH;
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): note: insert 'break;' to avoid fall-through
  746 |     case 0xB841:  // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
      |     ^
      |     break;
1 warning generated.
```


  Commit: e1d91ba06d250dd8bbd5bded4824c5b210c2667a
      https://github.com/llvm/llvm-project/commit/e1d91ba06d250dd8bbd5bded4824c5b210c2667a
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp

  Log Message:
  -----------
  [lldb] Fix erroneous return value

Found when building with MSVC on Windows, was seeing:
```
[2703/7138] Building CXX object tools\lldb\source\Plugins\Process\Utility\CMakeFiles\lldbPluginProcessUtility.dir\NativeRegisterContextDBReg.cpp.obj
C:\git\llvm-project\lldb\source\Plugins\Process\Utility\NativeRegisterContextDBReg.cpp(286): warning C4305: 'return': truncation from 'unsigned int' to 'bool'
```


  Commit: 715c61e9a7cc631fd0965b887941ccfd8c0133d6
      https://github.com/llvm/llvm-project/commit/715c61e9a7cc631fd0965b887941ccfd8c0133d6
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp

  Log Message:
  -----------
  [lldb][lldbp-dap] On Windoows, silence warnings when building with MSVC

Fixes:
```
[6373/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\DAP.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\DAP.cpp(725) : warning C4715: '`lldb_dap::DAP::HandleObject'::`30'::<lambda_2>::operator()': not all control paths return a value
[6421/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\Protocol\ProtocolTypes.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(203) : warning C4715: 'lldb_dap::protocol::ToString': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(98) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(72) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(111) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
[6426/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\Protocol\ProtocolBase.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolBase.cpp(287) : warning C4715: 'lldb_dap::protocol::fromJSON': not all control paths return a value
```


  Commit: 46135ade9ec0b7fd975b5d3923aea95f4d416296
      https://github.com/llvm/llvm-project/commit/46135ade9ec0b7fd975b5d3923aea95f4d416296
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [Sema] On Windows, silence erroneous warning when building with MSVC

Fixes what seems to be a buggy warning in MSVC:
```
[1/37] Building CXX object tools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaConcept.cpp.obj
C:\git\llvm-project\clang\lib\Sema\SemaConcept.cpp(1933): warning C4101: '$S26': unreferenced local variable
```


  Commit: 6e7fe85247301c52d10d234b87f13376e091c77e
      https://github.com/llvm/llvm-project/commit/6e7fe85247301c52d10d234b87f13376e091c77e
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
    M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.h
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/test/CodeGen/AMDGPU/iglp.opt.reentry.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.iterative.ll
    M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll

  Log Message:
  -----------
  [AMDGPU] Teach iterative schedulers about IGLP (#134953)

This adds IGLP mutation to the iterative schedulers
(`gcn-iterative-max-occupancy-experimental`, `gcn-iterative-minreg`, and
`gcn-iterative-ilp`).

The `gcn-iterative-minreg` and `gcn-iterative-ilp` schedulers never
actually applied the mutations added, so this also has the effect of
teaching them about mutations in general. The
`gcn-iterative-max-occupancy-experimental` scheduler has calls to
`ScheduleDAGMILive::schedule()`, so, before this, mutations were applied
at this point. Now this is done during calls to `BuildDAG`, with IGLP
superseding other mutations (similar to the other schedulers). We may
end up scheduling regions multiple times, with mutations being applied
each time, so we need to track for
`AMDGPU::SchedulingPhase::PreRAReentry`


  Commit: eb68b914dd7f1926daf9cfab19b85765f2a60700
      https://github.com/llvm/llvm-project/commit/eb68b914dd7f1926daf9cfab19b85765f2a60700
  Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp

  Log Message:
  -----------
  [NFC][LLVM] Apply std::move to object being pushed back in findSymbolCommon (#135290)

Static analysis found that we could move LineInfo into the Result vector
instead of just copying it.


  Commit: 957bd6aa32da8b89571a6e6abb53ec87ad828332
      https://github.com/llvm/llvm-project/commit/957bd6aa32da8b89571a6e6abb53ec87ad828332
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn

  Log Message:
  -----------
  [gn] port d1fd97737e90


  Commit: 4c67bdd973ee1c308155555500ef39d4e2099a6a
      https://github.com/llvm/llvm-project/commit/4c67bdd973ee1c308155555500ef39d4e2099a6a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
    M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll

  Log Message:
  -----------
  [RISCV] Don't fold offsets into auipc if offset is larger than the reference global variable. (#135297)

The global variable should be within 2GB of the PC, but an offset to an
address outside the global might not be.

Fixes #134525.


  Commit: 6aae1047b6c701b407c0cadaf1acd036c1bab6b6
      https://github.com/llvm/llvm-project/commit/6aae1047b6c701b407c0cadaf1acd036c1bab6b6
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/AST/ASTImporter.cpp

  Log Message:
  -----------
  [clang] ASTImporter: fix SubstNonTypeTemplateParmExpr source location (#135450)

This makes it clear which source location is imported.


  Commit: ba660203a963aa03fcbd5987fc7956cdb2365438
      https://github.com/llvm/llvm-project/commit/ba660203a963aa03fcbd5987fc7956cdb2365438
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/Sema/SemaHLSL.cpp

  Log Message:
  -----------
  code review feedback


  Commit: b74dbf7fb2d152109bba29fdb39e0924eb8dc842
      https://github.com/llvm/llvm-project/commit/b74dbf7fb2d152109bba29fdb39e0924eb8dc842
  Author: Pranav Kant <prka at google.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [bazel] Add support for SMT Dialect (#135454)

This fixes #131480


  Commit: a4fbc6f78f7a276d23f61c93694090fccd2461cb
      https://github.com/llvm/llvm-project/commit/a4fbc6f78f7a276d23f61c93694090fccd2461cb
  Author: Pranav Kant <prka at google.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [bazel] Fix a typo (#135460)


  Commit: 54e70ac7650f1c22f687937d1a082e4152f97b22
      https://github.com/llvm/llvm-project/commit/54e70ac7650f1c22f687937d1a082e4152f97b22
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
    M mlir/lib/Dialect/SMT/IR/SMTOps.cpp
    M mlir/unittests/Dialect/SMT/CMakeLists.txt
    R mlir/unittests/Dialect/SMT/QuantifierTest.cpp

  Log Message:
  -----------
  [mlir][SMT] remove custom forall/exists builder because of asan memory leak


  Commit: 357e3803bb94cc622c785f7eb60aa38d552bc5ef
      https://github.com/llvm/llvm-project/commit/357e3803bb94cc622c785f7eb60aa38d552bc5ef
  Author: Sagar Kulkarni <sagar.kulkarni1911 at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

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

  Log Message:
  -----------
  [mlir][vector] Prevent folding non memref-type gather into maskedload (#135371)

This patch fixes an issue in the FoldContiguousGather pattern which was
incorrectly folding vector.gather operations with contiguous indices
into vector.maskedload operations regardless of the base operand type.

While vector.gather operations can work on both tensor and memref types,
vector.maskedload operations are only valid for memref types. The
pattern was incorrectly lowering a tensor-based gather into a
masked-load, which is invalid.

This fix adds a type check to ensure the pattern only applies to
memref-based gather operations.

Co-authored-by: Sagar Kulkarni <sagar at rain.ai>


  Commit: 336b290923151d02fd6b3050ccbaf74f0aa08339
      https://github.com/llvm/llvm-project/commit/336b290923151d02fd6b3050ccbaf74f0aa08339
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [RISCV] Use a DAG combine to prune pointless vrgather.vi (#135392)

If the vrgather.vi is preceeded by a vmv.v.x which writes a superset of
the lanes writen by the vrgather, and the vrgather has no passthru, then
the vrgather has no semantic effect.

This is the start of a mini-series of patches around rewriting
vrgather.vi/vx preceeded by vmv.v.x, vfmf.v.f, vmv.s.x, etc... Starting
with the simplest, but also lowest impact.

One point I'd like a second oppinion on is the out of bounds semenatic
change. As far as I can tell, all the indices are in bounds by
construction. The doc change is as much as I couldn't figure out how to
test the alternative as anything else.


  Commit: 3a2d9a7c1e73618ca77caa6455e9208ad3b16664
      https://github.com/llvm/llvm-project/commit/3a2d9a7c1e73618ca77caa6455e9208ad3b16664
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/lib/Frontend/CompilerInstance.cpp

  Log Message:
  -----------
  [clang][frontend] Expose `CompilerInstance::cloneForModuleCompile()` (#135405)

This PR exposes `cloneForModuleCompile()` as a public `CompilerInstance`
member function. This will be eventually used in the dependency scanner
to customize implicit module builds.


  Commit: fa4ac19f0fc937e30fd7711dad98d0fcdb34f8ba
      https://github.com/llvm/llvm-project/commit/fa4ac19f0fc937e30fd7711dad98d0fcdb34f8ba
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/test/X86/callcont-fallthru.s
    M bolt/test/link_fdata.py

  Log Message:
  -----------
  [BOLT] Accept PLT fall-throughs as valid traces (#129481)

We used to report PLT traces as invalid (mismatching disassembled
function contents) because PLT functions are marked as pseudo and
ignored, thus missing CFG. However, such traces are not mismatching
the function contents. Accept them without attaching the profile.

Test Plan: updated callcont-fallthru.s


  Commit: 6bea80e93fcba89a6b3a8312cc0a3c3f528b284a
      https://github.com/llvm/llvm-project/commit/6bea80e93fcba89a6b3a8312cc0a3c3f528b284a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [TableGen] Remove unneeded FIXME. NFC

The message looks correct to me.


  Commit: d49063b4962367bac52d4a3e2aa4ff324a7d8fbf
      https://github.com/llvm/llvm-project/commit/d49063b4962367bac52d4a3e2aa4ff324a7d8fbf
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_linux.cpp
    M compiler-rt/lib/asan/asan_malloc_linux.cpp
    M compiler-rt/lib/interception/interception_linux.cpp
    M compiler-rt/lib/interception/interception_linux.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h

  Log Message:
  -----------
  [compiler-rt][sanitizer][NFC] update endif markers for Haiku (#135475)


  Commit: 7a6a79551d1bf5468f925ffcaa3d62807cca1aaa
      https://github.com/llvm/llvm-project/commit/7a6a79551d1bf5468f925ffcaa3d62807cca1aaa
  Author: donald chen <chenxunyu1993 at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

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

  Log Message:
  -----------
  [NFC][equivalenceClass] Refactor coding style in EquivalenceClasses.h. (#135467)


  Commit: b864405c9b848d6815ac4562fe3680c5ce8d90ff
      https://github.com/llvm/llvm-project/commit/b864405c9b848d6815ac4562fe3680c5ce8d90ff
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmInfo.h

  Log Message:
  -----------
  MCAsmInfo: Remove unused UseParensForDollarSignNames

Follow-up to 3acccf042ab8a7b7e663bb2b2fac328d9bf65b38


  Commit: 339f58de16ac7a31869d189bec6cad7696958546
      https://github.com/llvm/llvm-project/commit/339f58de16ac7a31869d189bec6cad7696958546
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M .github/workflows/containers/github-action-ci/Dockerfile

  Log Message:
  -----------
  [Github] Add llvm-symbolizer to CI container

This is needed for symbolizing some test failures. It is under 8MB, so there is
very little cost to adding it.


  Commit: 76e07d8ba5286daf349ef19588c8c011162bec09
      https://github.com/llvm/llvm-project/commit/76e07d8ba5286daf349ef19588c8c011162bec09
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
    M llvm/test/Transforms/InferFunctionAttrs/readonly_and_writeonly.ll
    M llvm/test/Transforms/LICM/strlen.ll
    M llvm/test/Transforms/LoopIdiom/basic.ll
    M llvm/test/Transforms/LoopIdiom/memset-pattern-tbaa.ll
    M llvm/test/Transforms/LoopIdiom/struct_pattern.ll
    M llvm/test/Transforms/LoopIdiom/unroll-custom-dl.ll
    M llvm/test/Transforms/LoopIdiom/unroll.ll
    M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll

  Log Message:
  -----------
  [LibCall] Infer nocallback for libcalls (#135173)

This patch adds `nocallback` attributes for string/math libcalls. It
allows FuncAttributor to infer `norecurse` more precisely and encourages
more aggressive global optimization.


  Commit: 8b40a09bf50d62e2017611b7be2c55fab22d9572
      https://github.com/llvm/llvm-project/commit/8b40a09bf50d62e2017611b7be2c55fab22d9572
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/test/CodeGen/catch-alignment-assumption-array.c
    M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-polymorphism.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-openmp.cpp

  Log Message:
  -----------
  [Clang][CodeGen][UBSan] Remove redundant `EmitCheckValue` calls. NFCI (#135141)

`EmitCheckValue` is called inside `EmitCheck`:

https://github.com/llvm/llvm-project/blob/b122956390a6877536927c2b073a0b99f8b9704f/clang/lib/CodeGen/CGExpr.cpp#L3739
The outside calls are redundant because
`EmitCheckValue(EmitCheckValue(V))` always returns `EmitCheckValue(V)`.

Required by https://github.com/llvm/llvm-project/pull/135135.


  Commit: 4dd80b73b00c05cf3d0a29c736fa2dae8e64c780
      https://github.com/llvm/llvm-project/commit/4dd80b73b00c05cf3d0a29c736fa2dae8e64c780
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll

  Log Message:
  -----------
  [SimplifyCFG] test for trunc condition (NFC)


  Commit: 2b270df2e7be5deef5d471b7624363d9b48b4480
      https://github.com/llvm/llvm-project/commit/2b270df2e7be5deef5d471b7624363d9b48b4480
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    A lld/test/COFF/export-alias.test
    M llvm/lib/Object/COFFModuleDefinition.cpp
    A llvm/test/tools/llvm-lib/underscore.test

  Log Message:
  -----------
  [Object][COFF] Avoid underscore prefix for forwarding exports (#135433)

Fixes #132411.


  Commit: 6de15379f4c1ae88ec347c6e000d6f27ad0a948b
      https://github.com/llvm/llvm-project/commit/6de15379f4c1ae88ec347c6e000d6f27ad0a948b
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/limits.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/locale.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.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/typeinfo.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/vector.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:
  -----------
  [NFC][libc++][test] Minor updates to generated header version test. (#134543)

Adjusting the existing script to match the new output makes it easy to
review the new script works correctly.

This adjusts the tests to match the changes in the new tests, Notably
- removes the synopsis uses 2 spaces indent in `# if`

It does not implement the conditional include part. This would be quite
some effort and these diffs are easy to review manually.

Note there are no tests for the changes; the existing script will be
phased out when the next generators are complete.


  Commit: d39d24cec109e99e74a8cfd88d28eb32195a9f2e
      https://github.com/llvm/llvm-project/commit/d39d24cec109e99e74a8cfd88d28eb32195a9f2e
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/21.rst

  Log Message:
  -----------
  [libc++][doc] Updates the release notes.

Copies the not-yet-implemented items planned for removal from the
LLVM-20 to the LLVM-21 release notes. This allows to better keep track
of the status of the next release.


  Commit: e838b8b7e71df4ee0e3aea6c94f510ee1794d707
      https://github.com/llvm/llvm-project/commit/e838b8b7e71df4ee0e3aea6c94f510ee1794d707
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
    A llvm/test/Transforms/LowerMatrixIntrinsics/transpose-fold.ll

  Log Message:
  -----------
  [Matrix] Fix a miscompile due to an incorrect double-transpose fold (#135397)

Transposes are only inverses of each other when they have matching
shapes.

rdar://145592582


  Commit: 33e5305c598be9b4f57feba330b963c2142d15cc
      https://github.com/llvm/llvm-project/commit/33e5305c598be9b4f57feba330b963c2142d15cc
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll

  Log Message:
  -----------
  [RISCV] Further explain vfmerge.vfm/vmerge.vxm varuat coverage


  Commit: c6a892e0ed82a378ad1a69905f70700bf57c68cf
      https://github.com/llvm/llvm-project/commit/c6a892e0ed82a378ad1a69905f70700bf57c68cf
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
    M mlir/lib/Dialect/SMT/IR/SMTOps.cpp
    M mlir/unittests/Dialect/SMT/CMakeLists.txt
    A mlir/unittests/Dialect/SMT/QuantifierTest.cpp

  Log Message:
  -----------
  [mlir][SMT] restore custom builder for forall/exists (#135470)

This reverts commit 54e70ac7650f1c22f687937d1a082e4152f97b22 which
itself fixed an [asan
leak](https://lab.llvm.org/buildbot/#/builders/55/builds/9761) from the
original upstreaming commit. The leak was due to op allocations not
being `free`ed.

~~The necessary change was to explicitly `->destroy()` the ops at the
end of the tests. I believe this is because the rewriter used in the
tests doesn't actually insert them into a module and so without an
explicit `->destroy()` no bookkeeping process is able to take care of
them.~~

The necessary change was to use `OwningOpRef` which calls `op->erase()`
in its [own
destructor](https://github.com/makslevental/llvm-project/blob/89cfae41ecc043f8c47be4dea4b7c740d4f950b3/mlir/include/mlir/IR/OwningOpRef.h#L39).


  Commit: b233d79623dd3a6d307db2bc73ddd12e3a054460
      https://github.com/llvm/llvm-project/commit/b233d79623dd3a6d307db2bc73ddd12e3a054460
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/r600.llvm.is.fpclass.ll

  Log Message:
  -----------
  R600: Expand is_fpclass (#135234)


  Commit: 009971a0d3218d3af0d10fb70d2c876ccc46b24d
      https://github.com/llvm/llvm-project/commit/009971a0d3218d3af0d10fb70d2c876ccc46b24d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

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

  Log Message:
  -----------
  [TableGen] Accurately calculate where the source variable ops start in PseudoLoweringEmitter::emitLoweringEmitter. (#135465)

The code was using the number of source operands plus one. The plus one
seems to be an ARM specific value accounting for one of the source
operands having 2 sub operands. No other target in tree uses
PseudoLowering with variadic instructions so this worked.

This patch replaces it with a proper count of the number of sub operands
of all operands. While there I update the loop to use MIOperandNo so we
don't need to count up the sub operands as we go.


  Commit: 761787d42576751afbaaba5107233ee849f81b6f
      https://github.com/llvm/llvm-project/commit/761787d42576751afbaaba5107233ee849f81b6f
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M clang-tools-extra/clangd/AST.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
    M clang/test/SemaCXX/undefined-partial-specialization.cpp
    M clang/test/SemaTemplate/make_integer_seq.cpp
    M clang/test/SemaTemplate/type_pack_element.cpp
    M clang/unittests/AST/TypePrinterTest.cpp

  Log Message:
  -----------
  Reland: [clang] Improved canonicalization for template specialization types (#135414)

This relands https://github.com/llvm/llvm-project/pull/135119, after
fixing crashes seen in LLDB CI reported here:
https://github.com/llvm/llvm-project/pull/135119#issuecomment-2794910840

Fixes https://github.com/llvm/llvm-project/pull/135119

This changes the TemplateArgument representation to hold a flag
indicating whether a tempalte argument of expression type is supposed to
be canonical or not.

This gets one step closer to solving
https://github.com/llvm/llvm-project/issues/92292

This still doesn't try to unique as-written TSTs. While this would
increase the amount of memory savings and make code dealing with the AST
more well-behaved, profiling template argument lists is still too
expensive for this to be worthwhile, at least for now.

This also fixes the context creation of TSTs, so that they don't in some
cases get incorrectly flagged as sugar over their own canonical form.
This is captured in the test expectation change of some AST dumps.

This fixes some places which were unnecessarily canonicalizing these
TSTs.


  Commit: b71123f1272ee081b18b8ced1925d6e9300e7310
      https://github.com/llvm/llvm-project/commit/b71123f1272ee081b18b8ced1925d6e9300e7310
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
    M clang-tools-extra/test/clang-doc/basic-project.test

  Log Message:
  -----------
  [clang-doc] Pre-commit tests for static members and functions (#135456)

Issue #59813 mentions that static members are not included in
the documentation generated by clang-doc. This patch adds
some basic testing for that property, with the current incorrect
behavior. Follow up patches will address the missing documentation.


  Commit: 995fd47944f471e985e34d7da8c0667059decbac
      https://github.com/llvm/llvm-project/commit/995fd47944f471e985e34d7da8c0667059decbac
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll

  Log Message:
  -----------
  [LAA] Make sure MaxVF for Store-Load forward safe dep distances is pow2.

MaxVF computed in couldPreventStoreLoadFowrard may not be a power of 2,
as CommonStride may not be a power-of-2.

This can cause crashes after 78777a20. Use bit_floor to make sure it is
a suitable power-of-2.

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


  Commit: 4fa3b2a1843c42f333d7332b373ae99428883974
      https://github.com/llvm/llvm-project/commit/4fa3b2a1843c42f333d7332b373ae99428883974
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

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

  Log Message:
  -----------
  [VPlan] Use TypeAnalysis instead of underlying instr in VPPredInst (NFC)

Removes another unnecessary use of the underlying instructions during
VPlan execution.


  Commit: 5bdad0555eae01e5eef6a1360c1637a5d9bcde79
      https://github.com/llvm/llvm-project/commit/5bdad0555eae01e5eef6a1360c1637a5d9bcde79
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M libcxx/include/__tree

  Log Message:
  -----------
  [libc++][NFC] Remove a few aliases in __tree (#134392)

These aliases aren't required anymore, since we've taken an ABI break
unconditionally which these were used to avoid.


  Commit: acf964b95f5421cc372719139b427be37ad79e7e
      https://github.com/llvm/llvm-project/commit/acf964b95f5421cc372719139b427be37ad79e7e
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M mlir/include/mlir/InitAllTranslations.h
    A mlir/include/mlir/Target/SMTLIB/ExportSMTLIB.h
    A mlir/include/mlir/Target/SMTLIB/Namespace.h
    A mlir/include/mlir/Target/SMTLIB/SymCache.h
    M mlir/lib/Target/CMakeLists.txt
    A mlir/lib/Target/SMTLIB/CMakeLists.txt
    A mlir/lib/Target/SMTLIB/ExportSMTLIB.cpp
    A mlir/test/Target/SMTLIB/array.mlir
    A mlir/test/Target/SMTLIB/attributes.mlir
    A mlir/test/Target/SMTLIB/bitvector-errors.mlir
    A mlir/test/Target/SMTLIB/bitvector.mlir
    A mlir/test/Target/SMTLIB/core-errors.mlir
    A mlir/test/Target/SMTLIB/core.mlir
    A mlir/test/Target/SMTLIB/integer-errors.mlir
    A mlir/test/Target/SMTLIB/integer.mlir

  Log Message:
  -----------
  [mlir][SMT] add export smtlib (#131492)

This PR adds the `ExportSMTLIB` translation/egress pass for `SMT`
dialect.


  Commit: 75dea80085ff9870239109275a2f19d6709fbe65
      https://github.com/llvm/llvm-project/commit/75dea80085ff9870239109275a2f19d6709fbe65
  Author: Min Hsu <min at myhsu.dev>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M .mailmap

  Log Message:
  -----------
  [mailmap] Consolidate all my email addresses


  Commit: f0dc236d3384e5d5dce2e39a8a3202325899eae5
      https://github.com/llvm/llvm-project/commit/f0dc236d3384e5d5dce2e39a8a3202325899eae5
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/test/MC/RISCV/rv32c-invalid.s

  Log Message:
  -----------
  [RISCV][NFC] Correct c_lui_imm (#135448)

The MCOperandPredicate seems to allow symbols as well as immediates, but
the parser/matcher does not due to `isCLUIImm`. This brings both in line
with each other, and should prevent trying to compress a `lui` with a
symbol, which cannot be emitted as a `c.lui` as there are no relocations
for this as `R_RISCV_RVC_LUI` is deprecated/removed.


  Commit: d903f6b672cb7ebb162e3ef98f483e79b180a413
      https://github.com/llvm/llvm-project/commit/d903f6b672cb7ebb162e3ef98f483e79b180a413
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M mlir/lib/Target/SMTLIB/CMakeLists.txt

  Log Message:
  -----------
  [mlir][SMT] fix MLIRExportSMTLIB by linking MLIRArithDialect


  Commit: bbc5d205d409bb22fe4ae8ad16ebaf1752e6b700
      https://github.com/llvm/llvm-project/commit/bbc5d205d409bb22fe4ae8ad16ebaf1752e6b700
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M mlir/lib/Target/SMTLIB/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Fix build after #131492 (#135502)

After #131492 is appears that linking MLIRAritDialect was missing.


  Commit: 09c8cfe219481a8fc20c6711dc5c87451f5a5ef1
      https://github.com/llvm/llvm-project/commit/09c8cfe219481a8fc20c6711dc5c87451f5a5ef1
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/CleanupTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Add isJava() and isTextProto() in FormatStyle (#135466)

Also remove redundant name qualifiers format::, FormatStyle::, and
LanguageKind::.


  Commit: 5f744cc6301abb3be5a500b2fcbc944fe2bd3241
      https://github.com/llvm/llvm-project/commit/5f744cc6301abb3be5a500b2fcbc944fe2bd3241
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

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

  Log Message:
  -----------
  [clang-format] Wrap and indent lambda braces in GNU style (#135479)

Fix #133135


  Commit: b0fede358fea768ead2dc5d59ad0b6b2decc4217
      https://github.com/llvm/llvm-project/commit/b0fede358fea768ead2dc5d59ad0b6b2decc4217
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    A llvm/test/ThinLTO/AMDGPU/Inputs/in-f1.ll
    A llvm/test/ThinLTO/AMDGPU/force-import-all.ll
    A llvm/test/ThinLTO/AMDGPU/lit.local.cfg

  Log Message:
  -----------
  [ThinLTO] Don't convert functions to declarations if `force-import-all` is enabled (#134541)

On one hand, we intend to force import all functions when the option is
enabled.
On the other hand, we currently drop definitions of some functions and
convert
them to declarations, which contradicts this intent.

With this PR, functions will no longer be converted to declarations when
`force-import-all` is enabled.


  Commit: 60b1d44d708d5912897c7bdab681cbefe8f35e79
      https://github.com/llvm/llvm-project/commit/60b1d44d708d5912897c7bdab681cbefe8f35e79
  Author: Sayan Saha <sayans at mathworks.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir

  Log Message:
  -----------
  [tosa]: canonicalize dynamic size of tosa.slice to static output shape (#135429)

Addresses https://github.com/llvm/llvm-project/issues/135389


  Commit: cfa322fa9a693d4ba652871fafc6dbb2039b55a2
      https://github.com/llvm/llvm-project/commit/cfa322fa9a693d4ba652871fafc6dbb2039b55a2
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__bit/bit_log2.h

  Log Message:
  -----------
  [libc++][NFC] Reuse `__bit_log2` for `sort` (#135303)

The `__log2i` function template in `<algorithm/sort.h>` is basically
equivalent to `__bit_log2` in `<__bit/bit_log2.h>`. It seems better to
avoid duplication.


  Commit: b0acbbee88f8ae706658f2a7635df4ce39e15e74
      https://github.com/llvm/llvm-project/commit/b0acbbee88f8ae706658f2a7635df4ce39e15e74
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

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

  Log Message:
  -----------
  [mlir][vector] Fix deprecation warning for `.isa`. NFC. (#135512)

This was introduced in: https://github.com/llvm/llvm-project/pull/135371


  Commit: 39662922e15c53f54da93b5a1d029589d49caec9
      https://github.com/llvm/llvm-project/commit/39662922e15c53f54da93b5a1d029589d49caec9
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/MC/MCObjectStreamer.cpp

  Log Message:
  -----------
  MCObjectStreamer: Refine absoluteSymbolDiff condition

The function is called to test the fast path - when Lo/Hi are within the
same fragment. This is unsafe - Lo/Hi at the begin and end of a
relaxable fragment should not evaluate to a constant. However, we don't
have tests that exercise the code path.

Nevertheless, make the check safer and remove the now unnecessary
isRISCV check (from https://reviews.llvm.org/D103539).


  Commit: 3e7be494f84e51d5f4245d6f39e380a500f226a6
      https://github.com/llvm/llvm-project/commit/3e7be494f84e51d5f4245d6f39e380a500f226a6
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M libcxx/test/std/strings/basic.string/string.modifiers/string_append/initializer_list.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp
    M libcxx/test/support/nasty_string.h

  Log Message:
  -----------
  [libc++][test] Test `nasty_string` in C++20 (#135338)

It seems that we can only rely on C++20 features and make `nasty_string`
also tested for MSVC STL.


  Commit: 329a675006a22da89ca39199fac4408e3ae4eee4
      https://github.com/llvm/llvm-project/commit/329a675006a22da89ca39199fac4408e3ae4eee4
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCELFObjectWriter.h
    M llvm/lib/MC/ELFObjectWriter.cpp

  Log Message:
  -----------
  ELFObjectWriter: Simplify STT_SECTION adjustment. NFC


  Commit: 1c5961c0481b9c7421d38e3141d3c5a1e6084234
      https://github.com/llvm/llvm-project/commit/1c5961c0481b9c7421d38e3141d3c5a1e6084234
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/test/MC/ELF/reloc-directive.s

  Log Message:
  -----------
  ELFObjectWriter: Disable STT_SECTION adjustment for .reloc

to match GNU Assembler. This generalizes the SHT_LLVM_CALL_GRAPH_PROFILE
(which uses BFD_RELOC_NONE https://reviews.llvm.org/D104080) special case.


  Commit: 3ff634dee857c4d71ff665e49d38005e608de8a0
      https://github.com/llvm/llvm-project/commit/3ff634dee857c4d71ff665e49d38005e608de8a0
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/test/MC/ELF/reloc-directive.s

  Log Message:
  -----------
  Revert "ELFObjectWriter: Disable STT_SECTION adjustment for .reloc"

This reverts commit 1c5961c0481b9c7421d38e3141d3c5a1e6084234.
Inadvertently pushed.


  Commit: 302bc414103eb6de9c0dce62cfd37bf3ab7e8cbe
      https://github.com/llvm/llvm-project/commit/302bc414103eb6de9c0dce62cfd37bf3ab7e8cbe
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/Matchers.cpp
    M clang-tools-extra/clang-tidy/utils/Matchers.h

  Log Message:
  -----------
  [clang-tidy] `matchesAnyListedTypeName` support non canonical types (#134869)


  Commit: 06814834a63139ff27efe3bdbc6dc15d46666b39
      https://github.com/llvm/llvm-project/commit/06814834a63139ff27efe3bdbc6dc15d46666b39
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.h
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-allowed-types.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp

  Log Message:
  -----------
  [clang-tidy] treat unsigned char and signed char as char type by default in bugprone-unintended-char-ostream-output (#134870)

Add `AllowedTypes` options to support custom defined char like type.
treat `unsigned char` and `signed char` as char like type by default.
The allowed types only effect when the var decl or explicit cast to this
non-canonical type names.

Fixed: #133425


  Commit: 734660b6dd95d37604ac43f43de4f8da518e7319
      https://github.com/llvm/llvm-project/commit/734660b6dd95d37604ac43f43de4f8da518e7319
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp

  Log Message:
  -----------
  ELFObjectWriter: Simplify STT_SECTION adjustment


  Commit: 19730e37ec5d3513d188a75999c964f2ef4b9509
      https://github.com/llvm/llvm-project/commit/19730e37ec5d3513d188a75999c964f2ef4b9509
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
    M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp

  Log Message:
  -----------
  ELFObjectWriter: Make .reloc test generic

Move `Fixup.getKind() >= FirstLiteralRelocationKind` from target hooks
to ELFObjectWriter::recordRelocation.

Currently, getRelocType cannot be skipped for LoongArch due to #135519


  Commit: 6196379baf4fe42b6c1a4bea270df39b7152547b
      https://github.com/llvm/llvm-project/commit/6196379baf4fe42b6c1a4bea270df39b7152547b
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp

  Log Message:
  -----------
  [PowerPC] Fix -Wunused-variable


  Commit: 7940b0546ba0c28990bc059c8c3ec36fdad0fd0a
      https://github.com/llvm/llvm-project/commit/7940b0546ba0c28990bc059c8c3ec36fdad0fd0a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

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

  Log Message:
  -----------
  [BOLT] Fix warning

This patch fixes:

  bolt/lib/Core/BinaryContext.cpp:582:8: error: unused variable
  'printEntryDiagnostics' [-Werror,-Wunused-variable]

  bolt/lib/Core/BinaryContext.cpp:842:10: error: unused variable
  'isSibling' [-Werror,-Wunused-variable]


  Commit: f4fba20726aced418dc7ae24e47ee78f109a64cb
      https://github.com/llvm/llvm-project/commit/f4fba20726aced418dc7ae24e47ee78f109a64cb
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M lldb/include/lldb/API/SBReproducer.h
    M lldb/include/lldb/Core/Debugger.h
    R lldb/scripts/reproducer-replay.py
    M lldb/source/API/SBReproducer.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/unittests/Core/DiagnosticEventTest.cpp
    M lldb/unittests/Interpreter/TestCommandPaths.cpp
    M lldb/unittests/Platform/PlatformSiginfoTest.cpp
    M lldb/unittests/Process/ProcessEventDataTest.cpp
    M lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
    M lldb/unittests/Target/ExecutionContextTest.cpp
    M lldb/unittests/Target/MemoryTest.cpp
    M lldb/unittests/Target/StackFrameRecognizerTest.cpp
    M lldb/unittests/Thread/ThreadTest.cpp

  Log Message:
  -----------
  [lldb] Remove vestigial remnants of reproducers (#135361)

Not touching the SB API.


  Commit: d6e2aee9b1069b4a5fc1a0b07aef23b380f856f6
      https://github.com/llvm/llvm-project/commit/d6e2aee9b1069b4a5fc1a0b07aef23b380f856f6
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir

  Log Message:
  -----------
  Revert "[tosa]: canonicalize dynamic size of tosa.slice to static output shape" (#135525)

Reverts llvm/llvm-project#135429 due buildbot breakage:
https://lab.llvm.org/buildbot/#/builders/169/builds/10405

Based on the ASan output, I think after the replaceOp on line 775, it's
no longer valid to do getSize() on sliceOp:
```
   775      rewriter.replaceOp(sliceOp, newSliceOp.getResult());
   776
   777      // Remove const_shape size op when it no longer has use point.
   778      Operation *sizeConstShape = sliceOp.getSize().getDefiningOp();
```


  Commit: 12a7155ee290d62fef00362554b392a98b75fb77
      https://github.com/llvm/llvm-project/commit/12a7155ee290d62fef00362554b392a98b75fb77
  Author: Christian Sigg <csigg at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  [mlir][bazel] Port mlir-translate bits of acf964b95f54.


  Commit: 5c45e239e81972ec3ff84b1650825385ccad0d46
      https://github.com/llvm/llvm-project/commit/5c45e239e81972ec3ff84b1650825385ccad0d46
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/reverse_iterator.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/reverse_iterator.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/reverse_iterator.pass.cpp

  Log Message:
  -----------
  [libc++][test][NFC] Remove unused inclusions of `<iostream>` (#134776)

Some test files for flat container adaptors redundantly include
`<iostream>` and, surprisingly, `<cstddef>`. This patch removes the
redundant inclusions.

Inclusions of `<vector>` is also removed since a sane implementation is
expected to make instantiation of `flat_(multi)map<K, V>` or
`flat_(multi)set<K>` valid when only `<flat_map>` or `<flat_set>` is
included.


  Commit: 028429ac452acde227ae0bfafbfe8579c127e1ea
      https://github.com/llvm/llvm-project/commit/028429ac452acde227ae0bfafbfe8579c127e1ea
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/ROCm.h
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/Driver/rocm-device-libs.cl

  Log Message:
  -----------
  clang/AMDGPU: Stop looking for oclc_daz_opt_* control libraries (#134805)

These have been empty since July 2023


  Commit: 1c5ce2d74fa3ee15d1cb2e092cce0754c8ce19fa
      https://github.com/llvm/llvm-project/commit/1c5ce2d74fa3ee15d1cb2e092cce0754c8ce19fa
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
    M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp

  Log Message:
  -----------
  Reapply "[lldb] ProcessGdbRemote header gardning"

This reverts commit 68ab45f0533f3bbfc1c96bddd53de7e769180219, reapplying
2fd860c1f559c0b0be66cc000e38270a04d0a1a3. The only change is keeping
"lldb/Host/Config.h", which I believe was the cause of the failures.


  Commit: ca5b3a0f51baa6fddef4d888bf0aacca89e6f565
      https://github.com/llvm/llvm-project/commit/ca5b3a0f51baa6fddef4d888bf0aacca89e6f565
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCSymbol.h
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp

  Log Message:
  -----------
  [MC] Remove SetUsed on isUndefined and getFragment

Due to the known limitations of .set reassignment (see
https://sourceware.org/PR288), we use diagnostics to reject patterns
that could lead to errors (ae7ac010594f693fdf7b3ab879e196428d961e75 2009-06)).

This code gets refined multiple times, see:

* 9b4a824217f1fe23f83045afe7521acb791bc2d0 (2010-05) `IsUsedInExpr`
* 46c79ef1132607aead144dfda0f26aa8b065214f (2010-11) renamed `IsUsedInExpr` to `IsUsed`

The related `SetUsed` bit seems unnecessary nowadays.


  Commit: 1004fae222efeee215780c4bb4e64eb82b07fb4f
      https://github.com/llvm/llvm-project/commit/1004fae222efeee215780c4bb4e64eb82b07fb4f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M flang/test/Driver/omp-driver-offload.f90

  Log Message:
  -----------
  flang: Try to update test for oclc_daz_opt removal

Try to fix bot failure after 028429ac452acde227ae0bfafbfe8579c127e1ea


  Commit: 4e0876ee43d00c5fc28ed30bcb7c1aac2b18674f
      https://github.com/llvm/llvm-project/commit/4e0876ee43d00c5fc28ed30bcb7c1aac2b18674f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M libcxx/include/__atomic/memory_order.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__type_traits/underlying_type.h
    M libcxx/include/__utility/convert_to_integral.h
    M libcxx/include/__utility/to_underlying.h
    M libcxx/include/future

  Log Message:
  -----------
  [libc++] Use __underlying_type directly in underyling_type_t (#135423)

This avoids instantiating multiple classes, reducing compile times. This
patch also introduces `__underyling_type_t` for internal use, similar to
other type traits.


  Commit: 3bebda0758409e91c25fa5add72ff22f3ddff609
      https://github.com/llvm/llvm-project/commit/3bebda0758409e91c25fa5add72ff22f3ddff609
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h

  Log Message:
  -----------
  [VPlan] Mark VPWidenCallRecipe as a VPRecipeWithIRFlags (#135373)

I noticed VPWidenCallRecipe was missing here, it looks like it should be
handled in VPRecipeWithIRFlags::classof


  Commit: 84666d68740bea9eee19399ab5c8622ff2f6e9ca
      https://github.com/llvm/llvm-project/commit/84666d68740bea9eee19399ab5c8622ff2f6e9ca
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/Basic/SourceManager.cpp

  Log Message:
  -----------
  Add back include for AutoConvert.h as it's needed for z/OS (#135430)

The commit
https://github.com/llvm/llvm-project/commit/a1935fd3809772c06f9a09fa151181642ae92b20
removed an include that is needed when building on z/OS.


  Commit: beac727e48346efb84558696fb080b1bbd07e234
      https://github.com/llvm/llvm-project/commit/beac727e48346efb84558696fb080b1bbd07e234
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/IROutliner.cpp

  Log Message:
  -----------
  IROutliner: Do not look at use lists of constant phi inputs (#135019)

Theoretically this does a worse job with globals but this is not
covered by existing tests


  Commit: 09588e93bbe486ce782de9fba604f5cd184ec446
      https://github.com/llvm/llvm-project/commit/09588e93bbe486ce782de9fba604f5cd184ec446
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h

  Log Message:
  -----------
  [clang][bytecode] Fix an inconsistency with loop condition jumps (#135530)

When emitting the jump for e.g. a for loop condition, we used to jump
out of the CondScope, leaving the scope initialized, because we skipped
the corresponding Destroy opcode. If that loop was in a loop itself,
that outer loop could then iterate once more, leading to us initializing
a scope that was still initialized.
Fix this by also destroying the scope after the EndLabel.


  Commit: 0f607f3df54e22896b484510f0c1ccfb718de67a
      https://github.com/llvm/llvm-project/commit/0f607f3df54e22896b484510f0c1ccfb718de67a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
    M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll

  Log Message:
  -----------
  [VPlan] Simplify 'or x, true' -> true.

Add additional OR simplification to fix a divergence between legacy and
VPlan-based cost model.

This adds a new m_AllOnes matcher by generalizing specific_intval to
int_pred_ty, which takes a predicate to check to support matching both
specific APInts and other APInt predices, like isAllOnes.

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


  Commit: ed43207306f7351f2b4f8284710b028df973d74e
      https://github.com/llvm/llvm-project/commit/ed43207306f7351f2b4f8284710b028df973d74e
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll
    M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll

  Log Message:
  -----------
  [SimplifyCFG] Handle trunc condition in foldBranchToCommonDest. (#135490)

proof: https://alive2.llvm.org/ce/z/v32Aof


  Commit: 77fcdb9f26d2d9da04767894b23b71e52e5ac7ce
      https://github.com/llvm/llvm-project/commit/77fcdb9f26d2d9da04767894b23b71e52e5ac7ce
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  [Scalar] Avoid repeated hash lookups (NFC) (#132660)


  Commit: bb9580a02b393683ff0b6c360df684f33c715a1f
      https://github.com/llvm/llvm-project/commit/bb9580a02b393683ff0b6c360df684f33c715a1f
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/test/Analysis/ScalarEvolution/pr135531.ll

  Log Message:
  -----------
  [SCEV] Use ashr to adjust constant multipliers (#135534)

SCEV converts "-2 *nsw (i32 V)" into "2148473647 *nsw (i32 V)". But we
cannot preserve the nsw flag when the constant multiplier is negative.
This patch changes lshr to ashr so that we can preserve both nsw and nuw
flags.

Alive2 proof: https://alive2.llvm.org/ce/z/LZVSEa
Closes https://github.com/llvm/llvm-project/issues/135531.


  Commit: 5550d302288f95fc9bb91d0ba35e5ca459ffd9b1
      https://github.com/llvm/llvm-project/commit/5550d302288f95fc9bb91d0ba35e5ca459ffd9b1
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
    M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll

  Log Message:
  -----------
  [VPlan] Check captured operand when simplifying redundant OR.

Follow-up to 0f607f to actually use the captured operand X instead of Y.


  Commit: 703cfe745b96751c1204bcffe4e56038c809247f
      https://github.com/llvm/llvm-project/commit/703cfe745b96751c1204bcffe4e56038c809247f
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M libcxx/include/__bit/popcount.h
    M libcxx/include/__stop_token/atomic_unique_lock.h

  Log Message:
  -----------
  [libc++] Replace __libcpp_popcount by __builtin_popcountg (#133937)

`__libcpp_popcount` was previously used as a fallback for `__builtin_popcountg` to ensure compatibility with older compilers (Clang 18 and earlier), as `__builtin_popcountg` became available in Clang 19. Now that support for Clang 18 has been officially dropped in #130142, we can now safely  replace all instances of `__libcpp_popcount` with `__builtin_popcountg` and eliminate the fallback logic.


  Commit: 62d2cc84ac57afa47c2b1de599f9fd6e40adaacd
      https://github.com/llvm/llvm-project/commit/62d2cc84ac57afa47c2b1de599f9fd6e40adaacd
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#135540)


  Commit: 4b4cd645a829b8e510bdb008f449969d7bf53c30
      https://github.com/llvm/llvm-project/commit/4b4cd645a829b8e510bdb008f449969d7bf53c30
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  [ExecutionEngine] Avoid repeated map lookups (NFC) (#135541)


  Commit: d1d5f00a8eb43aaa22274c06b58d567f19e284fe
      https://github.com/llvm/llvm-project/commit/d1d5f00a8eb43aaa22274c06b58d567f19e284fe
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  [Passes] Avoid repeated hash lookups (NFC) (#135542)


  Commit: ccfb97b42174eab118a4e4222c25e986db876563
      https://github.com/llvm/llvm-project/commit/ccfb97b42174eab118a4e4222c25e986db876563
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/ROCm.h
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/Driver/rocm-device-libs.cl
    M flang/test/Driver/omp-driver-offload.f90

  Log Message:
  -----------
  Revert "clang/AMDGPU: Stop looking for oclc_daz_opt_* control libraries (#134805)"

This reverts commit 028429ac452acde227ae0bfafbfe8579c127e1ea and
1004fae222efeee215780c4bb4e64eb82b07fb4f.

These really need to be part of the compiler distribution. Bots are
relying on a nearly year old version to provide bitcode.


  Commit: 1264d7a53a4de3094672be2a248db57b213f33ac
      https://github.com/llvm/llvm-project/commit/1264d7a53a4de3094672be2a248db57b213f33ac
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/ToolChain.h
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AIX.h
    M clang/lib/Driver/ToolChains/PPCLinux.cpp
    M clang/lib/Driver/ToolChains/PPCLinux.h
    M flang/test/Driver/flang-ld-powerpc.f90
    M flang/test/Driver/linker-flags.f90

  Log Message:
  -----------
  [driver] Generalize the code that adds the path of libflang_rt.runtime.a. (#134362)

The PR is to generalize the re-use of the `compilerRT` code of adding
the path of `libflang_rt.runtime.a (so)` from AIX and LoP only to all
platforms via a new function `addFlangRTLibPath`.

It also added `-static-libflangrt` and `-shared-libflangrt` compiler
options to allow users choosing which `flang-rt` to link to. It defaults
to shared `flang-rt`, which is consistent with the linker behavior,
except on AIX, it defaults to static.

Also, PR #134320 exposed an issue in PR #131041 that the the overriding
`addFortranRuntimeLibs` is missing the link to `libquadmath`. This PR
also fixed that and restored the test case that PR #131041 broke.


  Commit: 578ca5e469ef1c91a79aa15bc186921ee7faa855
      https://github.com/llvm/llvm-project/commit/578ca5e469ef1c91a79aa15bc186921ee7faa855
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp

  Log Message:
  -----------
  [clang][bytecode] Print jump lines in Function::dump() (#135482)

E.g. for
```c++
constexpr int foo(int b) {
  int a = 1+1;

  for (int i = 0; i < b; ++i) {
    ++a;
  }
  return a;
}
```

we now print:
```
foo 0x7cc8d4bf0580
frame size: 128
arg size:   8
rvo:        0
this arg:   0
0      InitScope         0
16     ConstSint32       1
32     ConstSint32       1
48     AddSint32
56     SetLocalSint32    40
72     ConstSint32       0
88     SetLocalSint32    104
104    GetPtrLocal       104         <-+
120    LoadPopSint32                   |
128    GetPtrParam       0             |
144    LoadPopSint32                   |
152    LTSint32                        |
160    Jf                80     --+    |
176    GetPtrLocal       40       |    |
192    IncPopSint32      1        |    |
208    GetPtrLocal       104      |    |
224    IncPopSint32      1        |    |
240    Jmp               -152     |  --+
256    GetPtrLocal       40     <-+
272    LoadPopSint32
280    Destroy           0
296    RetSint32
304    Destroy           0
320    NoRet
```


  Commit: ce01e4e2f6cb2a1c37e3acceeac931b2031a02e8
      https://github.com/llvm/llvm-project/commit/ce01e4e2f6cb2a1c37e3acceeac931b2031a02e8
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCL/opencl-kernel-call.cl

  Log Message:
  -----------
  [Clang][OpenCL][AMDGPU] Use `byref` for aggregate OpenCL kernel arguments (#134892)

Due to a previous workaround allowing kernels to be called from other
functions,
Clang currently doesn't use the `byref` attribute for aggregate kernel
arguments. The issue was recently resolved in
https://github.com/llvm/llvm-project/pull/115821. With that fix, we can
now
enable the use of `byref` consistently across all languages.

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>

Fixes SWDEV-247226.

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>


  Commit: db20b0d4ec96e4dee0b5ca6e7ddd616eafd88d40
      https://github.com/llvm/llvm-project/commit/db20b0d4ec96e4dee0b5ca6e7ddd616eafd88d40
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/ObjCARC/contract.ll

  Log Message:
  -----------
  ObjCARC: Add regressed testcase from #134275


  Commit: a24ef4b07ee798b14fe0f3daa23cc3ec09410bc6
      https://github.com/llvm/llvm-project/commit/a24ef4b07ee798b14fe0f3daa23cc3ec09410bc6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/sincospi.ll

  Log Message:
  -----------
  SimplifyLibCalls: Skip sincospi optimization for ConstantData (#134688)

Avoids looking at the uselist, and it would probably be more
productive to constant fold this.


  Commit: b37476f99c37a9edf48684d82dde745d9e0df957
      https://github.com/llvm/llvm-project/commit/b37476f99c37a9edf48684d82dde745d9e0df957
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/PHITransAddr.cpp
    M llvm/test/Transforms/GVN/pr65447.ll

  Log Message:
  -----------
  PHITransAddr: Avoid looking at constant use lists (#134689)

Avoids asserts in GVN


  Commit: 393c783a10052b14d2b76b3ee930b3d83e7f1a16
      https://github.com/llvm/llvm-project/commit/393c783a10052b14d2b76b3ee930b3d83e7f1a16
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/test/CodeGen/AMDGPU/swdev380865.ll
    M llvm/test/CodeGen/PowerPC/pr43527.ll
    M llvm/test/CodeGen/PowerPC/pr48519.ll
    M llvm/test/CodeGen/PowerPC/sms-grp-order.ll
    M llvm/test/Transforms/LICM/pr50367.ll
    M llvm/test/Transforms/LICM/pr59324.ll

  Log Message:
  -----------
  LICM: Avoid looking at use list of constant data (#134690)

The codegen test changes seem incidental. Either way,
sms-grp-order.ll seems to already not hit the original issue.


  Commit: 30ae47eeefaeb2c78ae7f234621b8bb0444b7844
      https://github.com/llvm/llvm-project/commit/30ae47eeefaeb2c78ae7f234621b8bb0444b7844
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  SCEVExpander: Don't look at uses of constants (#134691)

This could be more relaxed, and look for uses of globals in
the same function but no tests apparently depend on that.


  Commit: 0a27c4e318e778b520306a9e2102e03023cfaa33
      https://github.com/llvm/llvm-project/commit/0a27c4e318e778b520306a9e2102e03023cfaa33
  Author: Reid Kleckner <rnk at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/cmake/modules/TableGen.cmake
    M llvm/include/llvm/TableGen/Main.h
    M llvm/include/llvm/TableGen/StringToOffsetTable.h
    M llvm/lib/TableGen/CMakeLists.txt
    M llvm/lib/TableGen/Main.cpp
    A llvm/lib/TableGen/StringToOffsetTable.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
    M llvm/utils/TableGen/Basic/TableGen.cpp
    M llvm/utils/TableGen/SDNodeInfoEmitter.cpp
    M llvm/utils/gn/secondary/llvm/lib/TableGen/BUILD.gn

  Log Message:
  -----------
  [StrTable] Use string literal emission for intrinsics on non-MSVC platforms (#124856)

This mainly transitions the LLVM intrinsic string table from character
emission to string literal emission, which I confirmed happens for me
locally.

I moved the guts of StringToOffsetTable to a cpp file so I could move
the `EmitLongStrLiterals` cl::opt global to a non-vague linkage home in
the `TableGen` library. I had to add missing FormatVariadic.h includes
to account for moving other includes to a cpp file.


  Commit: 5f11d64cfb44fc0adf3d3235b0e480d930379e9d
      https://github.com/llvm/llvm-project/commit/5f11d64cfb44fc0adf3d3235b0e480d930379e9d
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in AlignConsecutiveDeclarations (#135516)

Fix #109768


  Commit: c41ef751f85ee42f40380d064f44cfd347fb6215
      https://github.com/llvm/llvm-project/commit/c41ef751f85ee42f40380d064f44cfd347fb6215
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  [clang-format] Treat lambda in braced init as inline (#135520)

Fix #125430


  Commit: dd107b20daedbc49dc3003ae2cb2e846267c308c
      https://github.com/llvm/llvm-project/commit/dd107b20daedbc49dc3003ae2cb2e846267c308c
  Author: Firas Khalil Khana <firasuke at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M libunwind/docs/BuildingLibunwind.rst

  Log Message:
  -----------
  Update LIBUNWIND_ENABLE_WERROR default value in BuildingLibunwind.rst (#135546)

`LIBUNWIND_ENABLE_WERROR` defaults to `OFF` according to
[CMakeLists.txt](https://github.com/llvm/llvm-project/blob/main/libunwind/CMakeLists.txt#L43).


  Commit: 974bda8f61e056f90b17baa6db686c91d20ebe9d
      https://github.com/llvm/llvm-project/commit/974bda8f61e056f90b17baa6db686c91d20ebe9d
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/codegen.cpp

  Log Message:
  -----------
  [clang][bytecode] Reject constexpr-unknown pointers from Inc ops (#135548)

We used to accept c++ as a known value here, causing wrong codegen.


  Commit: c0afb77c2ab92d244d66f2e9bfcf7da92af6091c
      https://github.com/llvm/llvm-project/commit/c0afb77c2ab92d244d66f2e9bfcf7da92af6091c
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/MC/RISCV/function-call-invalid.s
    M llvm/test/MC/RISCV/tail-call-invalid.s

  Log Message:
  -----------
  RISCVAsmParser: Reject call foo at invalid

... instead of silently parsing and ignoring it without leaving an error
message.

While here, remove an unreachable `@plt`.

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


  Commit: d893d129e6ee8b4dead1532cd8420750908acca6
      https://github.com/llvm/llvm-project/commit/d893d129e6ee8b4dead1532cd8420750908acca6
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Dialect/GPU/Transforms/ShuffleRewriter.cpp
    A mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl-unsupported.mlir
    M mlir/test/Dialect/GPU/shuffle-rewrite.mlir

  Log Message:
  -----------
  [mlir] GPUToROCDL: Fix crashes with unsupported shuffle datatypes (#135504)

Calling `getIntOrFloatBitWidth` on non-int/float types (`gpu.shuffle`
also accepts vectors) will crash.


  Commit: e555ccaa4da77b5d3065ed7d002e7073db995199
      https://github.com/llvm/llvm-project/commit/e555ccaa4da77b5d3065ed7d002e7073db995199
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp

  Log Message:
  -----------
  [llvm] Call *Map::erase directly (NFC) (#135545)


  Commit: 91a205653e8fa5a338c985b9a9dbaaaec62e3475
      https://github.com/llvm/llvm-project/commit/91a205653e8fa5a338c985b9a9dbaaaec62e3475
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rdffr.c
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-abs-srshl.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-all-active-lanes-cvt.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-loadstore.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-cmpne.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-strictfp.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-combine-to-u-forms.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-ptest.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-rdffr-predication.ll

  Log Message:
  -----------
  [AArch64][SVE] Instcombine ptrue(all) to splat(i1) (#135016)

SVE Operations such as predicated loads become canonicalized to LLVM
masked loads, and doing the same for ptrue(all) to splat(1) creates
further optimization opportunities from generic LLVM IR passes.


  Commit: 543351babff4144675ee8259eeddafc7b441bf0c
      https://github.com/llvm/llvm-project/commit/543351babff4144675ee8259eeddafc7b441bf0c
  Author: Sayan Saha <sayans at mathworks.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir

  Log Message:
  -----------
  [tosa] : Re-enable PR #135429 with ASAN fix (#135560)

Removed the calls to `sizeOp` after replacing `SliceOp`:

```
// Remove const_shape size op when it no longer has use point.
Operation *sizeConstShape = sliceOp.getSize().getDefiningOp();
```

Turns out as part of canonicalization, trivially dead ops are removed
anyway, so the above piece of code isn't actually needed.


  Commit: 87322c903976b4b24b96f460719181cbebde1547
      https://github.com/llvm/llvm-project/commit/87322c903976b4b24b96f460719181cbebde1547
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp

  Log Message:
  -----------
  [ObjCopy] Use llvm::reverse (NFC) (#135559)


  Commit: 99df442df1f88c1078c433618c75ee62f3dd8512
      https://github.com/llvm/llvm-project/commit/99df442df1f88c1078c433618c75ee62f3dd8512
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py

  Log Message:
  -----------
  Skip test on Darwin


  Commit: 3de93015386f17d3430c6534b9fa3e2a9adfaa1a
      https://github.com/llvm/llvm-project/commit/3de93015386f17d3430c6534b9fa3e2a9adfaa1a
  Author: Yoann Congal <yoann.congal at smile.fr>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/test/CMakeLists.txt
    M clang-tools-extra/clangd/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [clangd] Add a build option to disable building dexp (#133124)

Building dexp on Debian 11 currently causes intermittent failures [0] [1].

Adding the CLANGD_BUILD_DEXP option to disable dexp from the build
allows Debian 11 users to build clang (albeit without the dexp tool).

This option is set to "Build Dexp" by default so, no change is expected
without manual setting.

[0]: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15803
[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1101322


  Commit: 425ccd50dc6dd154c448fba8dbcbb4d2f726b331
      https://github.com/llvm/llvm-project/commit/425ccd50dc6dd154c448fba8dbcbb4d2f726b331
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/test/BUILD.gn

  Log Message:
  -----------
  [gn] port 3de93015386f


  Commit: cbe8f3ad7621e402b050e768f400ff0d19c3aedd
      https://github.com/llvm/llvm-project/commit/cbe8f3ad7621e402b050e768f400ff0d19c3aedd
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] fix fmac_f16_t16 vop3 format (#135464)

add fmac_f16_t16_e64 to isfmac check to fix the vop3 format of
fmac_f16_t16 instruction


  Commit: 52e45a79ad24f8a2347a5566e6abaa207918df62
      https://github.com/llvm/llvm-project/commit/52e45a79ad24f8a2347a5566e6abaa207918df62
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Target/Language.h
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
    M lldb/source/Target/Language.cpp

  Log Message:
  -----------
  [lldb][Language] Change GetFunctionDisplayName to take SymbolContext by reference (#135536)

Both the `CPlusPlusLanguage` plugins and the Swift language plugin
already assume the `sc != nullptr`. And all `FormatEntity` callsites of
`GetFunctionDisplayName` already check for nullptr before passing `sc`.
This patch makes this pre-condition explicit by changing the parameter
to `const SymbolContext &`. This will help with some upcoming changes in
this area.


  Commit: 5710759eb390c0d5274c2a4d43967282d7df1993
      https://github.com/llvm/llvm-project/commit/5710759eb390c0d5274c2a4d43967282d7df1993
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

  Log Message:
  -----------
  MCAsmBackend,X86: Pass MCValue to fixupNeedsRelaxationAdvanced. NFC

This parameter eliminates a redundant computation for VK_ABS8 in X86 and
reduces reliance on shouldForceRelocation in relaxation decisions.

Note: `local: jmp local at plt` relaxes JMP. This behavior depends on
fixupNeedsRelaxation calling shouldForceRelocation, which might change
in the future.


  Commit: 1e153b782ea3054c02dd0016314fca11a5d781da
      https://github.com/llvm/llvm-project/commit/1e153b782ea3054c02dd0016314fca11a5d781da
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/SymbolContext.h
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/test/API/functionalities/param_entry_vals/basic_entry_values/main.cpp
    M lldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/main.cpp
    M lldb/test/Shell/Recognizer/verbose_trap-in-stl-max-depth.test
    M lldb/test/Shell/Settings/TestFrameFormatName.test

  Log Message:
  -----------
  [lldb][Format] Display only the inlined frame name in backtraces if available (#135343)

When a frame is inlined, LLDB will display its name in backtraces as
follows:
```
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.3
  * frame #0: 0x0000000100000398 a.out`func() [inlined] baz(x=10) at inline.cpp:1:42
    frame #1: 0x0000000100000398 a.out`func() [inlined] bar() at inline.cpp:2:37
    frame #2: 0x0000000100000398 a.out`func() at inline.cpp:4:15
    frame #3: 0x00000001000003c0 a.out`main at inline.cpp:7:5
    frame #4: 0x000000026eb29ab8 dyld`start + 6812
```
The longer the names get the more confusing this gets because the first
function name that appears is the parent frame. My assumption (which may
need some more surveying) is that for the majority of cases we only care
about the actual frame name (not the parent). So this patch removes all
the special logic that prints the parent frame.

Another quirk of the current format is that the inlined frame name does
not abide by the `${function.name-XXX}` format variables. We always just
print the raw demangled name. With this patch, we would format the
inlined frame name according to the `frame-format` setting (see the
test-cases).

If we really want to have the `parentFrame [inlined] inlinedFrame`
format, we could expose it through a new `frame-format` variable (e..g.,
`${function.inlined-at-name}` and let the user decide where to place
things.


  Commit: 634f9a981571eae000c1adc311014c5c64486187
      https://github.com/llvm/llvm-project/commit/634f9a981571eae000c1adc311014c5c64486187
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h

  Log Message:
  -----------
  ARMAsmBackend: Use fixupNeedsRelaxationAdvanced. NFC

This prepares for the upcoming change to simplify relocation recording
in MCAssembler.

While both MCAssembler::fixupNeedsRelaxation and
MCAssembler::handleFixup call evaluateFixup and use
shouldForceRelocation, the shouldForceRelocation logic is not supposed
to be needed by MCAssembler::fixupNeedsRelaxation.

The ARM special cases for interworking branches
(https://reviews.llvm.org/D33436 and https://reviews.llvm.org/D33898)
break the assumption. Switch to fixupNeedsRelaxationAdvanced and
explicitly test the conditions.


  Commit: af7a7ba4aadea3600e78a5f522b72e5413c8e595
      https://github.com/llvm/llvm-project/commit/af7a7ba4aadea3600e78a5f522b72e5413c8e595
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [lldb][Format][NFC] Factor FunctionNameWithArgs case out into helper function


  Commit: 5d87ebf3ade73d43b2dc334e4d23bc86ddc47879
      https://github.com/llvm/llvm-project/commit/5d87ebf3ade73d43b2dc334e4d23bc86ddc47879
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

  Log Message:
  -----------
  [MC] Refactor fixup evaluation and relocation generation

Follow-up to commits 5710759eb390c0d5274c2a4d43967282d7df1993
and 634f9a981571eae000c1adc311014c5c64486187

- Integrate `evaluateFixup` into `recordRelocation` and inline code
  within `MCAssembler::layout`, removing `handleFixup`.
- Update `fixupNeedsRelaxation` to bypass `shouldForceRelocation` when
  calling `evaluateFixup`, eliminating the `WasForced` workaround for
  RISC-V linker relaxation (https://reviews.llvm.org/D46350 ).


  Commit: 20d35fe5a58c3d90613dd50ec91aca700e111726
      https://github.com/llvm/llvm-project/commit/20d35fe5a58c3d90613dd50ec91aca700e111726
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/lib/CodeGen/WindowScheduler.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/ObjectFormats.cpp
    M llvm/lib/Target/NVPTX/NVPTXMachineFunctionInfo.h
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp

  Log Message:
  -----------
  [llvm] Use llvm::is_contained (NFC) (#135566)


  Commit: dc5178cc41d876b4e3d8ace9545f6e9898ef654b
      https://github.com/llvm/llvm-project/commit/dc5178cc41d876b4e3d8ace9545f6e9898ef654b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

  Log Message:
  -----------
  [CodeGen] Use llvm::append_range (NFC) (#135567)


  Commit: f1ba4bb805b918bc464aa7232cb446cca10ef5a3
      https://github.com/llvm/llvm-project/commit/f1ba4bb805b918bc464aa7232cb446cca10ef5a3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp

  Log Message:
  -----------
  [Target] Use llvm::append_range (NFC) (#135568)


  Commit: 1f195afa57942db3f616e0595eb5816d1359dd2e
      https://github.com/llvm/llvm-project/commit/1f195afa57942db3f616e0595eb5816d1359dd2e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/TreeTransform.h

  Log Message:
  -----------
  [Sema] Use llvm::erase_if (NFC) (#135574)


  Commit: ebba554a3211b0b98d3ae33ba70f9d6ceaab6ad4
      https://github.com/llvm/llvm-project/commit/ebba554a3211b0b98d3ae33ba70f9d6ceaab6ad4
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/test/CodeGen/attr-target-x86.c
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/TargetParser/X86TargetParser.cpp

  Log Message:
  -----------
  [X86][AVX10] Remove VAES and VPCLMULQDQ feature from AVX10.1 (#135489)

According to SDM, they require both VAES/VPCLMULQDQ and AVX10.1 CPUID
bits.

Fixes: #135394


  Commit: a32d4917c82840179a9ff5686567834922fc4e6d
      https://github.com/llvm/llvm-project/commit/a32d4917c82840179a9ff5686567834922fc4e6d
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

  Log Message:
  -----------
  [RISCV] Clean up the code for isBareSimmNLsb0. NFC.


  Commit: 7778a197e65ad1b0cae794318870d41d8c59a3fb
      https://github.com/llvm/llvm-project/commit/7778a197e65ad1b0cae794318870d41d8c59a3fb
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h

  Log Message:
  -----------
  [MC] Remove unused `MCAsmBackend::isMicroMips()` method (NFC) (#135581)

The only use was removed by 4c892770.


  Commit: e038c5401c99ca1f19a873a5c88ad7db4645a26a
      https://github.com/llvm/llvm-project/commit/e038c5401c99ca1f19a873a5c88ad7db4645a26a
  Author: Tianle Liu <tianle.l.liu at intel.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    A llvm/test/Other/new-pm-lto-prelink-samplepgo-inline-threshold.ll
    R llvm/test/Other/new-pm-thinlto-prelink-samplepgo-inline-threshold.ll

  Log Message:
  -----------
  [LTO][Pipelines] Add 0 hot-caller threshold for SamplePGO + FullLTO (#135152)

If a hot callsite function is not inlined in the 1st build, inlining the
hot callsite in pre-link stage of SPGO 2nd build may lead to Function
Sample not found in profile file in link stage. It will miss some
profile info.
ThinLTO has already considered and dealed with it by setting
HotCallSiteThreshold to 0 to stop the inline. This patch just adds the
same processing for FullLTO.


  Commit: 5ecc0ef6b01fe9dcca8fcaa8b306cd94c2239db4
      https://github.com/llvm/llvm-project/commit/5ecc0ef6b01fe9dcca8fcaa8b306cd94c2239db4
  Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/IR/EnumAttr.td
    M mlir/include/mlir/IR/Properties.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/IR/enum-attr-invalid.mlir
    M mlir/test/IR/enum-attr-roundtrip.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir] Improve EnumProp, making it take an EnumInfo (#132349)

This commit improves the `EnumProp` class, causing it to wrap around an
`EnumInfo` just like` EnumAttr` does. This EnumProp also has logic for
converting to/from an integer attribute and for being read and written
as bitcode.

The following variants of `EnumProp` are provided:
- `EnumPropWithAttrForm` - an EnumProp that can be constructed from (and
will be converted to, if `storeInCustomAttribute` is true) a custom
attribute, like an `EnumAttr`, instead of a plain integer. This is meant
for backwards compatibility with code that uses enum attributes.

`NamedEnumProp` adds a "`mnemonic` `<` $enum `>`" syntax around the
enum, replicating a common pattern seen in MLIR printers and allowing
for reduced ambiguity.

`NamedEnumPropWithAttrForm` combines both of these extensions.

(Sadly, bytecode auto-upgrade is hampered by the lack of the ability to
optionally parse an attribute.)

Depends on #132148


  Commit: d0cf5cd5f9790dc21396936d076389c3be1a9599
      https://github.com/llvm/llvm-project/commit/d0cf5cd5f9790dc21396936d076389c3be1a9599
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  [RISCV][NFC] Make generated intrinsic records more human-readable (#133710)

We add comment markers and print enum names instead of numbers.

For required extensions, we print the feature list instead of raw
bits.


  Commit: 47cbc8706cb5d73f2db101165bf213d558f8b0cb
      https://github.com/llvm/llvm-project/commit/47cbc8706cb5d73f2db101165bf213d558f8b0cb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  [Scalar] Avoid repeated hash lookups (NFC) (#135585)


  Commit: 2ff226ae2c9bdafc686d698b69b4a8519213f325
      https://github.com/llvm/llvm-project/commit/2ff226ae2c9bdafc686d698b69b4a8519213f325
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

  Log Message:
  -----------
  MCAsmBackend,Hexagon: Remove MCRelaxableFragment from fixupNeedsRelaxationAdvanced

Among fixupNeedsRelaxationAdvanced (introduced by
https://reviews.llvm.org/D8217) targets, only Hexagon needs the
`MCRelaxableFragment` parameter (commit
86f218e7ec5d941b7785eaebcb8f4cad76db8a64) to get the instruction packet
(MCInst with sub-instruction operands).

As fixupNeedsRelaxationAdvanced follows mayNeedRelaxation, we can store
the MCInst in mayNeedRelaxation and eliminate the MCRelaxableFragment
parameter.

Follow-up to 7c83b7ef1796210451b839f4c58f2815f4aedfe5 that eliminates
the MCRelaxableFragment parameter from fixupNeedsRelaxation.


  Commit: b283ff7eb1d7558594063528af7a94cfe2390e98
      https://github.com/llvm/llvm-project/commit/b283ff7eb1d7558594063528af7a94cfe2390e98
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/BranchRelaxation.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/BranchRelaxation.cpp
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AArch64/branch-relax-block-size.mir
    M llvm/test/CodeGen/AArch64/branch-relax-cross-section.mir
    M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir

  Log Message:
  -----------
  [CodeGen][NPM] Port BranchRelaxation to NPM (#130067)

This completes the PreEmitPasses.


  Commit: 21ff45dea1601d6d12438b5201ff09b8726899be
      https://github.com/llvm/llvm-project/commit/21ff45dea1601d6d12438b5201ff09b8726899be
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  Revert "[RISCV][NFC] Make generated intrinsic records more human-readable (#133710)"

This reverts commit d0cf5cd5f9790dc21396936d076389c3be1a9599.

Error: "declaration of ‘clang::RISCV::RequiredExtensions
{anonymous}::SemaRecord::RequiredExtensions’ changes meaning of
‘RequiredExtensions’ [-fpermissive]"


  Commit: e57f4e8969db32f075d8f3e554506ec8b187a2f1
      https://github.com/llvm/llvm-project/commit/e57f4e8969db32f075d8f3e554506ec8b187a2f1
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  [RISCV][NFC] Make generated intrinsic records more human-readable (#133710)

We add comment markers and print enum names instead of numbers.

For required extensions, we print the feature list instead of raw
bits.

This recommits d0cf5cd which was reverted by 21ff45d.


  Commit: 63e2963f4a24cb9365d1224e69f64bf643171023
      https://github.com/llvm/llvm-project/commit/63e2963f4a24cb9365d1224e69f64bf643171023
  Author: Michael Park <mcypark at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/relocatable-modules.cpp

  Log Message:
  -----------
  Support '-fmodule-file-home-is-cwd' for C++ modules. (#135147)


  Commit: a3f8359410eb7e14c4a52b47f36e433af40c05e9
      https://github.com/llvm/llvm-project/commit/a3f8359410eb7e14c4a52b47f36e433af40c05e9
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M lldb/test/Shell/SymbolFile/NativePDB/inline_sites_live.cpp

  Log Message:
  -----------
  [lldb][test] Fix NativePDB/inline_sites_live.cpp inlined frame format

Adjust after https://github.com/llvm/llvm-project/pull/135343


  Commit: 58b5df09dc6f899016fc707bf937b36b36934b6d
      https://github.com/llvm/llvm-project/commit/58b5df09dc6f899016fc707bf937b36b36934b6d
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGen/builtin-maxnum-minnum.c

  Log Message:
  -----------
  Clang: Add elementwise minnum/maxnum builtin functions (#129207)

With https://github.com/llvm/llvm-project/pull/112852, we claimed that
llvm.minnum and llvm.maxnum should treat +0.0>-0.0, while libc doesn't
require fmin(3)/fmax(3) for it.

To make llvm.minnum/llvm.maxnum easy to use, we define the builtin
functions for them, include
    __builtin_elementwise_minnum
    __builtin_elementwise_maxnum

All of them support _Float16, __bf16, float, double, long double.


  Commit: 9df153bc146eab7e6c48d5083acb87a6d5c42394
      https://github.com/llvm/llvm-project/commit/9df153bc146eab7e6c48d5083acb87a6d5c42394
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [LV] Remove unused requiresScalarEpilogue function. nfc (#135341)


  Commit: ffd5b148941a1146378a247c70c4faface3a1f96
      https://github.com/llvm/llvm-project/commit/ffd5b148941a1146378a247c70c4faface3a1f96
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll

  Log Message:
  -----------
  [LV] Add test cases for reverse accesses involving irregular types. nfc (#135139)

Add a test with irregular type to ensure the vector load/store
instructions are not generated.


  Commit: e710a5a9f274162c63e32aa8d88f6a734759b4a5
      https://github.com/llvm/llvm-project/commit/e710a5a9f274162c63e32aa8d88f6a734759b4a5
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/lib/Support/APFloat.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/fabs-as-int.ll
    M llvm/test/Transforms/InstCombine/fneg-as-int.ll
    M llvm/test/Transforms/InstCombine/fneg-fabs-as-int.ll
    M llvm/unittests/ADT/APFloatTest.cpp

  Log Message:
  -----------
  [InstCombine] Fold fneg/fabs patterns with ppc_f128 (#130557)

This patch is needed by
https://github.com/llvm/llvm-project/pull/130496.


  Commit: 1380a8259e5937d7e871c7a754bbf8a662aaa4da
      https://github.com/llvm/llvm-project/commit/1380a8259e5937d7e871c7a754bbf8a662aaa4da
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp

  Log Message:
  -----------
  [AMDGPU] Use llvm::find and llvm::find_if (NFC) (#135582)


  Commit: 893cd69872ca8e7be8010699aac32c5678a0e2a6
      https://github.com/llvm/llvm-project/commit/893cd69872ca8e7be8010699aac32c5678a0e2a6
  Author: Shao-Ce SUN <sunshaoce at outlook.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    A llvm/test/CodeGen/RISCV/emit-x8-as-fp.ll
    A llvm/test/MC/Disassembler/RISCV/emit-x8-as-fp.txt
    A llvm/test/MC/RISCV/emit-x8-as-fp.s

  Log Message:
  -----------
  [RISCV][MC] Emit `x8` as `fp` instead of `s0` (#135500)

When emphasizing `X8`'s functionality related to Frame Pointer, this option can be passed.


  Commit: 150e7b14f9474bc4d6891faaae4de6b8c5f6c797
      https://github.com/llvm/llvm-project/commit/150e7b14f9474bc4d6891faaae4de6b8c5f6c797
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [X86] Add test coverage for #134602


  Commit: cf188d650ce26b4ee3e11101d844361fca15ba64
      https://github.com/llvm/llvm-project/commit/cf188d650ce26b4ee3e11101d844361fca15ba64
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    A llvm/test/CodeGen/AMDGPU/promote-alloca-non-byte-sizes.ll

  Log Message:
  -----------
  [AMDGPU] Avoid crashes for non-byte-sized types in PromoteAlloca (#134042)

This patch addresses three problems when promoting allocas to vectors:
- Element types with size < 1 byte in allocas with a vector type caused
  divisions by zero.
- Element types whose size doesn't match their AllocSize hit an assertion.
- Access types whose size doesn't match their AllocSize hit an assertion.

With this patch, we do not attempt to promote affected allocas to vectors. In
principle, we could handle these cases in PromoteAlloca, e.g., by truncating
and extending elements from/to their allocation size. It's however unclear if
we ever encounter such cases in practice, so that doesn't seem worth the added
complexity.

For SWDEV-511252


  Commit: 53cd5cfc675dad1bf6bc820a72e0eaa72a8909e7
      https://github.com/llvm/llvm-project/commit/53cd5cfc675dad1bf6bc820a72e0eaa72a8909e7
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    A clang/test/Driver/arm-fpu-selection.s
    A clang/test/Driver/armv7-default-neon.s
    A clang/test/Driver/armv7s-default-vfpv4.s
    M clang/test/Driver/armv8.1m.main.s

  Log Message:
  -----------
  [Clang][ARM] Ensure FPU Features are parsed when targeting `cc1as` (#134612)

Previously, `cc1as` did not consider the Features that can be included
from a target's FPU. This could lead to a situation where assembly files
could not compile as cc1as did not know if a feature was supported.

With this change, all the features for the FPU will be passed to `cc1as`
as `-target-feature` lines. By making this change, it will enable
`+nosimd` to be functional, worked on in #130623, and fix a regression
introduced in 8fa0f0efce5fb81eb422e6d7eec74c66dafef4a3 so
armv7s-apple-darwin targets can utilise VFPv4 correctly.

---------

Co-authored-by: Martin Storsjö <martin at martin.st>


  Commit: 1df4af6cbcc3bda86fa76b9aba01424ab39077a4
      https://github.com/llvm/llvm-project/commit/1df4af6cbcc3bda86fa76b9aba01424ab39077a4
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    A llvm/test/CodeGen/AArch64/aarch64-sve-fill-spill-pair.ll
    A llvm/test/CodeGen/AArch64/sve-vls-ldst-opt.mir

  Log Message:
  -----------
  Reapply "[AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128." (#135177)

Reapplies #134068.

The first patch was missing a check to prevent attempts to pair SVE
fill/spill with other Neon load/store instructions, which could happen
specifically if the Neon instruction was unscaled.


  Commit: ed96e4642c76fa199cc427129e6d03fba301a301
      https://github.com/llvm/llvm-project/commit/ed96e4642c76fa199cc427129e6d03fba301a301
  Author: Matthias Braun <matze at braunis.de>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/test/CodeGen/AArch64/peephole-orr.mir

  Log Message:
  -----------
  AArch64: Allow ZEXT+COPY -> FMOV peephole for ZPR registers as well (#135436)


  Commit: e29f986838bcd0ff60cf33e7ae5ee867bad0de00
      https://github.com/llvm/llvm-project/commit/e29f986838bcd0ff60cf33e7ae5ee867bad0de00
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/RemoveLoadsIntoFakeUses.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/X86/fake-use-remove-loads.mir

  Log Message:
  -----------
  [CodeGen][NPM] Port RemoveLoadsIntoFakeUses to NPM (#130068)


  Commit: 51fe5d2c314619796c29af6bd717c5c212faa811
      https://github.com/llvm/llvm-project/commit/51fe5d2c314619796c29af6bd717c5c212faa811
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [InstCombine] Pre-commit tests related to ADDLIKE+GEP->GEP+GEP. NFC (#135154)

InstCombine can transform ADD+GEP into GEP+GEP. But those rewrites does
not currently trigger when the ADD is a disjoint OR (which happens to be
the canonical form for certain ADD operations). Add lit tests to show
that we are lacking such rewrites.

Also add a test case showing that we do not preserve "inbounds nuw",
"nusw nuw" and "nuw" when doing such transforms and the ADD/OR is
known to be NUW.


  Commit: 97bc9137e545423334b00d60ab64855ccc434c3a
      https://github.com/llvm/llvm-project/commit/97bc9137e545423334b00d60ab64855ccc434c3a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [Github][CI] Upload artifacts directory for premerge workflow

The premerge pipeline currently creates an artifacts directory with some
statistics that gets uploaded on the buildkite side for later
inspection. This patch adds support for this on the Github side by using
the upload artifacts action.

Reviewers: Keenuts, lnihlen, mizvekov, tstellar, Endilll

Reviewed By: mizvekov

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


  Commit: ebd1667059e7b2865a8e419a21df4d4c9735869c
      https://github.com/llvm/llvm-project/commit/ebd1667059e7b2865a8e419a21df4d4c9735869c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#135584)


  Commit: d792094c26dc6b40136f1e6c2e393c041062e371
      https://github.com/llvm/llvm-project/commit/d792094c26dc6b40136f1e6c2e393c041062e371
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Host/ProcessRunLock.h
    M lldb/source/Host/common/ProcessRunLock.cpp
    M lldb/source/Host/windows/ProcessRunLock.cpp
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  [lldb] Remove ProcessRunLock::TrySetRunning (#135455)

I traced the issue reported by Caroline and Pavel in #134757 back to the
call to ProcessRunLock::TrySetRunning. When that fails, we get a
somewhat misleading error message:

> process resume at entry point failed: Resume request failed - process
still running.

This is incorrect: the problem was not that the process was in a running
state, but rather that the RunLock was being held by another thread
(i.e. the Statusline). TrySetRunning would return false in both cases
and the call site only accounted for the former.

Besides the odd semantics, the current implementation is inherently
race-y and I believe incorrect. If someone is holding the RunLock, the
resume call should block, rather than give up, and with the lock held,
switch the running state and report the old running state.

This patch removes ProcessRunLock::TrySetRunning and updates all callers
to use ProcessRunLock::SetRunning instead. To support that,
ProcessRunLock::SetRunning (and ProcessRunLock::SetStopped, for
consistency) now report whether the process was stopped or running
respectively. Previously, both methods returned true unconditionally.

The old code has been around pretty much pretty much forever, there's
nothing in the git history to indicate that this was done purposely to
solve a particular issue. I've tested this on both Linux and macOS and
confirmed that this solves the statusline issue.

A big thank you to Jim for reviewing my proposed solution offline and
trying to poke holes in it.


  Commit: 73b554d7a0a666e252f3c837510a55ee1acb1df5
      https://github.com/llvm/llvm-project/commit/73b554d7a0a666e252f3c837510a55ee1acb1df5
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [lldb] Make sure the process is stopped when computing the symbol context (#135458)

Make sure the process is stopped when computing the symbol context. Both
Adrian and Felipe reported a handful of crashes in GetSymbolContext
called from Statusline::Redraw on the default event thread.

Given that we're handling a StackFrameSP, it's not clear to me how that
could have gotten invalidated, but Jim points out that it doesn't make
sense to compute the symbol context for the frame when the process isn't
stopped.

Depends on  #135455


  Commit: 931a78a1db3da210a1ed5681778e37fa011cdf23
      https://github.com/llvm/llvm-project/commit/931a78a1db3da210a1ed5681778e37fa011cdf23
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-trunc-sext.mir

  Log Message:
  -----------
  [AMDGPU] Add sext_trunc in RegBankCombiner (#131623)


  Commit: 95d526f7f587cc7a3db785169967f8dad0ba3978
      https://github.com/llvm/llvm-project/commit/95d526f7f587cc7a3db785169967f8dad0ba3978
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [MLIR][Tosa] Fix argmax NaN propagate lowering (#133074)

In the propagate mode, NaN compare equal to each other so in case of
several NaNs the index of the first one needs to be returned. This
commit changes the index update condition to check that the current
index is not that of a NaN.

The commit also simplifies argmax NaN ignore lowering to only use OGT.
This prevent any update in case of NaN. The only case where the index of
a NaN is returned is when all values are NaN and this is covered by the
fact that the initial index value is 0 so no update will result in 0
being returned.


  Commit: bcd7f54d340c54630a63659e439540891f7efb09
      https://github.com/llvm/llvm-project/commit/bcd7f54d340c54630a63659e439540891f7efb09
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M .mailmap

  Log Message:
  -----------
  [mailmap] Update my name


  Commit: 29555ad5efea20308c7a5ee851a4cba9093a607d
      https://github.com/llvm/llvm-project/commit/29555ad5efea20308c7a5ee851a4cba9093a607d
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [InstCombine] Improve inbounds preservation for ADD+GEP -> GEP+GEP (#135155)

Given that we have a "add nuw" and a "getelementptr inbounds nuw" like
this:
   %idx = add nuw i64 %idx1, %idx2
   %gep = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx

Then we can preserve the "inbounds nuw" flag when transforming that into
two getelementptr instructions:
   %gep1 = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx1
   %gep = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx2

Similarly for just having "nuw", and "nusw nuw" instead of "inbounds nuw"
on the getelementptr.

Proof: https://alive2.llvm.org/ce/z/QSweWW


  Commit: dffef041d568e945efbd78c8eb1a3881b67cd405
      https://github.com/llvm/llvm-project/commit/dffef041d568e945efbd78c8eb1a3881b67cd405
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/IR/Type.h
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/lib/IR/Type.cpp
    M llvm/unittests/SandboxIR/TypesTest.cpp

  Log Message:
  -----------
  [IR][ADT] Remove `APFloat/Type::isIEEE` (#130496)

Address comment
https://github.com/llvm/llvm-project/pull/130477#issuecomment-2708801892.


  Commit: cbda72a5474112e6bc62d5c5978ada7581e80dad
      https://github.com/llvm/llvm-project/commit/cbda72a5474112e6bc62d5c5978ada7581e80dad
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    R libclc/generic/include/clc/atom_decl_int32.inc
    R libclc/generic/include/clc/atom_decl_int64.inc
    A libclc/generic/include/clc/atomic/atom_add.h
    A libclc/generic/include/clc/atomic/atom_and.h
    A libclc/generic/include/clc/atomic/atom_cmpxchg.h
    A libclc/generic/include/clc/atomic/atom_dec.h
    A libclc/generic/include/clc/atomic/atom_decl_int32.inc
    A libclc/generic/include/clc/atomic/atom_decl_int64.inc
    A libclc/generic/include/clc/atomic/atom_inc.h
    A libclc/generic/include/clc/atomic/atom_max.h
    A libclc/generic/include/clc/atomic/atom_min.h
    A libclc/generic/include/clc/atomic/atom_or.h
    A libclc/generic/include/clc/atomic/atom_sub.h
    A libclc/generic/include/clc/atomic/atom_xchg.h
    A libclc/generic/include/clc/atomic/atom_xor.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_dec.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_inc.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
    M libclc/generic/include/clc/clc.h
    M libclc/generic/lib/SOURCES
    R libclc/generic/lib/atom_int32_binary.inc
    A libclc/generic/lib/atomic/atom_add.cl
    A libclc/generic/lib/atomic/atom_and.cl
    A libclc/generic/lib/atomic/atom_cmpxchg.cl
    A libclc/generic/lib/atomic/atom_dec.cl
    A libclc/generic/lib/atomic/atom_inc.cl
    A libclc/generic/lib/atomic/atom_int32_binary.inc
    A libclc/generic/lib/atomic/atom_max.cl
    A libclc/generic/lib/atomic/atom_min.cl
    A libclc/generic/lib/atomic/atom_or.cl
    A libclc/generic/lib/atomic/atom_sub.cl
    A libclc/generic/lib/atomic/atom_xchg.cl
    A libclc/generic/lib/atomic/atom_xor.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_add.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_sub.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_xchg.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_and.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_max.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_min.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_or.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_xor.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_add.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_dec.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_inc.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_sub.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_xchg.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_and.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_max.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_min.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_or.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_xor.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_add.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_sub.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_xchg.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_and.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_max.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_min.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_or.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_xor.cl

  Log Message:
  -----------
  [NFC][libclc] Merge atomic extension built-ins with identical name into a single file (#134489)

llvm-diff shows there is no change to amdgcn--amdhsa.bc.

Similar to how cl_khr_fp64 and cl_khr_fp16 implementations are put in a
same file for math built-ins, this PR do the same to atom_* built-ins.

The main motivation is to prevent that two files with same base name
implementats different built-ins. In a follow-up PR, I'd like to relax
libclc_configure_lib_source to only compare filename instead of path for
overriding, since in our downstream the same category of built-ins, e.g.
math, are organized in several different folders.


  Commit: 77341388a77b1442b3a54d745fc269dabb175f0c
      https://github.com/llvm/llvm-project/commit/77341388a77b1442b3a54d745fc269dabb175f0c
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [mlir][OpenMP] allow cancellation to not be directly nested (#134084)

omp.cancel and omp.cancellationpoint contain an attribute describing the
type of parent construct which should be cancelled. e.g.
```
!$omp cancel do
```
Must be inside of a wsloop. Previously the verifer required the
immediate parent to be this operation. This is not quite right because
something like the following is valid:
```
!$omp parallel do
do i = 1, N
  if (cond) then
    !$omp cancel do
  endif
enddo
```

This patch relaxes the verifier to only require that some parent
operation matches (not necessarily the immediate parent).


  Commit: c9eebc7af440dc012c94d25351eaba92e6a57910
      https://github.com/llvm/llvm-project/commit/c9eebc7af440dc012c94d25351eaba92e6a57910
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-redundant-sext-inreg.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-sext-trunc-sextinreg.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.abs.ll

  Log Message:
  -----------
  [GlobalISel] Combine redundant sext_inreg (#131624)


  Commit: a9474191e059edbb9b25c769afbe52c7a823f359
      https://github.com/llvm/llvm-project/commit/a9474191e059edbb9b25c769afbe52c7a823f359
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
    M llvm/test/Transforms/SROA/readonlynocapture.ll

  Log Message:
  -----------
  [SROA] Improve handling of lifetimes in load-only promotion (#135382)

The propagateStoredValuesToLoads() transform currently bails out if
there is a lifetime intrinsic spanning the whole alloca, but the
individual loads/stores operate on some smaller part, because the slice
/ partition size does not match.
    
Fix this by ignoring assume-like slices early, regardless of which range
they cover.
    
I've changed the overall code structure here a bit because I was getting
confused by the different iterators.


  Commit: 1e2dc5b0873d990473bba4a52d5085a805f56845
      https://github.com/llvm/llvm-project/commit/1e2dc5b0873d990473bba4a52d5085a805f56845
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/SROA/readonlynocapture.ll

  Log Message:
  -----------
  [SROA] Add load-only promotion tests with dynamic offset load


  Commit: e4a672bc17a2a7dc39e51c9f5e656d705312a12b
      https://github.com/llvm/llvm-project/commit/e4a672bc17a2a7dc39e51c9f5e656d705312a12b
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Core/Mangled.h
    M lldb/include/lldb/Core/RichManglingContext.h
    M lldb/include/lldb/Target/Language.h
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Core/Mangled.cpp
    M lldb/source/Core/Module.cpp
    M lldb/source/Core/RichManglingContext.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/unittests/Core/CMakeLists.txt
    M lldb/unittests/Core/RichManglingContextTest.cpp
    M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
    M lldb/unittests/Language/ObjC/ObjCLanguageTest.cpp

  Log Message:
  -----------
  [LLDB] Reapply refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies (#135033)

The original PR is #132274.

Co-authored-by: @bulbazord Alex Langford


  Commit: 90c01f4bad3132fcff4a73fb39efb64fe4c524b6
      https://github.com/llvm/llvm-project/commit/90c01f4bad3132fcff4a73fb39efb64fe4c524b6
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV] Add missing bitmask for some extensions (#135599)

According to:
https://github.com/riscv-non-isa/riscv-c-api-doc/blob/main/src/c-api.adoc#extension-bitmask-definitions

And we sort the bitmask by group id and then bit position.


  Commit: 123993fd974629ca0a094918db4c21ad1c2624d0
      https://github.com/llvm/llvm-project/commit/123993fd974629ca0a094918db4c21ad1c2624d0
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    A llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
    M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
    A llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll

  Log Message:
  -----------
  [SLP] Make getSameOpcode support interchangeable instructions. (#133888)

We use the term "interchangeable instructions" to refer to different
operators that have the same meaning (e.g., `add x, 0` is equivalent to
`mul x, 1`).
Non-constant values are not supported, as they may incur high costs with
little benefit.

---------

Co-authored-by: Alexey Bataev <a.bataev at gmx.com>


  Commit: e8e98683d70b81802659fa31b458ce3251971248
      https://github.com/llvm/llvm-project/commit/e8e98683d70b81802659fa31b458ce3251971248
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/TargetParser/RISCVTargetParser.cpp

  Log Message:
  -----------
  [RISCV][NFC] Use bitmasks generated by TableGen

So that we don't need to sync-up the table manually.

Reviewers: BeMg, preames, lenary

Reviewed By: BeMg

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


  Commit: 1c04ebbbb5aff6da50aa62f08b2453e741484b85
      https://github.com/llvm/llvm-project/commit/1c04ebbbb5aff6da50aa62f08b2453e741484b85
  Author: Aaron Puchert <aaron.puchert at sap.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/utils/LLVMVisualizers/llvm.natvis
    M llvm/utils/gdb-scripts/prettyprinters.py
    M llvm/utils/lldbDataFormatters.py

  Log Message:
  -----------
  Remove debugger pretty printers for llvm::Optional (#135235)

Since 2916b99182752b1aece8cc4479d8d6a20b5e02da this is just an alias to
std::optional, and by now it has been removed entirely.


  Commit: 14cb8c56b26784c684865053a6deb066f9a5e5b5
      https://github.com/llvm/llvm-project/commit/14cb8c56b26784c684865053a6deb066f9a5e5b5
  Author: dlav-sc <daniil.avdeev at syntacore.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Support/Endian.h
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp

  Log Message:
  -----------
  [lldb] add required for lldb RISCV relocations in MCJIT (#126266)

After implementing CFI instructions in the function prologue, LLDB
testing for RISC-V started failing due to insufficient relocations
(e.g., R_RISCV_SET8, R_RISCV_SET16).

This patch adds support for the necessary RISC-V relocations in MCJIT.


  Commit: fe54d1afcca055f464840654dd2ec3fd83aea688
      https://github.com/llvm/llvm-project/commit/fe54d1afcca055f464840654dd2ec3fd83aea688
  Author: Iris <0.0 at owo.li>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    A llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll

  Log Message:
  -----------
  [ConstraintElim] Simplify cmp after uadd.sat/usub.sat (#135603)

- Closes #135557


  Commit: 88d0b0835d030635c5d08c9a9754c21b5ac00be9
      https://github.com/llvm/llvm-project/commit/88d0b0835d030635c5d08c9a9754c21b5ac00be9
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/VTableBuilder.h
    M clang/include/clang/Basic/ABI.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
    M clang/test/CodeGenCXX/dllexport.cpp
    M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
    M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
    M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
    R clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
    M clang/test/CodeGenCXX/vtable-consteval.cpp
    M clang/test/Modules/vtable-windows.cppm
    M clang/test/Profile/cxx-abc-deleting-dtor.cpp
    R clang/test/SemaCXX/gh134265.cpp

  Log Message:
  -----------
  [MS][clang] Revert vector deleting destructors support (#135611)

Finding operator delete[] is still problematic, without it the extension
is a security hazard, so reverting until the problem with operator
delete[] is figured out.

This reverts the following PRs:
Reland [MS][clang] Add support for vector deleting destructors (llvm#133451)
[MS][clang] Make sure vector deleting dtor calls correct operator delete (llvm#133950)
[MS][clang] Fix crash on deletion of array of pointers (llvm#134088)
[clang] Do not diagnose unused deleted operator delete[] (llvm#134357)
[MS][clang] Error about ambiguous operator delete[] only when required (llvm#135041)


  Commit: cbbf562d1c2a076de83d50fedfee78acfb4d8003
      https://github.com/llvm/llvm-project/commit/cbbf562d1c2a076de83d50fedfee78acfb4d8003
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Core/FormatEntity.h
    M lldb/source/Core/FormatEntity.cpp

  Log Message:
  -----------
  [lldb][Format][NFC] Remove unused FormatEntity::FormatCString

One can use `FormatStringRef` instead anyway


  Commit: 0078cf79adc2f24a168bc774cba1f39dda5e3752
      https://github.com/llvm/llvm-project/commit/0078cf79adc2f24a168bc774cba1f39dda5e3752
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/docs/DeclarativeRewrites.md
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/docs/DefiningDialects/_index.md
    M mlir/docs/Diagnostics.md
    M mlir/docs/Interfaces.md
    M mlir/docs/PDLL.md
    M mlir/docs/Tutorials/QuickstartRewrites.md
    M mlir/docs/Tutorials/Toy/Ch-5.md
    M mlir/docs/Tutorials/Toy/Ch-7.md
    M mlir/docs/Tutorials/UnderstandingTheIRStructure.md
    M mlir/docs/Tutorials/transform/Ch4.md
    M mlir/examples/transform-opt/mlir-transform-opt.cpp
    M mlir/include/mlir/IR/AffineExpr.h
    M mlir/include/mlir/IR/Attributes.h
    M mlir/include/mlir/IR/ExtensibleDialect.h
    M mlir/include/mlir/IR/Location.h
    M mlir/include/mlir/IR/Types.h
    M mlir/include/mlir/IR/Value.h
    M mlir/include/mlir/Tools/PDLL/AST/Types.h
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
    M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/lib/IR/AffineMap.cpp
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/unittests/IR/SymbolTableTest.cpp

  Log Message:
  -----------
  [mlir] Remove deprecated cast member functions (#135556)

These have been deprecated for over two years now in favor of free
functions.

See the relevant discourse thread:

https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443
and the deprecation notice: https://mlir.llvm.org/deprecation/.


  Commit: 0c21d6b4c8ad7310b0cd81bbefa06b2947b671f9
      https://github.com/llvm/llvm-project/commit/0c21d6b4c8ad7310b0cd81bbefa06b2947b671f9
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M libclc/cmake/modules/AddLibclc.cmake

  Log Message:
  -----------
  [libclc] Fix commands in compile_to_bc are executed sequentially (#130755)

In libclc, we observe that compiling OpenCL source files to bitcode is
executed sequentially on Windows, which increases debug build time by
about an hour.
add_custom_command may introduce additional implicit dependencies, see
https://gitlab.kitware.com/cmake/cmake/-/issues/17097
This PR adds a target for each command, enabling parallel builds of
OpenCL source files.
CMake 3.27 has fixed above issue with DEPENDS_EXPLICIT_ONLY. When LLVM
upgrades cmake vertion to 3.7, we can switch to DEPENDS_EXPLICIT_ONLY.


  Commit: 4eaf3a7596fb335edfa36368c2851a256b6e8d75
      https://github.com/llvm/llvm-project/commit/4eaf3a7596fb335edfa36368c2851a256b6e8d75
  Author: SivanShani-Arm <sivan.shani at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Support/ELFAttrParserExtended.cpp
    A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-long.s
    A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-short.s
    A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-type.s
    A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-values.s
    A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-ver.s

  Log Message:
  -----------
  [readobj][ELF][AArch64] Handle misformed AArch64 build attribute section (#134888)

Report an error when the .ARM.attributes section for AArch64 is
malformed or violates expected format.


  Commit: 4cb1803ff9d052f1b75d90d5be87345e54aebf92
      https://github.com/llvm/llvm-project/commit/4cb1803ff9d052f1b75d90d5be87345e54aebf92
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M libclc/cmake/modules/AddLibclc.cmake

  Log Message:
  -----------
  [libclc][NFC] Fix typo in comment


  Commit: 10a15024212fe9ac06adad7daad2c1bb510a612c
      https://github.com/llvm/llvm-project/commit/10a15024212fe9ac06adad7daad2c1bb510a612c
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/AST/ast-dump-array.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  [clang] AST: remove source locations from [Variable/Dependent]SizedArrayType (#135511)


  Commit: efe9cb0f79a074ab472ec51d8463aac6931d670a
      https://github.com/llvm/llvm-project/commit/efe9cb0f79a074ab472ec51d8463aac6931d670a
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-extract.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-extract-mova.ll

  Log Message:
  -----------
  [AArch64] Model ZA array using inaccessible memory (#132058)

This patch changes how ZA array is modelled at LLVM-IR level. Currently
accesses to ZA are represented at LLVM-IR level as memory reads and
writes and at instruction level as unmodeled side-effects. This patch
changes that and models them as purely Inaccessible memory accesses
without any unmodeled side-effects.


  Commit: 74e8f29f3138431abc9b393579733f3bbd0d85d8
      https://github.com/llvm/llvm-project/commit/74e8f29f3138431abc9b393579733f3bbd0d85d8
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/CalcSpillWeights.cpp
    M llvm/test/CodeGen/AArch64/aarch64-signedreturnaddress.ll
    A llvm/test/CodeGen/AArch64/csr-copy-hint.mir
    M llvm/test/CodeGen/AArch64/ptrauth-ret.ll
    M llvm/test/CodeGen/AVR/calling-conv/c/basic_aggr.ll
    M llvm/test/CodeGen/AVR/calling-conv/c/stack.ll
    M llvm/test/CodeGen/AVR/dynalloca.ll
    M llvm/test/CodeGen/AVR/return.ll
    M llvm/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
    M llvm/test/CodeGen/SPARC/32abi.ll
    M llvm/test/CodeGen/SPARC/64abi.ll
    M llvm/test/CodeGen/SPARC/bigreturn.ll
    M llvm/test/CodeGen/SPARC/fmuladd-soft-float.ll
    M llvm/test/CodeGen/SPARC/leafproc.ll
    M llvm/test/CodeGen/SPARC/parts.ll
    M llvm/test/CodeGen/SPARC/tailcall.ll
    M llvm/test/CodeGen/SPARC/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/X86/base-pointer-and-mwaitx.ll
    M llvm/test/CodeGen/X86/ghc-cc64.ll
    M llvm/test/CodeGen/X86/mwaitx.ll

  Log Message:
  -----------
  [RegAlloc] Sort CopyHint by IsCSR (#131046)

`weightCalcHelper` is responsible for adding hints to MRI. Prior to this
PR, we fell back on register ID as the last tie breaker for sorting
hints. However, there is an opportunity to add an additional sorting
characteristic: whether or not a register is a callee-saved-register.

I thought of this idea because I saw that `AllocationOrder::create`
calls `RegisterClassInfo::getOrder`, which returns a list of registers
such that the registers which alias callee-saved-registers come last.
>From this, I conclude that the register allocator prefers an order such
that callee-saved-registers are allocated after
non-callee-saved-registers to avoid having to spill the CSR.

This sorting characteristic occurs only as a tie breaker to the Weight
calculation. This is a good idea since the weight calculation is pretty
complex and I'm sure it is a pretty stable metric. I think its pretty
reasonable to agree that whether a register is callee-saved or not is a
better tie breaker than register ID. I think this is evident by the test
diff, since the changes all seem to have no impact or improve the
register allocation.


  Commit: bcbdbd25c0a2608299a4e97f12076be06a64d724
      https://github.com/llvm/llvm-project/commit/bcbdbd25c0a2608299a4e97f12076be06a64d724
  Author: SivanShani-Arm <sivan.shani at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [llvm][ELF][build attributes] Change StringRef to std::string for BuildAttributeSubSection::Name (#135625)

BuildAttributeSubSection::Name must be a std::string instead of
StringRef because it may be assigned from non-persistent memory.
StringRef is non-owning and unsafe in this context. This change ensures
the subsection name owns its memory, preventing use-after-free or
dangling references.

Context: Work in progress in PR #131990.


  Commit: dbeb7c1bbbc90f3d556b9d010d7899311cfc62d6
      https://github.com/llvm/llvm-project/commit/dbeb7c1bbbc90f3d556b9d010d7899311cfc62d6
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh

  Log Message:
  -----------
  [Github][CI] Upload .ninja_log as an artifact

This enables using tools like https://github.com/nico/ninjatracing for
performance introspection.

Reviewers: mizvekov, lnihlen, tstellar, Endilll, Keenuts

Reviewed By: Keenuts

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


  Commit: 40727bca9fa4c5c9a3c12ce47ee09efcd3f26761
      https://github.com/llvm/llvm-project/commit/40727bca9fa4c5c9a3c12ce47ee09efcd3f26761
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td

  Log Message:
  -----------
  [clang] remove unused frontend flag -fretain-subst-template-type-parm-type-ast-nodes (#134177)

This is a follow-up to #132748, where we deferred the flag removal in
order to ease transition for external users.

The plan is to merge this in the nearish future, in two weeks or so is
my best guess.


  Commit: a485abbddda7997177b1b56f4dc8e9c069ae4d9a
      https://github.com/llvm/llvm-project/commit/a485abbddda7997177b1b56f4dc8e9c069ae4d9a
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [flang] Fix Driver/do_concurrent_to_omp_cli.f90 test not to use runtime (#135485)

Fix Flang invocation in `Driver/do_concurrent_to_omp_cli.f90` test to
run compilation step only, to fix testing when building with
`-DFLANG_INCLUDE_RUNTIME=OFF`. The test is only concerned with warning
being emitted by the compiler, so there is no need to link the resulting
executable.


  Commit: 092b6e73e651469527662443b592f98f442ece72
      https://github.com/llvm/llvm-project/commit/092b6e73e651469527662443b592f98f442ece72
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/array.ll
    M llvm/test/Transforms/InstCombine/gep-merge-constant-indices.ll
    M llvm/test/Transforms/InstCombine/gep-vector.ll
    M llvm/test/Transforms/InstCombine/vscale_gep.ll
    M llvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
    M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
    M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
    M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll

  Log Message:
  -----------
  [InstCombine] Handle "add like" in ADD+GEP->GEP+GEP rewrites (#135156)

Considering that "or disjoint" is the canonical for certain add
operations, then I think we want to support such "add like" operations
when doing ADD+GEP->GEP+GEP rewrites to make things more consistent.

Problem was found when improving ValueTracking, which turned an ADD into
OR, and then suddenly optimizations got worse due to these rewrites no
longer triggering.


  Commit: b2c9a58b8f28b353b3f0b4ef98fa704c463ba1a4
      https://github.com/llvm/llvm-project/commit/b2c9a58b8f28b353b3f0b4ef98fa704c463ba1a4
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    A flang/test/Lower/OpenMP/optional-argument-map.f90
    A offload/test/offloading/fortran/optional-mapped-arguments.f90

  Log Message:
  -----------
  [Flang][OpenMP][MLIR] Check for presence of Box type before emitting store in MapInfoFinalization pass (#135477)

Currently we don't check for the presence of descriptor/BoxTypes before
emitting stores which lower to memcpys, the issue with this is that
users can have optional arguments, where they don't provide an input,
making the argument effectively null. This can still be mapped and this
causes issues at the moment as we'll emit a memcpy for function
arguments to store to a local variable for certain edge cases, when we
perform this memcpy on a null input, we cause a segfault at runtime.

The fix to this is to simply create a branch around the store that
checks if the data we're copying from is actually present. If it is, we
proceed with the store, if it isn't we skip it.


  Commit: f133eae70c8b9f4e70372443b79995c5f39727f0
      https://github.com/llvm/llvm-project/commit/f133eae70c8b9f4e70372443b79995c5f39727f0
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/SanitizerBinaryMetadata.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/SanitizerBinaryMetadata.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/tools/llc/new-pm/pipeline.ll

  Log Message:
  -----------
  [CodeGen][NPM] Port MachineSanitizerBinaryMetadata to NPM (#130069)

Didn't find a test for this (but there are tests for the `Function`
version of this pass)


  Commit: 44e32a263a7a696e17f8785108e89e1cb1cbd850
      https://github.com/llvm/llvm-project/commit/44e32a263a7a696e17f8785108e89e1cb1cbd850
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/test/Verifier/AMDGPU/intrinsic-immarg.ll
    M llvm/test/Verifier/SystemZ/intrinsic-immarg.ll
    M llvm/test/Verifier/intrinsic-immarg.ll

  Log Message:
  -----------
  [Verifier] Fix intrinsic signatures in immarg tests (NFC)


  Commit: 2d30a60e9ff8b22f7e07ca5360fe1582f96be1ac
      https://github.com/llvm/llvm-project/commit/2d30a60e9ff8b22f7e07ca5360fe1582f96be1ac
  Author: John Harrison <harjohn at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    A lldb/test/API/tools/lldb-dap/cancel/Makefile
    A lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
    A lldb/test/API/tools/lldb-dap/cancel/main.c
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    A lldb/tools/lldb-dap/Handler/CancelRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Transport.cpp
    M lldb/tools/lldb-dap/Transport.h
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Adding support for cancelling a request. (#130169)

Adding support for cancelling requests.

There are two forms of request cancellation.

* Preemptively cancelling a request that is in the queue.
* Actively cancelling the in progress request as a best effort attempt
using `SBDebugger.RequestInterrupt()`.


  Commit: b04045cc4165fae487d048bbf928be26e068284e
      https://github.com/llvm/llvm-project/commit/b04045cc4165fae487d048bbf928be26e068284e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn

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


  Commit: fcf0f810ac4b22bda3f21048784ee114da1cb061
      https://github.com/llvm/llvm-project/commit/fcf0f810ac4b22bda3f21048784ee114da1cb061
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    A clang/test/Driver/hip-thinlto.hip

  Log Message:
  -----------
  [Clang][AMDGPU] Enable `avail-extern-to-local` for ThinLTO in HIP (#134476)

In HIP, the Clang driver already sets `force-import-all` when ThinLTO is
enabled. As a result, all imported functions get the
`available_externally`
linkage. However, these functions are later removed by the
`EliminateAvailableExternallyPass`, effectively undoing the forced
import and
eventually leading to link errors.

The `EliminateAvailableExternallyPass` provides an option to convert
`available_externally` functions into local functions, renaming them to
avoid
conflicts. This behavior is exactly what we need for HIP. This PR
enables that
option (`avail-extern-to-local`) alongside `force-import-all` when
ThinLTO is
used.

With this change, ThinLTO almost works correctly on AMDGPU. The only
remaining
issue is an undefined reference to `__assert_fail`, but that falls
outside the
scope of this PR.


  Commit: da6f493d4aab7ac18b680345701d210556438048
      https://github.com/llvm/llvm-project/commit/da6f493d4aab7ac18b680345701d210556438048
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/docs/ModFiles.md

  Log Message:
  -----------
  [flang][NFC] Update module file documentation (#135107)

The current module file documentation antedates the current
implementation of module files and contains many aspirational and
conditional statements, all of which can now be resolved with
descriptions of how things actually work.


  Commit: dba757a33c9a07a632c8f14d6820dd6cd90fc918
      https://github.com/llvm/llvm-project/commit/dba757a33c9a07a632c8f14d6820dd6cd90fc918
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    A flang/test/Preprocessing/bug518.F

  Log Message:
  -----------
  [flang] Rework preprocessor fix for replacement in kind suffixes (#135406)

Recent work to better handle macro replacement in literal constant kind
suffixes isn't handling fixed form well, leading to a crash in Fujitsu
test 0113/0113_0073.F. The look-ahead needs to be done with the
higher-level prescanner functions that skip over fixed form comment
fields after column 72. Rework.


  Commit: 13b55ad3bb6bafda7d8a62c5fe2fc98157442355
      https://github.com/llvm/llvm-project/commit/13b55ad3bb6bafda7d8a62c5fe2fc98157442355
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
    M clang-tools-extra/clang-tidy/utils/Matchers.cpp
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/CXX/temp/temp.decls/temp.mem/p5.cpp
    M clang/unittests/AST/TypePrinterTest.cpp

  Log Message:
  -----------
  [clang] implement printing of canonical expressions (#135133)

This patch extends the canonicalization printing policy to cover
expressions
and template names, and wires that up to the template argument printer,
covering expressions, and to the expression within a dependent decltype.

This is helpful for debugging, or if these expressions somehow end up
in diagnostics, as without this patch they can print as completely
unrelated
expressions, which can be quite confusing.

This is because expressions are not uniqued, unlike types, and
when a template specialization containing an expression is the first to
be
canonicalized, the expression ends up appearing in the canonical type of
subsequent equivalent specializations.

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


  Commit: 882200684bf1a0edcd3a8edd31c3fd601a2298df
      https://github.com/llvm/llvm-project/commit/882200684bf1a0edcd3a8edd31c3fd601a2298df
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    A flang/test/Parser/OpenMP/bug518.f

  Log Message:
  -----------
  [flang][OpenMP] Prescanning bug with !$ fixed form line continuation (#135416)

The logic for fixed form compiler directive line continuation has a hole
that can apply continuation for !$ even if the next line does not begin
with a fixed form comment character. Rearrange the nested if statements
to enforce that requirement for all compiler directives.


  Commit: 9f7aac177cac18e03ca68e2a69e06700250cd3d7
      https://github.com/llvm/llvm-project/commit/9f7aac177cac18e03ca68e2a69e06700250cd3d7
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/include/flang/Support/Fortran-features.h
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Support/Fortran-features.cpp
    M flang/test/Semantics/spec-expr.f90

  Log Message:
  -----------
  [flang] Allow host-associated INTENT(OUT) in specification expr. (#135426)

Nearly, but not all, other compilers have a blanket prohibition against
the use of an INTENT(OUT) dummy argument in a specification expression.
Some compilers, however, permit an INTENT(OUT) dummy argument to appear
in a specification expression in a BLOCK construct or inner procedure
via host association.

The argument some have put forth to accept this usage comes from a
reading of 10.1.11 (specification expressions) in Fortran 2023 that, if
followed consistently, would also require host-associated OPTIONAL dummy
argument to be allowed. That would be dangerous for reasons that should
be obvious.

However, I can agree that a non-OPTIONAL dummy argument can't be assumed
to remain undefined on entry to a BLOCK construct or inner procedure, so
we can accept host-associated INTENT(OUT) in specification expressions
with a portability warning.


  Commit: 8ede3dd8a19e5bc3db5ba7f7d6b9273f88d2bbee
      https://github.com/llvm/llvm-project/commit/8ede3dd8a19e5bc3db5ba7f7d6b9273f88d2bbee
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.cpp
    M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.h
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.h
    M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp
    M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h
    M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp
    M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h
    M llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
    M llvm/lib/Target/Mips/MipsAsmPrinter.h
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.h
    M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp
    M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    M llvm/lib/Target/X86/X86AsmPrinter.h

  Log Message:
  -----------
  [NFC][MC] Use `StringRef` for Modifier in Inst/Asm Printers (#135403)

- Change various Inst/Asm Printer functions to use a StringRef for the
Modifier parameter (instead of a const char *).
- This simplifies various string comparisons used within these
functions.
- Remove these params for print functions that do not use them.


  Commit: 71d10590dbc041139644f00144513c7f487a94ba
      https://github.com/llvm/llvm-project/commit/71d10590dbc041139644f00144513c7f487a94ba
  Author: Camsyn <camsyn at foxmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CaptureTracking.h

  Log Message:
  -----------
  [CaptureTracking][NFC] Clarify usage expectations in PointerMayBeCaptured comments (#132744)

Fixes issue #132739.

CaptureAnalysis only considers captures through the def-use chain of the
provided pointer, explicitly excluding captures of underlying values or
implicit captures like those involving external globals.

The previous comment for `PointerMayBeCaptured` did not clearly state
this limitation, leading to its incorrect usage in files such as
ThreadSanitizer.cpp and SanitizerMetadata.cpp.

This PR addresses this by refining the comments for the relevant APIs
within `PointerMayBeCaptured` to explicitly document this behavior.


  Commit: 2e353a635b90a6c31eee5fd4ec0335f37f130628
      https://github.com/llvm/llvm-project/commit/2e353a635b90a6c31eee5fd4ec0335f37f130628
  Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/docs/OpenACC.md
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Semantics/OpenACC/acc-declare-validity.f90

  Log Message:
  -----------
  [flang][openacc] Relax constraint on OpenACC declare statement (#135238)

OpenACC declare statements are restricted from having having clauses
that reference assumed size arrays. It should be the case that we can
implement `deviceptr` and `present` clauses for assumed-size arrays.
This is a first step towards relaxing this restriction.

Note running flang on the following example results in an error in
lowering.
```
$ cat t.f90
subroutine vadd (a, b, c, n)
   real(8) :: a(*), b(*), c(*)
!$acc declare deviceptr(a, b, c)
!$acc parallel loop
   do i = 1,n
      c(i) = a(i) + b(i)
   enddo
end subroutine

$ flang -fopenacc -c t.f90
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":3:7): expect declare attribute on variable in declare operation
error: Lowering to LLVM IR failed
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":4:7): unsupported OpenACC operation: acc.private.recipe
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":4:7): LLVM Translation failed for operation: acc.private.recipe
error: failed to create the LLVM module
```

I would like to to share this code, because others are currently working
on the implementation of `deviceptr`, but it is obviously not running
end-to-end. I think the cleanest approach to this would be to put this
exception to the rule behind some feature flag, but I am not certain
what the precedence for that is.


  Commit: 04b6f541b7ab6c1b25371cb248277c2b391040c9
      https://github.com/llvm/llvm-project/commit/04b6f541b7ab6c1b25371cb248277c2b391040c9
  Author: Prabhu Rajasekaran <prabhukr at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86Subtarget.h

  Log Message:
  -----------
  [NFC][llvm] Create UEFI helper function (#132462)

Create useful helper functions for UEFI 64 bit target that can be used in
tablegen files in future changes.


  Commit: fef5b6f9530c52d623f4729900855e626d5ee722
      https://github.com/llvm/llvm-project/commit/fef5b6f9530c52d623f4729900855e626d5ee722
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
    M llvm/lib/Target/PowerPC/PPCBranchCoalescing.cpp
    M llvm/lib/Target/PowerPC/PPCBranchSelector.cpp
    M llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
    M llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp
    M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
    M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    M llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
    M llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp
    M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
    M llvm/lib/Target/PowerPC/PPCTOCRegDeps.cpp
    M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
    M llvm/lib/Target/PowerPC/PPCVSXCopy.cpp
    M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
    M llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp

  Log Message:
  -----------
  [NFC][LLVM][PowerPC] Cleanup pass initialization for PowerPC (#134422)

- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767


  Commit: 4983aec494119048ccbdd19d237f92ebb24c5d62
      https://github.com/llvm/llvm-project/commit/4983aec494119048ccbdd19d237f92ebb24c5d62
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    R flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
    M flang/test/Lower/OpenMP/task-depend-array-section.f90

  Log Message:
  -----------
  [flang][OpenMP][HLFIR] Support vector subscripted array sections for DEPEND (#133892)

The OpenMP runtime needs the base address of the array section to
identify the dependency.

If we just put the vector subscript through the usual HLFIR expression
lowering, that would generate a new contiguous array representing the
values of the elements in the array which was sectioned. We cannot use
addresses from this array because these addresses would not match
dependencies on the original array. For example

```
integer :: array(1024)
integer :: indices(2)

indices(1) = 1
indices(2) = 100

!$omp task depend(out: array(1:512))
!$omp end task

!$omp task depend(in: array(indices))
!$omp end task
```

This requires taking the lowering path previously only used for ordered
assignments to get the address of the elements in the original array
which were indexed. This is done using `hlfir.elemental_addr`. e.g.
```
array(indices) = 2
```

`hlfir.elemental_addr` is awkward to use because it (by design) doesn't
return something like `!hlfir.expr<>` (like `hlfir.elemental`) and so it
can't have a generic lowering: each place it is used has to carefully
inline the contents of the operation and extract the needed address.

For this reason, `hlfir.elemental_addr` is not allowed outside of these
ordered assignments. In this commit I ignore this restriction so that I
can use `hlfir.elemental_addr` to lower the OpenMP DEPEND clause (this
works because the operation is inlined and removed before the verifier
runs).

One alternative solution would have been to provide my own more limited
re-implementation of `HlfirDesignatorBuilder` which skipped
`hlfir::elemental_addr`, instead inlining its body directly at the
current insertion point applying indices only for the first element.
This would have been difficult to maintain because designation in
Fortran is complex.


  Commit: f9b8971bea0d93fe6b86364bb02a96a35eee9aba
      https://github.com/llvm/llvm-project/commit/f9b8971bea0d93fe6b86364bb02a96a35eee9aba
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td

  Log Message:
  -----------
  [mlir][tosa] Align RFFT2d and FFT2d operator examples (#135261)

* Minor variable name alignment

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: 45aba5149b94412da01eef482e8b815a9889779b
      https://github.com/llvm/llvm-project/commit/45aba5149b94412da01eef482e8b815a9889779b
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td

  Log Message:
  -----------
  [mlir][tosa] Align AddOp examples to spec (#135266)

* simple example variable name alignment

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: 5d489f484867b7ddcb3efe51144a133970921082
      https://github.com/llvm/llvm-project/commit/5d489f484867b7ddcb3efe51144a133970921082
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td

  Log Message:
  -----------
  [mlir][tosa] Align AbsOp example variable names (#135268)

* Minor example variable name alignment

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: 88c3e0eecffd42c6743638db51ad6db379996ff2
      https://github.com/llvm/llvm-project/commit/88c3e0eecffd42c6743638db51ad6db379996ff2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/CorrelatedValuePropagation/uscmp.ll

  Log Message:
  -----------
  [CVP] Add tests for ucmp/scmp with switch (NFC)


  Commit: 1175f5b988ce706fd3e084912ed34ae6254f5cc3
      https://github.com/llvm/llvm-project/commit/1175f5b988ce706fd3e084912ed34ae6254f5cc3
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/include/__verbose_abort
    M libcxx/src/verbose_abort.cpp

  Log Message:
  -----------
  [libc++] Removes the _LIBCPP_VERBOSE_ABORT_NOT_NOEXCEPT macro. (#135494)

This makes __libcpp_verbose_abort unconditionally noexcept. This was
planned for the upcomming release.


  Commit: 9800c3489a06a285cbc469a9aab4601e57dac35a
      https://github.com/llvm/llvm-project/commit/9800c3489a06a285cbc469a9aab4601e57dac35a
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/test/Interpreter/inline-virtual.cpp

  Log Message:
  -----------
  [Interp] Mark inline-virtual.cpp as unsupported with ASan (#135402)

See https://github.com/llvm/llvm-project/issues/135401 for the full flakiness report.

It fails on stage2/asan_ubsan check with:
```
+ /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/clang-repl -Xcc -fno-rtti -Xcc -fno-sized-deallocation
JIT session error: In graph incr_module_23-jitted-objectbuffer, section .text.startup: relocation target "_ZN1AD2Ev" at address 0x79618c48d040 is out of range of Delta32 fixup at 0x75618b40d02d (<anonymous block> @ 0x75618b40d010 + 0x1d)
error: Failed to materialize symbols: { (main, { $.incr_module_23.__inits.0, __orc_init_func.incr_module_23, a2 }) }
error: Failed to materialize symbols: { (main, { __orc_init_func.incr_module_23 }) }
The error message ("out of range of Delta32") appears similar to #102858, another Interpreter test that is flaky with ASan.
```

Recent test history on the x86_64-linux-fast bot:

- https://lab.llvm.org/buildbot/#/builders/169/builds/10339: fail
- 10340: buildbot logistical problem
- https://lab.llvm.org/buildbot/#/builders/169/builds/10341: fail
- https://lab.llvm.org/buildbot/#/builders/169/builds/10342: fail
- 10343: pass
- 10344: pass
- https://lab.llvm.org/buildbot/#/builders/169/builds/10345: fail
- 10346: pass
...


  Commit: 6b863e810d6decb689bff8f6620e8ea07b356d86
      https://github.com/llvm/llvm-project/commit/6b863e810d6decb689bff8f6620e8ea07b356d86
  Author: John Harrison <harjohn at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [lldb-dap] Fix win32 build. (#135638)

This enum was not fully specified.


  Commit: 3b1dafd4271ced4c75625176c6d37f41fe85fc70
      https://github.com/llvm/llvm-project/commit/3b1dafd4271ced4c75625176c6d37f41fe85fc70
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [libc++][CI] Pin the XCode version. (#135412)

This version is the current version, to avoid unplanned automatic
updates in the future pin this version.


  Commit: e071233fa527027c021509fcbd41238aa9bae2e1
      https://github.com/llvm/llvm-project/commit/e071233fa527027c021509fcbd41238aa9bae2e1
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td
    M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
    M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll

  Log Message:
  -----------
  [SystemZ] Consider VST/VL as SimpleBDXStore/Load (#135623)

Previously `vst` and `vl` were not considered "simple" BDX stores and
loads, leading to, among other things, some opportunities for `mvc`
optimization to be missed.

This PR addresses this and updates some tests to account for additional
`mvc` instructions being emitted.

This is observed to have a neutral or slightly beneficial effect
performance-wise.


  Commit: e7aed23d32cb3a1082c5ce9bbe16eb2b56ebe55f
      https://github.com/llvm/llvm-project/commit/e7aed23d32cb3a1082c5ce9bbe16eb2b56ebe55f
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    M compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
    M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
    M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll

  Log Message:
  -----------
  [ctxprof] Handle instrumenting functions with `musttail` calls (#135121)

Functions with `musttail` calls can't be roots because we can't instrument their `ret` to release the context. This patch tags their `CtxRoot` field in their `FunctionData`. In compiler-rt we then know not to allow such functions become roots, and also not confuse `CtxRoot == 0x1` with there being a context root.

Currently we also lose the context tree under such cases. We can, in a subsequent patch, have the root detector search past these functions.


  Commit: 305006179341d8f657b89fdc7d76502f9bc5f0aa
      https://github.com/llvm/llvm-project/commit/305006179341d8f657b89fdc7d76502f9bc5f0aa
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    A llvm/test/CodeGen/AArch64/stack-size-section.ll
    M llvm/test/CodeGen/SystemZ/stack-size-section.ll

  Log Message:
  -----------
  [AsmPrinter] Link .section_sizes to the correct section (#135583)

AsmPrinter may switch the current section when e.g., emitting a jump
table for a switch. `.stack_sizes` should still be linked to the
function section. If the section is wrong, readelf emits a warning
"relocation symbol is not in the expected section".


  Commit: aad09da2adb67f5d2db83bed57c4e0d3f4821d86
      https://github.com/llvm/llvm-project/commit/aad09da2adb67f5d2db83bed57c4e0d3f4821d86
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/Dialect/FIRCG/CMakeLists.txt

  Log Message:
  -----------
  [flang] Fix linking to libMLIR (#135483)

Fix regression to MLIR dylib support introduced in #135240. Without the
fix, the build with no static libraries fails:

```
FAILED: bin/fir-opt 
: && /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -O2 -pipe -march=native -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-ctad-maybe-unsupported -fno-strict-aliasing -fno-semantic-interposition -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs    -Wl,-rpath-link,/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang_build/lib  -Wl,--gc-sections  -Wl,--dependency-file=tools/fir-opt/CMakeFiles/fir-opt.dir/link.d tools/fir-opt/CMakeFiles/fir-opt.dir/fir-opt.cpp.o -o bin/fir-opt -L/usr/lib/llvm/21/lib64 -Wl,-rpath,"\$ORIGIN/../lib64:/usr/lib/llvm/21/lib64:"  lib/libCUFAttrs.a  lib/libCUFDialect.a  lib/libFIRDialect.a  lib/libFIRSupport.a  lib/libFIRTransforms.a  lib/libFIRCodeGen.a  lib/libFIRCodeGenDialect.a  lib/libHLFIRDialect.a  lib/libHLFIRTransforms.a  lib/libFIROpenACCSupport.a  lib/libFIROpenMPSupport.a  lib/libFlangOpenMPTransforms.a  lib/libFIRAnalysis.a  lib/libFIRTransforms.a  lib/libFIRCodeGen.a  lib/libFIROpenACCSupport.a  lib/libFIRCodeGenDialect.a  -lMLIRIR  lib/libFIROpenMPSupport.a  lib/libFIRAnalysis.a  lib/libFIRBuilder.a  lib/libCUFDialect.a  lib/libFIRSupport.a  lib/libHLFIRDialect.a  lib/libFIRDialect.a  lib/libCUFAttrs.a  lib/libFIRDialectSupport.a  lib/libFortranEvaluate.a  lib/libFortranDecimal.a  lib/libFortranParser.a  lib/libFortranSupport.a  /usr/lib/llvm/21/lib64/libMLIR.so.21.0gitfa4ac19f  /usr/lib/llvm/21/lib64/libclang-cpp.so.21.0gitfa4ac19f  /usr/lib/llvm/21/lib64/libLLVM.so.21.0gitfa4ac19f  -lquadmath && :
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lMLIRIR: No such file or directory
collect2: error: ld returned 1 exit status
```


  Commit: 2a83c0cc134471bdbc8342041d12fa514e17eca1
      https://github.com/llvm/llvm-project/commit/2a83c0cc134471bdbc8342041d12fa514e17eca1
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M bolt/lib/Core/Relocation.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/runtime/relative-vftable.cpp

  Log Message:
  -----------
  [BOLT] Support relative vtable (#135449)

To handle relative vftable, which is enabled with clang option
`-fexperimental-relative-c++-abi-vtables`, we look for PC relative
relocations whose fixup locations fall in vtable address ranges.
For such relocations, actual target is just virtual function itself,
and the addend is to record the distance between vtable slot for
target virtual function and the first virtual function slot in vtable,
which is to match generated code that calls virtual function. So
we can skip the logic of handling "function + offset" and directly
save such relocations for future fixup after new layout is known.


  Commit: 3e644859470e9ba77b8365cc7e2b5234492f4c30
      https://github.com/llvm/llvm-project/commit/3e644859470e9ba77b8365cc7e2b5234492f4c30
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp

  Log Message:
  -----------
  Remove the redundant check for "WeakPtr" in isSmartPtrClass to fix the issue 135612. (#135629)


  Commit: da17ced11b1cf44b433cb2b850978df4b6bff279
      https://github.com/llvm/llvm-project/commit/da17ced11b1cf44b433cb2b850978df4b6bff279
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
    M clang/test/CodeGenDirectX/Builtins/dot2add.c
    M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/test/CodeGen/DirectX/dot2_error.ll
    M llvm/test/CodeGen/DirectX/dot2add.ll
    M llvm/test/CodeGen/DirectX/dot3_error.ll
    M llvm/test/CodeGen/DirectX/dot4_error.ll
    M llvm/test/CodeGen/DirectX/fdot.ll
    M llvm/test/CodeGen/DirectX/normalize.ll

  Log Message:
  -----------
  [DirectX] Use scalar arguments for @llvm.dx.dot intrinsics (#134570)

The `dx.dot2`, `dot3`, and `dot4` intrinsics exist purely to lower
`dx.fdot`, and they map exactly to the DXIL ops of the same name. Using
vectors for their arguments adds unnecessary complexity and causes us to
have vector operations that are not trivial to lower post-scalarizer.

Similarly, the `dx.dot2add` intrinsic is overly generic for something
that only needs to lower to a single `dot2AddHalf` DXIL op. Update its
signature to match the operation it lowers to.

Fixes #134569.


  Commit: df84aa8e06d98875fdbaf08e466dcf3eebe27fa3
      https://github.com/llvm/llvm-project/commit/df84aa8e06d98875fdbaf08e466dcf3eebe27fa3
  Author: Mateusz Sokół <8431159+mtsokol at users.noreply.github.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/Dialect/Traits.cpp
    M mlir/test/Dialect/Shape/canonicalize.mlir

  Log Message:
  -----------
  [MLIR][Shape] Support >2 args in `shape.broadcast` folder (#126808)

Hi!

As the title says, this PR adds support for >2 arguments in
`shape.broadcast` folder by sequentially calling `getBroadcastedShape`.


  Commit: c9ec1bc753b0bae7137547e1e39823b2effe82c1
      https://github.com/llvm/llvm-project/commit/c9ec1bc753b0bae7137547e1e39823b2effe82c1
  Author: Asher Mancinelli <ashermancinelli at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    A flang/test/HLFIR/volatile1.fir
    A flang/test/HLFIR/volatile2.fir
    A flang/test/HLFIR/volatile3.fir
    A flang/test/HLFIR/volatile4.fir

  Log Message:
  -----------
  [flang] Handle volatility in lowering and codegen (#135311)

* Enable lowering and conversion patterns to pass volatility information
from higher level operations to lower level ones.
* Enable codegen to pass volatility to LLVM dialect ops by setting an
attribute on loads, stores, and memory intrinsics.
* Add utilities for passing along the volatility from an input type to
an output type.

To introduce volatile types into the IR, entities with the volatile
attribute will be given a volatile type in the bridge; this is not
enabled in this patch. User code should not result in IR with volatile
types yet, so this patch contains no tests with Fortran source, only IR
that already contains volatile types.

Part 3 of #132486.


  Commit: da8ce56c53fe6e34809ba0b310fa90257e230a89
      https://github.com/llvm/llvm-project/commit/da8ce56c53fe6e34809ba0b310fa90257e230a89
  Author: aankit-ca <quic_aankit at quicinc.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
    A llvm/test/CodeGen/Hexagon/hwloop-dist-check.mir
    M llvm/test/CodeGen/Hexagon/swp-phi-start.ll

  Log Message:
  -----------
  [HEXAGON] Fix corner cases for hwloops pass (#135439)

Add check to make sure Dist > 0 or Dist < 0 for appropriate cmp cases to
hexagon hardware loops pass. The change modifies the
HexagonHardwareLoops pass to add runtime checks to make sure that
end_value > initial_value for less than comparisons and end_value <
initial_value for greater than comparisons.

Fix for https://github.com/llvm/llvm-project/issues/133241

@androm3da @iajbar PTAL

---------

Co-authored-by: aankit-quic <aankit at quicinc.com>


  Commit: c766d0c7321b12db12b3b087941e86df0f1a75d1
      https://github.com/llvm/llvm-project/commit/c766d0c7321b12db12b3b087941e86df0f1a75d1
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/test/CodeGen/AArch64/jump-table-partition.ll

  Log Message:
  -----------
  [NFC][AsmPrinter] Refactor AsmPrinter and AArch64AsmPrinter to prepare for jump table partitions on aarch64 (#125993)

With
https://github.com/llvm/llvm-project/commit/3feb724496238ce10d32e8c2bd84b4ea50f9977e,
AsmPrinter can place jump table entries into `.hot` or `.unlikely`
prefixed data sections. This change refactors AsmPrinter and
AArch64AsmPrinter to prepare for the aarch64 port.

* Before this patch, the AsmPrinter class exposes `emitJumpTableInfo` as
a virtual method, and AArch64AsmPrinter overrides `emitJumpTableInfo`
for jump table emission.
* After this patch, both AsmPrinter and AArch64AsmPrinter shares
`AsmPrinter::emitJumpTableInfo`, and class-specific code are moved
inside each class's `emitJumpTableImpl` respectively.

This is a follow-up of https://github.com/llvm/llvm-project/pull/125987,
and https://github.com/llvm/llvm-project/pull/126018 implements the port
for aarch64.


  Commit: c5ac63e4fcd58c951f10c3902d8a6692e0a43c55
      https://github.com/llvm/llvm-project/commit/c5ac63e4fcd58c951f10c3902d8a6692e0a43c55
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/ThinLTOBitcodeWriter.h
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    A llvm/test/Bitcode/thinlto-preserve-uselistorder.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/unsplittable.ll
    M llvm/tools/opt/NewPMDriver.cpp

  Log Message:
  -----------
  ThinLTO: Add flag to print uselistorder in bitcode writer pass (#133230)

This is needed in llvm-reduce to avoid perturbing the uselistorder in
intermediate steps. Really llvm-reduce wants pure serialization with
no dependency on the pass manager. There are other optimizations mixed
in to the serialization here depending on metadata in the module, which
is also bad.
    
Part of #63621


  Commit: bae08dad69674385ee8bb2e97423e72dad98435a
      https://github.com/llvm/llvm-project/commit/bae08dad69674385ee8bb2e97423e72dad98435a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/thinlto-preserve-uselistorder.ll
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp

  Log Message:
  -----------
  llvm-reduce: Preserve uselistorder when writing thinlto bitcode (#133369)

Fixes #63621


  Commit: 904f1b17d30335b102bd05f63a73e9ed5576ba0a
      https://github.com/llvm/llvm-project/commit/904f1b17d30335b102bd05f63a73e9ed5576ba0a
  Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Configure ccache using command line options (#134857)

Since ccache 4.8, it is possible to pass configuration options directly
to ccache on the command line as opposed to through environment
variables.
This is the intended way for CMake to configure ccache, as described on
the GitHub wiki for the project:
https://github.com/ccache/ccache/wiki/CMake

This should allow for uniform ccache configuration that does not rely on
platform-specific environment setup.

Rework the way ccache is configured by LLVM accordingly.

---------

Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>


  Commit: a43ff0ec8a684b2f8e93bb9f6df3b513c577091b
      https://github.com/llvm/llvm-project/commit/a43ff0ec8a684b2f8e93bb9f6df3b513c577091b
  Author: Petr Hosek <phosek at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/aarch64/headers.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/arm/headers.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/baremetal/riscv/headers.txt

  Log Message:
  -----------
  [libc] Include extra baremetal headers and entrypoints (#135462)

These are all usable in baremetal environments.


  Commit: 2b58b3df0bad3de1887fcb113a5eed7ab714812a
      https://github.com/llvm/llvm-project/commit/2b58b3df0bad3de1887fcb113a5eed7ab714812a
  Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  Revert "[CMake] Configure ccache using command line options" (#135664)

Reverts llvm/llvm-project#134857


  Commit: 9deb08a30196b5b3b3883b5c7be8c4251039bde7
      https://github.com/llvm/llvm-project/commit/9deb08a30196b5b3b3883b5c7be8c4251039bde7
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    A mlir/include/mlir-c/Dialect/SMT.h
    A mlir/include/mlir-c/Target/ExportSMTLIB.h
    M mlir/lib/CAPI/Dialect/CMakeLists.txt
    A mlir/lib/CAPI/Dialect/SMT.cpp
    M mlir/lib/CAPI/Target/CMakeLists.txt
    A mlir/lib/CAPI/Target/ExportSMTLIB.cpp
    M mlir/lib/Target/SMTLIB/CMakeLists.txt
    M mlir/test/CAPI/CMakeLists.txt
    A mlir/test/CAPI/smt.c
    M mlir/test/CMakeLists.txt

  Log Message:
  -----------
  [mlir][SMT] C APIs (#135501)

This PR upstreams/adds the C APIs for SMT dialect (from CIRCT).

---------

Co-authored-by: Bea Healy <beahealy22 at gmail.com>
Co-authored-by: Martin Erhart <maerhart at outlook.com>
Co-authored-by: Mike Urbach <mikeurbach at gmail.com>
Co-authored-by: Will Dietz <will.dietz at sifive.com>
Co-authored-by: fzi-hielscher <hielscher at fzi.de>
Co-authored-by: Fehr Mathieu <mathieu.fehr at gmail.com>
Co-authored-by: Clo91eaf <Clo91eaf at qq.com>


  Commit: b07fc0fd5e26f894e3a80373577cb5979b8b54bb
      https://github.com/llvm/llvm-project/commit/b07fc0fd5e26f894e3a80373577cb5979b8b54bb
  Author: Ashley Coleman <ascoleman at microsoft.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/lib/Analysis/DXILResource.cpp
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
    M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
    M llvm/unittests/Analysis/DXILResourceTest.cpp

  Log Message:
  -----------
  [HLSL] Move Resource Instance Properties from TypeInfo (#135259)

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

Moves Resource Instance properties from type info into resource info as
described in
https://github.com/llvm/wg-hlsl/blob/main/proposals/0022-resource-instance-analysis.md


  Commit: 202cd7bb33b8116bbfc6e25eef8ad8446c57bed5
      https://github.com/llvm/llvm-project/commit/202cd7bb33b8116bbfc6e25eef8ad8446c57bed5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/metadata.ll

  Log Message:
  -----------
  [LV] Extend metadata.ll tests to also check interleaving.

Adds missing test coverage for presering existing metadata when
interleaving.


  Commit: be4c99ae112f572695c3e187f4ef4ac4cd592783
      https://github.com/llvm/llvm-project/commit/be4c99ae112f572695c3e187f4ef4ac4cd592783
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/test/CodeGen/AArch64/jump-table-partition.ll

  Log Message:
  -----------
  [AArch64AsmPrinter]Place jump tables into hot/unlikely-prefixed data sections for aarch64 (#126018)

This is a follow-up patch of
https://github.com/llvm/llvm-project/pull/125993 to port jump table
partitions for aarch64.

---------

Co-authored-by: Ellis Hoag <ellis.sparky.hoag at gmail.com>


  Commit: 061f87f75f38e80e7494b5f7235103f7f11a36c3
      https://github.com/llvm/llvm-project/commit/061f87f75f38e80e7494b5f7235103f7f11a36c3
  Author: MillePlateaux <liulambda at outlook.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaStmt.cpp
    A clang/test/Sema/attr-musttail.cpp

  Log Message:
  -----------
  [Clang][Sema]:Fix musttail attribute on a function with not_tail_called attribute has no warning/error (#134465)

The error is emitted when a musttail call is made to a function marked
with the not_tail_called attribute.Closes #133509


  Commit: a2c57e1dec7e5641a3cc82dbfb397bea058c03cd
      https://github.com/llvm/llvm-project/commit/a2c57e1dec7e5641a3cc82dbfb397bea058c03cd
  Author: David Green <david.green at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrGISel.td

  Log Message:
  -----------
  [AArch64][GlobalISel] Remove unnecessary fp convert patterns. NFC

We nowadays legalize the fp converts to legal operations earlier, not requiring
patterns that select to multiple instructions.


  Commit: f5c5f9f926cb93c58e8cc6302f788474909606b0
      https://github.com/llvm/llvm-project/commit/f5c5f9f926cb93c58e8cc6302f788474909606b0
  Author: Tsz Chan <keithcth2001 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_itimerval.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_itimerval.h
    M libc/include/sys/time.yaml
    M libc/src/sys/time/CMakeLists.txt
    A libc/src/sys/time/getitimer.h
    M libc/src/sys/time/linux/CMakeLists.txt
    A libc/src/sys/time/linux/getitimer.cpp
    A libc/src/sys/time/linux/setitimer.cpp
    A libc/src/sys/time/setitimer.h
    M libc/test/src/sys/time/CMakeLists.txt
    A libc/test/src/sys/time/getitimer_test.cpp
    A libc/test/src/sys/time/setitimer_test.cpp

  Log Message:
  -----------
  [libc] Implement getitimer and setitimer, add proxy headers for itimerval (#134773)

#133983


  Commit: 9332f1ea57fb7486c79003eaff43d27bfedea1af
      https://github.com/llvm/llvm-project/commit/9332f1ea57fb7486c79003eaff43d27bfedea1af
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/hip-options.hip

  Log Message:
  -----------
  [Clang] add option --offload-jobs=N (#135229)

for specifying number of threads for clang-linker-wrapper.


  Commit: 9ba65cbcb5ea24d8f65cbe82474b7513501c5470
      https://github.com/llvm/llvm-project/commit/9ba65cbcb5ea24d8f65cbe82474b7513501c5470
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [NFC][TableGen] Refactor DecoderEmitter.cpp (#135510)

- Add helper functions to insert ULEB128 encoded value and NumToSkip.
- Use ArrayRef<> instead of const vector references as function
  arguments.
- Return `OpHasCompleteDecoder` by value instead of by reference.
- Use range for loops.
- Remove {} around single line if/else bodies.
- In `emitSoftFailTableEntry`, unconditionally emit the Positive and
  Negative mask values, instead of explicitly emitting a 0 byte when
  the mask is not needed.


  Commit: 52166339f1f74f7d97a54eaf687bb5de167f040d
      https://github.com/llvm/llvm-project/commit/52166339f1f74f7d97a54eaf687bb5de167f040d
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/blockaddress-canonicalize.mlir
    A mlir/test/Dialect/LLVMIR/indirectbr.mlir
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    A mlir/test/Target/LLVMIR/Import/indirectbr.ll
    A mlir/test/Target/LLVMIR/indirectbr.mlir
    M mlir/test/mlir-translate/import-diagnostics.ll

  Log Message:
  -----------
  [MLIR][LLVM] Support for indirectbr (#135092)

Now that LLVM dialect has `blockaddress` support, introduce import/translation for `indirectbr` instruction.


  Commit: 41892fc4353d2dd705666783d799e79748467ed8
      https://github.com/llvm/llvm-project/commit/41892fc4353d2dd705666783d799e79748467ed8
  Author: Theo de Magalhaes <theo.de-magalhaes at epita.fr>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/RecordLayoutBuilder.cpp
    A clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
    A clang/test/SemaCXX/windows-Wpadded.cpp

  Log Message:
  -----------
  [CLANG-CL] ignores Wpadded (#134426)

[clang] add support for -Wpadded on Windows

Implements the -Wpadded warning for --target=x86_64-windows-msvc etc.

Fixes #61702 .


  Commit: 924cf536cebffa7aa67e2dd2f7528fb9629a6f3e
      https://github.com/llvm/llvm-project/commit/924cf536cebffa7aa67e2dd2f7528fb9629a6f3e
  Author: Joy <yutche at qti.qualcomm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/cpus.ll

  Log Message:
  -----------
  [AArch64] Add missing test for Qualcomm Oryon-1 processor (#135258)

For completeness add oryon-1 test case to test verifying all valid
AArch64 CPUs are accepted by llc.


  Commit: 54b33eba1657f4bfe11db5cc1c562a2d2172c7e3
      https://github.com/llvm/llvm-project/commit/54b33eba1657f4bfe11db5cc1c562a2d2172c7e3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp

  Log Message:
  -----------
  [VPlan] Add opcode to create step for wide inductions. (#119284)

This patch adds a WideIVStep opcode that can be used to create a vector
with the steps to increment a wide induction. The opcode has 2 operands
* the vector step
* the scale of the vector step

The opcode is later converted into a sequence of recipes that convert
the scale and step to the target type, if needed, and then multiply
vector step by scale.

This simplifies code that needs to materialize step vectors, e.g.
replacing wide IVs as follow up to
https://github.com/llvm/llvm-project/pull/108378 with an increment of
the wide IV step.

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


  Commit: ff687af04f5b0e85305250587b524cb0b3849aa0
      https://github.com/llvm/llvm-project/commit/ff687af04f5b0e85305250587b524cb0b3849aa0
  Author: Jan Górski <jan.a.gorski at wp.pl>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/CodeGen/atomic-ops-load.c

  Log Message:
  -----------
  [clang][CodeGen] Add range metadata for atomic load of boolean type. #131476 (#133546)

Fixes #131476.

For `x86_64` it folds
```
movzbl	t1(%rip), %eax
andb	$1, %al
```
into
```
movzbl	t1(%rip), %eax
```
when run: `clang -S atomic-ops-load.c -o atomic-ops-load.s -O1
--target=x86_64`.

But for riscv replaces:
```
lb	a0, %lo(t1)(a0)
andi	a0, a0, 1
```
with
```
lb	a0, %lo(t1)(a0)
zext.b	a0, a0
``` 
when run: `clang -S atomic-ops-load.c -o atomic-ops-load.s -O1
--target=riscv64`.


  Commit: 557e931d958104eb5d11b93ad3a21e4017812fcd
      https://github.com/llvm/llvm-project/commit/557e931d958104eb5d11b93ad3a21e4017812fcd
  Author: Damien L-G <dalg24 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__mdspan/aligned_accessor.h
    M libcxx/include/__mdspan/mdspan.h
    A libcxx/include/__memory/is_sufficiently_aligned.h
    M libcxx/include/mdspan
    M libcxx/include/memory
    M libcxx/include/module.modulemap
    M libcxx/include/version
    M libcxx/modules/std/mdspan.inc
    M libcxx/modules/std/memory.inc
    A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/byte_alignment.verify.cpp
    A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/element_type.verify.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/access.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.from.default_accessor.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.default.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/offset.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/operator.conversion.to.default_accessor.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/types.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/std/utilities/memory/ptr.align/is_sufficiently_aligned.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Implement P2897R7 aligned_accessor: An mdspan accessor expressing pointer over-alignment (#122603)

Closes #118372


  Commit: cd7d2c3bf89c9f0e6b7467d9d5ac87ddc829975c
      https://github.com/llvm/llvm-project/commit/cd7d2c3bf89c9f0e6b7467d9d5ac87ddc829975c
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    A clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    A clang/test/CIR/CodeGen/struct.c
    A clang/test/CIR/CodeGen/struct.cpp
    A clang/test/CIR/CodeGen/union.c
    A clang/test/CIR/IR/struct.cir

  Log Message:
  -----------
  [CIR] Upstream minimal support for structure types (#135105)

This change adds minimal support for structure types. To keep the
initial change small, only incomplete declarations are being supported
in this patch. More complete support will follow.


  Commit: 1bcec036e197f6ab7461722502e4393396b46ec3
      https://github.com/llvm/llvm-project/commit/1bcec036e197f6ab7461722502e4393396b46ec3
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    A clang/test/CodeGenHipStdPar/rdc-does-not-enable-hipstdpar.cpp
    A clang/test/CodeGenHipStdPar/select-accelerator-code-pass-ordering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

  Log Message:
  -----------
  [HIP][HIPSTDPAR][NFC] Re-order & adapt `hipstdpar` specific passes (#134753)

The `hipstdpar` specific passes were not ordered ideally, especially for
`fgpu-rdc` compilations, which meant that we'd eagerly run accelerator
code selection and remove symbols that might end up used. This change
corrects that aspect by ensuring that accelerator code selection is only
done after linking (this will have to be revisited in the future once
the closed-world assumption no longer holds). Furthermore, we take the
opportunity to move allocation interposition so that it properly gets
printed when print-pipeline-passes is requested. NFC.


  Commit: 68806b9c2cf732dc93b17e47e5321394e0fcf8bb
      https://github.com/llvm/llvm-project/commit/68806b9c2cf732dc93b17e47e5321394e0fcf8bb
  Author: Andrei Safronov <andrei.safronov at espressif.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
    M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaFixupKinds.h
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
    M llvm/lib/Target/Xtensa/XtensaFeatures.td
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaOperands.td
    M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
    M llvm/lib/Target/Xtensa/XtensaSubtarget.h
    A llvm/test/CodeGen/Xtensa/minmax.ll
    A llvm/test/CodeGen/Xtensa/sext.ll
    M llvm/test/MC/Xtensa/Relocations/fixups-diagnostics.s
    M llvm/test/MC/Xtensa/Relocations/fixups.s
    M llvm/test/MC/Xtensa/Relocations/relocations.s
    A llvm/test/MC/Xtensa/loop.s
    A llvm/test/MC/Xtensa/minmax.s
    A llvm/test/MC/Xtensa/nsau.s
    A llvm/test/MC/Xtensa/sext.s
    A llvm/test/MC/Xtensa/sext_invalid.s

  Log Message:
  -----------
  [Xtensa] Implement SEXT, NSA, MINMAX and Loop Xtensa Options. (#133818)

Implement basic support of the several simple Xtensa Options with 1-4
instructions for each option. The Sign Extend Option (SEXT). The NSA
Option. The Minimum/Maximum Integer 32-bit Option and Loop Option.
Fixed address operands, added OPERAND_PCREL to operands descriptions.


  Commit: eb3ecd158a8aef854f23553f63d118a0c5ef69af
      https://github.com/llvm/llvm-project/commit/eb3ecd158a8aef854f23553f63d118a0c5ef69af
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [gn build] Port 557e931d9581


  Commit: 888b3ed5b4f441b0dea91d7ec2bda1426abeadec
      https://github.com/llvm/llvm-project/commit/888b3ed5b4f441b0dea91d7ec2bda1426abeadec
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [Vectorize] Fix a warning

This patch fixes:

  llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp:2417:13: error:
  unused variable 'ConstStep' [-Werror,-Wunused-variable]


  Commit: 2206e15e78bc3d5289fb2c2cf5a80d6f08412a58
      https://github.com/llvm/llvm-project/commit/2206e15e78bc3d5289fb2c2cf5a80d6f08412a58
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm

  Log Message:
  -----------
  [alpha.webkit.UnretainedCallArgsChecker] Don't emit a warning for RetainPtr::operator= (#135526)

Generalize the check for operator= so that it works for RetainPtr and
CheckedPtr instead of just RefPtr.


  Commit: 820a9b72b2e28b7607691485103f0d7e75baaf42
      https://github.com/llvm/llvm-project/commit/820a9b72b2e28b7607691485103f0d7e75baaf42
  Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  Fix build by marking possibly unused variable such. (#135689) [NFC]


  Commit: a9f73ae4494437c606c2b2e869358b75d8e2d45c
      https://github.com/llvm/llvm-project/commit/a9f73ae4494437c606c2b2e869358b75d8e2d45c
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp

  Log Message:
  -----------
  [CIR] Fix upstream issue. NFC

- 'PrintCanonicalTypes' from the printing policy is renamed as
  'PrintAsCanonical'


  Commit: 76db259080fa134579f31d76fe9ab462f47eca87
      https://github.com/llvm/llvm-project/commit/76db259080fa134579f31d76fe9ab462f47eca87
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/blockaddress-canonicalize.mlir
    R mlir/test/Dialect/LLVMIR/indirectbr.mlir
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    R mlir/test/Target/LLVMIR/Import/indirectbr.ll
    R mlir/test/Target/LLVMIR/indirectbr.mlir
    M mlir/test/mlir-translate/import-diagnostics.ll

  Log Message:
  -----------
  Revert "[MLIR][LLVM] Support for indirectbr" (#135695)

Reverts llvm/llvm-project#135092, broke
https://lab.llvm.org/buildbot/#/builders/169/builds/10469


  Commit: b9a3e998b1921f7d1e3093f27d288ee1a121ba4b
      https://github.com/llvm/llvm-project/commit/b9a3e998b1921f7d1e3093f27d288ee1a121ba4b
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaExprCXX.cpp
    A clang/test/CodeGenCXX/bug135668.cpp
    A clang/test/SemaCXX/bug135668.cpp

  Log Message:
  -----------
  [Clang]Ensure correct handling of cleanup access control  (#135668) (#135686)

The P2719 implementation refactored diagnostics for cleanup delete, and
as part of that I attempted to fix handling of inaccessible cleanup
operator delete. Alas the new branch was incorrect as it was performing
an implicit bool conversion, which resulted in friend accessible cleanup
operators incorrectly being considered erroneous and the allocation path
errored out. This error however did not get diagnosed, so the result was
and so we did not actually error out before codegen.

Added both Sema and CodeGen tests to cover this.


  Commit: 23e92c985de96ec2f06be1c94228ad5dff2d9097
      https://github.com/llvm/llvm-project/commit/23e92c985de96ec2f06be1c94228ad5dff2d9097
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/test/CodeGenHipStdPar/select-accelerator-code-pass-ordering.cpp

  Log Message:
  -----------
  [NFC] Fix bot breakage introduced by #134753 (#135697)

This test needs the amdgpu target, and its absence wreaked havoc with
some of the bots, therefore we now require it.


  Commit: 7491ff74d2b99c0e5e879ec7fd370fe9654528c4
      https://github.com/llvm/llvm-project/commit/7491ff74d2b99c0e5e879ec7fd370fe9654528c4
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M lldb/source/Target/StopInfo.cpp

  Log Message:
  -----------
  [lldb] Override Should{Select,Show} in StopReasonBreakpoint (#135637)

This is necessary so that LLDB does not select (or show the stop reason
for) a thread which stopped at an internal breakpoint.

Other than manual testing/inspection, which I've done, this does not
seem to lend itself to API testing, as we cannot set internal
breakpoints through the SBAPI.


  Commit: 3633de702985e1580d72223ae38a31d0e6fd480b
      https://github.com/llvm/llvm-project/commit/3633de702985e1580d72223ae38a31d0e6fd480b
  Author: nvptm <pmathew at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
    M mlir/lib/Dialect/OpenACC/Transforms/LegalizeDataValues.cpp
    M mlir/test/Dialect/OpenACC/legalize-data.mlir

  Log Message:
  -----------
  [mlir][acc] Handle OpenACC host_data in LegalizeDataValues (#134767)

`LegalizeDataValuesInRegion` is intended to replace the SSA values used
in a region with the output of data operations, but misses the handling
of the OpenACC `host_data` construct. As a result, currently

```
 !$acc host_data use_device(%var)
   ...%var...
 !$acc end host_data

```
is lowered to

```
 %dev_var = acc.use_device(%var)
 acc.host_data data_operands(%dev_var) {
   ...%var...
 }
```

This pull request updates the LegalizeDataValuesInRegion to handle
HostDataOp such that lowering results in

```
 %dev_var = acc.use_device(%var)
 acc.host_data data_operands(%dev_var) {
   ...%dev_var...
 }
```


  Commit: 15932624537ddba61efae19c9af212d3e47a4c21
      https://github.com/llvm/llvm-project/commit/15932624537ddba61efae19c9af212d3e47a4c21
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  SanitizerCoverage: Remove unused field.


  Commit: 8fe5ac896f049020c739769c5186b472c639fd30
      https://github.com/llvm/llvm-project/commit/8fe5ac896f049020c739769c5186b472c639fd30
  Author: thetruestblue <bblueconway at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Posix/mmap_limit_mb.cpp

  Log Message:
  -----------
  [Test][Darwin] Disable test on watchos due to memory restraints (#135671)

Because of the nature of this test (mmap stress-test) it tests too large
of memory allocations to be stable on watchos. WatchOS has memory limits
that can lead to the termination of this process before it reaches the
limit set by the flag. Typical only on devices that are under heavy
load. disable on watchOS.

rdar://147222346


  Commit: 8e8d04870dbc3248301534796b4370f75e33f7c0
      https://github.com/llvm/llvm-project/commit/8e8d04870dbc3248301534796b4370f75e33f7c0
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/SampleProfileProbe.h
    M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp

  Log Message:
  -----------
  SampleProfileProbe: Remove unused field.


  Commit: 07fe9c6461dbdde6f619fc56bd021cd30b3f6327
      https://github.com/llvm/llvm-project/commit/07fe9c6461dbdde6f619fc56bd021cd30b3f6327
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/combine-mad.ll
    M llvm/test/CodeGen/NVPTX/copysign.ll
    M llvm/test/CodeGen/NVPTX/f16-instructions.ll
    M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/forward-ld-param.ll
    M llvm/test/CodeGen/NVPTX/i1-int-to-fp.ll
    M llvm/test/CodeGen/NVPTX/i1-load-lower.ll
    M llvm/test/CodeGen/NVPTX/i128.ll
    M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
    M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
    M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
    M llvm/test/CodeGen/NVPTX/param-load-store.ll
    M llvm/test/CodeGen/NVPTX/pr13291-i1-store.ll

  Log Message:
  -----------
  [NVPTX] Use 0 immediate for i1 trunc, cleanup dead code (#135646)

Update the instruction selection for truncation to i1 to use "setp.ne
%v, 0" as the zero immediate is a preferable canonical form. Also remove
some dead code relating to the "set" instruction which we do not
actually support currently.


  Commit: fe9e2090be79a2b807d381a0a045bc606d59c33c
      https://github.com/llvm/llvm-project/commit/fe9e2090be79a2b807d381a0a045bc606d59c33c
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
    M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/fminimumnum.ll
    M llvm/test/Transforms/SLPVectorizer/X86/fminimumnum.ll

  Log Message:
  -----------
  Vectorize: Support fminimumnum and fmaximumnum (#131781)

Support auto-vectorize for fminimum_num and fmaximum_num. 
For ARM64 with SVE, scalable vector cannot support yet.

---------

Co-authored-by: Your Name <you at example.com>


  Commit: a686b783ce244a6dfebd17b717532c516419fc32
      https://github.com/llvm/llvm-project/commit/a686b783ce244a6dfebd17b717532c516419fc32
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c

  Log Message:
  -----------
  [clang][tests] Add missing FileCheck check, NFC (#135687)


  Commit: 6ba32e8eb203ebabd3fc9fffcea2762500f82e3a
      https://github.com/llvm/llvm-project/commit/6ba32e8eb203ebabd3fc9fffcea2762500f82e3a
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/test/MC/AMDGPU/vinterp.s

  Log Message:
  -----------
  [AMDGPU][MC] test update with script for vinterp asm test (#135681)

This is a NFC patch.

Run test update with script with --unique options for vinterp test. This
reduce duplications. This prepares for the upcoming true16 clean up
patch


  Commit: cc354d6a6da542515fbd6f39dcb9665b7c26a008
      https://github.com/llvm/llvm-project/commit/cc354d6a6da542515fbd6f39dcb9665b7c26a008
  Author: Connector Switch <c8ef at outlook.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
    M flang/test/Lower/OpenMP/clause-cleanup.f90
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp

  Log Message:
  -----------
  [NFC] Fix destroy typo. (#135640)


  Commit: e96111d3e9ac67b14cab32925717a62258a2bd60
      https://github.com/llvm/llvm-project/commit/e96111d3e9ac67b14cab32925717a62258a2bd60
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [LV] Remove redundant check. nfc (#135605)

Remove the redundant `!TheLoop->contains(Op->getParent())` check since
`!TheLoop->contains(Op)` has already been verified.


  Commit: 9cdc3aab3eae55be30003cb486f290f3ee3df3a8
      https://github.com/llvm/llvm-project/commit/9cdc3aab3eae55be30003cb486f290f3ee3df3a8
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/Mapper.cpp

  Log Message:
  -----------
  [clang-doc] Use SmartMutex when visiting the AST (#135514)

The SmartMutex will allow us to have a cheap mutex implementation when
using the Standalone executor, since it's single threaded. Performance
should be about the same for AllTUs executor.


  Commit: 5df9658d4009e500be1421231b48b210e8c2cd69
      https://github.com/llvm/llvm-project/commit/5df9658d4009e500be1421231b48b210e8c2cd69
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
    M llvm/test/MC/RISCV/rv32zcmp-invalid.s
    M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
    M llvm/test/MC/RISCV/rv64zcmp-invalid.s

  Log Message:
  -----------
  [RISCV] Refactor register list parsing and improve error messages. (#134938)

Structure the code into a loop that parses a series of ranges and gives
an error when there are too many ranges.

Give errors when ABI and non-ABI names are mixed.

Properly diagnose 'x1-` starting a list.

Use a default bool argument to merge parseRegListCommon and
parseRegList.


  Commit: f4ff209e4384d8073f36fb7da9916b33f1140edf
      https://github.com/llvm/llvm-project/commit/f4ff209e4384d8073f36fb7da9916b33f1140edf
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/openmp-offload-gpu.c

  Log Message:
  -----------
  [Clang] Forward two linker options to `lld` when ThinLTO is enabled for AMDGPU (#135690)


  Commit: a6b424e1e7e6aa83ae49e7e12454998d3b195054
      https://github.com/llvm/llvm-project/commit/a6b424e1e7e6aa83ae49e7e12454998d3b195054
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [RISCV] Extend redundant vrgather.vx peephole to vfmv.v.f (#135503)

Extend the transform introduced in 336b290 to vfmv.v.f. This is fairly
trivial and would have been in the original commit except I hadn't
written the FP tests yet.

If the vrgather.vi is preceeded by a vfmv.v.f which writes a superset of
the lanes writen by the vrgather, and the vrgather has no passthru, then
the vrgather has no semantic effect.


  Commit: 83344da69145a648aad3e0cd88eab4aaf60b2142
      https://github.com/llvm/llvm-project/commit/83344da69145a648aad3e0cd88eab4aaf60b2142
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    A clang/test/CodeGenCXX/local-class-instantiation.cpp

  Log Message:
  -----------
  [Clang] Fix dependent local class instantiation bugs (#134038)

This patch fixes two long-standing bugs that prevent Clang from
instantiating local class members inside a dependent context. These bugs
were introduced in commits 21eb1af469c3 and 919df9d75a.

21eb1af469c3 introduced a concept called eligible methods such that it
did an attempt to skip past ineligible method instantiation when
instantiating class members. Unfortunately, this broke the instantiation
chain for local classes - getTemplateInstantiationPattern() would fail
to find the correct definition pattern if the class was defined within a
partially transformed dependent context.

919df9d75a introduced a separate issue by incorrectly copying the
DeclarationNameInfo during function definition instantiation from the
template pattern, even though that DNI might contain a transformed
TypeSourceInfo. Since that TSI was already updated when the declaration
was instantiated, this led to inconsistencies. As a result, the final
instantiated function could lose track of the transformed declarations,
hence we crash: https://compiler-explorer.com/z/vjvoG76Tf.

This PR corrects them by

1. Removing the bypass logic for method instantiation. The eligible flag
is independent of instantiation and can be updated properly afterward,
so skipping instantiation is unnecessary.

2. Carefully handling TypeSourceInfo by creating a new instance that
preserves the pattern's source location while using the already
transformed type.

Fixes https://github.com/llvm/llvm-project/issues/59734
Fixes https://github.com/llvm/llvm-project/issues/132208


  Commit: f1dd6b3cf8d957f28e06f475c8a652f201fc830b
      https://github.com/llvm/llvm-project/commit/f1dd6b3cf8d957f28e06f475c8a652f201fc830b
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/test/Conversion/TensorToLinalg/tensor-ops-to-linalg.mlir

  Log Message:
  -----------
  [mlir][tensor] Fix `createFillOrGenerateOp` (#121205)

This PR clones the padding value defined inside the PadOp block to
outside to prevent a crash. Fixes #120947.


  Commit: 9ce8356acbe3e79764f4147a0e7cc30e1b759b45
      https://github.com/llvm/llvm-project/commit/9ce8356acbe3e79764f4147a0e7cc30e1b759b45
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/docs/ControlFlowIntegrity.rst

  Log Message:
  -----------
  Fix broken link.


  Commit: c3959f22abc62882be6c9df2fe4151c924ac3d9a
      https://github.com/llvm/llvm-project/commit/c3959f22abc62882be6c9df2fe4151c924ac3d9a
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp

  Log Message:
  -----------
  [MachineLICM] Remove CurPreheader parameter that is always nullptr (#135554)

Also, rename `getCurPreheader` -> `getOrCreatePreheader` to make it
clear that this method may alter CFG.

Update `Changed` if the method modified a loop by splitting a critical
edge (this change is not strictly NFC).

The removed parameter was probably intended to save compile time by not
trying to a critical edge after the first attempt has failed, but it is
only tried once per loop.

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


  Commit: 8c22f569b3b19450034832769ef77d5b2ec997d7
      https://github.com/llvm/llvm-project/commit/8c22f569b3b19450034832769ef77d5b2ec997d7
  Author: Matt <mattstark75 at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/test/Modules/safe_buffers_optout.cpp

  Log Message:
  -----------
  [Fix] Speedup -Wunsafe-buffer-usage when using clang modules. (#127161)

Each piece of code should have analysis run on it precisely once.
However, if you build a module, and then build another module depending
on it, the header file of the module you depend on will have
`-Wunsafe-buffer-usage` run on it twice. This normally isn't a huge
issue, but in the case of using the standard library as a module, simply
adding the line `#include <cstddef>` increases compile times by 900ms
(from 100ms to 1 second) on my machine. I believe this is because the
standard library has massive modules, of which only a small part is used
(the AST is ~700k lines), and because if what I've been told is correct,
the AST is lazily generated, and `-Wunsafe-buffer-usage` forces it to be
evaluated every time.

See https://issues.chromium.org/issues/351909443 for details and
benchmarks.


  Commit: 984ec70b61cb57b00e622a21b259aaf11775c5f0
      https://github.com/llvm/llvm-project/commit/984ec70b61cb57b00e622a21b259aaf11775c5f0
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/docs/ControlFlowIntegrity.rst

  Log Message:
  -----------
  Minor documentation update.


  Commit: 1cf9f764ac41fb3492e10c78640dd50e616388db
      https://github.com/llvm/llvm-project/commit/1cf9f764ac41fb3492e10c78640dd50e616388db
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/lib/Frontend/CompilerInstance.cpp

  Log Message:
  -----------
  [clang][frontend] Make `CompilerInstance::FailedModules` thread-safe (#135473)

This PR makes some progress towards making it possible to create clones
of `CompilerInstance` that are independent of each other and can be used
in a multi-threaded setting. This PR tackles
`CompilerInstance::FailedModules`, makes it a value-type instead of a
mutable shared pointer, and adds explicit copies & moves where
appropriate.

Besides that change, this PR also turns two previously free functions
with internal linkage into member functions of `CompilerInstance`, which
makes it possible to reduce the public API of that class that relates to
`FailedModules`. This reduces some API churn that was necessary for each
new member of `CompilerInstance` that needs to be cloned.


  Commit: ab58bcfac43d1bf352d7129b786e9c7f28e81fdf
      https://github.com/llvm/llvm-project/commit/ab58bcfac43d1bf352d7129b786e9c7f28e81fdf
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/tools/llvm-debuginfo-analyzer/llvm-debuginfo-analyzer.cpp
    M llvm/tools/llvm-nm/llvm-nm.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-rc/llvm-rc.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [tools] Use llvm::append_range (NFC) (#135721)


  Commit: 62ef10a0f62c668e1fa7e357f56052f3364544c5
      https://github.com/llvm/llvm-project/commit/62ef10a0f62c668e1fa7e357f56052f3364544c5
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Properly handle lane op lowering for larger vector types (#132358)

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

Also adds few previously existing permlane64 tests which somehow got
removed in between.


  Commit: eb7f51485e8060a390a36a61a30a6f4332c24aae
      https://github.com/llvm/llvm-project/commit/eb7f51485e8060a390a36a61a30a6f4332c24aae
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Analysis/Presburger/QuasiPolynomial.cpp
    M mlir/lib/Analysis/Presburger/Simplex.cpp
    M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
    M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
    M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
    M mlir/lib/Query/Query.cpp
    M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
    M mlir/lib/Tools/tblgen-lsp-server/TableGenServer.cpp

  Log Message:
  -----------
  [mlir] Use llvm::append_range (NFC) (#135722)


  Commit: 01c1c78103d026d0d0007ae7b7d54b36edef1324
      https://github.com/llvm/llvm-project/commit/01c1c78103d026d0d0007ae7b7d54b36edef1324
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [Scalar] Construct SmallVector with an iterator range (NFC) (#135725)


  Commit: 2538c607e903a1fe0cfcacd5732235cc8ff3adf7
      https://github.com/llvm/llvm-project/commit/2538c607e903a1fe0cfcacd5732235cc8ff3adf7
  Author: Reid Kleckner <rnk at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/X86/X86Subtarget.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp

  Log Message:
  -----------
  [CodeGen] Prune headers and move code out of line for build efficiency, NFC (#135622)

I noticed these destructors taking time with -ftime-trace and moved some
of them for minor build efficiency improvements.

The main impact of moving destructors out of line is that it avoids
requiring container fields containing other types from being complete,
i.e. one can have uptr<T> or vector<T> as a field with an incomplete
type T, and that means we can reduce transitive includes, as with
LegalizerInfo.h.

Move expensive getDebugOperandsForReg template out-of-line. The
std::function instantiation shows up in time trace even if you don't use
the function.


  Commit: f46cea5b42ed4d05fd11dc1e693ddc6153769cde
      https://github.com/llvm/llvm-project/commit/f46cea5b42ed4d05fd11dc1e693ddc6153769cde
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll

  Log Message:
  -----------
  Revert "[AMDGPU][GlobalISel] Properly handle lane op lowering for larger vector types (#132358)"

This reverts commit 62ef10a0f62c668e1fa7e357f56052f3364544c5.

Multiple buildbot failures have been reported:
https://github.com/llvm/llvm-project/pull/132358


  Commit: a388395b869ada3a4d104aa9963fa233b45522ea
      https://github.com/llvm/llvm-project/commit/a388395b869ada3a4d104aa9963fa233b45522ea
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/StackFrameLayoutAnalysisPass.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/StackFrameLayoutAnalysisPass.cpp
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [CodeGen][NPM] Port StackFrameLayoutAnalysisPass to NPM (#130070)


  Commit: fceb9cecdf6264eb773ee826b72a51a9ec68ec74
      https://github.com/llvm/llvm-project/commit/fceb9cecdf6264eb773ee826b72a51a9ec68ec74
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/InternalsManual.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/C/C11/n1285.c
    M clang/test/CodeGenCXX/sections.cpp
    A clang/test/FixIt/fixit-bool.cpp
    M clang/test/Modules/odr_hash.cpp
    M clang/test/OpenMP/declare_variant_messages.c
    M clang/test/OpenMP/declare_variant_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/distribute_simd_linear_messages.cpp
    M clang/test/OpenMP/for_linear_messages.cpp
    M clang/test/OpenMP/for_simd_linear_messages.cpp
    M clang/test/OpenMP/for_simd_misc_messages.c
    M clang/test/OpenMP/masked_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/master_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/parallel_for_linear_messages.cpp
    M clang/test/OpenMP/parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/parallel_for_simd_misc_messages.c
    M clang/test/OpenMP/parallel_masked_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/parallel_master_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/simd_linear_messages.cpp
    M clang/test/OpenMP/simd_misc_messages.c
    M clang/test/OpenMP/target_parallel_for_linear_messages.cpp
    M clang/test/OpenMP/target_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/target_simd_linear_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_linear_messages.cpp
    M clang/test/OpenMP/task_affinity_messages.cpp
    M clang/test/OpenMP/task_depend_messages.cpp
    M clang/test/OpenMP/taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/teams_distribute_simd_linear_messages.cpp
    M clang/test/Sema/code_align.c
    M clang/test/Sema/warn-int-in-bool-context.c
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/SemaCXX/attr-lifetime-capture-by.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/warn-dangling-local.cpp
    M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
    M clang/test/SemaHLSL/Language/OutputParameters.hlsl
    M clang/test/SemaHLSL/parameter_modifiers.hlsl
    M clang/test/SemaOpenCL/to_addr_builtin.cl
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp

  Log Message:
  -----------
  [clang] consistently quote expressions in diagnostics (#134769)


  Commit: 17b4cacbd48b75a6a4c9dfe687dd39f5e88189c3
      https://github.com/llvm/llvm-project/commit/17b4cacbd48b75a6a4c9dfe687dd39f5e88189c3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/X86/pr134602.ll

  Log Message:
  -----------
  [DAG] isSplatValue - only treat binop splats shared undef elements as undef (#135597)

#134602 demonstrated an issue where an AND node always had at least one demanded UNDEF element in either operand, and incorrectly reported this an all-undef result - despite the other element being 0 (so would correctly fold to 0).

This fix only assumes a binops splats element is undefined if both operands are undef.

Fixes #134602


  Commit: 0f526498a1b0819055d1094fd9850fdbcab5b903
      https://github.com/llvm/llvm-project/commit/0f526498a1b0819055d1094fd9850fdbcab5b903
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/FileEntry.h
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Lex/PPDirectives.cpp
    A clang/test/Preprocessor/embed-reject-device-files-lin.c
    A clang/test/Preprocessor/embed-reject-device-files-win.c

  Log Message:
  -----------
  [clang] Reject character devices in #embed for now (#135370)

See https://github.com/llvm/llvm-project/issues/126629 . Right now they
are not supported properly and support requires modifying several layers
of LLVM. For now simply reject them while proper support is being
developed to avoid potential security problems.


  Commit: 06da00ae2d116bb2c4063b124429c2d29eb69d87
      https://github.com/llvm/llvm-project/commit/06da00ae2d116bb2c4063b124429c2d29eb69d87
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/test/CodeGen/arm-target-features.c
    M clang/test/Driver/print-supported-extensions-arm.c
    M clang/test/Preprocessor/arm-target-features.c
    M llvm/include/llvm/TargetParser/ARMTargetParser.def
    M llvm/include/llvm/TargetParser/ARMTargetParser.h
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
    M llvm/lib/TargetParser/ARMTargetParser.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [ARM][Clang] Make `+nosimd` functional for AArch32 Targets (#130623)

`+simd` and `+nosimd` are used to enable or disable NEON Instructions
when compiling for ARM Targets. However, up until now, using these
has not been possible. To enable this, these options are mapped to the
relevant LLVM backend option (`+neon` and `-neon`) so it can be both
enabled and disabled successfully by the user.

Tests have been added to ensure this behaviour is maintained in the
future, along with updates to existing tests as behaviour has now changed
relating to the use of `+simd` and `+nosimd`.

As `simd` has been mapped within the ARMTargetParser.def, support for
this extension is also added for the `--print-support-extensions` command
when the target is AArch32. This will print the `simd` option, along with the
description that relates to the Neon feature. This previously was not
possible as `simd` did not have a related Feature or Negative Feature.

To make this functional as intended, MVE and MVE.FP now rely on their
own Enum identifier, rather than `AEK_SIMD`. While SIMD does refer to
both Neon and Helium technologies, in terms of command line options,
SIMD relates to Neon. Helium relates to MVE and MVE.FP. The Enum
now reflects this too.


  Commit: ccbbb1722fc4b53a75dda59b613d7aea0a47b506
      https://github.com/llvm/llvm-project/commit/ccbbb1722fc4b53a75dda59b613d7aea0a47b506
  Author: donald chen <chenxunyu1993 at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlow/DenseAnalysis.h
    M mlir/include/mlir/Analysis/DataFlowFramework.h
    M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
    M mlir/lib/Analysis/DataFlowFramework.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDenseForwardDataFlowAnalysis.cpp

  Log Message:
  -----------
  [mlir] [dataflow] : Improve the time and space footprint of data flow. (#135325)

MLIR's data flow analysis (especially dense data flow analysis)
constructs a lattice at every lattice anchor (which, for dense data
flow, means every program point). As the program grows larger, the time
and space complexity can become unmanageable.

However, in many programs, the lattice values at numerous lattice
anchors are actually identical. We can leverage this observation to
improve the complexity of data flow analysis. This patch introducing
equivalence lattice anchor to group lattice anchors that must contains
identical lattice on certain state to improve the time and space
footprint of data flow.


  Commit: 3266f9c3d6ae07289d0253d1efeb3d951830105c
      https://github.com/llvm/llvm-project/commit/3266f9c3d6ae07289d0253d1efeb3d951830105c
  Author: Timothy Hoffman <4001421+tim-hoffman at users.noreply.github.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/docs/Traits/_index.md
    M mlir/include/mlir/IR/BuiltinAttributeInterfaces.td
    M mlir/lib/IR/SymbolTable.cpp

  Log Message:
  -----------
  [MLIR] Documentation updates and typo fixes (#125273)


  Commit: 440ae4be5be421a54b82f60899c1bc17d7fbc0c3
      https://github.com/llvm/llvm-project/commit/440ae4be5be421a54b82f60899c1bc17d7fbc0c3
  Author: Kristof Beyls <kristof.beyls at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/docs/CodeOfConduct.rst

  Log Message:
  -----------
  [doc][CoC] Update committee members list (#135594)

The list of Code of Conduct committee member names was out of date. This
updates it, and orders them alphabetically by last name.


  Commit: 17ac7e0e844331d6c4530a678e41ed109766947e
      https://github.com/llvm/llvm-project/commit/17ac7e0e844331d6c4530a678e41ed109766947e
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/test/CodeGen/X86/lea-8bit.ll

  Log Message:
  -----------
  [X86][APX] Fix a typo in LEA suffix (#135734)

Found during reviewing #135632


  Commit: 1ee8fe810fab9f660b72585a782a449c8f83d8e6
      https://github.com/llvm/llvm-project/commit/1ee8fe810fab9f660b72585a782a449c8f83d8e6
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/test/Driver/mips-abi.c

  Log Message:
  -----------
  [Mips] Fix clang compile error when -march=p5600 with -mmsa (#132679)

When -march=p5600 with -mmsa, the result of getISARev is 0, so report
error. Append p5600 to cases mips32r5.

Fix #91948.


  Commit: b4017d814217160fa776ca05afc711770a13ac13
      https://github.com/llvm/llvm-project/commit/b4017d814217160fa776ca05afc711770a13ac13
  Author: David Green <david.green at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/test/CodeGen/AArch64/aarch64-smull.ll
    M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
    M llvm/test/CodeGen/AArch64/neon-extmul.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Improve MULL generation (#112405)

This splits the existing post-legalize lowering of vector umull/smull
into two parts - one to perform the optimization of mul(ext,ext) -> mull
and one to perform the v2i64 mul scalarization. The mull part is moved
to post legalizer combine and has been taught a few extra tricks from
SDAG, using known bits to convert mul(sext, zext) or mul(zext,
zero-upper-bits) into umull. This can be important to prevent v2i64
scalarization of muls.


  Commit: 5307040473d9b4d78a9031fb072c1261275aa87e
      https://github.com/llvm/llvm-project/commit/5307040473d9b4d78a9031fb072c1261275aa87e
  Author: Iris <0.0 at owo.li>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [NFC] Fix auto* warning (#135765)


  Commit: 0f86e2395e4f22bf3cb05e38be05b90575066829
      https://github.com/llvm/llvm-project/commit/0f86e2395e4f22bf3cb05e38be05b90575066829
  Author: Miguel Saldivar <miguel.saldivar at hpe.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    A flang/test/HLFIR/minval-maxval-issue-134308.fir

  Log Message:
  -----------
  [flang] Avoid optimizing min and max if not valid type (#134972)

In `makeMinMaxInitValGenerator` it explicitly checks for only
`FloatType` and `IntegerType`, so we shouldn't match if we don't have
either of those types.

Fix for #134308


  Commit: e65faed187485db3638aa6415f7e9df053623dcf
      https://github.com/llvm/llvm-project/commit/e65faed187485db3638aa6415f7e9df053623dcf
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Combine.td

  Log Message:
  -----------
  [AArch64] Fix a warning

This patch fixes:

  lib/Target/AArch64/AArch64GenPostLegalizeGILowering.inc:570:42:
  error: unused variable 'GIMatchData_matchinfo'
  [-Werror,-Wunused-variable]


  Commit: 96e38766118c62ed42ddedd4642284cdca12904e
      https://github.com/llvm/llvm-project/commit/96e38766118c62ed42ddedd4642284cdca12904e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp

  Log Message:
  -----------
  [AsmPrinter] Migrate away from PointerUnion::dyn_cast (NFC) (#135740)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

We use dyn_cast_if_present here because Bound can be null.


  Commit: 00eaff3e9c897c263a879416d0f151d7ca7eeaff
      https://github.com/llvm/llvm-project/commit/00eaff3e9c897c263a879416d0f151d7ca7eeaff
  Author: Andrei Golubev <andrey.golubev at intel.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.h
    A mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.td
    M mlir/include/mlir/Dialect/Bufferization/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
    M mlir/lib/Dialect/Bufferization/IR/BufferizationDialect.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    A mlir/test/Dialect/Bufferization/Transforms/tensorlike-bufferlike.mlir
    M mlir/test/lib/Dialect/Bufferization/CMakeLists.txt
    A mlir/test/lib/Dialect/Bufferization/TestTensorLikeAndBufferLike.cpp
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestTypeDefs.td
    M mlir/test/lib/Dialect/Test/TestTypes.h
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir][bufferization] Add tensor-like and buffer-like interfaces (#134220)

Current one-shot bufferization infrastructure operates on top of
TensorType and BaseMemRefType. These are non-extensible base classes of
the respective builtins: tensor and memref. Thus, the infrastructure is
bound to work only with builtin tensor/memref types. At the same time,
there are customization points that allow one to provide custom logic to
control the bufferization behavior.

This patch introduces new type interfaces: tensor-like and buffer-like
that aim to supersede TensorType/BaseMemRefType within the bufferization
dialect and allow custom tensors / memrefs to be used. Additionally,
these new type interfaces are attached to the respective builtin types
so that the switch is seamless.

Note that this patch does very minimal initial work, it does NOT
refactor bufferization infrastructure.

See https://discourse.llvm.org/t/rfc-changing-base-types-for-tensors-and-memrefs-from-c-base-classes-to-type-interfaces/85509


  Commit: 81499edb30665d377a680990ef3c5129f9b54261
      https://github.com/llvm/llvm-project/commit/81499edb30665d377a680990ef3c5129f9b54261
  Author: Vy Nguyen <vyng at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [NFC][lldb]Fix stack-use-after-free bugs in exit-callbacks. (#135763)


  Commit: 03b0f55d9c6319a851a60bb084faca0e32a38f2b
      https://github.com/llvm/llvm-project/commit/03b0f55d9c6319a851a60bb084faca0e32a38f2b
  Author: Brian Cody <brian.j.cody at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_type.py
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h
    M clang/tools/libclang/CXType.cpp
    M clang/tools/libclang/libclang.map

  Log Message:
  -----------
  [cindex] Add support for calling getFullyQualifiedName to the Python binding. (#135420)

We're coming from llvm 11. There was a change made back in 15f3cd6 that
changed how type spelling works. Previous we were given namespaces of
the types within the spelling, and this was necessary in our use-case.
There is a more appropriate function available but it was not being
exposed over the Python bindings. This PR is intended to make make this
already-existing functionality accessible.

---------

Co-authored-by: Jannick Kremer <jannick.kremer at mailbox.org>


  Commit: 7eae1a4d1fd84e87eb31ea263d0df838cce8fa1b
      https://github.com/llvm/llvm-project/commit/7eae1a4d1fd84e87eb31ea263d0df838cce8fa1b
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [Github][CI] Name premerge artifacts per OS

This patch renames premerge artifacts per OS. Without this, the premerge
artifacts will conflict with each other and the slower running job will
fail to upload the artifact.


  Commit: 38faf32d23d1edb7708711d0f9e0db853ddf75a5
      https://github.com/llvm/llvm-project/commit/38faf32d23d1edb7708711d0f9e0db853ddf75a5
  Author: alekuz01 <aleksei.kuzmenko at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M bolt/CMakeLists.txt
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/runtime/common.h
    M bolt/runtime/hugify.cpp
    A bolt/test/runtime/Inputs/user_func_order.txt
    R bolt/test/runtime/X86/Inputs/user_func_order.txt
    R bolt/test/runtime/X86/hugify.c
    R bolt/test/runtime/X86/user-func-reorder.c
    A bolt/test/runtime/hugify.c
    A bolt/test/runtime/user-func-reorder.c

  Log Message:
  -----------
  [BOLT] Enable hugify for AArch64 (#117158)

Add required hugify instrumentation and runtime libraries support for AArch64.
Fixes #58226
Unblocks #62695


  Commit: 9a6c001b125d7d37b8f2c8b96461768c797c4e3f
      https://github.com/llvm/llvm-project/commit/9a6c001b125d7d37b8f2c8b96461768c797c4e3f
  Author: YLChenZ <chentongyongcz at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/test/AST/ast-dump-APValue-lvalue.cpp

  Log Message:
  -----------
  [clang][ast]: Add DynamicAllocLValue and TypeInfoLValue support to APValue::dump(). (#135178)

Closes #134996.
The crash about `TypeInfoLValue` is https://godbolt.org/z/73WY31s55. 
After the patch:
```cpp
//test.cpp
#include <typeinfo>
constexpr const std::type_info* val = &typeid(int);
```
```
lambda at ubuntu22:~/test$ clang++ -std=c++20 -Xclang -ast-dump -fsyntax-only test.cpp
LValue Base=TypeInfoLValue typeid(int), Null=0, Offset=0, HasPath=1, PathLength=0, Path=()
```

```cpp
//DAtest.cpp
constexpr int *m = new int(42);
```
```
lambda at ubuntu22:~/test$ clang++ -std=c++20 -Xclang -ast-dump -fsyntax-only DAtest.cpp
LValue Base=DynamicAllocLValue 'int', Null=0, Offset=0, HasPath=1, PathLength=0, Path=()
```


  Commit: 595cc960b6da7f55d64d2025abb67a9aabb01a85
      https://github.com/llvm/llvm-project/commit/595cc960b6da7f55d64d2025abb67a9aabb01a85
  Author: Asher Mancinelli <ashermancinelli at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
    A flang/test/Fir/target-rewrite-fmfs.fir
    M flang/test/Fir/target-rewrite-selective.fir

  Log Message:
  -----------
  [flang] Propagate fast-math flags in target-rewrite (#135723)

TargetRewritePass was dropping fast-math flags. Add the flags to the new
call ops and update tests.


  Commit: ddfd81bb76c05b095c8eca7a45f71547c3df2a89
      https://github.com/llvm/llvm-project/commit/ddfd81bb76c05b095c8eca7a45f71547c3df2a89
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/LoopVersioning.h
    M llvm/lib/Transforms/Utils/LoopVersioning.cpp

  Log Message:
  -----------
  [LoopVer] Add function to get the alias_scope/noalias metadata (NFC).

Split out logic to get noalias/alias_scope metadata to separate function
in LoopVersioning. This will be used to migrate away from
annotateInstWithNoAlias in LV.


  Commit: e1382b3b459d39659694ee854073bbdb1aa1d98d
      https://github.com/llvm/llvm-project/commit/e1382b3b459d39659694ee854073bbdb1aa1d98d
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    R llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
    M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
    R llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll

  Log Message:
  -----------
  Revert "[SLP] Make getSameOpcode support interchangeable instructions. (#133888)"

This reverts commit 123993fd974629ca0a094918db4c21ad1c2624d0.


  Commit: 535eaa4f3be5dda5cf3aa13348aac8d9a27d20f0
      https://github.com/llvm/llvm-project/commit/535eaa4f3be5dda5cf3aa13348aac8d9a27d20f0
  Author: earnol <earnol at users.noreply.github.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTest.h

  Log Message:
  -----------
  [clang][test] Improve unit tests for Fixed point AST matchers. (#134398)

We have AST matchers for fixed point float numbers since commits
789215dc0db174c9fdd273436fdd60d8289a9fc0 and
ff9120636e9c890b4db735d252d16b92091dde55. However in those commits the
unit tests were not added. Amending the test suit by adding missing
tests.

Co-authored-by: Vladislav Aranov <vladislav.aranov at ericsson.com>


  Commit: 72560e7b0d3ab30da362eccc6a7586663690fab6
      https://github.com/llvm/llvm-project/commit/72560e7b0d3ab30da362eccc6a7586663690fab6
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/test/MC/AMDGPU/bf16_imm.s
    M llvm/test/MC/AMDGPU/gfx11-promotions.s
    M llvm/test/MC/AMDGPU/gfx1150_asm_features.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vinterp_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_features.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_aliases.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s

  Log Message:
  -----------
  [AMDGPU][MC] test update with script for gfx11/gfx12 mc test (#135527)

This is a NFC patch.

Run test update with script with --unique options for many gfx11/gfx12
mc test. This format files. This prepares for the upcoming true16 clean
up patch


  Commit: bf3b3d012c6b6b4369ac76e467f7fc78ee5aaca8
      https://github.com/llvm/llvm-project/commit/bf3b3d012c6b6b4369ac76e467f7fc78ee5aaca8
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp

  Log Message:
  -----------
  [mlir][GPU] Don't look into neighboring functions for barrier elimination (#135293)

If a `func.func` is nested in some other operation, the barrier
eliminator's recursion into parents will examine the neighbors of each
function. Therefore, don't recurse into the parent of an operation if
that operation is IsolatedFromAbove, like a func.func is.

Furthermore, define functions as a region that executes only once,
since, within the context of this pass (which runs on functions) it is
true.


  Commit: 7f2587a23919c841584dce345ca42b9802410281
      https://github.com/llvm/llvm-project/commit/7f2587a23919c841584dce345ca42b9802410281
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/smin-reduction-unsigned-missing-sign.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with missing zext on signed minimum reduction, NFC


  Commit: 552902455c7a3958930d4607ac8b85fd39d7c8a3
      https://github.com/llvm/llvm-project/commit/552902455c7a3958930d4607ac8b85fd39d7c8a3
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A libclc/clc/include/clc/integer/clc_ctz.h
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/integer/clc_ctz.cl
    M libclc/generic/include/clc/clc.h
    A libclc/generic/include/clc/integer/ctz.h
    M libclc/generic/lib/SOURCES
    A libclc/generic/lib/integer/ctz.cl

  Log Message:
  -----------
  [libclc] Add ctz built-in implementation to clc and generic (#135309)


  Commit: 57025b42c43b2f14f7e58692bc19cd53d1b8a45e
      https://github.com/llvm/llvm-project/commit/57025b42c43b2f14f7e58692bc19cd53d1b8a45e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/smin-reduction-unsigned-missing-sign.ll

  Log Message:
  -----------
  [SLP]Mark smin reduction as signed compare

Reduction signed min must be marked as signed compare, fixing the
analysis for the cases, where the incoming arguments are unsigned.

Fixes #133943


  Commit: 478065882303823623e1bc2d62b2a98097f9f53d
      https://github.com/llvm/llvm-project/commit/478065882303823623e1bc2d62b2a98097f9f53d
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [NFC][TableGen] DecoderEmitter optimize scope stack in `Filter::emitTableEntry`  (#135693)

- Create a new stack scope only in the fallthrough case.
- For the non-fallthrough cases, any fixup entries will naturally be
added to the existing scope without needing to copy them manually.
- Verified that the generated `GenDisassembler` files are identical with
and without this change.


  Commit: f215a61891b0368d2d7e329bc994c9053dc3fac9
      https://github.com/llvm/llvm-project/commit/f215a61891b0368d2d7e329bc994c9053dc3fac9
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp

  Log Message:
  -----------
  [mlir][linalg][vector] Refine create{Read|Write}OrMasked{Read|Write} (nfc) (#135350)

The semantics of `createReadOrMaskedRead` and `createWriteOrMaskedWrite`
are currently a bit inconsistent and not fully documented:

* The input vector sizes are passed as `readShape` and
  `inputVectorSizes`, respectively — inconsistent naming.

* Currently, the input vector sizes in `createWriteOrMaskedWrite` are
  not required to be complete: any missing trailing sizes are inferred
  from the destination tensor. This only works when the destination
  tensor is statically shaped.

* Unlike `createReadOrMaskedRead`, the documentation for
  `createWriteOrMaskedWrite` does not specify that write offsets are
  hard-coded to 0.

This PR only updates the documentation and unifies the naming. As such,
it is NFC.

A follow-up PR will generalize and unify the implementation to support,
for example, dynamically shaped destination tensors — a requirement for
enabling scalable vectorization of `linalg.pack` and `linalg.unpack`.


  Commit: 9ab2dea61eee82faae8b85c99e889026e8b4f2c1
      https://github.com/llvm/llvm-project/commit/9ab2dea61eee82faae8b85c99e889026e8b4f2c1
  Author: Asher Mancinelli <ashermancinelli at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Math/Transforms/AlgebraicSimplification.cpp
    M mlir/test/Dialect/Math/algebraic-simplification.mlir

  Log Message:
  -----------
  [mlir][math] powi with negative exponent should invert at the end (#135735)

Previously, an FPowI operation would invert the base *before* performing
a sequence of multiplications, but this led to discrepancies between
LLVM pow intrinsic folding and that coming from the math dialect.

See compiler-rt's version, which does the inverse at the end of the
calculation: compiler-rt/lib/builtins/powidf2.c


  Commit: bcfc9f452983f9b0b14f2cda8f4d212a0821c972
      https://github.com/llvm/llvm-project/commit/bcfc9f452983f9b0b14f2cda8f4d212a0821c972
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll
    A llvm/test/Transforms/SLPVectorizer/X86/revec-reduced-value-vectorized-later.ll

  Log Message:
  -----------
  [SLP][REVEC] VectorValuesAndScales should be supported by REVEC. (#135762)

We should align REVEC with the SLP algorithm as closely as possible. For
example, by applying REVEC-specific handling when calling IRBuilder's
Create methods, performing cost analysis via TTI, and expanding shuffle
masks using transformScalarShuffleIndicesToVector.

reference commit: 3b18d47ecbaba4e519ebf0d1bc134a404a56a9da


  Commit: 637f352c3edc207f6f79c16f4760d218904fb9f7
      https://github.com/llvm/llvm-project/commit/637f352c3edc207f6f79c16f4760d218904fb9f7
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/cmp.ll
    M llvm/test/Analysis/CostModel/AArch64/vector-select.ll

  Log Message:
  -----------
  [NFC][CostModel][AArch64] Add bf16 coverage for compare tests.


  Commit: d0e4af8a88dc7a0377677000d0c92104ff215347
      https://github.com/llvm/llvm-project/commit/d0e4af8a88dc7a0377677000d0c92104ff215347
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaCast.cpp
    A clang/test/Sema/warn-cast-function-type-win.c

  Log Message:
  -----------
  Silence -Wcast-function-type warnings on idiomatic Windows code (#135660)

On Windows, GetProcAddress() is the API used to dynamically load
function pointers (similar to dlsym on Linux). This API returns a
function pointer (a typedef named FARPROC), which means that casting
from the call to the eventual correct type is technically a function
type mismatch on the cast. However, because this is idiomatic code on
Windows, we should accept it unless -Wcast-function-type-strict is
passed.

This was brought up in post-commit review feedback on
https://github.com/llvm/llvm-project/pull/86131


  Commit: 88b6229dc3f65876b3f627616a024cd5dbcadcb0
      https://github.com/llvm/llvm-project/commit/88b6229dc3f65876b3f627616a024cd5dbcadcb0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [TableGen] Remove unhelpful error messages from PseudoLoweringEmitter. (#135747)

All of the notes using the location of ResultInst will just print the
location inside of the PseudoInstExpansion class.

There was one note using the location of DI->getDef(), but knowing where
one of the two mismatched types is defined isn't helpful. The operand
types need to be the same, so the mismatch message we already printed
should be enough.


  Commit: 7b5a459611212b650e863c0ad6a9fa49c07e29df
      https://github.com/llvm/llvm-project/commit/7b5a459611212b650e863c0ad6a9fa49c07e29df
  Author: Paul Bowen-Huggett <paulhuggett at mac.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
    M llvm/test/MC/RISCV/target-abi-invalid.s

  Log Message:
  -----------
  [RISCV] Just reporting an error shouldn't generate a crash diagnostic (#134040)

Wanting to examine some of generated code, I tried MCA with the command:
~~~bash
llvm-mca -mtriple=riscv32-unknown-unknown -mcpu=rocket -iterations=300
core_list_join.s
~~~
I was greeted with the following error message:
~~~
LLVM ERROR: RV32 target requires an RV32 CPU
PLEASE submit a bug report to
https://github.com/llvm/llvm-project/issues/ and include the crash
backtrace.
Stack dump:
…
~~~
On beginning to investigate the “bug”, I discovered that the code was
simply attempting to report a user error. It used report_fatal_error()
to do so but with the “bool GenCrashDiag” argument enabled (the
default). This tiny change adds a wrapper function which calls
report_fatal_error() as before but with GenCrashDiag disabled.


  Commit: a399c6926a8701083c767cbb041e22ff92e9d717
      https://github.com/llvm/llvm-project/commit/a399c6926a8701083c767cbb041e22ff92e9d717
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    M .ci/monolithic-linux.sh
    M lldb/test/requirements.txt

  Log Message:
  -----------
  [CI] monolithic-linux improvements (#135499)

Some improvements to monolithic-linux CI:

1) Add correct configuration and dependencies for LLDB testing which
   is actually relevant for clang changes.
2) Skip clang installation and separate configuration for runtimes.
   They will be built with the just built clang either way.
   This avoids building the runtimes twice when LLDB is also tested.
3) Make sure any generated clang reproducers end up as artifacts.
4) Set up llvm-symbolizer environment variable so that its preferred
over
any symbolizer just built, as it can be much slower when built for
debugging.
5) Add all projects as dependencies of `.ci`, to make sure everything is
   tested when it changes.


  Commit: 289baf1f42c8b5773271b611cd235d4ab94bb4e8
      https://github.com/llvm/llvm-project/commit/289baf1f42c8b5773271b611cd235d4ab94bb4e8
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/Expr.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp

  Log Message:
  -----------
  [clang][AST] Handle implicit first argument in CallExpr::getBeginLoc() (#135757)

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


  Commit: d41e517748e2dbb51e27bed217f3dd7a4c4fb86f
      https://github.com/llvm/llvm-project/commit/d41e517748e2dbb51e27bed217f3dd7a4c4fb86f
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    A llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
    M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
    A llvm/test/Transforms/SLPVectorizer/bbi-106161.ll
    A llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll

  Log Message:
  -----------
  [SLP] Make getSameOpcode support interchangeable instructions. (#135797)

We use the term "interchangeable instructions" to refer to different
operators that have the same meaning (e.g., `add x, 0` is equivalent to
`mul x, 1`).
Non-constant values are not supported, as they may incur high costs with
little benefit.

---------

Co-authored-by: Alexey Bataev <a.bataev at gmx.com>


  Commit: c8121b99a99fe1785add732aa062039b7c5fdd32
      https://github.com/llvm/llvm-project/commit/c8121b99a99fe1785add732aa062039b7c5fdd32
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/test/MC/RISCV/xqcilb-invalid.s
    M llvm/test/MC/RISCV/xqcilb-relocations.s

  Log Message:
  -----------
  [RISCV] Xqcilb: remove RISCVMCExpr::VK_QC_E_JUMP_PLT and drop `@plt` parsing

Follow-up to the just landed #135044 . Remove `@plt` parsing (only
needed by legacy `call foo at plt`). MCParser's `@` parsing is problematic.
Supporting target variations like (`foo+2 at plt foo at plt+2 (foo+2)@plt`)
involves messy hacks. We should refrain from adding new `@` uses.

Remove unneeded `RISCVMCExpr::VK_QC_E_JUMP_PLT` (should only be used
when an instruction might have multiple reasonable relocations
https://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers).

---

GCC's initial initial RISC-V port made a mistake by having both `call
foo` (non-PIC) and `call foo at plt` (PIC), likely misled by x86/SystemZ.
It was determined that the `@plt` was not needed. Since R_RISCV_CALL had
questionable undefined weak semantics in GNU ld (which has been removed
then), we kept R_RISCV_CALL_PLT and deprecated R_RISCV_CALL.

For RISC-V instructions, we only keep `@` in call/jump for backward
compatibility and discourage it for all other instructions.

(
There is disagreement about whether `PLT` in `JUMP_PLT` is useful or
misleading.
MaskRay's opnion: For new branch relocations with procedure call
semantics, use `_CALL` and avoid `_PLT` in the relocation name.
`_PLT` should only be used in data directives (e.g. R_RISCV_PLT32) to
indicate that the address of a function is not significant.
)

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


  Commit: 98534eee847dfa80ff88b213a628a6149f8754d9
      https://github.com/llvm/llvm-project/commit/98534eee847dfa80ff88b213a628a6149f8754d9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp

  Log Message:
  -----------
  [mlir] Migrate away from PointerUnion::dyn_cast (NFC) (#135770)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we have a call to dyn_cast earlier in the function, implying
that attrOrProp is nonnull.


  Commit: ece10a64cb180ba931b60cbd939d80412973eada
      https://github.com/llvm/llvm-project/commit/ece10a64cb180ba931b60cbd939d80412973eada
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/Sema/attr-decl-after-definition-std.c

  Log Message:
  -----------
  Allow some attributes on declarations after definitions (#135791)

The deprecated, maybe_unused, and nodiscard standard attributes may all
be applied to a redeclaration after a definition has already appeared.
We were previously dropping the attribute in that case, now we retain
the attribute after the redeclaration.

Note: someday we may want to tablegen this as part of information from
Attr.td. We may also want to relax the restriction here so that the
syntax used does not matter. This is an intentionally conservative fix.

Fixes #135481


  Commit: a9553990fb6de8b4d99d05c95fe949deef6357e1
      https://github.com/llvm/llvm-project/commit/a9553990fb6de8b4d99d05c95fe949deef6357e1
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test
    R llvm/test/tools/dsymutil/Inputs/private/tmp/stmt_seq/stmt_seq_macho.exe
    R llvm/test/tools/dsymutil/Inputs/private/tmp/stmt_seq/stmt_seq_macho.o

  Log Message:
  -----------
  [DWARFLinker] Update `stmt-seq-macho.test` to use `update_test_body.py` (#133363)

In this change we update DWARFLinker test
`llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test` to be self-contained
and easy to regenerate via `update_test_body.py`. As relating to [this
comment](https://github.com/llvm/llvm-project/pull/132875/files#r2012471834)
- this would be approach nr.2

Updating the test can be done via:
```
PATH=/path/to/llvm/bin:$PATH llvm/utils/update_test_body.py llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test
```


  Commit: 40050888a11a92a2fbf4da5dda5956ca9ecb6b55
      https://github.com/llvm/llvm-project/commit/40050888a11a92a2fbf4da5dda5956ca9ecb6b55
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp

  Log Message:
  -----------
  [clang][depscan] Centralize logic for populating StableDirs, NFC (#135704)

Pass a reference to `StableDirs` when creating ModuleDepCollector. This
avoids needing to create one from the same ScanInstance for each call to
`handleTopLevelModule` & reduces the amount of potential downstream
changes needed for handling StableDirs.


  Commit: 3192ecfa89a48b5f56ff36956abe7e84327ced5d
      https://github.com/llvm/llvm-project/commit/3192ecfa89a48b5f56ff36956abe7e84327ced5d
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/test/CodeCompletion/member-access.c

  Log Message:
  -----------
  [CodeComplete] Don't drop ArrayToPointerDecay when doing member completion (#134951)

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

rdar://138851576


  Commit: 1545f1139127b92be15fcd2964114028a2d07194
      https://github.com/llvm/llvm-project/commit/1545f1139127b92be15fcd2964114028a2d07194
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h

  Log Message:
  -----------
  [NFC][NVPTX] Use StringRef for Modifier arg in NVPTXInstPrinter (#135793)

- Use StringRef type for Modifier instead of const char *.
- Remove Modifier arg from functions that do not need them.


  Commit: 68383fc20880f2d6ec6618d8870cd89e727bdc19
      https://github.com/llvm/llvm-project/commit/68383fc20880f2d6ec6618d8870cd89e727bdc19
  Author: Nicolas van Kempen <nvankemp at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-algorithm.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/trivially-destructible.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/type-promotion-in-math-fn.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/delete-null-pointer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp

  Log Message:
  -----------
  [NFC][clang-tidy] Remove {{^}} clauses in some tests (1/N) (#134737)

`check_clang_tidy` now matches full lines only, so `{{^}}` clauses are
no longer necessary.

I am splitting those changes over multiple PRs to make review easier.
Numbering them but the actual order doesn't matter.


  Commit: 7a41761407c485d18b7d48232b308556b3b43934
      https://github.com/llvm/llvm-project/commit/7a41761407c485d18b7d48232b308556b3b43934
  Author: Wanyi <wanyi at meta.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/source/API/SBProcess.cpp
    M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h

  Log Message:
  -----------
  [lldb] Make SBProcess thread related actions listen to StopLocker (#134339)

# Summary

This PR updates `SBProcess::GetNumThreads()` and
`SBProcess::GetThreadAtIndex()` to listen to the stop locker.
`SBProcess::GetNumThreads()` will return 0 if the process is running.

## Problem Description

Recently upon debugging a program with thousands of threads in VS Code,
lldb-dap would hang at a `threads` request sent right after receiving
the `configurationDone` response. Soon after it will end the debug
session with the following error
```
Process <pid> exited with status = -1 (0xffffffff) lost connection
```

This is because LLDB is still in the middle of resuming all the threads.
And requesting threads will end up interrupt the process on Linux. From
the gdb-remote log it ended up getting `lldb::StateType::eStateInvalid`
and just exit with status -1.

I don't think it's reasonable to allow getting threads from a running
process. There are a few approaches to fix this:
1) Send the stopped event to IDE after `configurationDone`. This aligns
with the CLI behavior.
2) However, the above approach will break the existing user facing
behavior. The alternative will be reject the `threads` request if the
process is not stopped.
3) Improve the run lock. This is a synchronize issue where process was
in the middle of resuming while lldb-dap attempts to interrupt it.

**This PR implements the option 3**

## HOWEVER

This fixed the "lost connection" issue below but new issue has surfaced.
>From testing, and also from checking the [VSCode source
code](https://github.com/microsoft/vscode/blob/174af221c9ea2ccdb64abe4aab8e1a805e77beae/src/vs/workbench/contrib/debug/browser/debugSession.ts#L791),
it expects having threadID to perform `pause`. So after attaching,
without any threads reported to the client, the user will not be able to
pause the attached process. `setBreakpoint` will still work and once we
make a stop at the bp (or any stop that will report threads, client can
perform pause again.

## NEXT
1) Made an attempt to return initial thread list so that VSCode can
pause (second commit in the PR)
2) Investigate why threads will trigger unwinding the second frame of a
thread, which leads to sending the interrupt
3) Decided if we want to support `stopOnEntry` for attaching, given
  i. This is not an official specification
ii. If enable stopOnEntry, we need to fix attaching on Linux, to send
only one stopped event. Currently, all threads upon attaching will have
stop reason `SIGSTOP` and lldb-dap will send `stopped` event for each
one of them. Every `stopped` will trigger the client request for
threads.
iii. Alternatively, we can support auto continue correspond to `(lldb)
process attach --continue`. This require the ii above.


### Additionally

lldb-dap will not send a `continued` event after `configurationDone`
because it checks `dap.focus_tid == LLDB_INVALID_THREAD_ID` (so that we
don't send it for `launch` request). Notice `dap.focus_tid` will only
get assigned when handling stop or stepping.

According to DAP

> Please note: a debug adapter is not expected to send this event in
response to a request that implies that execution continues, e.g. launch
or continue.
It is only necessary to send a continued event if there was no previous
request that implied this.

So I guess we are not violating DAP if we don't send `continued` event.
But I'd like to get some sense about this.


## Test Plan
Used following program for testing:
https://gist.github.com/kusmour/1729d2e07b7b1063897db77de194e47d
**NOTE: Utilize stdin to get pid and attach AFTER hitting enter. Attach
should happen when all the threads start running.**

DAP messages before the change
<img width="1165" alt="image"
src="https://github.com/user-attachments/assets/a9ad85fb-81ce-419c-95e5-612639905c66"
/>

DAP message after the change - report zero threads after attaching
<img width="1165" alt="image"
src="https://github.com/user-attachments/assets/a1179e18-6844-437a-938c-0383702294cd"
/>

---------

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>


  Commit: 9b13d345303d819bb83de7ebbeb826d704add0bc
      https://github.com/llvm/llvm-project/commit/9b13d345303d819bb83de7ebbeb826d704add0bc
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [libc][bazel] Remove a no-op libc_internal_target macro. (#135818)

This macro is a no-op after 90c001ac9e1d92a1a95d191d1640ab5337a937e5:
libc_function macro now produce a "regular" cc_library target, without
modifying its name, and this target is intended to only be used in
tests.

Thus, libc_internal_target macro is no longer needed, and we can safely
treat libc_function rules and libc_support_library rules identically for
test purposes.

`libc_function_deps` attribute of a `libc_test` macro can also be
cleaned up, but I plan to do this in a subsequent change.


  Commit: 3b9103044361094a8fde16a877f2e8cb0f96ce24
      https://github.com/llvm/llvm-project/commit/3b9103044361094a8fde16a877f2e8cb0f96ce24
  Author: Andrew Rogers <andrurogerz at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A llvm/docs/InterfaceExportAnnotations.rst
    M llvm/docs/Reference.rst

  Log Message:
  -----------
  [llvm] add documentation for public interface annotations (LLVM_ABI, etc)

## Purpose
Add documentation for the existing family of `LLVM_ABI` annotation
macros defined in llvm/Support/Compiler.h. These annotations are used to
describe LLVM's public interface.

## Background
This documentation is in support of the annotation effort described
[here](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307/).

## Validation
Manually inspected rendered ReST document on GitHub.

Co-authored-by: Saleem Abdulrasool <compnerd at compnerd.org>


  Commit: 30d13e359190f7a0e2122292ec4a4fc1a6c71acc
      https://github.com/llvm/llvm-project/commit/30d13e359190f7a0e2122292ec4a4fc1a6c71acc
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/test/CIR/CodeGen/array.cpp

  Log Message:
  -----------
  [CIR] Upstream ArraySubscriptExpr from function parameter with pointer base (#135493)

This change adds an ArraySubscriptExpr from the function parameter with
base type as Pointer

Issue https://github.com/llvm/llvm-project/issues/130197


  Commit: 3f58ff20fe540fbbc2e5bfea1606f8cdc00d4157
      https://github.com/llvm/llvm-project/commit/3f58ff20fe540fbbc2e5bfea1606f8cdc00d4157
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    R llvm/test/CodeGen/AArch64/ptrauth-pseudo-instructions.mir

  Log Message:
  -----------
  AArch64: Remove the PAUTH_BLEND pseudo-instruction.

It can be represented using a regular MOVK instruction
which also has the advantage of sometimes being selectable
without a preceding MOV.

Reviewers: ahmedbougacha, asl, atrosinenko

Reviewed By: atrosinenko

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


  Commit: a5aa0c46c3274eaf25dde4d792a1abd6191cccf9
      https://github.com/llvm/llvm-project/commit/a5aa0c46c3274eaf25dde4d792a1abd6191cccf9
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ControlFlowIntegrity.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/CodeGen/unique-source-file-names.c
    A clang/test/Driver/unique-source-file-names.c
    M llvm/lib/Transforms/Utils/ModuleUtils.cpp
    A llvm/test/Transforms/ThinLTOBitcodeWriter/unique-source-file-names.ll

  Log Message:
  -----------
  Introduce -funique-source-file-names flag.

The purpose of this flag is to allow the compiler to assume that each
object file passed to the linker has been compiled using a unique
source file name. This is useful for reducing link times when doing
ThinLTO in combination with whole-program devirtualization or CFI,
as it allows modules without exported symbols to be built with ThinLTO.

Reviewers: vitalybuka, teresajohnson

Reviewed By: teresajohnson

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


  Commit: d0c973a7a0149db3b71767d4c5a20a31e6a8ed5b
      https://github.com/llvm/llvm-project/commit/d0c973a7a0149db3b71767d4c5a20a31e6a8ed5b
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Stack.h
    M clang/lib/Basic/Stack.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M llvm/include/llvm/Support/CrashRecoveryContext.h
    A llvm/include/llvm/Support/ProgramStack.h
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/CrashRecoveryContext.cpp
    A llvm/lib/Support/ProgramStack.cpp
    M llvm/unittests/Support/CMakeLists.txt
    A llvm/unittests/Support/ProgramStackTest.cpp

  Log Message:
  -----------
  [llvm][clang] Allocate a new stack instead of spawning a new thread to get more stack space (#133173)

Clang spawns a new thread to avoid running out of stack space. This can
make debugging and performance analysis more difficult as how the
threads are connected is difficult to recover.

This patch introduces `runOnNewStack` and applies it in Clang. On
platforms that have good support for it this allocates a new stack and
moves to it using assembly. Doing split stacks like this actually runs
on most platforms, but many debuggers and unwinders reject the large or
backwards stack offsets that occur. Apple platforms and tools are known
to support this, so this only enables it there for now.


  Commit: 429a84f8a4bf559f43f50072747ef49d3e3b2cf1
      https://github.com/llvm/llvm-project/commit/429a84f8a4bf559f43f50072747ef49d3e3b2cf1
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [clang] Fix ambiguity in `runOnNewStack`


  Commit: 227f4066befadf0d10eddb39947e35dbf820b1bb
      https://github.com/llvm/llvm-project/commit/227f4066befadf0d10eddb39947e35dbf820b1bb
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

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


  Commit: 13615f7b506a693783764da87dc80e97cf59b95c
      https://github.com/llvm/llvm-project/commit/13615f7b506a693783764da87dc80e97cf59b95c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/openacc-parsers.cpp
    M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
    M llvm/include/llvm/Frontend/OpenACC/ACC.td

  Log Message:
  -----------
  [flang][openacc] Allow if clause on atomic directives (#135451)

The new version of the OpenACC specification will allow the if clause on
the atomic directives. Allow it in `ACC.td` and update the parse node
and parser in flang to support it.

OpenACC dialect will need to be updated to support it as well.


  Commit: 8f25e43055058a6a16bf44573feb37a9ce51dc1a
      https://github.com/llvm/llvm-project/commit/8f25e43055058a6a16bf44573feb37a9ce51dc1a
  Author: AdityaK <hiraditya at msn.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/IR/BuiltinAttributes.cpp

  Log Message:
  -----------
  [NFC] Rename hasSameElementsOrSplat to hasSameNumElementsOrSplat (#133183)

Makes it less confusing as this function only matches the number of
elements


  Commit: 9a1ece26126363c64c67d9a6e357076e814acf9e
      https://github.com/llvm/llvm-project/commit/9a1ece26126363c64c67d9a6e357076e814acf9e
  Author: marius doerner <marius.doerner1 at icloud.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/test/Preprocessor/embed___has_embed.c
    M clang/test/Preprocessor/has_attribute.c
    M clang/test/Preprocessor/has_attribute.cpp
    M clang/test/Preprocessor/has_c_attribute.c
    M clang/test/Preprocessor/has_include.c
    A clang/test/Preprocessor/pr133574.c

  Log Message:
  -----------
  [clang] Clear `NeedsCleaning` flag after `ExpandBuiltinMacro` (#133574)

After builtin macro expansion in `Preprocessor::ExpandBuiltinMacro` the
result token may have the `Token::NeedsCleaning` flag set which causes
an assertion failure later on when the lexer retrieves the spelling of
the token in `getSpellingSlow`.

This commit adds an `Tok.clearFlag(Token::NeedsCleaning)` call to the
end of `ExpandBuiltinMacro`.

Closes #128384


  Commit: b581bd3429b28420ff473f700fe96c18127a475d
      https://github.com/llvm/llvm-project/commit/b581bd3429b28420ff473f700fe96c18127a475d
  Author: Scott Manley <rscottmanley at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-private.f90

  Log Message:
  -----------
  [flang][OpenACC] use correct type when create private box init recipe (#135698)

The recipe for initializing private box types was incorrect because
hlfir::createTempFromMold() is not a suitable utility function when the
box element type is a trivial type.


  Commit: bd9c5112c750f07df2886562b227d9e2aeb338c8
      https://github.com/llvm/llvm-project/commit/bd9c5112c750f07df2886562b227d9e2aeb338c8
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/invalid.mlir
    A mlir/test/Dialect/Tosa/verifier.mlir

  Log Message:
  -----------
  [mlir][tosa] Add error_if checks for Transpose (#135219)

This adds missing error_if checking for Transpose Op 
also moved all transpose op's verifier tests from
invalid.mlir to verifier.mlir

Signed-off-by: Tai Ly <tai.ly at arm.com>


  Commit: 96064e1b516aba4d7cbea2ab183b20b19b7eea86
      https://github.com/llvm/llvm-project/commit/96064e1b516aba4d7cbea2ab183b20b19b7eea86
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Dialect/Tosa/dynamic_extension.mlir
    M mlir/test/Dialect/Tosa/error_if_check.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir

  Log Message:
  -----------
  [mlir][tosa] Add table size check for Table Op (#135262)

Add table size check for Table Op
and add lit tests to error_if_check.mlir
also corrected some existing tests that violated the table size checks

Signed-off-by: Tai Ly <tai.ly at arm.com>


  Commit: 4f64c80d5a23c244f942193e58ecac666c173308
      https://github.com/llvm/llvm-project/commit/4f64c80d5a23c244f942193e58ecac666c173308
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [llvm] Add missing include for !LLVM_ENABLE_THREADS

thread.h used report_fatal_error without including ErrorHandling.h


  Commit: e6e56f5b6a80c6ce55630d6075475cb363afb149
      https://github.com/llvm/llvm-project/commit/e6e56f5b6a80c6ce55630d6075475cb363afb149
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/test/Transforms/MemProfContextDisambiguation/inlined2.ll

  Log Message:
  -----------
  [MemProf] Handle recursion during stack node update (#135837)

If we are replacing a sequence of stack nodes with a single node
representing inlined IR, and the stack id sequence contains recursion,
we may have already removed some edges. Handle this case correctly by
skipping the now removed edge.


  Commit: a3283a92aea147e89d9d404fa7c8500223c7c22a
      https://github.com/llvm/llvm-project/commit/a3283a92aea147e89d9d404fa7c8500223c7c22a
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/PointerAuthentication.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    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/Basic/Features.def
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/ast-dump-ptrauth-json.cpp
    A clang/test/CodeGen/ptrauth-debuginfo.c
    A clang/test/CodeGen/ptrauth-qualifier-const-init.c
    A clang/test/CodeGen/ptrauth-qualifier-function.c
    A clang/test/CodeGen/ptrauth-qualifier-loadstore.c
    A clang/test/CodeGenCXX/mangle-itanium-ptrauth.cpp
    A clang/test/CodeGenCXX/mangle-ms-ptrauth.cpp
    A clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
    A clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
    A clang/test/Parser/ptrauth-qualifier.c
    A clang/test/Preprocessor/ptrauth_extension.c
    A clang/test/Sema/ptrauth-atomic-ops.c
    A clang/test/Sema/ptrauth-qualifier.c
    A clang/test/SemaCXX/ptrauth-qualifier.cpp
    A clang/test/SemaCXX/ptrauth-template-parameters.cpp
    A clang/test/SemaObjC/ptrauth-qualifier.m
    M libcxxabi/test/test_demangle.pass.cpp
    M llvm/include/llvm/Demangle/MicrosoftDemangle.h
    M llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
    M llvm/lib/Demangle/MicrosoftDemangle.cpp
    M llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
    A llvm/test/Demangle/ms-ptrauth.test

  Log Message:
  -----------
  [PAC] Add support for __ptrauth type qualifier (#100830)

The qualifier allows programmer to directly control how pointers are
signed when they are stored in a particular variable.

The qualifier takes three arguments: the signing key, a flag specifying
whether address discrimination should be used, and a non-negative
integer that is used for additional discrimination.

```
typedef void (*my_callback)(const void*);
my_callback __ptrauth(ptrauth_key_process_dependent_code, 1, 0xe27a) callback;
```

Co-Authored-By: John McCall rjmccall at apple.com


  Commit: a1d52fcdca8bda4fe8c6652b2de83f408f4ad4f2
      https://github.com/llvm/llvm-project/commit/a1d52fcdca8bda4fe8c6652b2de83f408f4ad4f2
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/UsersManual.rst

  Log Message:
  -----------
  Clarify documentation for -funique-source-file-names.



Reviewers: efriedma-quic, teresajohnson

Reviewed By: teresajohnson, efriedma-quic

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


  Commit: 2271f0bebd48c9ed8b16b500886a819c4f269a6a
      https://github.com/llvm/llvm-project/commit/2271f0bebd48c9ed8b16b500886a819c4f269a6a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/split-node-full-match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll

  Log Message:
  -----------
  [SLP]Check for perfect/shuffled match for the split node

If the potential split node is a perfect/shuffled match of another split
node, need to skip creation of the another split node with the same
scalars, it should be a buildvector.

Fixes #135800


  Commit: 823adc7a2dc90cdd0f953f3dc9684481368f2b62
      https://github.com/llvm/llvm-project/commit/823adc7a2dc90cdd0f953f3dc9684481368f2b62
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryFunction.cpp
    A bolt/test/AArch64/validate-secondary-entry-point.s
    A bolt/test/RISCV/validate-secondary-entry-point.s

  Log Message:
  -----------
  [BOLT] Validate secondary entry point (#135731)

Some functions have their sizes as zero in input binary's symbol
table, like those compiled by assembler. When figuring out function
sizes, we may create label symbol if it doesn't point to any constant
island. However, before function size is known, marker symbol can
not be correctly associated to a function and therefore all such
checks would fail and we could end up adding a code label pointing
to constant island as secondary entry point and later mistakenly
marking the function as not simple.

Querying the global marker symbol array has big throughput overhead.
Instead we can run an extra check when post processing entry points
to identify such label symbols that actually point to constant islands.


  Commit: 14cb6566d6701feaef2ffd686af5de4ff9e3eb29
      https://github.com/llvm/llvm-project/commit/14cb6566d6701feaef2ffd686af5de4ff9e3eb29
  Author: John Harrison <harjohn at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp

  Log Message:
  -----------
  [lldb-dap] Improve error reporting for dap command arguments. (#135684)

Previously the error only contained the failed to parse JSON message,
which has no additional context.

This improves the error messages and improves the consistency of
handling properties in protocol structures. Updating the fields to use
'ObjectMapper.map' instead of 'ObjectMapper.mapOptional' caught that
adapterID was misspelled as well.

For example, previously:

```
$ echo 'Content-Length: 81\r\n\r\n{"type":"request","command":"initialize","seq":1,"arguments":{"adapterID":12345}} | lldb-dap
```

Worked without an error but now it reports:

```
invalid arguments for request 'initialize': expected string at arguments.adapterID
{
  "adapterID": /* error: expected string */ 12345
}
```


  Commit: 85eb44e304e0a0a7da78448ceee60fdfec235edb
      https://github.com/llvm/llvm-project/commit/85eb44e304e0a0a7da78448ceee60fdfec235edb
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/split-node-num-operands.ll

  Log Message:
  -----------
  [SLP]Fix number of operands for the split node

FOr the split node number of operands should be requested via
getNumOperands() function, even if the main op is CallInst.


  Commit: 2b983a24583dd4e131d727717872a56712b5dd52
      https://github.com/llvm/llvm-project/commit/2b983a24583dd4e131d727717872a56712b5dd52
  Author: Zhuoran Yin <zhuoryin at amd.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
    M mlir/lib/Dialect/AMDGPU/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
    M mlir/test/Dialect/AMDGPU/transfer-read-to-load.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [MLIR][AMDGPU] Adding dynamic size check to avoid subword buffer load (#135014)

Motivation: amdgpu buffer load instruction will return all zeros when
loading sub-word values. For example, assuming the buffer size is
exactly one word and we attempt to invoke
`llvm.amdgcn.raw.ptr.buffer.load.v2i32` starting from byte 2 of the
word, we will not receive the actual value of the buffer but all zeros
for the first word. This is because the boundary has been crossed for
the first word.

This PR come up with a fix to this problem, such that, it creates a
bounds check against the buffer load instruction. It will compare the
offset + vector size to see if the upper bound of the address will
exceed the buffer size. If it does, masked transfer read will be
optimized to `vector.load` + `arith.select`, else, it will continue to
fall back to default lowering of the masked vector load.


  Commit: f83c5fe01fbee0f53ecf69d887e7a7b054f2a9ae
      https://github.com/llvm/llvm-project/commit/f83c5fe01fbee0f53ecf69d887e7a7b054f2a9ae
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CFG.h
    M llvm/lib/Analysis/CFG.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp

  Log Message:
  -----------
  [nfc] Expose `canReturn` from FunctionAttrs (#135650)

This is a fairly light-weight traversal and is needed in instrumentation. No need to run the whole `FunctionAttrs` pass at this stage. To avoid layering issues, this patch factors `canRun` and related under Analysis/CFG.


  Commit: 12697c5516f8a9e4407e01d99324ce6958910184
      https://github.com/llvm/llvm-project/commit/12697c5516f8a9e4407e01d99324ce6958910184
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    A llvm/test/CodeGen/AArch64/pr135776.ll

  Log Message:
  -----------
  [LegalizeTypes] Check getTypeAction before calling GetScalarizedVector. (#135838)

Use getTypeAction instead of trying to guess how a type will be
legalized. On AArch64, v1f16 is scalarized but v1f16 is widened.

Fixes #135776


  Commit: ddb12674300eb1af5e6945b5447e7bff7cff4cd8
      https://github.com/llvm/llvm-project/commit/ddb12674300eb1af5e6945b5447e7bff7cff4cd8
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/landing-pad-for-split-node.ll

  Log Message:
  -----------
  [SLP]Insert vector instruction after landingpad

If the node must be emitted in the landingpad block, need to insert the
instructions after the landingpad instruction to avoid a crash.

Fixes #135781


  Commit: 0f3e460e06e03ce37445546457a16d6f1eee1e21
      https://github.com/llvm/llvm-project/commit/0f3e460e06e03ce37445546457a16d6f1eee1e21
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
    M mlir/test/Dialect/Tensor/bubble-reshapes.mlir

  Log Message:
  -----------
  [mlir][Tensor] Generalize the pattern to swap `tensor.collapse_shape` -> `tensor.expand_shape`. (#133819)

The current patterns compared the reassocation indices for the two ops
and failed if neither of them were of size 1. This patch relaxes this
restriction by handling a new case where the reassociation indices might
be of the same size.

Also generalizes to cases where when generating the swapped
`tensor.expand_shape` -> `tensor.collapse_shape` if one of them is
degenerate, those are not generated.

Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>


  Commit: d30a5b41fe72a1dd83714d3e21fd539b91e63c8c
      https://github.com/llvm/llvm-project/commit/d30a5b41fe72a1dd83714d3e21fd539b91e63c8c
  Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXMips.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/test/CodeGen/RISCV/select-and.ll
    M llvm/test/CodeGen/RISCV/select-bare.ll
    M llvm/test/CodeGen/RISCV/select-cc.ll
    M llvm/test/CodeGen/RISCV/select-or.ll
    M llvm/test/MC/RISCV/xmips-invalid.s
    M llvm/test/MC/RISCV/xmips-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Fix xmipscmov extension name (#135647)

The right name was used in riscv-toolchain-conventions docs.


  Commit: 9c73eba8aa17cb7ca4248ab1c7f67ea7ec9b50b1
      https://github.com/llvm/llvm-project/commit/9c73eba8aa17cb7ca4248ab1c7f67ea7ec9b50b1
  Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/Sema/attr-capabilities.c
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  Merge similar Clang Thread Safety attributes (#135561)

Some of the old lock-based and new capability-based spellings behave
basically in the same way, so merging them simplifies the code
significantly.

There are two minor functional changes: we only warn (instead of an
error) when the try_acquire_capability attribute is used on something
else than a function. The alternative would have been to produce an
error for the old spelling, but we seem to only warn for all function
attributes, so this is arguably more consistent.

The second change is that we also check the first argument (which is the
value returned for a successful try-acquire) for `this`. But from what I
can tell, this code is defunct anyway at the moment (see #31414).


  Commit: 7cb7b2d39d3b4aa984bfaeaf5e69fbfb074edd41
      https://github.com/llvm/llvm-project/commit/7cb7b2d39d3b4aa984bfaeaf5e69fbfb074edd41
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/utils/release/build_llvm_release.bat

  Log Message:
  -----------
  [llvm] Build Windows release package with clang-cl if possible (#135446)

If `clang-cl.exe` and `lld-link.exe` are installed in `%PATH%`, the
Windows release build script will now use these by default, in place of
MSVC. The reason for doing this is that MSVC still has, for the past
year(s), a O(N^2) behavior when building certain LLVM source files,
which leads to long build times (minutes per file). A report was filled
here:
https://developercommunity.visualstudio.com/t/ON2-in-SparseBitVectorBase-when-com/10657991

Also added a `--force-msvc` option to the script, to use MSVC even if
clang-cl is installed.


  Commit: d0372179fbbcb7b3fa680a78919a980fa4384c46
      https://github.com/llvm/llvm-project/commit/d0372179fbbcb7b3fa680a78919a980fa4384c46
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CFG.h

  Log Message:
  -----------
  [nfc] Add doc comment for `canReturn` in Analysis/CFG.h (#135862)


  Commit: 2d98bdc12c291523c3543ceaf1c526e25dcaedc6
      https://github.com/llvm/llvm-project/commit/2d98bdc12c291523c3543ceaf1c526e25dcaedc6
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Stack.h
    M clang/lib/Basic/Stack.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M llvm/include/llvm/Support/CrashRecoveryContext.h
    R llvm/include/llvm/Support/ProgramStack.h
    M llvm/include/llvm/Support/thread.h
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/CrashRecoveryContext.cpp
    R llvm/lib/Support/ProgramStack.cpp
    M llvm/unittests/Support/CMakeLists.txt
    R llvm/unittests/Support/ProgramStackTest.cpp

  Log Message:
  -----------
  Revert "[llvm][clang] Allocate a new stack instead of spawning a new … (#135865)

…thread to get more stack space (#133173)"

This change breaks the Clang build on Mac AArch64.

This reverts commit d0c973a7a0149db3b71767d4c5a20a31e6a8ed5b. This
reverts commit 429a84f8a4bf559f43f50072747ef49d3e3b2cf1. This reverts
commit 4f64c80d5a23c244f942193e58ecac666c173308.


  Commit: 8ed397d8e4d014ecc5df89a9d908c5808f201b65
      https://github.com/llvm/llvm-project/commit/8ed397d8e4d014ecc5df89a9d908c5808f201b65
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/AArch64/pr135821.ll

  Log Message:
  -----------
  [DAGCombiner] Disable narrowExtractedVectorLoad for indexed loads. (#135847)

The later code does not expect or preserve the index output.

Fixes #135821


  Commit: a6208ce4c15142c26c6b73651bf466ae6b470cb0
      https://github.com/llvm/llvm-project/commit/a6208ce4c15142c26c6b73651bf466ae6b470cb0
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CFG.h
    M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
    M llvm/lib/Analysis/CFG.cpp
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp

  Log Message:
  -----------
  [nfc] move `isPresplitCoroSuspendExitEdge` to Analysis/CFG (#135849)


  Commit: 6e2bca840df9dfcffc5068c1ad0c9575f0c57e76
      https://github.com/llvm/llvm-project/commit/6e2bca840df9dfcffc5068c1ad0c9575f0c57e76
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

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


  Commit: 31f39c83259401a26b3660dd75f645002258571d
      https://github.com/llvm/llvm-project/commit/31f39c83259401a26b3660dd75f645002258571d
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.trig.preop.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
    M llvm/test/CodeGen/AMDGPU/always-uniform.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
    M llvm/test/CodeGen/AMDGPU/amdhsa-trap-num-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-num-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-waves-per-eu.ll
    M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-globalisel.ll
    A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
    A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior2.ll
    M llvm/test/CodeGen/AMDGPU/attributor-noopt.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
    M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
    M llvm/test/CodeGen/AMDGPU/combine-reg-or-const.ll
    M llvm/test/CodeGen/AMDGPU/dagcomb-extract-vec-elt-different-sizes.ll
    M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
    M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
    M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
    M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
    M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
    M llvm/test/CodeGen/AMDGPU/flat-for-global-subtarget-feature.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
    M llvm/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
    M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
    M llvm/test/CodeGen/AMDGPU/half.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-kernel-code-props.ll
    M llvm/test/CodeGen/AMDGPU/hsa.ll
    M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
    M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/invalid-addrspacecast.ll
    M llvm/test/CodeGen/AMDGPU/invalid-cast-load-i1.ll
    M llvm/test/CodeGen/AMDGPU/kernarg-size.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-f64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/load-select-ptr.ll
    M llvm/test/CodeGen/AMDGPU/mad24-get-global-id.ll
    M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
    M llvm/test/CodeGen/AMDGPU/min.ll
    M llvm/test/CodeGen/AMDGPU/pack.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/pack.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/sad.ll
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.v8i16.ll
    M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-no-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/shift-i128.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
    M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
    M llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-any.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-off.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-on.ll
    M llvm/test/CodeGen/AMDGPU/trap-abis.ll
    M llvm/test/CodeGen/AMDGPU/udiv.ll
    M llvm/test/CodeGen/AMDGPU/uint_to_fp.f64.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll

  Log Message:
  -----------
  [AMDGPU] Remove the AnnotateKernelFeatures pass (#130198)

Previously the AnnotateKernelFeatures pass infers two attributes:
amdgpu-calls and amdgpu-stack-objects, which are used to help determine
if flat scratch init is allowed. PR #118907 created the
amdgpu-no-flat-scratch-init attribute. Continuing with that work, this
patch makes use of this attribute to determine flat scratch init,
replacing amdgpu-calls and amdgpu-stack-objects. This also leads to the
removal of the AnnotateKernelFeatures pass.


  Commit: 16980d5463c787a48ffb78fd9bbe3d9d32757f34
      https://github.com/llvm/llvm-project/commit/16980d5463c787a48ffb78fd9bbe3d9d32757f34
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    R clang/test/CodeGenCXX/local-class-instantiation.cpp

  Log Message:
  -----------
  Revert "[Clang] Fix dependent local class instantiation bugs" (#135870)

Reverts llvm/llvm-project#134038

This crashes clang as reported here:
https://github.com/llvm/llvm-project/pull/134038#issuecomment-2807092646


  Commit: af63e1b505453de3e6a281d1b72e62fa8d396b23
      https://github.com/llvm/llvm-project/commit/af63e1b505453de3e6a281d1b72e62fa8d396b23
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/parallel.c
    M clang/test/CIR/CodeGenOpenACC/serial.c

  Log Message:
  -----------
  [OpenACC][CIR] Implement 'self' lowering on compute constructs (#135851)

This is our first attempt at lowering a clause that is an 'operand' in
the OpenACC operand, so it does quite a bit of refactoring. My previous
plans on how to emit the clauses was not viable, so we instead do
'create the op, then use the visitor to fill in the operands'. This
resulted in the 'applyAttributes' function getting removed and a few
other functions simplified.

Additionally, it requires setting the insertion point a little to make
sure we're inserting 'around' the operation correctly.

Finally, since the OpenACC dialect only understands the MLIR types, we
had to introduce a use of the unrealized-conversion-cast, which we'll
probably getting good use out of in the future.


  Commit: e4d951d2e42a9124bd87275a864804c4b84b62e3
      https://github.com/llvm/llvm-project/commit/e4d951d2e42a9124bd87275a864804c4b84b62e3
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp

  Log Message:
  -----------
  LowerTypeTests: Fix quadratic complexity.

Currently we have quadratic complexity in LowerTypeTests because
ScopedSaveAliaseesAndUsed loops over all aliases for each disjoint
set, and the number of aliases and number of disjoint sets is
roughly proportional to the program size. Fix that by moving
ScopedSaveAliaseesAndUsed to LowerTypeTestsModule::lower() so that
we do this only once.

Reviewers: fmayer, vitalybuka

Reviewed By: vitalybuka

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


  Commit: 3428cc94c893f9a09728c707baf018b9cdfaf243
      https://github.com/llvm/llvm-project/commit/3428cc94c893f9a09728c707baf018b9cdfaf243
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M flang-rt/lib/runtime/extensions.cpp
    M flang/include/flang/Runtime/extensions.h

  Log Message:
  -----------
  [flang] Implement external routine usage of hostnm() (#134900)

Previously, `hostnm` extended intrinsic was implemented as proper
intrinsic. Since then we found out that some applications use `hostnm`
as external routine via `external hostnm`. This prevents `hostnm` from
being recognized as an intrinsic. This PR implements `hostnm` as
external routine.


  Commit: 58c3fba7063eaca926931a412c329e9ac4deefd6
      https://github.com/llvm/llvm-project/commit/58c3fba7063eaca926931a412c329e9ac4deefd6
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp

  Log Message:
  -----------
  Revert "LowerTypeTests: Fix quadratic complexity."

This reverts commit e4d951d2e42a9124bd87275a864804c4b84b62e3.

Need to investigate some test failures.


  Commit: 860d0383db80ea881e957a5628d04e9d725b919d
      https://github.com/llvm/llvm-project/commit/860d0383db80ea881e957a5628d04e9d725b919d
  Author: Haowei <haowei at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake

  Log Message:
  -----------
  [Fuchsia] Not building llvm-mt when LIBXML2 is not enabled. (#135877)

This patch prevents including the llvm-mt to `LLVM_TOOLCHAIN_TOOLS` in the
Fuchsia toolchain when LIBXML2 is not explicitly enabled.


  Commit: 6ad922b75a41911e0e394d5d367bee1240ad509f
      https://github.com/llvm/llvm-project/commit/6ad922b75a41911e0e394d5d367bee1240ad509f
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/parallel.c
    M clang/test/CIR/CodeGenOpenACC/serial.c

  Log Message:
  -----------
  [OpenACC][CIR] Implement lowering for 'if' on compute constructs

This is the same for these as the 'self' was, except it doesn't support
the 'empty' variant, so we have to just generate the condition.  This
patch does that, and extracts the 'condition' emission to a separate
function since the two share it.


  Commit: 0b8f817aab7a242e0bfb519cb07c8979ffadef36
      https://github.com/llvm/llvm-project/commit/0b8f817aab7a242e0bfb519cb07c8979ffadef36
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M bolt/runtime/hugify.cpp

  Log Message:
  -----------
  [BOLT] Fix conditional compilation of hugify.cpp (#135880)

Fix builds after #117158: do not build hugify.cpp on Apple platforms.


  Commit: bd4d3519c708d70ed8c827a27b63f13b0229ef00
      https://github.com/llvm/llvm-project/commit/bd4d3519c708d70ed8c827a27b63f13b0229ef00
  Author: Camsyn <camsyn at foxmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_report.cpp
    A compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp

  Log Message:
  -----------
  [ASan] Prevent ASan/LSan deadlock by preloading modules before error reporting (#131756)

### Description  
This PR resolves a deadlock between AddressSanitizer (ASan) and
LeakSanitizer (LSan)
that occurs when both sanitizers attempt to acquire locks in conflicting
orders across
threads. The fix ensures safe lock acquisition ordering by preloading
module information
before error reporting.  

---  

### Issue Details  
**Reproducer**
```cpp  
// Thread 1: ASan error path 
int arr[1] = {0};
std::thread t([&]() {  
  arr[1] = 1; // Triggers ASan OOB error  
});  

// Thread 2: LSan check path  
__lsan_do_leak_check();   
```  

**Lock Order Conflict**:  

- Thread 1 (ASan error reporting):  
  1. Acquires ASan thread registry lock (B)  
  1. Attempts to acquire libdl lock (A) via `dl_iterate_phdr`

- Thread 2 (LSan leak check):  
  1. Acquires libdl lock (A) via `dl_iterate_phdr`
  1. Attempts to acquire ASan thread registry lock (B)  
  

This creates a circular wait condition (A -> B -> A) meeting all four
Coffman deadlock criteria.

---  

### Fix Strategy  
The root cause lies in ASan's error reporting path needing
`dl_iterate_phdr` (requiring lock A)
while already holding its thread registry lock (B). The solution:  

1. **Preload Modules Early**: Force module list initialization _before_
acquiring ASan's thread lock
2. **Avoid Nested Locking**: Ensure symbolization (via dl_iterate_phdr)
completes before error reporting locks

Key code change:  
```cpp  
// Before acquiring ASan's thread registry lock:  
Symbolizer::GetOrInit()->GetRefreshedListOfModules();  
```  

This guarantees module information is cached before lock acquisition,
eliminating
the need for `dl_iterate_phdr` calls during error reporting.  

---  

### Testing  
Added **asan_lsan_deadlock.cpp** test case:  
- Reproduces deadlock reliably without fix **under idle system
conditions**
   - Uses watchdog thread to detect hangs  
   - Verifies ASan error reports correctly without deadlock  

**Note**: Due to the inherent non-determinism of thread scheduling and
lock acquisition timing,
this test may not reliably reproduce the deadlock on busy systems (e.g.,
during parallel
   `ninja check-asan` runs).



---  

### Impact  
- Fixes rare but severe deadlocks in mixed ASan+LSan environments  
- Maintains thread safety guarantees for both sanitizers  
- No user-visible behavior changes except deadlock elimination  

---

### Relevant Buggy Code
- Code in ASan's asan_report.cpp
```cpp
  explicit ScopedInErrorReport(bool fatal = false)
      : halt_on_error_(fatal || flags()->halt_on_error) {
    // Acquire lock B
    asanThreadRegistry().Lock();
  }
  ~ScopedInErrorReport() {
    ...
    // Try to acquire lock A under holding lock B via the following path
    // #4  0x000071a353d83e93 in __GI___dl_iterate_phdr (
    //     callback=0x5d1a07a39580 <__sanitizer::dl_iterate_phdr_cb(dl_phdr_info*, unsigned long, void*)>, 
    //     data=0x6da3510fd3f0) at ./elf/dl-iteratephdr.c:39
    // #5  0x00005d1a07a39574 in __sanitizer::ListOfModules::init (this=0x71a353ebc080)
    //     at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:784
    // #6  0x00005d1a07a429e3 in __sanitizer::Symbolizer::RefreshModules (this=0x71a353ebc058)
    //     at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp:188
    // #7  __sanitizer::Symbolizer::FindModuleForAddress (this=this at entry=0x71a353ebc058, 
    //     address=address at entry=102366378805727)
    //     at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp:214
    // #8  0x00005d1a07a4291b in __sanitizer::Symbolizer::SymbolizePC (this=0x71a353ebc058, addr=102366378805727)
    //     at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp:88
    // #9  0x00005d1a07a40df7 in __sanitizer::(anonymous namespace)::StackTraceTextPrinter::ProcessAddressFrames (
    //     this=this at entry=0x6da3510fd520, pc=102366378805727)
    //     at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp:37
    // #10 0x00005d1a07a40d27 in __sanitizer::StackTrace::PrintTo (this=this at entry=0x6da3510fd5e8, 
    //     output=output at entry=0x6da3510fd588)
    //     at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp:110
    // #11 0x00005d1a07a410a1 in __sanitizer::StackTrace::Print (this=0x6da3510fd5e8)
    //     at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp:133
    // #12 0x00005d1a0798758d in __asan::ErrorGeneric::Print (
    //     this=0x5d1a07aa4e08 <__asan::ScopedInErrorReport::current_error_+8>)
    //     at llvm-project/compiler-rt/lib/asan/asan_errors.cpp:617    
    current_error_.Print();
    ... 
  }
```

- Code in LSan's lsan_common_linux.cpp
```cpp
void LockStuffAndStopTheWorld(StopTheWorldCallback callback,
                              CheckForLeaksParam *argument) {
  // Acquire lock A
  dl_iterate_phdr(LockStuffAndStopTheWorldCallback, &param);
}

static int LockStuffAndStopTheWorldCallback(struct dl_phdr_info *info,
                                            size_t size, void *data) {
  // Try to acquire lock B under holding lock A via the following path
  // #3  0x000055555562b34a in __sanitizer::ThreadRegistry::Lock (this=<optimized out>)
  //     at llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_thread_registry.h:99
  // #4  __lsan::LockThreads () at llvm-project/compiler-rt/lib/asan/asan_thread.cpp:484
  // #5  0x0000555555652629 in __lsan::ScopedStopTheWorldLock::ScopedStopTheWorldLock (this=<optimized out>)
  //     at llvm-project/compiler-rt/lib/lsan/lsan_common.h:164
  // #6  __lsan::LockStuffAndStopTheWorldCallback (info=<optimized out>, size=<optimized out>, data=0x0, 
  //     data at entry=0x7fffffffd158) at llvm-project/compiler-rt/lib/lsan/lsan_common_linux.cpp:120
  ScopedStopTheWorldLock lock;
  DoStopTheWorldParam *param = reinterpret_cast<DoStopTheWorldParam *>(data);
  StopTheWorld(param->callback, param->argument);
  return 1;
}
```


  Commit: 77f0708b9d4feee8b8a67a5f571be741be4e26af
      https://github.com/llvm/llvm-project/commit/77f0708b9d4feee8b8a67a5f571be741be4e26af
  Author: Vinay Deshmukh <32487576+vinay-deshmukh at users.noreply.github.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCTestRules.cmake

  Log Message:
  -----------
  [libc]: Remove `-Wglobal-constructors` for libc tests (#131485)

* Relates to: https://github.com/llvm/llvm-project/issues/119281
* Removes `-Wglobal-constructors` as per:
https://github.com/llvm/llvm-project/pull/131485#pullrequestreview-2728020622


  Commit: 6c6ab2a270b799f1397926c9064fa30fe2be1d96
      https://github.com/llvm/llvm-project/commit/6c6ab2a270b799f1397926c9064fa30fe2be1d96
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/fp-maximumnum-minimumnum.ll

  Log Message:
  -----------
  AArch64: Set FMAXIMUMNUM and FMINIMUMNUM as Promote if not fullfp16 (#135708)

Since Promote will emit FP_EXTEND, the result of it will never be sNaN,
so we don't need worry about duplicated of FCANONICALIZE in
expandFMINIMUMNUM_FMAXIMUMNUM.


  Commit: 4c97c5131f9ca32ce644a0be6e3586077ee03aa6
      https://github.com/llvm/llvm-project/commit/4c97c5131f9ca32ce644a0be6e3586077ee03aa6
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    A llvm/test/CodeGen/RISCV/xqcilia.ll

  Log Message:
  -----------
  [RISCV] Add ISel patterns for Xqcilia instructions (#135724)

This patch adds instruction selection patterns for generating the long
immediate arithmetic instructions.

We prefer generating instructions that have a 26 bit immediate to a 32
bit immediate given that both are of the same size but the former might
be easier to register allocate for. Base RISC-V arithmetic instructions
will be preferred, when applicable.


  Commit: 0ce8ad68e44aaf50d1e2aa304fa8a1127e311e1d
      https://github.com/llvm/llvm-project/commit/0ce8ad68e44aaf50d1e2aa304fa8a1127e311e1d
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.h
    M llvm/lib/Target/Sparc/SparcInstrVIS.td
    M llvm/test/CodeGen/SPARC/float-constants.ll

  Log Message:
  -----------
  [SPARC] Use fzero/fzeros to materialize FP zeros when we have VIS



Reviewers: rorth, brad0, s-barannikov

Reviewed By: s-barannikov

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


  Commit: f3de63c64998eb46db9cf26aca9ebcc5453f6f44
      https://github.com/llvm/llvm-project/commit/f3de63c64998eb46db9cf26aca9ebcc5453f6f44
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcInstr64Bit.td
    M llvm/lib/Target/Sparc/SparcInstrVIS.td
    M llvm/test/CodeGen/SPARC/2011-01-11-CC.ll

  Log Message:
  -----------
  [SPARC] Use addxccc to do multiword addition when we have VIS3



Reviewers: brad0, s-barannikov, rorth

Reviewed By: s-barannikov

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


  Commit: e4f2191f568db718ed67defa664f83f763e7e74a
      https://github.com/llvm/llvm-project/commit/e4f2191f568db718ed67defa664f83f763e7e74a
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcInstrVIS.td
    A llvm/test/CodeGen/SPARC/multiply-extension.ll
    M llvm/test/CodeGen/SPARC/smulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/SPARC/umulo-128-legalisation-lowering.ll

  Log Message:
  -----------
  [SPARC] Use umulxhi to do extending 64x64->128 multiply when we have VIS3



Reviewers: s-barannikov, rorth, brad0

Reviewed By: s-barannikov

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


  Commit: 0439a4eca78fa1e3aa45b49ff349c3da4fb02f48
      https://github.com/llvm/llvm-project/commit/0439a4eca78fa1e3aa45b49ff349c3da4fb02f48
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td

  Log Message:
  -----------
  [RISCV] Add new CondCode COND_CV_BEQIMM/COND_CV_BNEIMM for CV immediate branch (#135771)

If there is another branch instruction also with immediate operand, but
it is used to specify which bit to be tested is set or clear. We only
check whether operand2 is immediate or not here. There are no way to
distinguish between them.

So add new CondCode COND_CV_BEQIMM/COND_CV_BNEIMM that we can know what
kinds of immediate branch instruction are matched in Select_* Pseudo.


  Commit: 5e9650ec2deb2f2bb6d5ad28e83bb6cd3c4189e4
      https://github.com/llvm/llvm-project/commit/5e9650ec2deb2f2bb6d5ad28e83bb6cd3c4189e4
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcInstrVIS.td
    R llvm/test/CodeGen/SPARC/multiply-extension.ll
    M llvm/test/CodeGen/SPARC/smulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/SPARC/umulo-128-legalisation-lowering.ll

  Log Message:
  -----------
  Revert "[SPARC] Use umulxhi to do extending 64x64->128 multiply when we have VIS3" (#135897)

This change breaks multiply tests on SPARC.

https://lab.llvm.org/buildbot/#/builders/108/builds/11691/steps/6/logs/FAIL__LLVM__multiply-extension_ll

Reverts llvm/llvm-project#135714


  Commit: bed03ae36600f83f214c41af333f47fe8ead9ede
      https://github.com/llvm/llvm-project/commit/bed03ae36600f83f214c41af333f47fe8ead9ede
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    A llvm/test/CodeGen/X86/apx/ndd-neg-addr-index.ll

  Log Message:
  -----------
  [X86] Fix the issue of creating index reg negations (#135632)

The 8 and 16 bit LEA instruction support was added by PR #122102, and we
have to update creating index register negations accordingly. The issue
is exposed with APX NDD instructions.


  Commit: e676866368a84c88aad90e138268e00a1c56a230
      https://github.com/llvm/llvm-project/commit/e676866368a84c88aad90e138268e00a1c56a230
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h
    M llvm/lib/Target/Mips/MipsCallLowering.cpp
    M llvm/lib/Target/Mips/MipsCallingConv.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    A llvm/test/CodeGen/Mips/vararg.ll

  Log Message:
  -----------
  [Mips] Fix clang crashes when compiling a variadic function while targeting mips3 (#130558)

issue reason:
Because mips3 has the feature 'FeatureGP64Bit', when target mips3
process function `writeVarArgRegs`, the result of `getGPRSizeInBytes` is
8 and the result of `GetVarArgRegs` is `Mips::A0, Mips::A1, Mips::A2,
Mips::A3`. This would generate `gpr64 = COPY $a1` which should be `gpr64
= COPY $a1_64`.

Also when process `CC_Mips_FixedArg`, mips would CCDelegateTo
    `CC_MipsO32_FP`. In fact, it should CCDelegateTo `CC_MipsN`.

Fix #98716.


  Commit: 517605c20e6014543e91d45524a17c443aa11bd4
      https://github.com/llvm/llvm-project/commit/517605c20e6014543e91d45524a17c443aa11bd4
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm

  Log Message:
  -----------
  [alpha.webkit.UnretainedCallArgsChecker] Add the support for RetainPtrArc (#135532)

WebKit uses #define to rename RetainPtr to RetainPtrArc so add the
support for it.


  Commit: 71d091699f956c89135bc165165e815ab7876359
      https://github.com/llvm/llvm-project/commit/71d091699f956c89135bc165165e815ab7876359
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/src/complex/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/inttypes/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/src/stdbit/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/strings/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/unistd/BUILD.bazel

  Log Message:
  -----------
  [libc][bazel] Fold "libc_function_deps" into "deps" for libc_tests. (#135835)

libc_function_deps and deps are now identical, as we no longer need or
have special treatment for libc_function targets. Merge these attributes
passed to the libc_test macro, and fix all relevant libc_test macro
invocations. This change is a no-op.

This concludes cleanup started in
9b13d345303d819bb83de7ebbeb826d704add0bc.


  Commit: a024d13f84dbe7b3d1eee555ddc82cdd1af814e0
      https://github.com/llvm/llvm-project/commit/a024d13f84dbe7b3d1eee555ddc82cdd1af814e0
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/absd.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/absd.ll

  Log Message:
  -----------
  [LoongArch] make ABDS/ABDU legal for lsx/lasx (#134190)


  Commit: b07c88563febdb62b82daad0480d7b6131bc54d4
      https://github.com/llvm/llvm-project/commit/b07c88563febdb62b82daad0480d7b6131bc54d4
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A llvm/include/llvm/Support/InterleavedRange.h
    M llvm/unittests/Support/CMakeLists.txt
    A llvm/unittests/Support/InterleavedRangeTest.cpp

  Log Message:
  -----------
  [Support] Add format object for interleaved ranges (#135517)

Add two new format functions for printing ranges: `interleaved` and
`interleaved_array`.

This is meant to improve the ergonomics of printing ranges. Before this
patch, we have to either use `llvm::interleave` or write a for loop by
hand. For example:

Before:
```c++
ArrayRef<Type> types = ...;
ArrayRef<Values> values = ...;
LLVM_DEBUG({
  llvm::dbgs() << "Types: ";
  llvm::interleave_comma(llvm::dbgs(), types);
  llvm::dbgs() << "\n";
  llvm::dbgs() << "Values: [";
  llvm::interleave_comma(llvm::dbgs(), values);
  llvm::dbgs() << "]\n";
}):
```

After:
```c++
ArrayRef<Type> types = ...;
ArrayRef<Values> values = ...;
LLVM_DEBUG(llvm::dbgs() << "Types: " << interleaved(types) << "\n");
LLVM_DEBUG(llvm::dbgs() << "Values: " << interleaved_array(values) << "\n");
```

The separator and the prefix/suffix strings are customizable.


  Commit: 04b87e15e40f8857e29ade8321b8b67691545a50
      https://github.com/llvm/llvm-project/commit/04b87e15e40f8857e29ade8321b8b67691545a50
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/test/Lower/do_concurrent.f90
    M flang/test/Lower/do_concurrent_local_default_init.f90
    M flang/test/Lower/loops.f90
    M flang/test/Lower/loops3.f90
    M flang/test/Lower/nsw.f90
    M flang/test/Transforms/DoConcurrent/basic_host.f90
    M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
    M flang/test/Transforms/DoConcurrent/loop_nest_test.f90
    M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
    M flang/test/Transforms/DoConcurrent/non_const_bounds.f90
    M flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90

  Log Message:
  -----------
  [flang][fir] Lower `do concurrent` loop nests to `fir.do_concurrent` (#132904)

Adds support for lowering `do concurrent` nests from PFT to the new
`fir.do_concurrent` MLIR op as well as its special terminator
`fir.do_concurrent.loop` which models the actual loop nest.

To that end, this PR emits the allocations for the iteration variables
within the block of the `fir.do_concurrent` op and creates a region for
the `fir.do_concurrent.loop` op that accepts arguments equal in number
to the number of the input `do concurrent` iteration ranges.

For example, given the following input:
```fortran
   do concurrent(i=1:10, j=11:20)
   end do
```
the changes in this PR emit the following MLIR:
```mlir
    fir.do_concurrent {
      %22 = fir.alloca i32 {bindc_name = "i"}
      %23:2 = hlfir.declare %22 {uniq_name = "_QFsub1Ei"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
      %24 = fir.alloca i32 {bindc_name = "j"}
      %25:2 = hlfir.declare %24 {uniq_name = "_QFsub1Ej"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
      fir.do_concurrent.loop (%arg1, %arg2) = (%18, %20) to (%19, %21) step (%c1, %c1_0) {
        %26 = fir.convert %arg1 : (index) -> i32
        fir.store %26 to %23#0 : !fir.ref<i32>
        %27 = fir.convert %arg2 : (index) -> i32
        fir.store %27 to %25#0 : !fir.ref<i32>
      }
    }
```


  Commit: 3264a50fe2b61e79572d1623d0cceb2fe88da533
      https://github.com/llvm/llvm-project/commit/3264a50fe2b61e79572d1623d0cceb2fe88da533
  Author: Srinivasa Ravi <srinivasar at nvidia.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/test/CodeGen/builtins-nvptx.c
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/convert-sm100a.ll

  Log Message:
  -----------
  [clang][NVPTX] Add builtins and intrinsics for conversions of new FP types (#134345)

This change:
- Adds NVVM intrinsics and clang builtins for the cvt instruction
variants of types (FP6) `.e2m3x2`, `.e3m2x2`, and (FP8) `.ue8m0x2`
introduced in PTX 8.6 for `sm_100a`, `sm_101a`, and `sm_120a`.
- Adds clang builtins for cvt instruction variant of type tf32.

Tests are added in `NVPTX/convert-sm100a.ll` and
`clang/test/CodeGen/builtins-nvptx.c` and verified through ptxas 12.8.0.

PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt


  Commit: 2a024046217a1acae4806328ac77bd88648c2bab
      https://github.com/llvm/llvm-project/commit/2a024046217a1acae4806328ac77bd88648c2bab
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaTemplate/recovery-crash.cpp

  Log Message:
  -----------
  [clang] fix a crash in error recovery in expressions resolving to templates (#135893)

We were using AssumedTemplate incorrectly for error recovery.

Fixes #135621


  Commit: 3de88fe40fd0dc5f52ba0bc7ebbaf16e938d6670
      https://github.com/llvm/llvm-project/commit/3de88fe40fd0dc5f52ba0bc7ebbaf16e938d6670
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A llvm/include/llvm/Frontend/HLSL/CBuffer.h
    A llvm/lib/Frontend/HLSL/CBuffer.cpp
    M llvm/lib/Frontend/HLSL/CMakeLists.txt
    M llvm/lib/Target/DirectX/CMakeLists.txt
    A llvm/lib/Target/DirectX/DXILCBufferAccess.cpp
    A llvm/lib/Target/DirectX/DXILCBufferAccess.h
    M llvm/lib/Target/DirectX/DirectX.h
    M llvm/lib/Target/DirectX/DirectXPassRegistry.def
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    A llvm/test/CodeGen/DirectX/CBufferAccess/array-typedgep.ll
    A llvm/test/CodeGen/DirectX/CBufferAccess/arrays.ll
    A llvm/test/CodeGen/DirectX/CBufferAccess/float.ll
    A llvm/test/CodeGen/DirectX/CBufferAccess/gep-ce-two-uses.ll
    A llvm/test/CodeGen/DirectX/CBufferAccess/scalars.ll
    A llvm/test/CodeGen/DirectX/CBufferAccess/vectors.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll

  Log Message:
  -----------
  [DirectX] Implement the DXILCBufferAccess pass (#134571)

This introduces a pass that walks accesses to globals in cbuffers and
replaces them with accesses via the cbuffer handle itself. The logic to
interpret the cbuffer metadata is kept in `lib/Frontend/HLSL` so that it
can be reused by other consumers of that metadata.

Fixes #124630.


  Commit: 40460a5cf76c973a783fb2f5229e1076398df96e
      https://github.com/llvm/llvm-project/commit/40460a5cf76c973a783fb2f5229e1076398df96e
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    A llvm/test/CodeGen/RISCV/xqcilo.ll

  Log Message:
  -----------
  [RISCV] Add basic ISel patterns for Xqcilo instructions (#135901)

This patch adds basic instruction selection patterns for generating the
48 bit load/store instructions that are a part of the Qualcomm uC Xqcilo
vendor extension.


  Commit: 123b0e2a1e9de7465be8fb337a80d5d8984f93ae
      https://github.com/llvm/llvm-project/commit/123b0e2a1e9de7465be8fb337a80d5d8984f93ae
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll

  Log Message:
  -----------
  Reapply "[AMDGPU][GlobalISel] Properly handle lane op lowering for larger vector types (#132358)" (#135758)

reapply https://github.com/llvm/llvm-project/pull/132358, tests updated.


  Commit: f3c77445791b510858561cb424ffa1cd7513250b
      https://github.com/llvm/llvm-project/commit/f3c77445791b510858561cb424ffa1cd7513250b
  Author: Mészáros Gergely <gergely.meszaros at intel.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/Sema/complex-div-warn-higher-precision.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix -Whigher-precision-for-complex-division (#131477)

- Fix false positive when divisor is a real number.
- Fix false negative when divident is real, but divisor is complex.
- Fix false negative when due to promotion the division is performed in
higher precision than the divident.
- Fix false negative in divide and assign (`a /= b`).

Fixes: #131127

---------

Co-authored-by: Zahira Ammarguellat <zahira.ammarguellat at intel.com>


  Commit: dfb5b6e27ca3f8b79ebd3346d11b3088c1600b81
      https://github.com/llvm/llvm-project/commit/dfb5b6e27ca3f8b79ebd3346d11b3088c1600b81
  Author: leecheechen <chenli at loongson.cn>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    A llvm/test/CodeGen/LoongArch/prefetchi.ll

  Log Message:
  -----------
  [LoongArch] Don't crash on instruction prefetch intrinsics (#135760)

Instead of failing to select during isel, drop the intrinsic in
lowering.

Similar as the X86's PR. Seeing: https://reviews.llvm.org/D151050.

Fixes #134624


  Commit: 9e650349bfdcd34998c461e1441f02a79c664d38
      https://github.com/llvm/llvm-project/commit/9e650349bfdcd34998c461e1441f02a79c664d38
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp

  Log Message:
  -----------
  [mlir] Construct SmallVector with ArrayRef (NFC) (#135899)


  Commit: 52e3f3d68cbabf81c4c118cfb823828f03b712c4
      https://github.com/llvm/llvm-project/commit/52e3f3d68cbabf81c4c118cfb823828f03b712c4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Bytecode/Reader/BytecodeReader.cpp

  Log Message:
  -----------
  [mlir] Use llvm::make_first_range (NFC) (#135900)


  Commit: ac4712482e3ff886eee7c044dd33dd4b5d648036
      https://github.com/llvm/llvm-project/commit/ac4712482e3ff886eee7c044dd33dd4b5d648036
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCFixup.h
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h

  Log Message:
  -----------
  [LoongArch] Use FirstRelocationKind to remove ELFObjectWriter::recordRelocation special case

The current implementation of R_LARCH_SUB{8,16,32,64} and TLS relocation types relies on fixup kinds FirstLiteralRelocationKind + offset (originally intended for .reloc directives). While this is clever and prevents switch cases like

```
case fixup_...sub8:
  return ELF::R_LARCH_SUB8;
```

it needs revision.

GNU Assembler treats .reloc directives differently from standard relocations, notably by skipping

* Skipping STT_SECTION adjustments (when a referenced symbol is local and satisfies certain conditions, it can be redirected to a section symbol).
* Skipping STT_TLS symbol type setting for TLS relocations.

Encode relocatin type t with FirstRelocationKind+t instead of
FirstLiteralRelocationKind+t. The new value is less than
FirstLiteralRelocationKind and will not be treated as a .reloc
directive.

Close #135521


  Commit: a56f966417bc53051fa39e3db6fcc95f9abf0b5c
      https://github.com/llvm/llvm-project/commit/a56f966417bc53051fa39e3db6fcc95f9abf0b5c
  Author: Mythreya <git at mythreya.dev>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang-tools-extra/clangd/ConfigFragment.h

  Log Message:
  -----------
  [clangd][docs] Fix incorrect docstring for header-insertion "Never" (#135921)

Docstring fix for changes introduced in PR #128503


  Commit: 05eafd9f2b14f2e8d2d95f46465c5cc53aafbc56
      https://github.com/llvm/llvm-project/commit/05eafd9f2b14f2e8d2d95f46465c5cc53aafbc56
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/test/AST/ByteCode/codegen.cpp

  Log Message:
  -----------
  [clang][bytecode] Explicitly mark constexpr-unknown variables as such (#135806)

Instead of trying to figure out what's constexpr-unknown later on.


  Commit: c1fc4c6a69c6ca0ae6aa060e4377ab5040505a66
      https://github.com/llvm/llvm-project/commit/c1fc4c6a69c6ca0ae6aa060e4377ab5040505a66
  Author: Clo91eaf <Clo91eaf at qq.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SMT/IR/SMTArrayOps.td

  Log Message:
  -----------
  [mlir][SMT] fix the operation name in ArrayBroadcastOp description (#135746)


  Commit: a630ef71e84a6bf09a99053ea42d37632ca0d18a
      https://github.com/llvm/llvm-project/commit/a630ef71e84a6bf09a99053ea42d37632ca0d18a
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/test/MC/ELF/reloc-directive.s

  Log Message:
  -----------
  ELFObjectWriter: Disable STT_SECTION adjustment for .reloc

... to match GNU Assembler. This generalizes the
SHT_LLVM_CALL_GRAPH_PROFILE special case (which uses .reloc with
BFD_RELOC_NONE https://reviews.llvm.org/D104080).

Targets that want STT_SECTION adjustment cannot use
FirstLiteralRelocationKind derived fixup kinds.

Depends on the fix of #135521

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


  Commit: 507d7dc651b28d8a975ba8ca6e8f5906b07e37e7
      https://github.com/llvm/llvm-project/commit/507d7dc651b28d8a975ba8ca6e8f5906b07e37e7
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp

  Log Message:
  -----------
  [LoongArch] Simplify getRelocType


  Commit: 3d97d71e66036f51cf0b45cc7d5f3a0a14192eb4
      https://github.com/llvm/llvm-project/commit/3d97d71e66036f51cf0b45cc7d5f3a0a14192eb4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/Lex/HeaderSearch.cpp

  Log Message:
  -----------
  [Lex] Use llvm::make_second_range (NFC) (#135902)


  Commit: 1256ca04c2064f2ef05625ff93a7954642af84a1
      https://github.com/llvm/llvm-project/commit/1256ca04c2064f2ef05625ff93a7954642af84a1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineFunction.cpp

  Log Message:
  -----------
  [CodeGen] Call DenseMap::erase directly (NFC) (#135898)


  Commit: bf0de88696095342aaa58e5e0a0105403d5ebd5e
      https://github.com/llvm/llvm-project/commit/bf0de88696095342aaa58e5e0a0105403d5ebd5e
  Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  code format checker: fix python error when the diff becomes empty


  Commit: 11857bef8a5fdfb8ab65971c3da6593c6076ff62
      https://github.com/llvm/llvm-project/commit/11857bef8a5fdfb8ab65971c3da6593c6076ff62
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    A llvm/test/CodeGen/RISCV/xqcisls.ll

  Log Message:
  -----------
  [RISCV] Add basic ISel patterns for Xqcisls instructions (#135918)

This patch adds basic instruction selection patterns for generating the
scaled load/store instructions that are a part of the Qualcomm uC
Xqcisls vendor extension.


  Commit: 559df834df4c5653227cb85129904004164e4c4f
      https://github.com/llvm/llvm-project/commit/559df834df4c5653227cb85129904004164e4c4f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/arrays.cpp
    M clang/test/AST/ByteCode/new-delete.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix subtracting zero-sized pointers (#135929)

Add the appropriate diagnostic and fix the d-d case.


  Commit: 70d34e4bfd32d8518a70226d3d68398d94c1d68f
      https://github.com/llvm/llvm-project/commit/70d34e4bfd32d8518a70226d3d68398d94c1d68f
  Author: Hendrik_Klug <43926224+Jimmy2027 at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/FoldIntoElementwise.cpp

  Log Message:
  -----------
  [MLIR][Linalg] Remove debug print from FoldIntoElementwise pass (#135928)


  Commit: 51b8c66b0867154730d07e1ee4016b5116440293
      https://github.com/llvm/llvm-project/commit/51b8c66b0867154730d07e1ee4016b5116440293
  Author: Дмитрий Изволов <dmitriy at izvolov.ru>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/include/__algorithm/radix_sort.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp

  Log Message:
  -----------
  [libc++] Extend the scope of radix sorting inside std::stable_sort to floating-point types (#129452)

These changes speed up `std::stable_sort` in the case of sorting
floating-point types.
This applies only to IEEE 754 floats.
The speedup is similar to that achieved for integers in PR #104683 (see
benchmarks below).

Why does this worth doing?
Previously, `std::stable_sort` had almost no chance of beating
`std::sort`.
Now there are cases when `std::stable_sort` is preferrable, and the
difference is significant.
```
---------------------------------------------------------------------------
Benchmark             |  std::stable_sort  |   std::sort | std::stable_sort
                      | without radix_sort |             | with radix_sort 
---------------------------------------------------------------------------
float_Random_1        |       1.62 ns      |     2.15 ns |          1.61 ns
float_Random_4        |       18.0 ns      |     2.71 ns |          16.3 ns
float_Random_16       |        118 ns      |      113 ns |           112 ns
float_Random_64       |        751 ns      |      647 ns |           730 ns
float_Random_256      |       4715 ns      |     2937 ns |          4669 ns
float_Random_1024     |      25713 ns      |    13172 ns |          5959 ns <--
float_Random_4096     |     131307 ns      |    56870 ns |         19294 ns <--
float_Random_16384    |     624996 ns      |   242953 ns |         64264 ns <--
float_Random_65536    |    2895661 ns      |  1027279 ns |        288553 ns <--
float_Random_262144   |   13285372 ns      |  4342593 ns |       3022377 ns <--
float_Random_1048576  |   60595871 ns      | 19087591 ns |      18690457 ns <--
float_Random_2097152  |  131336117 ns      | 38800396 ns |      52325016 ns
float_Random_4194304  |  270043042 ns      | 79978019 ns |     102907726 ns
double_Random_1       |       1.60 ns      |     2.15 ns |          1.61 ns
double_Random_4       |       15.2 ns      |     2.70 ns |          16.9 ns
double_Random_16      |        104 ns      |      112 ns |           119 ns
double_Random_64      |        712 ns      |      614 ns |           755 ns
double_Random_256     |       4496 ns      |     2966 ns |          4820 ns
double_Random_1024    |      24722 ns      |    12679 ns |          6189 ns <--
double_Random_4096    |     126075 ns      |    54484 ns |         20999 ns <--
double_Random_16384   |     613782 ns      |   232557 ns |        110276 ns <--
double_Random_65536   |    2894972 ns      |   988531 ns |        774302 ns <--
double_Random_262144  |   13460273 ns      |  4278059 ns |       5115123 ns
double_Random_1048576 |   61119996 ns      | 18408462 ns |      27166574 ns
double_Random_2097152 |  132511525 ns      | 37986158 ns |      54423869 ns
double_Random_4194304 |  272949862 ns      | 77912616 ns |     147670834 ns
```

Comparison for only `std::stable_sort`:
```
Benchmark                                                         Time      Time Old      Time New
--------------------------------------------------------------------------------------------------
BM_StableSort_float_Random_1024                                -0.7997         25438          5096
BM_StableSort_float_Random_4096                                -0.8731        128157         16260
BM_StableSort_float_Random_16384                               -0.9024        621271         60623
BM_StableSort_float_Random_65536                               -0.9081       2922413        268619
BM_StableSort_float_Random_262144                              -0.7766      13386345       2990408
BM_StableSort_float_Random_1048576                             -0.6954      60673010      18481751
BM_StableSort_float_Random_2097152                             -0.6026     130977358      52052182
BM_StableSort_float_Random_4194304                             -0.6252     271556583     101770500
BM_StableSort_float_Ascending_1024                             -0.6430          6711          2396
BM_StableSort_float_Ascending_4096                             -0.7979         38460          7773
BM_StableSort_float_Ascending_16384                            -0.8471        191069         29222
BM_StableSort_float_Ascending_65536                            -0.8683        882321        116194
BM_StableSort_float_Ascending_262144                           -0.8346       3868552        639937
BM_StableSort_float_Ascending_1048576                          -0.7460      16521233       4195953
BM_StableSort_float_Ascending_2097152                          -0.5439      21757532       9922776
BM_StableSort_float_Ascending_4194304                          -0.7525      67847496      16791582
BM_StableSort_float_Descending_1024                            -0.6359         15038          5475
BM_StableSort_float_Descending_4096                            -0.7090         62810         18278
BM_StableSort_float_Descending_16384                           -0.7763        311844         69750
BM_StableSort_float_Descending_65536                           -0.7228       1270513        352202
BM_StableSort_float_Descending_262144                          -0.6785       5484173       1763045
BM_StableSort_float_Descending_1048576                         -0.5084      20223149       9941852
BM_StableSort_float_Descending_2097152                         -0.7646      60523254      14247014
BM_StableSort_float_Descending_4194304                         -0.5638      95706839      41748858
BM_StableSort_float_SingleElement_1024                         +0.3715          1732          2375
BM_StableSort_float_SingleElement_4096                         -0.1685          9357          7781
BM_StableSort_float_SingleElement_16384                        -0.3793         47307         29362
BM_StableSort_float_SingleElement_65536                        -0.4925        227666        115536
BM_StableSort_float_SingleElement_262144                       -0.4271       1075853        616387
BM_StableSort_float_SingleElement_1048576                      -0.3736       5097599       3193279
BM_StableSort_float_SingleElement_2097152                      -0.2470       9854161       7420158
BM_StableSort_float_SingleElement_4194304                      -0.3384      22175964      14670720
BM_StableSort_float_PipeOrgan_1024                             -0.4885         10664          5455
BM_StableSort_float_PipeOrgan_4096                             -0.6340         50095         18337
BM_StableSort_float_PipeOrgan_16384                            -0.7078        238700         69739
BM_StableSort_float_PipeOrgan_65536                            -0.6740       1102419        359378
BM_StableSort_float_PipeOrgan_262144                           -0.7460       4698739       1193511
BM_StableSort_float_PipeOrgan_1048576                          -0.5657      18493972       8032392
BM_StableSort_float_PipeOrgan_2097152                          -0.7116      41089206      11850349
BM_StableSort_float_PipeOrgan_4194304                          -0.6650      83445011      27955737
BM_StableSort_float_QuickSortAdversary_1024                    -0.6863         17402          5460
BM_StableSort_float_QuickSortAdversary_4096                    -0.7715         79864         18247
BM_StableSort_float_QuickSortAdversary_16384                   -0.7800        317480         69839
BM_StableSort_float_QuickSortAdversary_65536                   -0.7400       1357601        352967
BM_StableSort_float_QuickSortAdversary_262144                  -0.6450       5662094       2009769
BM_StableSort_float_QuickSortAdversary_1048576                 -0.5092      21173627      10392107
BM_StableSort_float_QuickSortAdversary_2097152                 -0.7333      61748178      16469993
BM_StableSort_float_QuickSortAdversary_4194304                 -0.5607      98459863      43250182
BM_StableSort_double_Random_1024                               -0.7657         24769          5802
BM_StableSort_double_Random_4096                               -0.8441        126449         19717
BM_StableSort_double_Random_16384                              -0.8269        614910        106447
BM_StableSort_double_Random_65536                              -0.7413       2905000        751427
BM_StableSort_double_Random_262144                             -0.6287      13449514       4994348
BM_StableSort_double_Random_1048576                            -0.5635      60863246      26568349
BM_StableSort_double_Random_2097152                            -0.5959     130293892      52654532
BM_StableSort_double_Random_4194304                            -0.4772     272616445     142526267
BM_StableSort_double_Ascending_1024                            -0.4870          6757          3466
BM_StableSort_double_Ascending_4096                            -0.7360         37592          9923
BM_StableSort_double_Ascending_16384                           -0.7971        183967         37324
BM_StableSort_double_Ascending_65536                           -0.7465        897116        227398
BM_StableSort_double_Ascending_262144                          -0.6764       4020980       1301033
BM_StableSort_double_Ascending_1048576                         -0.6407      16421799       5900751
BM_StableSort_double_Ascending_2097152                         -0.6380      29347139      10622419
BM_StableSort_double_Ascending_4194304                         -0.5934      70439925      28644185
BM_StableSort_double_Descending_1024                           -0.5988         15216          6105
BM_StableSort_double_Descending_4096                           -0.6857         65069         20449
BM_StableSort_double_Descending_16384                          -0.6922        329321        101381
BM_StableSort_double_Descending_65536                          -0.7038       1367970        405242
BM_StableSort_double_Descending_262144                         -0.6472       5361644       1891429
BM_StableSort_double_Descending_1048576                        -0.6656      22031404       7366459
BM_StableSort_double_Descending_2097152                        -0.7593      68922467      16591242
BM_StableSort_double_Descending_4194304                        -0.6392      96283643      34743223
BM_StableSort_double_SingleElement_1024                        +0.9128          1895          3625
BM_StableSort_double_SingleElement_4096                        +0.1475         10013         11490
BM_StableSort_double_SingleElement_16384                       -0.1901         52382         42424
BM_StableSort_double_SingleElement_65536                       -0.2096        254698        201313
BM_StableSort_double_SingleElement_262144                      -0.1833       1248478       1019648
BM_StableSort_double_SingleElement_1048576                     -0.1741       5703397       4710603
BM_StableSort_double_SingleElement_2097152                     -0.1751      10922197       9009835
BM_StableSort_double_SingleElement_4194304                     -0.1538      26571923      22485137
BM_StableSort_double_PipeOrgan_1024                            -0.4406         10752          6014
BM_StableSort_double_PipeOrgan_4096                            -0.5917         49456         20195
BM_StableSort_double_PipeOrgan_16384                           -0.6258        270515        101221
BM_StableSort_double_PipeOrgan_65536                           -0.7098       1159462        336457
BM_StableSort_double_PipeOrgan_262144                          -0.6591       4735711       1614433
BM_StableSort_double_PipeOrgan_1048576                         -0.6620      19353110       6541172
BM_StableSort_double_PipeOrgan_2097152                         -0.7288      49131812      13323391
BM_StableSort_double_PipeOrgan_4194304                         -0.5988      81958974      32878171
BM_StableSort_double_QuickSortAdversary_1024                   -0.6516         17948          6254
BM_StableSort_double_QuickSortAdversary_4096                   -0.7527         82359         20363
BM_StableSort_double_QuickSortAdversary_16384                  -0.7009        340410        101811
BM_StableSort_double_QuickSortAdversary_65536                  -0.6854       1487480        467928
BM_StableSort_double_QuickSortAdversary_262144                 -0.6386       5648460       2041377
BM_StableSort_double_QuickSortAdversary_1048576                -0.6127      22859142       8852587
BM_StableSort_double_QuickSortAdversary_2097152                -0.7161      68693975      19499381
BM_StableSort_double_QuickSortAdversary_4194304                -0.5909      95532179      39077491
OVERALL_GEOMEAN                                                -0.6472             0             0
```


  Commit: 1f96aea037e612d87b4e2e20825973e45680921c
      https://github.com/llvm/llvm-project/commit/1f96aea037e612d87b4e2e20825973e45680921c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [X86] Add test coverage for #135917


  Commit: b9ce185d4e542dde5e8d152f30314b6637a0d87b
      https://github.com/llvm/llvm-project/commit/b9ce185d4e542dde5e8d152f30314b6637a0d87b
  Author: Robert Konicar <rkonicar at mail.muni.cz>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/IR/AttrTypeBase.td
    A mlir/test/Dialect/LLVMIR/range-attr.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Fix #llvm.constant_range crashing in storage uniquer (#135772)

Add APIntParameter with custom implementation for comparison and use it
in llvm.constant_range attribute. This is necessary because the default
equality operator of APInt asserts when the bit widths of the compared
APInts differ. The comparison is used by StorageUniquer when hashes of
two ranges with different bit widths collide.


  Commit: 3d7e56fd28cd2195e7f330f933d491530e274401
      https://github.com/llvm/llvm-project/commit/3d7e56fd28cd2195e7f330f933d491530e274401
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_tmop.c
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_tmop.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
    M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
    M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-tmop.ll

  Log Message:
  -----------
  [AArch64][clang][llvm] Add structured sparsity outer product (TMOP) intrinsics (#135145)

Implement all {BF/F/S/U/SU/US}TMOP intrinsics in clang and llvm
following the ACLE in https://github.com/ARM-software/acle/pull/380/files


  Commit: d508f0cb009a0be98ca97f4dc0498294e0681a66
      https://github.com/llvm/llvm-project/commit/d508f0cb009a0be98ca97f4dc0498294e0681a66
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sme-write-fpmr.ll

  Log Message:
  -----------
  [AArch64] Fix FPMR handling when switching streaming mode (#135827)

According to the
[documentation](https://developer.arm.com/documentation/ddi0601/latest/AArch64-Registers/FPMR--Floating-point-Mode-Register),
the FPMR register is set to 0 when entering or exiting streaming mode.
This patch models that behavior by adding FPMR as an implicit def to the
instructions used for entering and exiting streaming mode.


  Commit: 41c97afea055a5b7264167ec47b8c14c0f471f2f
      https://github.com/llvm/llvm-project/commit/41c97afea055a5b7264167ec47b8c14c0f471f2f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Remove handling of duplicates from getGatherCost

Duplicates are handled in BoUpSLP::processBuildVector (see TryPackScalars), support for duplicates in getGatherCost is not needed anymore.

Reviewers: hiraditya, RKSimon

Reviewed By: hiraditya, RKSimon

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


  Commit: 1e61b374ba3ba2891dc1abda732b0b9263216785
      https://github.com/llvm/llvm-project/commit/1e61b374ba3ba2891dc1abda732b0b9263216785
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/test/Dialect/Vector/invalid.mlir

  Log Message:
  -----------
  [mlir][vector] Tighten the semantics of vector.gather (#135749)

This patch restricts `vector.gather` to only accept tensors and memrefs
as valid sources. Currently, the source is typed as `AnyShaped`, which
also includes vectors—allowing the following (invalid) construct to pass
verification:

```mlir
  %0 = vector.gather %base[%c0][%indices], %mask, %pass_thru
       : vector<16xf32>, vector<16xi32>, vector<16xi1>, vector<16xf32> into vector<16xf32>
```
(Note: the source %base here is a vector, which is incorrect.)

In contrast, `vector.scatter` currently only accepts memrefs, so some
asymmetry remains between the two ops. This PR is a step toward aligning
their semantics.


  Commit: 2d63faead4e6339e679ab62113f47112d67a5b06
      https://github.com/llvm/llvm-project/commit/2d63faead4e6339e679ab62113f47112d67a5b06
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/FunctionPointer.cpp
    M clang/lib/AST/ByteCode/FunctionPointer.h
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpStack.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/PrimType.h

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove PT_FnPtr (#135947)

We don't need this anymore since we don't return it from classify()
anymore.


  Commit: bc03d6cce25712601423398350f56114e64e4e29
      https://github.com/llvm/llvm-project/commit/bc03d6cce25712601423398350f56114e64e4e29
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
    M llvm/test/Transforms/LoopVectorize/vplan_hcfg_stress_test.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h

  Log Message:
  -----------
  [VPlan] Introduce all loop regions as VPlan transform. (NFC) (#129402)

Further simplify VPlan CFG builder by moving introduction of inner
regions to a VPlan transform, building on
https://github.com/llvm/llvm-project/pull/128419.

The HCFG builder now only constructs plain CFGs. I will move it to
VPlanConstruction as follow-up.

Depends on https://github.com/llvm/llvm-project/pull/128419.

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


  Commit: bb5f53c727419c90e3ad6ca7db49330c64a8f54c
      https://github.com/llvm/llvm-project/commit/bb5f53c727419c90e3ad6ca7db49330c64a8f54c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/X86/pr134602.ll
    M llvm/test/CodeGen/X86/pr135917.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-sub128.ll
    M llvm/test/CodeGen/X86/vector-fshl-sub128.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-sub128.ll
    M llvm/test/CodeGen/X86/vector-fshr-sub128.ll

  Log Message:
  -----------
  [DAG] isSplatValue - only treat binop splats with repeated undef elements as undef (#135945)

#135597 didn't correctly fix the issue of binops with an undef element
from only one operand - only reporting the common undef elements could
incorrectly recognise splats where the (binop X, undef) fold might
actually be different - we need to ensure both operands have the same
demanded undefs for certainty.

Fixes #135917


  Commit: cf2399a2ee5b8a721eff385acbaa68fb9b00127c
      https://github.com/llvm/llvm-project/commit/cf2399a2ee5b8a721eff385acbaa68fb9b00127c
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  [CI] enable code-format-helper for .cl files (#135748)

In clang-format, OpenCL .cl file uses default C++ formatting. There are
many pull-requests in libclc project that change OpenCL files. It is
beneficial to enable clang-format for them in CI.


  Commit: 38ca73db223031b1831cd24ef66ddb6a8546a16c
      https://github.com/llvm/llvm-project/commit/38ca73db223031b1831cd24ef66ddb6a8546a16c
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Pointer.cpp

  Log Message:
  -----------
  [clang][bytecode] Give typeinfo APValues an LValuePath (#135948)

That's what the current interpreter does as well.


  Commit: 27c1aa9b9cf9e0b14211758ff8f7d3aaba24ffcf
      https://github.com/llvm/llvm-project/commit/27c1aa9b9cf9e0b14211758ff8f7d3aaba24ffcf
  Author: mgschossmann <109181247+mgschossmann at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    A clang/test/CodeGenCXX/debug-info-dtor-implicit-args.cpp

  Log Message:
  -----------
  [Clang,debuginfo] added vtt parameter in destructor DISubroutineType (#130674)

Fixes issue #104765: When creating a virtual destructor with an
artificial "vtt" argument, the type of "vtt" was previously missing in
the `DISubroutineType` `types` array.

This commit fixes this behavior and adds a regression test.


  Commit: 616613c80b75614736d0781d12c0e1237d79738f
      https://github.com/llvm/llvm-project/commit/616613c80b75614736d0781d12c0e1237d79738f
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCXX/cxx2c-delete-with-message.cpp

  Log Message:
  -----------
  [Clang] [Sema] Fix a crash when a `friend` function is redefined as deleted (#135679)

NB: This only fixes the crash introduced in Clang 19; we still accept
this code even though we shouldn’t:
```c++
struct S {
    friend int f() { return 3; }
    friend int f() = delete;
};
```
I tried figuring out a way to diagnose this redeclaration, but it seems
tricky because I kept running into issues around defaulted comparison
operators. From my testing, however, this fix here would still be
required even once we do start diagnosing this.

Fixes #135506.


  Commit: 30990c09c99bdcbfa7084d32b2b9851e19b6fb2a
      https://github.com/llvm/llvm-project/commit/30990c09c99bdcbfa7084d32b2b9851e19b6fb2a
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/test/Lower/do_concurrent.f90
    M flang/test/Lower/do_concurrent_local_default_init.f90
    M flang/test/Lower/loops.f90
    M flang/test/Lower/loops3.f90
    M flang/test/Lower/nsw.f90
    M flang/test/Transforms/DoConcurrent/basic_host.f90
    M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
    M flang/test/Transforms/DoConcurrent/loop_nest_test.f90
    M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
    M flang/test/Transforms/DoConcurrent/non_const_bounds.f90
    M flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90

  Log Message:
  -----------
  Revert "[flang][fir] Lower `do concurrent` loop nests to `fir.do_concurrent` (#132904)" (#135904)

This reverts commit 04b87e15e40f8857e29ade8321b8b67691545a50.

The reasons for reverting is that the following:
1. I still need need to upstream some part of the do concurrent to
OpenMP pass from our downstream implementation and taking this in
downstream will make things more difficult.
2. I still need to work on a solution for modeling locality specifiers
on `hlfir.do_concurrent` ops. I would prefer to do that and merge the
entire stack together instead of having a partial solution.

After merging the revert I will reopen the origianl PR and keep it
updated against main until I finish the above.


  Commit: fe4a31d59db7b18dc45c3593bf100c101e725b79
      https://github.com/llvm/llvm-project/commit/fe4a31d59db7b18dc45c3593bf100c101e725b79
  Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.h
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [bazel] Fix bazel build after 00eaff3e9c897c263a879416d0f151d7ca7eeaff. (#135949)


  Commit: d3153ad66c539ad146062b6e65741901e5b5e1cc
      https://github.com/llvm/llvm-project/commit/d3153ad66c539ad146062b6e65741901e5b5e1cc
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Lex/ModuleLoader.h
    M clang/include/clang/Lex/PPCallbacks.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/LoopHint.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/include/clang/Sema/SemaObjC.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaObjC.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaSwift.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp

  Log Message:
  -----------
  [clang] Unify `SourceLocation` and `IdentifierInfo*` pair-like data structures to `IdentifierLoc` (#135808)

I found this issue when I working on
https://github.com/llvm/llvm-project/pull/107168.

Currently we have many similiar data structures like:
 - `std::pair<IdentifierInfo *, SourceLocation>`.
 - Element type of `ModuleIdPath`.
 - `IdentifierLocPair`.
 - `IdentifierLoc`.
 
This PR unify these data structures to `IdentifierLoc`, moved
`IdentifierLoc` definition to SourceLocation.h, and deleted other
similer data structures.

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: af28c9c65a23806a09d7929792df5ed2e9bdf946
      https://github.com/llvm/llvm-project/commit/af28c9c65a23806a09d7929792df5ed2e9bdf946
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/split-vector-operand-with-reuses.ll

  Log Message:
  -----------
  [SLP]Do not reorder split node operand with reuses, if not possible

Need to check if the operand node of the split vectorize node has reuses
and check if it is possible to build the order for this node to reorder
it correctly.

Fixes #135912


  Commit: 1bfd44462886b167f0d82e44e6a9856a830c1f8b
      https://github.com/llvm/llvm-project/commit/1bfd44462886b167f0d82e44e6a9856a830c1f8b
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/NVPTX/and-or-setcc.ll
    A llvm/test/CodeGen/X86/and-or-setcc.ll

  Log Message:
  -----------
  [DAGCombiner] Fold and/or of NaN SETCC (#135645)

Fold an AND or OR of two NaN SETCC nodes into a single SETCC where
possible. This optimization already exists in InstCombine but adding in
here as well can allow for additional folding if more logical operations
are exposed.


  Commit: 181872ffcc7dc7f20ed2b84e8fa39beba41cb6d3
      https://github.com/llvm/llvm-project/commit/181872ffcc7dc7f20ed2b84e8fa39beba41cb6d3
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    A llvm/test/MC/AMDGPU/bf16_imm-fake16.s
    M llvm/test/MC/AMDGPU/bf16_imm.s
    A llvm/test/MC/AMDGPU/gfx11-promotions-fake16.s
    M llvm/test/MC/AMDGPU/gfx11-promotions.s
    A llvm/test/MC/AMDGPU/gfx1150_asm_features-fake16.s
    M llvm/test/MC/AMDGPU/gfx1150_asm_features.s
    A llvm/test/MC/AMDGPU/gfx11_asm_vinterp_err-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    A llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias.s
    A llvm/test/MC/AMDGPU/gfx11_asm_vop3_features.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] update a few mc test for true16 (#135816)

This is another NFC patch.

Update mc test for a few true16 instructions by duplicating the file to
fake16 versions and udpate `mattr` flag with +/-real-true16. Also added
some fake16 file that are not properly created before


  Commit: 6cfec29cb9bc44ec907eeda99df508985ecbd49b
      https://github.com/llvm/llvm-project/commit/6cfec29cb9bc44ec907eeda99df508985ecbd49b
  Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/test/CodeGenCUDA/offloading-entries.cu
    M clang/test/Driver/linker-wrapper-image.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M llvm/include/llvm/Object/OffloadBinary.h

  Log Message:
  -----------
  [Offload][SYCL] Refactor OffloadKind implementation (#135809)

Following are the changes:

1. Make OffloadKind enum values to be powers of two so we can use them
like a bitfield
2. Include OFK_SYCL enum value
3. Modify ActiveOffloadKinds support in clang-linker-wrapper to use
bitfields instead of a vector.

Thanks

---------

Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>


  Commit: de90487fc17fb928de7d0cd75d47a44db5181c14
      https://github.com/llvm/llvm-project/commit/de90487fc17fb928de7d0cd75d47a44db5181c14
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_expa.c
    M clang/test/Driver/print-supported-extensions-aarch64.c
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-intrinsics-fexpa.ll
    M llvm/test/MC/AArch64/SVE/fexpa.s

  Log Message:
  -----------
  [AARCH64] Add FEAT_SSVE_FEXPA and fix unsupported features list (#134368)

This patch adds new feature introduced in [2025-03
release](https://developer.arm.com/documentation/ddi0602/2025-03/SVE-Instructions/FEXPA--Floating-point-exponential-accelerator-)
and changes feature requirements for fexpa instructions and intrinsics.

Additionally it fixes unsupported features list by moving fearures
dependent on sme2p1 to correct location.


  Commit: 9483aaaaaa427b5dcb9a7af8f232a4696eef94bf
      https://github.com/llvm/llvm-project/commit/9483aaaaaa427b5dcb9a7af8f232a4696eef94bf
  Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.h

  Log Message:
  -----------
  [bazel] Fix bazel build after 00eaff3 #2. (#135962)

The linter messed up the order of includes, which is necessary as is.


  Commit: 183cb45c1280b80a0022649d1db8a93544bb97b0
      https://github.com/llvm/llvm-project/commit/183cb45c1280b80a0022649d1db8a93544bb97b0
  Author: John Harrison <harjohn at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [lldb-dap] Fixing a race during disconnect. (#135872)

While attempting to disconnect the DAP transport reader thread is
setting
`disconnecting` as soon as it sees a [disconnect
request](https://microsoft.github.io/debug-adapter-protocol/specification#Requests_Disconnect).

However, if it is processing another request when this disconnect
arrives the `DAP::Loop` handler may exit the loop without replying to
the disconnect request.

There has been some instability on the CI jobs due to this race, for
example https://lab.llvm.org/buildbot/#/builders/59/builds/16076

To address this, ensure we only return from `DAP::Loop` once we've
emptied the queue.


  Commit: ef1abbe32e66c16118ded6dd9f7b1a55dea8c2b6
      https://github.com/llvm/llvm-project/commit/ef1abbe32e66c16118ded6dd9f7b1a55dea8c2b6
  Author: Yonah Goldberg <ygoldberg at nvidia.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVVMReflect.cpp

  Log Message:
  -----------
  [NVPTX] Remove extraneous initializeNVVMReflectLegacyPassPass declaration (#135825)

This was already declared in NVPTX.h and I accidentally added it back in
#134416.


  Commit: 99c08ff1cb96fc4f471aca0dd253060b3f32e8bc
      https://github.com/llvm/llvm-project/commit/99c08ff1cb96fc4f471aca0dd253060b3f32e8bc
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Lex/ModuleLoader.h
    M clang/include/clang/Lex/PPCallbacks.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/LoopHint.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/include/clang/Sema/SemaObjC.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaObjC.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaSwift.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp

  Log Message:
  -----------
  Revert "[clang] Unify `SourceLocation` and `IdentifierInfo*` pair-like data structures to `IdentifierLoc`" (#135974)

Reverts llvm/llvm-project#135808

Example from the LLDB macOS CI:
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/24084/execution/node/54/log/?consoleFull
```
/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp:360:49: error: no viable conversion from 'std::pair<clang::IdentifierInfo *, clang::SourceLocation>' to 'clang::ModuleIdPath' (aka 'ArrayRef<IdentifierLoc>')
  clang::Module *top_level_module = DoGetModule(clang_path.front(), false);
                                                ^~~~~~~~~~~~~~~~~~
/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:41:40: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'std::pair<clang::IdentifierInfo *, clang::SourceLocation>' to 'const llvm::ArrayRef<clang::IdentifierLoc> &' for 1st argument
  class LLVM_GSL_POINTER [[nodiscard]] ArrayRef {
                                       ^
/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:41:40: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'std::pair<clang::IdentifierInfo *, clang::SourceLocation>' to 'llvm::ArrayRef<clang::IdentifierLoc> &&' for 1st argument
/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:70:18: note: candidate constructor not viable: no known conversion from 'std::pair<clang::IdentifierInfo *, clang::SourceLocation>' to 'std::nullopt_t' for 1st argument
    /*implicit*/ ArrayRef(std::nullopt_t) {}
```


  Commit: ab7e0c0fc00b2c0ccae735cb0def103831d15b3b
      https://github.com/llvm/llvm-project/commit/ab7e0c0fc00b2c0ccae735cb0def103831d15b3b
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_wmem{cpy,move} (#135969)


  Commit: 2e9ab7cf96d802a906de342f32bc844036152ada
      https://github.com/llvm/llvm-project/commit/2e9ab7cf96d802a906de342f32bc844036152ada
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [NFC][Driver][CFI] Update boolean expression (#135881)

Show why we don't need regular CFI runtime, when CFI diag runtime is
linked.


  Commit: f875dd10162dcfb8f4625cef2bfc8e6b9f73f8fc
      https://github.com/llvm/llvm-project/commit/f875dd10162dcfb8f4625cef2bfc8e6b9f73f8fc
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M lldb/source/Target/ThreadPlanStepInRange.cpp

  Log Message:
  -----------
  [lldb][nfc] Remove redundant check in if statement (#135869)

We already check this boolean in the `if` statement two lines above.


  Commit: d13135134c43af674584780b1494316f6fdaf027
      https://github.com/llvm/llvm-project/commit/d13135134c43af674584780b1494316f6fdaf027
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp

  Log Message:
  -----------
  [NFC][Driver][CFI] Rename to clarify purpose of CFI runtime (#135885)

CFI runtime (diagnostics, or not) is only needed
for cross-dso support.


  Commit: b73e5419f66a2501b4491514a72c7e361c25d57e
      https://github.com/llvm/llvm-project/commit/b73e5419f66a2501b4491514a72c7e361c25d57e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [NFC][CFI] Don't mix CFI and non-CFI flags on the same line (#135890)


  Commit: 8c04656c457e28680c60e8edc15a4b170b684ca2
      https://github.com/llvm/llvm-project/commit/8c04656c457e28680c60e8edc15a4b170b684ca2
  Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [bazel] Fix bazel build after 2b983a24583dd4e131d727717872a56712b5dd52. (#135976)


  Commit: 30259076fec0af97e604ca943b61fb686b9b21ef
      https://github.com/llvm/llvm-project/commit/30259076fec0af97e604ca943b61fb686b9b21ef
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] fix opsel for v_cmpx 16bit inst (#135441)

Fixed inst printer so that no opsel is generated for dst reg of cmpx
16bit insts


  Commit: aca710ac3655fcd3f057edc1382ceec7fc58ef19
      https://github.com/llvm/llvm-project/commit/aca710ac3655fcd3f057edc1382ceec7fc58ef19
  Author: Tom Honermann <tom.honermann at intel.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [NFC][Clang] Introduce type aliases to replace use of auto in clang/lib/CodeGen/CGCall.cpp. (#135861)

CGCall.cpp declares several functions with a return type that is an
explicitly spelled out specialization of `SmallVector`. Previously,
`auto` was used in several places to avoid repeating the long type name;
a use that Clang maintainers find unjustified. This change introduces
type aliases and replaces the existing uses of `auto` with the
corresponding alias name.


  Commit: 81b4fc2bedc411c257fdf24540318e24fe669b8b
      https://github.com/llvm/llvm-project/commit/81b4fc2bedc411c257fdf24540318e24fe669b8b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [CodeGen] Construct SmallVector with ArrayRef (NFC) (#135930)

Note that we can drop the call to reserve because the constructor that
takes ArrayRef calls append, which in turn calls reserve.


  Commit: 842bc07946e7ac71692ae235e784b9bc6c3d6535
      https://github.com/llvm/llvm-project/commit/842bc07946e7ac71692ae235e784b9bc6c3d6535
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp

  Log Message:
  -----------
  [DebugInfo] Use StringRef::starts_with (NFC) (#135933)


  Commit: 05772406153c390e61809757643ad49bff7dc71d
      https://github.com/llvm/llvm-project/commit/05772406153c390e61809757643ad49bff7dc71d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [Utils] Use StringRef::ends_with (NFC) (#135934)


  Commit: 0045b82a42bd36306a14f8b40bd9b54470c299ea
      https://github.com/llvm/llvm-project/commit/0045b82a42bd36306a14f8b40bd9b54470c299ea
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [Vectorize] Construct SmallVector with an iterator range (NFC) (#135936)


  Commit: 419fa1b06a36336ad85f1c71fc72ffa719ceb659
      https://github.com/llvm/llvm-project/commit/419fa1b06a36336ad85f1c71fc72ffa719ceb659
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
    M lldb/source/ValueObject/ValueObject.cpp
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/Makefile
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/TestDataFormatterLibcxxInvalidVectorSimulator.py
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/main.cpp

  Log Message:
  -----------
  [lldb][DataFormatter] Surface CalculateNumChildren errors in std::vector summary (#135944)

When the data-formatters happen to break (e.g., due to layout changes in
libc++), there's no clear indicator of them failing from a user's
perspective. E.g., for `std::vector`s we would just show:
```
(std::vector<int>) v = size=0 {}
```
which is highly misleading, especially if `v.size()` returns a non-zero
size.

This patch surfaces the various errors that could occur when calculating
the number of children of a vector.

rdar://146964266


  Commit: 34598fdadc06bd3b21aa97342dda05ecd9233912
      https://github.com/llvm/llvm-project/commit/34598fdadc06bd3b21aa97342dda05ecd9233912
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Demangle/ItaniumDemangle.h

  Log Message:
  -----------
  [llvm][ItaniumDemangle] Use __LDBL_MANT_DIG__ for configuring demangling of long doubles (#135968)

Syncing in the changes from
https://github.com/llvm/llvm-project/pull/134976 using the
`cp-to-llvm.sh` script.


  Commit: 7f4422d99115efbb770e13ccb60cf6bfc190c245
      https://github.com/llvm/llvm-project/commit/7f4422d99115efbb770e13ccb60cf6bfc190c245
  Author: David Green <david.green at arm.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    A llvm/test/CodeGen/AArch64/shuffle-extend.ll

  Log Message:
  -----------
  [AArch64] Add testing for shuffles that extend into new types. NFC


  Commit: 24171f4d12a02b49de1cc7a1beb2dc19c740a9f1
      https://github.com/llvm/llvm-project/commit/24171f4d12a02b49de1cc7a1beb2dc19c740a9f1
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [NFC][CFI] Add test to check for '-flto' and '-fvisibility=' flags (#135892)


  Commit: 76b5fcbf975547251faaeed8b567ea09d139a607
      https://github.com/llvm/llvm-project/commit/76b5fcbf975547251faaeed8b567ea09d139a607
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [TableGen] Store flat source operand number in OperandMap in PseudoLoweringEmitter. NFC (#135886)

Previously we stored the index into the source CodeGenInstruction's
operand list. Any operand with sub operands stored the same index into
all of the OperandMap entries for that operand. The emitting loop would
look up the MIOperandNo for the source and add the sub index.

This patch moves the logic into the loop that updates the OperandMap.
Now the emitting loop only needs to print the value.

While there, I've added a check that MIOperandNo is the same for source
and destination.


  Commit: 76b7ae7e454a1f0d814406d16926aa6722afcda4
      https://github.com/llvm/llvm-project/commit/76b7ae7e454a1f0d814406d16926aa6722afcda4
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Remove std::placeholders:: qualifiers, NFC


  Commit: 726a5c2c57c486e69df2dfc296482e1d8014ab62
      https://github.com/llvm/llvm-project/commit/726a5c2c57c486e69df2dfc296482e1d8014ab62
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [NFC][CFI] Avoid clang error in CFI tests (#135981)

In these tests we test correct linking flags set,
and it's confusing that command fails because of
other missing required flags.

Clang diagnostics opportunistically proceed after
error report on required flags, but there is no
guaranty that processing of tested flags are the same
in supported and erroneous flag sets.


  Commit: 72506eb37d9440d32e6dada187785b06aecb415c
      https://github.com/llvm/llvm-project/commit/72506eb37d9440d32e6dada187785b06aecb415c
  Author: Kostiantyn Lazukin <konstantin.lazukin at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M compiler-rt/test/builtins/Unit/addtf3_test.c

  Log Message:
  -----------
  [compiler-rt] Fix `addtf3_test.c` being skipped due to misplaced include (#134106)

[compiler-rt] The test `addtf3_test.c` is currently guarded by `#if
defined(CRT_HAS_IEEE_TF)`, a macro that is declared in `int_lib.h`.
However, `int_lib.h` is included *after* the preprocessor check, which
results in the macro not being defined in time and causes the test to
always be skipped.

This patch moves the includes of `fp_test.h` and `int_lib.h` to the top
of the file so that `CRT_HAS_IEEE_TF` is defined before it is checked.

Co-authored-by: Kostiantyn Lazukin <koslaz01 at ip-10-252-21-142.eu-west-1.compute.internal>


  Commit: 51fa6cde7d773aa7f41b410c8263884ad32eca86
      https://github.com/llvm/llvm-project/commit/51fa6cde7d773aa7f41b410c8263884ad32eca86
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/smax-reduction-unsigned-missing-sign.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with missing unsigned promotion for smax reduction, NFC


  Commit: ed9bcb52954f8e6171563d2b8310b0ca6d03d655
      https://github.com/llvm/llvm-project/commit/ed9bcb52954f8e6171563d2b8310b0ca6d03d655
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/CFIInstBuilder.h
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp

  Log Message:
  -----------
  [CodeGen][RISCV] Add helper class for emitting CFI instructions into MIR (#135845)

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


  Commit: 0daf20b3605f19271af7afa4175e7d62194e5578
      https://github.com/llvm/llvm-project/commit/0daf20b3605f19271af7afa4175e7d62194e5578
  Author: James Newling <james.newling at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir
    A mlir/test/Dialect/Vector/canonicalize/vector-transpose.mlir

  Log Message:
  -----------
  [mlir][vector] transpose(broadcast) -> broadcast canonicalization (#135096)

Example seen in the 'real world':
 
 ```
 %0 = vector.broadcast %arg0 : vector<1xi8> to vector<1x8xi8>
 %1 = vector.transpose %0, [1, 0] : vector<1x8xi8> to vector<8x1xi8>
 ```
 
 This PR adds a canonicalizer that rewrites the above as
 
```
  %1 = vector.broadcast %arg0 : vector<1xi8> to vector<8x1xi8>
```

It works by determining if a transpose is only shuffling contiguous
broadcast dimensions.


  Commit: d88a3a36ad26e68281873fab9a35389f6eb5c919
      https://github.com/llvm/llvm-project/commit/d88a3a36ad26e68281873fab9a35389f6eb5c919
  Author: James Newling <james.newling at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp

  Log Message:
  -----------
  [mlir][vector] Remove redundant shape_cast(shape_cast(x)) pattern (#135447)

This PR removes one OpRewritePattern `shape_cast(shape_cast(x)) -> x`
that is already handled by `ShapeCastOp::fold`.

Note that this might affect downstream users who indirectly call
`populateShapeCastFoldingPatterns(RewritePatternSet &patterns,
PatternBenefit)` and then use `patterns` with a `GreedyRewriteConfig
config` that has `config.fold = false`. (only user I've checked is IREE,
that never uses config.fold = false).


  Commit: facc57fc25d0f05f5834fed421662dbad3ec5b50
      https://github.com/llvm/llvm-project/commit/facc57fc25d0f05f5834fed421662dbad3ec5b50
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Overload.h
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    M clang/test/SemaCUDA/function-overload.cu
    M clang/test/SemaCXX/implicit-member-functions.cpp
    A clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
    M clang/test/SemaTemplate/instantiate-function-params.cpp
    M clang/test/Templight/templight-empty-entries-fix.cpp

  Log Message:
  -----------
  [Clang][RFC] Bypass TAD during overload resolution if a perfect match exists (#133426)

This implements the same overload resolution behavior as GCC, 
as described in https://wg21.link/p3606 (sections 1-2, not 3)

If, during overload resolution, a non-template candidate is always
picked because each argument is a perfect match (i.e., the source and
target types are the same), we do not perform deduction for any template
candidate that might exist.

The goal is to be able to merge #122423 without being too disruptive.

This change means that the selection of the best viable candidate and
template argument deduction become interleaved.

To avoid rewriting half of Clang, we store in `OverloadCandidateSet`
enough information to deduce template candidates from
`OverloadCandidateSet::BestViableFunction`. This means the lifetime of
any object used by the template argument must outlive a call to
`Add*Template*Candidate`.

This two-phase resolution is not performed for some initialization as
there are cases where template candidates are a better match per the
standard. It's also bypassed for code completion.

The change has a nice impact on compile times

https://llvm-compile-time-tracker.com/compare.php?from=edc22c64e527171041876f26a491bb1d03d905d5&to=8170b860bd4b70917005796c05a9be013a95abb2&stat=instructions%3Au

Fixes #62096
Fixes #74581
Fixes #53454


  Commit: 73b8750a970ddaec5da1540c100561bd5104bca6
      https://github.com/llvm/llvm-project/commit/73b8750a970ddaec5da1540c100561bd5104bca6
  Author: James Newling <james.newling at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [mlir][vector] fold transpose(poison) -> poison (#135675)

Following on from https://github.com/llvm/llvm-project/pull/133988

---------

Signed-off-by: James Newling <james.newling at gmail.com>


  Commit: eea86489dd3df5b66d75ee2590f4824913c411d5
      https://github.com/llvm/llvm-project/commit/eea86489dd3df5b66d75ee2590f4824913c411d5
  Author: James Newling <james.newling at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [mlir][vector] Fold broadcast(poison) -> poison (#135677)

In addition to the new folder, I've also a test for broadcast(splat) ->
splat which I think was missing

Signed-off-by: James Newling <james.newling at gmail.com>


  Commit: 52e0337ea34142f55c427493e9ca2be5fce2dd38
      https://github.com/llvm/llvm-project/commit/52e0337ea34142f55c427493e9ca2be5fce2dd38
  Author: Chris B <chris.bieneman at me.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/SemaHLSL/Language/ImpCastAddrSpace.hlsl
    M clang/test/SemaOpenCL/cl20-device-side-enqueue.cl

  Log Message:
  -----------
  [HLSL][OpenCL] Strip addrspace from implicit cast diags (#135830)

The address space of a source value for an implicit cast isn't really
relevant when emitting conversion warnings. Since the lvalue->rvalue
cast effectively removes the address space they don't factor in, but
they do create visual noise in the diagnostics.

This is a small quality-of-life fixup to get in as HLSL adopts more
address space annotations.


  Commit: 81739c39db11b7f9a4f3528c1c66b552e57b47e4
      https://github.com/llvm/llvm-project/commit/81739c39db11b7f9a4f3528c1c66b552e57b47e4
  Author: Volodymyr Sapsai <vsapsai at apple.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/macro-identifier-hiding.c

  Log Message:
  -----------
  [Modules] Fix an identifier hiding a function-like macro definition. (#135471)

We emit a macro definition only in a module defining it. But it means
that if another module has an identifier with the same name as the
macro, the users of such module won't be able to use the macro anymore.

Fix by storing that an identifier has a macro definition that's not in a
current module (`MacroDirectivesOffset == 0`). This way
`IdentifierLookupVisitor` knows not to stop at the first module with an
identifier but to keep checking included modules for the actual macro
definition.

Fixes issue #32040.

rdar://30258278


  Commit: 913dcf1aa36f3ea2d67a0d2b05b9d1375987e553
      https://github.com/llvm/llvm-project/commit/913dcf1aa36f3ea2d67a0d2b05b9d1375987e553
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/smax-reduction-unsigned-missing-sign.ll

  Log Message:
  -----------
  [SLP]Fix type promotion for smax reduction with unsigned reduced operands

Need to add an extra bit for sign info for unsigned reduced values to
generate correct code.


  Commit: ce7466f66c8a279917cd1c9486846b6857a82fe8
      https://github.com/llvm/llvm-project/commit/ce7466f66c8a279917cd1c9486846b6857a82fe8
  Author: AdityaK <hiraditya at msn.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp

  Log Message:
  -----------
  NFC: Rewrite auto castIter -> const auto *castIter (#133521)


  Commit: 80c19b3b1d59294be63d8b55fedc317305abbdbe
      https://github.com/llvm/llvm-project/commit/80c19b3b1d59294be63d8b55fedc317305abbdbe
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/MissingFeatures.h
    A clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
    A clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/struct.c

  Log Message:
  -----------
  [CIR] Upstream initial support for complete record types (#135844)

This adds basic support for populating record types. In order to keep
the change small, everything non-essential was deferred to a later
change set. Only non-recursive structures are handled. Structures
padding is not yet implemented. Bitfields are not supported. No attempt
is made to handle ABI requirements for passing structure arguments.


  Commit: 1576fa10104b9a88bef88ae851c2df479502fea9
      https://github.com/llvm/llvm-project/commit/1576fa10104b9a88bef88ae851c2df479502fea9
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/test/Transforms/PGOProfile/ctx-instrumentation-invalid-roots.ll
    M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll

  Log Message:
  -----------
  [ctxprof] Extend the notion of "cannot return" (#135651)

At the time of instrumentation (and instrumentation lowering), `noreturn` is not applied uniformously. Rather than running `FunctionAttrs` pass, we just need to use `llvm::canReturn` exposed in PR #135650


  Commit: 6ccc9280ba891bbea349c12a064bf23bdf9000e7
      https://github.com/llvm/llvm-project/commit/6ccc9280ba891bbea349c12a064bf23bdf9000e7
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Overload.h
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    M clang/test/SemaCUDA/function-overload.cu
    M clang/test/SemaCXX/implicit-member-functions.cpp
    R clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
    M clang/test/SemaTemplate/instantiate-function-params.cpp
    M clang/test/Templight/templight-empty-entries-fix.cpp

  Log Message:
  -----------
  Revert "[Clang][RFC] Bypass TAD during overload resolution if a perfect match exists" (#135993)

Reverts llvm/llvm-project#133426

This is failing on some bots
https://lab.llvm.org/buildbot/#/builders/163/builds/17265


  Commit: 6d03f51f0c59171f1ec3c5cc5c1fe71c30956273
      https://github.com/llvm/llvm-project/commit/6d03f51f0c59171f1ec3c5cc5c1fe71c30956273
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    A clang/test/CodeGen/SystemZ/Float16.c
    A clang/test/CodeGen/SystemZ/fp16.c
    M clang/test/CodeGen/SystemZ/strictfp_builtins.c
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/clear_cache.c
    A compiler-rt/lib/builtins/extendhfdf2.c
    M compiler-rt/test/builtins/CMakeLists.txt
    A compiler-rt/test/builtins/Unit/extendhfdf2_test.c
    M llvm/docs/LangRef.rst
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.h
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZCallingConv.td
    M llvm/lib/Target/SystemZ/SystemZFeatures.td
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrFP.td
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td
    M llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
    M llvm/lib/Target/SystemZ/SystemZRegisterInfo.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ13.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ15.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ17.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ196.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td
    M llvm/test/CodeGen/SystemZ/asm-10.ll
    M llvm/test/CodeGen/SystemZ/asm-17.ll
    M llvm/test/CodeGen/SystemZ/asm-19.ll
    A llvm/test/CodeGen/SystemZ/atomic-load-10.ll
    A llvm/test/CodeGen/SystemZ/atomic-store-10.ll
    A llvm/test/CodeGen/SystemZ/atomicrmw-fadd-04.ll
    M llvm/test/CodeGen/SystemZ/fmuladd-soft-float.ll
    M llvm/test/CodeGen/SystemZ/fp-abs-01.ll
    M llvm/test/CodeGen/SystemZ/fp-abs-03.ll
    M llvm/test/CodeGen/SystemZ/fp-abs-04.ll
    M llvm/test/CodeGen/SystemZ/fp-add-01.ll
    M llvm/test/CodeGen/SystemZ/fp-cmp-04.ll
    M llvm/test/CodeGen/SystemZ/fp-conv-05.ll
    M llvm/test/CodeGen/SystemZ/fp-conv-06.ll
    M llvm/test/CodeGen/SystemZ/fp-conv-07.ll
    M llvm/test/CodeGen/SystemZ/fp-conv-08.ll
    M llvm/test/CodeGen/SystemZ/fp-conv-09.ll
    M llvm/test/CodeGen/SystemZ/fp-conv-10.ll
    M llvm/test/CodeGen/SystemZ/fp-conv-11.ll
    M llvm/test/CodeGen/SystemZ/fp-conv-12.ll
    M llvm/test/CodeGen/SystemZ/fp-conv-13.ll
    M llvm/test/CodeGen/SystemZ/fp-conv-14.ll
    M llvm/test/CodeGen/SystemZ/fp-conv-20.ll
    A llvm/test/CodeGen/SystemZ/fp-copysign-03.ll
    M llvm/test/CodeGen/SystemZ/fp-div-01.ll
    A llvm/test/CodeGen/SystemZ/fp-half-cmp.ll
    A llvm/test/CodeGen/SystemZ/fp-half-libcall.ll
    A llvm/test/CodeGen/SystemZ/fp-half-mem.ll
    A llvm/test/CodeGen/SystemZ/fp-half-move.ll
    A llvm/test/CodeGen/SystemZ/fp-half-strict.ll
    A llvm/test/CodeGen/SystemZ/fp-half-vector.ll
    A llvm/test/CodeGen/SystemZ/fp-half.ll
    M llvm/test/CodeGen/SystemZ/fp-libcall.ll
    M llvm/test/CodeGen/SystemZ/fp-mul-01.ll
    M llvm/test/CodeGen/SystemZ/fp-mul-06.ll
    M llvm/test/CodeGen/SystemZ/fp-mul-08.ll
    M llvm/test/CodeGen/SystemZ/fp-mul-10.ll
    A llvm/test/CodeGen/SystemZ/fp-mul-15.ll
    M llvm/test/CodeGen/SystemZ/fp-neg-01.ll
    M llvm/test/CodeGen/SystemZ/fp-neg-02.ll
    M llvm/test/CodeGen/SystemZ/fp-round-01.ll
    M llvm/test/CodeGen/SystemZ/fp-round-02.ll
    M llvm/test/CodeGen/SystemZ/fp-round-03.ll
    M llvm/test/CodeGen/SystemZ/fp-sqrt-01.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-cmp-04.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-cmps-01.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-cmps-04.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-01.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-02.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-05.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-06.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-07.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-08.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-09.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-10.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-11.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-12.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-13.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-14.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-15.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-conv-17.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-div-01.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-mul-06.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-round-01.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-round-02.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-round-03.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-sqrt-01.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-sub-01.ll
    M llvm/test/CodeGen/SystemZ/fp-sub-01.ll
    M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-explicit-regs-zEC12.ll
    M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-explicit-regs.ll
    M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-zEC12.ll
    M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting.ll
    M llvm/test/CodeGen/SystemZ/is_fpclass.ll
    A llvm/test/CodeGen/SystemZ/spill-half-01.mir
    A llvm/test/CodeGen/SystemZ/spill-half-02.mir
    M llvm/test/CodeGen/SystemZ/stackmap.ll
    M llvm/test/CodeGen/SystemZ/tdc-01.ll
    M llvm/test/CodeGen/SystemZ/tdc-02.ll
    M llvm/test/CodeGen/SystemZ/tdc-03.ll
    M llvm/test/CodeGen/SystemZ/tdc-04.ll
    M llvm/test/CodeGen/SystemZ/tdc-05.ll
    M llvm/test/CodeGen/SystemZ/tdc-06.ll
    M llvm/test/CodeGen/SystemZ/twoaddr-kill.mir
    M llvm/test/CodeGen/SystemZ/vec-max-05.ll
    M llvm/test/CodeGen/SystemZ/vec-min-05.ll
    M llvm/test/CodeGen/SystemZ/vec-strict-max-01.ll
    M llvm/test/CodeGen/SystemZ/vec-strict-min-01.ll

  Log Message:
  -----------
  [SystemZ] Add support for 16-bit floating point. (#109164)

- _Float16 is now accepted by Clang.

- The half IR type is fully handled by the backend.

- These values are passed in FP registers and converted to/from float around
  each operation.

- Compiler-rt conversion functions are now built for s390x including the missing
  extendhfdf2 which was added.

Fixes #50374


  Commit: ad12323fbf8f34fcb3bd3a75ed410d3d5b0ca42c
      https://github.com/llvm/llvm-project/commit/ad12323fbf8f34fcb3bd3a75ed410d3d5b0ca42c
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/test/Driver/HLSL/metal-converter.hlsl
    M clang/test/Driver/dxc_D.hlsl
    M clang/test/Driver/dxc_dxv_path.hlsl
    M clang/test/Driver/dxc_options.hlsl
    M clang/test/Driver/hlsl-lang-targets.hlsl

  Log Message:
  -----------
  [HLSL] Don't invoke `dxv` from `clang-dxc` for text output (#135876)

Running `clang-dxc` with textual output was emitting various spurious
warnings (if `dxv` wasn't on your path) or errors (if it was). Avoid
these by not attempting to run this tool when it doesn't make sense to
do so.

Fixes #135874.


  Commit: e19fcb72d7fbda6a1e67c45b85b399fe69d212ad
      https://github.com/llvm/llvm-project/commit/e19fcb72d7fbda6a1e67c45b85b399fe69d212ad
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  Fix 'unannotated fall-through between switch labels' warning. (#136000)


  Commit: 8a00efd26db21ef73df58b465b7741d1f889a681
      https://github.com/llvm/llvm-project/commit/8a00efd26db21ef73df58b465b7741d1f889a681
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp

  Log Message:
  -----------
  [SystemZ] Fix warnings

This patch fixes:

  llvm/lib/Target/SystemZ/SystemZISelLowering.cpp:6916:7: error:
  unused variable 'RegVT' [-Werror,-Wunused-variable]

  llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp:1265:30: error: unused
  variable 'RC' [-Werror,-Wunused-variable]


  Commit: e77ef7b291a0024ae34eaa76dafb62aef06d3c95
      https://github.com/llvm/llvm-project/commit/e77ef7b291a0024ae34eaa76dafb62aef06d3c95
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [NFC][CFI] Dump test output to debug llvm-clang-win-x-aarch64 failure (#136002)


  Commit: 4aca20c8b6dcf86696db03d860e635112601a7f9
      https://github.com/llvm/llvm-project/commit/4aca20c8b6dcf86696db03d860e635112601a7f9
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/entry-no-bundle-but-extra-use-on-vec.ll

  Log Message:
  -----------
  [SLP]Pre-cache the last instruction for all entries before vectorization

Need to pre-cache last instruction to avoid unexpected changes in the
last instruction detection during the vectorization, caused by adding
the new vector instructions, which add new uses and may affect the
analysis.


  Commit: 4903a7b77b56c7d9a650205b6e7dca46581c7134
      https://github.com/llvm/llvm-project/commit/4903a7b77b56c7d9a650205b6e7dca46581c7134
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp

  Log Message:
  -----------
  [ctxprof][nfc] Move profile annotator to Analysis (#135871)

This moves the utility that propagates counter values such that we can reuse it elsewhere. Specifically, in a subsequent patch, it'll be used to guide ICP: we need to prioritize promoting indirect calls that dominate larger portions of the dynamic instruction count. We can compare them based on the dynamic count of IR instructions, and we can get that early with this counter propagation logic.

The patch is mostly a move of the existing logic, with a pimpl - style implementation to hide all the current complexity.


  Commit: fe94f11407453c2d166597ef6e58d31f5b27d46e
      https://github.com/llvm/llvm-project/commit/fe94f11407453c2d166597ef6e58d31f5b27d46e
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/Analysis/anonymous-decls.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/SemaTemplate/dependent-template-recover.cpp
    M clang/test/SemaTemplate/elaborated-type-specifier.cpp
    M clang/test/SemaTemplate/typename-specifier-3.cpp

  Log Message:
  -----------
  [clang] Fix elaborated keyword canonicalization (#135916)


  Commit: c4e9901b5b660f7c64570c3440080436c8e8b32e
      https://github.com/llvm/llvm-project/commit/c4e9901b5b660f7c64570c3440080436c8e8b32e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVCompare.cpp
    M llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
    M llvm/lib/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    M llvm/lib/IR/DebugInfoMetadata.cpp
    M llvm/lib/MC/DXContainerPSVInfo.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/TargetParser/SubtargetFeature.cpp
    M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
    M llvm/unittests/DebugInfo/PDB/HashTableTest.cpp
    M llvm/unittests/Transforms/IPO/LowerTypeTests.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  [llvm] Use llvm::append_range (NFC) (#135931)


  Commit: 0f97cd87dee1ddc6aadc04369262739da2f55b5a
      https://github.com/llvm/llvm-project/commit/0f97cd87dee1ddc6aadc04369262739da2f55b5a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/Frontend/InitPreprocessor.cpp

  Log Message:
  -----------
  [Frontend] Use StringRef::ends_with (NFC) (#135988)


  Commit: fa46d522fe66b77bdf3156be9255ce3b83010433
      https://github.com/llvm/llvm-project/commit/fa46d522fe66b77bdf3156be9255ce3b83010433
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/tools/llvm-xray/xray-stacks.cpp

  Log Message:
  -----------
  [llvm-xray] Use llvm::make_second_range (NFC) (#135989)


  Commit: 4863d1ffbde77b8a3c580b4f7905ec21b1aba7e0
      https://github.com/llvm/llvm-project/commit/4863d1ffbde77b8a3c580b4f7905ec21b1aba7e0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/Serialization/MultiOnDiskHashTable.h

  Log Message:
  -----------
  [Serialization] Use llvm::map_range (NFC) (#135990)


  Commit: d338bdc9fe72aef1d9d2043d569fd94eb57db111
      https://github.com/llvm/llvm-project/commit/d338bdc9fe72aef1d9d2043d569fd94eb57db111
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td

  Log Message:
  -----------
  [mlir][linalg][NFC] Update elementwise docs to match op name (#135999)

Updates linalg.elementwise op description to replace older abbreviated
mnemonic with its current form.


  Commit: 598ec8ce2d1e5e20b45c56de8972f58a0caeb697
      https://github.com/llvm/llvm-project/commit/598ec8ce2d1e5e20b45c56de8972f58a0caeb697
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/test/TableGen/VarLenDecoder.td
    M llvm/test/TableGen/trydecode-emission.td
    M llvm/test/TableGen/trydecode-emission2.td
    M llvm/test/TableGen/trydecode-emission3.td
    M llvm/test/TableGen/trydecode-emission4.td
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Parameterize NumToSkip in DecoderEmitter (#135882)

- Add command line option `num-to-skip-size` to parameterize the size of
`NumToSkip` bytes in the decoder table. Default value will be 2, and
targets that need larger size can use 3.
- Keep all existing targets, except AArch64, to use size 2, and change
AArch64 to use size 3 since it run into the "disassembler decoding table
too large" error with size 2.
- Following is a rough reduction in size for the decoder tables by
switching to size 2.

```
Target         Old Size   New Size   % Reduction
================================================
AArch64           153254     153254        0.00
AMDGPU            471566     412805       12.46
ARC                 5724       5061       11.58
ARM                84936      73831       13.07
AVR                 1497       1306       12.76
BPF                 2172       1927       11.28
CSKY               10064       8692       13.63
Hexagon            47967      41965       12.51
Lanai               1108        982       11.37
LoongArch          24446      21621       11.56
MSP430              4200       3716       11.52
Mips               36330      31415       13.53
PPC                31897      28098       11.91
RISCV              37979      32790       13.66
Sparc               8331       7252       12.95
SystemZ            36722      32248       12.18
VE                 48296      42873       11.23
XCore               2590       2316       10.58
Xtensa              3827       3316       13.35
```


  Commit: 80855eb6f11b06c194939eb305761eb2b62822f9
      https://github.com/llvm/llvm-project/commit/80855eb6f11b06c194939eb305761eb2b62822f9
  Author: Lei Wang <wlei at fb.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp

  Log Message:
  -----------
  [SampleFDO] Extend the function base name max size (#135863)

The function base name could be way long which overflows and leads to a
crash. Update to extend the max size.

Also changed to use heap allocation( `std::vector<char>` ) to avoid
stack overflow.


  Commit: 05aa98955c697e52209d775327013e9cc2be6321
      https://github.com/llvm/llvm-project/commit/05aa98955c697e52209d775327013e9cc2be6321
  Author: calebwat <107081575+calebwat at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanSLP.h

  Log Message:
  -----------
  [NFCI] Explicitly delete unused copy constructor and assign copy for VPInterleavedAccessInfo (#134755)

VPInterleavedAccessInfo has a defined destructor freeing memory, but no
explicitly defined copy constructor or copy assignment op. These are not
used, so this patch marks them as deleted to avoid usage of the
implicitly defined implementations.


  Commit: 7fd0c8acd4659ccd0aef5486afe32c8ddf0f2957
      https://github.com/llvm/llvm-project/commit/7fd0c8acd4659ccd0aef5486afe32c8ddf0f2957
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/test/TableGen/VarLenDecoder.td
    M llvm/test/TableGen/trydecode-emission.td
    M llvm/test/TableGen/trydecode-emission2.td
    M llvm/test/TableGen/trydecode-emission3.td
    M llvm/test/TableGen/trydecode-emission4.td
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  Revert "[LLVM][TableGen] Parameterize NumToSkip in DecoderEmitter" (#136017)

Reverts llvm/llvm-project#135882

Causing assert failures for AArch64 backend


  Commit: c7fae59ac540ced666f664c88c2a49e06352a8dc
      https://github.com/llvm/llvm-project/commit/c7fae59ac540ced666f664c88c2a49e06352a8dc
  Author: James Newling <james.newling at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [mlir][vector] Move extract_strided_slice canonicalization to folding (#135676)

Folders are preferred:
https://mlir.llvm.org/docs/Canonicalization/#when-to-use-the-fold-method-vs-rewriterpatterns-for-canonicalizations

Included here : some missing `-----` between lit test file with mlir-opt
with `-split-input-file` flag


  Commit: cbbf6b487360a0926c88d512c986b3640136f91e
      https://github.com/llvm/llvm-project/commit/cbbf6b487360a0926c88d512c986b3640136f91e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  Revert "[NFC][CFI] Dump test output to debug llvm-clang-win-x-aarch64 failure" (#136029)

Reverts llvm/llvm-project#136002

Not needed any more.


  Commit: 6b0c8c4acd31eba83bf20ab1cf8729b2153e383c
      https://github.com/llvm/llvm-project/commit/6b0c8c4acd31eba83bf20ab1cf8729b2153e383c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  Revert "[NFC][CFI] Avoid clang error in CFI tests" (#136030)

Reverts llvm/llvm-project#135981

Fails with 'clang: error: --rtlib=libgcc requires --unwindlib=libgcc' on
some bots.


  Commit: 41c1a7be3f1a2556e407e761acb766a5d103d691
      https://github.com/llvm/llvm-project/commit/41c1a7be3f1a2556e407e761acb766a5d103d691
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll

  Log Message:
  -----------
  [LV] Don't add fixed-order recurrence phis to forced scalars.

Fixed-order recurrence phis cannot be forced to be scalar, they will
always be widened at the moment.

Make sure we don't add them to ForcedScalars, otherwise the legacy cost
model will compute incorrect costs.

This fixes an assertion reported with
https://github.com/llvm/llvm-project/pull/129645.


  Commit: 42ad82bb059f1ba454c6f7d882984f38d6099d88
      https://github.com/llvm/llvm-project/commit/42ad82bb059f1ba454c6f7d882984f38d6099d88
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/verifier.mlir

  Log Message:
  -----------
  [mlir][tosa] Add verifier check for Slice Op (#135853)

Add verifier check for Slice Op to make sure input1 and output have same
ranks.
Added test in verifier.mlir
Also moved existing slice verifier tests in invalid.mlir to verfier.mlir

Signed-off-by: Tai Ly <tai.ly at arm.com>


  Commit: 2afef58e40ba953c0848577106dee51819b9be8f
      https://github.com/llvm/llvm-project/commit/2afef58e40ba953c0848577106dee51819b9be8f
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/CFIInstBuilder.h
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp

  Log Message:
  -----------
  [ARM] Use helper class for emitting CFI instructions into MIR (#135994)

Similar to #135845.

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


  Commit: a9827fbc86b3d2973b9eef7bfb8f726dd75f17a5
      https://github.com/llvm/llvm-project/commit/a9827fbc86b3d2973b9eef7bfb8f726dd75f17a5
  Author: Prabhu Rajasekaran <prabhukr at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp

  Log Message:
  -----------
  [llvm] Handle CPI symbols for UEFI (#135652)

UEFI targets besides MSVC environment must support constant pool
symbols.


  Commit: 9dbe107219c7ab1c422300f9eeb9ca3f7fc87c53
      https://github.com/llvm/llvm-project/commit/9dbe107219c7ab1c422300f9eeb9ca3f7fc87c53
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/TestDataFormatterLibcxxInvalidVectorSimulator.py

  Log Message:
  -----------
  disable test on older compilers (#136037)


  Commit: c409da2223ad910d2a0fb491c19623c679e8aae3
      https://github.com/llvm/llvm-project/commit/c409da2223ad910d2a0fb491c19623c679e8aae3
  Author: Muzammil <55665739+Muzammiluddin-Syed-ECE at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/test/Dialect/LLVMIR/rocdl.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [mlir][ROCDL] Add permlanex16 op to allow subgroup reductions on gfx10+ (#135983)

Adding Permlanex16Op to ROCDL dialect to enable subgroup reduce lowering
to DPP ops for gfx 10+ devices.
See [this PR](https://github.com/llvm/llvm-project/pull/133204).

---------

Signed-off-by: Muzammiluddin Syed <muzasyed at amd.com>


  Commit: 6727d588919a49ae14d0857d2a642099098c9194
      https://github.com/llvm/llvm-project/commit/6727d588919a49ae14d0857d2a642099098c9194
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [NFC][CFI] Remove unnecessary -rtlib=platform from tests (#136032)

Should allow to reland https://github.com/llvm/llvm-project/pull/135981


  Commit: 7623501c056a38c665ccf718ad318fd16451e4cc
      https://github.com/llvm/llvm-project/commit/7623501c056a38c665ccf718ad318fd16451e4cc
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_report.cpp

  Log Message:
  -----------
  [asan] Fix build on fuchsia (#136042)

Does not link after #131756


  Commit: 697aa9995c24a977425e672d76a4a434384b16e3
      https://github.com/llvm/llvm-project/commit/697aa9995c24a977425e672d76a4a434384b16e3
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/include/mlir-c/Dialect/SMT.h
    M mlir/include/mlir-c/Target/ExportSMTLIB.h
    A mlir/lib/Bindings/Python/DialectSMT.cpp
    M mlir/lib/CAPI/Dialect/SMT.cpp
    M mlir/lib/CAPI/Target/ExportSMTLIB.cpp
    M mlir/python/CMakeLists.txt
    A mlir/python/mlir/dialects/SMTOps.td
    A mlir/python/mlir/dialects/smt.py
    M mlir/test/CAPI/smt.c
    A mlir/test/python/dialects/smt.py

  Log Message:
  -----------
  [mlir][SMT] add python bindings (#135674)

This PR adds "rich" python bindings to SMT dialect.


  Commit: 9c98a9801dff79ea7e440f2a45f669be2cdc965b
      https://github.com/llvm/llvm-project/commit/9c98a9801dff79ea7e440f2a45f669be2cdc965b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp

  Log Message:
  -----------
  [NFC][Asan] CRLF to LF in a test


  Commit: 91df4cce44ac33d2d169614c532868c1dde5df51
      https://github.com/llvm/llvm-project/commit/91df4cce44ac33d2d169614c532868c1dde5df51
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp

  Log Message:
  -----------
  [NFC][Asan] Disabled test dead-locking on Darwin

After #131756.


  Commit: e64305096a3d1ec122953be6e7008fbf05467d73
      https://github.com/llvm/llvm-project/commit/e64305096a3d1ec122953be6e7008fbf05467d73
  Author: David Truby <david.truby at arm.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/include/clang/Driver/Types.def
    M clang/test/Driver/fortran.f95
    M flang/test/Driver/input-from-stdin/input-from-stdin.f90
    M flang/test/Driver/phases.f90
    M flang/test/Driver/pp-fixed-form.f90

  Log Message:
  -----------
  [flang] Complete alignment of -x language modes with gfortran (#133775)


  Commit: 8ebdd9d8a19543992195f197de215c53d506fb72
      https://github.com/llvm/llvm-project/commit/8ebdd9d8a19543992195f197de215c53d506fb72
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/test/TableGen/VarLenDecoder.td
    M llvm/test/TableGen/trydecode-emission.td
    M llvm/test/TableGen/trydecode-emission2.td
    M llvm/test/TableGen/trydecode-emission3.td
    M llvm/test/TableGen/trydecode-emission4.td
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  Reapply "[LLVM][TableGen] Parameterize NumToSkip in DecoderEmitter" (#136017) (#136019)

This reverts commit 7fd0c8acd4659ccd0aef5486afe32c8ddf0f2957, and fixes
the assert condition in `patchNumToSkip`.


  Commit: d35bf17e8a0cf37959149257c0eda7b9f912390e
      https://github.com/llvm/llvm-project/commit/d35bf17e8a0cf37959149257c0eda7b9f912390e
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
    M clang/test/AST/HLSL/OutArgExpr.hlsl
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
    M clang/test/AST/HLSL/cbuffer.hlsl
    M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
    M clang/test/AST/HLSL/default_cbuffer.hlsl
    M clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
    M clang/test/AST/HLSL/is_typed_resource_element_compatible_concept.hlsl
    M clang/test/AST/HLSL/packoffset.hlsl
    M clang/test/AST/HLSL/pch.hlsl
    M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
    M clang/test/AST/HLSL/pch_with_buf.hlsl
    M clang/test/AST/HLSL/private.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
    M clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
    M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
    M clang/test/CodeGenHLSL/cbuffer.hlsl
    M clang/test/CodeGenHLSL/cbuffer_align.hlsl
    M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
    M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
    M clang/test/CodeGenHLSL/default_cbuffer.hlsl
    M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
    M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
    M clang/test/CodeGenHLSL/inline-functions.hlsl
    M clang/test/CodeGenHLSL/static-local-ctor.hlsl
    M clang/test/ParserHLSL/cb_error.hlsl
    M clang/test/ParserHLSL/hlsl_is_rov_attr_error.hlsl
    M clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl
    M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
    M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
    M clang/test/ParserHLSL/invalid_inside_cb.hlsl
    M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
    M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
    M clang/test/SemaHLSL/BuiltIns/hlsl_resource_t.hlsl
    M clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
    M clang/test/SemaHLSL/cb_error.hlsl
    M clang/test/SemaHLSL/export.hlsl
    M clang/test/SemaHLSL/packoffset-invalid.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error_resource.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error_silence_diags.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error_space.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl
    A clang/test/SemaHLSL/resource_binding_implicit.hlsl

  Log Message:
  -----------
  [HLSL] Add a warning for implicit bindings (#135909)

Implicit bindings will cause very confusing crashes in the backend at
present, so this is intended at least partially as a stop gap until we
get them implemented (see #110722).

However, I do think that this is useful in the longer term as well as an
off-by-default warning, as it is quite easy to miss a binding or two
when using explicit bindings and the results of that can be surprisingly
hard to debug. I've filed #135907 to track turning this into an
off-by-default warning or removing it eventually as we see fit.


  Commit: b9f1de04f65b062559d01c83dfd3948601924ee1
      https://github.com/llvm/llvm-project/commit/b9f1de04f65b062559d01c83dfd3948601924ee1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [TableGen] Combine the two separate OperandMapping loops in PseudoLoweringEmitter. (#136007)

Previously we had one loop over the DAG for immediates and registers and
another loop over the destination operands for mapping from the source.

Now we have a single loop over the destination operands that handles immediates,
registers, and named operands. A helper method is added so we can handle
operands and sub-operands specified by a sub-dag.

My goal is to allow a named operand to appear in a sub-dag which wasn't
supported before. This will allow the destination instruction to have an
operand with sub-operands when the source does not have sub operands.

For RISC-V, I'm looking into using an operand with sub-operands to
represent an reg+offset memory address. I need to be able to lower a
pseudo instruction that only has a register operand to an instruction
that has a reg+offset operand. The offset will be filled in with 0
during expansion and the register will be copied from the source.

The expansion would look like this:
def PseudoCALLIndirect : Pseudo<(outs), (ins GPRJALR:$rs1),
                                [(riscv_call GPRJALR:$rs1)]>,
PseudoInstExpansion<(JALR X1, (ops GPR:$rs1, 0))>;


  Commit: f7bdf30cb9b8a10847c29b9cad34e5e8abc1ecb8
      https://github.com/llvm/llvm-project/commit/f7bdf30cb9b8a10847c29b9cad34e5e8abc1ecb8
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    A .clang-format-ignore

  Log Message:
  -----------
  Add empty top level .clang-format-ignore (#136022)

Otherwise if the source tree is embedded in another project with a
.clang-format-ignore, some clang-format tests fail because they use that
.clang-format-ignore.


  Commit: f8ea2ed59820a0bef3f23638ce7a5d10165f7109
      https://github.com/llvm/llvm-project/commit/f8ea2ed59820a0bef3f23638ce7a5d10165f7109
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [bazel] Fix build for 8ebdd9d8a19543992195f197de215c53d506fb72


  Commit: f3bf844d2ff0a2984ca9bf976014decc0241d2b4
      https://github.com/llvm/llvm-project/commit/f3bf844d2ff0a2984ca9bf976014decc0241d2b4
  Author: Asher Mancinelli <ashermancinelli at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    A flang/test/Fir/tbaa-codegen-records.fir

  Log Message:
  -----------
  [flang] Unwrap sequence types when checking for descriptor members (#136039)

The TBAA generation gives conservative TBAA metadata when handling an
access of a record type with a descriptor member, since the access may
be a regular data access OR another descriptor. Array members were being
incorrectly identified as non-descriptor-members, and were giving
incorrect TBAA metadata which led to bugs showing up in the optimizer
when LLVM encountered mismatching TBAA.

`fir::isRecordWithDescriptorMember` now unwraps sequence types before
checking for descriptor members.


  Commit: eef978290ccb847c67bf0431e5fdd1dc4c7d408d
      https://github.com/llvm/llvm-project/commit/eef978290ccb847c67bf0431e5fdd1dc4c7d408d
  Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp

  Log Message:
  -----------
   [clang-doc][NFC] clean unused variable in HTML generator  (#135505)

While reading the code, I found some dead variables that are not used
anymore but it still declared without removing them.


  Commit: 218531821a6b6f1132a245a1f52e125610dc7f6a
      https://github.com/llvm/llvm-project/commit/218531821a6b6f1132a245a1f52e125610dc7f6a
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp

  Log Message:
  -----------
  LowerTypeTests: Fix quadratic complexity (try 2).

Currently we have quadratic complexity in LowerTypeTests because
ScopedSaveAliaseesAndUsed loops over all aliases for each disjoint
set, and the number of aliases and number of disjoint sets is
roughly proportional to the program size. Fix that by moving
ScopedSaveAliaseesAndUsed to LowerTypeTestsModule::lower() so that
we do this only once.

Reland of #135875 with fix for bug that caused check-lld test failures.
The fix is to only remove functions from llvm.used/llvm.compiler.used
because buildBitSetsFromGlobalVariables, which now runs while
ScopedSaveAliaseesAndUsed is in scope, will delete global variables,
which would otherwise lead to a use-after-free when they are added
back to llvm.used or llvm.compiler.used.

Reviewers: fmayer, vitalybuka

Reviewed By: fmayer

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


  Commit: 18855ece3c34a0d76a2126538d60760ddeee2de8
      https://github.com/llvm/llvm-project/commit/18855ece3c34a0d76a2126538d60760ddeee2de8
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Language/ObjC/NSString.cpp
    M lldb/source/Plugins/Language/ObjC/NSString.h
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
    A lldb/test/API/lang/objc/foundation/tagged/strings/Makefile
    A lldb/test/API/lang/objc/foundation/tagged/strings/TestObjCTaggedStrings.py
    A lldb/test/API/lang/objc/foundation/tagged/strings/main.m

  Log Message:
  -----------
  [lldb] Add summary for NSIndirectTaggedPointerString (#136025)

rdar://143164164


  Commit: 78671dbb26628f072cb94de784349c50201c1e0f
      https://github.com/llvm/llvm-project/commit/78671dbb26628f072cb94de784349c50201c1e0f
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/CFIInstBuilder.h
    M llvm/lib/Target/Sparc/SparcFrameLowering.cpp

  Log Message:
  -----------
  [Sparc] Use helper class for emitting CFI instructions into MIR (#136027)

Also, guard emission by `needsFrameMoves()` check. There are no changes
in tests because cfi instructions are currently ignored by AsmPrinter
when they don't need to be printed/encoded.

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


  Commit: 6d8bf3cf3dcc5d85bec7b1e70a59a02cdfdaa1b4
      https://github.com/llvm/llvm-project/commit/6d8bf3cf3dcc5d85bec7b1e70a59a02cdfdaa1b4
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/test/TableGen/VarLenDecoder.td
    M llvm/test/TableGen/trydecode-emission.td
    M llvm/test/TableGen/trydecode-emission2.td
    M llvm/test/TableGen/trydecode-emission3.td
    M llvm/test/TableGen/trydecode-emission4.td
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  Revert "Reapply "[LLVM][TableGen] Parameterize NumToSkip in DecoderEmitter" (#136017)" (#136068)

Reverts llvm/llvm-project#136019

Expensive checks tests are failing, so reverting.


  Commit: 6b8d072cfd41f647f2c241f0a1a0843a279d049b
      https://github.com/llvm/llvm-project/commit/6b8d072cfd41f647f2c241f0a1a0843a279d049b
  Author: Wu Yingcong <yingcong.wu at intel.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M libc/src/stdio/printf_core/float_dec_converter.h

  Log Message:
  -----------
  [libc] Fix incorrect unsigned comparison (#135595)

There is a problem with such unsigned comparison pattern:
```
if(unsigned_a - unsigned_b > 0) { /* only NOT go here when unsigned_a==unsigned_b */ }
```
When `unsigned_a` < `unsigned_b`, the result will still be `>0` due to
underflow.
This patch fixes two of the occurrences I found.
Also remove two redundant `if` where its condition is guaranteed by
outer `if`.


  Commit: 53eae22e228532fe3349890b6c7fc10b9c10dbee
      https://github.com/llvm/llvm-project/commit/53eae22e228532fe3349890b6c7fc10b9c10dbee
  Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/include/llvm/MC/DXContainerRootSignature.h
    M llvm/include/llvm/Object/DXContainer.h
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/BinaryFormat/DXContainer.cpp
    M llvm/lib/MC/DXContainerRootSignature.cpp
    M llvm/lib/Object/DXContainer.cpp
    M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.cpp
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll
    M llvm/test/ObjectYAML/DXContainer/RootSignature-Flags.yaml
    A llvm/test/ObjectYAML/DXContainer/RootSignature-InvalidType.yaml
    A llvm/test/ObjectYAML/DXContainer/RootSignature-InvalidVisibility.yaml
    A llvm/test/ObjectYAML/DXContainer/RootSignature-MultipleParameters.yaml
    M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
    M llvm/unittests/Object/DXContainerTest.cpp
    M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp

  Log Message:
  -----------
  [DirectX] adding support in obj2yaml and yaml2obj to root constants (#127840)

Adding support for Root Constant in MC, Object and obj2yaml and
yaml2obj, this PR adds:
  - new structures to dxbc definition.
  - serialize and desirialize logic from dxcontainer to yaml
  - tests validating against dxc
  - adding support to multiple parts.

Closes: https://github.com/llvm/llvm-project/issues/126633

---------

Co-authored-by: joaosaffran <joao.saffran at microsoft.com>


  Commit: 9bd0c8726a5e3fd4f76e84692bd920dfca7a8d7f
      https://github.com/llvm/llvm-project/commit/9bd0c8726a5e3fd4f76e84692bd920dfca7a8d7f
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in BWACS_MultiLine (#135906)

Fix #51940


  Commit: de528d689f3a2305c051528993fe30295f2a0cd9
      https://github.com/llvm/llvm-project/commit/de528d689f3a2305c051528993fe30295f2a0cd9
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  [Clang] Handle default template arguments for alias CTAD guides (#134807)

It's possible that some deduced template arguments come from default
arguments, not just from the return type. So we need to recursively
visit the default arguments of the parameter if it's referenced, thereby
the template parameter referenced by the defualt arguments could come
along to the synthesized deduction guide.

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


  Commit: ee17ca77e50a2170dd79f31e109f6751235e098e
      https://github.com/llvm/llvm-project/commit/ee17ca77e50a2170dd79f31e109f6751235e098e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
    M llvm/tools/lto/lto.cpp

  Log Message:
  -----------
  [llvm] Construct SmallVector with ArrayRef (NFC) (#136063)


  Commit: 799916ae1047cac6f6af8aed1499d8bf1b921f82
      https://github.com/llvm/llvm-project/commit/799916ae1047cac6f6af8aed1499d8bf1b921f82
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [llvm] Construct SmallVector with iterator ranges (NFC) (#136064)


  Commit: 47d8fec9b8bd5425af17711317a41743a30a8cef
      https://github.com/llvm/llvm-project/commit/47d8fec9b8bd5425af17711317a41743a30a8cef
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
    M llvm/include/llvm/Bitcode/BitcodeConvenience.h
    M llvm/include/llvm/IR/DiagnosticInfo.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/utils/TableGen/SearchableTableEmitter.cpp

  Log Message:
  -----------
  [llvm] Use llvm::append_range (NFC) (#136066)

This patch replaces:

  llvm::copy(Src, std::back_inserter(Dst));

with:

  llvm::append_range(Dst, Src);

for breavity.

One side benefit is that llvm::append_range eventually calls
llvm::SmallVector::reserve if Dst is of llvm::SmallVector.


  Commit: de893f87d2893c0de4dd730bcd91a79797078fa7
      https://github.com/llvm/llvm-project/commit/de893f87d2893c0de4dd730bcd91a79797078fa7
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  Revert "[bazel] Fix build for 8ebdd9d8a19543992195f197de215c53d506fb72"

This reverts commit f8ea2ed59820a0bef3f23638ce7a5d10165f7109.


  Commit: b6c99cb56bcd7f08d6c94d0feca88afacb25302f
      https://github.com/llvm/llvm-project/commit/b6c99cb56bcd7f08d6c94d0feca88afacb25302f
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni

  Log Message:
  -----------
  [gn] port 6d03f51f0c59


  Commit: 638c386b618a286ab1f30f628485e495f21ce124
      https://github.com/llvm/llvm-project/commit/638c386b618a286ab1f30f628485e495f21ce124
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Support/CMakeLists.txt
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn

  Log Message:
  -----------
  [gn] port ece59a8cb9c8


  Commit: ebf9883b82aed98aacdfc77824655fec8dc46988
      https://github.com/llvm/llvm-project/commit/ebf9883b82aed98aacdfc77824655fec8dc46988
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-byte-rotate.ll
    M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-byte-rotate.ll

  Log Message:
  -----------
  [LoongArch] Lower vector shuffle as byte rotate (if possible) (#135157)


  Commit: b99ac8b3d37ee2410d57c4c943a4bcff806dc5d6
      https://github.com/llvm/llvm-project/commit/b99ac8b3d37ee2410d57c4c943a4bcff806dc5d6
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

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


  Commit: bf7f602e7d549d9933a8a5f073e65917e7c877de
      https://github.com/llvm/llvm-project/commit/bf7f602e7d549d9933a8a5f073e65917e7c877de
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

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


  Commit: e016a90e0bcfbb61f5523696c6b2ad3d6db2579b
      https://github.com/llvm/llvm-project/commit/e016a90e0bcfbb61f5523696c6b2ad3d6db2579b
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    A mlir/test/Target/ExportSMTLIB/attributes.mlir
    A mlir/test/Target/ExportSMTLIB/basic.mlir
    A mlir/test/Target/ExportSMTLIB/lit.local.cfg

  Log Message:
  -----------
  [mlir][SMT] add missing ExportSMTLIB tests (#136069)

Whoops forgot these -export-smtlib tests.

---------

Co-authored-by: Bea Healy <beahealy22 at gmail.com>
Co-authored-by: Martin Erhart <maerhart at outlook.com>
Co-authored-by: Mike Urbach <mikeurbach at gmail.com>
Co-authored-by: Will Dietz <will.dietz at sifive.com>
Co-authored-by: fzi-hielscher <hielscher at fzi.de>
Co-authored-by: Fehr Mathieu <mathieu.fehr at gmail.com>
Co-authored-by: Clo91eaf <Clo91eaf at qq.com>


  Commit: c11c2fe1ae2fe7b88135c51c32a66d0e30fe5431
      https://github.com/llvm/llvm-project/commit/c11c2fe1ae2fe7b88135c51c32a66d0e30fe5431
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/test/CodeGen/NVPTX/bug22246.ll
    A llvm/test/CodeGen/NVPTX/i1-select.ll
    M llvm/test/CodeGen/NVPTX/i128.ll

  Log Message:
  -----------
  [NVPTX] Lower i1 select with logical ops in the general case (#135868)

Update i1 select lowering to use an expansion based on logical ops,
unless the selected operands are truncations. This can improve generated
code quality by exposing additional potential optimizations.


  Commit: d647d66da697952f600d7a0d84fba94612fe51db
      https://github.com/llvm/llvm-project/commit/d647d66da697952f600d7a0d84fba94612fe51db
  Author: Shoreshen <372660931 at qq.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll

  Log Message:
  -----------
  [AMDGPU] Add illegal type convertion (#135729)

Add more bit-convert tests for illegal types conversion


  Commit: adba24aa3c52c7e2673104fc16bd19e639221077
      https://github.com/llvm/llvm-project/commit/adba24aa3c52c7e2673104fc16bd19e639221077
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Add missing __builtin_memcpy checks (#135975)

Add a test for type punning and tests and the necessary checks for
non-trivially-copyable types and incomplete types.


  Commit: 84082223c819426a8a6486f9740210e956a4cea8
      https://github.com/llvm/llvm-project/commit/84082223c819426a8a6486f9740210e956a4cea8
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

  Log Message:
  -----------
  [AMDGPU][NPM] Cleanup AMDGPUPassRegistry.def (#130071)

Finishing up AMDGPU specific passes. Only ones remaining are assembly
printer, virt reg rewriter and PEI.


  Commit: dfed3d235fe00b5ad7befe584fc0cad8359afde2
      https://github.com/llvm/llvm-project/commit/dfed3d235fe00b5ad7befe584fc0cad8359afde2
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/Makefile
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/main.cpp

  Log Message:
  -----------
  [lldb][test] TestDataFormatterLibcxxInvalidVectorSimulator.py: fix inline namespace warnings

Fixes:
```
/Users/ec2-user/jenkins/workspace/apple-llvm-project-pr-macos/branch-swift/release/6.2/llvm-project/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/main.cpp:5:11: warning: inline namespace reopened as a non-inline namespace [-Winline-namespace-reopened-noninline]
    5 | namespace __1 {
      |           ^
```

Drive-by: compile test as C++20 (in an attempt to fix another buildbot issue)


  Commit: bc1725ef3a2707c244d8c2a401d7545755f96cbd
      https://github.com/llvm/llvm-project/commit/bc1725ef3a2707c244d8c2a401d7545755f96cbd
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  [clang] convergent attribute does not require "all threads" (#135803)

The documentation for the `convergent` attribute claims that OpenCL and
CUDA require "all threads" in a group to call the same convergent
operation. This is true only for OpenCL, and in general, the
`convergent` attribute is used in LLVM IR on operations that have no
such constraint.


  Commit: 4d84d3dfba38ee4151350ef2ec8c1d92ba8f6d36
      https://github.com/llvm/llvm-project/commit/4d84d3dfba38ee4151350ef2ec8c1d92ba8f6d36
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M mlir/python/CMakeLists.txt

  Log Message:
  -----------
  [mlir][python][smt] fix DialectSMT (include NanobindUtils.h)


  Commit: 1fd7e4c517141ddfb527e7560e02fd5856244971
      https://github.com/llvm/llvm-project/commit/1fd7e4c517141ddfb527e7560e02fd5856244971
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    M .ci/monolithic-linux.sh
    M lldb/test/requirements.txt

  Log Message:
  -----------
  Revert "[CI] monolithic-linux improvements (#135499)"

This reverts commit a399c6926a8701083c767cbb041e22ff92e9d717.

This is causing some premerge workflow failures.

Examople:
https://buildkite.com/llvm-project/github-pull-requests/builds/169129#01963d1d-dc75-4b4c-9952-fb60efbf91b4


  Commit: a2029ee91ddf0738f8b521ec8159068b6d65010f
      https://github.com/llvm/llvm-project/commit/a2029ee91ddf0738f8b521ec8159068b6d65010f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

  Log Message:
  -----------
  [RISCV] Rename fields in RegRegOp. NFC

Rename Reg1->BaseReg, Reg2->OffsetReg.


  Commit: dbb79c30c9f3578b7afd9ea0ec33f82e70e472c7
      https://github.com/llvm/llvm-project/commit/dbb79c30c9f3578b7afd9ea0ec33f82e70e472c7
  Author: wangjue <wangjue at zhcomputing.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M bolt/CMakeLists.txt
    M bolt/lib/Core/Relocation.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/runtime/CMakeLists.txt
    M bolt/runtime/common.h
    M bolt/runtime/instr.cpp
    A bolt/runtime/sys_riscv64.h
    A bolt/test/runtime/RISCV/basic-instrumentation.s
    A bolt/test/runtime/RISCV/instrumentation-ind-call.c
    A bolt/test/runtime/RISCV/lit.local.cfg

  Log Message:
  -----------
  [BOLT][Instrumentation] Initial instrumentation support for RISCV64 (#133882)

This patch adds code generation for RISCV64 instrumentation.The work
    involved includes the following three points:

a) Implements support for instrumenting direct function call and jump
    on RISC-V which relies on , Atomic instructions
    (used to increment counters) are only available on RISC-V when the A
    extension is used.

b) Implements support for instrumenting direct function inderect call
    by implementing the createInstrumentedIndCallHandlerEntryBB and
createInstrumentedIndCallHandlerExitBB interfaces. In this process, we
    need to accurately record the target address and IndCallID to ensure
    the correct recording of the indirect call counters.

c)Implemented the RISCV64 Bolt runtime library, implemented some system
call interfaces through embedded assembly. Get the difference between
runtime addrress of .text section andstatic address in section header
table, which in turn can be used to search for indirect call
description.

However, the community code currently has problems with relocation in
    some scenarios, but this has nothing to do with instrumentation. We
    may continue to submit patches to fix the related bugs.


  Commit: 377ec36b323ea99ca316cb5cf79c0a0c93eebc37
      https://github.com/llvm/llvm-project/commit/377ec36b323ea99ca316cb5cf79c0a0c93eebc37
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Overload.h
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    M clang/test/SemaCUDA/function-overload.cu
    M clang/test/SemaCXX/implicit-member-functions.cpp
    A clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
    M clang/test/SemaTemplate/instantiate-function-params.cpp
    M clang/test/Templight/templight-empty-entries-fix.cpp

  Log Message:
  -----------
  [Clang] Bypass TAD during overload resolution if a perfect match exists (#136018)

This implements the same overload resolution behavior as GCC,
as described in https://wg21.link/p3606 (section 1-2, not 3)

If during overload resolution, there is a non-template candidate
that would be always be picked - because each of the argument
is a perfect match (ie the source and target types are the same),
we do not perform deduction for any template candidate
that might exists.

The goal is to be able to merge
https://github.com/llvm/llvm-project/pull/122423 without being too
disruptive.

This change means that the selection of the best viable candidate and
template argument deduction become interleaved.

To avoid rewriting half of Clang we store in `OverloadCandidateSet`
enough information to be able to deduce template candidates from
`OverloadCandidateSet::BestViableFunction`. Which means
the lifetime of any object used by template argument must outlive
a call to `Add*Template*Candidate`.

This two phase resolution is not performed for some initialization
as there are cases where template candidate are better match
in these cases per the standard. It's also bypassed for code completion.

The change has a nice impact on compile times

https://llvm-compile-time-tracker.com/compare.php?from=719b029c16eeb1035da522fd641dfcc4cee6be74&to=bf7041045c9408490c395230047c5461de72fc39&stat=instructions%3Au

Fixes https://github.com/llvm/llvm-project/issues/62096
Fixes https://github.com/llvm/llvm-project/issues/74581

Reapplies #133426


  Commit: 78b37ca2a3af50de1daea09295b6f4ea99e7edaa
      https://github.com/llvm/llvm-project/commit/78b37ca2a3af50de1daea09295b6f4ea99e7edaa
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/Hexagon/64bit_tstbit.ll
    M llvm/test/CodeGen/Hexagon/always-ext.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-concat-multiple.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-q-legalization-loop.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-terminator.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-use-in-different-block.ll
    M llvm/test/CodeGen/Hexagon/reg-scavengebug-2.ll
    M llvm/test/CodeGen/Hexagon/swp-const-tc1.ll

  Log Message:
  -----------
  [Hexagon] Pre-commit tests for PR130742. NFC. (#135604)

Needed by https://github.com/llvm/llvm-project/pull/130742.


  Commit: 8e67d8fdf3a31b42f52ec12d995490f866b4449b
      https://github.com/llvm/llvm-project/commit/8e67d8fdf3a31b42f52ec12d995490f866b4449b
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/test/CodeGenOpenCL/spir32_target.cl
    M clang/test/CodeGenOpenCL/spir64_target.cl
    M clang/test/CodeGenOpenCL/spirv_target.cl

  Log Message:
  -----------
  [Clang][CodeGen][OpenCL] Add `-fno-delete-null-pointer-checks` to avoid UB. NFC. (#135602)

Needed by https://github.com/llvm/llvm-project/pull/130742.


  Commit: d1a80deae674300d1011ccb6d6ee7030eaf8e713
      https://github.com/llvm/llvm-project/commit/d1a80deae674300d1011ccb6d6ee7030eaf8e713
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    A clang/test/CodeGenCXX/local-class-instantiation.cpp
    M clang/test/SemaTemplate/instantiate-local-class.cpp

  Log Message:
  -----------
  Reapply "[Clang] Fix dependent local class instantiation bugs" (#135914)

This reapplies #134038

Since the last patch, this fixes a null pointer dereference where the
TSI of the destructor wasn't properly propagated into the
DeclarationNameInfo. We now construct a LocInfoType for dependent cases,
as done elsewhere in getDestructorName, such that GetTypeFromParser can
correctly obtain the TSI.

---

This patch fixes two long-standing bugs that prevent Clang from
instantiating local class members inside a dependent context. These bugs
were introduced in commits
https://github.com/llvm/llvm-project/commit/21eb1af469c3257606aec2270d544e0e8ecf77b2
and
https://github.com/llvm/llvm-project/commit/919df9d75ac2a721a8072327c803f34486884571.


https://github.com/llvm/llvm-project/commit/21eb1af469c3257606aec2270d544e0e8ecf77b2
introduced a concept called eligible methods such that it did an attempt
to skip past ineligible method instantiation when instantiating class
members. Unfortunately, this broke the instantiation chain for local
classes - getTemplateInstantiationPattern() would fail to find the
correct definition pattern if the class was defined within a partially
transformed dependent context.


https://github.com/llvm/llvm-project/commit/919df9d75ac2a721a8072327c803f34486884571
introduced a separate issue by incorrectly copying the
DeclarationNameInfo during function definition instantiation from the
template pattern, even though that DNI might contain a transformed
TypeSourceInfo. Since that TSI was already updated when the declaration
was instantiated, this led to inconsistencies. As a result, the final
instantiated function could lose track of the transformed declarations,
hence we crash: https://compiler-explorer.com/z/vjvoG76Tf.

This PR corrects them by

1. Removing the bypass logic for method instantiation. The eligible flag
is independent of instantiation and can be updated properly afterward,
so skipping instantiation is unnecessary.

2. Carefully handling TypeSourceInfo by creating a new instance that
preserves the pattern's source location while using the already
transformed type.


  Commit: 1a09ffea31e22172ce3de2fd553b770f52add576
      https://github.com/llvm/llvm-project/commit/1a09ffea31e22172ce3de2fd553b770f52add576
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  [mlir][ArmSME][NFC] Check early for unsupported mask ops (#135955)

This is to avoid rollbacks in the dialect conversion, which are
expensive.

Note: This is in preparation of the One-Shot Dialect Conversion
refactoring.


  Commit: 1906c18ce01092aed9524f1cb8344c11920ba144
      https://github.com/llvm/llvm-project/commit/1906c18ce01092aed9524f1cb8344c11920ba144
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td

  Log Message:
  -----------
  [mlir][memref] Mark result memref as "strided" (#135939)

We already check this in the verifier, but this makes it explicit in the
Tablegen.


  Commit: 62d32c2c27a83261af9f2529a961a22605df8a2b
      https://github.com/llvm/llvm-project/commit/62d32c2c27a83261af9f2529a961a22605df8a2b
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp

  Log Message:
  -----------
  [mlir][memref][NFC] Simplify `constifyIndexValues` (#135940)

Simplify the code by removing function pointers.


  Commit: 34f9ddf1ce2d775d8df1ca9c9806710f3ba8361d
      https://github.com/llvm/llvm-project/commit/34f9ddf1ce2d775d8df1ca9c9806710f3ba8361d
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sme-framelower-use-bp.ll
    M llvm/test/CodeGen/AArch64/sve-lsrchain.ll
    M llvm/test/CodeGen/AArch64/sve-vl-arith.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-ld1-single.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-st1-single.ll
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll

  Log Message:
  -----------
  [AArch64][SVE] Fold ADD+CNTB to INCB/DECB (#118280)

Currently, given:
```cpp
uint64_t incb(uint64_t x) {
  return x+svcntb();
}
```
LLVM generates:
```gas
incb:
        addvl   x0, x0, #1
        ret
```
Which is equivalent to:
```gas
incb:
        incb    x0
        ret
```

However, on microarchitectures like the Neoverse V2 and Neoverse V3,
the second form (with INCB) can have significantly better latency and
throughput (according to their SWOG). On the Neoverse V2, for example,
ADDVL has a latency and throughput of 2, whereas some forms of INCB
have a latency of 1 and a throughput of 4. The same applies to DECB.
This patch adds patterns to prefer the cheaper INCB/DECB forms over
ADDVL where applicable.


  Commit: 1cf9acdb750612985674a0349ed607768e1edc6d
      https://github.com/llvm/llvm-project/commit/1cf9acdb750612985674a0349ed607768e1edc6d
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
    M llvm/test/Transforms/Util/add-TLI-mappings.ll
    M llvm/unittests/Analysis/ReplaceWithVecLibTest.cpp

  Log Message:
  -----------
  [TLI] Use AArch64 vector calling convention for ArmPL routines (#135790)

Some ArmPL vector math routines that operate on fixed-width
vector types obey the aarch64_vector_pcs calling convention,
e.g. armpl_vsinq_f64, etc. This patch adds support for
functions in the TLI to specify an optional calling
convention to be added to the declared function. Once this
patch lands I intend to follow up with a vectoriser patch
that adds this optional calling convention when invoking the
vector library variant from the loop vectoriser.


  Commit: d41bd1fb4056f2bb649a76b09b8a5cc258453818
      https://github.com/llvm/llvm-project/commit/d41bd1fb4056f2bb649a76b09b8a5cc258453818
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td

  Log Message:
  -----------
  [mlir][tosa] Remove trailing whitespaces (#136031)

Trivial format cleanup

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: f351172d4a840dfbf533319b62925747a10b762f
      https://github.com/llvm/llvm-project/commit/f351172d4a840dfbf533319b62925747a10b762f
  Author: lntue <lntue at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  [libc] Export standard C symbols in the public packages for MacOS instead of namespaced C++ symbols. (#136100)


  Commit: bf6986f9f09f79da38006a83c339226c429bb686
      https://github.com/llvm/llvm-project/commit/bf6986f9f09f79da38006a83c339226c429bb686
  Author: Camsyn <camsyn at foxmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
    M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
    M llvm/test/Instrumentation/ThreadSanitizer/capture.ll

  Log Message:
  -----------
  [TSan, SanitizerBinaryMetadata] Improve instrument for derived pointers via phis/selects (#132752)

ThreadSanitizer.cpp and SanitizerBinaryMetadata.cpp previously used
`getUnderlyingObject` to check if pointers originate from stack objects.

However, `getUnderlyingObject()` by default only looks through linear
chains, not selects/phis. In particular, this means that we miss cases
involving pointer induction variables.

For instance,
```llvm
%stkobj = alloca [2 x i32], align 8
; getUnderlyingObject(%derived) = %derived
%derived = getelementptr inbounds i32, ptr %stkobj, i64 1
```

This will result in redundant instrumentation of TSan, resulting in
greater performance costs, especially when there are loops, referring to
this [godbolt page](https://godbolt.org/z/eaT1fPjTW) for details.
```cpp
char loop(int x) {
    char buf[10];
    char *p = buf;
    for (int i = 0; i < x && i < 10; i++) {
      // Should not instrument, as its base object is a non-captured stack
      // variable.
      // However, currectly, it is instrumented due to %p = %phi ...
      *p++ = i;
    }

    // Use buf to prevent it from being eliminated by optimization
    return buf[9];
}
```

There are TWO APIs `getUnderlyingObjectAggressive` and
`findAllocaForValue` that can backtrack the pointer via tree traversal,
supporting phis/selects.

This patch replaces `getUnderlyingObject` with `findAllocaForValue`
which:
1. Properly tracks through PHINodes and select operations
2. Directly identifies if a pointer comes from a `AllocaInst`

Performance impact:
- Compilation: Moderate cost increase due to wider value tracing, but...
- Runtime: Significant wins for code with pointer induction variables
derived from stack allocas, especially for loop-heavy code, as
instrumentation can now be safely omitted.


  Commit: 1588aab6ed2d02db2ffb23ca7f339d38a4d8c5e9
      https://github.com/llvm/llvm-project/commit/1588aab6ed2d02db2ffb23ca7f339d38a4d8c5e9
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/ValueTypes.td
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/aarch64-sve-ldst-one.ll
    M llvm/test/CodeGen/AArch64/add.ll
    M llvm/test/CodeGen/AArch64/andorxor.ll
    M llvm/test/CodeGen/AArch64/arm64-collect-loh.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-simd-ldst-one.ll
    M llvm/test/CodeGen/AArch64/arm64-rev.ll
    M llvm/test/CodeGen/AArch64/arm64-st1.ll
    M llvm/test/CodeGen/AArch64/bitcast-v2i8.ll
    M llvm/test/CodeGen/AArch64/concat-vector.ll
    M llvm/test/CodeGen/AArch64/ctlz.ll
    M llvm/test/CodeGen/AArch64/ctpop.ll
    M llvm/test/CodeGen/AArch64/cttz.ll
    M llvm/test/CodeGen/AArch64/dp1.ll
    M llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
    M llvm/test/CodeGen/AArch64/insertextract.ll
    M llvm/test/CodeGen/AArch64/mul.ll
    M llvm/test/CodeGen/AArch64/neon-truncstore.ll
    M llvm/test/CodeGen/AArch64/nontemporal-load.ll
    M llvm/test/CodeGen/AArch64/pr-cf624b2.ll
    M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/setcc-type-mismatch.ll
    M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
    M llvm/test/CodeGen/AArch64/store.ll
    M llvm/test/CodeGen/AArch64/sub.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-permute-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-gather-scatter.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
    M llvm/test/CodeGen/AArch64/tbl-loops.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
    M llvm/test/CodeGen/AArch64/vec_uaddo.ll
    M llvm/test/CodeGen/AArch64/vec_umulo.ll
    M llvm/test/CodeGen/AArch64/vector-compress.ll
    M llvm/test/CodeGen/AArch64/zext-to-tbl.ll

  Log Message:
  -----------
  [AArch64] Generalize integer FPR lane stores for all types (#134117)

This rewrites the fold from #129756 to apply to all types, including
stores of i8s. This required adding a new `aarch64mfp8` MVT to represent
FPR8 types on AArch64, which can be used to extract and store 8-bit
values using b sub-registers.

Follow on from: #129756
Closes: #131793


  Commit: 5c97397c2c414d7ac8e43e87c6d2a79a87e802fb
      https://github.com/llvm/llvm-project/commit/5c97397c2c414d7ac8e43e87c6d2a79a87e802fb
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/test/Transforms/SROA/readonlynocapture.ll

  Log Message:
  -----------
  [SROA] Support load-only promotion with dynamic offset loads (#135609)

If we do load-only promotion, it is okay if we leave some loads alone.
We only need to know all stores that affect a specific location.

As such, we can handle loads with unknown offset via the "escaped
read-only" code path.

This is something we already support in LICM load-only promotion, but
doing this in SROA is much better from a phase ordering perspective.

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


  Commit: 046a1e629c49365b1cd5f1ff17f650fcce186494
      https://github.com/llvm/llvm-project/commit/046a1e629c49365b1cd5f1ff17f650fcce186494
  Author: Will Froom <willfroom at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    A mlir/test/Target/LLVMIR/Import/uwtable.ll
    A mlir/test/Target/LLVMIR/uwtable.mlir

  Log Message:
  -----------
  [MLIR:LLVM] Add UWTableKind attribute (#135811)

Add `UWTableKind` enum and corresponding attribute to `llvm.func`
including translation to `llvm::Function` attribute.


  Commit: 2a91d04b022f1295fe2057bc88dc89987e6a6e04
      https://github.com/llvm/llvm-project/commit/2a91d04b022f1295fe2057bc88dc89987e6a6e04
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Overload.h
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    M clang/test/SemaCUDA/function-overload.cu
    M clang/test/SemaCXX/implicit-member-functions.cpp
    R clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
    M clang/test/SemaTemplate/instantiate-function-params.cpp
    M clang/test/Templight/templight-empty-entries-fix.cpp

  Log Message:
  -----------
  Revert "[Clang] Bypass TAD during overload resolution if a perfect match exists" (#136113)

Reverts llvm/llvm-project#136018

Still some bots failing
https://lab.llvm.org/buildbot/#/builders/52/builds/7643


  Commit: 2ee7fc04568f835be00629cb4130171b14b2e7df
      https://github.com/llvm/llvm-project/commit/2ee7fc04568f835be00629cb4130171b14b2e7df
  Author: Gaëtan Bossu <gaetan.bossu at arm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  [SLP] More OOP to simplify vectorizeStores() (NFC) (#134605)

This moves more code into the RelatedStoreInsts helper class. The
FillStoresSet lambda is now only a couple of lines and is easier to
read.


  Commit: 121cd7c6f0270540ce976b98061ba765edc1675d
      https://github.com/llvm/llvm-project/commit/121cd7c6f0270540ce976b98061ba765edc1675d
  Author: Shoreshen <372660931 at qq.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
    A llvm/test/CodeGen/AMDGPU/narrow_math_for_and.ll
    M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll

  Log Message:
  -----------
  Re apply 130577 narrow math for and operand (#133896)

Re-apply https://github.com/llvm/llvm-project/pull/130577

Which is reverted in https://github.com/llvm/llvm-project/pull/133880

The old application failed in address sanitizer due to
`tryNarrowMathIfNoOverflow` was called after `I.eraseFromParent();` in
`AMDGPUCodeGenPrepareImpl::visitBinaryOperator`, it create a use after
free failure.

To fix this, `tryNarrowMathIfNoOverflow` will be called before and
directly return if `tryNarrowMathIfNoOverflow` result in true.


  Commit: c5e112eed78a8ddfef5d16f6df6030c3ec8ca6ef
      https://github.com/llvm/llvm-project/commit/c5e112eed78a8ddfef5d16f6df6030c3ec8ca6ef
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M flang/lib/Semantics/check-directive-structure.h
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Semantics/OpenMP/cancel.f90

  Log Message:
  -----------
  [flang][OpenMP][Semantics] Disallow NOWAIT and ORDERED with CANCEL (#135991)

NOWAIT was a tricky one because the clause can be on either the start or
the end directive. I couldn't find a convenient way to access the end
directive from the CANCEL directive nested inside of the construct, but
there are convenient ways to access the start directive. I have added a
list to the start directive context containing the clauses from the end
directive.


  Commit: bd49bbaaafc98433a2cb4e95ce25b7a201baf5a5
      https://github.com/llvm/llvm-project/commit/bd49bbaaafc98433a2cb4e95ce25b7a201baf5a5
  Author: Kashyap Chamarthy <kchamart at redhat.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp

  Log Message:
  -----------
  [ORC][unittests] Skip the ReOptimizeLayerTest for RISC-V (#134702)

David Abdurachmanov reports[1] that we hit this error on P550 hardware:

/builddir/build/BUILD/llvm-20.1.1-build/llvm-project-20.1.1.src/llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp:140:
Failure
    Value of: llvm::detail::TakeError(RM.takeError())
    Expected: succeeded
Actual: failed (Architecture not supported) (of type
llvm::detail::ErrorHolder)

Tom Stellard noted[2] that he's seen this before on other architectures
and suggested to skip it.

[1] https://src.fedoraproject.org/rpms/llvm/pull-request/408#comment-255547
[2] https://src.fedoraproject.org/rpms/llvm/pull-request/408#comment-255557

Signed-off-by: Kashyap Chamarthy <kchamart at redhat.com>


  Commit: c3c0b27f2d34cd106df278afc378c30fe493f513
      https://github.com/llvm/llvm-project/commit/c3c0b27f2d34cd106df278afc378c30fe493f513
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Intrinsics.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
    M llvm/test/Assembler/aarch64-intrinsics-attributes.ll
    M llvm/test/Assembler/autoupgrade-invalid-mem-intrinsics.ll
    M llvm/test/TableGen/intrinsic-attrs.td
    M llvm/test/Transforms/CorrelatedValuePropagation/uscmp.ll
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
    M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp

  Log Message:
  -----------
  [Intrinsics] Add support for range attributes (#135642)

Add support for specifying range attributes in Intrinsics.td. Use this
to specify the ucmp/scmp range [-1,2).

This case is trickier than existing intrinsic attributes, because we
need to create the attribute with the correct bitwidth. As such, the
attribute construction now needs to be aware of the function type.

We also need to be careful to no longer assign attributes on intrinsics
with invalid signatures, as we'd make invalid assumptions about the
number of arguments etc otherwise.

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


  Commit: 35f4cdbf59fca82b97869cce7e9e5d5009144938
      https://github.com/llvm/llvm-project/commit/35f4cdbf59fca82b97869cce7e9e5d5009144938
  Author: Prakhar Dixit <dixitprakhar11 at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] Add constraints to the MulIOp for preventing type mismatch while folding (#136093)

Fixes #135289
The original version didn't check if the types of lhs, rhs, and the
result matched, which could cause type errors.
This fix adds type checks to make sure the constants attributes have
the same type as the SSA values before applying the simplification.


  Commit: 7e5317139d5a96837ede208635daf031ab53eaee
      https://github.com/llvm/llvm-project/commit/7e5317139d5a96837ede208635daf031ab53eaee
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/loop-instr-form-non-inc.ll
    M llvm/test/CodeGen/PowerPC/p10-spill-crgt.ll
    M llvm/test/CodeGen/PowerPC/sms-cpy-1.ll
    M llvm/test/CodeGen/PowerPC/sms-phi.ll
    M llvm/test/Transforms/LoopUnroll/PowerPC/p10-respect-unroll-pragma.ll

  Log Message:
  -----------
  [PowerPC] Pre-commit tests for PR130742. NFC. (#135606)

Needed by https://github.com/llvm/llvm-project/pull/130742.


  Commit: a09fd9c6536b746deea651b796978285ed161a00
      https://github.com/llvm/llvm-project/commit/a09fd9c6536b746deea651b796978285ed161a00
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineBlockPlacement.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp

  Log Message:
  -----------
  [CodeGen][NPM] Port MachineBlockPlacementStats to NPM (#129853)


  Commit: 6f91bfcc8aebe61ba4469c48270928f82ee89027
      https://github.com/llvm/llvm-project/commit/6f91bfcc8aebe61ba4469c48270928f82ee89027
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-reg.ll
    M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-reg.ll

  Log Message:
  -----------
  [LLVM][AArch64ISel] Fix IsLE predicate setting so it does not affect BE codegen. (#135978)

Ensure little endian specific patterns, not just their multi-classes,
are protected by IsLE.


  Commit: d69ee885cccecb49f0b288ec634186c35c8ecfb5
      https://github.com/llvm/llvm-project/commit/d69ee885cccecb49f0b288ec634186c35c8ecfb5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CaptureTracking.h
    M llvm/lib/Analysis/CaptureTracking.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/Attributor/nocapture-1.ll
    M llvm/test/Transforms/Attributor/nocapture-2.ll
    M llvm/test/Transforms/FunctionAttrs/nocapture.ll

  Log Message:
  -----------
  [CaptureTracking] Remove dereferenceable_or_null special case (#135613)

Remove the special case where comparing a dereferenceable_or_null
pointer with null results in captures(none) instead of
captures(address_is_null).

This special case is not entirely correct. Let's say we have an
allocated object of size 2 at address 1 and have a pointer `%p` pointing
either to address 1 or 2. Then passing `gep p, -1` to a
`dereferenceable_or_null(1)` function is well-defined, and allows us to
distinguish between the two possible pointers, capturing information
about the address.

Now that we ignore address captures in alias analysis, I think we're
ready to drop this special case. Additionally, if there are regressions
in other places, the fact that this is inferred as address_is_null
should allow us to easily address them if necessary.


  Commit: 90ddb5444030b8d7cca6e91a27994e4fa9a6525d
      https://github.com/llvm/llvm-project/commit/90ddb5444030b8d7cca6e91a27994e4fa9a6525d
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/builtin-constant-p.cpp

  Log Message:
  -----------
  [clang][bytecode] Enter a non-constant context when revisiting (#136104)

Otherwise, things like __builtin_is_constant_evaluated() return the
wrong value.


  Commit: eafbb879f676ccd65fe7efae6b5280ae750ef20a
      https://github.com/llvm/llvm-project/commit/eafbb879f676ccd65fe7efae6b5280ae750ef20a
  Author: John Brawn <john.brawn at arm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/aarch64-predication.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
    M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
    M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
    M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
    M llvm/test/Transforms/LoopVectorize/struct-return.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-counting-down.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll

  Log Message:
  -----------
  [LoopVectorize] Don't replicate blocks with optsize (#129265)

Any VPlan we generate that contains a replicator region will result in
replicated blocks in the output, causing a large code size increase.
Reject such VPlans when optimizing for size, as the code size impact is
usually worse than having a scalar epilogue, which we already forbid
with optsize.

This change requires a lot of test changes. For tests of optsize
specifically I've updated the test with the new output, otherwise the
tests have been adjusted to not rely on optsize.

Fixes #66652


  Commit: c536967af123c30b43f186133e8719e0090f24a6
      https://github.com/llvm/llvm-project/commit/c536967af123c30b43f186133e8719e0090f24a6
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/test/C/C2y/n3369_2.c
    A clang/test/C/C2y/n3369_3.c

  Log Message:
  -----------
  Split _Countof tests into two files; NFC

Post-commit review feedback during the language WG meeting requested
that I try to generalize the testing for this rather than only test on
a single target as we previously did.

The tests which are hard to generalize are the VLA tests, so those
still have specific triples in the RUN line, but have more coverage and
a comment explaining that the test should generalize to all targets.


  Commit: 4bd9b9e9adf9db1a326e2f2fa616c714beb83c4f
      https://github.com/llvm/llvm-project/commit/4bd9b9e9adf9db1a326e2f2fa616c714beb83c4f
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/test/C/C2y/n3369_2.c

  Log Message:
  -----------
  Fix failing bot with changes to _Countof testing

This addresses the issue found by:
https://lab.llvm.org/buildbot/#/builders/190/builds/18484


  Commit: a84a6f7dd68b218757e192fe21a806c80ef0b63d
      https://github.com/llvm/llvm-project/commit/a84a6f7dd68b218757e192fe21a806c80ef0b63d
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/test/C/C2y/n3369_2.c

  Log Message:
  -----------
  Fix this _Countof test for 32 vs 64-bits

This should address the issues found by:
https://lab.llvm.org/buildbot/#/builders/154/builds/14958


  Commit: 51295d6d56f938b878ca0e2bb0a749eb801e8202
      https://github.com/llvm/llvm-project/commit/51295d6d56f938b878ca0e2bb0a749eb801e8202
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    A clang/test/AST/ByteCode/c2y.c

  Log Message:
  -----------
  [clang][bytecode] Reject assignments in C (#136126)

Similar to what the current interpreter does.


  Commit: d744596f7da7bb80536d231bd00080870a12112a
      https://github.com/llvm/llvm-project/commit/d744596f7da7bb80536d231bd00080870a12112a
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M .github/workflows/libc-fullbuild-tests.yml

  Log Message:
  -----------
  [libc][workflows] fix fullbuild by installing clang-20/clang++-20 (#136074)


  Commit: f135ce6a9329124f1e508fcad2eedf5326a668fa
      https://github.com/llvm/llvm-project/commit/f135ce6a9329124f1e508fcad2eedf5326a668fa
  Author: Charles Zablit <zablitcharles at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/unittests/Platform/PlatformSiginfoTest.cpp

  Log Message:
  -----------
  [lldb] Remove CompilerType::GetIndexOfFieldWithName (#135963)

This patch removes the unused `CompilerType::GetIndexOfFieldWithName` API (it wasn't used apart from in a single testcase). Given we have so many similarly named APIs already, it's best not to maintain this API that's not really used (and isnt tested).


  Commit: f9c01b59e3d5239a4e42f94d5edbeb3698a81032
      https://github.com/llvm/llvm-project/commit/f9c01b59e3d5239a4e42f94d5edbeb3698a81032
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/smallest-and-widest-types.ll

  Log Message:
  -----------
  [LV] Fix '-1U' bits for smallest type in getSmallestAndWidestTypes (#135783)

For loops without loads/stores, where the smallest/widest types are
calculated from the reduction, the smallest type returned is always -1U
and it actually returns the smallest type as the widest type. This PR
fixes the calculation.

This follows from
https://github.com/llvm/llvm-project/pull/132190#discussion_r2044232607


  Commit: 23e3cbb2e82b62586266116c8ab77ce68e412cf8
      https://github.com/llvm/llvm-project/commit/23e3cbb2e82b62586266116c8ab77ce68e412cf8
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    R mlir/include/mlir/Dialect/Func/Transforms/OneToNFuncConversions.h
    M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
    M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
    M mlir/include/mlir/Transforms/DialectConversion.h
    R mlir/include/mlir/Transforms/OneToNTypeConversion.h
    M mlir/lib/Dialect/Func/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
    M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/SCF/Transforms/OneToNTypeConversion.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Transforms/Utils/CMakeLists.txt
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    R mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
    R mlir/test/Conversion/OneToNTypeConversion/one-to-n-type-conversion.mlir
    R mlir/test/Conversion/OneToNTypeConversion/scf-structural-one-to-n-type-conversion.mlir
    M mlir/test/Transforms/decompose-call-graph-types.mlir
    M mlir/test/lib/Conversion/CMakeLists.txt
    R mlir/test/lib/Conversion/OneToNTypeConversion/CMakeLists.txt
    R mlir/test/lib/Conversion/OneToNTypeConversion/TestOneToNTypeConversionPass.cpp
    M mlir/tools/mlir-opt/CMakeLists.txt
    M mlir/tools/mlir-opt/mlir-opt.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [mlir][Transforms] Delete 1:N dialect conversion driver (#121389)

The 1:N dialect conversion driver has been deprecated. Use the regular
dialect conversion driver instead. This commit deletes the 1:N dialect
conversion driver.

Note for LLVM integration: If you are already using the regular dialect conversion, but still have argument materializations in your code base, simply delete all `addArgumentMaterialization` calls.

For details, see
https://discourse.llvm.org/t/rfc-merging-1-1-and-1-n-dialect-conversions/82513.


  Commit: 5a993558c5fa52c605d984e0effdc1cd3b452476
      https://github.com/llvm/llvm-project/commit/5a993558c5fa52c605d984e0effdc1cd3b452476
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/store.ll
    M llvm/test/Transforms/InstCombine/sub-gep.ll
    M llvm/test/Transforms/InstSimplify/gep.ll

  Log Message:
  -----------
  [InstSimplify] Fold `getelementptr inbounds null, idx -> null` (#130742)

Proof: https://alive2.llvm.org/ce/z/5ZkPx-
See also https://github.com/llvm/llvm-project/pull/130734 for the motivation.


  Commit: 47f4f39265b31e2249536b74d33d63508cdfb457
      https://github.com/llvm/llvm-project/commit/47f4f39265b31e2249536b74d33d63508cdfb457
  Author: Zhuoran Yin <zhuoryin at amd.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
    M mlir/test/Dialect/AMDGPU/transfer-read-to-load.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [MLIR][AMDGPU] Fixing word alignment check for bufferload fastpath (#135982)

`delta_bytes % (32 ceilDiv elementBitwidth) != 0` condition is incorrect
in https://github.com/llvm/llvm-project/pull/135014

For example, last load is issued to load only one last element of fp16.
Then `delta bytes = 2`, `(32 ceildiv 16) = 2`. In this case it will be
judged as word aligned. It will send to fast path but get all zeros for
the fp16 because it cross the word boundary.

In reality the equation should be just `delta_bytes % 4` , since a word
is 4 bytes. This PR fix the bug by amending the mod target to 4.


  Commit: fb00fa56b51b191d026eec104905e416bf34bbda
      https://github.com/llvm/llvm-project/commit/fb00fa56b51b191d026eec104905e416bf34bbda
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/test/AST/ast-dump-APValue-lvalue.cpp
    R clang/test/AST/ast-dump-APValue-todo.cpp

  Log Message:
  -----------
  [clang] Implement dump() for MemberPointer APValues (#136130)

Print the member pointer decl and the path.


  Commit: 0348ff515854438cab8a48b79e8839cb99d48701
      https://github.com/llvm/llvm-project/commit/0348ff515854438cab8a48b79e8839cb99d48701
  Author: Tom Honermann <tom.honermann at intel.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/SYCLKernelInfo.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    A clang/lib/CodeGen/CodeGenSYCL.cpp
    M clang/lib/CodeGen/CodeGenTypes.h
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    A clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp

  Log Message:
  -----------
  [SYCL] Basic code generation for SYCL kernel caller offload entry point functions. (#133030)

A function declared with the `sycl_kernel_entry_point` attribute,
sometimes called a SYCL kernel entry point function, specifies a pattern
from which the parameters and body of an offload entry point function,
sometimes called a SYCL kernel caller function, are derived.

SYCL kernel caller functions are emitted during SYCL device compilation.
Their parameters and body are derived from the `SYCLKernelCallStmt`
statement and `OutlinedFunctionDecl` declaration associated with their
corresponding SYCL kernel entry point function. A distinct SYCL kernel
caller function is generated for each SYCL kernel entry point function
defined as a non-inline function or ODR-used in the translation unit.

The name of each SYCL kernel caller function is parameterized by the
SYCL kernel name type specified by the `sycl_kernel_entry_point`
attribute attached to the corresponding SYCL kernel entry point
function. For the moment, the Itanium ABI mangled name for typeinfo data
(`_ZTS<type>`) is used to name these functions; a future change will
switch to a more appropriate naming scheme.

The calling convention used for a SYCL kernel caller function is target
dependent. Support for AMDGCN, NVPTX, and SPIR targets is currently
provided. These functions are required to observe the language
restrictions for SYCL devices as specified by the SYCL 2020
specification; this includes a forward progress guarantee and prohibits
recursion.

Only SYCL kernel caller functions, functions declared as
`SYCL_EXTERNAL`, and functions directly or indirectly referenced from
those functions should be emitted during device compilation. Pruning of
other declarations has not yet been implemented.

---------

Co-authored-by: Elizabeth Andrews <elizabeth.andrews at intel.com>


  Commit: 40417915a161e87b398f1cc3e9b7c159207abd77
      https://github.com/llvm/llvm-project/commit/40417915a161e87b398f1cc3e9b7c159207abd77
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Preprocessor/embed_weird.cpp

  Log Message:
  -----------
  [clang] Implement StmtPrinter for EmbedExpr (#135957)

Tries to avoid memory leaks previously caused by saving filename by
allocating memory in the preprocessor.

Fixes https://github.com/llvm/llvm-project/issues/132641
Fixes https://github.com/llvm/llvm-project/issues/107869

---------

Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


  Commit: 3dfdb4dad5da316a9de88828e9feebca99ba7ae4
      https://github.com/llvm/llvm-project/commit/3dfdb4dad5da316a9de88828e9feebca99ba7ae4
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/X86/half.ll
    M llvm/test/CodeGen/X86/poison-ops.ll
    M llvm/test/CodeGen/X86/pr119158.ll

  Log Message:
  -----------
  [SelectionDAG] Propagate poison in getNode with two operands if the input is poison. (#135387)

Propagation to poison in function `SDValue
SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,SDValue
N1, SDValue N2, const SDNodeFlags Flags) ` if one of the input is
poison.
 
 The patch also revert the test cases
 llvm/test/CodeGen/X86/pr119158.ll
 llvm/test/CodeGen/X86/half.ll
 
which are mentioned in
https://github.com/llvm/llvm-project/pull/125883#discussion_r2021390919

---------

Co-authored-by: Amy Kwan <amy.kwan1 at ibm.com>


  Commit: ea8b1bf8895aa6b8a5c668577f845e6a13ddc2e9
      https://github.com/llvm/llvm-project/commit/ea8b1bf8895aa6b8a5c668577f845e6a13ddc2e9
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  [X86][FastISel] Refactor bitcast selection into separate function (NFC)


  Commit: e6f23b383e0c08ecc380d879035e594019f34211
      https://github.com/llvm/llvm-project/commit/e6f23b383e0c08ecc380d879035e594019f34211
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  Remove names for unused parameters; NFC

Fixes #21393


  Commit: 927a0cb8d654fe11dc010dc3d05e200772709ce6
      https://github.com/llvm/llvm-project/commit/927a0cb8d654fe11dc010dc3d05e200772709ce6
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll

  Log Message:
  -----------
  [LV][NFC] Regenerate AArch64/veclib-* test CHECK lines (#136138)


  Commit: bd0b903a91721570e0bc98f7ed8b0aaf2f2a628b
      https://github.com/llvm/llvm-project/commit/bd0b903a91721570e0bc98f7ed8b0aaf2f2a628b
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/lib/Frontend/FrontendAction.cpp

  Log Message:
  -----------
  Mark the file opened by DeserializedDeclsSourceRangePrinter as a text file (#135842)

This PR will fix the following lit failure seeing on z/OS and most likely on Windows:

`FAIL: Clang :: Frontend/dump-minimization-hints.cpp`

Without `OF_TextWithCRLF` flag, a file is treated as binary and is read improperly, at least on z/OS.


  Commit: 728f6de4177a7e4d8030cb37ace525e2af97d247
      https://github.com/llvm/llvm-project/commit/728f6de4177a7e4d8030cb37ace525e2af97d247
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  [gn build] Port 0348ff515854


  Commit: 9ee4fdf4990f7dbdc0cfc30a8f733f676dbdcb51
      https://github.com/llvm/llvm-project/commit/9ee4fdf4990f7dbdc0cfc30a8f733f676dbdcb51
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    A flang/test/Fir/CUDA/cuda-stream.mlir
    M flang/tools/fir-opt/fir-opt.cpp

  Log Message:
  -----------
  [flang][cuda] Introduce stream cast op (#136050)

Cast a stream object reference as a GPU async token. This is useful to
be able to connect the stream representation of CUDA Fortran and the
async mechanism of the GPU dialect.
This op will later become a no op.


  Commit: 10f75b8ef7edc80759b9e916e72e17b1c2e9abcb
      https://github.com/llvm/llvm-project/commit/10f75b8ef7edc80759b9e916e72e17b1c2e9abcb
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    A lld/test/ELF/aarch64-execute-only-plt.s
    M lld/test/ELF/aarch64-gnu-ifunc-plt.s
    M lld/test/ELF/aarch64-plt.s

  Log Message:
  -----------
  [LLD][ELF][AArch64] Mark .plt and .iplt with PURECODE flag (#134798)

Mark the synthetic sections `.plt` and `.iplt` with the
`SHF_AARCH64_PURECODE` section flag, allowing them to be placed in an
executable-only segment.


  Commit: 45f27167bcd312a8691365a63719fab136972692
      https://github.com/llvm/llvm-project/commit/45f27167bcd312a8691365a63719fab136972692
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [AArch64][Docs] Add release note for execute-only support on AArch64 (#134799)


  Commit: 41675fa5b88dc703b3b1d96de668281582f21f3b
      https://github.com/llvm/llvm-project/commit/41675fa5b88dc703b3b1d96de668281582f21f3b
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll

  Log Message:
  -----------
  [VPlan] Simplify vp.merge true, (or x, y), x -> vp.merge y, true, x (#135017)

With EVL tail folding an AnyOf reduction will emit an i1 vp.merge like

vp.merge true, (or phi, cond), phi, evl

We can remove the or and optimise this to

vp.merge cond, true, phi, evl

Which makes it slightly easier to pattern match in #134898.

This also adds a pattern matcher for calls to help match this.

Blended AnyOf reductions will use an and instead of an or, which we may
also be able to simplify in a later patch.


  Commit: 8d4b19e3d4a8cee8899d5a293972aef48f9bdb7f
      https://github.com/llvm/llvm-project/commit/8d4b19e3d4a8cee8899d5a293972aef48f9bdb7f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVMV0Elimination.cpp

  Log Message:
  -----------
  [RISCV] Remove skipFunction from RISCVVMV0Elimination. (#136080)

skipFunction disables the pass for functions with optnone attribute.
This pass is important to correct register allocation so I don't think
it should be disabled.


  Commit: 427a7792b15d28a7962e42b5f677bfde9383e975
      https://github.com/llvm/llvm-project/commit/427a7792b15d28a7962e42b5f677bfde9383e975
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M lld/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [LLD][Docs] Add release notes for execute-only support on AArch64 (#134804)


  Commit: 7daa5010ab6a2ae77ac88ffd84e2cc37a2e11faa
      https://github.com/llvm/llvm-project/commit/7daa5010ab6a2ae77ac88ffd84e2cc37a2e11faa
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
    M clang/test/CodeGen/builtins-nvptx-native-half-type.c
    M clang/test/CodeGen/builtins-nvptx.c
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
    A llvm/test/CodeGen/NVPTX/fabs-intrinsics.ll
    M llvm/test/CodeGen/NVPTX/math-intrins-sm80-ptx70-autoupgrade.ll
    M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll

  Log Message:
  -----------
  [NVPTX] Cleanup and document nvvm.fabs intrinsics, adding f16 support (#135644)

This change unifies the NVVM intrinsics for floating point absolute
value into two new overloaded intrinsics "llvm.nvvm.fabs.*" and
"llvm.nvvm.fabs.ftz.*". Documentation has been added specifying the
semantics of these intrinsics to clarify how they differ from
"llvm.fabs.*". In addition, support for these new intrinsics is
extended to cover the f16 variants.


  Commit: 78857e7263ba555fb40b286c6b40fcd35a85a65a
      https://github.com/llvm/llvm-project/commit/78857e7263ba555fb40b286c6b40fcd35a85a65a
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    A clang/include/clang/CIR/ABIArgInfo.h
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/MissingFeatures.h
    A clang/lib/CIR/CodeGen/ABIInfo.h
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.h
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    A clang/lib/CIR/CodeGen/TargetInfo.cpp
    A clang/lib/CIR/CodeGen/TargetInfo.h
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/test/CIR/CodeGen/call.cpp
    M clang/test/CIR/IR/call.cir
    A clang/test/CIR/IR/invalid-call.cir

  Log Message:
  -----------
  [CIR] cir.call with scalar return type (#135552)

This PR introduces support for calling functions with a scalar return
type to the upstream. This PR also includes an initial version of
`CIRGenTargetInfo` and related definitions which are essential for the
CIRGen of call ops.

Related to #132487 .


  Commit: d83b639b4c62924deef504f46e573e7d995ea10d
      https://github.com/llvm/llvm-project/commit/d83b639b4c62924deef504f46e573e7d995ea10d
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Lex/ModuleLoader.h
    M clang/include/clang/Lex/PPCallbacks.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/LoopHint.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/include/clang/Sema/SemaObjC.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaObjC.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaSwift.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp

  Log Message:
  -----------
  Reland [clang] Unify `SourceLocation` and `IdentifierInfo*` pair-like data structures to `IdentifierLoc` (#136077)

This PR reland https://github.com/llvm/llvm-project/pull/135808, fixed
some missed changes in LLDB.
I found this issue when I working on
https://github.com/llvm/llvm-project/pull/107168.

Currently we have many similiar data structures like:
- std::pair<IdentifierInfo *, SourceLocation>.
- Element type of ModuleIdPath.
- IdentifierLocPair.
- IdentifierLoc.

This PR unify these data structures to IdentifierLoc, moved
IdentifierLoc definition to SourceLocation.h, and deleted other similer
data structures.

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: 1467b3b0a86fcd4a6b3225fbafd959ee781b5b5c
      https://github.com/llvm/llvm-project/commit/1467b3b0a86fcd4a6b3225fbafd959ee781b5b5c
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [Clang][Docs] Add release note for execute-only support on AArch64 (#134802)


  Commit: 2007dcfeb86fe272fcd16283f9bca45292e3c630
      https://github.com/llvm/llvm-project/commit/2007dcfeb86fe272fcd16283f9bca45292e3c630
  Author: Snehasish Kumar <snehasishk at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    A llvm/test/Transforms/GVN/pre-invalid-prof-metadata.ll
    A llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-hoist.ll
    A llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-sink.ll

  Log Message:
  -----------
  Reapply [Metadata] Preserve MD_prof when merging instructions when one is missing. (#135418)

Preserve branch weight metadata when merging instructions if one of the
instructions is missing metadata. This is similar in behaviour to what
we do today for other types of metadata such as mmra, memprof and
callsite metadata.

Also add a legality check when merging prof metadata based on
instruction type. Without this check GVN PRE optimizations result in
prof metadata on phi nodes which break the module verifier.

Build failure caught by
https://lab.llvm.org/buildbot/#/builders/113/builds/6621
```
!9185 = !{!"branch_weights", i32 3912, i32 802}
Wrong number of operands
!9185 = !{!"branch_weights", i32 3912, i32 802}
fatal error: error in backend: Broken module found, compilation aborted!
```

Reverts #134200 with additional changes.


  Commit: 909a9feda9292be8a7322f07dd167a603309b541
      https://github.com/llvm/llvm-project/commit/909a9feda9292be8a7322f07dd167a603309b541
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/CodeGen/AArch64/ubsan-handler-pass-by-ref.c
    M clang/test/CodeGen/allow-ubsan-check.c
    M clang/test/CodeGen/attr-counted-by.c
    A clang/test/CodeGen/ubsan-attr.cpp

  Log Message:
  -----------
  [Reland][Clang][CodeGen][UBSan] Add more precise attributes to recoverable ubsan handlers (#135135)

This patch relands https://github.com/llvm/llvm-project/pull/130990.
If the check value is passed by reference, add `memory(read)`.

Original PR description:

This patch adds `memory(argmem: read, inaccessiblemem: readwrite)` to
**recoverable** ubsan handlers in order to unblock some
memory/loop optimizations. It provides an average of 3% performance
improvement on llvm-test-suite (except for 49 test failures due to ubsan
diagnostics).


  Commit: ecbd2d5e148cc1f2e5795d13d752e2a1c79cce1a
      https://github.com/llvm/llvm-project/commit/ecbd2d5e148cc1f2e5795d13d752e2a1c79cce1a
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/AST/ByteCode/arrays.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp

  Log Message:
  -----------
  [clang][ExprConst] Diagnose ptr subs with non-zero offset (#135938)

The attached test case was missing the note.


  Commit: 70e2acf0c5650b8862c41f2697a9e0485ecb17be
      https://github.com/llvm/llvm-project/commit/70e2acf0c5650b8862c41f2697a9e0485ecb17be
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/new-delete.cpp

  Log Message:
  -----------
  [clang][bytecode] Check if operator delete calls are in the right frame (#136141)

This is only permitted in a std::allocator::deallocate frame.


  Commit: a9dff35ad251cd20376ab25b26d1e5394e18ff4c
      https://github.com/llvm/llvm-project/commit/a9dff35ad251cd20376ab25b26d1e5394e18ff4c
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/extend-variable-liveness.c

  Log Message:
  -----------
  [Clang] Enable -fextend-lifetimes at -Og (#118026)

Recently, a new flag -fextend-variable-liveness was added that prevents
optimizations from removing the values of source variables in some cases,
improving the quality of debugging for optimized builds where it is
enabled.

Following the inclusion of the flag, this patch enables it by default
when `-Og` is set. Currently, `-Og` is equivalent to `-O1` - it is
effectively just an alias. By enabling `-fextend-lifetimes`, this patch
changes the code generated by Clang with `-Og` to have reduced
optimization and greater debuggability than `-O1`, differentiating the
two according to their respective purposes. This idea was discussed
previously on Discourse where there was general agreement with the
principle of this change:

https://discourse.llvm.org/t/rfc-redefine-og-o1-and-add-a-new-level-of-og


  Commit: 1fcf78d15318e3fbe384c635a0ae651be89d0686
      https://github.com/llvm/llvm-project/commit/1fcf78d15318e3fbe384c635a0ae651be89d0686
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/masked-loads-side-effects-after-vec.ll

  Log Message:
  -----------
  [SLP]Cache data for compressed loads before codegen

Need to cache and use cached data for compressed loads before codegen to
avoid side-effects, caused by the earlier vectorization, which may
affect the analysis.


  Commit: 83116209331ad6a5a45f1b8735ad5bce9e6ef761
      https://github.com/llvm/llvm-project/commit/83116209331ad6a5a45f1b8735ad5bce9e6ef761
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M lldb/source/Host/common/Editline.cpp
    M lldb/test/API/functionalities/statusline/TestStatusline.py

  Log Message:
  -----------
  [lldb] Fix lock inversion between statusline mutex and output mutex (#135956)

Fix a deadlock between the statusline mutex (in Debugger) and the output
file mutex (in LockedStreamFile). The deadlock occurs when the main
thread is calling the statusline callback while holding the output mutex
in Editline, while the default event thread is trying to update the
statusline.

Extend the uncritical section so we can redraw the statusline there.
The loop in Editline::GetCharacter should be unnecessary. It would only
loop if we had a successful read with length zero, which shouldn't be
possible or when we can't convert a partial UTF-8 character, in which
case we bail out.

rdar://149251156


  Commit: 168092e2ba432c0995806470790fa5aef3d7315b
      https://github.com/llvm/llvm-project/commit/168092e2ba432c0995806470790fa5aef3d7315b
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
    A llvm/test/CodeGen/DirectX/legalize-freeze.ll

  Log Message:
  -----------
  [DirectX] Legalize Freeze instruction (#136043)

fixes #135719

LLVM 3.7 did not have a freeze instruction
Further this instruction is really only used as syntactic sugar
in LLVM's optimizer passes to not aggressively optimize things that
could be undef or poison ie x*2 to x+x.
Most backends treat it as a no-op so we will do the same
by removing it and replacing its uses with its input.


  Commit: 1267facdc6f254fd9bd85cd8a033e7128b6e053d
      https://github.com/llvm/llvm-project/commit/1267facdc6f254fd9bd85cd8a033e7128b6e053d
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  [bazel] Remove duplicate dependency (#136152)

AffineDialect was duplicated in the deps list since
47f4f39265b31e2249536b74d33d63508cdfb457


  Commit: 5fe91f1b5948591b75416ce529b3179234c8d93d
      https://github.com/llvm/llvm-project/commit/5fe91f1b5948591b75416ce529b3179234c8d93d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/catchswitch-block-in-use.ll

  Log Message:
  -----------
  [SLP]Check for catchswitch block before doing the analysis of the instructions

Need to skip the analysis of the catchswitch blocks to avoid a compiler
crash when trying to get the first instruction in the block.


  Commit: 1f224d889dfa89a293e3efa5b04740f634454370
      https://github.com/llvm/llvm-project/commit/1f224d889dfa89a293e3efa5b04740f634454370
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    A llvm/test/Transforms/IndVarSimplify/debugloc-rem-subst.ll

  Log Message:
  -----------
  [DebugInfo][IndVarSimplify] Propagate source loc when simplifying rem (#135399)

When IndVarSimplify simplifies a rem of the induction variable to a cmp
and select, only the select currently receives the rem's source
location; this patch propagates it to the cmp as well.

Found using https://github.com/llvm/llvm-project/pull/107279.


  Commit: 8210ca019839fc5430b3a95d7caf5c829df3232a
      https://github.com/llvm/llvm-project/commit/8210ca019839fc5430b3a95d7caf5c829df3232a
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.h
    M llvm/lib/Target/Sparc/SparcInstrVIS.td
    A llvm/test/CodeGen/SPARC/ctlz.ll

  Log Message:
  -----------
  [SPARC] Use lzcnt to implement CTLZ when we have VIS3



Reviewers: s-barannikov, brad0, rorth

Reviewed By: s-barannikov

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


  Commit: 2ef01048624dc2a564d5925d082a72a51bb97c48
      https://github.com/llvm/llvm-project/commit/2ef01048624dc2a564d5925d082a72a51bb97c48
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcInstrVIS.td
    A llvm/test/CodeGen/SPARC/bitcast.ll

  Log Message:
  -----------
  [SPARC] Use native bitcast instructions when we have VIS3



Reviewers: brad0, s-barannikov, rorth

Reviewed By: s-barannikov

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


  Commit: 52e10e6c3bad782380c8a931aabca2800b53a85d
      https://github.com/llvm/llvm-project/commit/52e10e6c3bad782380c8a931aabca2800b53a85d
  Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/docs/ClangOffloadPackager.rst
    M clang/test/Driver/clang-sycl-linker-test.cpp
    M clang/test/Driver/linker-wrapper.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M llvm/lib/Object/OffloadBinary.cpp

  Log Message:
  -----------
  [SYCL] Add clang-linker-wrapper changes to call clang-sycl-linker for SYCL offloads (#135683)

This PR is one of the many PRs in the SYCL upstreaming effort focusing
on device code linking during the SYCL offload compilation process. RFC:
https://discourse.llvm.org/t/rfc-offloading-design-for-sycl-offload-kind-and-spir-targets/74088

Approved PRs so far:
1. [Clang][SYCL] Introduce clang-sycl-linker to link SYCL offloading
device code (Part 1 of many) -
[Link](https://github.com/llvm/llvm-project/pull/112245)
2. [clang-sycl-linker] Replace llvm-link with API calls -
[Link](https://github.com/llvm/llvm-project/pull/133797)
3. [SYCL][SPIR-V Backend][clang-sycl-linker] Add SPIR-V backend support
inside clang-sycl-linker -
[Link](https://github.com/llvm/llvm-project/pull/133967)

This PR adds SYCL device code linking support to clang-linker-wrapper.

### Summary for this PR

Device code linking happens inside clang-linker-wrapper. In the current
implementation, clang-linker-wrapper does the following:

1. Extracts device code. Input_1, Input_2,.....
5. Group device code according to target devices Inputs[triple_1] = ....
Inputs[triple_2] = ....
6. For each group, i.e. Inputs[triple_i], a. Gather all the offload
kinds found inside those inputs in ActiveOffloadKinds b. Link all images
inside Inputs[triple_i] by calling clang --target=triple_i .... c.
Create a copy of that linked image for each offload kind and add it to
Output[Kind] list.

In SYCL compilation flow, there is a deviation in Step 3b. We call
device code splitting inside the 'clang --target=triple_i ....' call and
the output is now a 'packaged' file containing multiple device images.
This deviation requires us to capture the OffloadKind during the linking
stage and pass it along to the linking function (clang), so that clang
can be called with a unique option '--sycl-link' that will help us to
call 'clang-sycl-linker' under the hood (clang-sycl-linker will do SYCL
specific linking).

Our current objective is to implement an end-to-end SYCL offloading flow
and get it working. We will eventually merge our approach with the
community flow.

Thanks

---------

Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>


  Commit: 9ed4c705ac1c5c8797f328694f6cd22fbcdae03b
      https://github.com/llvm/llvm-project/commit/9ed4c705ac1c5c8797f328694f6cd22fbcdae03b
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/SanitizerMetadata.cpp
    M clang/test/CodeGen/memtag-globals.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/unittests/IR/VerifierTest.cpp

  Log Message:
  -----------
  [MTE] decide whether to tag global in AsmPrinter (#135891)

there are llvm passes that would invalidate the decision we make in
clang.


  Commit: 6bac20b391edce2bde348e59f5be2143157304b5
      https://github.com/llvm/llvm-project/commit/6bac20b391edce2bde348e59f5be2143157304b5
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/test/CodeGen/memtag-globals-asm.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp

  Log Message:
  -----------
  [MTE] do not tag zero sized globals (#136020)


  Commit: 386cc00d8d0a8c211b3d25d08fce4c7e6ae36059
      https://github.com/llvm/llvm-project/commit/386cc00d8d0a8c211b3d25d08fce4c7e6ae36059
  Author: Chao Chen <chao.chen at intel.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td

  Log Message:
  -----------
  [MLIR][XeGPU] Update XeGPU doc (#136155)


  Commit: 7866fc2bd9f5e87ffdccecd06f5f877b81218bcd
      https://github.com/llvm/llvm-project/commit/7866fc2bd9f5e87ffdccecd06f5f877b81218bcd
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  [RISCV] Rewrite vrgather.vx undef, (vmv.s.x), 0, v0 as vmv.v.x (#136010)

This extends the DAG combine introduced in 336b2909 to handle the case
where the prior value is defined by a vmv.s.x instead of a vmv.v.x. If
the vrgather splats the single source element, and has no passthru we
can replace it with a vmv.v.x - which will in turn usually get folded
into a vmerge if a select follows.


  Commit: 3133c956c57c5b952d3289323891dcdc252ea333
      https://github.com/llvm/llvm-project/commit/3133c956c57c5b952d3289323891dcdc252ea333
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp

  Log Message:
  -----------
  [clang-sycl-linker] Fix a warning

This patch fixes:

  clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp:368:14: error:
  moving a local object in a return statement prevents copy elision
  [-Werror,-Wpessimizing-move]


  Commit: f9729859446180c1f0afc386513f7476f5f220e0
      https://github.com/llvm/llvm-project/commit/f9729859446180c1f0afc386513f7476f5f220e0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  [X86] combineGatherScatter - use FoldConstantArithmetic for truncation of constant build vectors (#136033)

No need to explicitly check with BuildVectorSDNode::isConstant - FoldConstantArithmetic can handle this, including through bitcasts etc.


  Commit: d56afced16f4274c1b142a77a3282760d051cea0
      https://github.com/llvm/llvm-project/commit/d56afced16f4274c1b142a77a3282760d051cea0
  Author: Nicolas van Kempen <nvankemp at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-operator-in-strlen-in-alloc.c
    M clang-tools-extra/test/clang-tidy/checkers/google/explicit-constructor.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/static-assert.c
    M clang-tools-extra/test/clang-tidy/checkers/misc/unused-alias-decls.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal-delimiter.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal-replace-shorter.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/shrink-to-fit.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-transparent-functors.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp

  Log Message:
  -----------
  [NFC][clang-tidy] Remove {{^}} clauses in some tests (2/N) (#135824)

`check_clang_tidy` now matches full lines only, so `{{^}}` clauses are
no longer necessary.

I am splitting those changes over multiple PRs to make review easier.
Numbering them but the actual order doesn't matter.


  Commit: 09680dc18d460d439a89a21c69c64508457602ec
      https://github.com/llvm/llvm-project/commit/09680dc18d460d439a89a21c69c64508457602ec
  Author: Nicolas van Kempen <nvankemp at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/reserved-identifier-c.c
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/reserved-identifier.cpp
    M clang-tools-extra/test/clang-tidy/checkers/google/readability-casting.cpp
    M clang-tools-extra/test/clang-tidy/checkers/llvm/qualified-auto.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/static-assert.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/unary-static-assert.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-bool-literals-ignore-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-cxx98.cpp

  Log Message:
  -----------
  [NFC][clang-tidy] Remove {{^}} clauses in some tests (3/N) (#135826)

`check_clang_tidy` now matches full lines only, so `{{^}}` clauses are
no longer necessary.

I am splitting those changes over multiple PRs to make review easier.
Numbering them but the actual order doesn't matter.


  Commit: 8b46b98b916050e739cf3b740526e5c2f6936dad
      https://github.com/llvm/llvm-project/commit/8b46b98b916050e739cf3b740526e5c2f6936dad
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
    A llvm/test/CodeGen/AMDGPU/fptrunc.v2f16.fpmath.ll

  Log Message:
  -----------
  AMDGPU: Fix the double rounding issue in v2f64 -> v2f16 conversion (#135659)

On targets that support v_cvt_pk_f16_f32 instruction, if we make v2f64
-> v2f16 Legal, we will generate the following sequence of instructions:
  v_cvt_f32_f64_e32 v1, s[6:7]
  v_cvt_f32_f64_e32 v2, s[4:5]
  v_cvt_pk_f16_f32 v1, v2, v1
It possibly returns imprecise results due to double rounding. This patch
fixes the issue by not setting the conversion Legal. While we may still
expect the above sequence of code when unsafe fpmath is set, I hope
https://github.com/llvm/llvm-project/pull/134738 can address that
performance concern.

Fixes: SWDEV-523856


  Commit: e2c382346f3d3e04a784ad69cbe11ec575b26444
      https://github.com/llvm/llvm-project/commit/e2c382346f3d3e04a784ad69cbe11ec575b26444
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/test/Fir/comdat.fir
    M flang/test/Fir/target-rewrite-complex.fir

  Log Message:
  -----------
  [flang] Add 32-bit AIX target specific in order to build 32-bit flang-rt (#136051)


  Commit: 206321b47a877e503dc8bfec7037566da61157fc
      https://github.com/llvm/llvm-project/commit/206321b47a877e503dc8bfec7037566da61157fc
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  Reapply "[NFC][CFI] Avoid clang error in CFI tests" (#136030) (#136177)

PR #136030 is expected to work after #136032.

This reverts commit 6b0c8c4acd31eba83bf20ab1cf8729b2153e383c.


  Commit: 9d5f16308a2a1d778b9022c3a06a3cecc6d5e066
      https://github.com/llvm/llvm-project/commit/9d5f16308a2a1d778b9022c3a06a3cecc6d5e066
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M lldb/source/Target/ThreadPlanStepOut.cpp

  Log Message:
  -----------
  [lldb][nfc] Factor out code from ThreadPlanStepOut ctor (#136159)

A future patch will need to create a new constructor for this class, and
extracting code out of its sole existing constructor will make this
easier.

This commit creates a helper function for the code computing the target
frame to step out to.


  Commit: 09069088ddf8cf0ae28dce7efe181d63cb132f3a
      https://github.com/llvm/llvm-project/commit/09069088ddf8cf0ae28dce7efe181d63cb132f3a
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll

  Log Message:
  -----------
  [NVPTX] Add auto-upgrade rules for fabs.{f,d,ftz.f} (#136150)

These auto-upgrade rules are required after these intrinsics were
removed in #135644


  Commit: da959c92c5a46abd59d38d26d5e0758d48fb7f65
      https://github.com/llvm/llvm-project/commit/da959c92c5a46abd59d38d26d5e0758d48fb7f65
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/test/Transforms/simplifyintrinsics.fir

  Log Message:
  -----------
  [flang] Fixed out-of-bounds access in SimplifyIntrinsics. (#136171)

When the mask is scalar, it is incorrect to cast it to
!fir.box<!fir.array<1xlogical<>>>, because the coordinate
operation will try to read the dim-1 stride from the box
to get the address of the first element. Even though
the stride value will be multiplied by 0, and does not matter,
it is still a read past the allocated box object.
Instead, we should just use box_addr to get the address
of the scalar mask.


  Commit: 06963fb9c79ae012de5796b73bb810f8da09728e
      https://github.com/llvm/llvm-project/commit/06963fb9c79ae012de5796b73bb810f8da09728e
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M openmp/runtime/src/kmp_config.h.cmake
    M openmp/runtime/src/z_Linux_util.cpp

  Log Message:
  -----------
  [OpenMP] Disable load balance on Haiku (#136082)

Haiku does not have a means of retrieving the desired information
and the -1 setting causes the code to fallback anyway.


  Commit: 1042d9988764e16e5f6fd984d362042b2fadd0c6
      https://github.com/llvm/llvm-project/commit/1042d9988764e16e5f6fd984d362042b2fadd0c6
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/TestDataFormatterLibcxxInvalidVectorSimulator.py

  Log Message:
  -----------
  disable test on older compilers (#136186)


  Commit: 85110ccee90380a9d2bc930fae8fb0fa395d58d6
      https://github.com/llvm/llvm-project/commit/85110ccee90380a9d2bc930fae8fb0fa395d58d6
  Author: Alexander Kornienko <alexfh at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  [SLP] Replace most uses of for_each with range-for loops. NFC (#136146)

This removes a bit of complexity from the code, where it doesn't seem to
be justified.


  Commit: b30100b87f24847afd6407b4939a184ebcf16ef9
      https://github.com/llvm/llvm-project/commit/b30100b87f24847afd6407b4939a184ebcf16ef9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/test/MC/RISCV/corev/XCVmem-invalid.s

  Log Message:
  -----------
  [RISCV] Check that both registers of a CV Reg-Reg memory address are GPRs. (#136079)

The assembly parser was checking for any register instead of GPR.

I've removed the custom diagnostic message from the RegReg operand to
give a less confusing error on bad input. The mnemonics are shared with
other encodings that don't use reg-reg memory operand.

I also fixed the parsed operand location, but I'm not sure it matters.


  Commit: 295e56c0a63a06f35629c8fbabc880e835146ff1
      https://github.com/llvm/llvm-project/commit/295e56c0a63a06f35629c8fbabc880e835146ff1
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/shuffle-permute.ll

  Log Message:
  -----------
  [RISCV] Add a couple of cost model tests for shuffles requiring legalization


  Commit: 1c35f8145a79b5693b1517d9f4517a1ade5a95e4
      https://github.com/llvm/llvm-project/commit/1c35f8145a79b5693b1517d9f4517a1ade5a95e4
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  [clang][SemaARM][NFC] clang-format aarch64 builtin check (#136188)

Going to modify this code so needs formatting.

Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>


  Commit: 9f9c1f93819d441c561d18a73a55bcb6d8a692df
      https://github.com/llvm/llvm-project/commit/9f9c1f93819d441c561d18a73a55bcb6d8a692df
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Target/ThreadPlanStepOut.h
    M lldb/source/Target/ThreadPlanStepOut.cpp

  Log Message:
  -----------
  [lldb][nfc] Split the constructor of ThreadPlanStepOut (#136160)

A subsequent commit will create a new constructor for ThreadPlanStepOut,
which needs to reuse much of the same logic of the existing constructor.
This commit places all of that reusable logic into a separate function.


  Commit: 91f9f0fa1e3a776006fcbdb9a9c975682f35b10b
      https://github.com/llvm/llvm-project/commit/91f9f0fa1e3a776006fcbdb9a9c975682f35b10b
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-launch.fir
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf

  Log Message:
  -----------
  [flang][cuda] Update cuf.kernel_launch stream and conversion (#136179)

Update `cuf.kernel_launch` to take the stream as a reference. Update the
conversion to insert the `cuf.stream_cast` op so the stream can be set
as dependency.


  Commit: 91c2607aace5ce910d0514dc5627651eade9c7d0
      https://github.com/llvm/llvm-project/commit/91c2607aace5ce910d0514dc5627651eade9c7d0
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-private-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90

  Log Message:
  -----------
  [flang][acc] Avoid implicitly privatizing IVs already privatized (#136181)

When generating `acc.loop`, the IV was always implicitly privatized.
However, if the user explicitly privatized it, the IR generated wasn't
quite right.

For example:
```
  !$acc loop private(i)
  do i = 1, n
    a(i) = b(i)
  end do
```

The IR generated looked like:
```
    %65 = acc.private varPtr(%19#0 : !fir.ref<i32>) -> !fir.ref<i32>
{implicit = true, name = "i"}
    %66:2 = hlfir.declare %65 {uniq_name = "_QFEi"} : (!fir.ref<i32>) ->
(!fir.ref<i32>, !fir.ref<i32>)
    %67 = acc.private varPtr(%66#0 : !fir.ref<i32>) -> !fir.ref<i32>
{name = "i"}
    acc.loop  private(@privatization_ref_i32 -> %65 : !fir.ref<i32>,
@privatization_ref_i32 -> %67 : !fir.ref<i32>) control(%arg0 : i32) =
(%c1_i32_46 : i32) to (%c10_i32_47 : i32)  step (%c1_i32_48 : i32) {
      fir.store %arg0 to %66#0 : !fir.ref<i32>
```

In order to fix this, we first process all of the clauses. Then when
attempting to generate implicit private IV, we look for an already
existing data clause operation.

The result is the following IR:
```
    %65 = acc.private varPtr(%19#0 : !fir.ref<i32>) -> !fir.ref<i32>
{name = "i"}
    %66:2 = hlfir.declare %65 {uniq_name = "_QFEi"} : (!fir.ref<i32>) ->
(!fir.ref<i32>, !fir.ref<i32>)
    acc.loop  private(@privatization_ref_i32 -> %65 : !fir.ref<i32>)
control(%arg0 : i32) = (%c1_i32_46 : i32) to (%c10_i32_47 : i32)  step
(%c1_i32_48 : i32) {
      fir.store %arg0 to %66#0 : !fir.ref<i32>
```


  Commit: cdad39b7e007aa2a597f6fbeda28a6b269406916
      https://github.com/llvm/llvm-project/commit/cdad39b7e007aa2a597f6fbeda28a6b269406916
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/docs/LibASTImporter.rst
    M llvm/docs/ProgrammersManual.rst

  Log Message:
  -----------
  [llvm][docs] Replace `Optional<T>` with `std::optional<T>`

The `llvm::Optional` template is no more. Remove it from the error-handling section of LLVM the programmer's manual and the ASTImporter documentation.


  Commit: 30013872190ca05eb00333adb989c9f74b1cf3ac
      https://github.com/llvm/llvm-project/commit/30013872190ca05eb00333adb989c9f74b1cf3ac
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    A llvm/test/CodeGen/NVPTX/fp128-storage-type.ll
    M llvm/test/CodeGen/NVPTX/global-variable-big.ll

  Log Message:
  -----------
  [NVPTX] Basic support for fp128 as a storage type (#136006)

While fp128 operations are not natively supported in hardware, emulation
for them is supported by nvcc. This change adds basic support for
fp128 as a storage type allowing for lowering of IR containing these
types.

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


  Commit: b3a53cc721807f0cd0e3a1e6ddda03a85c774d4f
      https://github.com/llvm/llvm-project/commit/b3a53cc721807f0cd0e3a1e6ddda03a85c774d4f
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
    M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp

  Log Message:
  -----------
  [NFC][TableGen] Code cleanup in Wasm disassember emitter (#135992)

- Use range for loop to iterate over instructions.
- Emit generated code in anonymous namespace instead of `llvm` and
reduce the scope of this to just the type declarations.
- Emit generated tables as static constexpr
- Replace code to search in operand table with `std::search`.
- Skip the last "null" entry in PrefixTable and use range for loop to
search PrefixTable in the .cpp code.
- Do not generate `WebAssemblyInstructionTableSize` definition as its
already defined in the .cpp file.
- Remove {} for single statement loop/if/else bodies.


  Commit: 7119b0cfd3678a16664d07e3c7b15399c4b3a321
      https://github.com/llvm/llvm-project/commit/7119b0cfd3678a16664d07e3c7b15399c4b3a321
  Author: Bangtian Liu <liubangtian at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M mlir/include/mlir-c/Dialect/Linalg.h
    M mlir/lib/Bindings/Python/DialectLinalg.cpp
    M mlir/lib/CAPI/Dialect/Linalg.cpp
    M mlir/test/python/dialects/linalg/utils.py

  Log Message:
  -----------
  [MLIR][CAPI][python] expose the python binding for linalgOp.getIndexingMaps (#136054)

This PR is mainly about exposing the python bindings for
`linalgOp.getIndexingMaps`.

---------

Signed-off-by: Bangtian Liu <liubangtian at gmail.com>


  Commit: 889dad7f40932ea68c9e287e62441507f4f0f261
      https://github.com/llvm/llvm-project/commit/889dad7f40932ea68c9e287e62441507f4f0f261
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/src/demangle/Utility.h
    M llvm/include/llvm/Demangle/ItaniumDemangle.h
    M llvm/include/llvm/Demangle/Utility.h
    M llvm/unittests/Demangle/ItaniumDemangleTest.cpp
    M llvm/unittests/Demangle/OutputBufferTest.cpp

  Log Message:
  -----------
  [ItaniumDemangle] Add customizable printLeft/printRight APIs to OutputBuffer (#133249)

This patch includes the necessary changes for the LLDB feature proposed
in
https://discourse.llvm.org/t/rfc-lldb-highlighting-function-names-in-lldb-backtraces/85309.
The TL;DR is that we want to track where certain parts of a demangled
name begin/end so we can highlight them in backtraces.

We introduce a new `printLeft`/`printRight` API on `OutputBuffer` that a
client (in our case LLDB) can implement to track state while printing
the demangle tree. This requires redirecting all calls to to
`printLeft`/`printRight` to the `OutputBuffer`. One quirk with the new
API is that `Utility.h` would now depend on `ItaniumDemangle.h` and
vice-versa. To keep these files header-only I made the definitions
`inline` and implement the new APIs in `ItaniumDemangle.h` (so the
definition of `Node` is available to them).

Also introduces `notifyInsertion`/`notifyDeletion` APIs that a client can override to respond to cases where the `OutputBuffer` changes arbitrary parts of the name.


  Commit: a0b2a952266a22ed096a7670e33a611c145e3866
      https://github.com/llvm/llvm-project/commit/a0b2a952266a22ed096a7670e33a611c145e3866
  Author: vporpo <vporpodas at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Constant.h
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/include/llvm/SandboxIR/Value.h
    M llvm/lib/SandboxIR/Type.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement ConstantDataArray functions (#134729)

Mirrors LLVM IR.


  Commit: 12becfff035a33141a0b2fb3ea5d5558738ce7eb
      https://github.com/llvm/llvm-project/commit/12becfff035a33141a0b2fb3ea5d5558738ce7eb
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Target/ThreadPlanStepOut.h
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/ThreadPlanStepOut.cpp

  Log Message:
  -----------
  [lldb] Create ThreadPlanStepOut ctor that never skips frames (#136163)

The function QueueThreadPlanForStepOutNoShouldStop has the semantics of
"go this parent frame"; ThreadPlanStepOut needs to respect that, not
skipping over any frames it finds uninteresting. This commit creates a
constructor that respects such instruction.


  Commit: e8b506b2469cfe61efdb3c919aaf2d6c54654782
      https://github.com/llvm/llvm-project/commit/e8b506b2469cfe61efdb3c919aaf2d6c54654782
  Author: Chao Chen <chao.chen at intel.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/test/Dialect/XeGPU/invalid.mlir
    M mlir/test/Dialect/XeGPU/ops.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Switch to 1D representation for SIMT code (#135116)

This PR switches to using a 1D vector to represent SIMT code for simplification.


  Commit: 1756fcb8b0192281db641d2038c03b96015e29d4
      https://github.com/llvm/llvm-project/commit/1756fcb8b0192281db641d2038c03b96015e29d4
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/allocator_config.def
    M compiler-rt/lib/scudo/standalone/combined.h
    R compiler-rt/lib/scudo/standalone/local_cache.h
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    A compiler-rt/lib/scudo/standalone/size_class_allocator.h
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/tsd_test.cpp
    M compiler-rt/lib/scudo/standalone/tsd.h
    M compiler-rt/lib/scudo/standalone/tsd_shared.h
    M compiler-rt/lib/scudo/standalone/type_traits.h

  Log Message:
  -----------
  [scudo] Add primary option to enable/disable cache blocks. (#129794)

When configured this way, no primary blocks will be cached except the
batch class. Nothing else changes, no change in the page releasing
strategy.


  Commit: 94aa4bfba57cd5df5489ceca5c1b4b59cfcc1288
      https://github.com/llvm/llvm-project/commit/94aa4bfba57cd5df5489ceca5c1b4b59cfcc1288
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h

  Log Message:
  -----------
  [NVPTX] Fix a warning

This patch fixes:

  llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h:128:21: error: unused
  variable '_' [-Werror,-Wunused-variable]


  Commit: 209d8c8fa4fe16ef41003da17387f7c271002668
      https://github.com/llvm/llvm-project/commit/209d8c8fa4fe16ef41003da17387f7c271002668
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/test/CodeGenCXX/mangle-template.cpp

  Log Message:
  -----------
  [clang] fix unresolved dependent template specialization mangling (#136201)

This fixes a regression introduced in #133610 which was reported here
#133610 (comment) and in #136119

This redoes previous attempt in #135111

When mangling a DTST which appears in the prefix,
the template name is not actually relevant, as its prefix is part of the
nested name anyway, and a
substitution is not allowed at that position in any case.

Fixes #136119


  Commit: 69b9ddc76418c6f60ce7751efb5beb1f3b3be3ff
      https://github.com/llvm/llvm-project/commit/69b9ddc76418c6f60ce7751efb5beb1f3b3be3ff
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h

  Log Message:
  -----------
  [Analysis] Restore the call to reserve (#136215)

commit 47d8fec9b8bd5425af17711317a41743a30a8cef
  Author: Kazu Hirata <kazu at google.com>
  Date:   Wed Apr 16 19:30:01 2025 -0700

has removed the call to reserve here.  This patch restores it as
std::vector::insert, called by llvm::append_range, may not be able to
deduce the size of the range.  For example, std::vector in libc++
distinguishes has two versions of std::vector::insert depending on
whether the iterator is an input iterator or a foward iterator.


  Commit: 20cd74a1c1555385e65d26ff22de7ef75fcb4090
      https://github.com/llvm/llvm-project/commit/20cd74a1c1555385e65d26ff22de7ef75fcb4090
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  [sanitizer] Apply AlwaysIn/Out in parseSanitizeArgs (#129405)

For backwards compatibility, `parseSanitizeArgs`/`parseSanitizeTrapArgs` had an incomplete refactoring in
https://github.com/llvm/llvm-project/pull/119819, in order to accommodate the special case of vptr in -fsanitize=undefined and its interaction with -fsanitize-trap=undefined. Now that vptr is no longer part of -fsanitize=undefined (https://github.com/llvm/llvm-project/pull/121115), this patch changes parseSanitizeArgs to apply the AlwaysIn/Out invariants in parseSanitizeArgs, which allows simplifying calls to parseSanitizeArgs.

This is not quite NFC: it changes the error message of -fsanitize-trap=vptr.


  Commit: 0abf227c13eb80f15659f747094df2db1c34d20d
      https://github.com/llvm/llvm-project/commit/0abf227c13eb80f15659f747094df2db1c34d20d
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/test/Dialect/AMDGPU/invalid.mlir
    M mlir/test/Dialect/AMDGPU/ops.mlir

  Log Message:
  -----------
  [mlir][amdgpu] Add `amdgpu.swizzle_bitmode` op (#135513)

High level wrapper on top of `rocdl.ds_swizzle`. Also some DPP op
cleanup while I'm at here.

Will do lowering in separate PR.


  Commit: 2af5e01456954f145f9713c14394ef7f2fbcbebc
      https://github.com/llvm/llvm-project/commit/2af5e01456954f145f9713c14394ef7f2fbcbebc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][RISCV] Fix MCPlusBuilder instrumentation ifaces (#136211)

a) Due to the different capabilities of the functions implemented,
rename the createCmpJE function
b) Refactor the convertIndirectCallToLoad function to override the
interface.

Patch by WangJee, originally posted in #136129


  Commit: 655b9db7b90236342a4085fed1fc910621f835e0
      https://github.com/llvm/llvm-project/commit/655b9db7b90236342a4085fed1fc910621f835e0
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    R flang/test/HLFIR/all-elemental.fir
    R flang/test/HLFIR/any-elemental.fir
    R flang/test/HLFIR/count-elemental.fir
    R flang/test/HLFIR/maxloc-elemental.fir
    R flang/test/HLFIR/maxval-elemental.fir
    R flang/test/HLFIR/minloc-elemental.fir
    R flang/test/HLFIR/minval-elemental.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-all.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-any.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-count.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-maxloc.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-maxval.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-minloc.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-minval.fir

  Log Message:
  -----------
  [flang] Generalized simplification of HLFIR reduction ops. (#136071)

This change generalizes SumAsElemental inlining in
SimplifyHLFIRIntrinsics pass so that it can be applied
to ALL, ANY, COUNT, MAXLOC, MAXVAL, MINLOC, MINVAL, SUM.

This change makes the special handling of the reduction
operations in OptimizedBufferization redundant: once HLFIR
operations are inlined, the hlfir.elemental inlining should
do the rest of the job.


  Commit: 9af61f500c438df9bcbe2eab47c89d25cc5db759
      https://github.com/llvm/llvm-project/commit/9af61f500c438df9bcbe2eab47c89d25cc5db759
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake

  Log Message:
  -----------
  Revert "[Fuchsia] Not building llvm-mt when LIBXML2 is not enabled." (#136216)

Reverts llvm/llvm-project#135877

This is causing some problems on Fuchsia's windows CI. We'll need a
different solution to triage other builders.


https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci/clang-windows-x64/b8717476961063994817/overview


  Commit: f0f55453a2df8c984a7a824bb3face2d7ae18a7d
      https://github.com/llvm/llvm-project/commit/f0f55453a2df8c984a7a824bb3face2d7ae18a7d
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    M llvm/test/CodeGen/NVPTX/fp128-storage-type.ll

  Log Message:
  -----------
  [NVPTX] Address warning and typo in fp128 support (#136207)


  Commit: 767c8c1badc03881aa97ed145ed8f0335c5a1d17
      https://github.com/llvm/llvm-project/commit/767c8c1badc03881aa97ed145ed8f0335c5a1d17
  Author: vporpo <vporpodas at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/docs/SandboxIR.md
    M llvm/docs/Vectorizers.rst

  Log Message:
  -----------
  [docs][SandboxIR] Fix cross-reference to sandbox vectorizer (#133768)

The cross-reference used to point to a label in the auto-vectorization
document.


  Commit: f39242ceed214dfcecd6b33f22f8301ae183c677
      https://github.com/llvm/llvm-project/commit/f39242ceed214dfcecd6b33f22f8301ae183c677
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    A flang/test/HLFIR/all-elemental.fir
    A flang/test/HLFIR/any-elemental.fir
    A flang/test/HLFIR/count-elemental.fir
    A flang/test/HLFIR/maxloc-elemental.fir
    A flang/test/HLFIR/maxval-elemental.fir
    A flang/test/HLFIR/minloc-elemental.fir
    A flang/test/HLFIR/minval-elemental.fir
    R flang/test/HLFIR/simplify-hlfir-intrinsics-all.fir
    R flang/test/HLFIR/simplify-hlfir-intrinsics-any.fir
    R flang/test/HLFIR/simplify-hlfir-intrinsics-count.fir
    R flang/test/HLFIR/simplify-hlfir-intrinsics-maxloc.fir
    R flang/test/HLFIR/simplify-hlfir-intrinsics-maxval.fir
    R flang/test/HLFIR/simplify-hlfir-intrinsics-minloc.fir
    R flang/test/HLFIR/simplify-hlfir-intrinsics-minval.fir

  Log Message:
  -----------
  Revert "[flang] Generalized simplification of HLFIR reduction ops." (#136218)

Reverts llvm/llvm-project#136071


  Commit: 69ade7c090b59373a18c38b2c80c48f97a0afcde
      https://github.com/llvm/llvm-project/commit/69ade7c090b59373a18c38b2c80c48f97a0afcde
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h

  Log Message:
  -----------
  [LV] Check if the VF is scalar by VFRange in `handleUncountableEarlyExit`. (#135294)

This patch check if the plan contains scalar VF by VFRange instead of
Plan.
This patch also clamp the range to contains either only scalar or only
vector VFs to prevent mis-compile.

Split from #113903.


  Commit: 32311a6b68d3de4642599abe14922c686bdb30fc
      https://github.com/llvm/llvm-project/commit/32311a6b68d3de4642599abe14922c686bdb30fc
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    R flang/test/HLFIR/all-elemental.fir
    R flang/test/HLFIR/any-elemental.fir
    R flang/test/HLFIR/count-elemental.fir
    R flang/test/HLFIR/maxloc-elemental.fir
    R flang/test/HLFIR/maxval-elemental.fir
    R flang/test/HLFIR/minloc-elemental.fir
    R flang/test/HLFIR/minval-elemental.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-all.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-any.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-count.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-maxloc.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-maxval.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-minloc.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-minval.fir

  Log Message:
  -----------
  Reland [flang] Generalized simplification of HLFIR reduction ops. (#136071)

This change generalizes SumAsElemental inlining in
SimplifyHLFIRIntrinsics pass so that it can be applied
to ALL, ANY, COUNT, MAXLOC, MAXVAL, MINLOC, MINVAL, SUM.

This change makes the special handling of the reduction
operations in OptimizedBufferization redundant: once HLFIR
operations are inlined, the hlfir.elemental inlining should
do the rest of the job.


  Commit: f0621b31f8baee3013bec74b2789b9d5d9f9d08f
      https://github.com/llvm/llvm-project/commit/f0621b31f8baee3013bec74b2789b9d5d9f9d08f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h

  Log Message:
  -----------
  [Vectorize] Fix a warning

This patch fixes:

  llvm/lib/Transforms/Vectorize/VPlanTransforms.h:31:1: error: class
  'VFRange' was previously declared as a struct; this is valid, but
  may result in linker errors under the Microsoft C++ ABI
  [-Werror,-Wmismatched-tags]


  Commit: bb67de671eeda3b763ed6f1af05bd921b0ad7a29
      https://github.com/llvm/llvm-project/commit/bb67de671eeda3b763ed6f1af05bd921b0ad7a29
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  [libc][bazel] Enforce that libc hand-in-hand libs are headers-only. (#136219)

Extend Bazel rule implementation to enforce that all transitive
dependencies of libc_header_library targets (used to implement
hand-in-hand code sharing via headers) indeed only contain header files.

This fixes Bazel portion of PR #133126.


  Commit: 62b9cbd8782b2ded15efed67ae10419e75ea0fa7
      https://github.com/llvm/llvm-project/commit/62b9cbd8782b2ded15efed67ae10419e75ea0fa7
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll

  Log Message:
  -----------
  [RISCV] Simplify check lines in vector-deinterleave.ll [nfc]

RV32 and RV64 are unused.  Output with zvfh vs zvfhmin are the same,
so just use the weaker predicate.


  Commit: ebe084f927f14be707d3ca64dab0faaf6c0eee9d
      https://github.com/llvm/llvm-project/commit/ebe084f927f14be707d3ca64dab0faaf6c0eee9d
  Author: Volodymyr Sapsai <vsapsai at apple.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/non-modular-decl-use.c

  Log Message:
  -----------
  [Modules] Fix the inconsistency of which `Decl` should be serialized for an identifier. (#135887)

Fixes the assertion failure
> Assertion failed: (DeclIDs.contains(D) && "Declaration not emitted!"),
function getDeclID, file ASTWriter.cpp, line 6873.

We prepare to serialize a `Decl` by adding it to `DeclIDs` in
`ASTWriter::GetDeclRef`. But the checks before this call aren't the same
as when we are actually serializing a `Decl` in
`ASTIdentifierTableTrait::EmitData` and
`ASTWriter::WriteIdentifierTable`. That's how we can end up serializing
a `Decl` not present in `DeclIDs` and hitting the assertion. With the
assertions disabled clang crashes when trying to use a deserialized null
`Decl`.

Fix by making the code checks before `ASTWriter::GetDeclRef` call
similar to those we have before the serialization.

rdar://139319683


  Commit: 7f107c301963ad1070f2130f89655fd94f2c0714
      https://github.com/llvm/llvm-project/commit/7f107c301963ad1070f2130f89655fd94f2c0714
  Author: Sirish Pande <sirpande at amd.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/test/Transforms/IndVarSimplify/ARM/code-size.ll
    M llvm/test/Transforms/IndVarSimplify/ARM/indvar-unroll-imm-cost.ll
    M llvm/test/Transforms/IndVarSimplify/exit-count-select.ll
    M llvm/test/Transforms/IndVarSimplify/exit_value_test3.ll
    M llvm/test/Transforms/IndVarSimplify/finite-exit-comparisons.ll
    M llvm/test/Transforms/IndVarSimplify/pr116483.ll
    M llvm/test/Transforms/IndVarSimplify/pr63763.ll
    M llvm/test/Transforms/IndVarSimplify/replace-loop-exit-folds.ll
    M llvm/test/Transforms/IndVarSimplify/sentinel.ll
    M llvm/test/Transforms/LoopUnroll/unroll-cleanup.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll

  Log Message:
  -----------
  [IndVarsSimplify] sinkUnusedInvariants is skipping instructions while sinking. (#135205)

While sinking instructions (that are loop invariant) from preheader to
the exit block, we are skipping instructions due to decrementing
instruction iterator twice.


  Commit: ce0c472791647c61f3af97c16a8c61fb351417ea
      https://github.com/llvm/llvm-project/commit/ce0c472791647c61f3af97c16a8c61fb351417ea
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    A flang/test/HLFIR/all-elemental.fir
    A flang/test/HLFIR/any-elemental.fir
    A flang/test/HLFIR/count-elemental.fir
    A flang/test/HLFIR/maxloc-elemental.fir
    A flang/test/HLFIR/maxval-elemental.fir
    A flang/test/HLFIR/minloc-elemental.fir
    A flang/test/HLFIR/minval-elemental.fir
    R flang/test/HLFIR/simplify-hlfir-intrinsics-all.fir
    R flang/test/HLFIR/simplify-hlfir-intrinsics-any.fir
    R flang/test/HLFIR/simplify-hlfir-intrinsics-count.fir
    R flang/test/HLFIR/simplify-hlfir-intrinsics-maxloc.fir
    R flang/test/HLFIR/simplify-hlfir-intrinsics-maxval.fir
    R flang/test/HLFIR/simplify-hlfir-intrinsics-minloc.fir
    R flang/test/HLFIR/simplify-hlfir-intrinsics-minval.fir

  Log Message:
  -----------
  Revert "Reland [flang] Generalized simplification of HLFIR reduction ops. (#136071)"

This reverts commit 32311a6b68d3de4642599abe14922c686bdb30fc.


  Commit: feb1fb5f0473eb949b35fb25e15c4d32465cd6d7
      https://github.com/llvm/llvm-project/commit/feb1fb5f0473eb949b35fb25e15c4d32465cd6d7
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/clang-translation.c

  Log Message:
  -----------
  Make the `-disable-free` flag more full featured (#136213)

This lets us pass `-no-disable-free` to re-enable freeing memory for
example. This is especially helpful for library users of Clang where it
is important to not slowly leak memory.


  Commit: afc5cc060b8bc44b5fd3c0a4612ebc1a1dc70826
      https://github.com/llvm/llvm-project/commit/afc5cc060b8bc44b5fd3c0a4612ebc1a1dc70826
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/tools/yaml2obj/CMakeLists.txt

  Log Message:
  -----------
  [yaml2obj] Fix shared build. NFC


  Commit: 0f5c66c364a6702edf65214a4f975c3e3f326d9a
      https://github.com/llvm/llvm-project/commit/0f5c66c364a6702edf65214a4f975c3e3f326d9a
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp

  Log Message:
  -----------
  [OpenACC][CIR] Fix build error from CIR upstreaming

- 'DeviceTypeArgument' is defined as 'IdentifierLoc' instead of
  'std::pair<IdentifierInfo *, SourceLocation>'.


  Commit: 1dbc8ef5538e25f61664d807fda236f7d983cc69
      https://github.com/llvm/llvm-project/commit/1dbc8ef5538e25f61664d807fda236f7d983cc69
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/test/Sema/ptrauth-qualifier.c
    M clang/test/Sema/ptrauth.c
    M clang/test/SemaObjC/ptrauth-qualifier.m

  Log Message:
  -----------
  [clang][ptrauth] Make ptrauth feature detection tests more robust (#136204)

The existing test behavior checked for a warning being emitted under an
#if, but if the feature detection fails the #if fails and the warning is
not expected in the output.

I've made the test more explicit, and added comments to ensure no one
simply adds/moves any expected output around.


  Commit: ca9ec7dfc3a5ebad9e5c25b30511b2ed73287f61
      https://github.com/llvm/llvm-project/commit/ca9ec7dfc3a5ebad9e5c25b30511b2ed73287f61
  Author: Harald van Dijk <harald.vandijk at codeplay.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/RecordLayout.h
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/test/CodeGen/AArch64/args.cpp
    M clang/test/CodeGen/aapcs64-align.cpp
    M clang/test/CodeGen/arm-vfp16-arguments2.cpp

  Log Message:
  -----------
  [ARM, AArch64] Fix passing of structures with aligned base classes (#135564)

RecordLayout::UnadjustedAlignment was documented as "Maximum of the
alignments of the record members in characters", but
RecordLayout::getUnadjustedAlignment(), which just returns
UnadjustedAlignment, was documented as getting "the record alignment in
characters, before alignment adjustement." These are not the same thing:
the former excludes alignment of base classes, the latter takes it into
account. ItaniumRecordLayoutBuilder::LayoutBase was setting it according
to the former, but the AAPCS calling convention handling, currently the
only user, relies on it being set according to the latter.

Fixes #135551.


  Commit: 5e430afb84c3cbf285d8fe15c0ae23e0920e946b
      https://github.com/llvm/llvm-project/commit/5e430afb84c3cbf285d8fe15c0ae23e0920e946b
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/test/MC/LoongArch/Relocations/relocations.s
    M llvm/test/MC/RISCV/fixups-binary-expression.s
    M llvm/test/MC/RISCV/function-call.s
    M llvm/test/MC/RISCV/linker-relaxation.s
    M llvm/test/MC/RISCV/option-exact.s
    M llvm/test/MC/RISCV/pseudo-jump.s
    M llvm/test/MC/RISCV/relocations.s
    M llvm/test/MC/RISCV/tail-call.s
    M llvm/test/MC/RISCV/xqcilb-relocations.s
    M llvm/test/MC/RISCV/xqcili-relocations.s

  Log Message:
  -----------
  [test] Remove CHECK lines for MCAsmStreamer's fixup output

As mentioned in #136088 , the fixup output is a debug aid and should not
be used to test target-specific relocation generation implementation.
The llvm-mc -filetype=obj output is what truly matters.


  Commit: c99ffe58af23251d83073b8ad002536edc3864ae
      https://github.com/llvm/llvm-project/commit/c99ffe58af23251d83073b8ad002536edc3864ae
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/lib/Format/FormatToken.h
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Fix a bug in FormatToken::isObjCAccessSpecifier() (#136109)

Fix #136092


  Commit: 77721986d8bd48182ba355bf166a5fa3ffbfe6b6
      https://github.com/llvm/llvm-project/commit/77721986d8bd48182ba355bf166a5fa3ffbfe6b6
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/unittests/Format/CMakeLists.txt

  Log Message:
  -----------
  [clang-format] Fix shared build. NFC


  Commit: b6dff5660092e4814fa2e2cc129ba0d05ce49a52
      https://github.com/llvm/llvm-project/commit/b6dff5660092e4814fa2e2cc129ba0d05ce49a52
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll

  Log Message:
  -----------
  [RISCV] Add vizip check lines to (de)interleave tests

Reducing churn in advance of a change which makes better use of these.
Note that for very short fixed length shuffles, we already use the
vizip family instructions - but mostly in the form of zipeven/zipodd.


  Commit: 50f9b34b5340cfb32d14920bb0d41a90f48ffc40
      https://github.com/llvm/llvm-project/commit/50f9b34b5340cfb32d14920bb0d41a90f48ffc40
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-binop-splats.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
    M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/pr125306.ll

  Log Message:
  -----------
  [RISCV] Prefer vmv.s.x for build_vector a, undef, ..., undef (#136164)

If we have a build vector which could be either a splat or a scalar
insert, prefer the scalar insert. At high LMUL, this reduces vector
register pressure (locally, the use will likely still be aligned), and
the amount of work performed for the splat.


  Commit: a04580f71b98bdb12100da66c9975e9a1001b4d6
      https://github.com/llvm/llvm-project/commit/a04580f71b98bdb12100da66c9975e9a1001b4d6
  Author: Shoreshen <372660931 at qq.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmul.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sdot2.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.udot2.ll
    M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll

  Log Message:
  -----------
  [AMDGPU] Implement vop3p complex pattern optmization for gisel (#130234)

Seeking opportunities to optimize VOP3P instructions by altering opsel,
opsel_hi, neg, neg_hi bits

Tests differences:
1. fix op_sel_hi bit for inline constant:
   1. `CodeGen/AMDGPU/packed-fp32.ll`
2. use neg bit to remove xor with 0x80008000
   1. `CodeGen/AMDGPU/strict_fsub.f16.ll`
   2. `CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.fdot2.ll`
   3. `CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sdot4.ll`
   4. `CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sdot8.ll`
   5. `CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.udot2.ll`
   6. `CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.udot4.ll`
   7. `CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.udot8.ll`
3. Remove xor 0x80008000, and use opsel, opsel_hi to remove alignbit
   1. `CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sdot2.ll`


  Commit: e5263e3ec83cf662f945a067ffc83e2ed76d9aed
      https://github.com/llvm/llvm-project/commit/e5263e3ec83cf662f945a067ffc83e2ed76d9aed
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [LV][NFC] Clean up tail-folding check for early-exit loops (#133931)

This patch moves the check for a single latch exit from computeMaxVF()
to LoopVectorizationLegality::canFoldTailByMasking(), as it duplicates
the logic when foldTailByMasking() returns false.

It also updates the NoScalarEpilogueNeeded logic to return false for
loops that are neither single-latch-exit nor early-exit. This avoids
applying tail-folding in unsupported cases and prevents triggering
assertions during analysis.


  Commit: 0977a7130b291304dae5cfd23575ea3a4b9922ed
      https://github.com/llvm/llvm-project/commit/0977a7130b291304dae5cfd23575ea3a4b9922ed
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/test/AArch64/lite-mode.s

  Log Message:
  -----------
  [BOLT] Skip FDE emission for patch functions (#136224)

Patch functions are used to fix instructions in the original code, i.e.,
they are not functions in a traditional sense, but rather pieces of
emitted code that are embedded into real functions.

We used to emit FDEs for all functions, including patch functions.
However, FDEs for patches are not only unnecessary, but they can lead to
problems with libraries and runtimes that consume FDEs, e.g. C++
exception handling runtime.

Note that we use named patches to fix function entry points and in that
case they behave more like regular functions. Thus we issue FDEs for
those.


  Commit: 5b2c743a2eb012d1e0649324ade83f23c6645a5b
      https://github.com/llvm/llvm-project/commit/5b2c743a2eb012d1e0649324ade83f23c6645a5b
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [RISCV][NFC] Add Zicsr to profiles explicitly (#136134)

To avoid some misunstandings though Zicsr is implied by F/D.


  Commit: a354564a64c6ab3cafa9e5e2b31f7f14d4e27d45
      https://github.com/llvm/llvm-project/commit/a354564a64c6ab3cafa9e5e2b31f7f14d4e27d45
  Author: Iris <0.0 at owo.li>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/MC/RISCV/rv32xtheadmempair-invalid.s
    M llvm/test/MC/RISCV/rv64xtheadmempair-invalid.s

  Log Message:
  -----------
  [RISCV] Strengthen register usage validation for XTheadMemPair loads (#136241)

Closes #136087


https://github.com/XUANTIE-RV/thead-extension-spec/blob/master/xtheadmempair/lwd.adoc


  Commit: 594bfadbd683eab5e1cd40a450c25da2834f7768
      https://github.com/llvm/llvm-project/commit/594bfadbd683eab5e1cd40a450c25da2834f7768
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/lasx/broadcast-load.ll
    A llvm/test/CodeGen/LoongArch/lsx/broadcast-load.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit for broadcast load (#136070)


  Commit: a3f38f27cd78e1b2753a3f29489094cfd92198fe
      https://github.com/llvm/llvm-project/commit/a3f38f27cd78e1b2753a3f29489094cfd92198fe
  Author: Shoreshen <372660931 at qq.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmul.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sdot2.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.udot2.ll
    M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Implement vop3p complex pattern optmization for gisel" (#136249)

Reverts llvm/llvm-project#130234


  Commit: 64de8528dbd89cdafe32d754f37cf3da4fb5403e
      https://github.com/llvm/llvm-project/commit/64de8528dbd89cdafe32d754f37cf3da4fb5403e
  Author: Finn Plummer <canadienfinn at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Parse/ParseHLSLRootSignature.h
    M clang/lib/Parse/ParseHLSLRootSignature.cpp
    M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
    M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h

  Log Message:
  -----------
  [HLSL][RootSignature] Implement initial parsing of the descriptor table clause params (#133800)

- Defines `ParseDescriptorTableClauseParams` to establish the pattern of
how we will parse parameters in root signatures. Namely, to use
recursive descent parsing in a way that follows closely to the EBNF
notation definition in the root signature spec.

- Implements parsing of two param types: `UInt32` and `Register` to
demonstrate the parsing implementation and allow for unit testing

- Changes the calling convention to use `std::optional` return values
instead of boolean error returns and parameters by reference

Part two of implementing:
https://github.com/llvm/llvm-project/issues/126569

---------

Co-authored-by: Finn Plummer <finnplummer at microsoft.com>


  Commit: 2721f5af12bdf9af29969a86351fe485af00e648
      https://github.com/llvm/llvm-project/commit/2721f5af12bdf9af29969a86351fe485af00e648
  Author: Fehr Mathieu <mathieu.fehr at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [mlir][vector] Prevent folding of OOB values in insert/extract (#135498)

Out of bound position values should not be folded in vector.extract and
vector.insert operations, as only in bounds constants and -1 are valid.

Fixes #134516


  Commit: 6f0a35fbd3296d3f4154e19f189130edcd0980bd
      https://github.com/llvm/llvm-project/commit/6f0a35fbd3296d3f4154e19f189130edcd0980bd
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCFixup.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp

  Log Message:
  -----------
  [AArch64] Use FirsRelocationKind+i fixup kinds to force relocations

For RELA targets, fixup kinds that force relocations (GOT, TLS, ALIGN,
RELAX, etc) can bypass `applyFixup` and be encoded as
`FirstRelocationKind+i`, as seen in LoongArch.


  Commit: c134e99a2adf6ac3f0d7a5f15a2f384f174c80a5
      https://github.com/llvm/llvm-project/commit/c134e99a2adf6ac3f0d7a5f15a2f384f174c80a5
  Author: Finn Plummer <canadienfinn at gmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Parse/ParseHLSLRootSignature.h
    M clang/lib/Parse/ParseHLSLRootSignature.cpp
    M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
    M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h

  Log Message:
  -----------
  Revert "[HLSL][RootSignature] Implement initial parsing of the descriptor table clause params" (#136252)

Reverts llvm/llvm-project#133800

Reverting to resolve the introduce naming collisions.


  Commit: 23324b8b109aed1f77cb20cef476b795f33b6835
      https://github.com/llvm/llvm-project/commit/23324b8b109aed1f77cb20cef476b795f33b6835
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/test/MC/RISCV/rv32xtheadmempair-invalid.s

  Log Message:
  -----------
  [RISCV] Move checking for constant 3/4 for XTHeadMemPair to the instruction matching stage. (#136165)

This removes a special case from processInstruction and removes an
untested range diagnostic we would print if the constant didn't fit in 3
bits.


  Commit: 8c5a307bd8d406e6167a5cd3ce3c74e2e3bfb2a6
      https://github.com/llvm/llvm-project/commit/8c5a307bd8d406e6167a5cd3ce3c74e2e3bfb2a6
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Overload.h
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    M clang/test/SemaCUDA/function-overload.cu
    M clang/test/SemaCXX/implicit-member-functions.cpp
    A clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
    M clang/test/SemaTemplate/instantiate-function-params.cpp
    M clang/test/Templight/templight-empty-entries-fix.cpp

  Log Message:
  -----------
  [Clang] Bypass TAD during overload resolution if a perfect match exists (#136203)

This implements the same overload resolution behavior as GCC,
as described in https://wg21.link/p3606 (section 1-2, not 3)

If during overload resolution, there is a non-template candidate
that would be always be picked - because each of the argument
is a perfect match (ie the source and target types are the same),
we do not perform deduction for any template candidate
that might exists.

The goal is to be able to merge
https://github.com/llvm/llvm-project/pull/122423 without being too
disruptive.

This change means that the selection of the best viable candidate and
template argument deduction become interleaved.

To avoid rewriting half of Clang we store in OverloadCandidateSet
enough information to be able to deduce template candidates from
OverloadCandidateSet::BestViableFunction. Which means
the lifetime of any object used by template argument must outlive
a call to Add*Template*Candidate.

This two phase resolution is not performed for some initialization
as there are cases where template candidate are better match
in these cases per the standard. It's also bypassed for code completion.

The change has a nice impact on compile times

https://llvm-compile-time-tracker.com/compare.php?from=719b029c16eeb1035da522fd641dfcc4cee6be74&to=bf7041045c9408490c395230047c5461de72fc39&stat=instructions%3Au

Fixes https://github.com/llvm/llvm-project/issues/62096
Fixes https://github.com/llvm/llvm-project/issues/74581

Reapplies https://github.com/llvm/llvm-project/pull/133426


  Commit: 49dfd72de0131e4c3f1270ef60ea54af43a3c96b
      https://github.com/llvm/llvm-project/commit/49dfd72de0131e4c3f1270ef60ea54af43a3c96b
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/test/MC/LoongArch/Relocations/relax-tls-le.s

  Log Message:
  -----------
  [test] Remove CHECK lines for MCAsmStreamer's fixup output

Similar to 5e430afb84c3cbf285d8fe15c0ae23e0920e946b


  Commit: 7088910b9f74d49a7e0a107a2261be90c1c8bd1b
      https://github.com/llvm/llvm-project/commit/7088910b9f74d49a7e0a107a2261be90c1c8bd1b
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/test/MC/AArch64/tls-relocs.s

  Log Message:
  -----------
  MCAsmStreamer: Print relocation type number if applicable

The fixup output is a debug aid and should not be used to test
target-specific relocation generation implementation. The llvm-mc
-filetype=obj output is what truly matters.


  Commit: d5f94c3915ace438359524b40cf84f3f54a0afae
      https://github.com/llvm/llvm-project/commit/d5f94c3915ace438359524b40cf84f3f54a0afae
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/MC/RISCV/rv32xtheadmempair-invalid.s
    M llvm/test/MC/RISCV/rv64xtheadmempair-invalid.s

  Log Message:
  -----------
  Revert "[RISCV] Strengthen register usage validation for XTheadMemPair loads (#136241)"

This reverts commit a354564a64c6ab3cafa9e5e2b31f7f14d4e27d45.

Broke tests


  Commit: 65d16a8101f98199b5d2505c1e9fdf2df519814b
      https://github.com/llvm/llvm-project/commit/65d16a8101f98199b5d2505c1e9fdf2df519814b
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp

  Log Message:
  -----------
  [RISCV] Simplify fixup kinds that force relocations

For RELA targets, fixup kinds that force relocations (GOT, TLS, ALIGN,
RELAX, etc) can bypass `applyFixup` and be encoded as
`FirstRelocationKind+i`, as seen in LoongArch. This patch removes
redundant fixup kinds and adopts the `FirstRelocationKind+i` encoding.

The `llvm-mc -show-encoding` output no longer displays descriptive fixup
names, as this information is removed from
`RISCVAsmBackend::getFixupKindInfo`. While a backend hook could be added
to call `llvm::object::getELFRelocationTypeName`, it's unnecessary since
the relocation in `-filetype=obj` output is what truly matters.

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


  Commit: 59288761c9a8a3d5ecc70543ba09246497117f9e
      https://github.com/llvm/llvm-project/commit/59288761c9a8a3d5ecc70543ba09246497117f9e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Support/UnicodeCharRanges.h
    M llvm/lib/Target/Mips/Mips16HardFloat.cpp
    M llvm/lib/Target/Mips/Mips16ISelLowering.cpp
    M llvm/lib/Target/Mips/MipsCCState.cpp
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp

  Log Message:
  -----------
  [llvm] Use llvm::binary_search (NFC) (#136228)


  Commit: b07ee6acffd4c6c19093f8a5e9f8c6c594f3c90a
      https://github.com/llvm/llvm-project/commit/b07ee6acffd4c6c19093f8a5e9f8c6c594f3c90a
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp

  Log Message:
  -----------
  LowerTypeTests: Simplify pointer types.


  Commit: 155fc76f20fec106d59701b3d320b74d46894b37
      https://github.com/llvm/llvm-project/commit/155fc76f20fec106d59701b3d320b74d46894b37
  Author: Iris <0.0 at owo.li>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/MC/RISCV/rv32xtheadmempair-invalid.s
    M llvm/test/MC/RISCV/rv64xtheadmempair-invalid.s

  Log Message:
  -----------
  Recommit "[RISCV] Strengthen register usage validation for XTheadMemPair loads (#136241)"

With test fix.

Closes #136087

https://github.com/XUANTIE-RV/thead-extension-spec/blob/master/xtheadmempair/lwd.adoc


  Commit: 2b002d68044e6b482a898c1deff578f76fa9b8a1
      https://github.com/llvm/llvm-project/commit/2b002d68044e6b482a898c1deff578f76fa9b8a1
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/BUILD.gn

  Log Message:
  -----------
  [gn] port 1756fcb8b019


  Commit: f28408f3af0d4533dd1d8048c5fdcdb14b934d05
      https://github.com/llvm/llvm-project/commit/f28408f3af0d4533dd1d8048c5fdcdb14b934d05
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/test/MC/AVR/inst-adiw.s
    M llvm/test/MC/AVR/inst-andi.s
    M llvm/test/MC/AVR/inst-brbc.s
    M llvm/test/MC/AVR/inst-brbs.s
    M llvm/test/MC/AVR/inst-brcc.s
    M llvm/test/MC/AVR/inst-brcs.s
    M llvm/test/MC/AVR/inst-breq.s
    M llvm/test/MC/AVR/inst-brge.s
    M llvm/test/MC/AVR/inst-brhc.s
    M llvm/test/MC/AVR/inst-brhs.s
    M llvm/test/MC/AVR/inst-brid.s
    M llvm/test/MC/AVR/inst-brie.s
    M llvm/test/MC/AVR/inst-brlo.s
    M llvm/test/MC/AVR/inst-brlt.s
    M llvm/test/MC/AVR/inst-brmi.s
    M llvm/test/MC/AVR/inst-brne.s
    M llvm/test/MC/AVR/inst-brpl.s
    M llvm/test/MC/AVR/inst-brsh.s
    M llvm/test/MC/AVR/inst-brtc.s
    M llvm/test/MC/AVR/inst-brts.s
    M llvm/test/MC/AVR/inst-brvc.s
    M llvm/test/MC/AVR/inst-brvs.s
    M llvm/test/MC/AVR/inst-call.s
    M llvm/test/MC/AVR/inst-cbi.s
    M llvm/test/MC/AVR/inst-cpi.s
    M llvm/test/MC/AVR/inst-in.s
    M llvm/test/MC/AVR/inst-jmp.s
    M llvm/test/MC/AVR/inst-ldd.s
    M llvm/test/MC/AVR/inst-ldi.s
    M llvm/test/MC/AVR/inst-lds-tiny.s
    M llvm/test/MC/AVR/inst-lds.s
    M llvm/test/MC/AVR/inst-ori.s
    M llvm/test/MC/AVR/inst-out.s
    M llvm/test/MC/AVR/inst-rcall.s
    M llvm/test/MC/AVR/inst-rjmp.s
    M llvm/test/MC/AVR/inst-sbci.s
    M llvm/test/MC/AVR/inst-sbi.s
    M llvm/test/MC/AVR/inst-sbic.s
    M llvm/test/MC/AVR/inst-sbis.s
    M llvm/test/MC/AVR/inst-sbiw.s
    M llvm/test/MC/AVR/inst-sbr.s
    M llvm/test/MC/AVR/inst-std.s
    M llvm/test/MC/AVR/inst-sts-tiny.s
    M llvm/test/MC/AVR/inst-sts.s
    M llvm/test/MC/AVR/inst-subi.s
    M llvm/test/MC/AVR/modifiers.s
    M llvm/test/MC/CSKY/basic-16bit.s
    M llvm/test/MC/CSKY/basic.s
    M llvm/test/MC/Sparc/sparc-assembly-exprs.s
    M llvm/test/MC/Sparc/sparc-ctrl-instructions.s
    M llvm/test/MC/Sparc/sparc-little-endian.s
    M llvm/test/MC/Sparc/sparc-relocations.s
    M llvm/test/MC/Sparc/sparc-synthetic-instructions.s
    M llvm/test/MC/Sparc/sparc-tls-relocations.s
    M llvm/test/MC/Sparc/sparc64-ctrl-instructions.s
    M llvm/test/MC/Sparc/sparcv9-synthetic-instructions.s

  Log Message:
  -----------
  [test] Remove CHECK lines for MCAsmStreamer's fixup output

The fixup output is a debug aid and should not be used to test
target-specific relocation generation implementation. The llvm-mc
-filetype=obj output is what truly matters.


  Commit: a42ac55a79db071e7e6da385213c5486d4b14986
      https://github.com/llvm/llvm-project/commit/a42ac55a79db071e7e6da385213c5486d4b14986
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp

  Log Message:
  -----------
  [IPO] Avoid repeated hash lookups (NFC) (#135750)


  Commit: d27175d26e20ebc112b003c877692c06046d195b
      https://github.com/llvm/llvm-project/commit/d27175d26e20ebc112b003c877692c06046d195b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

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

  Log Message:
  -----------
  [Scalar] Avoid repeated hash lookups (NFC) (#135751)


  Commit: cc7fc9978fc8c9b8e1da2e283026feaf85807ea5
      https://github.com/llvm/llvm-project/commit/cc7fc9978fc8c9b8e1da2e283026feaf85807ea5
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [clang] Add source range to 'use of undeclared identifier' diagnostics (#117671)


  Commit: e0a6905287050d57ea0413cba7f011803b1f65ef
      https://github.com/llvm/llvm-project/commit/e0a6905287050d57ea0413cba7f011803b1f65ef
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M libcxx/include/__type_traits/is_signed.h
    M libcxx/include/__type_traits/is_unsigned.h

  Log Message:
  -----------
  [libc++] Simplify the generic implementation of is_{un}signed (#136095)


  Commit: f4c76bba5909e9c3e542ac723b9a1c0f1c229e79
      https://github.com/llvm/llvm-project/commit/f4c76bba5909e9c3e542ac723b9a1c0f1c229e79
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/Driver/XRayArgs.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [clang] Use llvm::append_range (NFC) (#136256)

This patch replaces:

  llvm::copy(Src, std::back_inserter(Dst));

with:

  llvm::append_range(Dst, Src);

for breavity.

One side benefit is that llvm::append_range eventually calls
llvm::SmallVector::reserve if Dst is of llvm::SmallVector.


  Commit: a1583522948f966d2393e84befdc2f7fea3bf7b4
      https://github.com/llvm/llvm-project/commit/a1583522948f966d2393e84befdc2f7fea3bf7b4
  Author: Yanzuo Liu <zwuis at outlook.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  [Clang][GitHub][NFC] Auto-add clang:bytecode label for PR (#136148)


  Commit: 802e7309c0ab7e9966f8a98eede0231d146c6a97
      https://github.com/llvm/llvm-project/commit/802e7309c0ab7e9966f8a98eede0231d146c6a97
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py

  Log Message:
  -----------
  [lldb] Fix TestExprDiagnostics test (#136269)

Add missing source ranges to the diagnostic output.


  Commit: d1496313d7e2543f1506f71fbfd28a8e8d8a3d6e
      https://github.com/llvm/llvm-project/commit/d1496313d7e2543f1506f71fbfd28a8e8d8a3d6e
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/CFIInstBuilder.h
    M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp

  Log Message:
  -----------
  [CodeGen] Add another method to CFIInstBuilder (#136270)

Mainly for use by downstream targets, but it can find applications in
upstream code as well. Use it in MSP430 so that it doesn't look dead.


  Commit: a99c978d1b35e30d9a0fe9db68b91e9f2815c8e9
      https://github.com/llvm/llvm-project/commit/a99c978d1b35e30d9a0fe9db68b91e9f2815c8e9
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [Clang] Avoid dereferencing an invalid iterator

Fix msan builds after 8c5a307bd8
https://lab.llvm.org/buildbot/#/builders/94/builds/6321


  Commit: 5db95fd6ca8cae62c6ab6acf17b00c3417d2018d
      https://github.com/llvm/llvm-project/commit/5db95fd6ca8cae62c6ab6acf17b00c3417d2018d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [memprof] Avoid repeated hash lookups (NFC) (#136268)

Note that we don't have to worry about CallstackProfileData[Id]
default-constructing the value side of a new map entry.  If that
happens, AccessHistogramSize > 0 wouldn't be true, and the new map
entry gets deleted right away.


  Commit: 64ffecfc433d43a15e3d1d51886ff0e0a876a547
      https://github.com/llvm/llvm-project/commit/64ffecfc433d43a15e3d1d51886ff0e0a876a547
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll

  Log Message:
  -----------
  [DAG] isKnownNeverNaN - add DemandedElts element mask to isKnownNeverNaN calls (#135952)

Matches what we've done for computeKnownBits etc. to improve vector handling


  Commit: c7daab259c3281cf8f649583993bad2536febc02
      https://github.com/llvm/llvm-project/commit/c7daab259c3281cf8f649583993bad2536febc02
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/lib/Parse/ParseExpr.cpp
    M clang/test/Parser/recovery.cpp

  Log Message:
  -----------
  [Clang] Fix the trailing comma regression (#136273)

925e195 introduced a regression since which we started to accept invalid
trailing commas in many expression lists where they're not allowed by
the grammar. The issue came from the fact that an additional invalid
state - previously handled by ParseExpressionList - was overlooked in
that patch.

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

No release entry because I want to backport it.


  Commit: 1db03cab70fd29fe13cb60cc102285d0d0f33957
      https://github.com/llvm/llvm-project/commit/1db03cab70fd29fe13cb60cc102285d0d0f33957
  Author: Christian Sigg <csigg at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [mlir][bazel] Port 697aa9995c24a977425e672d76a4a434384b16e3


  Commit: 31ddaef8d18d643ff4c343d03ddfe2edae7d22a2
      https://github.com/llvm/llvm-project/commit/31ddaef8d18d643ff4c343d03ddfe2edae7d22a2
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/UnreachableBlockElim.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/LiveVariables.cpp
    M llvm/lib/CodeGen/UnreachableBlockElim.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/Hexagon/unreachable-mbb-phi-subreg.mir
    M llvm/test/DebugInfo/MIR/X86/unreachable-block-call-site.mir

  Log Message:
  -----------
  [CodeGen][NPM] Port UnreachableMachineBlockElim to NPM (#136127)


  Commit: 9bdd9dc895ade41ec24f1a9918f70b23271ac89b
      https://github.com/llvm/llvm-project/commit/9bdd9dc895ade41ec24f1a9918f70b23271ac89b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    M clang/test/CodeGenOpenCL/builtins-r600.cl
    M clang/test/Headers/gpuintrin.c
    M clang/test/Headers/gpuintrin_lang.c
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/test/CodeGen/AMDGPU/amdgpu-inline.ll
    M llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx11.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.iterative.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id-unsupported-calling-convention.ll
    M llvm/test/CodeGen/AMDGPU/memory_clause.ll
    M llvm/test/CodeGen/AMDGPU/v_add_u64_pseudo_sdwa.ll
    M llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-for-private.ll

  Log Message:
  -----------
  AMDGPU: Mark workitem ID intrinsics with range attribute (#136196)

This avoids the need to have special handling at every use site.
Unfortunately this means we unnecessarily emit AssertZext in the DAG
(where we already directly understand the range of the intrinsic), andt
we regress in undefined cases as we don't fold out asserts on undef.


  Commit: 9b8bc53a0bdc270f6d675ba7a2fe9ca9a855610d
      https://github.com/llvm/llvm-project/commit/9b8bc53a0bdc270f6d675ba7a2fe9ca9a855610d
  Author: Chengjun <chengjunp at Nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/lib/Analysis/AliasAnalysis.cpp
    M llvm/lib/Transforms/Utils/FlattenCFG.cpp
    M llvm/test/Transforms/Util/flatten-cfg.ll
    M llvm/unittests/Analysis/AliasAnalysisTest.cpp

  Log Message:
  -----------
  [FlattenCFG] Fix an Imprecise Usage of AA (#128117)

In current `FlattenCFG`, using `isNoAlias` for two instructions is
imprecise. For example, when passing a store instruction and a load
instruction directly into `AA->isNoAlias`, it will always return
`NoAlias`. This happens because when checking the types of the two
Values, the store instruction (which has a `void` type) causes the
analysis to return `NoAlias`.

For instructions, we should use `getModRefInfo` instead of `isNoAlias`,
as aliasing is a concept of memory locations.

In this patch, `AAResults::getModRefInfo` is supported to take in two
instructions. It will check whether two instructions may access the same
memory location or not. And in `FlattenCFG`, we use this new helper
function to do the check instead of `isNoAlias`.

Unit tests and lit tests are also included to this patch.


  Commit: 1d190065d92a7cc9fbe322edbfa233c2318c8839
      https://github.com/llvm/llvm-project/commit/1d190065d92a7cc9fbe322edbfa233c2318c8839
  Author: Zichen Lu <mikaovo2000 at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M mlir/lib/Target/LLVM/NVVM/Target.cpp

  Log Message:
  -----------
  [mlir][target] RAII wrap moduleToObject timer to ensure call `clear` function (#136142)

As title, we need to call `Timer::clear` to avoid extra log like this:
```
===-------------------------------------------------------------------------===
                           ...
===-------------------------------------------------------------------------===
  Total Execution Time: 0.0000 seconds (0.0000 wall clock)

   ---Wall Time---  --- Name ---
        -----       ....
        -----       Total
```


  Commit: c5d59723cbf9743f7a0534a6ca87383abb6785a7
      https://github.com/llvm/llvm-project/commit/c5d59723cbf9743f7a0534a6ca87383abb6785a7
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/CodeGen/p0963r3.cpp

  Log Message:
  -----------
  [clang][bytecode] Reject constexpr-unknown values in CheckStore (#136279)


  Commit: c609cd2df981d1fcbdfefa1e2601b965b9670630
      https://github.com/llvm/llvm-project/commit/c609cd2df981d1fcbdfefa1e2601b965b9670630
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Misc/warning-flags.c
    A clang/test/SemaCXX/uninitialized-no-ctor.cpp

  Log Message:
  -----------
  Give this diagnostic a diagnostic group (#136182)

I put this under -Wunitialized because that's the same group it's under
in GCC.

Fixes #41104


  Commit: a8fe21f3f502a49cb05b69b0d6fa74472b93888a
      https://github.com/llvm/llvm-project/commit/a8fe21f3f502a49cb05b69b0d6fa74472b93888a
  Author: Andrew Savonichev <andrew.savonichev at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/lib/AST/Decl.cpp
    M clang/test/CodeGenCXX/visibility.cpp

  Log Message:
  -----------
  [clang] Handle instantiated members to determine visibility (#136128)

As reported in issue #103477, visibility of instantiated member
functions used to be ignored when calculating visibility of a
specialization.

This patch modifies `getLVForClassMember` to look up for a source
template for an instantiated member, and changes `mergeTemplateLV` to
apply it.

A similar issue was reported in #31462, but it seems that `extern`
declaration with visibility prevents the function from being emitted as
hidden. This behavior seems correct, even though GCC emits it as with
default visibility instead.

Both tests from #103477 and #31462 are added as LIT tests `test72` and
`test73` respectively.


  Commit: 6c4caae4495118d680fd08cadca73b8c583719c7
      https://github.com/llvm/llvm-project/commit/6c4caae4495118d680fd08cadca73b8c583719c7
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Move DecoderEmitter output to anonymous namespace (#136214)

- Move the code generated by DecoderEmitter to anonymous namespace.
- Move AMDGPU's usage of this code from header file to .cpp file.

Note, we get build errors like "call to function 'decodeInstruction'
that is neither visible in the template definition nor found by
argument-dependent lookup" if we do not change AMDGPU.


  Commit: c890b7376fc916c1818dc3c211a080601973aa0b
      https://github.com/llvm/llvm-project/commit/c890b7376fc916c1818dc3c211a080601973aa0b
  Author: Raul Tambre <raul at tambre.ee>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M lldb/unittests/Core/TelemetryTest.cpp

  Log Message:
  -----------
  [lldb][Telemetry] Fix unit test compile failure with LLVM_ENABLE_TELEMETRY=0 (#136115)

It needs to be `TEST_F` to access `received_entries`.
Disabling also works based on the test not the fixture name.

Build failure:
```
lldb/unittests/Core/TelemetryTest.cpp:110:17: error: use of undeclared identifier 'received_entries'
  110 |   ASSERT_EQ(1U, received_entries.size());
      |                 ^
lldb/unittests/Core/TelemetryTest.cpp:112:61: error: use of undeclared identifier 'received_entries'
  112 |             llvm::dyn_cast<lldb_private::FakeTelemetryInfo>(received_entries[0])
      |                                                             ^
```

Fixes: 159b872b37363511a359c800bcc9230bb09f2457


  Commit: 6462fad3d04d1cc6ceda303a6525742c8b911e79
      https://github.com/llvm/llvm-project/commit/6462fad3d04d1cc6ceda303a6525742c8b911e79
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/IR/DebugInfoMetadata.cpp
    A llvm/test/DebugInfo/AArch64/merge-nested-block-loc.ll
    A llvm/test/DebugInfo/AArch64/merge-nested-block-loc2.ll
    M llvm/unittests/IR/MetadataTest.cpp

  Log Message:
  -----------
  [DebugInfo] getMergedLocation: match scopes based on their location (#132286)

getMergedLocation uses a common parent scope of the two input locations
for an output location.
It doesn't consider the case when the common parent scope is from a file
other than L1's and L2's files. In that case, it produces a merged location
with an erroneous scope (https://github.com/llvm/llvm-project/issues/122846).

In some cases, such as https://github.com/llvm/llvm-project/pull/125780#issuecomment-2651657856,
L1, L2 having a common parent scope from another file indicate that 
the code at L1 and L2 is included from the same source location.

With this commit, getMergedLocation detects that L1, L2, or their common parent
scope files are different. If so, it assumes that L1 and L2 were included
from some source location, and tries to attach the output location to a scope
with the nearest common source location with regard to L1 and L2.
If the nearest common location is also from another file, getMergedLocation returns it
as a merged location, assuming that L1 and L2 belong to files that were both included
in the nearest common location.

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


  Commit: e1b14d4e1c8ecca73e13a0629960d530e336a0d8
      https://github.com/llvm/llvm-project/commit/e1b14d4e1c8ecca73e13a0629960d530e336a0d8
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/test/Headers/gpuintrin_lang.c

  Log Message:
  -----------
  [Clang][GPU] Fix unit test for NVPTX tid.x intrinsic (#136297)

- llvm.nvvm.read.ptx.sreg.tid.x does not have the result range attribute
yet.


  Commit: 3ed83630b263f667bacd1ef1a65f26d8665c282e
      https://github.com/llvm/llvm-project/commit/3ed83630b263f667bacd1ef1a65f26d8665c282e
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [NFC][LLVM][TableGen] Use `decodeULEB128` for `OPC_SoftFail` emission (#136220)

- Use `decodeULEB128` to decode +ve/-ve mask in OPC_SoftFail case.
- Use current `I`/`E` iterators as inputs to `decodeULEB128`.


  Commit: db0f754c5af8e6c96770533520bf8b17fc0dc977
      https://github.com/llvm/llvm-project/commit/db0f754c5af8e6c96770533520bf8b17fc0dc977
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/openmp-offload-gpu.c
    M offload/DeviceRTL/CMakeLists.txt
    R offload/DeviceRTL/src/exports
    M offload/test/lit.cfg

  Log Message:
  -----------
  [OpenMP] Remove 'libomptarget.devicertl.a' fatbinary and use static library (#126143)

Summary:
Currently, we build a single `libomptarget.devicertl.a` which is a
fatbinary. It is a host object file that contains the embedded archive
files for both the NVIDIA and AMDGPU targets. This was done primarily as
a convenience due to naming conflicts. Now that the clang driver for the
GPU targets can appropriate link via the per-target runtime-dir, we can
just make two separate static libraries and remove the indirection.

This patch creates two new static libraries that get installed into
```
/lib/amdgcn-amd-amdhsa/libomp.a
/lib/nvptx64-nvidia-cuda/libomp.a
```
for AMDGPU and NVPTX respectively. The link job created by the linker
wrapper now simply needs to do `-lomp` and it will search those
directories and link those static libraries. This requires far less
special handling.

This patch is a precursor to changing the build system entirely to be a
runtimes based one. Soon this target will be a standard `add_library`
and done through the GPU runtime targets.

NOTE that this actually does remove an additional optimization step.
Previously we merged all of the files into a single bitcode object and
forcibly internalized some definitions. This, instead, just treats them
like a normal static library. This may possibly affect performance for
some files, but I think it's better overall to use static library
semantics because it allows us to have an 'include-what-you-use'
relationship with the library.

Performance testing will be required. If we really need the merged blob
then we can simply pack that into a new static library.


  Commit: fc1e311966c59368e63b834a42523ce104711a94
      https://github.com/llvm/llvm-project/commit/fc1e311966c59368e63b834a42523ce104711a94
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir

  Log Message:
  -----------
  [mlir][memref] Fix rollback in test case during `convert-to-llvm` (#135958)

This commit is in preparation of the One-Shot Dialect Conversion
refactoring, which removes the rollback from the dialect conversion
framework.

`GenericAtomicRMWOpLowering` (`generic_atomic_rmw`) triggered a rollback
in two test cases. The lowering pattern adds additional basic blocks to
the enclosing operation, which used to be a `func.func` (now
`llvm.func`). Adding a basic block triggers legalization of the op that
owns the basic block. This fails when running
`--convert-to-llvm="filter-dialects=memref"` because no lowering
patterns for the `func` dialect were populated and only `llvm` ops are
considered "legal" by the `convert-to-llvm` pass, causing a rollback of
the entire `GenericAtomicRMWOpLowering` pattern.

Also add extra `CHECK-INTERFACE` to make sure that all test cases are
correctly lowered with `--convert-to-llvm="filter-dialects=memref"`.


  Commit: 622765f976f0a76313aa38d0f549eea9affeebfd
      https://github.com/llvm/llvm-project/commit/622765f976f0a76313aa38d0f549eea9affeebfd
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/test/Headers/gpuintrin_lang.c

  Log Message:
  -----------
  [Clang][GPU] Make NVPTX check more permissive in unit test (#136301)

- Seems based on whether NVPTX backend is enabled or not, this call can
have the range() attribute or not. So make this check more permissive.


  Commit: 860e88411d94b9e83cf9524d05b30a3d2d221b2c
      https://github.com/llvm/llvm-project/commit/860e88411d94b9e83cf9524d05b30a3d2d221b2c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M libcxx/docs/Contributing.rst
    M libcxx/include/CMakeLists.txt
    R libcxx/include/module.modulemap
    A libcxx/include/module.modulemap.in
    A libcxx/test/libcxx/Wnon_modular_include_in_module.compile.pass.cpp
    M libcxx/test/libcxx/headers_in_modulemap.sh.py
    M libcxx/test/libcxx/lint/lint_headers.sh.py
    M libcxx/utils/libcxx/header_information.py

  Log Message:
  -----------
  [libc++] Make __config_site modular (#134699)

This patch makes the __config_site header modular, which solves various
problems with non-modular headers. This requires going back to
generating the modulemap file, since we only know how to make
__config_site modular when we're not using the per-target runtime dir.

The patch also adds a test that we support
-Wnon-modular-include-in-module, which warns about non-modular includes
from modules.

---------

Co-authored-by: Konstantin Varlamov <varconst at apple.com>


  Commit: 63b8f1c9482ed0a964980df4aed89bef922b8078
      https://github.com/llvm/llvm-project/commit/63b8f1c9482ed0a964980df4aed89bef922b8078
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
    M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
    M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h
    M mlir/include/mlir/Transforms/Passes.td
    M mlir/lib/Dialect/Affine/TransformOps/AffineTransformOps.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
    M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Reducer/ReductionTreePass.cpp
    M mlir/lib/Transforms/Canonicalizer.cpp
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
    M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir] add a fluent API to GreedyRewriterConfig (#132253)

This is similar to other configuration objects used across MLIR.


  Commit: 730773602f8b039a575e3e48cd838174dd996520
      https://github.com/llvm/llvm-project/commit/730773602f8b039a575e3e48cd838174dd996520
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/test/tools/llvm-reduce/thinlto-preserve-uselistorder.ll

  Log Message:
  -----------
  llvm-reduce: Avoid using constantdata uselistorder in thinlto test (#136288)

This also demonstrates a bug that's a consequence of the two different
paths for the single and multithreaded cases. The parallel path goes
through bitcode serialization and does preserve the uselistorder. It
therefore survives and we can observe a reduced uselistorder with deleted
instructions. In the CloneModule case, nothing is reduced.


  Commit: 35e6ca47c1b565b59a9e9f90b5239804e64819f7
      https://github.com/llvm/llvm-project/commit/35e6ca47c1b565b59a9e9f90b5239804e64819f7
  Author: amordo <iammorjj at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/docs/InstCombineContributorGuide.md

  Log Message:
  -----------
  [docs] Add TOC for InstCombine contributor guide (#136293)


  Commit: 20a104a7d6423784dab04371a5ca728cc27a15a9
      https://github.com/llvm/llvm-project/commit/20a104a7d6423784dab04371a5ca728cc27a15a9
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
    M mlir/include/mlir/Interfaces/FunctionInterfaces.td
    M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/DropEquivalentBufferResults.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Query/Query.cpp
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/test/IR/test-func-erase-result.mlir
    M mlir/test/lib/IR/TestFunc.cpp

  Log Message:
  -----------
  [mlir] allow function type cloning to fail (#136300)

`FunctionOpInterface` assumed the fact that the function type (attribute
of the operation) can be cloned with arbirary lists of function
arguments and results to support argument and result list mutation. This
is not always correct, in particular, LLVM dialect functions require
exactly one result making it impossible to erase the result.

Allow function type cloning to fail and propagate this failure through
various APIs that use it. The common assumption is that existing IR has
not been modified.

Fixes #131142.


  Commit: b1b065f2bf5d626fee277d67b0014577f7e4e499
      https://github.com/llvm/llvm-project/commit/b1b065f2bf5d626fee277d67b0014577f7e4e499
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [ValueTracking] Refactor `isKnownNonEqualFromContext` (#127388)

This patch avoids adding RHS for comparisons with two variable operands
(https://github.com/llvm/llvm-project/pull/118493#discussion_r1949397482).
Instead, we iterate over related dominating conditions of both V1 and V2
in `isKnownNonEqualFromContext`, as suggested by goldsteinn
(https://github.com/llvm/llvm-project/pull/117442#discussion_r1944058002).

Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=c6d95c441a29a45782ff72d6cb82839b86fd0e4a&to=88464baedd7b1731281eaa0ce4438122b4d218a7&stat=instructions:u


  Commit: dda4b968e77e1bb2c319bf2d523de3b5c4ccbb23
      https://github.com/llvm/llvm-project/commit/dda4b968e77e1bb2c319bf2d523de3b5c4ccbb23
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
    A mlir/test/Conversion/AMDGPUToROCDL/swizzle.mlir
    M mlir/test/Dialect/AMDGPU/invalid.mlir

  Log Message:
  -----------
  [mlir] AMDGPUToROCDL: lower `amdgpu.swizzle_bitmode` (#136223)

Repack `amdgpu.swizzle_bitmode` arguments and lower it to
`rocdl.ds_swizzle`.

Repacking logic is follows:
* `sizeof(arg) < sizeof(i32)`: bitcast to integer and zext to i32 and
then trunc and bitcast back.
* `sizeof(arg) == sizeof(i32)`: just bitcast to i32 and back if not i32
* `sizeof(arg) > sizeof(i32)`: bitcast to `vector<Nxi32>`, extract
individual elements and do a series of `rocdl.ds_swizzle` and then
compose vector and bitcast back.

Added repacking logic to LLVM utils so it can be used elsewhere. I'm
planning to use it for `gpu.shuffle` later.


  Commit: f2ecd86e34ed5323f2a8ec2259f11e9f5e9bb078
      https://github.com/llvm/llvm-project/commit/f2ecd86e34ed5323f2a8ec2259f11e9f5e9bb078
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryLocation.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
    M llvm/lib/Target/Lanai/LanaiInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp

  Log Message:
  -----------
  [Analysis] Remove implicit LocationSize conversion from uint64_t (#133342)

This change removes the uint64_t constructor on LocationSize
preventing implicit conversion, and fixes up the using APIs to adapt to
the change. Note that I'm adding a couple of explicit conversion points
on routines where passing in a fixed offset as an integer seems likely
to have well understood semantics.

We had an unfortunate case which arose if you tried to pass a TypeSize
value to a parameter of LocationSize type. We'd find the implicit
conversion path through TypeSize -> uint64_t -> LocationSize which works
just fine for fixed values, but looses information and fails assertions
if the TypeSize was scalable. This change breaks the first link in that
implicit conversion chain since that seemed to be the easier one.


  Commit: d0dd6974b8850dbec0237596fedd58db4552f2ec
      https://github.com/llvm/llvm-project/commit/d0dd6974b8850dbec0237596fedd58db4552f2ec
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVAttributes.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp

  Log Message:
  -----------
  [mlir][spirv] Switch to `llvm::interleaved`. NFC. (#136240)

Clean up printing code by switching to `llvm::interleaved` from
https://github.com/llvm/llvm-project/pull/135517.


  Commit: 4be84a142e97d25faf7acdd2d279124d0af32b7e
      https://github.com/llvm/llvm-project/commit/4be84a142e97d25faf7acdd2d279124d0af32b7e
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp

  Log Message:
  -----------
  [mlir][gpu] Clean up prints in GPU dialect. NFC. (#136250)

Clean up printing code by switching to `llvm::interleaved` from
https://github.com/llvm/llvm-project/pull/135517. Also make some minor
readability & performance fixes.


  Commit: c016a65c180c8703d5bdb2a277bb1629df5517b6
      https://github.com/llvm/llvm-project/commit/c016a65c180c8703d5bdb2a277bb1629df5517b6
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp

  Log Message:
  -----------
  [mlir][vector] Switch to `llvm::interleaved` in debug prints. NFC. (#136248)

Clean up printing code by switching to `llvm::interleaved` from
https://github.com/llvm/llvm-project/pull/135517.


  Commit: 257b72758424f56103d38e3d016cfb6baa4da613
      https://github.com/llvm/llvm-project/commit/257b72758424f56103d38e3d016cfb6baa4da613
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaDeclAttr.cpp
    A clang/test/SemaSYCL/Inputs/vectorcall.hpp
    A clang/test/SemaSYCL/sycl-cconv-win.cpp

  Log Message:
  -----------
  [clang][Sema][SYCL] Fix MSVC STL usage on AMDGPU (#135979)

The MSVC STL includes specializations of `_Is_memfunptr` for every
function pointer type, including every calling convention.

The problem is the AMDGPU target doesn't support the x86 `vectorcall`
calling convention so clang sets it to the default CC. This ends up
clashing with the already-existing overload for the default CC, so we
get a duplicate definition error when including `type_traits` (which we
heavily use in the SYCL STL) and compiling for AMDGPU on Windows.

This doesn't happen for pure AMDGPU non-SYCL because it doesn't include
the C++ STL, and it doesn't happen for CUDA/HIP because a similar
workaround was done
[here](https://github.com/llvm/llvm-project/commit/fa49c3a888e816969b5ed68cd5c47efc3eb9419f).

I am not an expert in Sema, so I did a kinda of hardcoded fix, please
let me know if there is a better way to fix this.

As far as I can tell we can't do exactly the same fix that was done for
CUDA because we can't differentiate between device and host code so
easily.

---------

Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>


  Commit: be9f72cf3716bc1de5912a457284a1973112f9a0
      https://github.com/llvm/llvm-project/commit/be9f72cf3716bc1de5912a457284a1973112f9a0
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    R llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll

  Log Message:
  -----------
  Revert "[ConstraintElim] Simplify cmp after uadd.sat/usub.sat (#135603)"

This reverts commit fe54d1afcca055f464840654dd2ec3fd83aea688.

Causes miscompiles, see #135603.


  Commit: 915de1a5889c4dad1ec7b77ac5c41ebabc20a8ca
      https://github.com/llvm/llvm-project/commit/915de1a5889c4dad1ec7b77ac5c41ebabc20a8ca
  Author: Devon Loehr <DKLoehr at users.noreply.github.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/test/Format/lit.local.cfg

  Log Message:
  -----------
  Generate empty .clang-format-ignore before running tests (#136154)

Followup to #136022, this ensures formatting tests are run with an empty
`.clang-format-ignore` in their root directory, to prevent failures if
the file also exists higher in the tree.


  Commit: 273aecdb2008a58593aa1baf175e5e6e2aec1df5
      https://github.com/llvm/llvm-project/commit/273aecdb2008a58593aa1baf175e5e6e2aec1df5
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/io-stmt.h

  Log Message:
  -----------
  [flang-rt] Use runtime::memchr instead of std::memchr. (#135298)


  Commit: 6c5f50f18694a4d91d7ce53a14188c54ee7c6f3b
      https://github.com/llvm/llvm-project/commit/6c5f50f18694a4d91d7ce53a14188c54ee7c6f3b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M offload/test/lit.cfg

  Log Message:
  -----------
  [Offload] Fix typo on `-Xoffload-linker`


  Commit: b3d2dc321c5c78b7204696afe07fe6ef3375acfd
      https://github.com/llvm/llvm-project/commit/b3d2dc321c5c78b7204696afe07fe6ef3375acfd
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    A llvm/test/CodeGen/RISCV/pr135206.ll

  Log Message:
  -----------
  [RISCV] Fix assertion failure when using -fstack-clash-protection (#135248)

We can't assume MBBI is still pointing at MBB if we've already expanded
a probe. We need to re-query the MBB from MBBI. Fixes #135206

Co-authored-by: Craig Topper <craig.topper at sifive.com>


  Commit: 711301066c2e5a6842866baea50ea9346b837459
      https://github.com/llvm/llvm-project/commit/711301066c2e5a6842866baea50ea9346b837459
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Add a description of the semantics of call signatures. (#136189)

This doesn't introduce anything new; it's just a reflection of the
semantics we've already had for many years.

Per discussion on #63484.


  Commit: f4a47b4003b6cfbdd445615b044f0911d99a0e44
      https://github.com/llvm/llvm-project/commit/f4a47b4003b6cfbdd445615b044f0911d99a0e44
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule.py

  Log Message:
  -----------
  Disable test on older compilers. (#136322)


  Commit: bc48b3f8b812c755c5e9c42d6b970a9c1b496578
      https://github.com/llvm/llvm-project/commit/bc48b3f8b812c755c5e9c42d6b970a9c1b496578
  Author: Daniel Bertalan <dani at danielbertalan.dev>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    A lld/test/wasm/lto/thinlto-signature-mismatch-unknown.ll
    M lld/wasm/LTO.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Fix spurious signature mismatch under LTO (#136197)

When generating C++ vtables, Clang declares virtual functions as
`void(void)` when their signature is not known (e.g.parameter types are
forward-declared). As WASM type checks imports, this would conflict with
the real definition during linking. Commit 59f959ff introduced a
workaround for this by deferring signature assignment until a definition
or direct call is seen.

When performing LTO, LLD first scans the bitcode files and creates
`DefinedFunction` symbol table entries for their contents. After LTO
codegen, they are replaced with `UndefinedFunction`s (so that the
definitions will be pulled in from the native LTO-d files when they are
added). At this point, if a function is only referenced in bitcode, its
signature remains `nullptr`.

>From here, it should have behaved like in the non-LTO case: the first
direct call sets the signature. However, as the `isCalledDirectly` flag
was set to true, the missing signature was filled in by the type of the
first reference to the function, which could be a `void(void)` vtable
entry, which would then conflict with the real definition.

This commit sets `isCalledDirectly` to false so that the signature will
only be populated when a direct call is found.

See godotengine/godot#104497 and
emscripten-core/emscripten#10831


  Commit: ad6c23a7b5ecd5582566a6e51c1aa8105fb3f109
      https://github.com/llvm/llvm-project/commit/ad6c23a7b5ecd5582566a6e51c1aa8105fb3f109
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Support/InterleavedRange.h
    M llvm/unittests/Support/InterleavedRangeTest.cpp

  Log Message:
  -----------
  [Support] Allow `llvm::interleaved` with custom ostream types (#136318)

This makes `llvm::interleaved` useable with ostream types that define
custom stream operators that print in a different format from
`raw_ostream`. For example, MLIR's OpAsmPrinter prints values as
operands:
https://github.com/llvm/llvm-project/blob/6c5f50f18694a4d91d7ce53a14188c54ee7c6f3b/mlir/include/mlir/IR/OpImplementation.h#L534-L552


  Commit: 4cb9a3700c31357821e192124baeb3a3a35ff93b
      https://github.com/llvm/llvm-project/commit/4cb9a3700c31357821e192124baeb3a3a35ff93b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
    M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
    M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h
    M mlir/include/mlir/Transforms/Passes.td
    M mlir/lib/Dialect/Affine/TransformOps/AffineTransformOps.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
    M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Reducer/ReductionTreePass.cpp
    M mlir/lib/Transforms/Canonicalizer.cpp
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
    M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  Revert "[mlir] add a fluent API to GreedyRewriterConfig (#132253)"

This reverts commit 63b8f1c9482ed0a964980df4aed89bef922b8078.

Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/172/builds/12083/steps/5/logs/stdio

I've reproduced the error with a release build (-DCMAKE_BUILD_TYPE=Release).


  Commit: 7da385d79729bb7aa1bfc046d3a78e350b7a4f75
      https://github.com/llvm/llvm-project/commit/7da385d79729bb7aa1bfc046d3a78e350b7a4f75
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
    M mlir/include/mlir/Interfaces/FunctionInterfaces.td
    M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/DropEquivalentBufferResults.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Query/Query.cpp
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/test/IR/test-func-erase-result.mlir
    M mlir/test/lib/IR/TestFunc.cpp

  Log Message:
  -----------
  Revert "[mlir] allow function type cloning to fail (#136300)"

This reverts commit 20a104a7d6423784dab04371a5ca728cc27a15a9.

Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/157/builds/25688

I've reproduced the build failure.


  Commit: 46d1cb8335e988e2a9e48b46d80c639a2364a8f9
      https://github.com/llvm/llvm-project/commit/46d1cb8335e988e2a9e48b46d80c639a2364a8f9
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    R mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl-unsupported.mlir
    M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
    M mlir/test/Dialect/GPU/invalid.mlir

  Log Message:
  -----------
  [mlir] GPUToROCDL: Add support for non-i32/f32 shuffle types (#136320)

Use recently added repacking utilities to support other datatypes.

Also, tighten `gpu.shuffle` verification to reject scalable vectors


  Commit: 4c17a5c66346089bf445176c77b36d6ed91d09bd
      https://github.com/llvm/llvm-project/commit/4c17a5c66346089bf445176c77b36d6ed91d09bd
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp

  Log Message:
  -----------
  [mlir] Fix a warning

This patch fixes:

  mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp:140:10:
  error: unused variable 'shflType' [-Werror,-Wunused-variable]


  Commit: f696508b38d1958aac5992a98a90fe6e773e8709
      https://github.com/llvm/llvm-project/commit/f696508b38d1958aac5992a98a90fe6e773e8709
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h

  Log Message:
  -----------
  [BFI] Revert use of append_range (NFC)

This is a partial revert of #136066, which introduced a compile-time
regression. SmallVector::insert() computes the PostOrderIterator
twice in order to call reserve().


  Commit: 5eabececb0a3c7e761ddda2e49430baa834f2c65
      https://github.com/llvm/llvm-project/commit/5eabececb0a3c7e761ddda2e49430baa834f2c65
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M offload/test/jit/empty_kernel.inc
    M offload/test/jit/empty_kernel_lvl2.c

  Log Message:
  -----------
  [Offload] Fix JIT test


  Commit: d3d9b376c01ac4dff1457a98de81eca5cbb648a1
      https://github.com/llvm/llvm-project/commit/d3d9b376c01ac4dff1457a98de81eca5cbb648a1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVOptions.h

  Log Message:
  -----------
  [DebugInfo] Call std::erase directly (NFC) (#136261)


  Commit: 2a692d265bbd84dae807d470caed7be507e4118d
      https://github.com/llvm/llvm-project/commit/2a692d265bbd84dae807d470caed7be507e4118d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVOptions.h

  Log Message:
  -----------
  [DebugInfo] Use std::move (NFC) (#136263)


  Commit: c244daec1cbcd221c073fc40284ee23399257684
      https://github.com/llvm/llvm-project/commit/c244daec1cbcd221c073fc40284ee23399257684
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [LLVM][TableGen] Fix Windows failure in DecoderEmitter (#136310)

- Avoid dereferencing the end() iterator to get the end pointer, instead
calculate it explicitly
- Fixes a regression introduced in
https://github.com/llvm/llvm-project/pull/136220.
- The windows build failure shows the following call stack:

```
 | Exception Code: 0x80000003
 |  #0 0x00007ff74bc05897 std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<unsigned char>>>::operator*(void) const C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:52:0
 |  #1 0x00007ff74bbd3d64 `anonymous namespace'::DecoderEmitter::emitTable D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\utils\TableGen\DecoderEmitter.cpp:852:0
```


  Commit: 5e1b0f97735083b6762834b83fdbb35e76002e03
      https://github.com/llvm/llvm-project/commit/5e1b0f97735083b6762834b83fdbb35e76002e03
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/tools/llvm-gpu-loader/nvptx.cpp

  Log Message:
  -----------
  [llvm] Use llvm::less_first and llvm::less_second (NFC) (#136272)


  Commit: f5947ba5a659d6b3ed62761a7afdf1626435abcb
      https://github.com/llvm/llvm-project/commit/f5947ba5a659d6b3ed62761a7afdf1626435abcb
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/lib/AST/Decl.cpp
    M clang/test/CodeGenCXX/visibility.cpp

  Log Message:
  -----------
  Revert "[clang] Handle instantiated members to determine visibility" (#136317)

Reverts llvm/llvm-project#136128

See discussion here:
https://github.com/llvm/llvm-project/pull/136128#issuecomment-2815648110
and :
https://github.com/llvm/llvm-project/pull/136128#issuecomment-2815652846

@asavonic can re-submit once the examples provided by @jplehr and/or
@DKLoehr are fixed.


  Commit: 61820156980ff20ca6e8a7a43a1e9debb950db85
      https://github.com/llvm/llvm-project/commit/61820156980ff20ca6e8a7a43a1e9debb950db85
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [NFC][LLVM][TableGen] Adjust pointer increments in DecoderEmitter (#136230)

- In both `emitTable` and the generated `decodeInstruction` function
increment the pointer to the decoder op as a part of the switch
statement instead of later on in each case.


  Commit: 23020a8d01a3f58e4903c42eba4b803d5809653e
      https://github.com/llvm/llvm-project/commit/23020a8d01a3f58e4903c42eba4b803d5809653e
  Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
    M mlir/test/Dialect/Linalg/matmul-shared-memory-padding.mlir
    M mlir/test/Dialect/Linalg/subtensor-of-padtensor.mlir

  Log Message:
  -----------
  [mlir] Add optimization to bubbleUpPadSlice pattern for no pad case (#135859)

In cases where there is no padding on a dim, we do not need to compute
new offsets, lengths and padding, for example the new test case added
can just be lowered to
```
    %extracted_slice = tensor.extract_slice %arg0[%arg2, 1, 2] [%arg2, 2, 1] [1, 1, 1] : tensor<3x4x5xf32> to tensor<?x2x1xf32>
 ```
without this PR we will have affine maps like
 ```
#map = affine_map<()[s0] -> (3, s0)>
#map1 = affine_map<()[s0, s1] -> (-s0 + 3, s1)>
%0 = affine.min #map()[%arg2]
 %1 = affine.min #map1()[%0, %arg2]
 %extracted_slice = tensor.extract_slice %arg0[%0, 1, 2] [%1, 2, 1] [1, 1, 1] : tensor<3x4x5xf32> to tensor<?x2x1xf32>
 ```
  which are unnecessary

Signed-off-by: Nirvedh <nirvedh at gmail.com>


  Commit: 5ad32fa6973638a091891942939933a41cbb2162
      https://github.com/llvm/llvm-project/commit/5ad32fa6973638a091891942939933a41cbb2162
  Author: Andrei Safronov <andrei.safronov at espressif.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Xtensa/XtensaFeatures.td
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaSubtarget.h
    M llvm/test/CodeGen/Xtensa/callw.ll
    M llvm/test/CodeGen/Xtensa/div.ll
    M llvm/test/CodeGen/Xtensa/mul.ll
    A llvm/test/CodeGen/Xtensa/rem.ll
    A llvm/test/MC/Xtensa/div.s
    A llvm/test/MC/Xtensa/mul.s

  Log Message:
  -----------
  [Xtensa] Implement Xtensa Mul and Div Options. (#132157)

Implement Xtensa Mul16, Mul32, Mul32High and Div32 Options. Also fix callw test.


  Commit: 58774f1b1f98402c8d62cdde01c1adea067aaf96
      https://github.com/llvm/llvm-project/commit/58774f1b1f98402c8d62cdde01c1adea067aaf96
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/lib/CodeGen/RegisterUsageInfo.cpp

  Log Message:
  -----------
  [CodeGen] Construct SmallVector with iterator ranges (NFC) (#136258)


  Commit: b2ba53172e82354e1318ae7e18c637ac2107aeca
      https://github.com/llvm/llvm-project/commit/b2ba53172e82354e1318ae7e18c637ac2107aeca
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [Transforms] Construct SmallVector with iterator ranges (NFC) (#136259)


  Commit: e298f16e895f1c3e5571ec1adb84f29646b84637
      https://github.com/llvm/llvm-project/commit/e298f16e895f1c3e5571ec1adb84f29646b84637
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    A clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/struct.c

  Log Message:
  -----------
  [CIR] Upstream support for record packing and padding (#136036)

This change adds support for packing and padding record types in ClangIR
and introduces some infrastructure needed for this computation.

Although union support has not been upstreamed yet, there is no good way
to report unions as NYI in the layout computation, so the code added
here includes layout computation for unions. Unions will be added soon.


  Commit: fdcee2dd3687053cf8c69a24178c489d6977e93e
      https://github.com/llvm/llvm-project/commit/fdcee2dd3687053cf8c69a24178c489d6977e93e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [SLP]Reorder tree, if the reorder indices are non empty

Need to consider the ordering for all nodes with the specified ordering,
not only loads/store/extracts.

Reviewers: hiraditya, RKSimon

Reviewed By: hiraditya

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


  Commit: 722d5890cc0d6e3879ebe43b43405f102f658e30
      https://github.com/llvm/llvm-project/commit/722d5890cc0d6e3879ebe43b43405f102f658e30
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll

  Log Message:
  -----------
  [RISCV] Lower e64 vector_deinterleave via ri.vunzip2{a,b} if available (#136321)

If XRivosVizip is available, the ri.vunzip2a and ri.vunzip2b can be used
to the concatenation and register deinterleave shuffle. This patch only
effects the intrinsic lowering (and thus scalable vectors because the
fixed vectors go through shuffle lowering).

Note that this patch is restricted to e64 for staging purposes only. e64
is obviously profitable (i.e. we remove a vcompress). At e32 and below,
our alternative is a vnsrl instead, and we need a bit more complexity
around lowering with fractional LMUL before the ri.vunzip2a/b versions
becomes always profitable. I'll post the followup change once this
lands.


  Commit: ba273be3bd1986f891fba38016bd217b9734b6f8
      https://github.com/llvm/llvm-project/commit/ba273be3bd1986f891fba38016bd217b9734b6f8
  Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [Bazel] Remove redundant gtest_main from codegen_tests, codegen_globalisel_tests, mi_tests (#135316)

For codegen_tests, codegen_globalisel_tests and mi_tests, they already
have their own `main` function defined, so there should be no need to
add `gtest_main` dependency for the main function...

- codegen_tests:
https://github.com/llvm/llvm-project/blob/main/llvm/unittests/CodeGen/TargetOptionsTest.cpp#L73
- codegen_globalisel_tests:
https://github.com/llvm/llvm-project/blob/main/llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp#L978
- mi_tests:
https://github.com/llvm/llvm-project/blob/main/llvm/unittests/MI/LiveIntervalTest.cpp#L933


  Commit: d79bb932785d312faa8cb8e82a0afc103436c54c
      https://github.com/llvm/llvm-project/commit/d79bb932785d312faa8cb8e82a0afc103436c54c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang-rt/lib/cuda/kernel.cpp
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Transforms/CUFGPUToLLVMConversion.h
    M flang/include/flang/Runtime/CUDA/kernel.h
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
    M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
    M flang/test/Fir/CUDA/cuda-launch.fir
    M flang/test/Fir/CUDA/cuda-stream.mlir

  Log Message:
  -----------
  [flang][cuda] Carry over the stream information to kernel launch (#136217)

In CUDA Fortran the stream is encoded in an INTEGER(cuda_stream_kind)
variable.

This information is carried over the GPU dialect through the
`cuf.stream_cast` and the token in the GPU ops.

When converting the `gpu.launch_func` to runtime call, the
`cuf.stream_cast` becomes a no-op and the reference to the stream is
passed to the runtime.

The runtime is adapted to take integer references instead of value for
stream.


  Commit: 733c250bd5b39db2fa0cd0e201730661da56cc87
      https://github.com/llvm/llvm-project/commit/733c250bd5b39db2fa0cd0e201730661da56cc87
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [TableGen] Fix typo in comment. NFC


  Commit: 9ef91677a4a2d4b017d2b96b8c89c2a9b648d6c3
      https://github.com/llvm/llvm-project/commit/9ef91677a4a2d4b017d2b96b8c89c2a9b648d6c3
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
    M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
    M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp

  Log Message:
  -----------
  [clang][Dependency Scanning] Adding an API to Diagnose Invalid Negative Stat Cache Entries (#135703)

We have had numerous situations where the negatively stat cached paths
are invalidated during the build, and such invalidations lead to build
errors.

This PR adds an API to diagnose such cases.
`DependencyScanningFilesystemSharedCache::diagnoseNegativeStatCachedPaths`
allows users of the cache to ask the cache to examine all negatively
stat cached paths, and re-stat the paths using the passed-in file
system. If any re-stat succeeds, the API emits diagnostics.

rdar://149147920


  Commit: 89f930a7de5df59c5a4c2bbfce9b67404b33dc63
      https://github.com/llvm/llvm-project/commit/89f930a7de5df59c5a4c2bbfce9b67404b33dc63
  Author: Ernesto Su <ernesto.su at intel.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/for_order_messages.cpp

  Log Message:
  -----------
  [clang][OpenMP] Fix/enforce order-concurrent-nestable rules (#135463)

OpenMP has restrictions on directives allowed to be strictly nested
inside a
construct with the order(concurrent) clause specified.
 - OpenMP 5.0, 5.1, and 5.2 allows: 'loop', 'parallel', 'simd', and
     combined directives starting with 'parallel'.
 - OpenMP 6.0 allows: the above directives plus 'atomic' and
     all loop-transformation directives.

Furthermore, a region that corresponds to a construct with
order(concurrent)
specified may not contain calls to the OpenMP runtime API.

This PR fixes the following issues in the current implementation:

With -fopenmp-version=50: none of the nesting restrictions above were
enforced
 With -fopenmp-version=60:
1. Clang did not reject OpenMP runtime APIs encountered in the region.
2. Clang erroneously rejected combined directives starting with
parallel.

---------

Co-authored-by: Zahira Ammarguellat <zahira.ammarguellat at intel.com>


  Commit: c27a9586267daebc7c586552b380a2f383b8552d
      https://github.com/llvm/llvm-project/commit/c27a9586267daebc7c586552b380a2f383b8552d
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    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:
  -----------
  [MLIR][LLVMIR] Extend llrint,lrint,lround for vectors of float (#136225)

Matching langref. Note that `llround` is different than the rest.


  Commit: cab75384af8b5638822475b2dd9020b7e879f1f5
      https://github.com/llvm/llvm-project/commit/cab75384af8b5638822475b2dd9020b7e879f1f5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [VPlan] Only generate exit blocks for unique exit blocks.

Make sure we don't generate unnecessary blocks.


  Commit: 3191cfd824771d75949b1ebf5e5fe9073b7fe746
      https://github.com/llvm/llvm-project/commit/3191cfd824771d75949b1ebf5e5fe9073b7fe746
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/test/CIR/CodeGen/struct.c

  Log Message:
  -----------
  [CIR] Upstream limited support for nested structures (#136331)

Previously when we checked to see if it was safe to create CIR for a
structure type, we were conservatively saying no if any structure was in
the process of being converted. That prevented handling nested
structures, even when it would have actually been safe to handle them.
Handling structures which recursively reference structures currently
being processed requires deferring the handling of the recursively
referenced structure, and that still isn't implemented after this
change.

This change adds the less conservative check that allows handling of
non-recursive nested structures.


  Commit: 7cc4472037b43971bd3ee373fe75b5043f5abca9
      https://github.com/llvm/llvm-project/commit/7cc4472037b43971bd3ee373fe75b5043f5abca9
  Author: thetruestblue <bblueconway at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp

  Log Message:
  -----------
  [RTSan][Darwin] Adjust OSSpinLock/_os_nospin_lock interceptor and tests (#132867)

These changes align with these lock types and allows builds and tests to
pass with various SDKS.

rdar://147067322


  Commit: 7c51e426159a7751b062e9860e1ec71cd8fc7bb7
      https://github.com/llvm/llvm-project/commit/7c51e426159a7751b062e9860e1ec71cd8fc7bb7
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/test/CIR/CodeGen/basic.c

  Log Message:
  -----------
  [CIR] Upstream scalar support for ParenExpr (#136332)

This change adds support for handling ParenExpr in scalar expressions. A
few more places will need to be updated after structure assignment and
complex type support is in place.


  Commit: 4091f4dd96d1501e007ed044fc93be1bfaafea08
      https://github.com/llvm/llvm-project/commit/4091f4dd96d1501e007ed044fc93be1bfaafea08
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    R flang/test/HLFIR/all-elemental.fir
    R flang/test/HLFIR/any-elemental.fir
    R flang/test/HLFIR/count-elemental.fir
    R flang/test/HLFIR/maxloc-elemental.fir
    R flang/test/HLFIR/maxval-elemental.fir
    R flang/test/HLFIR/minloc-elemental.fir
    R flang/test/HLFIR/minval-elemental.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-all.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-any.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-count.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-maxloc.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-maxval.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-minloc.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-minval.fir

  Log Message:
  -----------
  Reland [flang] Generalized simplification of HLFIR reduction ops. (#136071) (#136246)

This change generalizes SumAsElemental inlining in
SimplifyHLFIRIntrinsics pass so that it can be applied
to ALL, ANY, COUNT, MAXLOC, MAXVAL, MINLOC, MINVAL, SUM.

This change makes the special handling of the reduction
operations in OptimizedBufferization redundant: once HLFIR
operations are inlined, the hlfir.elemental inlining should
do the rest of the job.


  Commit: 32503013ea49f74bb63983705b6316b158d74bda
      https://github.com/llvm/llvm-project/commit/32503013ea49f74bb63983705b6316b158d74bda
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp

  Log Message:
  -----------
  [mlir] harden transform.test_emit_remark_and_erase (#136307)

Executing this transform op may crash when the payload op is not
erasable. Guard against that. Since this is a test op, no additional
test is defined.

Fixes #128323.


  Commit: 28c0d9d37c1f088855119ec4488943d2b4cded8c
      https://github.com/llvm/llvm-project/commit/28c0d9d37c1f088855119ec4488943d2b4cded8c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [mlir] Use llvm::append_range (NFC) (#136257)

This patch replaces:

  llvm::copy(Src, std::back_inserter(Dst));

with:

  llvm::append_range(Dst, Src);

for breavity.

One side benefit is that llvm::append_range eventually calls
llvm::SmallVector::reserve if Dst is of llvm::SmallVector.


  Commit: c62afbfeda07a2018d167b2724c8dd4cf2b39920
      https://github.com/llvm/llvm-project/commit/c62afbfeda07a2018d167b2724c8dd4cf2b39920
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp

  Log Message:
  -----------
  [mlir][linalg][gpu] Clean up printing. NFC. (#136330)

* Use `llvm::interleaved` from #135517 to simplify printing
* Avoid needless vector allocations


  Commit: 430b0c44341f913552a7badf1860acc4a84033ca
      https://github.com/llvm/llvm-project/commit/430b0c44341f913552a7badf1860acc4a84033ca
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp

  Log Message:
  -----------
  CodeGenPrepare: Check use_empty instead of getNumUses == 0 (#136334)


  Commit: e2886705f010762d27d090cf98e11ef5169d5cf4
      https://github.com/llvm/llvm-project/commit/e2886705f010762d27d090cf98e11ef5169d5cf4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  SLPVectorizer: Use use_empty instead of getNumUses (#136336)


  Commit: cfc035a2b1cc2b79b9b73320f7501dac0328685d
      https://github.com/llvm/llvm-project/commit/cfc035a2b1cc2b79b9b73320f7501dac0328685d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/Attributor.cpp

  Log Message:
  -----------
  Attributor: Use use_empty instead of getNumUses == 0 (#136339)


  Commit: 34f34665ac11a6bbbc641696ffd869cce5b90920
      https://github.com/llvm/llvm-project/commit/34f34665ac11a6bbbc641696ffd869cce5b90920
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  LowerGlobalDtors: Use use_empty instead of getNumUses == 0 (#136337)


  Commit: 21a406c92c6cd79116a03443bccc47c1700d73db
      https://github.com/llvm/llvm-project/commit/21a406c92c6cd79116a03443bccc47c1700d73db
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/type-info.h
    M flang-rt/lib/runtime/derived-api.cpp
    M flang/lib/Semantics/runtime-type-info.cpp
    M flang/test/Semantics/typeinfo01.f90

  Log Message:
  -----------
  [flang] Improve runtime SAME_TYPE_AS() (#135670)

The present implementation of the intrinsic function SAME_TYPE_AS()
yields false positive .TRUE. results for distinct derived types that
happen to have the same name.

Replace with an implementation that can now depend on derived type
information records being the same type if and only if they are at the
same location, or are PDT instantiations of the same uninstantiated
derived type. And ensure that the derived type information includes
references from instantiated PDTs to their original types. (The derived
type information format supports these references already, but they were
not being set, perhaps because the current faulty SAME_TYPE_AS
implementation didn't need them, and nothing else does.)

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


  Commit: 46387cd18420e120bbcfa3a646d48e2903a5c28c
      https://github.com/llvm/llvm-project/commit/46387cd18420e120bbcfa3a646d48e2903a5c28c
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang/docs/ModFiles.md
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/resolve11.f90

  Log Message:
  -----------
  [flang] Compile the output of -fdebug-unparse-with-modules (#135696)

The output of a compilation with the -fdebug-unparse-with-modules option
comprises its normal unparsed output along with the regenerated contents
of any modules that were required from module files. This is handy for
producing stand-alone test cases.

The modules' contents are generated by the same code that writes module
files, so they can contain some USE associations to private entities in
other modules that are necessary to complete local declarations, usually
initializers. Such USE associations to private entities are not flagged
as fatal errors when modules are read from module files, but they
currently are caught when the output produced by this option is being
read back in to the compiler.

Handle this case by softening the error to a warning when one module
uses a private entity from another with an alias containing the
non-conforming '$' character. (I could have omitted the message
altogether, but there are other valid warnings that will occur due to
undefined function result variables; further, I didn't want to provide a
general hole around the protection of private names.)


  Commit: b4ff435b84f0f4e05a932c8bfa0c033c87665d5b
      https://github.com/llvm/llvm-project/commit/b4ff435b84f0f4e05a932c8bfa0c033c87665d5b
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    M flang/test/Parser/continuation-in-conditional-compilation.f
    M flang/test/Parser/unmatched-parens.f90
    M flang/test/Preprocessing/implicit-contin3.F90

  Log Message:
  -----------
  [flang] Fix fixed-form continuations of !$ OpenMP conditional lines (#135852)

I broke fixed-form line continuation (without !$) for OpenMP !$
conditional compilation lines. Fix it.


  Commit: 6a7044a7b88a2e5e4ea7f3f9c128b4fbb33233f8
      https://github.com/llvm/llvm-project/commit/6a7044a7b88a2e5e4ea7f3f9c128b4fbb33233f8
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang/lib/Parser/openacc-parsers.cpp
    A flang/test/Semantics/OpenACC/bug135810-1.f90
    A flang/test/Semantics/OpenACC/bug135810-2.f90

  Log Message:
  -----------
  [flang] Improve OpenACC SELF clause parser (#135883)

The current parser can fail on "self(x * 2)" by recognizing just "x" as
a one-element list of object names and then failing at a higher level
because it never reached the right parenthesis. Add lookahead checks and
error recovery.

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


  Commit: 32145a5e18f87e4f672bbc051f00b8d57be98eb3
      https://github.com/llvm/llvm-project/commit/32145a5e18f87e4f672bbc051f00b8d57be98eb3
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang-rt/lib/runtime/edit-input.cpp

  Log Message:
  -----------
  [flang][runtime] Better handling for integer input into null address (#135987)

The original descriptor-only path for I/O checks for null data addresses
and crashes with a readable message, but there's no such check on the
new fast path for formatted integer input, and so a READ into (say) a
deallocated allocatable will crash with a segfault. Put a null data
address check on the new fast path.


  Commit: 544940846d5b99831307595b82818b2b4aba6377
      https://github.com/llvm/llvm-project/commit/544940846d5b99831307595b82818b2b4aba6377
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang/include/flang/Evaluate/check-expression.h
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Semantics/check-call.cpp
    A flang/test/Semantics/cuf19.cuf

  Log Message:
  -----------
  [flang][CUDA] Add error & warning for device argument first dimension… (#136058)

… discontiguity

For dummy assumed-shape/-rank device arrays, test the associated actual
argument for stride-1 contiguity, and report an error when the actual
argument is known to not be stride-1 contiguous and nonempty, or a
warning when when the actual argument is not known to be empty or
stride-1 contiguous.


  Commit: aac53ad4d6eafda84ca92196a62e75e96e5fad25
      https://github.com/llvm/llvm-project/commit/aac53ad4d6eafda84ca92196a62e75e96e5fad25
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang/include/flang/Parser/token-sequence.h
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/token-sequence.cpp
    A flang/test/Preprocessing/exponent-bug.F90

  Log Message:
  -----------
  [flang] Don't perform macro replacement on exponents (#136176)

See new test. I inadvertently broke this behavior with a recent fix for
another problem, because the effects of the overloaded
TokenSequence::Put() member function on token merging were confusing.
Rename and document the various overloads.


  Commit: 0dd2ed4ea3b16ee0cd88becf4dc9eb5bacd08ca9
      https://github.com/llvm/llvm-project/commit/0dd2ed4ea3b16ee0cd88becf4dc9eb5bacd08ca9
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp

  Log Message:
  -----------
  [flang][OpenACC] Fix crash due to truncated scope source range (#136206)

A combined construct needs to ensure that the source range of their
initial statement is part of the source range of their scope.

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


  Commit: 03b3620538bcd2514ecf49ab03573014b3346672
      https://github.com/llvm/llvm-project/commit/03b3620538bcd2514ecf49ab03573014b3346672
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang-rt/lib/runtime/edit-output.cpp
    M flang-rt/unittests/Runtime/NumericalFormatTest.cpp

  Log Message:
  -----------
  [flang] Tweak integer output under width-free I/G editing (#136316)

A recent patch fixed Fujitsu test case 0561_0168 by emitting a leading
space for "bare" (no width 'w') I and G output editing of integer
values. This fix has broken another Fujitsu test case (0561_0168), since
the leading space should not be produced at the first column of the
output record. Adjust.


  Commit: daf3c985f75bae2f4f01594be2fbc02f953e7b06
      https://github.com/llvm/llvm-project/commit/daf3c985f75bae2f4f01594be2fbc02f953e7b06
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/test/CIR/CodeGen/basic.c
    M clang/test/CIR/CodeGen/basic.cpp
    A clang/test/CIR/CodeGen/typedef.c

  Log Message:
  -----------
  [CIR] Upstream support for typedef and type aliases (#136335)

Nothing is actually needed in ClangIR to support typedef and type
aliases, but the Decl kinds need to be explicitly ignored in the
emitDecl handlers to avoid hitting the default NYI errors. This change
does that and adds tests.


  Commit: a3f8836ae84dd697e096446d3ca666461da839ed
      https://github.com/llvm/llvm-project/commit/a3f8836ae84dd697e096446d3ca666461da839ed
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll

  Log Message:
  -----------
  AMDGPU: Regenerate baseline checks

Clean up now unnecessary second check prefix.


  Commit: 7c9f4f1128ce6fd87aa274089b7c4271185331d9
      https://github.com/llvm/llvm-project/commit/7c9f4f1128ce6fd87aa274089b7c4271185331d9
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang/test/Semantics/OpenACC/acc-kernels.f90
    M llvm/include/llvm/Frontend/OpenACC/ACC.td

  Log Message:
  -----------
  [flang][openacc] Make num_gangs, num_workers and vector_length behavior homogenous with parallel (#136341)


  Commit: 15e662bf0646200d1fbe28a651fc8d4247bd13cf
      https://github.com/llvm/llvm-project/commit/15e662bf0646200d1fbe28a651fc8d4247bd13cf
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang/test/Lower/HLFIR/procedure-pointer.f90
    M flang/test/Lower/Intrinsics/getpid.f90
    M flang/test/Lower/Intrinsics/time.f90
    M flang/test/Lower/OpenACC/acc-atomic-capture.f90
    M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-private-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    M flang/test/Lower/OpenMP/allocatable-map.f90
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/atomic-read.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/derived-type-map.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
    M flang/test/Lower/io-derived-type.f90
    M flang/test/Lower/parent-component.f90

  Log Message:
  -----------
  [NFC][flang] Removed literal numerical references from some LIT tests. (#136346)


  Commit: 058992ea9fc62a9f79ab90eaebecb267469795a7
      https://github.com/llvm/llvm-project/commit/058992ea9fc62a9f79ab90eaebecb267469795a7
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp

  Log Message:
  -----------
  [lldb] Fix Python GIL-not-held issue in CreateStructuredDataFromScriptObject (#136309)

TestStructuredDataAPI.py fails with Python debug build ver. 3.12+ due to
call to Py_XINCREF while GIL is not held.


  Commit: e5f326044fdca0ba8a4ce42cafd0927776bcabff
      https://github.com/llvm/llvm-project/commit/e5f326044fdca0ba8a4ce42cafd0927776bcabff
  Author: Daniel Bertalan <dani at danielbertalan.dev>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [gn] Port 860e88411d94


  Commit: 30747cfe41f5d4f0b0083750ba9c20cfcccec117
      https://github.com/llvm/llvm-project/commit/30747cfe41f5d4f0b0083750ba9c20cfcccec117
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py

  Log Message:
  -----------
  [ci] add all projects as dependencies of ci (#136153)

Add all projects as dependencies of .ci, to make sure everything is
tested when it changes.

Originally split-off from #135499


  Commit: e232d28eff876b1babbb731f1a0e5502c611a0ee
      https://github.com/llvm/llvm-project/commit/e232d28eff876b1babbb731f1a0e5502c611a0ee
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    R llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    R llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/vplan_hcfg_stress_test.ll
    M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h

  Log Message:
  -----------
  [VPlan] Move plain CFG construction to VPlanConstruction. (NFC)

Follow-up as discussed in https://github.com/llvm/llvm-project/pull/129402.

After bc03d6cce257, the VPlanHCFGBuilder doesn't actually build a HCFG
any longer. Move what remains directly into VPlanConstruction.cpp.


  Commit: 9c3ffa7940c5acd8ec48723748199fe9ed368fde
      https://github.com/llvm/llvm-project/commit/9c3ffa7940c5acd8ec48723748199fe9ed368fde
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

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


  Commit: 3ad353c91a0e759df5adb2d27c8b1ae214acab4f
      https://github.com/llvm/llvm-project/commit/3ad353c91a0e759df5adb2d27c8b1ae214acab4f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  OMPIRBuilder: Avoid getNumUses (#136350)


  Commit: 34e78093975b7c3be0fbd088429d8124702d8336
      https://github.com/llvm/llvm-project/commit/34e78093975b7c3be0fbd088429d8124702d8336
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/unittests/Analysis/CGSCCPassManagerTest.cpp
    M llvm/unittests/Analysis/LazyCallGraphTest.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/IR/ValueHandleTest.cpp
    M llvm/unittests/Linker/LinkModulesTest.cpp

  Log Message:
  -----------
  unittests: Avoid using getNumUses (#136352)


  Commit: f2c175f626df67a028e2c56c56db76980135b72f
      https://github.com/llvm/llvm-project/commit/f2c175f626df67a028e2c56c56db76980135b72f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp

  Log Message:
  -----------
  OpenMPOpt: Avoid using getNumUses (#136349)


  Commit: 5dcfa6146f8f44b0ba9937a37c612d54be6f95e7
      https://github.com/llvm/llvm-project/commit/5dcfa6146f8f44b0ba9937a37c612d54be6f95e7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVVMReflect.cpp

  Log Message:
  -----------
  NVPTX: Avoid getNumUses (#136351)


  Commit: a79e257ff15504fca877601c842b91244e3c0ab0
      https://github.com/llvm/llvm-project/commit/a79e257ff15504fca877601c842b91244e3c0ab0
  Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupIndex.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll

  Log Message:
  -----------
  [HLSL] XFAIL `smoothstep.ll` and `SV_GroupIndex.ll` SPIR-V backend tests (#136343)

When SPIRV-Tools is enabled, tests that specify the target environment
`vulkan1.3` in the validation step fail. This is because SPIRV-Tools
seems to have [grown some capability checks for vulkan
1.3](https://github.com/KhronosGroup/SPIRV-Tools/commit/7e41c7130f8258bf2d62179d8d6dbf3b68a7978b).
The failing tests are:
- `CodeGen/SPIRV/hlsl-intrinsics/SV_GroupIndex.ll`
- `CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll`

For now, the fix is to XFAIL these tests to unblock the pipeline.

Issue #136344 tracks the long-term solution for this.


  Commit: d36ce05237ce5e2c1f9d6cccc79e23241d661999
      https://github.com/llvm/llvm-project/commit/d36ce05237ce5e2c1f9d6cccc79e23241d661999
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp

  Log Message:
  -----------
  ComplexDeinterleaving: Avoid using getNumUses (#136354)


  Commit: 540ea4ddff75f7bdec41533c1e9059b6a4ec81c1
      https://github.com/llvm/llvm-project/commit/540ea4ddff75f7bdec41533c1e9059b6a4ec81c1
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp

  Log Message:
  -----------
  ARM: Avoid using getNumUses (#136355)


  Commit: aed4ecc456a00385b8be04c3e3b4680a09c24463
      https://github.com/llvm/llvm-project/commit/aed4ecc456a00385b8be04c3e3b4680a09c24463
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/and-or-setcc.ll
    M llvm/test/CodeGen/X86/and-or-setcc.ll

  Log Message:
  -----------
  [DAGCombiner] Fold and/or of NaN SETCC - tests follow up (#136168)

Follow up to #135645 to address test cleanup review.


  Commit: 0baa0b38ae105d3b0ec30000960cf31bfcd057de
      https://github.com/llvm/llvm-project/commit/0baa0b38ae105d3b0ec30000960cf31bfcd057de
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp

  Log Message:
  -----------
  AArch64: Use use_empty instead of getNumUses == 0 (#136356)


  Commit: d1cce66469d0739f332b11fdb0fa2a441b1e0483
      https://github.com/llvm/llvm-project/commit/d1cce66469d0739f332b11fdb0fa2a441b1e0483
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    A clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-set-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-if-clause.c
    M clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
    M clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
    M clang/test/SemaOpenACC/combined-construct-tile-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-if-clause.c
    M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
    M clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
    M clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
    M clang/test/SemaOpenACC/data-construct-copy-clause.c
    M clang/test/SemaOpenACC/data-construct-copyin-clause.c
    M clang/test/SemaOpenACC/data-construct-copyout-clause.c
    M clang/test/SemaOpenACC/data-construct-create-clause.c
    M clang/test/SemaOpenACC/data-construct-default-clause.c
    M clang/test/SemaOpenACC/data-construct-delete-clause.c
    M clang/test/SemaOpenACC/data-construct-device_type-clause.c
    M clang/test/SemaOpenACC/data-construct-no_create-clause.c
    M clang/test/SemaOpenACC/data-construct-use_device-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp
    M clang/test/SemaOpenACC/init-construct.cpp
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
    M clang/test/SemaOpenACC/no-empty-pqr-list.cpp
    M clang/test/SemaOpenACC/routine-construct-clauses.cpp
    M clang/test/SemaOpenACC/set-construct.cpp
    M clang/test/SemaOpenACC/shutdown-construct.cpp
    M clang/test/SemaOpenACC/update-construct.cpp
    M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
    M llvm/include/llvm/Frontend/OpenACC/ACC.td
    M llvm/include/llvm/TableGen/DirectiveEmitter.h
    M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp

  Log Message:
  -----------
  [OpenACC] Switch Clang to use the Flang 'appertainment' rules for cla… (#135372)

…uses

The Flang implemenation of OpenACC uses a .td file in the llvm/Frontend
directory to determine appertainment in 4 categories:

-Required: If this list has items in it, the directive requires at least
1 of these be present.

-AllowedExclusive: Items on this list are all allowed, but only 1 from
the list may be here (That is, they are exclusive of eachother).

-AllowedOnce: Items on this list are all allowed, but may not be
duplicated.

Allowed: Items on this list are allowed. Note th at the actual list of
'allowed' is all 4 of these lists together.

This is a draft patch to swtich Clang over to use those tables. Surgery
to get this to happen in Clang Sema was somewhat reasonable. However,
some gaps in the implementations are obvious, the existing clang
implementation disagrees with the Flang interpretation of it. SO, we're
keeping a task list here based on what gets discovered.

Changes to Clang:
- [x] Switch 'directive-kind' enum conversions to use tablegen See
ff1a7bddd9435b6ae2890c07eae60bb07898bbf5
- [x] Switch 'clause-kind' enum conversions to use tablegen See
ff1a7bddd9435b6ae2890c07eae60bb07898bbf5
- [x] Investigate 'parse' test differences to see if any new
disagreements arise.
- [x] Clang/Flang disagree as to whether 'collapse' can be multiple
times on a loop. Further research showed no prose to limit this, and the
comment on the clang implementation said "no good reason to allow", so
no standards justification.
- [x] Clang/Flang disagree whether 'num_gangs' can appear >1 on a
compute/combined construct. This ended up being an unjustified
restriction.
- [x] Clang/Flang disagree as to the list of required clauses on a 'set'
construct. My research shows that Clang mistakenly included 'if' in the
list, and that it should be just 'default_async', 'device_num', and
'device_type'.
- [x] Order of 'at least one of' diagnostic has changed. Tests were
updated.
- [x] Ensure we are properly 'de-aliasing' clause names in appertainment
checks?
- [x] What is 'shortloop'? 'shortloop' seems to be an old non-standard
extension that isn't supported by flang, but is parsed for backward
compat reasons. Clang won't parse, but we at least have a spot for it in
the clause list.
- [x] Implemented proposed change for 'routine' gang/worker/vector/seq.
(see issue 539)
- [x] Implement init/shutdown can only have 1 'if' (see issue 540)
- [x] Clang/Flang disagree as to whether 'tile' is permitted more than
once on a 'loop' or combined constructs (Flang prohibits >1). I see no
justification for this in the standard. EDIT: I found a comment in clang
that I did this to make SOMETHING around duplicate checks easier.
Discussion showed we should actually have a better behavior around
'device_type' and duplicates, so I've since implemented that.
- [x] Clang/Flang disagree whether 'gang', 'worker', or 'vector' may
appear on the same construct as a 'seq' on a 'loop' or 'combined'. There
is prose for this in 2022: (a gang, worker, or vector clause may not
appear if a 'seq' clause appears). EDIT: These don't actually disagree,
but aren't in the .td file, so I restored the existing code to do this.
- [x] Clang/Flang disagree on whether 'bind' can appear >1 on a
'routine'. I believe line 3096 (A bind clause may not bind to a routine
name that has a visible bind clause) makes this limitation (Flang
permits >1 bind). we discussed and decided this should have the same
rules as worker/vector/etc, except without the 'exactly 1 of' rule (so
no dupes in individual sections).
- [x] Clang/Flang disagree on whether 'init'/'shutdown' can have
multiple 'device_num' clauses. I believe there is no supporting prose
for this limitation., We decided that `device_num` should only happen
1x.
- [x] Clang/Flang disagree whether 'num_gangs' can appear >1 on a
'kernels' construct. Line 1173 (On a kernels construct, the num_gangs
clause must have a single argument) justifies limiting on a
per-arguement basis, but doesn't do so for multiple num_gangs clauses.
WE decided to do this with the '1-per-device-type' region for num_gangs,
num_workers, and vector_length, see openacc bug here:
https://github.com/OpenACC/openacc-spec/issues/541

Changes to Flang:
- [x] Clang/Flang disgree on whether 'atomic' can take an 'if' clause.
This was added in OpenACC3.3_Next See #135451
- [x] Clang/Flang disagree on whether 'finalize' can be allowed >1 times
on a 'exit_data' construct. see #135415.
- [x] Clang/Flang disagree whether 'if_present' should be allowed >1
times on a 'host_data'/'update' construct. see #135422
- [x] Clang/Flang disagree on whether 'init'/'shutdown' can have
multiple 'device_type' clauses. I believe there is no supporting prose
for this limitation.
- [ ] SEE change for num_gangs/etc above.


Changes that need discussion/research:


  Commit: 9e46830f4ad340ffcbe11174139013c36d5428d9
      https://github.com/llvm/llvm-project/commit/9e46830f4ad340ffcbe11174139013c36d5428d9
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

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


  Commit: eec1af21c0828544fc49ee1a982a9cdef455b92a
      https://github.com/llvm/llvm-project/commit/eec1af21c0828544fc49ee1a982a9cdef455b92a
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/lib/Sema/CMakeLists.txt

  Log Message:
  -----------
  Fix build regression from d1cce66469d0739f332b11fdb0fa2a441b1e0483


  Commit: 59eafd1bdc2881b18639c8798997313c2dab0b80
      https://github.com/llvm/llvm-project/commit/59eafd1bdc2881b18639c8798997313c2dab0b80
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaBoundsSafety.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
    M clang/test/Sema/attr-counted-by-or-null-last-field.c
    M clang/test/Sema/attr-counted-by-or-null-late-parsed-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-or-null-struct-ptrs-completable-incomplete-pointee.c
    M clang/test/Sema/attr-counted-by-or-null-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-struct-ptrs-completable-incomplete-pointee.c
    M clang/test/Sema/attr-counted-by-struct-ptrs.c
    M clang/test/Sema/attr-counted-by-vla.c

  Log Message:
  -----------
  [BoundsSafety][Sema] Allow counted_by and counted_by_or_null on pointers where the pointee type is incomplete but potentially completable (#106321)

Previously using the `counted_by` or `counted_by_or_null` attribute on a
pointer with an incomplete pointee type was forbidden. Unfortunately
this prevented a situation like the following from being allowed.

Header file:

```
struct EltTy; // Incomplete type
struct Buffer {
  size_t count;
  struct EltTy* __counted_by(count) buffer; // error before this patch
};
```

Implementation file:

```
struct EltTy {
  // definition
};

void allocBuffer(struct Buffer* b) {
  b->buffer = malloc(sizeof(EltTy)* b->count);
}
```

To allow code like the above but still enforce that the pointee
type size is known in locations where `-fbounds-safety` needs to
emit bounds checks the following scheme is used.

* For incomplete pointee types that can never be completed (e.g. `void`)
  these are treated as error where the attribute is written (just like
  before this patch).
* For incomplete pointee types that might be completable later on
  (struct, union, and enum forward declarations)
  in the translation unit, writing the attribute on the incomplete
  pointee type is allowed on the FieldDecl declaration but "uses" of the
  declared pointer are forbidden if at the point of "use" the pointee
  type is still incomplete.

For this patch a "use" of a FieldDecl covers:

* Explicit and Implicit initialization (note see **Tentative Definition
  Initialization** for an exception to this)
* Assignment
* Conversion to an lvalue (e.g. for use in an expression)

In the swift lang fork of Clang the `counted_by` and
`counted_by_or_null` attribute are allowed in many more contexts. That
isn't the case for upstream Clang so the "use" checks for the attribute
on VarDecl, ParamVarDecl, and function return type have been omitted
from this patch because they can't be tested. However, the
`BoundsSafetyCheckAssignmentToCountAttrPtrWithIncompletePointeeTy` and
`BoundsSafetyCheckUseOfCountAttrPtrWithIncompletePointeeTy` functions
retain the ability to emit diagnostics for these other contexts to avoid
unnecessary divergence between upstream Clang and Apple's internal fork.
Support for checking "uses" will be upstreamed when upstream Clang
allows the `counted_by` and `counted_by_or_null` attribute in additional
contexts.

This patch has a few limitations:

** 1. Tentative Defition Initialization **

This patch currently allows something like:

```
struct IncompleteTy;
struct Buffer {
  int count;
  struct IncompleteTy* __counted_by(count) buf;
};

// Tentative definition
struct Buffer GlobalBuf;
```

The Tentative definition in this example becomes an actual definition
whose initialization **should be checked** but it currently isn't.
Addressing this problem will be done in a subseqent patch.

** 2. When the incomplete pointee type is a typedef diagnostics are slightly misleading **

For this situation:

```

struct IncompleteTy;
typedef struct IncompleteTy Incomplete_t;

struct Buffer {
  int count;
  struct IncompleteTy* __counted_by(count) buf;
};

void use(struct Buffer b) {
  b.buf = 0x0;
}
```

This code emits `note: forward declaration of 'Incomplete_t' (aka
'struct IncompleteTy')` but the location is on the `struct
IncompleteTy;` forward declaration.  This is misleading because
`Incomplete_t` isn't actually forward declared there (instead the
underlying type is). This could be resolved by additional diagnostics
that walk the chain of typedefs and explain each step of the walk.
However, that would be very verbose and didn't seem like a direction
worth pursuing.

rdar://133600117


  Commit: 15ea45b100af4f97c5e6e7aca3168e4b8fb9c9fa
      https://github.com/llvm/llvm-project/commit/15ea45b100af4f97c5e6e7aca3168e4b8fb9c9fa
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp

  Log Message:
  -----------
  [sanitizer_common] Updated build fix for newer NetBSD (#134742)

Co-authored-by: Thomas Klausner <wiz at gatalith.at>


  Commit: 808f63824acec53d60252bef0bd0f6876b3de0c9
      https://github.com/llvm/llvm-project/commit/808f63824acec53d60252bef0bd0f6876b3de0c9
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M .ci/monolithic-linux.sh

  Log Message:
  -----------
  [ci] set up llvm-symbolizer environment variable (#136156)

Set up llvm-symbolizer environment variable so that its preferred over
any symbolizer just built, as it can be much slower when built for
debugging.


  Commit: 2ce97fd43c929404d3420aee7c0f24ef6731f2c5
      https://github.com/llvm/llvm-project/commit/2ce97fd43c929404d3420aee7c0f24ef6731f2c5
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M .ci/monolithic-linux.sh

  Log Message:
  -----------
  [ci] upload any generated clang reproducers as artifacts (#136157)

Make sure any generated clang reproducers end up as artifacts.


  Commit: 7f41095db59526f0e83940cdeb2d7f0a117709c2
      https://github.com/llvm/llvm-project/commit/7f41095db59526f0e83940cdeb2d7f0a117709c2
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/CFIInstBuilder.h
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp

  Log Message:
  -----------
  [AArch64] Use helper class for emitting CFI instructions into MIR (NFCI) (#136004)

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


  Commit: db97d56c97513d561cfdc3a0b1df6c5b5b909d42
      https://github.com/llvm/llvm-project/commit/db97d56c97513d561cfdc3a0b1df6c5b5b909d42
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/test/CodeGen/X86/apx/nf-regressions.ll

  Log Message:
  -----------
  [X86][APX] Handle AND_NF instruction for compare peephole (#136233)


  Commit: 50db7a7d269b42f0cda63eb005aadfdbe25f56cb
      https://github.com/llvm/llvm-project/commit/50db7a7d269b42f0cda63eb005aadfdbe25f56cb
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Driver/emit-mlir.f90
    M flang/test/Lower/HLFIR/calls-f77.f90
    A flang/test/Lower/HLFIR/dummy-scope.f90
    M flang/test/Lower/OpenMP/real10.f90
    M flang/test/Lower/main_location.f90
    A flang/test/Transforms/tbaa-with-dummy-scope2.fir

  Log Message:
  -----------
  [flang] Fixed fir.dummy_scope generation to work for TBAA. (#136382)

The nesting of fir.dummy_scope operations defines the roots
of the TBAA forest. If we do not generate fir.dummy_scope
in functions that do not have any dummy arguments, then
the globals accessed in the function and the dummy arguments
accessed by the callee may end up in different sub-trees
of the same root. The added tbaa-with-dummy-scope2.fir
demonstrates the issue.


  Commit: 5c4e6c61136f5edbaf779bdcf1bda0ed88c7c3ff
      https://github.com/llvm/llvm-project/commit/5c4e6c61136f5edbaf779bdcf1bda0ed88c7c3ff
  Author: Rafael Auler <rafaelauler at fb.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/X86/nobits-symbol.s

  Log Message:
  -----------
  [BOLT] Don't choke on nobits symbols (#136384)


  Commit: 9e3982d9ae8173171cd7247ee505e9c02079c6bf
      https://github.com/llvm/llvm-project/commit/9e3982d9ae8173171cd7247ee505e9c02079c6bf
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__bit/countl.h
    M libcxx/include/__bit/countr.h
    M libcxx/include/__bit_reference
    M libcxx/include/__charconv/to_chars_integral.h
    M libcxx/include/__charconv/traits.h
    M libcxx/include/__hash_table

  Log Message:
  -----------
  [libc++] Replace __libcpp_{ctz, clz} with __builtin_{ctzg, clzg} (#133920)

`__libcpp_{ctz, clz}` were previously used as fallbacks for `__builtin_{ctzg, clzg}` to ensure compatibility with older compilers (Clang 18 and earlier), as `__builtin_{ctzg, clzg}` became available in Clang 19. Now that support for Clang 18 has been officially dropped in #130142, we can now safely  replace all instances of `__libcpp_{ctz, clz}` with `__count{l,r}_zero` (which internally call `__builtin_{ctzg, clzg}` and eliminate the fallback logic.

Closes #131179.


  Commit: 062db99353749ec73a19b030b5553beee59cb0c0
      https://github.com/llvm/llvm-project/commit/062db99353749ec73a19b030b5553beee59cb0c0
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/Mapper.cpp

  Log Message:
  -----------
  [clang-doc][NFC] Use destructuring in Mapper.cpp (#135515)

Destructuring makes the intent a bit clearer over first/second.


  Commit: 5c3789811fd5b50df1178e7068efb75c5b359383
      https://github.com/llvm/llvm-project/commit/5c3789811fd5b50df1178e7068efb75c5b359383
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp
    M clang-tools-extra/clang-doc/BitcodeWriter.h
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/Serialize.h
    M clang-tools-extra/test/clang-doc/basic-project.test

  Log Message:
  -----------
  [clang-doc] Handle static members and functions (#135457)

clang-doc didn't visit VarDecl, and hence never collected info
from class statics members and functions.

Fixes #59813.


  Commit: 667209e45122d0cb7a4c2ac27018d31165b1be70
      https://github.com/llvm/llvm-project/commit/667209e45122d0cb7a4c2ac27018d31165b1be70
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/CMakeLists.txt
    A llvm/include/llvm/Config/Targets.h.cmake
    M llvm/include/llvm/Config/llvm-config.h.cmake
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M mlir/lib/Target/LLVM/NVVM/Target.cpp
    M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp

  Log Message:
  -----------
  Config: Move LLVM_HAS_*_TARGET definitions to a new header.

When enabling or disabling a target we typically need to rebuild most
of LLVM because of the change to the values of the LLVM_HAS_*_TARGET
macros in llvm-config.h, which is included by most of the code, but
are unused by LLVM itself. To avoid this, move the LLVM_HAS_*_TARGET
macros to a separate header, Targets.h.

Update the only in-tree user of the macros (MLIR) to refer to the new
header. I expect that out-of-tree users will detect the change either
at compile time if they build with -Wundef, or at runtime. As far as
I can tell, the usage of these macros is rare in out-of-tree projects,
I found no out-of-tree users in projects indexed by Debian code search
[1], and one user [2] in projects indexed by GitHub code search [3]
(excluding forks of LLVM).

[1] https://codesearch.debian.net/search?q=%23.*LLVM_HAS_.*_TARGET&literal=0
[2] https://github.com/AndreyPavlenko/graph-compiler/blob/238706b12b63945dc490f9f5f33a2d20b3c58944/lib/gc/Target/LLVM/XeVM/Target.cpp#L72
[3] https://github.com/search?q=%2F%23.*LLVM_HAS_.*_TARGET%2F&type=code

Reviewers: nico, grypp, mstorsjo, MaskRay

Reviewed By: MaskRay

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


  Commit: c64f670255d3fa279f026994da2cd80f3394e0c8
      https://github.com/llvm/llvm-project/commit/c64f670255d3fa279f026994da2cd80f3394e0c8
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [clang-format] Fix a crash in EnumTrailingComma (#135903)

Fix #135819


  Commit: ab4c939579fe6ca85d9a1022511635c4e6f83f55
      https://github.com/llvm/llvm-project/commit/ab4c939579fe6ca85d9a1022511635c4e6f83f55
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in annotating TT_PointerOrReference (#136073)

Fix #135972


  Commit: 58a5c469d97302bb33a54338cf827a4cbe4e416a
      https://github.com/llvm/llvm-project/commit/58a5c469d97302bb33a54338cf827a4cbe4e416a
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in BWACS_MultiLine (#136281)

Fixes #136266


  Commit: f9bd89b7ac35920241740969b2b83c45a6a6ddb3
      https://github.com/llvm/llvm-project/commit/f9bd89b7ac35920241740969b2b83c45a6a6ddb3
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCFixup.h
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
    M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

  Log Message:
  -----------
  MCFixup: Add isRelocation/isRelocRelocation helpers

Add two helper functions to simplify checks for relocation types,
replacing direct comparisons with FirstRelocationKind and
FirstLiteralRelocationKind. Note: Some targets haven't utilized
isRelocation yet.

Also, update RelaxFixupKind to use 0 as the sentinel value.


  Commit: b9e11eade7f1c1e2464f9f891d3769d8e48c6509
      https://github.com/llvm/llvm-project/commit/b9e11eade7f1c1e2464f9f891d3769d8e48c6509
  Author: YLChenZ <chentongyongcz at gmail.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    A llvm/test/Verifier/invalid-label-param.ll

  Log Message:
  -----------
  [llvm][ir]: fix llc crashes on function definitions with label parameters (#136285)

Closes #136144.

After the patch:
```llvm
; label-crash.ll
define void @invalid_arg_type(i32 %0) {
1:
  call void @foo(label %1)
  ret void
}

declare void @foo(label)
```
```
lambda at ubuntu22:~/test$ llc -o out.s label-crash.ll 
Function argument cannot be of label type!
label %0
ptr @foo
llc: error: 'label-crash.ll': input module cannot be verified
```


  Commit: 7962820d4dc23852456e1891f785225c4fbc7b36
      https://github.com/llvm/llvm-project/commit/7962820d4dc23852456e1891f785225c4fbc7b36
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp

  Log Message:
  -----------
  MC: Simplify code with isRelocation


  Commit: 06de4d52d5eff6ee083e901d24362a77e102fb16
      https://github.com/llvm/llvm-project/commit/06de4d52d5eff6ee083e901d24362a77e102fb16
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M libcxx/include/__utility/pair.h
    A libcxx/test/std/utilities/utility/pairs/pairs.pair/explicit_deduction_guides.pass.cpp

  Log Message:
  -----------
  [libc++] Properly decay functions in CTAD for `pair` (#134544)

This patch makes instantiation of `pair` in CTAD a bit lazier to avoid
instantiating invalid `pair` specialization before the decaying explicit
deduction guide works.


  Commit: 7b0409ad0e5a7e06fd36a3565b7c24f9586344e6
      https://github.com/llvm/llvm-project/commit/7b0409ad0e5a7e06fd36a3565b7c24f9586344e6
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp

  Log Message:
  -----------
  MC: Simplify code with isRelocation


  Commit: 6311b11595f152a8f4aa02cfa544e72ede66688a
      https://github.com/llvm/llvm-project/commit/6311b11595f152a8f4aa02cfa544e72ede66688a
  Author: Alex Rønne Petersen <alex at alexrp.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/Xclangas.s

  Log Message:
  -----------
  [clang][Driver] Support passing arbitrary args to `-cc1as` with `-Xclangas`. (#100714)

Unlike the `-Xassembler` idea mentioned in #97517, this one comes with
no GCC compatibility concerns, and simply mirrors what `-Xclang` does
for `-cc1`.

This is useful for mostly the same reasons that `-Xclang` is. The
motivating use case is `zig cc`, however, where we use `-Xclang
-target-feature` to pass the exhaustive list of target features to Clang
for C-family files. Before this commit, there was no way to do the same
for assembly files.

For context, Zig bases all of its target feature info directly on the
info in LLVM's backends, including all the dependency relationships
therein. So it just makes more sense for Zig to be able to directly pass
all this info to the assembler, rather than having to manually
reconstruct the corresponding frontend command line flags for every
target.

Closes #97517.


  Commit: f336c908cdae0135d05763e4bb05913d27076fc8
      https://github.com/llvm/llvm-project/commit/f336c908cdae0135d05763e4bb05913d27076fc8
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp

  Log Message:
  -----------
  LoongArch: Use mc::isRelocation. NFC


  Commit: 0c0b5abff7ebedde53ccb84a04dadb00b9b91f2b
      https://github.com/llvm/llvm-project/commit/0c0b5abff7ebedde53ccb84a04dadb00b9b91f2b
  Author: Selim Keles <mehmetselimkeles at outlook.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/tools/clang-format/clang-format-diff.py

  Log Message:
  -----------
  [clang-format] Handle spaces in filename paths in clang-format-diff.py (#135779)

This PR resolves an issue in clang-format-diff.py where
filenames containing spaces were not correctly extracted from Git diffs.
Due to the previous regex implementation, filenames were being
truncated, causing the script to fail when processing diffs with such
filenames.

Fixes #135619.


  Commit: 40789ce7f1b7cff6de82b7f93db25a8c54194d46
      https://github.com/llvm/llvm-project/commit/40789ce7f1b7cff6de82b7f93db25a8c54194d46
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCFixup.h
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp

  Log Message:
  -----------
  MCFixup: Move relocation values before FK_NONE

Simplify the process of encoding a raw relocation type using MCFixupKind.

Currently, FirstRelocationkind is utilized by AArch64, LoongArch, and
RISCV.


  Commit: dca0ccff4f2e6e5df6345352a0392f7230c6bd57
      https://github.com/llvm/llvm-project/commit/dca0ccff4f2e6e5df6345352a0392f7230c6bd57
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp

  Log Message:
  -----------
  LoongArch: Remove unreachable TLS fixup from adjustFixupValue


  Commit: 609586f7f61abf170425883fd8ae390b4a69cc0c
      https://github.com/llvm/llvm-project/commit/609586f7f61abf170425883fd8ae390b4a69cc0c
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp

  Log Message:
  -----------
  LoongArch: Remove fixup kinds that map to relocation types

Follow-up to 40789ce7f1b7cff6de82b7f93db25a8c54194d46
("MCFixup: Move relocation values before FK_NONE")


  Commit: 89687e6f383b742a3c6542dc673a84d9f82d02de
      https://github.com/llvm/llvm-project/commit/89687e6f383b742a3c6542dc673a84d9f82d02de
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h

  Log Message:
  -----------
  LoongArch: Remove TLS fixup kinds that map to relocationtypes

Follow-up to 40789ce7f1b7cff6de82b7f93db25a8c54194d46
("MCFixup: Move relocation values before FK_NONE")


  Commit: 68cef491ebdcaffa0585cb2b22e2be88bd6e36ef
      https://github.com/llvm/llvm-project/commit/68cef491ebdcaffa0585cb2b22e2be88bd6e36ef
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/test/MC/RISCV/compressed-relocations.s
    M llvm/test/MC/RISCV/fixups-compressed.s
    M llvm/test/MC/RISCV/fixups.s
    M llvm/test/MC/RISCV/xqcibi-relocations.s

  Log Message:
  -----------
  [RISCV,test] Remove CHECK lines for MCAsmStreamer's fixup output

The fixup output is a debug aid and should not be used to test
target-specific relocation generation implementation. The llvm-mc
-filetype=obj output is what truly matters.


  Commit: e00693659b9b18647565e380c27da039507673f4
      https://github.com/llvm/llvm-project/commit/e00693659b9b18647565e380c27da039507673f4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [clang-tidy] Use llvm::less_second (NFC) (#136396)


  Commit: bb2e222407c199e330976aebfccb0e05bdf03957
      https://github.com/llvm/llvm-project/commit/bb2e222407c199e330976aebfccb0e05bdf03957
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M lld/MachO/MapFile.cpp

  Log Message:
  -----------
  [lld] Use llvm::less_first (NFC) (#136397)


  Commit: 356ff75e077ce0684b439869f79c72c6df7db687
      https://github.com/llvm/llvm-project/commit/356ff75e077ce0684b439869f79c72c6df7db687
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [mlir] Use llvm::less_first (NFC) (#136398)


  Commit: c239acb5b6b80ddb3c6407ffc9e051f636ae41c1
      https://github.com/llvm/llvm-project/commit/c239acb5b6b80ddb3c6407ffc9e051f636ae41c1
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCFixupKindInfo.h
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MachObjectWriter.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
    M llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
    M llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
    M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
    M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp

  Log Message:
  -----------
  MCFixup: Make FixupKindInfo smaller and change getFixupKindInfo to return value

We will increase the use of raw relocation types and eliminate fixup
kinds that correspond to relocation types. The getFixupKindInfo
functions will return an rvalue instead. Let's update the return type
from a const reference to a value type.


  Commit: 3bcb724903d82414a0952fe0349d5181ff2f0f26
      https://github.com/llvm/llvm-project/commit/3bcb724903d82414a0952fe0349d5181ff2f0f26
  Author: Rafael Auler <rafaelauler at meta.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/X86/high-segments.s

  Log Message:
  -----------
  [BOLT] Add --custom-allocation-vma flag (#136385)

Add an advanced-user flag so we are able to rewrite binaries when we fail
to identify a suitable location to put new code. User then can supply a
custom location via --custom-allocation-vma. This happens more obviously if the
binary has segments mapped to very high addresses.


  Commit: c3000333cda22ec7d5ae2597c6aadcdc5d6ea7f8
      https://github.com/llvm/llvm-project/commit/c3000333cda22ec7d5ae2597c6aadcdc5d6ea7f8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    R clang/test/CodeGen/AArch64/ubsan-handler-pass-by-ref.c
    M clang/test/CodeGen/allow-ubsan-check.c
    M clang/test/CodeGen/attr-counted-by.c
    R clang/test/CodeGen/ubsan-attr.cpp

  Log Message:
  -----------
  Revert "[Reland][Clang][CodeGen][UBSan] Add more precise attributes to recoverable ubsan handlers" (#136402)

Reverts llvm/llvm-project#135135

Breaks several bots, details in #135135.


  Commit: ee4c8b556c5cf42c55ce9540bbb0e29c11894a71
      https://github.com/llvm/llvm-project/commit/ee4c8b556c5cf42c55ce9540bbb0e29c11894a71
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp

  Log Message:
  -----------
  [TableGen] Use llvm::enumerate in one place (NFC) (#136399)


  Commit: a71a2542a1a6d66425a7f078cf5391e95ff3d374
      https://github.com/llvm/llvm-project/commit/a71a2542a1a6d66425a7f078cf5391e95ff3d374
  Author: Christian Sigg <csigg at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

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

  Log Message:
  -----------
  [clang][bazel] Port d1cce66469d0739f332b11fdb0fa2a441b1e0483


  Commit: 5607a3b09c6fb6026adfcfb42710306a63523c57
      https://github.com/llvm/llvm-project/commit/5607a3b09c6fb6026adfcfb42710306a63523c57
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp

  Log Message:
  -----------
  [clang-doc][NFC] Use LLVM style naming in YAMLGenerator.cpp (#136393)


  Commit: e27aa12d47468e4717622a230bb560490b66c3e7
      https://github.com/llvm/llvm-project/commit/e27aa12d47468e4717622a230bb560490b66c3e7
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/Representation.cpp

  Log Message:
  -----------
  [clang-doc][NFC] Use qualified auto (#136394)


  Commit: 8376edb143c4ea0d4d166b81c9667c2341a9533d
      https://github.com/llvm/llvm-project/commit/8376edb143c4ea0d4d166b81c9667c2341a9533d
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp

  Log Message:
  -----------
  [clang-doc][NFC] Avoid C-style casts (#136390)


  Commit: c5c285178ccb1769e6d4dfeeb8df7663ec068a55
      https://github.com/llvm/llvm-project/commit/c5c285178ccb1769e6d4dfeeb8df7663ec068a55
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp

  Log Message:
  -----------
  [clang-doc][NFC] Avoid else after return (#136389)


  Commit: c274bbed6aa5254ec3b97b25471dd08c67224350
      https://github.com/llvm/llvm-project/commit/c274bbed6aa5254ec3b97b25471dd08c67224350
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/Generators.cpp
    M clang-tools-extra/clang-doc/Generators.h
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp

  Log Message:
  -----------
  [clang-doc][NFC] Prefer static functions for internal APIs (#136391)

Additionally moving the declarations from Generator.cpp
prevents misc-use-internal-linkage warnings from clang-tidy.
We fix those here too, since the static functions are part
of the same diagnostic


  Commit: e1df0defa8a16b9769f6bde83ee4e4f79426d53f
      https://github.com/llvm/llvm-project/commit/e1df0defa8a16b9769f6bde83ee4e4f79426d53f
  Author: Petr Hosek <phosek at google.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

  Changed paths:
    M llvm/tools/lto/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Disable LTO library when PIC is disabled (#136372)

Building shared libraries requires PIC. This matches what we do for
Remarks which is another tool library.


  Commit: 9b6fbc06ad532e455960bbe6e4bffa5e72eb9e8c
      https://github.com/llvm/llvm-project/commit/9b6fbc06ad532e455960bbe6e4bffa5e72eb9e8c
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp

  Log Message:
  -----------
  [CIR] Infer MLIR context in type builders when possible (#136362)

This mirrors incubator changes from
https://github.com/llvm/clangir/pull/1570


  Commit: e2944b5897e70f17edb366c1ce10a2479ddc4bda
      https://github.com/llvm/llvm-project/commit/e2944b5897e70f17edb366c1ce10a2479ddc4bda
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-18 (Fri, 18 Apr 2025)

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

  Log Message:
  -----------
  [RISCV] Rename InvalidRegClassGPRX0->InvalidRegClassGPRNoX0. NFC


  Commit: 1c4ff5128a03772572dbaf021e93d6dadb17f898
      https://github.com/llvm/llvm-project/commit/1c4ff5128a03772572dbaf021e93d6dadb17f898
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M .ci/monolithic-linux.sh
    M lldb/test/requirements.txt

  Log Message:
  -----------
  [ci] add dependencies for lldb python binding tests (#136158)


  Commit: d4340978d153fc7ea6445da793320b4104062b12
      https://github.com/llvm/llvm-project/commit/d4340978d153fc7ea6445da793320b4104062b12
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

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

  Log Message:
  -----------
  X86: Avoid using getNumUses (#136348)


  Commit: bbd1a153f521e7faf73e04c95322d7ca2b790609
      https://github.com/llvm/llvm-project/commit/bbd1a153f521e7faf73e04c95322d7ca2b790609
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp

  Log Message:
  -----------
  SPIRV: Use use_empty instead of getNumUses == 0 (#136338)


  Commit: 90de46c51b52226f41354da6d6c488500632f566
      https://github.com/llvm/llvm-project/commit/90de46c51b52226f41354da6d6c488500632f566
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp

  Log Message:
  -----------
  [clang-doc] Fix warnings

This patch fixes:

  clang-tools-extra/clang-doc/BitcodeReader.cpp:47:20: error: unused
  function 'decodeRecord' [-Werror,-Wunused-function]

  clang-tools-extra/clang-doc/BitcodeReader.cpp:437:31: error: unused
  function 'getCommentInfo<std::unique_ptr<clang::doc::CommentInfo>
  &>' [-Werror,-Wunused-function]


  Commit: c47042c5b3f5e87761715a9277712721512cd48d
      https://github.com/llvm/llvm-project/commit/c47042c5b3f5e87761715a9277712721512cd48d
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

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

  Log Message:
  -----------
  [mlir][SPRIV][NFC] Avoid rollback in `TypeCastingOpPattern` (#136284)

This pattern used to create an op and then attached the converted
rounding mode attribute. When the latter failed, the pattern aborted and
a rollback was triggered.

This commit inverses the logic: the converted rounding mode is computed
first, so that no changes have to be rolled back.

Note: This is in preparation of the One-Shot Dialect Conversion
refactoring.


  Commit: f91df0d58df4fcb5edcb89f204f0d22ade9a9262
      https://github.com/llvm/llvm-project/commit/f91df0d58df4fcb5edcb89f204f0d22ade9a9262
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/memberpointers.cpp

  Log Message:
  -----------
  [clang][bytecode] Diagnose failed MemberPtrPtr casts differently (#136407)

Return Invalid() here instead of just false to match the diagnostic
output of the current interpreter.


  Commit: e9280a1d39af88468ffea9a14fad5bf96d51d6e6
      https://github.com/llvm/llvm-project/commit/e9280a1d39af88468ffea9a14fad5bf96d51d6e6
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/include/__algorithm/for_each.h
    M libcxx/include/algorithm
    M libcxx/include/array
    M libcxx/include/bitset
    M libcxx/include/codecvt
    M libcxx/include/condition_variable
    M libcxx/include/ios
    M libcxx/include/locale
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/system_error
    M libcxx/include/vector
    M libcxx/test/libcxx/algorithms/robust_against_copying_comparators.pass.cpp

  Log Message:
  -----------
  [libc++] Backport segmented iterator optimization for std::for_each to C++11 (#134960)

Previously, the segmented iterator optimization for `std::for_each` was restricted to C++23 and later due to its dependency on `__movable_box`, which is not available in earlier standards. This patch eliminates that restriction, enabling consistent optimizations starting from C++11. 

By backporting this enhancement, we improve performance across older standards and create opportunities to extend similar optimizations to other algorithms by forwarding their calls to `std::for_each`.


  Commit: 19c708c18963ac24822564824cb5401e71a49943
      https://github.com/llvm/llvm-project/commit/19c708c18963ac24822564824cb5401e71a49943
  Author: Robert Dazi <14996868+v01dXYZ at users.noreply.github.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
    M clang/lib/AST/Decl.cpp
    M clang/unittests/AST/AttrTest.cpp

  Log Message:
  -----------
  FunctionDecl::getFunctionTypeLoc: ignore function type attributes (#118420)

Related to #118290.

---------

Co-authored-by: v01dxyz <v01dxyz at v01d.xyz>
Co-authored-by: Owen Anderson <resistor at mac.com>


  Commit: a15ef95de47620d580df21bdf35afeeb324e452d
      https://github.com/llvm/llvm-project/commit/a15ef95de47620d580df21bdf35afeeb324e452d
  Author: Owen Anderson <resistor at mac.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
    M clang/lib/AST/Decl.cpp
    M clang/unittests/AST/AttrTest.cpp

  Log Message:
  -----------
  Revert "FunctionDecl::getFunctionTypeLoc: ignore function type attributes (#118420)"

This reverts commit 19c708c18963ac24822564824cb5401e71a49943 because it caused test failures on non-x86 targets.


  Commit: fc55ad4ceb7dda17d4d7eb3d44ac3833ecda1a84
      https://github.com/llvm/llvm-project/commit/fc55ad4ceb7dda17d4d7eb3d44ac3833ecda1a84
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
    M llvm/test/Transforms/StructurizeCFG/simple-structurizecfg-crash.ll

  Log Message:
  -----------
  Revert "[StructurizeCFG] Refactor insertConditions. NFC. (#115476)" (#136370)


  Commit: 8fdebff69d92fd3c6023bf2d0646ca909bb4ec05
      https://github.com/llvm/llvm-project/commit/8fdebff69d92fd3c6023bf2d0646ca909bb4ec05
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M lld/ELF/Driver.cpp
    A lld/test/ELF/lto/aarch64-pac-got-func.ll

  Log Message:
  -----------
  [PAC][ThinLTO] Fix auth key for GOT entries of function symbols (#131467)

Symtab is first filled with the data from the bitcode file, and all
undefined symbols except TLS ones are `STT_NOTYPE`. Since auth key for a
signed GOT entry depends on the symbol type being `STT_FUNC` or not, we
need to update the symtab after the bitcode is compiled to an ELF object
and update symbol types for function symbols. This patch implements the
described behavior.


  Commit: 6196b4ee8c47dc4a2267b7c704d1811e68c7f1c1
      https://github.com/llvm/llvm-project/commit/6196b4ee8c47dc4a2267b7c704d1811e68c7f1c1
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/test/AST/ByteCode/arrays.cpp

  Log Message:
  -----------
  [clang][bytecode] Don't set OnePastEnd bit for array elements (#136422)

If we refer to arr[N], don't set the OnePastEnd bit of the APValue,
since that is already encoded in the array index.


  Commit: 5e80487dd63c53545560726583ef25a160cd8a40
      https://github.com/llvm/llvm-project/commit/5e80487dd63c53545560726583ef25a160cd8a40
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

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

  Log Message:
  -----------
  [Utils] Avoid repeated hash lookups (NFC) (#136414)


  Commit: e7c07a021034c7469c3c4a6f65299152291091ed
      https://github.com/llvm/llvm-project/commit/e7c07a021034c7469c3c4a6f65299152291091ed
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp

  Log Message:
  -----------
  [AMDGPU] Construct SmallVector with iterator ranges (NFC) (#136415)


  Commit: 6b2fd90bb8e9567e5f200ae343d6d0eaedc03782
      https://github.com/llvm/llvm-project/commit/6b2fd90bb8e9567e5f200ae343d6d0eaedc03782
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp

  Log Message:
  -----------
  [Hexagon] Construct SmallVector with an iterator range (NFC) (#136416)

This patch switches to SmallVector so that we can construct an
instance with an iterator range.


  Commit: 584aefbc9be371fceb5f8f494a7e49a0f24e98a3
      https://github.com/llvm/llvm-project/commit/584aefbc9be371fceb5f8f494a7e49a0f24e98a3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
    M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp

  Log Message:
  -----------
  [llvm] Use range-based for loops with llvm::drop_begin (NFC) (#136417)


  Commit: 198c5dac37dbe9c6a5f10e2b5113afc39b6eb93d
      https://github.com/llvm/llvm-project/commit/198c5dac37dbe9c6a5f10e2b5113afc39b6eb93d
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
    M mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Transform/Interfaces/MatchInterfaces.cpp
    M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp

  Log Message:
  -----------
  [mlir][transform] Clean up prints. NFC. (#136401)

Use `llvm::interleaved` from #135517 to simplify printing.


  Commit: 4d756917617c3fa2990fd41a5efc3c97bd3506d8
      https://github.com/llvm/llvm-project/commit/4d756917617c3fa2990fd41a5efc3c97bd3506d8
  Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp

  Log Message:
  -----------
  [Hexagon] Change placeholder from `undef` to `poison` (#135555)

A `poison` vector should be used when performing an identity shuffle.

Co-authored-by: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>


  Commit: d46c7334e86040a71b4002786fe021ebf6946694
      https://github.com/llvm/llvm-project/commit/d46c7334e86040a71b4002786fe021ebf6946694
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

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

  Log Message:
  -----------
  [Scalar] Avoid repeated hash lookups (NFC) (#136264)


  Commit: 0ed1c9862df408d3df171762bd8fa0dafbe1b7e2
      https://github.com/llvm/llvm-project/commit/0ed1c9862df408d3df171762bd8fa0dafbe1b7e2
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/Randstruct.cpp
    M clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseStmtAsm.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/Tooling/Tooling.cpp
    M clang/unittests/Interpreter/ExceptionTests/InterpreterExceptionTest.cpp
    M clang/unittests/Interpreter/InterpreterTest.cpp
    M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/MveEmitter.cpp

  Log Message:
  -----------
  [clang] llvm::append_range (NFC) (#136440)


  Commit: 0c4309bcc4154562ae91c3705a9e6c398833119b
      https://github.com/llvm/llvm-project/commit/0c4309bcc4154562ae91c3705a9e6c398833119b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/lib/IR/Value.cpp

  Log Message:
  -----------
  IR: Avoid repeating assert condition in Value destructor (#136340)


  Commit: 031475594abd8a66b88a1687706651579e840421
      https://github.com/llvm/llvm-project/commit/031475594abd8a66b88a1687706651579e840421
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    M llvm/lib/Support/SuffixTree.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp

  Log Message:
  -----------
  [llvm] Use llvm::SmallVector::pop_back_val (NFC) (#136441)


  Commit: c2d6c7cea7d857f7a9268703e30a7d1ffed7d64b
      https://github.com/llvm/llvm-project/commit/c2d6c7cea7d857f7a9268703e30a7d1ffed7d64b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/State.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Randstruct.cpp
    M clang/lib/Analysis/IntervalPartition.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/Driver/MultilibBuilder.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Format/SortJavaScriptImports.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Serialization/MultiOnDiskHashTable.h
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/tools/clang-installapi/Options.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp

  Log Message:
  -----------
  [clang] Use llvm::append_range (NFC) (#136448)


  Commit: 1cf188a1bca6d1ce135eab4cce5dead4f8f55026
      https://github.com/llvm/llvm-project/commit/1cf188a1bca6d1ce135eab4cce5dead4f8f55026
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M mlir/lib/Analysis/Liveness.cpp
    M mlir/lib/Rewrite/ByteCode.cpp

  Log Message:
  -----------
  [mlir] Use llvm::SmallVector::pop_back_val() (NFC) (#136452)


  Commit: 94733492b720c2e65a8fe9bd2179a35a7b7d9916
      https://github.com/llvm/llvm-project/commit/94733492b720c2e65a8fe9bd2179a35a7b7d9916
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/SemaHLSL.cpp

  Log Message:
  -----------
  [clang] Use llvm::SmallVector::pop_back_val (NFC) (#136451)


  Commit: f347a0659132705f32551e3e599fd051d1b5e58e
      https://github.com/llvm/llvm-project/commit/f347a0659132705f32551e3e599fd051d1b5e58e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M lld/COFF/MapFile.cpp
    M lld/ELF/AArch64ErrataFix.cpp
    M lld/ELF/ARMErrataFix.cpp
    M lld/ELF/BPSectionOrderer.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/MachO/BPSectionOrderer.cpp
    M lld/include/lld/Common/BPSectionOrdererBase.inc

  Log Message:
  -----------
  [lld] Use llvm::unique (NFC) (#136453)


  Commit: ec6828c1ecad7fe2f799f7b5af3361885a5d5bb9
      https://github.com/llvm/llvm-project/commit/ec6828c1ecad7fe2f799f7b5af3361885a5d5bb9
  Author: John Harrison <harjohn at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp

  Log Message:
  -----------
  [lldb-dap] Remove an incorrect assumption on reverse requests. (#136210)

Reverse requests do have a 'seq' set still from VSCode. I incorrectly
interpreted
https://github.com/microsoft/vscode/blob/dede7bb4b7e9c9ec69155a243bb84037a40588fe/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.ts#L65
to mean they have a 'seq' of '0', however the 'seq' is set in
'internalSend' here
https://github.com/microsoft/vscode/blob/dede7bb4b7e9c9ec69155a243bb84037a40588fe/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.ts#L178.

Removing the check that 'seq=0' on reverse requests and updating the
dap_server.py impl to also set the seq.


  Commit: e8245d53247f155d234e1de647aac2678c49ac28
      https://github.com/llvm/llvm-project/commit/e8245d53247f155d234e1de647aac2678c49ac28
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
    M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.h
    M llvm/lib/Target/X86/X86InstrBuilder.h
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/test/CodeGen/X86/GlobalISel/GV.ll
    M llvm/test/CodeGen/X86/GlobalISel/add-scalar.ll
    M llvm/test/CodeGen/X86/GlobalISel/callingconv.ll
    M llvm/test/CodeGen/X86/GlobalISel/isel-fcmp-i686.mir
    M llvm/test/CodeGen/X86/GlobalISel/legalize-memop-scalar-32.mir
    M llvm/test/CodeGen/X86/GlobalISel/legalize-memop-scalar-64.mir
    M llvm/test/CodeGen/X86/GlobalISel/legalize-mul-scalar.mir
    M llvm/test/CodeGen/X86/GlobalISel/legalize-trunc.mir
    M llvm/test/CodeGen/X86/GlobalISel/legalize-undef.mir
    M llvm/test/CodeGen/X86/GlobalISel/memop-scalar-x32.ll
    M llvm/test/CodeGen/X86/GlobalISel/mul-scalar.ll
    M llvm/test/CodeGen/X86/GlobalISel/select-GV-32.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-GV-64.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-memop-v128.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-memop-v256.mir
    M llvm/test/CodeGen/X86/GlobalISel/sqrt.mir
    M llvm/test/CodeGen/X86/GlobalISel/sub-scalar.ll
    M llvm/test/CodeGen/X86/isel-and.ll
    M llvm/test/CodeGen/X86/isel-buildvector-sse.ll
    M llvm/test/CodeGen/X86/isel-buildvector-sse2.ll
    M llvm/test/CodeGen/X86/isel-icmp.ll
    M llvm/test/CodeGen/X86/isel-or.ll
    M llvm/test/CodeGen/X86/isel-phi.ll
    M llvm/test/CodeGen/X86/isel-sdiv.ll
    M llvm/test/CodeGen/X86/isel-select-cmov.ll
    M llvm/test/CodeGen/X86/isel-srem.ll
    M llvm/test/CodeGen/X86/isel-traps.ll
    M llvm/test/CodeGen/X86/isel-udiv.ll
    M llvm/test/CodeGen/X86/isel-urem.ll
    M llvm/test/CodeGen/X86/isel-x87.ll
    M llvm/test/CodeGen/X86/isel-xor.ll

  Log Message:
  -----------
  [X86][GlobalISel] Support addr matching in SDAG patterns (#130445)

addr matching was the only gatekeeper for starting selecting G_LOAD
and G_STORE using SDAG patterns.

* Introduce a complex renderer gi_addr for addr. In this patch only
the existing functionality has been implemented. The renderer's name is
the same as in SDAG: selectAddr. Apparently the type of
GIComplexOperandMatcher doesn't matter as RISCV also uses s32 for
both 64 and 32 bit pointers.
* X86SelectAddress now is used for both: pattern matching and manual
selection. As a result it accumulates all the code that previously was
distributed among different selection functions.
* Replace getLoadStoreOp with getPtrLoadStoreOp in Load/Store
selector as GlobalISel matcher or emitter can't map the pointer type
into i32/i64 types used in SDAG patterns for pointers. So the load and
store selection of pointers is still manual. getLoadStoreOp is still
present because it is used in G_FCONSTANT lowering that requires extra
efforts to select it using SDAG patterns.
* Since truncating stores are not supported, we custom legalize them by
matching types of store and MMO.
* Introduce a constant pool flag in X86AddressMode because otherwise
we need to introduce a GlobalISel copy for X86ISelAddressMode.
* Also please notice in the tests that GlobalISel prefers to fold memory
operands immediately comparing to SDAG. The reason is that GlobalISel
doesn't have target hooks in GIM_CheckIsSafeToFold. Or maybe another
check on profitability is required along with safety check that is
currently not present.


  Commit: 3215fd70294369b73b0e944238097a28550e7435
      https://github.com/llvm/llvm-project/commit/3215fd70294369b73b0e944238097a28550e7435
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/PBQP/Math.h

  Log Message:
  -----------
  [PBQP] Add begin and end to Vector (NFC) (#136454)

This patch adds begin and end to Vector.

The new functions will allow us to use llvm::interleaved in operator<<
for example.


  Commit: e5aae97f577b64a5d3285ccec8795d417a330dab
      https://github.com/llvm/llvm-project/commit/e5aae97f577b64a5d3285ccec8795d417a330dab
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/PBQP/Math.h

  Log Message:
  -----------
  [PBQP] Use llvm::interleaved (NFC) (#136462)


  Commit: 6aab2b14e6e5f80d6a10cd56c16ab33cde5b71d3
      https://github.com/llvm/llvm-project/commit/6aab2b14e6e5f80d6a10cd56c16ab33cde5b71d3
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp

  Log Message:
  -----------
  [mlir][linalg] Clean up debug prints. NFC. (#136438)

Use `llvm::interleaved` from #135517 to simplify printing.


  Commit: e9487fed29f386bd67e468b6c7a9c86684a6247d
      https://github.com/llvm/llvm-project/commit/e9487fed29f386bd67e468b6c7a9c86684a6247d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/CGSCCPassManager.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
    M llvm/lib/FuzzMutate/IRMutator.cpp
    M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/ARM/A15SDOptimizer.cpp
    M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
    M llvm/lib/Target/X86/X86CmovConversion.cpp
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/unittests/ExecutionEngine/MCJIT/MCJITTestBase.h
    M llvm/unittests/FuzzMutate/RandomIRBuilderTest.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/FunctionTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp

  Log Message:
  -----------
  [llvm] Construct SmallVector with iterator ranges (NFC) (#136460)


  Commit: eb78b9b42f56c59a7fec7fae8f14b570e0a94646
      https://github.com/llvm/llvm-project/commit/eb78b9b42f56c59a7fec7fae8f14b570e0a94646
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M mlir/lib/Analysis/FlatLinearValueConstraints.cpp
    M mlir/lib/Debug/Observers/ActionLogging.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/GPUHeuristics.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/Syntax.cpp
    M mlir/lib/IR/ExtensibleDialect.cpp
    M mlir/lib/IR/PDL/PDLPatternMatch.cpp
    M mlir/lib/Interfaces/InferTypeOpInterface.cpp

  Log Message:
  -----------
  [mlir] Clean up prints with `llvm::interleaved`. NFC. (#136468)


  Commit: f2ec5e40d96d6ba8f99e419009b6547965905cfe
      https://github.com/llvm/llvm-project/commit/f2ec5e40d96d6ba8f99e419009b6547965905cfe
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/XRayArgs.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/utils/TableGen/NeonEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp

  Log Message:
  -----------
  [clang] Use llvm::unique (NFC) (#136469)


  Commit: 9bcb18db89c5a3b317c0de2a5e94f18044390c3f
      https://github.com/llvm/llvm-project/commit/9bcb18db89c5a3b317c0de2a5e94f18044390c3f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M clang-tools-extra/clangd/IncludeFixer.cpp
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/SourceCode.cpp
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/index/FileIndex.cpp
    M clang-tools-extra/clangd/index/Relation.cpp
    M clang-tools-extra/clangd/index/dex/Trigram.cpp
    M clang-tools-extra/clangd/refactor/Rename.cpp
    M clang-tools-extra/clangd/refactor/tweaks/RemoveUsingNamespace.cpp

  Log Message:
  -----------
  [clangd] Use llvm::unique (NFC) (#136470)


  Commit: ac8fc09688e10e983b99224b5dc5cbbeeedb1879
      https://github.com/llvm/llvm-project/commit/ac8fc09688e10e983b99224b5dc5cbbeeedb1879
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M offload/DeviceRTL/CMakeLists.txt

  Log Message:
  -----------
  [offload] Unset `-march` when building GPU libraries (#136442)

Unset `-march` when invoking the compiler and linker to build the GPU
libraries. These libraries use GPU targets rather than the CPU targets,
and an incidental `-march=native` causes Clang to be able to determine
the GPU used — which causes the build to fail when there is no GPU
available. Resetting `-march=` should suffice to revert to building
generic code for the time being.

See the discussion in:
https://github.com/llvm/llvm-project/pull/126143#issuecomment-2816718492


  Commit: cd84ba2e4d554242e5ddea1d130018bbd701f8af
      https://github.com/llvm/llvm-project/commit/cd84ba2e4d554242e5ddea1d130018bbd701f8af
  Author: Prabhu Rajasekaran <prabhukr at google.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp

  Log Message:
  -----------
  [llvm] Use masm for UEFI (#132461)

For UEFI targets use Microsoft masm.


  Commit: f88fd89909deaf7a174544b02c973a3c2ada02d6
      https://github.com/llvm/llvm-project/commit/f88fd89909deaf7a174544b02c973a3c2ada02d6
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

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

  Log Message:
  -----------
  [RISCV] Extract tryUnsignedBitfieldExtract as a member function of RISCVDAGToDAGISel. NFC.


  Commit: 71037ee9decd05ec07617e5ee77a05e0114b9b67
      https://github.com/llvm/llvm-project/commit/71037ee9decd05ec07617e5ee77a05e0114b9b67
  Author: Christian Sigg <csigg at google.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    A utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/Targets.h
    M utils/bazel/llvm_configs/llvm-config.h.cmake

  Log Message:
  -----------
  [llvm][bazel] Port 667209e45122d0cb7a4c2ac27018d31165b1be70.


  Commit: 8553efd2e98575fbee2c81a334ec28b12e055406
      https://github.com/llvm/llvm-project/commit/8553efd2e98575fbee2c81a334ec28b12e055406
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/FunctionCallUtils.h
    M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
    M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
    M mlir/lib/Conversion/LLVMCommon/PrintCallHelper.cpp
    M mlir/lib/Conversion/MemRefToLLVM/AllocLikeConversion.cpp
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp

  Log Message:
  -----------
  [mlir][LLVM] Add `OpBuilder &` to `lookupOrCreateFn` functions (#136421)

These functions are called from lowering patterns. All IR modifications
in a pattern must be performed through the provided rewriter, but these
functions used to instantiate a new `OpBuilder`, bypassing the provided
rewriter.


  Commit: 366ff3a89880139a132fe2738f36b39c89f5333e
      https://github.com/llvm/llvm-project/commit/366ff3a89880139a132fe2738f36b39c89f5333e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

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

  Log Message:
  -----------
  [VPlan] Get address space from inferred pointer type (NFC)

Remove a use of the underlying ingredient by getting the address space
from the inferred pointer type.


  Commit: 90c845fb3babac387688dfa6d560d3ba8ed8e340
      https://github.com/llvm/llvm-project/commit/90c845fb3babac387688dfa6d560d3ba8ed8e340
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    A clang/test/AST/ByteCode/builtin-object-size.cpp

  Log Message:
  -----------
  [clang][bytecode] Start implementing __builtin_{,dynamic}_object_size (#136478)


  Commit: bb21a6819b3fb9d689de776f7ee768030dfbacea
      https://github.com/llvm/llvm-project/commit/bb21a6819b3fb9d689de776f7ee768030dfbacea
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    R mlir/include/mlir/Conversion/MemRefToLLVM/AllocLikeConversion.h
    R mlir/lib/Conversion/MemRefToLLVM/AllocLikeConversion.cpp
    M mlir/lib/Conversion/MemRefToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp

  Log Message:
  -----------
  [mlir][memref] Move `AllocLikeConversion.h` helpers into `MemRefToLLVM.cpp` (#136424)

This commit moves code around: The helper functions/classes are moved
into `MemRefToLLVM.cpp`. This simplifies the code a bit: fewer
templatized functions, fewer function calls, fewer lines of code.

This commit also moves checks in `matchAndRewrite` to the beginning of
the functions, such that patterns bail out (`return failure()`) before
starting to modify any IR. (Apart from that, this change is NFC.) This
is in preparation of the One-Shot Dialect Conversion refactoring, which
will disallow pattern rollbacks.


  Commit: fc71b2c8db5d0a648ca5417e4c502755bfbe75b6
      https://github.com/llvm/llvm-project/commit/fc71b2c8db5d0a648ca5417e4c502755bfbe75b6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

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

  Log Message:
  -----------
  [VPlan] Get opcode from recipe in VPWidenMemRecipe::computeCost (NFC).

Remove some uses of the underlying ingredient by getting the opcode
directly via the recipe ID.


  Commit: 060f9556a2f6ef4669f1c2cd8c4a4d76748a440f
      https://github.com/llvm/llvm-project/commit/060f9556a2f6ef4669f1c2cd8c4a4d76748a440f
  Author: Pavel Skripkin <paskripkin at gmail.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/test/Analysis/builtin_overflow.c
    M clang/test/Analysis/builtin_overflow_notes.c

  Log Message:
  -----------
  [clang][analyzer] Fix error path of builtin overflow (#136345)

According to
https://clang.llvm.org/docs/LanguageExtensions.html#checked-arithmetic-builtins,
result of builtin_*_overflow functions will be initialized even in case
of overflow. Align analyzer logic to docs and always initialize 3rd
argument of such builtins.

Closes #136292


  Commit: 461168a3d3bb1e75ff41d351a5cc506e103da5d6
      https://github.com/llvm/llvm-project/commit/461168a3d3bb1e75ff41d351a5cc506e103da5d6
  Author: Fangyi Zhou <me at fangyi.io>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    A clang/test/Analysis/PR135665.cpp

  Log Message:
  -----------
  [clang][analyzer] Handle CXXParenInitListExpr alongside InitListExpr (#136041)

As reported in #135665, C++20 parenthesis initializer list expressions
are not handled correctly and were causing crashes. This commit attempts
to fix the issue by handing parenthesis initializer lists along side
existing initializer lists.

Fixes #135665.


  Commit: 839f52147c0cdbe7d4590cfdda089f250e5ec119
      https://github.com/llvm/llvm-project/commit/839f52147c0cdbe7d4590cfdda089f250e5ec119
  Author: Ely Ronnen <elyronnen at gmail.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
    M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts

  Log Message:
  -----------
  [lldb-dap] fix inconsistent debugAdapterHostname argument name (#135544)

the argument is written as `debugAdapterHostname` in package.json but
used as `debugAdapterHost`


  Commit: ea3eb8d6258a018f118b5d41057ca333d1c8d4a0
      https://github.com/llvm/llvm-project/commit/ea3eb8d6258a018f118b5d41057ca333d1c8d4a0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-object-size.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix bos/bdos with non-zero offset applied (#136482)

Compute the offset from the record layout.
Unfortunately, not all the test cases from the current interpreter work.


  Commit: f0cc50cdc969d141015cd132cf56a2ab8447f763
      https://github.com/llvm/llvm-project/commit/f0cc50cdc969d141015cd132cf56a2ab8447f763
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M llvm/include/llvm/ADT/Hashing.h
    M llvm/unittests/ADT/HashingTest.cpp

  Log Message:
  -----------
  [ADT] Add hash_combine_range that takes a range (NFC) (#136459)

The new function will allow us to replace:

  hash_combine_range(Ops.begin(), Ops.end())

with:

  hash_combine_range(Ops)


  Commit: 842e5915778a820c63cf38b75bec932a6ea8c18b
      https://github.com/llvm/llvm-project/commit/842e5915778a820c63cf38b75bec932a6ea8c18b
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
    M clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp
    M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
    M clang-tools-extra/clang-tidy/objc/AssertEquals.cpp
    M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
    M clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] fix `clang-tidy` warnings in `clang-tools-extra/clang-tidy` directory (#136097)

Mostly stylistic changes to `clang-tidy` source code.

Command run:
`python3 clang-tools-extra/clang-tidy/tool/run-clang-tidy.py -p build/
-j $(nproc) clang-tools-extra/clang-tidy`


  Commit: 3ac1aa4c88d4fe40166209cad616f4ae867c20a2
      https://github.com/llvm/llvm-project/commit/3ac1aa4c88d4fe40166209cad616f4ae867c20a2
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/SemaCXX/bitfield-preferred-type-sizing.cpp

  Log Message:
  -----------
  [Clang] Consider preferred_type in bitfield warnings (#116760) (#116785)

Very simply extends the bitfield sema checks for assignment to fields
with a preferred type specified to consider the preferred type if the
decl storage type is not explicitly an enum type.

This does mean that if the preferred and explicit types have different
storage requirements we may not warn in all possible cases, but that's a
scenario for which the warnings are much more complex and confusing.


  Commit: f87109f018faad5f3f1bf8a4668754c24e84e886
      https://github.com/llvm/llvm-project/commit/f87109f018faad5f3f1bf8a4668754c24e84e886
  Author: Tristan Ross <tristan.ross at midstall.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M compiler-rt/lib/builtins/int_lib.h

  Log Message:
  -----------
  [compiler-rt] allow building with uefi (#131499)

I'm trying to put together an LLVM built toolchain (including LLVM libc)
targeting UEFI, currently I get an error saying "Unknown target". This
PR enables compiling compiler-rt for UEFI.


  Commit: b01e25debaf3fde3c76c9763e78e118a7da3d592
      https://github.com/llvm/llvm-project/commit/b01e25debaf3fde3c76c9763e78e118a7da3d592
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M llvm/include/llvm/ADT/ArrayRef.h
    M llvm/include/llvm/ADT/Hashing.h
    M llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
    M llvm/lib/CodeGen/MIRVRegNamerUtils.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/RegisterBankInfo.cpp
    M llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
    M llvm/lib/IR/ConstantsContext.h
    M llvm/lib/IR/LLVMContextImpl.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/Linker/IRMover.cpp
    M llvm/lib/Support/StringRef.cpp
    M llvm/lib/Transforms/IPO/IROutliner.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanSLP.h
    M llvm/tools/llvm-profgen/PerfReader.h

  Log Message:
  -----------
  [llvm] Call hash_combine_range with ranges (NFC) (#136511)


  Commit: 5e834b9ec7fc85072ec12de780d3c793c03b7d00
      https://github.com/llvm/llvm-project/commit/5e834b9ec7fc85072ec12de780d3c793c03b7d00
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
    M mlir/include/mlir/IR/BlockSupport.h
    M mlir/include/mlir/IR/TypeRange.h
    M mlir/lib/Dialect/Quant/IR/TypeDetail.h
    M mlir/lib/Dialect/SPIRV/Linking/ModuleCombiner/ModuleCombiner.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/unittests/IR/OpPropertiesTest.cpp

  Log Message:
  -----------
  [mlir] Call hash_combine_range with ranges (NFC) (#136512)


  Commit: b07d2e62c63414bbce5c1d61bf72153071a8c05d
      https://github.com/llvm/llvm-project/commit/b07d2e62c63414bbce5c1d61bf72153071a8c05d
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Mips/Mips16FrameLowering.cpp
    M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp

  Log Message:
  -----------
  [Mips] Use helper class for emitting CFI instructions (NFCI) (#136242)


  Commit: c6e7bb19f70f6509e1f54e6010a6de50f6a4804f
      https://github.com/llvm/llvm-project/commit/c6e7bb19f70f6509e1f54e6010a6de50f6a4804f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M bolt/lib/Core/BinaryBasicBlock.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/DebugNames.cpp

  Log Message:
  -----------
  [BOLT] Use llvm::unique (NFC) (#136513)


  Commit: be48727b95bf9075e4290cc8938ab87db8b7410c
      https://github.com/llvm/llvm-project/commit/be48727b95bf9075e4290cc8938ab87db8b7410c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-include-fixer/IncludeFixerContext.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp

  Log Message:
  -----------
  [clang-tools-extra] Use llvm::unique (NFC) (#136514)


  Commit: 27653bdc49161b6d0e785185384a5c96a55e9e24
      https://github.com/llvm/llvm-project/commit/27653bdc49161b6d0e785185384a5c96a55e9e24
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/FPOptions.def
    M clang/include/clang/Basic/LangOptions.def

  Log Message:
  -----------
  Ensure bit-fields storing FPEvalMethodKind are wide enough to do so (#136515)

After landing #116760 we hit build failures due to existing fields
storing FPEvalMethodKind not being wide enough.


  Commit: 0e3e0bf42c25b280d8caa455c6ae7e4a04d3667a
      https://github.com/llvm/llvm-project/commit/0e3e0bf42c25b280d8caa455c6ae7e4a04d3667a
  Author: Chyaka <lilium23187 at gmail.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/RISCVProcessors.td

  Log Message:
  -----------
  [RISCV] Add processor definition for XiangShan-KunMingHu-V2R2 (#123193)

XiangShan-KunMingHu is the third generation of Open-source
high-performance RISC-V processor developed by Beijing Institute of Open
Source Chip (BOSC) , and its latest version is V2R2.

The KunMingHu manual is now available at
https://github.com/OpenXiangShan/XiangShan-User-Guide/releases.
It will be updated on the official XiangShan documentation site:
https://docs.xiangshan.cc/zh-cn/latest

You can find the corresponding ISA extension from the XiangShan Github
repository:
https://github.com/OpenXiangShan/XiangShan/blob/master/src/main/scala/xiangshan/Parameters.scala

If you want to track the latest performance data of KunMingHu, please
check XiangShan Biweekly: https://docs.xiangshan.cc/zh-cn/latest/blog

This PR adds the processor definition for KunMingHu V2R2, developed by
the XSCC team https://github.com/orgs/OpenXiangShan/teams/xscc.

The scheduling model for XiangShan-KunMingHu V2R2 will be submitted in a
subsequent PR.

---------

Co-authored-by: Shenglin Tang <tangshenglin at ict.ac.cn>
Co-authored-by: Xu, Zefan <ceba_robot at outlook.com>
Co-authored-by: Tang Haojin <tanghaojin at outlook.com>


  Commit: ddee2d8559fd18519f712989dc59d299c3334fc1
      https://github.com/llvm/llvm-project/commit/ddee2d8559fd18519f712989dc59d299c3334fc1
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

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

  Log Message:
  -----------
  [X86][APX] Combine (X86Sub 0, AND(X, Y)) to (X86And X, Y) for CLOAD/CSTORE (#136429)

https://godbolt.org/z/TsWochrbf


  Commit: f86953c733c084fd410ca9906f6a2c53641de519
      https://github.com/llvm/llvm-project/commit/f86953c733c084fd410ca9906f6a2c53641de519
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M llvm/docs/CodeOfConduct.rst

  Log Message:
  -----------
  [docs] Correct my email address


  Commit: a8644b3d881fabaac217ba8d8b4afa446e29b453
      https://github.com/llvm/llvm-project/commit/a8644b3d881fabaac217ba8d8b4afa446e29b453
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M bolt/lib/Profile/YAMLProfileWriter.cpp

  Log Message:
  -----------
  [BOLT] Call hash_combine_range with ranges (NFC) (#136524)


  Commit: 02b55d2b78d318dad331a66ddac81c7318b0b87a
      https://github.com/llvm/llvm-project/commit/02b55d2b78d318dad331a66ddac81c7318b0b87a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M clang/lib/AST/ItaniumCXXABI.cpp

  Log Message:
  -----------
  [AST] Call hash_combine_range with a range (NFC) (#136525)


  Commit: 6274442f8c657597233b9691298df7b5cd743e66
      https://github.com/llvm/llvm-project/commit/6274442f8c657597233b9691298df7b5cd743e66
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M clang-tools-extra/clangd/SystemIncludeExtractor.cpp

  Log Message:
  -----------
  [clangd] Call hash_combine_range with a range (NFC) (#136526)


  Commit: 2ba20c52e43ae881dc54037fff94d7e2f217c99d
      https://github.com/llvm/llvm-project/commit/2ba20c52e43ae881dc54037fff94d7e2f217c99d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-20 (Sun, 20 Apr 2025)

  Changed paths:
    M lldb/source/Symbol/Symtab.cpp
    M lldb/source/Target/Target.cpp
    M lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp

  Log Message:
  -----------
  [lldb] Use llvm::unique (NFC) (#136527)


  Commit: f024aab844ab89ab6455ddf1e2232a957c72328e
      https://github.com/llvm/llvm-project/commit/f024aab844ab89ab6455ddf1e2232a957c72328e
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/zext-with-load-is-free.ll

  Log Message:
  -----------
  [RISCV] Remove the TODO that lbu and lhu should be selected to avoid the unnecessary masking. NFC.

RISCVTargetLowering::isZExtFree has been implemented in
https://github.com/llvm/llvm-project/commit/15e894baeeb96612ae471fa83d1729a2d3388fc8.


  Commit: e183459b8b341ec787b2856be7e86a9e6200e2f8
      https://github.com/llvm/llvm-project/commit/e183459b8b341ec787b2856be7e86a9e6200e2f8
  Author: David Green <david.green at arm.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [CostModel] Make sure getCmpSelInstrCost is passed a CondTy (#135535)

It is already required along certain code paths that the CondTy is
valid. Fix some of the uses to make sure it is passed.


  Commit: 2ba455ff3dd192ff814514647d485491510a6342
      https://github.com/llvm/llvm-project/commit/2ba455ff3dd192ff814514647d485491510a6342
  Author: David Green <david.green at arm.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll

  Log Message:
  -----------
  [AArch64] Add CostKind to getSpliceCost (#135537)

This likely does not alter much yet with how the costs are used. Like
other cost functions the CostKind should be passed into and through the
function.


  Commit: 8435de0916d9df5a3a9dd9eeb44d5bf4aba87ba3
      https://github.com/llvm/llvm-project/commit/8435de0916d9df5a3a9dd9eeb44d5bf4aba87ba3
  Author: Tongsheng Wu <tongshengwu0 at gmail.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M clang-tools-extra/clangd/IncludeCleaner.cpp

  Log Message:
  -----------
  [clangd] Print include spelling in IncludeCleaner error message (#136237)


  Commit: 050ca5e27082055f41ad7e3dd2dea2f39364b3ab
      https://github.com/llvm/llvm-project/commit/050ca5e27082055f41ad7e3dd2dea2f39364b3ab
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp

  Log Message:
  -----------
  [CIR][NFC] Simplify BoolAttr builders (#136366)

This mirrors incubator changes from https://github.com/llvm/clangir/pull/1572


  Commit: b6820c35c59a4da3e59c11f657093ffbd79ae1db
      https://github.com/llvm/llvm-project/commit/b6820c35c59a4da3e59c11f657093ffbd79ae1db
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi11.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi12.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi13.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi6.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi9.ll

  Log Message:
  -----------
  [MachinePipeliner] Remove UB from tests (NFC) (#123169)

This patch removes UB from some tests for MachinePipeliner. This patch
fixes following cases.

- Branching on an `undef` value.
- Using `undef`/`null` as a pointer operand of a load/store.

There are other tests of pipeliner that contain the same UB, but for
now, this patch fixes particularly unstable cases when I developed
pipeliner.


  Commit: 4853bf0956058f4433fb81e880a2087da4487f26
      https://github.com/llvm/llvm-project/commit/4853bf0956058f4433fb81e880a2087da4487f26
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  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/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/test/CodeGen/LoongArch/lasx/broadcast-load.ll
    M llvm/test/CodeGen/LoongArch/lsx/broadcast-load.ll

  Log Message:
  -----------
  [LoongArch] Lower build_vector to broadcast load if possible (#135896)


  Commit: 053451cb3502144564b4d0b30a9046045d1820d4
      https://github.com/llvm/llvm-project/commit/053451cb3502144564b4d0b30a9046045d1820d4
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/reduce-fadd.ll

  Log Message:
  -----------
  [RISCV] Handle scalarized reductions in getArithmeticReductionCost

This fixes a crash reported at
https://github.com/llvm/llvm-project/pull/114250#issuecomment-2813686061

If the vector type isn't legal at all, e.g. bfloat with +zvfbfmin,
then the legalized type will be scalarized. So use getScalarType()
instead of getVectorElement() when checking for f16/bf16.


  Commit: 6423c901fd5a5a8370a5326c5fbe16eb5a837374
      https://github.com/llvm/llvm-project/commit/6423c901fd5a5a8370a5326c5fbe16eb5a837374
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

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

  Log Message:
  -----------
  [mlir][LLVM][NFC] Avoid rollback in FuncOp --> LLVM lowering (#136477)

This pattern used to create an `llvm.func` op, then check additional
requirements and return "failure". This commit moves the checks before
the creation of the replacement op, so that no rollback is necessary
when one of the checks fails.

Note: This is in preparation of the One-Shot Dialect Conversion
refactoring, which removes the rollback functionality.


  Commit: 47ca7f1cce56332ee8ac0d525a0172d3bce8508e
      https://github.com/llvm/llvm-project/commit/47ca7f1cce56332ee8ac0d525a0172d3bce8508e
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

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

  Log Message:
  -----------
  [X86] Remove unused BitVector TILERegs (NFC) (#136508)

It is not used.


  Commit: c347ad21ab55fc28cbc1366e86de3ad073dd693a
      https://github.com/llvm/llvm-project/commit/c347ad21ab55fc28cbc1366e86de3ad073dd693a
  Author: Liao Chunyu <chunyu at iscas.ac.cn>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

  Log Message:
  -----------
  [RISCV][NFC] Delete RISCVAsmParser::parsePseudoQCJumpSymbol (#136552)

fix, warning:
RISCVAsmParser::parsePseudoQCJumpSymbol(llvm::OperandVector&)’ defined
but not used [-Wunused-function]


  Commit: 940108b24d1d7cb25b06dd66c6529bddc7daefab
      https://github.com/llvm/llvm-project/commit/940108b24d1d7cb25b06dd66c6529bddc7daefab
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

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

  Log Message:
  -----------
  [AMDGPU][NewPM] Make the pass flow consistent with the legacy pipeline. (#136551)


  Commit: 788b50a4384985f2c221cfd8d290cabc6f59e646
      https://github.com/llvm/llvm-project/commit/788b50a4384985f2c221cfd8d290cabc6f59e646
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/combine-fcopysign.ll

  Log Message:
  -----------
  [X86] Add test coverage for #136368


  Commit: f12078e72601e7c03e5d66afab034313caf8f791
      https://github.com/llvm/llvm-project/commit/f12078e72601e7c03e5d66afab034313caf8f791
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
    M llvm/test/CodeGen/AArch64/optimize-cond-branch.ll
    M llvm/test/CodeGen/AArch64/sve-extract-element.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/ctpop16.ll
    M llvm/test/CodeGen/AMDGPU/dead-machine-elim-after-dead-lane.ll
    M llvm/test/CodeGen/AMDGPU/mdt-preserving-crash.ll
    M llvm/test/CodeGen/PowerPC/undef-args.ll
    M llvm/test/CodeGen/RISCV/miss-sp-restore-eh.ll

  Log Message:
  -----------
  [SelectionDAG] Folding  ZERO-EXTEND/SIGN_EXTEND poison to Poison value in getNode (#122741)

The PR will fix the issue
https://github.com/llvm/llvm-project/issues/122728

This patch addresses the signed/zero extension of poison by using a
poison value of the extended type instead of a constant zero of the
extended type.


  Commit: 111af76bd74708929a048f94ef5c52af646f1c64
      https://github.com/llvm/llvm-project/commit/111af76bd74708929a048f94ef5c52af646f1c64
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    A clang/test/CodeGenDirectX/unsupported_intrinsic.hlsl
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/test/CodeGen/DirectX/unsupported_intrinsic.ll

  Log Message:
  -----------
  [DirectX] add Function name to DiagnosticInfoUnsupported Msg in DXILOpLowering (#136234)

fixes #135654

In #128613 we added safe guards to prevent the lowering of just any
intrinsic in the backend. We used `DiagnosticInfoUnsupported` to do
this.

What we found was when using `opt` the diagnostic print function was
called but when using clang the diagnostic message was used.

Printing message in the clang version means we miss valuable debugging
information like function name and function type when LLVMContext was
only needed to call `getBestLocationFromDebugLoc`.

There are a few potential fixes

1. Write a custom DiagnosticInfoUnsupported so we can change the Message
just for DirectX. Too heavy handed so rejected.

2. Add the function name to the Message in DirectX code. Very simple one
line change. Downside is when using opt you see the function name twice.
But makes the clang-dxc bugs more actionable.

3. change CodeGenAction.cpp to always use the print function and not the
message directly. Downside is a bunch of innacurate information shows up
in the message if you don't specify `-debug-info-kind=standalone`.

4. add some book keeping to know which function called the intrinsic
keep a map of these so we can pass the calling function to
`DiagnosticInfoUnsupported` instead of the intrinsic. This would only be
useful if we had debug info so we could distinguish different uses of
the intrinsic by line\col number. We would also need to change from
iterating on every function to doing something like a LazyCallGraph
which is a nonstarter.

5. pick a different means of doing a Diagnostic error, because other
uses of `DiagnosticInfoUnsupported` error when we are in the body of a
function not when we see one being used like in the intrinsic case.

This PR went with a combo of option 2 & 5. Its low code change that also
only impacts the DirectX backend.


  Commit: e18a77cfbe7549720d1a2584ab160edeb60963a6
      https://github.com/llvm/llvm-project/commit/e18a77cfbe7549720d1a2584ab160edeb60963a6
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
    M llvm/test/CodeGen/AArch64/optimize-cond-branch.ll
    M llvm/test/CodeGen/AArch64/sve-extract-element.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/ctpop16.ll
    M llvm/test/CodeGen/AMDGPU/dead-machine-elim-after-dead-lane.ll
    M llvm/test/CodeGen/AMDGPU/mdt-preserving-crash.ll
    M llvm/test/CodeGen/PowerPC/undef-args.ll
    M llvm/test/CodeGen/RISCV/miss-sp-restore-eh.ll

  Log Message:
  -----------
  Revert "[SelectionDAG] Folding  ZERO-EXTEND/SIGN_EXTEND poison to Poison value in getNode (#122741)"

This reverts commit f12078e72601e7c03e5d66afab034313caf8f791.

Breaks `check-llvm`, see comments on https://github.com/llvm/llvm-project/pull/122741


  Commit: 1cb82ff9cd95c216f6d8da18637ee47a15bd41f6
      https://github.com/llvm/llvm-project/commit/1cb82ff9cd95c216f6d8da18637ee47a15bd41f6
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp

  Log Message:
  -----------
  [clang][CIR] Fix various warnings. NFC

- Fix various warnings including '-Wparentheses', '-Wunused-variable',
  and '-Wreturn-type'.


  Commit: 08b0c2517eb859667d59873bf04b6aa78a7583a7
      https://github.com/llvm/llvm-project/commit/08b0c2517eb859667d59873bf04b6aa78a7583a7
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/Parser.cpp
    A clang/test/Parser/extern-template-attributes.cpp

  Log Message:
  -----------
  [Clang] disallow use of attributes before extern template declarations (#136328)

Fixes #79893 


--- 

This PR addresses the issue of _attributes_ being incorrectly allowed on
`extern template` declarations

```cpp
[[deprecated]] extern template struct S<int>;
```


  Commit: cfc2b0d094f705aa0995eff0dc5f1faf1440a769
      https://github.com/llvm/llvm-project/commit/cfc2b0d094f705aa0995eff0dc5f1faf1440a769
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    M llvm/lib/CodeGen/SplitKit.cpp
    M llvm/lib/Support/SuffixTree.cpp

  Log Message:
  -----------
  [llvm] Use llvm::SmallVector::pop_back_val (NFC) (#136533)


  Commit: e1bb7f6ddec37567230d3e46719aee5bcd268d5a
      https://github.com/llvm/llvm-project/commit/e1bb7f6ddec37567230d3e46719aee5bcd268d5a
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/test/TableGen/VarLenDecoder.td
    M llvm/test/TableGen/trydecode-emission.td
    M llvm/test/TableGen/trydecode-emission2.td
    M llvm/test/TableGen/trydecode-emission3.td
    M llvm/test/TableGen/trydecode-emission4.td
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [LLVM][TableGen] Parameterize NumToSkip in DecoderEmitter  (#136456)

- Add command line option `num-to-skip-size` to parameterize the size of
`NumToSkip` bytes in the decoder table. Default value will be 2, and
targets that need larger size can use 3.
- Keep all existing targets, except AArch64, to use size 2, and change
AArch64 to use size 3 since it run into the "disassembler decoding table
too large" error with size 2.
- Additional fixes on top of earlier revert: mark `decodeNumToSkip` as
static (not necessary anymore as the generated code is now in anonymous
namespace, but doing it for consistency) and incorporate Bazel build
changes from https://github.com/llvm/llvm-project/pull/136212
- Following is a rough reduction in size for the decoder tables by
switching to size 2.

```
Target         Old Size   New Size   % Reduction
================================================
AArch64           153254     153254        0.00
AMDGPU            471566     412805       12.46
ARC                 5724       5061       11.58
ARM                84936      73831       13.07
AVR                 1497       1306       12.76
BPF                 2172       1927       11.28
CSKY               10064       8692       13.63
Hexagon            47967      41965       12.51
Lanai               1108        982       11.37
LoongArch          24446      21621       11.56
MSP430              4200       3716       11.52
Mips               36330      31415       13.53
PPC                31897      28098       11.91
RISCV              37979      32790       13.66
Sparc               8331       7252       12.95
SystemZ            36722      32248       12.18
VE                 48296      42873       11.23
XCore               2590       2316       10.58
Xtensa              3827       3316       13.35
```


  Commit: 52a5332a710d4db22327c3777ebf6873ff20732f
      https://github.com/llvm/llvm-project/commit/52a5332a710d4db22327c3777ebf6873ff20732f
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/CodeGenHLSL/ArrayAssignable.hlsl

  Log Message:
  -----------
  [HLSL] Make it possible to assign an array from a cbuffer (#134174)

Update Sema Checking to always do an HLSL Array RValue cast in the case
we are dealing with hlsl constant array types
Instead of comparing canonical types, compare canonical unqualified
types
Add a test to show it is possible to assign an array from a cbuffer.
Closes #133767


  Commit: 93b74f7178e510a12f0eae700a25f7d3eb226265
      https://github.com/llvm/llvm-project/commit/93b74f7178e510a12f0eae700a25f7d3eb226265
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/test/Analysis/CtxProfAnalysis/flatten-and-annotate.ll
    M llvm/test/Analysis/CtxProfAnalysis/flatten-check-path.ll
    M llvm/test/Analysis/CtxProfAnalysis/flatten-insert-icp-mdprof.ll
    M llvm/test/Analysis/CtxProfAnalysis/flatten-zero-path.ll
    M llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
    M llvm/test/Analysis/CtxProfAnalysis/inline.ll
    M llvm/test/Analysis/CtxProfAnalysis/load.ll

  Log Message:
  -----------
  [ctxprof] Scale up everything under a root by its `TotalRootEntryCount` (#136015)

`TotalRootEntryCount` captures how many times that root was entered - regardless if a profile was also collected or not (profile collection for a given root happens on only one thread at a time).

We don't do this in compiler_rt because the goal there is to flush out the data as fast as possible, so traversing and multiplying vectors is punted to the profile user.

We really just need to do this when flattening the profile so that the values across roots and flat profiles match. We could do it earlier, too - like when loading the profile - but it seems beneficial (at least for debugging) to keep the counter values the same as the loaded ones. We can revisit this later.


  Commit: 86a03367bf62375cf0cc299a56f09bed5f0c4875
      https://github.com/llvm/llvm-project/commit/86a03367bf62375cf0cc299a56f09bed5f0c4875
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    A flang/test/Analysis/AliasAnalysis/alias-analysis-pack-array.fir

  Log Message:
  -----------
  [flang] Support fir.pack_array in FIR alias analysis. (#131946)

`fir.pack_array` is just a pass-through op for the process
of finding the source in FIR alias analysis (as defined in #127147).


  Commit: 5133b432bc89f66547f6aab9a935f0a29f3b4572
      https://github.com/llvm/llvm-project/commit/5133b432bc89f66547f6aab9a935f0a29f3b4572
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/Driver.cpp
    A flang/test/Driver/m32-option.f90

  Log Message:
  -----------
  Enable `-m32`, `-maix32` and `-maix64` for Flang on AIX. (#136202)

This PR enables `-m32`, -`maix32` and `-maix64` for AIX only. For other
platforms, the driver will issue an error that `-m32` is not supported.


  Commit: 76ced7fa782f0d7db9efea871fa6de74706dd9cc
      https://github.com/llvm/llvm-project/commit/76ced7fa782f0d7db9efea871fa6de74706dd9cc
  Author: Pankaj Dwivedi <pankajkumar.divedi at amd.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/add64-low-32-bits-known-zero.ll
    M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/constrained-shift.ll
    M llvm/test/CodeGen/AMDGPU/dag-preserve-disjoint-flag.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.make.buffer.rsrc.ll
    M llvm/test/CodeGen/AMDGPU/ptrmask.ll
    M llvm/test/CodeGen/AMDGPU/sdag-print-divergence.ll
    M llvm/test/CodeGen/AMDGPU/sub64-low-32-bits-known-zero.ll
    A llvm/test/CodeGen/AMDGPU/uniform-vgpr-to-sgpr-return.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected

  Log Message:
  -----------
  [AMDGPU] Insert readfirstlane in the function returns in sgpr. (#135326)

insert `readfirstlane` in the function returns in sgpr.


  Commit: f0a59c49aaa951a25bea57cf753a8eb1735fd810
      https://github.com/llvm/llvm-project/commit/f0a59c49aaa951a25bea57cf753a8eb1735fd810
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/CodeGenHLSL/ArrayAssignable.hlsl

  Log Message:
  -----------
  Revert "[HLSL] Make it possible to assign an array from a cbuffer" (#136576)

Reverts llvm/llvm-project#134174
Revert due to test error in hlsl/ArrayAssignable.hlsl breaking a lot of bots.


  Commit: b95ec24ff08c6ffc300bd85c8b0e53dfda4bceef
      https://github.com/llvm/llvm-project/commit/b95ec24ff08c6ffc300bd85c8b0e53dfda4bceef
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-04-22 (Tue, 22 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll

  Log Message:
  -----------
  [SDAG] Handle insert_subvector in isKnownNeverNaN (#131989)

Propagate nnan across insert_subvector.


  Commit: c17984711343c6cd16454431000b55627fc338eb
      https://github.com/llvm/llvm-project/commit/c17984711343c6cd16454431000b55627fc338eb
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/blockaddress-canonicalize.mlir
    A mlir/test/Dialect/LLVMIR/indirectbr.mlir
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    A mlir/test/Target/LLVMIR/Import/indirectbr.ll
    A mlir/test/Target/LLVMIR/indirectbr.mlir
    M mlir/test/mlir-translate/import-diagnostics.ll

  Log Message:
  -----------
  Reapply [MLIR][LLVM] Support for indirectbr (#136378)

Fix msan issue that caused revert in
https://github.com/llvm/llvm-project/pull/135695

### Original message

Now that LLVM dialect has `blockaddress` support, introduce
import/translation for `indirectbr` instruction.


  Commit: f02b285dbd284057d5f1dd5fb599d1c2155670f5
      https://github.com/llvm/llvm-project/commit/f02b285dbd284057d5f1dd5fb599d1c2155670f5
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/CodeGenHLSL/ArrayAssignable.hlsl

  Log Message:
  -----------
  [HLSL] Reland; Make it possible to assign an array from a cbuffer (#136580)

Reland #134174 
Update Sema Checking to always do an HLSL Array RValue cast in the case
we are dealing with hlsl constant array types
Instead of comparing canonical types, compare canonical unqualified
types
Add a test to show it is possible to assign an array from a cbuffer.
Closes https://github.com/llvm/llvm-project/issues/133767


  Commit: 5739a22fbb593eb44490d23e0c8cc12386e4b5b6
      https://github.com/llvm/llvm-project/commit/5739a22fbb593eb44490d23e0c8cc12386e4b5b6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/debugloc.ll
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
    M llvm/test/Transforms/LoopVectorize/load-of-struct-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/loop-form.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
    M llvm/test/Transforms/LoopVectorize/struct-return.ll
    M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll

  Log Message:
  -----------
  [VPlan] Also duplicated scalar-steps when it enables sinking scalars. (#136021)

Extend sinking logic to duplicate scalar steps recipe if it enables
sinking, that is if all users in a destination block require all lanes.

This should be the last step before removing legacy sinkScalarOperands.

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


  Commit: d08e9800650b78fdd9cbed1375faa0f55e4ac09c
      https://github.com/llvm/llvm-project/commit/d08e9800650b78fdd9cbed1375faa0f55e4ac09c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
    M flang/test/Fir/CUDA/cuda-launch.fir

  Log Message:
  -----------
  [flang][cuda] Only convert launch from CUDA Fortran kernels (#136221)

Make sure `gpu.launch_func` has a CUDA proc attribute and update the
conversion pattern to only convert those with the attribute.


  Commit: 3e5a9d9aa04e2c99601ffb6f65032a299a56069c
      https://github.com/llvm/llvm-project/commit/3e5a9d9aa04e2c99601ffb6f65032a299a56069c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [VPlan] Rename setFlags -> applyFlags (NFC).

Update name to apply flags to instructions, as suggested in
https://github.com/llvm/llvm-project/pull/135272.

Also changes the arg to a reference.


  Commit: 1ab9e53e4910557f2a4c0f00c7a7f8b5ac493b48
      https://github.com/llvm/llvm-project/commit/1ab9e53e4910557f2a4c0f00c7a7f8b5ac493b48
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp

  Log Message:
  -----------
  [lldb][Mach-O corefiles] Don't init Target arch to corefile (#136065)

This patch is making three changes, when loading a Mach-O corefile:

1. At the start of `DoLoadCore`, if a binary was provided in addition to
the corefile, initialize the Target's ArchSpec.

2. Before ProcessMachCore does its "exhaustive search" fallback, looking
through the corefile contents for a userland dyld or mach kernel, we
must make sure the Target has an ArchSpec, or methods that check the
address word size, or initialize a DataExtractor based on the Target
arch will not succeed.

3. Add logging when setting the Target's arch listing exactly what that
setting was based on -- the corefile itself, or the main binary.

Jonas landed a change last August (started with a patch from me) which
removed the Target ArchSpec initialization at the start of DoLoadCore,
in a scenario where the corefile had arch armv7 and the main binary had
arch armv7em (Cortex-M), and there was python code in the main binary's
dSYM which sets the operating system threads provider based on the
Target arch. It did different things for armv7 or armv7em, and so it
would fail.

Jonas' patch removed any ArchSpec setting at the start of DoLoadCore, so
we wouldn't have an incorrect arch value, but that broke the exhaustive
search for kernel binaries, because we didn't have an address word size
or endianness.

This patch should navigate the needs of both use cases.

I spent a good bit of time trying to construct a test to capture all of
these requirements -- but it turns out to be a good bit difficult,
encompassing both a genuine kernel corefiles and a microcontroller
firmware corefiles.

rdar://146821929


  Commit: 846986f35b5a7baa498db7c61ae15dd9b2dee797
      https://github.com/llvm/llvm-project/commit/846986f35b5a7baa498db7c61ae15dd9b2dee797
  Author: Petr Hosek <phosek at google.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake

  Log Message:
  -----------
  [Fuchsia] Disable PIC (#136376)

We aren't distributing any shared libraries so we don't need PIC and
using PIE instead of PIC can improve performance.


  Commit: 3d14596ccfa3aa6b0735a630e3efb575a2085a06
      https://github.com/llvm/llvm-project/commit/3d14596ccfa3aa6b0735a630e3efb575a2085a06
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:

  Log Message:
  -----------
  [CIR][NFC] Fix an unused variable warning (#136431)

This fixes a warning where a variable assigned in 'if' statement wasn't
referenced again.


  Commit: 09006611151c7f85862a9da8da34872c456c2c37
      https://github.com/llvm/llvm-project/commit/09006611151c7f85862a9da8da34872c456c2c37
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/lib/Frontend/CompilerInstance.cpp

  Log Message:
  -----------
  [clang] Enable making `CompilerInstance` VFS thread-safe (#135737)

The `llvm::vfs::FileSystem` interface makes no promises around
thread-safety. To enable making `CompilerInstance` thread-safe, this PR
allows passing an explicit VFS to `cloneForModuleCompile()`. This will
be used from the dependency scanner.


  Commit: 4c0ea476c40f7e426c84c37aaf5787aa80fb5e3b
      https://github.com/llvm/llvm-project/commit/4c0ea476c40f7e426c84c37aaf5787aa80fb5e3b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

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

  Log Message:
  -----------
  [RISCV] Report error if Zilsd is used on RV64. (#136577)

Fixes #136564.


  Commit: 9968ba8652b8a2936858a1a307207a9c8690ee5c
      https://github.com/llvm/llvm-project/commit/9968ba8652b8a2936858a1a307207a9c8690ee5c
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/add64-low-32-bits-known-zero.ll
    M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/constrained-shift.ll
    M llvm/test/CodeGen/AMDGPU/dag-preserve-disjoint-flag.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.make.buffer.rsrc.ll
    M llvm/test/CodeGen/AMDGPU/ptrmask.ll
    M llvm/test/CodeGen/AMDGPU/sdag-print-divergence.ll
    M llvm/test/CodeGen/AMDGPU/sub64-low-32-bits-known-zero.ll
    R llvm/test/CodeGen/AMDGPU/uniform-vgpr-to-sgpr-return.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected

  Log Message:
  -----------
  Revert "[AMDGPU] Insert readfirstlane in the function returns in sgpr. (#135326)"

This reverts commit 76ced7fa782f0d7db9efea871fa6de74706dd9cc since it breaks a
lot of bots.


  Commit: c873ca25976d81f54421d9f4e24c5f700824d0d1
      https://github.com/llvm/llvm-project/commit/c873ca25976d81f54421d9f4e24c5f700824d0d1
  Author: royitaqi <royitaqi at users.noreply.github.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Target/Statistics.h
    M lldb/source/Target/Statistics.cpp
    M lldb/test/API/commands/statistics/basic/TestStats.py

  Log Message:
  -----------
  [lldb] Add symbol/table count into statistics (#136226)

# New stats

The following stats are added and are available in both "statistics
dump" command and in python API.

1. In summary:
1. Add `totalSymbolsLoaded`. The total number of symbols loaded in all
modules.
2. Add `totalSymbolTablesLoaded `. The total number symbol tables loaded
in all modules.
2. In each module's stats:
1. Add `symbolsLoaded`. The number of symbols loaded in the current
module.


# Example

Example `statistics dump` output:
```
(lldb) statistics dump
{
  ...,
  "modules": [
    {
      "path": "/Users/<username>/demo/simple/a.out",
      "symbolsLoaded": 6,
      ...
    },
    ...
  ],
  ...
  "totalSymbolTablesLoaded": 42,
  "totalSymbolsLoaded": 32198
}
```

# Tests

**Manual test**: Built and ran lldb on a helloworld program. Ran
`statistics dump`. Verified the above stats.

**Unit test**: Ran the following tests:
```
$ bin/lldb-dotest -p TestStats.py ~/llvm-sand/external/llvm-project/lldb/test/API/commands/statistics/basic/
...
Ran 18 tests in 192.676s

OK (skipped=3)
```


  Commit: e0c1e23b99e9719d0a01ab7dfc0807d891004bd4
      https://github.com/llvm/llvm-project/commit/e0c1e23b99e9719d0a01ab7dfc0807d891004bd4
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
    M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.h
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
    M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
    M llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h

  Log Message:
  -----------
  [TTI] Constify BasicTTIImplBase::thisT() (NFCI) (#136575)

The main change is making `thisT` method `const`, the rest of the
changes is fixing compilation errors (*).

(*) There are two tricky methods, `getVectorInstrCost()` and
`getIntImmCost()`.
They have several overloads; some of these overloads are typically
pulled in to derived classes using the `using` directive, and then
hidden by methods in the derived class.
The compiler does not complain if the hiding methods are not marked as
`const`, which means that clients will use the methods from the base
class. If after this change your target fails cost model tests, this
must be the reason. To resolve the issue you need  to make all hiding
overloads `const`. See the second commit in this PR.

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


  Commit: 0ae9dac262afccea1e1a2e02520f737ab38b286c
      https://github.com/llvm/llvm-project/commit/0ae9dac262afccea1e1a2e02520f737ab38b286c
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/parallel.c

  Log Message:
  -----------
  [OpenACC][CIR] Lower 'num_workers' for parallel/kernels (#136578)

This patch also includes the first one to handle 'device_type' properly,
which is where most of the 'challenge' here comes from.

>From the best I can tell: we must keep two lists of the same size, 1 of
all of the 'num_workers' items, and 1 of the 'device_type' value for
that 'num_workers'. Additionally, the 'device_type' list can only handle
single 'device_type' values, so we have to duplicate the 'num_workers'
items in cases where there are multiple applicable 'device_type' values.

This patch accomplishes this by keeping the two in sync, and saving the
current 'device_type' in the visitor.


  Commit: 4b98955680e0aad33cad0e810f1daaa8bc7c0a23
      https://github.com/llvm/llvm-project/commit/4b98955680e0aad33cad0e810f1daaa8bc7c0a23
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp

  Log Message:
  -----------
  Fix capitalization re review from 0ae9dac


  Commit: 155a6bb573d6cce2a2eba37543e36e779d42f290
      https://github.com/llvm/llvm-project/commit/155a6bb573d6cce2a2eba37543e36e779d42f290
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    M .ci/generate_test_report_lib.py
    M .ci/generate_test_report_lib_test.py
    M .ci/metrics/metrics.py
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    A .clang-format-ignore
    M .github/new-prs-labeler.yml
    M .github/workflows/ci-post-commit-analyzer.yml
    M .github/workflows/containers/github-action-ci/Dockerfile
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libclang-python-tests.yml
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/llvm-project-tests.yml
    M .github/workflows/premerge.yaml
    M .github/workflows/spirv-tests.yml
    M .mailmap
    M bolt/CMakeLists.txt
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Passes/PAuthGadgetScanner.h
    M bolt/lib/Core/BinaryBasicBlock.cpp
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Core/Relocation.cpp
    M bolt/lib/Passes/AsmDump.cpp
    M bolt/lib/Passes/PAuthGadgetScanner.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/runtime/CMakeLists.txt
    M bolt/runtime/common.h
    M bolt/runtime/hugify.cpp
    M bolt/runtime/instr.cpp
    A bolt/runtime/sys_riscv64.h
    M bolt/test/AArch64/lite-mode.s
    A bolt/test/AArch64/validate-secondary-entry-point.s
    A bolt/test/RISCV/validate-secondary-entry-point.s
    M bolt/test/X86/callcont-fallthru.s
    A bolt/test/X86/high-segments.s
    A bolt/test/X86/nobits-symbol.s
    M bolt/test/X86/split-func-jump-table-fragment-bidirection.s
    M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
    M bolt/test/link_fdata.py
    A bolt/test/runtime/Inputs/user_func_order.txt
    A bolt/test/runtime/RISCV/basic-instrumentation.s
    A bolt/test/runtime/RISCV/instrumentation-ind-call.c
    A bolt/test/runtime/RISCV/lit.local.cfg
    R bolt/test/runtime/X86/Inputs/user_func_order.txt
    R bolt/test/runtime/X86/hugify.c
    R bolt/test/runtime/X86/user-func-reorder.c
    A bolt/test/runtime/hugify.c
    A bolt/test/runtime/relative-vftable.cpp
    A bolt/test/runtime/user-func-reorder.c
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp
    M clang-tools-extra/clang-doc/BitcodeWriter.h
    M clang-tools-extra/clang-doc/CMakeLists.txt
    M clang-tools-extra/clang-doc/Generators.cpp
    M clang-tools-extra/clang-doc/Generators.h
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/Serialize.h
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp
    A clang-tools-extra/clang-doc/support/CMakeLists.txt
    A clang-tools-extra/clang-doc/support/File.cpp
    A clang-tools-extra/clang-doc/support/File.h
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-include-fixer/IncludeFixerContext.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.h
    M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
    M clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp
    M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
    M clang-tools-extra/clang-tidy/objc/AssertEquals.cpp
    M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
    M clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
    M clang-tools-extra/clang-tidy/utils/Matchers.cpp
    M clang-tools-extra/clang-tidy/utils/Matchers.h
    M clang-tools-extra/clangd/AST.cpp
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/IncludeCleaner.cpp
    M clang-tools-extra/clangd/IncludeFixer.cpp
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/SourceCode.cpp
    M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/index/FileIndex.cpp
    M clang-tools-extra/clangd/index/Relation.cpp
    M clang-tools-extra/clangd/index/dex/Trigram.cpp
    M clang-tools-extra/clangd/refactor/Rename.cpp
    M clang-tools-extra/clangd/refactor/tweaks/RemoveUsingNamespace.cpp
    M clang-tools-extra/clangd/test/CMakeLists.txt
    M clang-tools-extra/clangd/test/lit.site.cfg.py.in
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
    M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
    M clang-tools-extra/test/clang-doc/basic-project.test
    M clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-operator-in-strlen-in-alloc.c
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/reserved-identifier-c.c
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/reserved-identifier.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-allowed-types.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.c
    M clang-tools-extra/test/clang-tidy/checkers/google/explicit-constructor.cpp
    M clang-tools-extra/test/clang-tidy/checkers/google/readability-casting.cpp
    M clang-tools-extra/test/clang-tidy/checkers/llvm/qualified-auto.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/static-assert.c
    M clang-tools-extra/test/clang-tidy/checkers/misc/static-assert.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/unused-alias-decls.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal-delimiter.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal-replace-shorter.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/shrink-to-fit.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/unary-static-assert.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-bool-literals-ignore-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-cxx98.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-transparent-functors.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-algorithm.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/trivially-destructible.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/type-promotion-in-math-fn.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/delete-null-pointer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_type.py
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/docs/ClangFormat.rst
    M clang/docs/ClangOffloadPackager.rst
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/ControlFlowIntegrity.rst
    M clang/docs/InternalsManual.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibASTImporter.rst
    M clang/docs/PointerAuthentication.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclOpenACC.h
    M clang/include/clang/AST/DeclarationName.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/GlobalDecl.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/RecordLayout.h
    M clang/include/clang/AST/SYCLKernelInfo.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/AST/VTableBuilder.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    A clang/include/clang/Analysis/Support/FixitUtil.h
    M clang/include/clang/Basic/ABI.h
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/DiagnosticAST.h
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticAnalysis.h
    M clang/include/clang/Basic/DiagnosticComment.h
    M clang/include/clang/Basic/DiagnosticCrossTU.h
    M clang/include/clang/Basic/DiagnosticDriver.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontend.h
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticIDs.h
    M clang/include/clang/Basic/DiagnosticInstallAPI.h
    M clang/include/clang/Basic/DiagnosticLex.h
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticParse.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticRefactoring.h
    M clang/include/clang/Basic/DiagnosticSema.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/DiagnosticSerialization.h
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Basic/FPOptions.def
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/FileEntry.h
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    A clang/include/clang/CIR/ABIArgInfo.h
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    A clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    A clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Driver/Types.def
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Lex/ModuleLoader.h
    M clang/include/clang/Lex/PPCallbacks.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/LoopHint.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/HeuristicResolver.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/Sema/SemaObjC.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/FunctionPointer.cpp
    M clang/lib/AST/ByteCode/FunctionPointer.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpStack.h
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/PrimType.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/State.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclOpenACC.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumCXXABI.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/Mangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/NestedNameSpecifier.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/Randstruct.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/CMakeLists.txt
    A clang/lib/Analysis/FixitUtil.cpp
    M clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
    M clang/lib/Analysis/IntervalPartition.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    A clang/lib/CIR/CodeGen/ABIInfo.h
    A clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    A clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    A clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    A clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
    A clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    A clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CIRGenValue.h
    M clang/lib/CIR/CodeGen/CIRGenerator.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    A clang/lib/CIR/CodeGen/TargetInfo.cpp
    A clang/lib/CIR/CodeGen/TargetInfo.h
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    A clang/lib/CodeGen/CodeGenSYCL.cpp
    M clang/lib/CodeGen/CodeGenTypes.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/SanitizerMetadata.cpp
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
    M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/MultilibBuilder.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AIX.h
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/PPCLinux.cpp
    M clang/lib/Driver/ToolChains/PPCLinux.h
    M clang/lib/Driver/ToolChains/ROCm.h
    M clang/lib/Driver/XRayArgs.cpp
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/SortJavaScriptImports.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/DiagnosticRenderer.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseStmtAsm.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/HeuristicResolver.cpp
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaBoundsSafety.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaObjC.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    A clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaSwift.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/MultiOnDiskHashTable.h
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/lib/Tooling/Tooling.cpp
    M clang/test/AST/ByteCode/arrays.cpp
    M clang/test/AST/ByteCode/builtin-constant-p.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    A clang/test/AST/ByteCode/builtin-object-size.cpp
    A clang/test/AST/ByteCode/c2y.c
    M clang/test/AST/ByteCode/codegen.cpp
    M clang/test/AST/ByteCode/cxx17.cpp
    M clang/test/AST/ByteCode/cxx23.cpp
    A clang/test/AST/ByteCode/libcxx/minmax.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/AST/ByteCode/memberpointers.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    A clang/test/AST/ByteCode/pointer-to-fnptr.cpp
    A clang/test/AST/ByteCode/typeid.cpp
    M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
    M clang/test/AST/HLSL/OutArgExpr.hlsl
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
    M clang/test/AST/HLSL/cbuffer.hlsl
    M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
    M clang/test/AST/HLSL/default_cbuffer.hlsl
    M clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
    M clang/test/AST/HLSL/is_typed_resource_element_compatible_concept.hlsl
    M clang/test/AST/HLSL/packoffset.hlsl
    M clang/test/AST/HLSL/pch.hlsl
    M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
    M clang/test/AST/HLSL/pch_with_buf.hlsl
    A clang/test/AST/HLSL/private.hlsl
    M clang/test/AST/ast-dump-APValue-lvalue.cpp
    R clang/test/AST/ast-dump-APValue-todo.cpp
    M clang/test/AST/ast-dump-array.cpp
    M clang/test/AST/ast-dump-ptrauth-json.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/AST/ast-print-openacc-init-construct.cpp
    M clang/test/AST/ast-print-openacc-loop-construct.cpp
    M clang/test/AST/ast-print-openacc-routine-construct.cpp
    M clang/test/AST/ast-print-openacc-set-construct.cpp
    M clang/test/AST/ast-print-openacc-shutdown-construct.cpp
    M clang/test/AST/ast-print-openacc-update-construct.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
    M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
    A clang/test/Analysis/PR135665.cpp
    M clang/test/Analysis/anonymous-decls.cpp
    M clang/test/Analysis/builtin_overflow.c
    M clang/test/Analysis/builtin_overflow_notes.c
    M clang/test/C/C11/n1285.c
    A clang/test/C/C11/n1285_1.c
    M clang/test/C/C2y/n3369_2.c
    A clang/test/C/C2y/n3369_3.c
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/CodeGen/basic.c
    M clang/test/CIR/CodeGen/basic.cpp
    A clang/test/CIR/CodeGen/binassign.c
    A clang/test/CIR/CodeGen/call.cpp
    M clang/test/CIR/CodeGen/cast.cpp
    A clang/test/CIR/CodeGen/cmp.cpp
    A clang/test/CIR/CodeGen/comma.c
    A clang/test/CIR/CodeGen/if-consteval.cpp
    A clang/test/CIR/CodeGen/if.cpp
    A clang/test/CIR/CodeGen/nullptr-init.cpp
    A clang/test/CIR/CodeGen/struct.c
    A clang/test/CIR/CodeGen/struct.cpp
    A clang/test/CIR/CodeGen/typedef.c
    A clang/test/CIR/CodeGen/union.c
    A clang/test/CIR/CodeGenOpenACC/data.c
    A clang/test/CIR/CodeGenOpenACC/init.c
    A clang/test/CIR/CodeGenOpenACC/kernels.c
    A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented-global.cpp
    A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
    A clang/test/CIR/CodeGenOpenACC/parallel.c
    A clang/test/CIR/CodeGenOpenACC/serial.c
    A clang/test/CIR/CodeGenOpenACC/set.c
    A clang/test/CIR/CodeGenOpenACC/shutdown.c
    A clang/test/CIR/IR/binassign.cir
    A clang/test/CIR/IR/call.cir
    A clang/test/CIR/IR/cmp.cir
    A clang/test/CIR/IR/invalid-call.cir
    A clang/test/CIR/IR/struct.cir
    M clang/test/CIR/Lowering/array.cpp
    A clang/test/CIR/Lowering/if.cir
    A clang/test/CIR/Transforms/if.cir
    M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.allocation/p1.cpp
    M clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
    M clang/test/CXX/temp/temp.decls/temp.mem/p5.cpp
    M clang/test/ClangScanDeps/modules-relocated-mm-macro.c
    M clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c
    M clang/test/CodeCompletion/member-access.c
    M clang/test/CodeCompletion/member-access.cpp
    M clang/test/CodeGen/AArch64/args.cpp
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_tmop.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_expa.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rdffr.c
    A clang/test/CodeGen/SystemZ/Float16.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5.c
    A clang/test/CodeGen/SystemZ/fp16.c
    M clang/test/CodeGen/SystemZ/strictfp_builtins.c
    M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
    M clang/test/CodeGen/aapcs64-align.cpp
    M clang/test/CodeGen/arm-target-features.c
    M clang/test/CodeGen/arm-vfp16-arguments2.cpp
    A clang/test/CodeGen/atomic-ops-load.c
    M clang/test/CodeGen/attr-target-x86.c
    A clang/test/CodeGen/builtin-maxnum-minnum.c
    M clang/test/CodeGen/builtins-nvptx-native-half-type.c
    M clang/test/CodeGen/builtins-nvptx.c
    M clang/test/CodeGen/catch-alignment-assumption-array.c
    M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-polymorphism.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-openmp.cpp
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c
    A clang/test/CodeGen/cfi-check-fail-nomerge.c
    A clang/test/CodeGen/cfi-check-fail2-nomerge.c
    M clang/test/CodeGen/memtag-globals-asm.cpp
    M clang/test/CodeGen/memtag-globals.cpp
    M clang/test/CodeGen/p0963r3.cpp
    M clang/test/CodeGen/pointer-overflow.c
    M clang/test/CodeGen/pragma-fenv_access.c
    A clang/test/CodeGen/ptrauth-debuginfo.c
    A clang/test/CodeGen/ptrauth-qualifier-const-init.c
    A clang/test/CodeGen/ptrauth-qualifier-function.c
    A clang/test/CodeGen/ptrauth-qualifier-loadstore.c
    A clang/test/CodeGen/unique-source-file-names.c
    M clang/test/CodeGen/xcore-abi.c
    M clang/test/CodeGenCUDA/offloading-entries.cu
    A clang/test/CodeGenCXX/Inputs/std-coroutine.h
    A clang/test/CodeGenCXX/bug135668.cpp
    M clang/test/CodeGenCXX/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.cpp
    A clang/test/CodeGenCXX/cfi-mfcall-nomerge.cpp
    A clang/test/CodeGenCXX/debug-info-dtor-implicit-args.cpp
    M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
    M clang/test/CodeGenCXX/dllexport.cpp
    A clang/test/CodeGenCXX/local-class-instantiation.cpp
    A clang/test/CodeGenCXX/mangle-itanium-ptrauth.cpp
    A clang/test/CodeGenCXX/mangle-ms-ptrauth.cpp
    M clang/test/CodeGenCXX/mangle-template.cpp
    M clang/test/CodeGenCXX/mangle.cpp
    M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
    M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
    M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
    M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
    R clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
    M clang/test/CodeGenCXX/pointers-to-data-members.cpp
    A clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
    M clang/test/CodeGenCXX/sections.cpp
    A clang/test/CodeGenCXX/type-aware-allocators.cpp
    A clang/test/CodeGenCXX/type-aware-coroutines.cpp
    A clang/test/CodeGenCXX/type-aware-new-constexpr.cpp
    A clang/test/CodeGenCXX/type-aware-placement-operators.cpp
    M clang/test/CodeGenCXX/vtable-consteval.cpp
    M clang/test/CodeGenCoroutines/coro-alloc-2.cpp
    M clang/test/CodeGenDirectX/Builtins/dot2add.c
    A clang/test/CodeGenDirectX/unsupported_intrinsic.hlsl
    M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/frem_modulo.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
    M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
    M clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
    M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
    M clang/test/CodeGenHLSL/builtins/distance.hlsl
    M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
    A clang/test/CodeGenHLSL/builtins/dst.hlsl
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    A clang/test/CodeGenHLSL/builtins/lit.hlsl
    M clang/test/CodeGenHLSL/builtins/reflect.hlsl
    M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
    M clang/test/CodeGenHLSL/cbuffer.hlsl
    M clang/test/CodeGenHLSL/cbuffer_align.hlsl
    M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
    M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
    M clang/test/CodeGenHLSL/default_cbuffer.hlsl
    M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
    A clang/test/CodeGenHLSL/enable-16bit-types.hlsl
    M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
    M clang/test/CodeGenHLSL/inline-functions.hlsl
    A clang/test/CodeGenHLSL/out-of-line-static.hlsl
    A clang/test/CodeGenHLSL/res-may-alias.hlsl
    M clang/test/CodeGenHLSL/static-local-ctor.hlsl
    A clang/test/CodeGenHLSL/static-variable.hlsl
    A clang/test/CodeGenHipStdPar/rdc-does-not-enable-hipstdpar.cpp
    A clang/test/CodeGenHipStdPar/select-accelerator-code-pass-ordering.cpp
    M clang/test/CodeGenObjC/property-array-type.m
    A clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/CodeGenOpenCL/amdgpu-printf.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    M clang/test/CodeGenOpenCL/builtins-r600.cl
    M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
    M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
    M clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
    M clang/test/CodeGenOpenCL/kernel-arg-info.cl
    A clang/test/CodeGenOpenCL/opencl-kernel-call.cl
    M clang/test/CodeGenOpenCL/reflect.cl
    M clang/test/CodeGenOpenCL/sampler.cl
    M clang/test/CodeGenOpenCL/spir-calling-conv.cl
    M clang/test/CodeGenOpenCL/spir32_target.cl
    M clang/test/CodeGenOpenCL/spir64_target.cl
    M clang/test/CodeGenOpenCL/spirv_target.cl
    M clang/test/CodeGenOpenCL/visibility.cl
    M clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
    A clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
    M clang/test/Driver/HLSL/metal-converter.hlsl
    A clang/test/Driver/Xclangas.s
    A clang/test/Driver/arm-fpu-selection.s
    A clang/test/Driver/armv7-default-neon.s
    A clang/test/Driver/armv7s-default-vfpv4.s
    M clang/test/Driver/armv8.1m.main.s
    M clang/test/Driver/clang-sycl-linker-test.cpp
    M clang/test/Driver/clang-translation.c
    M clang/test/Driver/dxc_D.hlsl
    M clang/test/Driver/dxc_dxv_path.hlsl
    M clang/test/Driver/dxc_options.hlsl
    M clang/test/Driver/extend-variable-liveness.c
    M clang/test/Driver/fortran.f95
    M clang/test/Driver/fsanitize.c
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/Driver/hip-options.hip
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-sanitize-options.hip
    A clang/test/Driver/hip-thinlto.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    M clang/test/Driver/hlsl-lang-targets.hlsl
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/Driver/linker-wrapper.c
    M clang/test/Driver/mips-abi.c
    A clang/test/Driver/openacc-no-cir.c
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/print-supported-extensions-aarch64.c
    M clang/test/Driver/print-supported-extensions-arm.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Driver/sanitizer-ld.c
    M clang/test/Driver/systemz-march.c
    A clang/test/Driver/unique-source-file-names.c
    A clang/test/FixIt/fixit-bool.cpp
    M clang/test/Format/lit.local.cfg
    M clang/test/Frontend/amdgcn-machine-analysis-remarks.cl
    A clang/test/Frontend/dump-minimization-hints.cpp
    M clang/test/Headers/__clang_hip_cmath.hip
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/Headers/gpuintrin.c
    M clang/test/Headers/gpuintrin_lang.c
    A clang/test/Index/single-file-parse-include-macro.c
    A clang/test/Index/single-file-parse-undefined-function-like-macro.c
    M clang/test/Interpreter/inline-virtual.cpp
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    M clang/test/Misc/target-invalid-cpu-note/systemz.c
    M clang/test/Misc/warning-flags.c
    A clang/test/Modules/fmodule-file-mismatch.cppm
    A clang/test/Modules/macro-identifier-hiding.c
    M clang/test/Modules/new-delete.cpp
    A clang/test/Modules/non-modular-decl-use.c
    M clang/test/Modules/odr_hash.cpp
    A clang/test/Modules/relocatable-modules.cpp
    M clang/test/Modules/safe_buffers_optout.cpp
    M clang/test/Modules/vtable-windows.cppm
    M clang/test/OpenMP/declare_variant_messages.c
    M clang/test/OpenMP/declare_variant_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/distribute_simd_linear_messages.cpp
    M clang/test/OpenMP/for_linear_messages.cpp
    M clang/test/OpenMP/for_order_messages.cpp
    M clang/test/OpenMP/for_simd_linear_messages.cpp
    M clang/test/OpenMP/for_simd_misc_messages.c
    M clang/test/OpenMP/masked_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/master_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/parallel_for_linear_messages.cpp
    M clang/test/OpenMP/parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/parallel_for_simd_misc_messages.c
    M clang/test/OpenMP/parallel_masked_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/parallel_master_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/simd_linear_messages.cpp
    M clang/test/OpenMP/simd_misc_messages.c
    M clang/test/OpenMP/target_parallel_for_linear_messages.cpp
    M clang/test/OpenMP/target_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/target_simd_linear_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_linear_messages.cpp
    M clang/test/OpenMP/task_affinity_messages.cpp
    M clang/test/OpenMP/task_depend_messages.cpp
    M clang/test/OpenMP/taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/teams_distribute_simd_linear_messages.cpp
    M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
    A clang/test/Parser/extern-template-attributes.cpp
    A clang/test/Parser/ptrauth-qualifier.c
    M clang/test/Parser/recovery.cpp
    M clang/test/ParserHLSL/cb_error.hlsl
    M clang/test/ParserHLSL/hlsl_is_rov_attr_error.hlsl
    M clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl
    M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
    M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
    M clang/test/ParserHLSL/invalid_inside_cb.hlsl
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/Preprocessor/arm-target-features.c
    A clang/test/Preprocessor/constants.c
    A clang/test/Preprocessor/embed-reject-device-files-lin.c
    A clang/test/Preprocessor/embed-reject-device-files-win.c
    M clang/test/Preprocessor/embed___has_embed.c
    M clang/test/Preprocessor/embed_parameter_unrecognized.c
    M clang/test/Preprocessor/embed_weird.cpp
    M clang/test/Preprocessor/has_attribute.c
    M clang/test/Preprocessor/has_attribute.cpp
    M clang/test/Preprocessor/has_c_attribute.c
    M clang/test/Preprocessor/has_include.c
    A clang/test/Preprocessor/pr133574.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    A clang/test/Preprocessor/ptrauth_extension.c
    M clang/test/Profile/cxx-abc-deleting-dtor.cpp
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_tmop.cpp
    M clang/test/Sema/attr-capabilities.c
    M clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
    M clang/test/Sema/attr-counted-by-or-null-last-field.c
    M clang/test/Sema/attr-counted-by-or-null-late-parsed-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-or-null-struct-ptrs-completable-incomplete-pointee.c
    M clang/test/Sema/attr-counted-by-or-null-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-struct-ptrs-completable-incomplete-pointee.c
    M clang/test/Sema/attr-counted-by-struct-ptrs.c
    M clang/test/Sema/attr-counted-by-vla.c
    A clang/test/Sema/attr-decl-after-definition-std.c
    A clang/test/Sema/attr-musttail.cpp
    M clang/test/Sema/code_align.c
    A clang/test/Sema/complex-div-warn-higher-precision.cpp
    A clang/test/Sema/main-no-return-c89-1.c
    A clang/test/Sema/main-no-return-c89-2.c
    A clang/test/Sema/main-no-return-c89-3.c
    A clang/test/Sema/ptrauth-atomic-ops.c
    A clang/test/Sema/ptrauth-qualifier.c
    M clang/test/Sema/ptrauth.c
    A clang/test/Sema/warn-cast-function-type-win.c
    M clang/test/Sema/warn-int-in-bool-context.c
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/SemaCUDA/function-overload.cu
    M clang/test/SemaCXX/align_value.cpp
    M clang/test/SemaCXX/alloc-align-attr.cpp
    M clang/test/SemaCXX/attr-lifetime-capture-by.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp
    A clang/test/SemaCXX/bitfield-preferred-type-sizing.cpp
    A clang/test/SemaCXX/bug135668.cpp
    M clang/test/SemaCXX/builtin-assume-aligned-tmpl.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/ctad.cpp
    M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaCXX/cxx2c-binding-pack-nontemplate.cpp
    M clang/test/SemaCXX/cxx2c-delete-with-message.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/delete.cpp
    R clang/test/SemaCXX/gh134265.cpp
    M clang/test/SemaCXX/implicit-member-functions.cpp
    M clang/test/SemaCXX/new-delete.cpp
    A clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
    A clang/test/SemaCXX/ptrauth-qualifier.cpp
    A clang/test/SemaCXX/ptrauth-template-parameters.cpp
    A clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
    A clang/test/SemaCXX/type-aware-coroutines.cpp
    A clang/test/SemaCXX/type-aware-new-constexpr.cpp
    A clang/test/SemaCXX/type-aware-new-delete-arrays.cpp
    A clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
    A clang/test/SemaCXX/type-aware-new-delete-basic-in-class-declarations.cpp
    A clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
    A clang/test/SemaCXX/type-aware-new-delete-qualifiers.cpp
    A clang/test/SemaCXX/type-aware-new-invalid-type-identity.cpp
    A clang/test/SemaCXX/type-aware-placement-operators.cpp
    M clang/test/SemaCXX/undefined-partial-specialization.cpp
    A clang/test/SemaCXX/uninitialized-no-ctor.cpp
    M clang/test/SemaCXX/warn-dangling-local.cpp
    A clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
    A clang/test/SemaCXX/windows-Wpadded.cpp
    A clang/test/SemaHIP/amdgpu-builtin-in-lambda-with-unsupported-attribute.hip
    A clang/test/SemaHIP/amdgpu-builtin-in-lambda.hip
    M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
    M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
    M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/hlsl_resource_t.hlsl
    M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
    M clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
    A clang/test/SemaHLSL/Language/ImpCastAddrSpace.hlsl
    M clang/test/SemaHLSL/Language/OutputParameters.hlsl
    A clang/test/SemaHLSL/Operators/frem_modulo-errors.hlsl
    M clang/test/SemaHLSL/cb_error.hlsl
    M clang/test/SemaHLSL/export.hlsl
    M clang/test/SemaHLSL/packoffset-invalid.hlsl
    M clang/test/SemaHLSL/parameter_modifiers.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error_resource.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error_silence_diags.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error_space.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl
    A clang/test/SemaHLSL/resource_binding_implicit.hlsl
    A clang/test/SemaObjC/ptrauth-qualifier.m
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-device_type-ast.cpp
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-if-clause.c
    M clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
    M clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
    M clang/test/SemaOpenACC/combined-construct-tile-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-if-clause.c
    M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
    M clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
    M clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
    M clang/test/SemaOpenACC/data-construct-copy-clause.c
    M clang/test/SemaOpenACC/data-construct-copyin-clause.c
    M clang/test/SemaOpenACC/data-construct-copyout-clause.c
    M clang/test/SemaOpenACC/data-construct-create-clause.c
    M clang/test/SemaOpenACC/data-construct-default-clause.c
    M clang/test/SemaOpenACC/data-construct-delete-clause.c
    M clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
    M clang/test/SemaOpenACC/data-construct-device_type-clause.c
    M clang/test/SemaOpenACC/data-construct-no_create-clause.c
    M clang/test/SemaOpenACC/data-construct-use_device-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp
    A clang/test/SemaOpenACC/device_type_valid_values.c
    M clang/test/SemaOpenACC/init-construct-ast.cpp
    M clang/test/SemaOpenACC/init-construct.cpp
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-device_type-ast.cpp
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
    M clang/test/SemaOpenACC/no-empty-pqr-list.cpp
    M clang/test/SemaOpenACC/routine-construct-ast.cpp
    M clang/test/SemaOpenACC/routine-construct-clauses.cpp
    M clang/test/SemaOpenACC/set-construct-ast.cpp
    M clang/test/SemaOpenACC/set-construct.cpp
    M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
    M clang/test/SemaOpenACC/shutdown-construct.cpp
    M clang/test/SemaOpenACC/update-construct-ast.cpp
    M clang/test/SemaOpenACC/update-construct.cpp
    M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
    M clang/test/SemaOpenCL/cl20-device-side-enqueue.cl
    M clang/test/SemaOpenCL/to_addr_builtin.cl
    A clang/test/SemaSYCL/Inputs/vectorcall.hpp
    A clang/test/SemaSYCL/sycl-cconv-win.cpp
    M clang/test/SemaTemplate/address_space-dependent.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/dependent-names.cpp
    M clang/test/SemaTemplate/dependent-template-recover.cpp
    M clang/test/SemaTemplate/elaborated-type-specifier.cpp
    M clang/test/SemaTemplate/instantiate-expanded-type-constraint.cpp
    M clang/test/SemaTemplate/instantiate-function-params.cpp
    M clang/test/SemaTemplate/instantiate-local-class.cpp
    M clang/test/SemaTemplate/instantiate-requires-expr.cpp
    M clang/test/SemaTemplate/make_integer_seq.cpp
    M clang/test/SemaTemplate/recovery-crash.cpp
    M clang/test/SemaTemplate/trailing-return-short-circuit.cpp
    M clang/test/SemaTemplate/type_pack_element.cpp
    M clang/test/SemaTemplate/typename-specifier-3.cpp
    M clang/test/Templight/templight-empty-entries-fix.cpp
    M clang/tools/CMakeLists.txt
    R clang/tools/amdgpu-arch/AMDGPUArch.cpp
    R clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
    R clang/tools/amdgpu-arch/AMDGPUArchByKFD.cpp
    R clang/tools/amdgpu-arch/CMakeLists.txt
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-format/clang-format-diff.py
    M clang/tools/clang-format/git-clang-format
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/libclang/CXType.cpp
    M clang/tools/libclang/libclang.map
    R clang/tools/nvptx-arch/CMakeLists.txt
    R clang/tools/nvptx-arch/NVPTXArch.cpp
    A clang/tools/offload-arch/AMDGPUArchByHIP.cpp
    A clang/tools/offload-arch/AMDGPUArchByKFD.cpp
    A clang/tools/offload-arch/CMakeLists.txt
    A clang/tools/offload-arch/NVPTXArch.cpp
    A clang/tools/offload-arch/OffloadArch.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/AST/ByteCode/BitcastBuffer.cpp
    M clang/unittests/AST/ByteCode/toAPValue.cpp
    M clang/unittests/AST/TypePrinterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/Format/CMakeLists.txt
    M clang/unittests/Format/CleanupTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/FormatTestJava.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Interpreter/ExceptionTests/InterpreterExceptionTest.cpp
    M clang/unittests/Interpreter/InterpreterTest.cpp
    M clang/unittests/Sema/HeuristicResolverTest.cpp
    M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
    M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M clang/utils/TableGen/NeonEmitter.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/TableGen/TableGenBackends.h
    M clang/www/c_status.html
    M clang/www/cxx_dr_status.html
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/asan/asan_errors.cpp
    M compiler-rt/lib/asan/asan_fake_stack.cpp
    M compiler-rt/lib/asan/asan_flags.inc
    M compiler-rt/lib/asan/asan_linux.cpp
    M compiler-rt/lib/asan/asan_malloc_linux.cpp
    M compiler-rt/lib/asan/asan_poisoning.cpp
    M compiler-rt/lib/asan/asan_poisoning.h
    M compiler-rt/lib/asan/asan_posix.cpp
    M compiler-rt/lib/asan/asan_report.cpp
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/asan/tests/asan_test.cpp
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/clear_cache.c
    A compiler-rt/lib/builtins/extendhfdf2.c
    M compiler-rt/lib/builtins/int_lib.h
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    M compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
    M compiler-rt/lib/ctx_profile/RootAutoDetector.h
    M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
    M compiler-rt/lib/interception/interception.h
    M compiler-rt/lib/interception/interception_linux.cpp
    M compiler-rt/lib/interception/interception_linux.h
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/msan/msan.cpp
    M compiler-rt/lib/orc/error.h
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
    M compiler-rt/lib/sanitizer_common/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_errno.h
    M compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h
    A compiler-rt/lib/sanitizer_common/sanitizer_haiku.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h
    A compiler-rt/lib/sanitizer_common/sanitizer_procmaps_haiku.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/allocator_config.def
    M compiler-rt/lib/scudo/standalone/combined.h
    R compiler-rt/lib/scudo/standalone/local_cache.h
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    A compiler-rt/lib/scudo/standalone/size_class_allocator.h
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/tsd_test.cpp
    M compiler-rt/lib/scudo/standalone/tsd.h
    M compiler-rt/lib/scudo/standalone/tsd_shared.h
    M compiler-rt/lib/scudo/standalone/type_traits.h
    M compiler-rt/lib/ubsan/ubsan_platform.h
    M compiler-rt/test/asan/TestCases/Linux/asan_rt_confict_test-2.cpp
    M compiler-rt/test/asan/TestCases/Posix/mmap_limit_mb.cpp
    A compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp
    A compiler-rt/test/asan/TestCases/fakeframe-right-redzone.cpp
    A compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
    A compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp
    M compiler-rt/test/builtins/CMakeLists.txt
    M compiler-rt/test/builtins/Unit/addtf3_test.c
    A compiler-rt/test/builtins/Unit/extendhfdf2_test.c
    A compiler-rt/test/ctx_profile/TestCases/autodetect-roots.cpp
    M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/hwasan/TestCases/Linux/release-shadow.c
    M compiler-rt/test/hwasan/TestCases/heap-buffer-overflow.c
    M compiler-rt/test/hwasan/TestCases/tag-mismatch-border-address.c
    M compiler-rt/test/sanitizer_common/android_commands/android_compile.py
    M compiler-rt/test/sanitizer_common/android_commands/android_run.py
    M compiler-rt/test/ubsan/TestCases/Integer/bit-int.c
    M flang-rt/include/flang-rt/runtime/allocator-registry.h
    M flang-rt/include/flang-rt/runtime/connection.h
    M flang-rt/include/flang-rt/runtime/descriptor.h
    M flang-rt/include/flang-rt/runtime/io-stmt.h
    M flang-rt/include/flang-rt/runtime/reduction-templates.h
    M flang-rt/include/flang-rt/runtime/terminator.h
    M flang-rt/include/flang-rt/runtime/type-info.h
    M flang-rt/lib/cuda/allocatable.cpp
    M flang-rt/lib/cuda/allocator.cpp
    M flang-rt/lib/cuda/descriptor.cpp
    M flang-rt/lib/cuda/kernel.cpp
    M flang-rt/lib/runtime/allocatable.cpp
    M flang-rt/lib/runtime/array-constructor.cpp
    M flang-rt/lib/runtime/assign.cpp
    M flang-rt/lib/runtime/character.cpp
    M flang-rt/lib/runtime/connection.cpp
    M flang-rt/lib/runtime/copy.cpp
    M flang-rt/lib/runtime/derived-api.cpp
    M flang-rt/lib/runtime/derived.cpp
    M flang-rt/lib/runtime/descriptor.cpp
    M flang-rt/lib/runtime/edit-input.cpp
    M flang-rt/lib/runtime/edit-output.cpp
    M flang-rt/lib/runtime/extensions.cpp
    M flang-rt/lib/runtime/extrema.cpp
    M flang-rt/lib/runtime/findloc.cpp
    M flang-rt/lib/runtime/io-api.cpp
    M flang-rt/lib/runtime/io-stmt.cpp
    M flang-rt/lib/runtime/matmul-transpose.cpp
    M flang-rt/lib/runtime/matmul.cpp
    M flang-rt/lib/runtime/misc-intrinsic.cpp
    M flang-rt/lib/runtime/pointer.cpp
    M flang-rt/lib/runtime/stop.cpp
    M flang-rt/lib/runtime/temporary-stack.cpp
    M flang-rt/lib/runtime/terminator.cpp
    M flang-rt/lib/runtime/tools.cpp
    M flang-rt/lib/runtime/transformational.cpp
    M flang-rt/lib/runtime/unit.cpp
    M flang-rt/unittests/Evaluate/reshape.cpp
    M flang-rt/unittests/Runtime/Allocatable.cpp
    M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
    M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang-rt/unittests/Runtime/CUDA/Memory.cpp
    M flang-rt/unittests/Runtime/CharacterTest.cpp
    M flang-rt/unittests/Runtime/CommandTest.cpp
    M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
    M flang-rt/unittests/Runtime/TemporaryStack.cpp
    M flang-rt/unittests/Runtime/tools.h
    M flang/docs/ArrayRepacking.md
    M flang/docs/Extensions.md
    M flang/docs/ModFiles.md
    M flang/docs/OpenACC.md
    M flang/include/flang/Common/enum-class.h
    M flang/include/flang/Common/uint128.h
    M flang/include/flang/Evaluate/check-expression.h
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    R flang/include/flang/Optimizer/CodeGen/CGOps.h
    R flang/include/flang/Optimizer/CodeGen/CGOps.td
    M flang/include/flang/Optimizer/CodeGen/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/FIRAttr.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h
    A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
    A flang/include/flang/Optimizer/Dialect/FIRCG/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/FIRDialect.h
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h
    A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.td
    M flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
    A flang/include/flang/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.h
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/include/flang/Optimizer/Transforms/CUFGPUToLLVMConversion.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Parser/token-sequence.h
    M flang/include/flang/Runtime/CUDA/allocator.h
    M flang/include/flang/Runtime/CUDA/kernel.h
    M flang/include/flang/Runtime/allocatable.h
    M flang/include/flang/Runtime/complex.h
    M flang/include/flang/Runtime/extensions.h
    M flang/include/flang/Support/Fortran-features.h
    M flang/include/flang/Support/Fortran.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenACC.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/OpenMP.cpp
    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/MutableBox.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    R flang/lib/Optimizer/CodeGen/CGOps.cpp
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    A flang/lib/Optimizer/Dialect/FIRCG/CGOps.cpp
    A flang/lib/Optimizer/Dialect/FIRCG/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    A flang/lib/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/OpenACC/CMakeLists.txt
    A flang/lib/Optimizer/OpenACC/FIROpenACCAttributes.cpp
    M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
    M flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    A flang/lib/Optimizer/OpenMP/Support/CMakeLists.txt
    A flang/lib/Optimizer/OpenMP/Support/FIROpenMPAttributes.cpp
    A flang/lib/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Parser/openacc-parsers.cpp
    M flang/lib/Parser/parsing.cpp
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/token-sequence.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/check-directive-structure.h
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/runtime-type-info.cpp
    M flang/lib/Support/Fortran-features.cpp
    M flang/lib/Support/Fortran.cpp
    M flang/module/cudadevice.f90
    A flang/test/Analysis/AliasAnalysis/alias-analysis-pack-array.fir
    M flang/test/Driver/do_concurrent_to_omp_cli.f90
    M flang/test/Driver/emit-mlir.f90
    M flang/test/Driver/flang-ld-powerpc.f90
    M flang/test/Driver/input-from-stdin/input-from-stdin.f90
    M flang/test/Driver/linker-flags.f90
    A flang/test/Driver/m32-option.f90
    M flang/test/Driver/omp-driver-offload.f90
    M flang/test/Driver/phases.f90
    M flang/test/Driver/pp-fixed-form.f90
    M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
    M flang/test/Fir/CUDA/cuda-launch.fir
    A flang/test/Fir/CUDA/cuda-stream.mlir
    M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
    M flang/test/Fir/comdat.fir
    M flang/test/Fir/cse.fir
    M flang/test/Fir/invalid.fir
    M flang/test/Fir/target-rewrite-complex.fir
    A flang/test/Fir/target-rewrite-fmfs.fir
    M flang/test/Fir/target-rewrite-selective.fir
    A flang/test/Fir/tbaa-codegen-records.fir
    R flang/test/HLFIR/all-elemental.fir
    R flang/test/HLFIR/any-elemental.fir
    R flang/test/HLFIR/count-elemental.fir
    M flang/test/HLFIR/elemental-codegen.fir
    R flang/test/HLFIR/maxloc-elemental.fir
    R flang/test/HLFIR/maxval-elemental.fir
    R flang/test/HLFIR/minloc-elemental.fir
    R flang/test/HLFIR/minval-elemental.fir
    A flang/test/HLFIR/minval-maxval-issue-134308.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-all.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-any.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-count.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-maxloc.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-maxval.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-minloc.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-minval.fir
    A flang/test/HLFIR/volatile1.fir
    A flang/test/HLFIR/volatile2.fir
    A flang/test/HLFIR/volatile3.fir
    A flang/test/HLFIR/volatile4.fir
    M flang/test/Integration/OpenMP/atomic-capture-complex.f90
    M flang/test/Integration/debug-local-var-2.f90
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
    M flang/test/Lower/HLFIR/calls-f77.f90
    A flang/test/Lower/HLFIR/dummy-scope.f90
    M flang/test/Lower/HLFIR/procedure-pointer.f90
    M flang/test/Lower/Intrinsics/getpid.f90
    M flang/test/Lower/Intrinsics/ieee_flag.f90
    M flang/test/Lower/Intrinsics/time.f90
    M flang/test/Lower/OpenACC/acc-atomic-capture.f90
    M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/OpenACC/acc-exit-data.f90
    M flang/test/Lower/OpenACC/acc-host-data.f90
    M flang/test/Lower/OpenACC/acc-init.f90
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-private-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90
    M flang/test/Lower/OpenACC/acc-shutdown.f90
    M flang/test/Lower/OpenACC/acc-update.f90
    R flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
    M flang/test/Lower/OpenMP/allocatable-map.f90
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/atomic-read.f90
    A flang/test/Lower/OpenMP/cancel.f90
    A flang/test/Lower/OpenMP/cancellationpoint.f90
    A flang/test/Lower/OpenMP/clause-cleanup.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/derived-type-map.f90
    A flang/test/Lower/OpenMP/optional-argument-map.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/real10.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/task-depend-array-section.f90
    M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-runtime.f90
    M flang/test/Lower/allocate-mold.f90
    M flang/test/Lower/io-derived-type.f90
    M flang/test/Lower/main_location.f90
    M flang/test/Lower/parent-component.f90
    M flang/test/Lower/polymorphic.f90
    A flang/test/Lower/repack-arrays-safe.f90
    A flang/test/Parser/OpenMP/bug518.f
    M flang/test/Parser/OpenMP/compiler-directive-continuation.f90
    M flang/test/Parser/continuation-in-conditional-compilation.f
    M flang/test/Parser/unmatched-parens.f90
    A flang/test/Preprocessing/bug134986.F90
    A flang/test/Preprocessing/bug518.F
    A flang/test/Preprocessing/exponent-bug.F90
    M flang/test/Preprocessing/implicit-contin3.F90
    M flang/test/Preprocessing/kind-suffix.F90
    M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
    M flang/test/Semantics/OpenACC/acc-data.f90
    M flang/test/Semantics/OpenACC/acc-declare-validity.f90
    M flang/test/Semantics/OpenACC/acc-host-data.f90
    M flang/test/Semantics/OpenACC/acc-init-validity.f90
    M flang/test/Semantics/OpenACC/acc-kernels.f90
    M flang/test/Semantics/OpenACC/acc-shutdown-validity.f90
    M flang/test/Semantics/OpenACC/acc-update-validity.f90
    A flang/test/Semantics/OpenACC/bug135810-1.f90
    A flang/test/Semantics/OpenACC/bug135810-2.f90
    M flang/test/Semantics/OpenMP/cancel.f90
    M flang/test/Semantics/OpenMP/default-none.f90
    A flang/test/Semantics/OpenMP/threadprivate09.f90
    M flang/test/Semantics/cuf-device-procedures02.cuf
    M flang/test/Semantics/cuf09.cuf
    M flang/test/Semantics/cuf10.cuf
    A flang/test/Semantics/cuf19.cuf
    M flang/test/Semantics/resolve11.f90
    M flang/test/Semantics/spec-expr.f90
    M flang/test/Semantics/test_errors.py
    M flang/test/Semantics/typeinfo01.f90
    A flang/test/Transforms/lower-repack-arrays-openacc.fir
    A flang/test/Transforms/lower-repack-arrays-openmp.fir
    M flang/test/Transforms/lower-repack-arrays.fir
    M flang/test/Transforms/simplifyintrinsics.fir
    A flang/test/Transforms/tbaa-with-dummy-scope2.fir
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/fir-lsp-server/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/fir-opt/fir-opt.cpp
    M flang/tools/tco/CMakeLists.txt
    M flang/unittests/Optimizer/CMakeLists.txt
    M libc/Maintainers.rst
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/aarch64/headers.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/arm/headers.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/baremetal/riscv/headers.txt
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_itimerval.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_itimerval.h
    M libc/include/sys/time.yaml
    M libc/src/__support/FPUtil/aarch64/sqrt.h
    A libc/src/__support/FPUtil/arm/sqrt.h
    M libc/src/__support/FPUtil/riscv/sqrt.h
    M libc/src/__support/FPUtil/sqrt.h
    M libc/src/__support/common.h
    M libc/src/__support/macros/properties/cpu_features.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/asinhf.cpp
    M libc/src/math/generic/atan2.cpp
    M libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/atanhf.cpp
    M libc/src/math/generic/cos.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/cosf16.cpp
    M libc/src/math/generic/cospif.cpp
    M libc/src/math/generic/cospif16.cpp
    M libc/src/math/generic/erff.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/logf.cpp
    M libc/src/math/generic/pow.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/math/generic/sin.cpp
    M libc/src/math/generic/sincos.cpp
    M libc/src/math/generic/sincosf.cpp
    M libc/src/math/generic/sinf.cpp
    M libc/src/math/generic/sinf16.cpp
    M libc/src/math/generic/sinpif.cpp
    M libc/src/math/generic/sinpif16.cpp
    M libc/src/math/generic/tan.cpp
    M libc/src/math/generic/tanf.cpp
    M libc/src/math/generic/tanf16.cpp
    M libc/src/math/generic/tanpif16.cpp
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/sys/time/CMakeLists.txt
    A libc/src/sys/time/getitimer.h
    M libc/src/sys/time/linux/CMakeLists.txt
    A libc/src/sys/time/linux/getitimer.cpp
    A libc/src/sys/time/linux/setitimer.cpp
    A libc/src/sys/time/setitimer.h
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/str_to_float_comparison_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/acosf_test.cpp
    M libc/test/src/math/smoke/acoshf_test.cpp
    M libc/test/src/math/smoke/asinf_test.cpp
    M libc/test/src/math/smoke/asinhf_test.cpp
    M libc/test/src/math/smoke/atan2_test.cpp
    M libc/test/src/math/smoke/atan2f_test.cpp
    M libc/test/src/math/smoke/atan_test.cpp
    M libc/test/src/math/smoke/atanf_test.cpp
    M libc/test/src/math/smoke/atanhf_test.cpp
    M libc/test/src/math/smoke/cbrt_test.cpp
    M libc/test/src/math/smoke/cbrtf_test.cpp
    M libc/test/src/math/smoke/cos_test.cpp
    M libc/test/src/math/smoke/cosf16_test.cpp
    M libc/test/src/math/smoke/cosf_test.cpp
    M libc/test/src/math/smoke/coshf_test.cpp
    M libc/test/src/math/smoke/cospif16_test.cpp
    M libc/test/src/math/smoke/cospif_test.cpp
    M libc/test/src/math/smoke/erff_test.cpp
    M libc/test/src/math/smoke/exp10_test.cpp
    M libc/test/src/math/smoke/exp10f_test.cpp
    M libc/test/src/math/smoke/exp10m1f_test.cpp
    M libc/test/src/math/smoke/exp2_test.cpp
    M libc/test/src/math/smoke/exp2f_test.cpp
    M libc/test/src/math/smoke/exp2m1f_test.cpp
    M libc/test/src/math/smoke/exp_test.cpp
    M libc/test/src/math/smoke/expf_test.cpp
    M libc/test/src/math/smoke/expm1_test.cpp
    M libc/test/src/math/smoke/expm1f_test.cpp
    M libc/test/src/math/smoke/log10_test.cpp
    M libc/test/src/math/smoke/log10f_test.cpp
    M libc/test/src/math/smoke/log1p_test.cpp
    M libc/test/src/math/smoke/log1pf_test.cpp
    M libc/test/src/math/smoke/log2_test.cpp
    M libc/test/src/math/smoke/log2f_test.cpp
    M libc/test/src/math/smoke/log_test.cpp
    M libc/test/src/math/smoke/logf_test.cpp
    M libc/test/src/math/smoke/pow_test.cpp
    M libc/test/src/math/smoke/powf_test.cpp
    M libc/test/src/math/smoke/sin_test.cpp
    M libc/test/src/math/smoke/sincos_test.cpp
    M libc/test/src/math/smoke/sincosf_test.cpp
    M libc/test/src/math/smoke/sinf16_test.cpp
    M libc/test/src/math/smoke/sinf_test.cpp
    M libc/test/src/math/smoke/sinhf_test.cpp
    M libc/test/src/math/smoke/sinpif16_test.cpp
    M libc/test/src/math/smoke/sinpif_test.cpp
    M libc/test/src/math/smoke/tan_test.cpp
    M libc/test/src/math/smoke/tanf16_test.cpp
    M libc/test/src/math/smoke/tanf_test.cpp
    M libc/test/src/math/smoke/tanhf_test.cpp
    M libc/test/src/math/smoke/tanpif16_test.cpp
    M libc/test/src/sys/time/CMakeLists.txt
    A libc/test/src/sys/time/getitimer_test.cpp
    A libc/test/src/sys/time/setitimer_test.cpp
    A libclc/clc/include/clc/integer/clc_ctz.h
    M libclc/clc/include/clc/integer/gentype.inc
    M libclc/clc/include/clc/math/gentype.inc
    A libclc/clc/include/clc/misc/clc_shuffle.h
    A libclc/clc/include/clc/misc/clc_shuffle2.h
    A libclc/clc/include/clc/misc/shuffle2_decl.inc
    A libclc/clc/include/clc/misc/shuffle2_def.inc
    A libclc/clc/include/clc/misc/shuffle_decl.inc
    A libclc/clc/include/clc/misc/shuffle_def.inc
    M libclc/clc/lib/clspv/integer/clc_mul_hi.cl
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/integer/clc_ctz.cl
    M libclc/clc/lib/generic/math/clc_frexp.inc
    A libclc/clc/lib/generic/misc/clc_shuffle.cl
    A libclc/clc/lib/generic/misc/clc_shuffle2.cl
    M libclc/clspv/lib/math/fma.cl
    M libclc/cmake/modules/AddLibclc.cmake
    R libclc/generic/include/clc/atom_decl_int32.inc
    R libclc/generic/include/clc/atom_decl_int64.inc
    A libclc/generic/include/clc/atomic/atom_add.h
    A libclc/generic/include/clc/atomic/atom_and.h
    A libclc/generic/include/clc/atomic/atom_cmpxchg.h
    A libclc/generic/include/clc/atomic/atom_dec.h
    A libclc/generic/include/clc/atomic/atom_decl_int32.inc
    A libclc/generic/include/clc/atomic/atom_decl_int64.inc
    A libclc/generic/include/clc/atomic/atom_inc.h
    A libclc/generic/include/clc/atomic/atom_max.h
    A libclc/generic/include/clc/atomic/atom_min.h
    A libclc/generic/include/clc/atomic/atom_or.h
    A libclc/generic/include/clc/atomic/atom_sub.h
    A libclc/generic/include/clc/atomic/atom_xchg.h
    A libclc/generic/include/clc/atomic/atom_xor.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_dec.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_inc.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
    M libclc/generic/include/clc/clc.h
    A libclc/generic/include/clc/integer/ctz.h
    M libclc/generic/include/clc/misc/shuffle.h
    M libclc/generic/include/clc/misc/shuffle2.h
    M libclc/generic/lib/SOURCES
    R libclc/generic/lib/atom_int32_binary.inc
    A libclc/generic/lib/atomic/atom_add.cl
    A libclc/generic/lib/atomic/atom_and.cl
    A libclc/generic/lib/atomic/atom_cmpxchg.cl
    A libclc/generic/lib/atomic/atom_dec.cl
    A libclc/generic/lib/atomic/atom_inc.cl
    A libclc/generic/lib/atomic/atom_int32_binary.inc
    A libclc/generic/lib/atomic/atom_max.cl
    A libclc/generic/lib/atomic/atom_min.cl
    A libclc/generic/lib/atomic/atom_or.cl
    A libclc/generic/lib/atomic/atom_sub.cl
    A libclc/generic/lib/atomic/atom_xchg.cl
    A libclc/generic/lib/atomic/atom_xor.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_add.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_sub.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_xchg.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_and.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_max.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_min.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_or.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_xor.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_add.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_dec.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_inc.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_sub.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_xchg.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_and.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_max.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_min.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_or.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_xor.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_add.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_sub.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_xchg.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_and.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_max.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_min.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_or.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_xor.cl
    A libclc/generic/lib/integer/ctz.cl
    M libclc/generic/lib/misc/shuffle.cl
    M libclc/generic/lib/misc/shuffle2.cl
    M libcxx/.clang-format
    M libcxx/cmake/caches/AMDGPU.cmake
    M libcxx/docs/Contributing.rst
    M libcxx/docs/DesignDocs/VisibilityMacros.rst
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes.rst
    R libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/for_each.h
    M libcxx/include/__algorithm/radix_sort.h
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__atomic/memory_order.h
    M libcxx/include/__bit/bit_log2.h
    M libcxx/include/__bit/countl.h
    M libcxx/include/__bit/countr.h
    M libcxx/include/__bit/popcount.h
    M libcxx/include/__bit_reference
    M libcxx/include/__charconv/tables.h
    M libcxx/include/__charconv/to_chars_base_10.h
    M libcxx/include/__charconv/to_chars_integral.h
    M libcxx/include/__charconv/to_chars_result.h
    M libcxx/include/__charconv/traits.h
    M libcxx/include/__chrono/duration.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/parser_std_format_spec.h
    M libcxx/include/__chrono/time_point.h
    M libcxx/include/__compare/common_comparison_category.h
    M libcxx/include/__compare/compare_three_way.h
    M libcxx/include/__compare/compare_three_way_result.h
    M libcxx/include/__condition_variable/condition_variable.h
    M libcxx/include/__config
    M libcxx/include/__coroutine/coroutine_handle.h
    M libcxx/include/__coroutine/noop_coroutine_handle.h
    R libcxx/include/__cxx03/__algorithm/clamp.h
    M libcxx/include/__cxx03/__algorithm/count.h
    M libcxx/include/__cxx03/__algorithm/equal.h
    M libcxx/include/__cxx03/__algorithm/equal_range.h
    M libcxx/include/__cxx03/__algorithm/find.h
    M libcxx/include/__cxx03/__algorithm/find_end.h
    R libcxx/include/__cxx03/__algorithm/fold.h
    M libcxx/include/__cxx03/__algorithm/for_each.h
    R libcxx/include/__cxx03/__algorithm/for_each_n.h
    R libcxx/include/__cxx03/__algorithm/in_found_result.h
    R libcxx/include/__cxx03/__algorithm/in_fun_result.h
    R libcxx/include/__cxx03/__algorithm/in_in_out_result.h
    R libcxx/include/__cxx03/__algorithm/in_in_result.h
    R libcxx/include/__cxx03/__algorithm/in_out_out_result.h
    R libcxx/include/__cxx03/__algorithm/in_out_result.h
    M libcxx/include/__cxx03/__algorithm/includes.h
    M libcxx/include/__cxx03/__algorithm/is_permutation.h
    M libcxx/include/__cxx03/__algorithm/iterator_operations.h
    R libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
    M libcxx/include/__cxx03/__algorithm/lower_bound.h
    M libcxx/include/__cxx03/__algorithm/make_projected.h
    M libcxx/include/__cxx03/__algorithm/max.h
    M libcxx/include/__cxx03/__algorithm/min.h
    M libcxx/include/__cxx03/__algorithm/min_element.h
    R libcxx/include/__cxx03/__algorithm/min_max_result.h
    M libcxx/include/__cxx03/__algorithm/minmax.h
    M libcxx/include/__cxx03/__algorithm/minmax_element.h
    M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
    R libcxx/include/__cxx03/__algorithm/pstl.h
    R libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
    R libcxx/include/__cxx03/__algorithm/ranges_all_of.h
    R libcxx/include/__cxx03/__algorithm/ranges_any_of.h
    R libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
    R libcxx/include/__cxx03/__algorithm/ranges_clamp.h
    R libcxx/include/__cxx03/__algorithm/ranges_contains.h
    R libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
    R libcxx/include/__cxx03/__algorithm/ranges_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
    R libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_count.h
    R libcxx/include/__cxx03/__algorithm/ranges_count_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
    R libcxx/include/__cxx03/__algorithm/ranges_equal.h
    R libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
    R libcxx/include/__cxx03/__algorithm/ranges_fill.h
    R libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_find.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_end.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_last.h
    R libcxx/include/__cxx03/__algorithm/ranges_for_each.h
    R libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_generate.h
    R libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_includes.h
    R libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
    R libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
    R libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
    R libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
    R libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_max.h
    R libcxx/include/__cxx03/__algorithm/ranges_max_element.h
    R libcxx/include/__cxx03/__algorithm/ranges_merge.h
    R libcxx/include/__cxx03/__algorithm/ranges_min.h
    R libcxx/include/__cxx03/__algorithm/ranges_min_element.h
    R libcxx/include/__cxx03/__algorithm/ranges_minmax.h
    R libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
    R libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
    R libcxx/include/__cxx03/__algorithm/ranges_move.h
    R libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
    R libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
    R libcxx/include/__cxx03/__algorithm/ranges_none_of.h
    R libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
    R libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
    R libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_partition.h
    R libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
    R libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
    R libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_remove.h
    R libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_replace.h
    R libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_reverse.h
    R libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_rotate.h
    R libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_sample.h
    R libcxx/include/__cxx03/__algorithm/ranges_search.h
    R libcxx/include/__cxx03/__algorithm/ranges_search_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
    R libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
    R libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
    R libcxx/include/__cxx03/__algorithm/ranges_set_union.h
    R libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
    R libcxx/include/__cxx03/__algorithm/ranges_sort.h
    R libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
    R libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
    R libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
    R libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
    R libcxx/include/__cxx03/__algorithm/ranges_transform.h
    R libcxx/include/__cxx03/__algorithm/ranges_unique.h
    R libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
    R libcxx/include/__cxx03/__algorithm/sample.h
    M libcxx/include/__cxx03/__algorithm/search.h
    M libcxx/include/__cxx03/__algorithm/search_n.h
    M libcxx/include/__cxx03/__algorithm/set_difference.h
    M libcxx/include/__cxx03/__algorithm/set_intersection.h
    R libcxx/include/__cxx03/__algorithm/shift_left.h
    R libcxx/include/__cxx03/__algorithm/shift_right.h
    M libcxx/include/__cxx03/__algorithm/simd_utils.h
    M libcxx/include/__cxx03/__algorithm/sort.h
    M libcxx/include/__cxx03/__algorithm/unwrap_range.h
    M libcxx/include/__cxx03/__algorithm/upper_bound.h
    R libcxx/include/__cxx03/__atomic/atomic_ref.h
    R libcxx/include/__cxx03/__bit/bit_cast.h
    R libcxx/include/__cxx03/__bit/bit_ceil.h
    R libcxx/include/__cxx03/__bit/bit_floor.h
    R libcxx/include/__cxx03/__bit/bit_log2.h
    R libcxx/include/__cxx03/__bit/bit_width.h
    R libcxx/include/__cxx03/__bit/byteswap.h
    M libcxx/include/__cxx03/__bit/countl.h
    M libcxx/include/__cxx03/__bit/countr.h
    R libcxx/include/__cxx03/__bit/endian.h
    R libcxx/include/__cxx03/__bit/has_single_bit.h
    M libcxx/include/__cxx03/__bit/invert_if.h
    M libcxx/include/__cxx03/__bit/popcount.h
    M libcxx/include/__cxx03/__bit/rotate.h
    M libcxx/include/__cxx03/__bit_reference
    R libcxx/include/__cxx03/__charconv/chars_format.h
    R libcxx/include/__cxx03/__charconv/from_chars_integral.h
    R libcxx/include/__cxx03/__charconv/from_chars_result.h
    R libcxx/include/__cxx03/__charconv/tables.h
    R libcxx/include/__cxx03/__charconv/to_chars.h
    R libcxx/include/__cxx03/__charconv/to_chars_base_10.h
    R libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
    R libcxx/include/__cxx03/__charconv/to_chars_integral.h
    R libcxx/include/__cxx03/__charconv/to_chars_result.h
    R libcxx/include/__cxx03/__charconv/traits.h
    R libcxx/include/__cxx03/__chrono/calendar.h
    R libcxx/include/__cxx03/__chrono/concepts.h
    R libcxx/include/__cxx03/__chrono/convert_to_tm.h
    R libcxx/include/__cxx03/__chrono/day.h
    M libcxx/include/__cxx03/__chrono/duration.h
    R libcxx/include/__cxx03/__chrono/exception.h
    R libcxx/include/__cxx03/__chrono/file_clock.h
    R libcxx/include/__cxx03/__chrono/formatter.h
    R libcxx/include/__cxx03/__chrono/hh_mm_ss.h
    R libcxx/include/__cxx03/__chrono/leap_second.h
    R libcxx/include/__cxx03/__chrono/literals.h
    R libcxx/include/__cxx03/__chrono/local_info.h
    R libcxx/include/__cxx03/__chrono/month.h
    R libcxx/include/__cxx03/__chrono/month_weekday.h
    R libcxx/include/__cxx03/__chrono/monthday.h
    R libcxx/include/__cxx03/__chrono/ostream.h
    R libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
    R libcxx/include/__cxx03/__chrono/statically_widen.h
    R libcxx/include/__cxx03/__chrono/sys_info.h
    M libcxx/include/__cxx03/__chrono/time_point.h
    R libcxx/include/__cxx03/__chrono/time_zone.h
    R libcxx/include/__cxx03/__chrono/time_zone_link.h
    R libcxx/include/__cxx03/__chrono/tzdb.h
    R libcxx/include/__cxx03/__chrono/tzdb_list.h
    R libcxx/include/__cxx03/__chrono/weekday.h
    R libcxx/include/__cxx03/__chrono/year.h
    R libcxx/include/__cxx03/__chrono/year_month.h
    R libcxx/include/__cxx03/__chrono/year_month_day.h
    R libcxx/include/__cxx03/__chrono/year_month_weekday.h
    R libcxx/include/__cxx03/__chrono/zoned_time.h
    R libcxx/include/__cxx03/__compare/common_comparison_category.h
    R libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
    R libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
    R libcxx/include/__cxx03/__compare/compare_three_way.h
    R libcxx/include/__cxx03/__compare/compare_three_way_result.h
    R libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
    R libcxx/include/__cxx03/__compare/is_eq.h
    R libcxx/include/__cxx03/__compare/ordering.h
    R libcxx/include/__cxx03/__compare/partial_order.h
    R libcxx/include/__cxx03/__compare/strong_order.h
    R libcxx/include/__cxx03/__compare/synth_three_way.h
    R libcxx/include/__cxx03/__compare/three_way_comparable.h
    R libcxx/include/__cxx03/__compare/weak_order.h
    R libcxx/include/__cxx03/__concepts/arithmetic.h
    R libcxx/include/__cxx03/__concepts/assignable.h
    R libcxx/include/__cxx03/__concepts/boolean_testable.h
    R libcxx/include/__cxx03/__concepts/class_or_enum.h
    R libcxx/include/__cxx03/__concepts/common_reference_with.h
    R libcxx/include/__cxx03/__concepts/common_with.h
    R libcxx/include/__cxx03/__concepts/constructible.h
    R libcxx/include/__cxx03/__concepts/convertible_to.h
    R libcxx/include/__cxx03/__concepts/copyable.h
    R libcxx/include/__cxx03/__concepts/derived_from.h
    R libcxx/include/__cxx03/__concepts/destructible.h
    R libcxx/include/__cxx03/__concepts/different_from.h
    R libcxx/include/__cxx03/__concepts/equality_comparable.h
    R libcxx/include/__cxx03/__concepts/invocable.h
    R libcxx/include/__cxx03/__concepts/movable.h
    R libcxx/include/__cxx03/__concepts/predicate.h
    R libcxx/include/__cxx03/__concepts/regular.h
    R libcxx/include/__cxx03/__concepts/relation.h
    R libcxx/include/__cxx03/__concepts/same_as.h
    R libcxx/include/__cxx03/__concepts/semiregular.h
    R libcxx/include/__cxx03/__concepts/swappable.h
    R libcxx/include/__cxx03/__concepts/totally_ordered.h
    R libcxx/include/__cxx03/__coroutine/coroutine_handle.h
    R libcxx/include/__cxx03/__coroutine/coroutine_traits.h
    R libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
    R libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
    R libcxx/include/__cxx03/__expected/bad_expected_access.h
    R libcxx/include/__cxx03/__expected/expected.h
    R libcxx/include/__cxx03/__expected/unexpect.h
    R libcxx/include/__cxx03/__expected/unexpected.h
    R libcxx/include/__cxx03/__filesystem/copy_options.h
    R libcxx/include/__cxx03/__filesystem/directory_entry.h
    R libcxx/include/__cxx03/__filesystem/directory_iterator.h
    R libcxx/include/__cxx03/__filesystem/directory_options.h
    R libcxx/include/__cxx03/__filesystem/file_status.h
    R libcxx/include/__cxx03/__filesystem/file_time_type.h
    R libcxx/include/__cxx03/__filesystem/file_type.h
    R libcxx/include/__cxx03/__filesystem/filesystem_error.h
    R libcxx/include/__cxx03/__filesystem/operations.h
    R libcxx/include/__cxx03/__filesystem/path.h
    R libcxx/include/__cxx03/__filesystem/path_iterator.h
    R libcxx/include/__cxx03/__filesystem/perm_options.h
    R libcxx/include/__cxx03/__filesystem/perms.h
    R libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
    R libcxx/include/__cxx03/__filesystem/space_info.h
    R libcxx/include/__cxx03/__filesystem/u8path.h
    R libcxx/include/__cxx03/__format/buffer.h
    R libcxx/include/__cxx03/__format/concepts.h
    R libcxx/include/__cxx03/__format/container_adaptor.h
    R libcxx/include/__cxx03/__format/enable_insertable.h
    R libcxx/include/__cxx03/__format/escaped_output_table.h
    R libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
    R libcxx/include/__cxx03/__format/format_arg.h
    R libcxx/include/__cxx03/__format/format_arg_store.h
    R libcxx/include/__cxx03/__format/format_args.h
    R libcxx/include/__cxx03/__format/format_context.h
    R libcxx/include/__cxx03/__format/format_error.h
    R libcxx/include/__cxx03/__format/format_functions.h
    R libcxx/include/__cxx03/__format/format_parse_context.h
    R libcxx/include/__cxx03/__format/format_string.h
    R libcxx/include/__cxx03/__format/format_to_n_result.h
    R libcxx/include/__cxx03/__format/formatter.h
    R libcxx/include/__cxx03/__format/formatter_bool.h
    R libcxx/include/__cxx03/__format/formatter_char.h
    R libcxx/include/__cxx03/__format/formatter_floating_point.h
    R libcxx/include/__cxx03/__format/formatter_integer.h
    R libcxx/include/__cxx03/__format/formatter_integral.h
    R libcxx/include/__cxx03/__format/formatter_output.h
    R libcxx/include/__cxx03/__format/formatter_pointer.h
    R libcxx/include/__cxx03/__format/formatter_string.h
    R libcxx/include/__cxx03/__format/formatter_tuple.h
    R libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
    R libcxx/include/__cxx03/__format/parser_std_format_spec.h
    R libcxx/include/__cxx03/__format/range_default_formatter.h
    R libcxx/include/__cxx03/__format/range_formatter.h
    R libcxx/include/__cxx03/__format/unicode.h
    R libcxx/include/__cxx03/__format/width_estimation_table.h
    R libcxx/include/__cxx03/__format/write_escaped.h
    M libcxx/include/__cxx03/__functional/bind.h
    R libcxx/include/__cxx03/__functional/bind_back.h
    R libcxx/include/__cxx03/__functional/bind_front.h
    R libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
    R libcxx/include/__cxx03/__functional/compose.h
    R libcxx/include/__cxx03/__functional/default_searcher.h
    R libcxx/include/__cxx03/__functional/function.h
    R libcxx/include/__cxx03/__functional/invoke.h
    R libcxx/include/__cxx03/__functional/is_transparent.h
    M libcxx/include/__cxx03/__functional/mem_fn.h
    R libcxx/include/__cxx03/__functional/not_fn.h
    R libcxx/include/__cxx03/__functional/perfect_forward.h
    R libcxx/include/__cxx03/__functional/ranges_operations.h
    M libcxx/include/__cxx03/__functional/reference_wrapper.h
    M libcxx/include/__cxx03/__functional/weak_result_type.h
    R libcxx/include/__cxx03/__fwd/format.h
    R libcxx/include/__cxx03/__fwd/mdspan.h
    R libcxx/include/__cxx03/__fwd/memory_resource.h
    R libcxx/include/__cxx03/__fwd/span.h
    M libcxx/include/__cxx03/__fwd/string.h
    R libcxx/include/__cxx03/__fwd/subrange.h
    M libcxx/include/__cxx03/__hash_table
    M libcxx/include/__cxx03/__iterator/advance.h
    M libcxx/include/__cxx03/__iterator/bounded_iter.h
    R libcxx/include/__cxx03/__iterator/common_iterator.h
    R libcxx/include/__cxx03/__iterator/concepts.h
    R libcxx/include/__cxx03/__iterator/counted_iterator.h
    R libcxx/include/__cxx03/__iterator/data.h
    R libcxx/include/__cxx03/__iterator/default_sentinel.h
    M libcxx/include/__cxx03/__iterator/distance.h
    R libcxx/include/__cxx03/__iterator/empty.h
    R libcxx/include/__cxx03/__iterator/incrementable_traits.h
    R libcxx/include/__cxx03/__iterator/indirectly_comparable.h
    M libcxx/include/__cxx03/__iterator/insert_iterator.h
    M libcxx/include/__cxx03/__iterator/istream_iterator.h
    M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
    R libcxx/include/__cxx03/__iterator/iter_move.h
    R libcxx/include/__cxx03/__iterator/iter_swap.h
    M libcxx/include/__cxx03/__iterator/iterator_traits.h
    R libcxx/include/__cxx03/__iterator/iterator_with_data.h
    R libcxx/include/__cxx03/__iterator/mergeable.h
    M libcxx/include/__cxx03/__iterator/move_iterator.h
    R libcxx/include/__cxx03/__iterator/move_sentinel.h
    M libcxx/include/__cxx03/__iterator/next.h
    R libcxx/include/__cxx03/__iterator/permutable.h
    M libcxx/include/__cxx03/__iterator/prev.h
    R libcxx/include/__cxx03/__iterator/projected.h
    R libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
    R libcxx/include/__cxx03/__iterator/readable_traits.h
    R libcxx/include/__cxx03/__iterator/reverse_access.h
    M libcxx/include/__cxx03/__iterator/reverse_iterator.h
    R libcxx/include/__cxx03/__iterator/size.h
    R libcxx/include/__cxx03/__iterator/sortable.h
    R libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
    M libcxx/include/__cxx03/__iterator/wrap_iter.h
    R libcxx/include/__cxx03/__math/special_functions.h
    R libcxx/include/__cxx03/__mdspan/default_accessor.h
    R libcxx/include/__cxx03/__mdspan/extents.h
    R libcxx/include/__cxx03/__mdspan/layout_left.h
    R libcxx/include/__cxx03/__mdspan/layout_right.h
    R libcxx/include/__cxx03/__mdspan/layout_stride.h
    R libcxx/include/__cxx03/__mdspan/mdspan.h
    R libcxx/include/__cxx03/__memory/concepts.h
    R libcxx/include/__cxx03/__memory/inout_ptr.h
    R libcxx/include/__cxx03/__memory/out_ptr.h
    R libcxx/include/__cxx03/__memory/ranges_construct_at.h
    R libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
    M libcxx/include/__cxx03/__memory/shared_ptr.h
    M libcxx/include/__cxx03/__memory/unique_ptr.h
    R libcxx/include/__cxx03/__memory/uses_allocator_construction.h
    R libcxx/include/__cxx03/__memory_resource/memory_resource.h
    R libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
    R libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
    R libcxx/include/__cxx03/__memory_resource/pool_options.h
    R libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
    R libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
    M libcxx/include/__cxx03/__mutex/once_flag.h
    R libcxx/include/__cxx03/__node_handle
    R libcxx/include/__cxx03/__numeric/exclusive_scan.h
    R libcxx/include/__cxx03/__numeric/gcd_lcm.h
    R libcxx/include/__cxx03/__numeric/inclusive_scan.h
    R libcxx/include/__cxx03/__numeric/midpoint.h
    R libcxx/include/__cxx03/__numeric/pstl.h
    R libcxx/include/__cxx03/__numeric/reduce.h
    R libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
    R libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
    R libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
    R libcxx/include/__cxx03/__numeric/transform_reduce.h
    R libcxx/include/__cxx03/__ostream/print.h
    R libcxx/include/__cxx03/__pstl/backend.h
    R libcxx/include/__cxx03/__pstl/backend_fwd.h
    R libcxx/include/__cxx03/__pstl/backends/default.h
    R libcxx/include/__cxx03/__pstl/backends/libdispatch.h
    R libcxx/include/__cxx03/__pstl/backends/serial.h
    R libcxx/include/__cxx03/__pstl/backends/std_thread.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
    R libcxx/include/__cxx03/__pstl/dispatch.h
    R libcxx/include/__cxx03/__pstl/handle_exception.h
    M libcxx/include/__cxx03/__random/generate_canonical.h
    M libcxx/include/__cxx03/__random/seed_seq.h
    R libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
    R libcxx/include/__cxx03/__ranges/access.h
    R libcxx/include/__cxx03/__ranges/all.h
    R libcxx/include/__cxx03/__ranges/as_rvalue_view.h
    R libcxx/include/__cxx03/__ranges/chunk_by_view.h
    R libcxx/include/__cxx03/__ranges/common_view.h
    R libcxx/include/__cxx03/__ranges/concepts.h
    R libcxx/include/__cxx03/__ranges/container_compatible_range.h
    R libcxx/include/__cxx03/__ranges/counted.h
    R libcxx/include/__cxx03/__ranges/dangling.h
    R libcxx/include/__cxx03/__ranges/data.h
    R libcxx/include/__cxx03/__ranges/drop_view.h
    R libcxx/include/__cxx03/__ranges/drop_while_view.h
    R libcxx/include/__cxx03/__ranges/elements_view.h
    R libcxx/include/__cxx03/__ranges/empty.h
    R libcxx/include/__cxx03/__ranges/empty_view.h
    R libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
    R libcxx/include/__cxx03/__ranges/enable_view.h
    R libcxx/include/__cxx03/__ranges/filter_view.h
    R libcxx/include/__cxx03/__ranges/from_range.h
    R libcxx/include/__cxx03/__ranges/iota_view.h
    R libcxx/include/__cxx03/__ranges/istream_view.h
    R libcxx/include/__cxx03/__ranges/join_view.h
    R libcxx/include/__cxx03/__ranges/lazy_split_view.h
    R libcxx/include/__cxx03/__ranges/movable_box.h
    R libcxx/include/__cxx03/__ranges/non_propagating_cache.h
    R libcxx/include/__cxx03/__ranges/owning_view.h
    R libcxx/include/__cxx03/__ranges/range_adaptor.h
    R libcxx/include/__cxx03/__ranges/rbegin.h
    R libcxx/include/__cxx03/__ranges/ref_view.h
    R libcxx/include/__cxx03/__ranges/rend.h
    R libcxx/include/__cxx03/__ranges/repeat_view.h
    R libcxx/include/__cxx03/__ranges/reverse_view.h
    R libcxx/include/__cxx03/__ranges/single_view.h
    R libcxx/include/__cxx03/__ranges/size.h
    R libcxx/include/__cxx03/__ranges/split_view.h
    R libcxx/include/__cxx03/__ranges/subrange.h
    R libcxx/include/__cxx03/__ranges/take_view.h
    R libcxx/include/__cxx03/__ranges/take_while_view.h
    R libcxx/include/__cxx03/__ranges/to.h
    R libcxx/include/__cxx03/__ranges/transform_view.h
    R libcxx/include/__cxx03/__ranges/view_interface.h
    R libcxx/include/__cxx03/__ranges/views.h
    R libcxx/include/__cxx03/__ranges/zip_view.h
    R libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
    R libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
    R libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
    R libcxx/include/__cxx03/__stop_token/stop_callback.h
    R libcxx/include/__cxx03/__stop_token/stop_source.h
    R libcxx/include/__cxx03/__stop_token/stop_state.h
    R libcxx/include/__cxx03/__stop_token/stop_token.h
    M libcxx/include/__cxx03/__string/char_traits.h
    M libcxx/include/__cxx03/__system_error/error_category.h
    M libcxx/include/__cxx03/__system_error/error_code.h
    M libcxx/include/__cxx03/__system_error/error_condition.h
    R libcxx/include/__cxx03/__thread/formatter.h
    M libcxx/include/__cxx03/__thread/id.h
    R libcxx/include/__cxx03/__thread/jthread.h
    M libcxx/include/__cxx03/__thread/thread.h
    M libcxx/include/__cxx03/__tree
    R libcxx/include/__cxx03/__tuple/ignore.h
    R libcxx/include/__cxx03/__type_traits/common_reference.h
    R libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
    R libcxx/include/__cxx03/__type_traits/is_aggregate.h
    R libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
    M libcxx/include/__cxx03/__type_traits/result_of.h
    R libcxx/include/__cxx03/__utility/as_const.h
    R libcxx/include/__cxx03/__utility/cmp.h
    M libcxx/include/__cxx03/__utility/exception_guard.h
    R libcxx/include/__cxx03/__utility/exchange.h
    R libcxx/include/__cxx03/__utility/forward_like.h
    R libcxx/include/__cxx03/__utility/in_place.h
    M libcxx/include/__cxx03/__utility/pair.h
    R libcxx/include/__cxx03/__utility/to_underlying.h
    M libcxx/include/__cxx03/algorithm
    R libcxx/include/__cxx03/any
    M libcxx/include/__cxx03/array
    M libcxx/include/__cxx03/atomic
    R libcxx/include/__cxx03/barrier
    R libcxx/include/__cxx03/bit
    M libcxx/include/__cxx03/bitset
    R libcxx/include/__cxx03/charconv
    M libcxx/include/__cxx03/chrono
    M libcxx/include/__cxx03/cmath
    M libcxx/include/__cxx03/codecvt
    R libcxx/include/__cxx03/compare
    R libcxx/include/__cxx03/concepts
    M libcxx/include/__cxx03/condition_variable
    R libcxx/include/__cxx03/coroutine
    M libcxx/include/__cxx03/deque
    R libcxx/include/__cxx03/execution
    R libcxx/include/__cxx03/expected
    R libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
    R libcxx/include/__cxx03/experimental/__simd/declaration.h
    R libcxx/include/__cxx03/experimental/__simd/reference.h
    R libcxx/include/__cxx03/experimental/__simd/scalar.h
    R libcxx/include/__cxx03/experimental/__simd/simd.h
    R libcxx/include/__cxx03/experimental/__simd/simd_mask.h
    R libcxx/include/__cxx03/experimental/__simd/traits.h
    R libcxx/include/__cxx03/experimental/__simd/utility.h
    R libcxx/include/__cxx03/experimental/__simd/vec_ext.h
    R libcxx/include/__cxx03/experimental/iterator
    R libcxx/include/__cxx03/experimental/memory
    R libcxx/include/__cxx03/experimental/propagate_const
    R libcxx/include/__cxx03/experimental/simd
    R libcxx/include/__cxx03/experimental/type_traits
    M libcxx/include/__cxx03/experimental/utility
    M libcxx/include/__cxx03/ext/hash_map
    M libcxx/include/__cxx03/ext/hash_set
    R libcxx/include/__cxx03/filesystem
    R libcxx/include/__cxx03/format
    M libcxx/include/__cxx03/forward_list
    M libcxx/include/__cxx03/fstream
    M libcxx/include/__cxx03/functional
    R libcxx/include/__cxx03/initializer_list
    M libcxx/include/__cxx03/ios
    M libcxx/include/__cxx03/istream
    M libcxx/include/__cxx03/iterator
    R libcxx/include/__cxx03/latch
    M libcxx/include/__cxx03/list
    M libcxx/include/__cxx03/locale
    M libcxx/include/__cxx03/map
    R libcxx/include/__cxx03/mdspan
    M libcxx/include/__cxx03/memory
    R libcxx/include/__cxx03/memory_resource
    M libcxx/include/__cxx03/mutex
    R libcxx/include/__cxx03/numbers
    M libcxx/include/__cxx03/numeric
    R libcxx/include/__cxx03/optional
    M libcxx/include/__cxx03/ostream
    R libcxx/include/__cxx03/print
    M libcxx/include/__cxx03/queue
    M libcxx/include/__cxx03/random
    R libcxx/include/__cxx03/ranges
    M libcxx/include/__cxx03/regex
    R libcxx/include/__cxx03/scoped_allocator
    R libcxx/include/__cxx03/semaphore
    M libcxx/include/__cxx03/set
    R libcxx/include/__cxx03/shared_mutex
    R libcxx/include/__cxx03/source_location
    R libcxx/include/__cxx03/span
    M libcxx/include/__cxx03/stack
    R libcxx/include/__cxx03/stop_token
    M libcxx/include/__cxx03/string
    M libcxx/include/__cxx03/string_view
    R libcxx/include/__cxx03/syncstream
    M libcxx/include/__cxx03/system_error
    M libcxx/include/__cxx03/thread
    R libcxx/include/__cxx03/tuple
    M libcxx/include/__cxx03/type_traits
    M libcxx/include/__cxx03/typeindex
    M libcxx/include/__cxx03/unordered_map
    M libcxx/include/__cxx03/unordered_set
    M libcxx/include/__cxx03/utility
    M libcxx/include/__cxx03/valarray
    R libcxx/include/__cxx03/variant
    M libcxx/include/__cxx03/vector
    M libcxx/include/__format/buffer.h
    M libcxx/include/__format/container_adaptor.h
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__format/format_args.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__format/format_parse_context.h
    M libcxx/include/__format/format_string.h
    M libcxx/include/__format/format_to_n_result.h
    M libcxx/include/__format/formatter.h
    M libcxx/include/__format/formatter_bool.h
    M libcxx/include/__format/formatter_char.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__format/formatter_integer.h
    M libcxx/include/__format/formatter_integral.h
    M libcxx/include/__format/formatter_output.h
    M libcxx/include/__format/formatter_pointer.h
    M libcxx/include/__format/formatter_string.h
    M libcxx/include/__format/formatter_tuple.h
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/include/__format/range_default_formatter.h
    M libcxx/include/__format/range_formatter.h
    M libcxx/include/__functional/binary_function.h
    M libcxx/include/__functional/binary_negate.h
    M libcxx/include/__functional/binder1st.h
    M libcxx/include/__functional/binder2nd.h
    M libcxx/include/__functional/boyer_moore_searcher.h
    M libcxx/include/__functional/default_searcher.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__functional/mem_fun_ref.h
    M libcxx/include/__functional/operations.h
    M libcxx/include/__functional/pointer_to_binary_function.h
    M libcxx/include/__functional/pointer_to_unary_function.h
    M libcxx/include/__functional/reference_wrapper.h
    M libcxx/include/__functional/unary_function.h
    M libcxx/include/__functional/unary_negate.h
    M libcxx/include/__fwd/array.h
    M libcxx/include/__fwd/complex.h
    M libcxx/include/__fwd/deque.h
    M libcxx/include/__fwd/format.h
    M libcxx/include/__fwd/fstream.h
    M libcxx/include/__fwd/functional.h
    M libcxx/include/__fwd/ios.h
    M libcxx/include/__fwd/istream.h
    M libcxx/include/__fwd/map.h
    M libcxx/include/__fwd/memory.h
    M libcxx/include/__fwd/memory_resource.h
    M libcxx/include/__fwd/ostream.h
    M libcxx/include/__fwd/pair.h
    M libcxx/include/__fwd/queue.h
    M libcxx/include/__fwd/set.h
    M libcxx/include/__fwd/sstream.h
    M libcxx/include/__fwd/stack.h
    M libcxx/include/__fwd/streambuf.h
    M libcxx/include/__fwd/string.h
    M libcxx/include/__fwd/string_view.h
    M libcxx/include/__fwd/subrange.h
    M libcxx/include/__fwd/tuple.h
    M libcxx/include/__fwd/variant.h
    M libcxx/include/__fwd/vector.h
    M libcxx/include/__hash_table
    M libcxx/include/__ios/fpos.h
    M libcxx/include/__iterator/aliasing_iterator.h
    M libcxx/include/__iterator/back_insert_iterator.h
    M libcxx/include/__iterator/front_insert_iterator.h
    M libcxx/include/__iterator/insert_iterator.h
    M libcxx/include/__iterator/istream_iterator.h
    M libcxx/include/__iterator/istreambuf_iterator.h
    M libcxx/include/__iterator/iterator.h
    M libcxx/include/__iterator/iterator_traits.h
    M libcxx/include/__iterator/move_iterator.h
    M libcxx/include/__iterator/move_sentinel.h
    M libcxx/include/__iterator/ostream_iterator.h
    M libcxx/include/__iterator/ostreambuf_iterator.h
    M libcxx/include/__iterator/reverse_iterator.h
    M libcxx/include/__iterator/wrap_iter.h
    M libcxx/include/__locale
    A libcxx/include/__mdspan/aligned_accessor.h
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/allocator_arg_t.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/auto_ptr.h
    M libcxx/include/__memory/inout_ptr.h
    A libcxx/include/__memory/is_sufficiently_aligned.h
    M libcxx/include/__memory/out_ptr.h
    M libcxx/include/__memory/pointer_traits.h
    M libcxx/include/__memory/raw_storage_iterator.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__memory/uses_allocator.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__mutex/lock_guard.h
    M libcxx/include/__mutex/once_flag.h
    M libcxx/include/__mutex/unique_lock.h
    M libcxx/include/__node_handle
    M libcxx/include/__ostream/basic_ostream.h
    M libcxx/include/__random/bernoulli_distribution.h
    M libcxx/include/__random/binomial_distribution.h
    M libcxx/include/__random/cauchy_distribution.h
    M libcxx/include/__random/chi_squared_distribution.h
    M libcxx/include/__random/discard_block_engine.h
    M libcxx/include/__random/discrete_distribution.h
    M libcxx/include/__random/exponential_distribution.h
    M libcxx/include/__random/extreme_value_distribution.h
    M libcxx/include/__random/fisher_f_distribution.h
    M libcxx/include/__random/gamma_distribution.h
    M libcxx/include/__random/geometric_distribution.h
    M libcxx/include/__random/independent_bits_engine.h
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/include/__random/lognormal_distribution.h
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/include/__random/negative_binomial_distribution.h
    M libcxx/include/__random/normal_distribution.h
    M libcxx/include/__random/piecewise_constant_distribution.h
    M libcxx/include/__random/piecewise_linear_distribution.h
    M libcxx/include/__random/poisson_distribution.h
    M libcxx/include/__random/seed_seq.h
    M libcxx/include/__random/shuffle_order_engine.h
    M libcxx/include/__random/student_t_distribution.h
    M libcxx/include/__random/subtract_with_carry_engine.h
    M libcxx/include/__random/uniform_real_distribution.h
    M libcxx/include/__random/weibull_distribution.h
    M libcxx/include/__ranges/non_propagating_cache.h
    M libcxx/include/__ranges/subrange.h
    M libcxx/include/__stop_token/atomic_unique_lock.h
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__system_error/error_code.h
    M libcxx/include/__system_error/error_condition.h
    M libcxx/include/__thread/formatter.h
    M libcxx/include/__thread/id.h
    M libcxx/include/__thread/thread.h
    M libcxx/include/__tree
    M libcxx/include/__tuple/sfinae_helpers.h
    M libcxx/include/__tuple/tuple_element.h
    M libcxx/include/__tuple/tuple_size.h
    M libcxx/include/__type_traits/add_cv_quals.h
    M libcxx/include/__type_traits/aligned_storage.h
    M libcxx/include/__type_traits/alignment_of.h
    M libcxx/include/__type_traits/common_type.h
    M libcxx/include/__type_traits/conditional.h
    M libcxx/include/__type_traits/decay.h
    M libcxx/include/__type_traits/dependent_type.h
    M libcxx/include/__type_traits/enable_if.h
    M libcxx/include/__type_traits/extent.h
    M libcxx/include/__type_traits/has_unique_object_representation.h
    M libcxx/include/__type_traits/has_virtual_destructor.h
    M libcxx/include/__type_traits/integral_constant.h
    M libcxx/include/__type_traits/invoke.h
    M libcxx/include/__type_traits/is_abstract.h
    M libcxx/include/__type_traits/is_aggregate.h
    M libcxx/include/__type_traits/is_arithmetic.h
    M libcxx/include/__type_traits/is_array.h
    M libcxx/include/__type_traits/is_assignable.h
    M libcxx/include/__type_traits/is_base_of.h
    M libcxx/include/__type_traits/is_bounded_array.h
    M libcxx/include/__type_traits/is_char_like_type.h
    M libcxx/include/__type_traits/is_class.h
    M libcxx/include/__type_traits/is_compound.h
    M libcxx/include/__type_traits/is_const.h
    M libcxx/include/__type_traits/is_constructible.h
    M libcxx/include/__type_traits/is_convertible.h
    M libcxx/include/__type_traits/is_core_convertible.h
    M libcxx/include/__type_traits/is_destructible.h
    M libcxx/include/__type_traits/is_empty.h
    M libcxx/include/__type_traits/is_enum.h
    M libcxx/include/__type_traits/is_final.h
    M libcxx/include/__type_traits/is_floating_point.h
    M libcxx/include/__type_traits/is_function.h
    M libcxx/include/__type_traits/is_fundamental.h
    M libcxx/include/__type_traits/is_implicit_lifetime.h
    M libcxx/include/__type_traits/is_integral.h
    M libcxx/include/__type_traits/is_literal_type.h
    M libcxx/include/__type_traits/is_member_pointer.h
    M libcxx/include/__type_traits/is_nothrow_assignable.h
    M libcxx/include/__type_traits/is_nothrow_constructible.h
    M libcxx/include/__type_traits/is_nothrow_destructible.h
    M libcxx/include/__type_traits/is_null_pointer.h
    M libcxx/include/__type_traits/is_object.h
    M libcxx/include/__type_traits/is_pod.h
    M libcxx/include/__type_traits/is_pointer.h
    M libcxx/include/__type_traits/is_polymorphic.h
    M libcxx/include/__type_traits/is_reference.h
    M libcxx/include/__type_traits/is_reference_wrapper.h
    M libcxx/include/__type_traits/is_same.h
    M libcxx/include/__type_traits/is_scalar.h
    M libcxx/include/__type_traits/is_signed.h
    M libcxx/include/__type_traits/is_signed_integer.h
    M libcxx/include/__type_traits/is_standard_layout.h
    M libcxx/include/__type_traits/is_swappable.h
    M libcxx/include/__type_traits/is_trivial.h
    M libcxx/include/__type_traits/is_trivially_assignable.h
    M libcxx/include/__type_traits/is_trivially_constructible.h
    M libcxx/include/__type_traits/is_trivially_copyable.h
    M libcxx/include/__type_traits/is_trivially_destructible.h
    M libcxx/include/__type_traits/is_unbounded_array.h
    M libcxx/include/__type_traits/is_union.h
    M libcxx/include/__type_traits/is_unsigned.h
    M libcxx/include/__type_traits/is_unsigned_integer.h
    M libcxx/include/__type_traits/is_void.h
    M libcxx/include/__type_traits/is_volatile.h
    M libcxx/include/__type_traits/rank.h
    M libcxx/include/__type_traits/reference_constructs_from_temporary.h
    M libcxx/include/__type_traits/reference_converts_from_temporary.h
    M libcxx/include/__type_traits/remove_all_extents.h
    M libcxx/include/__type_traits/remove_const.h
    M libcxx/include/__type_traits/remove_extent.h
    M libcxx/include/__type_traits/remove_pointer.h
    M libcxx/include/__type_traits/remove_volatile.h
    M libcxx/include/__type_traits/result_of.h
    M libcxx/include/__type_traits/underlying_type.h
    M libcxx/include/__utility/convert_to_integral.h
    M libcxx/include/__utility/in_place.h
    M libcxx/include/__utility/integer_sequence.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/__utility/piecewise_construct.h
    M libcxx/include/__utility/to_underlying.h
    M libcxx/include/__variant/monostate.h
    M libcxx/include/__vector/vector.h
    M libcxx/include/__vector/vector_bool.h
    M libcxx/include/__vector/vector_bool_formatter.h
    M libcxx/include/__verbose_abort
    M libcxx/include/algorithm
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/barrier
    M libcxx/include/bit
    M libcxx/include/bitset
    M libcxx/include/charconv
    M libcxx/include/codecvt
    M libcxx/include/compare
    M libcxx/include/complex
    M libcxx/include/concepts
    M libcxx/include/condition_variable
    M libcxx/include/coroutine
    M libcxx/include/deque
    M libcxx/include/execution
    M libcxx/include/expected
    M libcxx/include/experimental/iterator
    M libcxx/include/experimental/memory
    M libcxx/include/experimental/propagate_const
    M libcxx/include/experimental/simd
    M libcxx/include/experimental/type_traits
    M libcxx/include/experimental/utility
    M libcxx/include/ext/__hash
    M libcxx/include/ext/hash_map
    M libcxx/include/ext/hash_set
    M libcxx/include/filesystem
    M libcxx/include/format
    M libcxx/include/forward_list
    M libcxx/include/fstream
    M libcxx/include/future
    M libcxx/include/initializer_list
    M libcxx/include/ios
    M libcxx/include/iosfwd
    M libcxx/include/istream
    M libcxx/include/latch
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/locale
    M libcxx/include/map
    M libcxx/include/mdspan
    M libcxx/include/memory
    M libcxx/include/memory_resource
    R libcxx/include/module.modulemap
    A libcxx/include/module.modulemap.in
    M libcxx/include/mutex
    M libcxx/include/numbers
    M libcxx/include/optional
    M libcxx/include/print
    M libcxx/include/queue
    M libcxx/include/ranges
    M libcxx/include/ratio
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/semaphore
    M libcxx/include/set
    M libcxx/include/shared_mutex
    M libcxx/include/source_location
    M libcxx/include/span
    M libcxx/include/sstream
    M libcxx/include/stack
    M libcxx/include/stop_token
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/syncstream
    M libcxx/include/system_error
    M libcxx/include/tuple
    M libcxx/include/type_traits
    M libcxx/include/typeindex
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/valarray
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/include/version
    M libcxx/modules/std/mdspan.inc
    M libcxx/modules/std/memory.inc
    M libcxx/src/filesystem/path_parser.h
    M libcxx/src/verbose_abort.cpp
    A libcxx/test/benchmarks/locale/num_put.bench.cpp
    A libcxx/test/libcxx/Wnon_modular_include_in_module.compile.pass.cpp
    M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp
    M libcxx/test/libcxx/algorithms/robust_against_copying_comparators.pass.cpp
    A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/byte_alignment.verify.cpp
    A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/element_type.verify.cpp
    M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
    M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
    A libcxx/test/libcxx/feature_test_macro/is_implemented.sh.py
    M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
    M libcxx/test/libcxx/feature_test_macro/std_dialects.sh.py
    M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
    M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
    M libcxx/test/libcxx/headers_in_modulemap.sh.py
    M libcxx/test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp
    M libcxx/test/libcxx/lint/lint_headers.sh.py
    M libcxx/test/libcxx/memory/allocator_void.trivial.compile.pass.cpp
    M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp
    M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/reverse_iterator.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/reverse_iterator.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/reverse_iterator.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/access.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.from.default_accessor.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.default.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/offset.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/operator.conversion.to.default_accessor.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/types.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/stddef_h.compile.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/sync.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/limits.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/locale.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.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/typeinfo.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.types/byte.pass.cpp
    M libcxx/test/std/language.support/support.types/max_align_t.compile.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
    M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
    M libcxx/test/std/ranges/range.req/range.view/view_base.compile.pass.cpp
    M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_append/initializer_list.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp
    M libcxx/test/std/strings/string.view/char.bad.verify.cpp
    M libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.hh_mm_ss.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.local_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.zonedtraits/types.compile.pass.cpp
    A libcxx/test/std/utilities/memory/ptr.align/is_sufficiently_aligned.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_union.pass.cpp
    A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.deprecated.verify.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.general/ignore.pass.cpp
    A libcxx/test/std/utilities/utility/pairs/pairs.pair/explicit_deduction_guides.pass.cpp
    M libcxx/test/support/nasty_string.h
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/libcxx/header_information.py
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/src/demangle/Utility.h
    M libcxxabi/test/test_demangle.pass.cpp
    M libcxxabi/test/uncaught_exception.pass.cpp
    M libunwind/docs/BuildingLibunwind.rst
    M lld/COFF/COFFLinkerContext.h
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h
    M lld/COFF/DLL.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/MapFile.cpp
    M lld/COFF/Writer.cpp
    M lld/ELF/AArch64ErrataFix.cpp
    M lld/ELF/ARMErrataFix.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/BPSectionOrderer.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Options.td
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Writer.cpp
    M lld/MachO/BPSectionOrderer.cpp
    M lld/MachO/Driver.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/InputFiles.h
    M lld/MachO/MapFile.cpp
    M lld/MinGW/Driver.cpp
    M lld/docs/ReleaseNotes.rst
    M lld/include/lld/Common/BPSectionOrdererBase.inc
    A lld/test/COFF/arm64ec-x86-sec.yaml
    A lld/test/COFF/arm64x-map.s
    A lld/test/COFF/export-alias.test
    A lld/test/ELF/aarch64-execute-only-mixed.s
    A lld/test/ELF/aarch64-execute-only-plt.s
    M lld/test/ELF/aarch64-execute-only.s
    M lld/test/ELF/aarch64-gnu-ifunc-plt.s
    M lld/test/ELF/aarch64-plt.s
    A lld/test/ELF/arm-execute-only-mixed.s
    M lld/test/ELF/arm-execute-only.s
    M lld/test/ELF/loongarch-relax-tls-ie.s
    A lld/test/ELF/lto/aarch64-pac-got-func.ll
    A lld/test/MachO/archive-no-index.ll
    A lld/test/MachO/archive-no-index.s
    R lld/test/MachO/invalid/archive-no-index.s
    A lld/test/MachO/tapi-rpath.s
    A lld/test/wasm/lto/thinlto-signature-mismatch-unknown.ll
    M lld/wasm/LTO.cpp
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/API/SBReproducer.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Core/FormatEntity.h
    M lldb/include/lldb/Core/Mangled.h
    M lldb/include/lldb/Core/RichManglingContext.h
    M lldb/include/lldb/Core/Telemetry.h
    M lldb/include/lldb/Host/ProcessRunLock.h
    M lldb/include/lldb/Initialization/SystemLifetimeManager.h
    M lldb/include/lldb/Interpreter/OptionValue.h
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
    M lldb/include/lldb/Symbol/FuncUnwinders.h
    M lldb/include/lldb/Symbol/SymbolContext.h
    M lldb/include/lldb/Symbol/UnwindPlan.h
    M lldb/include/lldb/Target/Language.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Target/Statistics.h
    M lldb/include/lldb/Target/ThreadPlanStepOut.h
    M lldb/include/lldb/ValueObject/DILParser.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    R lldb/scripts/reproducer-replay.py
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SBProcess.cpp
    M lldb/source/API/SBReproducer.cpp
    M lldb/source/API/SBTarget.cpp
    M lldb/source/API/SystemInitializerFull.cpp
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/Mangled.cpp
    M lldb/source/Core/Module.cpp
    M lldb/source/Core/RichManglingContext.cpp
    M lldb/source/Core/Statusline.cpp
    M lldb/source/Host/common/Editline.cpp
    M lldb/source/Host/common/ProcessRunLock.cpp
    M lldb/source/Host/windows/ProcessRunLock.cpp
    M lldb/source/Initialization/SystemLifetimeManager.cpp
    M lldb/source/Interpreter/OptionValue.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
    R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.cpp
    R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.h
    R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.td
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
    M lldb/source/Plugins/Language/ObjC/NSString.cpp
    M lldb/source/Plugins/Language/ObjC/NSString.h
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
    M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
    M lldb/source/Symbol/CompactUnwindInfo.cpp
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/Symbol/DWARFCallFrameInfo.cpp
    M lldb/source/Symbol/FuncUnwinders.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Symbol/Symtab.cpp
    M lldb/source/Symbol/UnwindPlan.cpp
    M lldb/source/Target/Language.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Statistics.cpp
    M lldb/source/Target/StopInfo.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/ThreadPlanStepInRange.cpp
    M lldb/source/Target/ThreadPlanStepOut.cpp
    M lldb/source/ValueObject/DILParser.cpp
    M lldb/source/ValueObject/ValueObject.cpp
    M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
    M lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
    M lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule.py
    M lldb/test/API/commands/statistics/basic/TestStats.py
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/Makefile
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/TestDataFormatterLibcxxInvalidVectorSimulator.py
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/main.cpp
    M lldb/test/API/functionalities/param_entry_vals/basic_entry_values/main.cpp
    M lldb/test/API/functionalities/statusline/TestStatusline.py
    M lldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/main.cpp
    A lldb/test/API/lang/objc/foundation/tagged/strings/Makefile
    A lldb/test/API/lang/objc/foundation/tagged/strings/TestObjCTaggedStrings.py
    A lldb/test/API/lang/objc/foundation/tagged/strings/main.m
    A lldb/test/API/python_api/target/read-instructions-flavor/Makefile
    A lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py
    A lldb/test/API/python_api/target/read-instructions-flavor/main.c
    M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
    A lldb/test/API/tools/lldb-dap/cancel/Makefile
    A lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
    A lldb/test/API/tools/lldb-dap/cancel/main.c
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/test/Shell/Recognizer/verbose_trap-in-stl-max-depth.test
    M lldb/test/Shell/Settings/TestFrameFormatName.test
    M lldb/test/Shell/SymbolFile/NativePDB/inline_sites_live.cpp
    M lldb/test/requirements.txt
    M lldb/tools/driver/CMakeLists.txt
    M lldb/tools/driver/Driver.cpp
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp
    A lldb/tools/lldb-dap/Handler/CancelRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    M lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
    M lldb/tools/lldb-dap/Transport.cpp
    M lldb/tools/lldb-dap/Transport.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
    M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
    M lldb/tools/lldb-server/lldb-server.cpp
    M lldb/tools/lldb-test/SystemInitializerTest.cpp
    M lldb/tools/lldb-test/lldb-test.cpp
    M lldb/unittests/Core/CMakeLists.txt
    A lldb/unittests/Core/DebuggerTest.cpp
    M lldb/unittests/Core/DiagnosticEventTest.cpp
    M lldb/unittests/Core/RichManglingContextTest.cpp
    M lldb/unittests/Core/TelemetryTest.cpp
    M lldb/unittests/Interpreter/TestCommandPaths.cpp
    M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
    M lldb/unittests/Language/ObjC/ObjCLanguageTest.cpp
    M lldb/unittests/Platform/PlatformSiginfoTest.cpp
    M lldb/unittests/Process/ProcessEventDataTest.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
    M lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
    M lldb/unittests/Symbol/UnwindPlanTest.cpp
    M lldb/unittests/Target/ExecutionContextTest.cpp
    M lldb/unittests/Target/MemoryTest.cpp
    M lldb/unittests/Target/StackFrameRecognizerTest.cpp
    M lldb/unittests/Thread/ThreadTest.cpp
    M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
    M lldb/unittests/UnwindAssembly/PPC64/TestPPC64InstEmulation.cpp
    M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
    M llvm/CMakeLists.txt
    M llvm/Maintainers.md
    M llvm/cmake/modules/TableGen.cmake
    M llvm/docs/CMake.rst
    M llvm/docs/CodeOfConduct.rst
    M llvm/docs/CommandGuide/llc.rst
    M llvm/docs/InstCombineContributorGuide.md
    A llvm/docs/InterfaceExportAnnotations.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/ProgrammersManual.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/Reference.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/SPIRVUsage.rst
    M llvm/docs/SandboxIR.md
    M llvm/docs/Vectorizers.rst
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/ArrayRef.h
    M llvm/include/llvm/ADT/EquivalenceClasses.h
    M llvm/include/llvm/ADT/Hashing.h
    M llvm/include/llvm/ADT/TrieRawHashMap.h
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/include/llvm/Analysis/CFG.h
    M llvm/include/llvm/Analysis/CaptureTracking.h
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
    M llvm/include/llvm/Analysis/MemoryLocation.h
    M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/include/llvm/Bitcode/BitcodeConvenience.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h

  Log Message:
  -----------
  Merge branch 'main' of https://github.com/llvm/llvm-project into resource-constructors


  Commit: 9fe6d3883863cb2543fc345afd8877ac7cab1b01
      https://github.com/llvm/llvm-project/commit/9fe6d3883863cb2543fc345afd8877ac7cab1b01
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-04-21 (Mon, 21 Apr 2025)

  Changed paths:
    M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl

  Log Message:
  -----------
  Add -Wno-hlsl-implicit-binding to tests


Compare: https://github.com/llvm/llvm-project/compare/4b25a5ff72b4...9fe6d3883863

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