[all-commits] [llvm/llvm-project] 6d89cd: [LLVM][SelectionDAG] Don't assume masked loads acc...

Krzysztof Parzyszek via All-commits all-commits at lists.llvm.org
Tue Apr 28 12:16:49 PDT 2026


  Branch: refs/heads/users/kparzysz/delimited-metadirective
  Home:   https://github.com/llvm/llvm-project
  Commit: 6d89cd85942cc5f702267855ab2788e43c072961
      https://github.com/llvm/llvm-project/commit/6d89cd85942cc5f702267855ab2788e43c072961
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    A llvm/test/CodeGen/AArch64/sve-masked-ldst-alias-analysis.ll

  Log Message:
  -----------
  [LLVM][SelectionDAG] Don't assume masked loads access all lanes in memory. (#192706)

When creating the initial DAG for masked loads we are using the result
type to define LocationSize. However, being a masked load we do not know
which, if any, memory locations will be read.

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


  Commit: 8d060c0222a5cfa3b0fd875d48cf09b6c2dd4a5d
      https://github.com/llvm/llvm-project/commit/8d060c0222a5cfa3b0fd875d48cf09b6c2dd4a5d
  Author: Davide Grohmann <davide.grohmann at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaTypes.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVTosaOps.cpp
    M mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir

  Log Message:
  -----------
  [mlir][spirv] Tighten SPIR-V TOSA pool constraints (#193515)

Tighten AvgPool2D and MaxPool2D verification by constraining kernel,
stride, and pad attributes and by checking the input/output NHWC
relationship.

Add verification tests for batch/channel mismatches, non-divisible
pooled shapes, pad-vs-kernel failures, and incorrect output shapes.

Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>


  Commit: c12ce4215408ddf83c338a4797b05dd0084b8d06
      https://github.com/llvm/llvm-project/commit/c12ce4215408ddf83c338a4797b05dd0084b8d06
  Author: Łukasz Plewa <lukasz.plewa at intel.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M offload/liboffload/API/Device.td
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/plugins-nextgen/host/src/rtl.cpp
    M offload/plugins-nextgen/level_zero/dynamic_l0/L0DynWrapper.cpp
    M offload/plugins-nextgen/level_zero/dynamic_l0/level_zero/ze_api.h
    M offload/plugins-nextgen/level_zero/include/L0Device.h
    M offload/plugins-nextgen/level_zero/src/L0Device.cpp
    M offload/tools/deviceinfo/llvm-offload-device-info.cpp
    M offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp

  Log Message:
  -----------
  [offload] Add floating-point support detection queries (#193233)

Add device info queries to detect support for half-, single-, and
double-precision floating-point formats.

For the AMDGPU, CUDA, and Host plugins, add the new queries alongside
the existing capability reporting without changing current behavior.

For the Level Zero plugin, implement floating-point support detection
and capability querying.


  Commit: bd7cd403dbb3c6698c9edddc288e58c16aa88a36
      https://github.com/llvm/llvm-project/commit/bd7cd403dbb3c6698c9edddc288e58c16aa88a36
  Author: Amina Chabane <amina.chabane at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M bolt/lib/Passes/CMOVConversion.cpp
    M bolt/test/AArch64/unsupported-passes.test

  Log Message:
  -----------
  [BOLT][AArch64] Refuse to run CMOVConversion pass (#193998)

`--cmov-conversion` is unsupported in AArch64 as
convertMoveToConditionalMove() is only overriden for X86.

- Add a guard for non-X86
- Update unsupported-passes.test with expected error


  Commit: 27ebc844f542c93991675a22dcd813020963819f
      https://github.com/llvm/llvm-project/commit/27ebc844f542c93991675a22dcd813020963819f
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/test/DebugInfo/Generic/codeview-buildinfo.c

  Log Message:
  -----------
  [clang][CodeView] Prevent the input name from appearing in LF_BUILDINFO (#194140)

The implicit contract of an `LF_BUILDINFO` record (represented in LLVM
by
[`BuildInfoRecord`](https://github.com/llvm/llvm-project/blob/6f0b55ec55f3e5e1ccc0d6b0d04a307479218768/llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h#L667))
is that its `CommandLine` field should not contain the input source file
— a separate `SourceFile` field is reserved for that.

When the command-line flattening was moved from `llvm/` to `clang/` in
#106369, the comparison value used to identify and strip the source
positional was switched from `MainSourceFile->getFilename()` (the full
input path resolved by clang) to `CodeGenOpts.MainFileName` (just the
basename, set via `-main-file-name`). As a result, when the driver is
invoked with an absolute source path the cc1 positional is that absolute
path and no longer matches `MainFileName`, so the source filename leaks
into `CommandLine` as a trailing positional cc1 argument.

This is a regression in Clang 20. It breaks downstream tooling such as
Live++, whose unity-splitting feature relies on the embedded command
line being the cc1 invocation minus the source. Reported in #193900.

This PR restores the previous behavior by passing the resolved frontend
input path(s) to `flattenClangCommandLine` and including them in the
equality check that strips the source positional. The basename match
against `MainFileName` is kept for the relative-input case. A regression
test (and a symmetric relative-path test) is added to
`clang/test/DebugInfo/Generic/codeview-buildinfo.c`.

Should fix #193900.


  Commit: f60c5d989cf13e80acc576f638c2e7dd400a0aff
      https://github.com/llvm/llvm-project/commit/f60c5d989cf13e80acc576f638c2e7dd400a0aff
  Author: Łukasz Plewa <lukasz.plewa at intel.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

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

  Log Message:
  -----------
  [offload] fix compilation issue caused by #193233 (#194350)


  Commit: a51597f35f91ed5c25a391d5e965bfb6fe9a5ae2
      https://github.com/llvm/llvm-project/commit/a51597f35f91ed5c25a391d5e965bfb6fe9a5ae2
  Author: Nathan Gauër <brioche at google.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
    A clang/test/CodeGenHLSL/ArrayAssignable.logicalptr.hlsl
    A clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.hlsl
    A clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.logical.hlsl

  Log Message:
  -----------
  [HLSL] Handle logical pointer for array assign (#193227)

This commits adds SPIR-V testing on an existing test (almost-NFC on DXIL
testing). It also copies it and invokes Clang using the experimental
logical pointer flag.
Adding this flag shows a missing case in the frontend, handled with this
commit.

Due to the difference in index handling between the structured.gep and
legacy one, the Cbuffer load codegen had to be rewritten. It's a bit
more naive, as we get one gep per level, but this will be handled by
optimizations later on.


  Commit: aafba1dbdbee3ddeffca595c1d7550eb766c5178
      https://github.com/llvm/llvm-project/commit/aafba1dbdbee3ddeffca595c1d7550eb766c5178
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-target-generic-spmd.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Remove Generic-SPMD early detection (#150922)

This patch removes logic from MLIR to attempt identifying Generic
kernels that could be executed in SPMD mode.

This optimization is done by the OpenMPOpt pass for Clang and is only
required here to circumvent missing support for the new DeviceRTL APIs
used in MLIR to LLVM IR translation that Clang doesn't currently use
(e.g. `kmpc_distribute_static_loop` ). Removing checks in MLIR avoids
duplicating the logic that should be centralized in the OpenMPOpt pass.

Additionally, offloading kernels currently compiled through the OpenMP
dialect fail to run parallel regions properly when in Generic mode. By
disabling early detection, this issue becomes apparent for a range of
kernels where this was masked by having them run in SPMD mode.


  Commit: 7b62dd1aeec5bcc7c4b8a8344966750b7d95250e
      https://github.com/llvm/llvm-project/commit/7b62dd1aeec5bcc7c4b8a8344966750b7d95250e
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

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

  Log Message:
  -----------
  [OpenMP][OMPIRBuilder] Add device shared memory allocation support (#150923)

This patch adds the `__kmpc_alloc_shared` and `__kmpc_free_shared`
DeviceRTL functions to the list of those the OMPIRBuilder is able to
create.


  Commit: 3c39478e8b0b6d0e91a70c5887ea27ac90c2ed8c
      https://github.com/llvm/llvm-project/commit/3c39478e8b0b6d0e91a70c5887ea27ac90c2ed8c
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/omptarget-device-shared-memory.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Support allocations of device shared memory (#150924)

This patch updates the allocation of some reduction and private
variables within target regions to use device shared memory rather than
private memory. This is a prerequisite to produce working Generic
kernels containing parallel regions.

In particular, the following situations result in the usage of device
shared memory (only when compiling for the target device if they are
placed inside of a target region representing a Generic kernel):
- Reduction variables on `teams` constructs.
- Private variables on `teams` and `distribute` constructs that are
reduced or used inside of a `parallel` region.

Currently, there is no support for delayed privatization on `teams`
constructs, so private variables on these constructs won't currently be
affected. When support is added, if it uses the existing
`allocatePrivateVars` and `cleanupPrivateVars` functions, usage of
device shared memory will be introduced automatically.


  Commit: 82f254992bbb822639cbe14d55df3bf5de65fa6a
      https://github.com/llvm/llvm-project/commit/82f254992bbb822639cbe14d55df3bf5de65fa6a
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
    M llvm/lib/Transforms/IPO/IROutliner.cpp
    M llvm/lib/Transforms/IPO/PartialInlining.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir

  Log Message:
  -----------
  [OpenMP][OMPIRBuilder] Use device shared memory for arg structures (#150925)

Argument structures are created when sections of the LLVM IR
corresponding to an OpenMP construct are outlined into their own
function. For this, stack allocations are used.

This patch modifies this behavior when compiling for a target device and
outlining `parallel`-related IR, so that it uses device shared memory
instead of private stack space. This is needed in order for threads to
have access to these arguments.


  Commit: d463a276fcd68b3f0a070e69600fbfcb3aa2fa6e
      https://github.com/llvm/llvm-project/commit/d463a276fcd68b3f0a070e69600fbfcb3aa2fa6e
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir

  Log Message:
  -----------
  [OpenMP][OMPIRBuilder] Support parallel in Generic kernels (#150926)

This patch introduces codegen logic to produce a wrapper function
argument for the `__kmpc_parallel_51` DeviceRTL function needed to
handle arguments passed using device shared memory in Generic mode.


  Commit: 333f636c9af90fd77bc6669a74f8bd9e2832640b
      https://github.com/llvm/llvm-project/commit/333f636c9af90fd77bc6669a74f8bd9e2832640b
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    A offload/test/offloading/fortran/target-generic-loops.f90
    A offload/test/offloading/fortran/target-spmd-loops.f90

  Log Message:
  -----------
  [OpenMPOpt] Make parallel regions reachable from new DeviceRTL loop functions (#150927)

This patch updates the OpenMP optimization pass to know about the new
DeviceRTL functions for loop constructs.

This change marks these functions as potentially containing parallel
regions, which fixes a current bug with the state machine rewrite
optimization. It previously failed to identify parallel regions located
inside of the callbacks passed to these new DeviceRTL functions, causing
the resulting code to skip executing these parallel regions.

As a result, Generic kernels produced by Flang that contain parallel
regions now work properly.

One known related issue not fixed by this patch is that the presence of
calls to these functions will prevent the SPMD-ization of Generic
kernels by OpenMPOpt. Previously, this was due to assuming there was no
parallel region. This is changed by this patch, but instead we now mark
it temporarily as unsupported in an SPMD context. The reason is that,
without additional changes, code intended for the main thread of the
team located outside of the parallel region would not be guarded
properly, resulting in race conditions and generally invalid behavior.


  Commit: b5c755144d665750e5c60849c6612848bf2905d6
      https://github.com/llvm/llvm-project/commit/b5c755144d665750e5c60849c6612848bf2905d6
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
    M llvm/lib/Transforms/IPO/IROutliner.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/IPO/PartialInlining.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-wsloop.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-target-private-allocatable.mlir

  Log Message:
  -----------
  [OMPIRBuilder] Add support for explicit deallocation points (#154752)

In this patch, some OMPIRBuilder codegen functions and callbacks are
updated to work with arrays of deallocation insertion points. The
purpose of this is to enable the replacement of `alloca`s with other
types of allocations that require explicit deallocations in a way that
makes it possible for `CodeExtractor` instances created during
OMPIRBuilder finalization to also use them.

The OpenMP to LLVM IR MLIR translation pass is updated to properly store
and forward deallocation points together with their matching allocation
point to the OMPIRBuilder.

Currently, only the `DeviceSharedMemCodeExtractor` uses this feature to
get the `CodeExtractor` to use device shared memory for intermediate
allocations when outlining a parallel region inside of a Generic kernel
(code path that is only used by Flang via MLIR, currently). However,
long term this might also be useful to refactor finalization of
variables with destructors, potentially reducing the use of callbacks
and simplifying privatization and reductions.

Instead of a single deallocation point, lists of those are used. This is
to cover cases where there are multiple exit blocks originating from a
single entry. If an allocation needing explicit deallocation is placed
in the entry block of such cases, it would need to be deallocated before
each of the exits.


  Commit: f6012dd7884822a0428384f1e0a90e61e7380b1f
      https://github.com/llvm/llvm-project/commit/f6012dd7884822a0428384f1e0a90e61e7380b1f
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    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] Refactor omp.target_allocmem to allow reuse, NFC (#161861)

This patch moves tablegen definitions that could be used for all kinds
of heap allocations out of `omp.target_allocmem` and into a new
`OpenMP_HeapAllocClause` that can be reused.

Descriptions are updated to follow the format of most other operations
and the custom verifier for `omp.target_allocmem` is removed as it only
made a redundant check on its result type.


  Commit: 568e1ad61abe03da5a8b2d573067895bbdb380e9
      https://github.com/llvm/llvm-project/commit/568e1ad61abe03da5a8b2d573067895bbdb380e9
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Target/LLVMIR/omptarget-device-shared-mem.mlir

  Log Message:
  -----------
  [Flang][MLIR][OpenMP] Add explicit shared memory (de-)allocation ops (#161862)

This patch introduces the `omp.alloc_shared_mem` and
`omp.free_shared_mem` operations to represent explicit allocations and
deallocations of shared memory across threads in a team, mirroring the
existing `omp.target_allocmem` and `omp.target_freemem`.

The `omp.alloc_shared_mem` op goes through the same Flang-specific
transformations as `omp.target_allocmem`, so that the size of the buffer
can be properly calculated when translating to LLVM IR.

The corresponding runtime functions produced for these new operations
are `__kmpc_alloc_shared` and `__kmpc_free_shared`, which previously
could only be created for implicit allocations (e.g. privatized and
reduction variables).


  Commit: d6061d297d3c4f462a84bd77f182d191d982ac5d
      https://github.com/llvm/llvm-project/commit/d6061d297d3c4f462a84bd77f182d191d982ac5d
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/test/Fir/basic-program.fir
    M mlir/docs/Passes.md
    M mlir/include/mlir/Dialect/OpenMP/Transforms/Passes.h
    M mlir/include/mlir/Dialect/OpenMP/Transforms/Passes.td
    M mlir/lib/Dialect/OpenMP/CMakeLists.txt
    A mlir/lib/Dialect/OpenMP/IR/CMakeLists.txt
    M mlir/lib/Dialect/OpenMP/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/OpenMP/Transforms/StackToShared.cpp
    A mlir/test/Dialect/OpenMP/stack-to-shared.mlir

  Log Message:
  -----------
  [Flang][OpenMP] Add pass to replace allocas with device shared memory (#161863)

This patch introduces a new Flang OpenMP MLIR pass, only ran for target
device modules, that identifies `fir.alloca` operations that should use
device shared memory and replaces them with pairs of
`omp.alloc_shared_mem` and `omp.free_shared_mem` operations.

This works in conjunction to the MLIR to LLVM IR translation pass'
handling of privatization, mapping and reductions in the OpenMP dialect
to properly select the right memory space for allocations based on where
they are made and where they are used.

This pass, in particular, handles explicit stack allocations in MLIR,
whereas the aforementioned translation pass takes care of implicit ones
represented by entry block arguments.


  Commit: fad06a418b4f89510a390c215218f1ab8de0ecad
      https://github.com/llvm/llvm-project/commit/fad06a418b4f89510a390c215218f1ab8de0ecad
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M flang/test/Integration/OpenMP/target-use-device-nested.f90
    M flang/test/Integration/OpenMP/threadprivate-target-device.f90
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
    A mlir/test/Target/LLVMIR/openmp-target-private-shared-mem.mlir
    A offload/test/offloading/fortran/target-generic-outlined-loops.f90

  Log Message:
  -----------
  [MLIR][OpenMP][OMPIRBuilder] Improve shared memory checks (#161864)

This patch refines checks to decide whether to use device shared memory
or regular stack allocations. In particular, it adds support for
parallel regions residing on standalone target device functions.

The changes are:
- Shared memory is introduced for `omp.target` implicit allocations,
such as those related to privatization and mapping, as long as they are
shared across threads in a nested parallel region.
- Standalone target device functions are interpreted as being part of a
Generic kernel, since the fact that they are present in the module after
filtering means they must be reachable from a target region.
- Prevent allocations whose only shared uses inside of an `omp.parallel`
region are as part of a `private` clause from being moved to device
shared memory.


  Commit: c94db1af36c2f66d71cd0c492068937eee641e56
      https://github.com/llvm/llvm-project/commit/c94db1af36c2f66d71cd0c492068937eee641e56
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    A mlir/include/mlir/Dialect/OpenMP/Utils/Utils.h
    M mlir/lib/Dialect/OpenMP/CMakeLists.txt
    M mlir/lib/Dialect/OpenMP/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/OpenMP/Transforms/StackToShared.cpp
    A mlir/lib/Dialect/OpenMP/Utils/CMakeLists.txt
    A mlir/lib/Dialect/OpenMP/Utils/Utils.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [MLIR][OpenMP] Unify device shared memory logic, NFCI (#182856)

This patch creates a utils library for the OpenMP dialect with functions
used by MLIR to LLVM IR translation as well as the stack-to-shared pass
to determine which allocations must use local stack memory or device
shared memory.


  Commit: cf30e4b5c2d55e217ade2483c4672f2488da48df
      https://github.com/llvm/llvm-project/commit/cf30e4b5c2d55e217ade2483c4672f2488da48df
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    A llvm/test/CodeGen/AArch64/aarch64-no-mov-spill-chain.ll
    M llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll

  Log Message:
  -----------
  [AArch64] Enable Spillage Copy Elimination by default (#186093)

In times of high register pressure, the greedy register allocator can
emit large eviction chains that consist of many `mov` instructions. The
Spillage Copy Elimination pass handles this, by finding these chains and
decreasing their impact. Take a mov chain such as the following where
`x8` is used for an 8-byte Folded Reload:
```
mov x7, x6
mov x6, x5
mov x5, x4
mov x4, x3
mov x3, x2
mov x2, x1
mov x1, x30
mov x30, x8
< use x8 >
mov x8, x30
mov x30, x1
mov x1, x2
mov x2, x3
mov x3, x4
mov x4, x5
mov x5, x6
mov x6, x7
```
Becomes:
```
mov x7, x6
mov x6, x8
< use x8 >
mov x8, x6
mov x6, x7
```

This provides performance benefits for long mov chains, where we are no
longer needing to copy these values between registers.

This does introduce compile time regressions, as was originally noted in
the initial review. From my testing, this was around 0.17% on average
using LLVM Test Suite.

Further information:
Original Review: https://reviews.llvm.org/D122118
Compile Time Regression information from original review:
http://llvm-compile-time-tracker.com/compare.php?from=781eabeb40b8e47e3a46b0b927784e63f0aad9ab&to=0af2744a89bf0ed05e83ac1ed9d21d6d74cdfeca&stat=instructions%3Au

Assisted-by: codex (Generation of new test)


  Commit: 889708eed861b4218fda5a085b47f37b6b73b739
      https://github.com/llvm/llvm-project/commit/889708eed861b4218fda5a085b47f37b6b73b739
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    A clang/lib/CIR/CodeGen/CIRGenOpenMPRuntime.cpp
    A clang/lib/CIR/CodeGen/CIRGenOpenMPRuntime.h
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    A clang/test/CIR/CodeGenOpenMP/emit-device-functions.cpp

  Log Message:
  -----------
  [CIR][OpenMP] Enable emission of target functions (#193204)

This PR allows generation of target device functions for OpenMP. It also
handles filtering out host functions that do not contain target regions.

Assisted-by: Cursor / claude-4.6-opus-high


  Commit: 8116e869531490f28ecaa3bcaac1fe644b545e0e
      https://github.com/llvm/llvm-project/commit/8116e869531490f28ecaa3bcaac1fe644b545e0e
  Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/Utils.cpp
    A flang/test/Lower/OpenMP/tile-parallel-do.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix crash lowering parallel do with nested tile construct (#193955)

This fixes a crash in OpenMP lowering for cases like `!$omp parallel do
with nested !$omp tile sizes(...)` .
The loop-walk logic now correctly steps through intermediate OpenMP
transformation wrappers to find the actual do construct, instead of
assuming it is directly nested.

Fixes :
[https://github.com/llvm/llvm-project/issues/193256](https://github.com/llvm/llvm-project/issues/193256)
sample reproducer :
[https://godbolt.org/z/b7zecYEMT](https://godbolt.org/z/b7zecYEMT)

Co-authored-by: Chandra Ghale <ghale at pe34genoa.hpc.amslabs.hpecorp.net>


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

  Changed paths:
    M llvm/test/CodeGen/X86/vselect-avx.ll

  Log Message:
  -----------
  [X86] vselect-avx.ll - regenerate asm comments (#194353)


  Commit: 902814afe11799e2b90a9879658e1356b3ff6aff
      https://github.com/llvm/llvm-project/commit/902814afe11799e2b90a9879658e1356b3ff6aff
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
    M lldb/test/API/lang/objc/modules-auto-import/main.m

  Log Message:
  -----------
  [lldb][test] Modernize TestModulesAutoImport (#194357)

This replaces all the custom test setup logic with the newer test
utilities. Not technically NFC as the newer checks are more strict.


  Commit: 6ac432bdc8122a945e69b39d7a0368b3947b769d
      https://github.com/llvm/llvm-project/commit/6ac432bdc8122a945e69b39d7a0368b3947b769d
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  [llvm][.gitignore] Ignore .agents directory (#194236)

The `.agents` directory is a common convention for storing coding agent
related stuff like rules and skills, recognized by major coding agents
like Claude Code, Codex, GitHub Copilot, OpenCode, etc. Ignore this
directory to avoid accidentally commiting these coding agent related
content to the repo.


  Commit: ba3d7a59016b0ecae7eb5249bbcf289e3e189c55
      https://github.com/llvm/llvm-project/commit/ba3d7a59016b0ecae7eb5249bbcf289e3e189c55
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/test/CodeGen/X86/gc-empty-basic-blocks.ll
    R llvm/test/CodeGen/X86/gc-empty-basic-blocks.mir

  Log Message:
  -----------
  [NewPM] Wire up gc-empty-basic-blocks into pipeline (#194179)

Same setup as the old pipeline and resolves a testing TODO now that we
have a full pipeline for x86.


  Commit: d48c8411dfe6a611a7b8b2b3e53b2da85270a82e
      https://github.com/llvm/llvm-project/commit/d48c8411dfe6a611a7b8b2b3e53b2da85270a82e
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes c94db1a (#194359)

This fixes c94db1af36c2f66d71cd0c492068937eee641e56.

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>


  Commit: e028d938d542d00f0fe90f50d561868cc7c68fde
      https://github.com/llvm/llvm-project/commit/e028d938d542d00f0fe90f50d561868cc7c68fde
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    A llvm/test/CodeGen/AMDGPU/madmk-madak-encoding-size.ll

  Log Message:
  -----------
  AMDGPU: Fix instruction size for madmk/madak (#194361)

This caused the revert of #191461


  Commit: 9b2411da20d78653fdc93972e26700aef2f7dfe9
      https://github.com/llvm/llvm-project/commit/9b2411da20d78653fdc93972e26700aef2f7dfe9
  Author: Andrey Grabezhnoy <andrey.grabezhnoy at intel.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/and-xor-or.ll
    M llvm/test/Transforms/InstCombine/binop-and-shifts.ll

  Log Message:
  -----------
  [InstCombine] Require one-use intermediate binop in foldBinOpShiftWithShift (#194341)

foldBinOpShiftWithShift rewrites
  binop(shift(X,C) op Mask, shift(Y,C))
to
  binop(shift(X+Y,C), Mask).

Both shifts are matched with m_OneUse, but the enclosing binop that
wraps (shift(X,C), Mask) is not. When that binop has additional users
the rewrite cannot eliminate the originals and only adds new
instructions. The reproducer in the issue shows this: a shared base
with several downstream consumers gets duplicated on each one, so the
fold grows the IR instead of shrinking it.

Wrap the outer m_c_BinOp in m_OneUse so the fold only fires when the
binop can actually be replaced. Mirrors the one-use discipline already
applied to both shifts in the same matcher.

Fixes #194007.


  Commit: 5f0f269d5f835a07d74a2428e7e372c60b4c048f
      https://github.com/llvm/llvm-project/commit/5f0f269d5f835a07d74a2428e7e372c60b4c048f
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/ElideReinterpretCast.cpp

  Log Message:
  -----------
  [MemRef] Fix -Wunused-function (#194366)

areIndicesInBounds is only used within an assert statement, so mark it
[[maybe_unused]] so that the compiler does not otherwise warn in
non-assertion builds.


  Commit: 8242576869985db73d44ac537208744dceb93503
      https://github.com/llvm/llvm-project/commit/8242576869985db73d44ac537208744dceb93503
  Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/test/SemaCXX/lambda-unevaluated.cpp

  Log Message:
  -----------
  [Clang] prevent crash in delayed default-argument lambda captures (#176749)

Fixes #176534

---

This patch resolves a crash when parsing delayed default arguments that
contain lambda expressions.

```cpp
struct S {
  void f(int x, int = sizeof([x] { return x; }()));
};
```

When late-parsing default arguments that contain lambdas, `Sema` builds
a `FunctionScopes` stack containing only the lambda scope
(`FunctionScopes.size()` equals 1), however, `tryCaptureVariable`
expects an enclosing function scope outside the lambda scope


https://github.com/llvm/llvm-project/blob/41e231cae38028473dd327e8de5f65792b521ffe/clang/lib/Sema/SemaExpr.cpp#L19473-L19474


https://github.com/llvm/llvm-project/blob/41e231cae38028473dd327e8de5f65792b521ffe/clang/lib/Sema/SemaExpr.cpp#L19518

Scope capture handling logic decrements `FunctionScopesIndex` to align
declaration contexts


https://github.com/llvm/llvm-project/blob/41e231cae38028473dd327e8de5f65792b521ffe/clang/lib/Sema/SemaExpr.cpp#L19696

and later relies on it when traversing and accessing outer scopes


https://github.com/llvm/llvm-project/blob/41e231cae38028473dd327e8de5f65792b521ffe/clang/lib/Sema/SemaExpr.cpp#L19522-L19524

preserving the function scope in the late-parsing path prevents invalid
traversal during lambda capture handling


  Commit: 06ddfcf0ca9cdb1481fff3cff6f73d5c26d45ffe
      https://github.com/llvm/llvm-project/commit/06ddfcf0ca9cdb1481fff3cff6f73d5c26d45ffe
  Author: Alex Rønne Petersen <alex at alexrp.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M libunwind/src/AddressSpace.hpp
    M libunwind/src/DwarfParser.hpp

  Log Message:
  -----------
  [libunwind] fix build errors on x32 and mips n32 (#194310)


  Commit: cc2b2f548622805a883201bfd7732d863636ecac
      https://github.com/llvm/llvm-project/commit/cc2b2f548622805a883201bfd7732d863636ecac
  Author: Petter Berntsson <petter.berntsson at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    A libc/utils/docgen/sys/sem.yaml

  Log Message:
  -----------
  [libc][docs] Add sys/sem.h POSIX header documentation (#122006) (#194358)

Add sys/sem.h implementation-status docs to llvm-libc.


  Commit: 4f50fe9298c9587aabf3698a1c79ff83d54fc702
      https://github.com/llvm/llvm-project/commit/4f50fe9298c9587aabf3698a1c79ff83d54fc702
  Author: Joe Nash <joseph.nash at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOPDInstructions.td
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopd_unused_operands.txt

  Log Message:
  -----------
  [AMDGPU][MC] Permit unneeded VOPD mov operands to be non-zero (#194060)

Use ? instead of 0 in the tablegen definitions for VOPD containing
v_mov. This enables the instruction to be disassembled regardless of
what bits are in those fields, which helps diagnose broken code.
Previously, the disassembler would reject these.


  Commit: 40a303d94644891829fd5b399a24c59b788a917e
      https://github.com/llvm/llvm-project/commit/40a303d94644891829fd5b399a24c59b788a917e
  Author: Fushj <fsjzzu at 126.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
    A llvm/test/ExecutionEngine/Interpreter/test-interp-variable-arguments.ll

  Log Message:
  -----------
  [llvm][lli] fix lli crash when run variable arguments function as a interpret (#173719)

Run `lli` comand with the flag `-force-interpreter=true` to execute LLVM
bitcode, if `lli` run `variable arguments` function in the bitcode, it
will crash.

Fix #173718


  Commit: 0193af47d2b78a58d5019bb1db35be8877975b41
      https://github.com/llvm/llvm-project/commit/0193af47d2b78a58d5019bb1db35be8877975b41
  Author: Kevin Sala Penades <salapenades1 at llnl.gov>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/plugins-nextgen/level_zero/src/L0Device.cpp

  Log Message:
  -----------
  [offload] Fix use of AsyncInfoWrapper's finalize function (#194098)

The expected use is to forward the error from the asynchronous
operation's issuing (e.g., launchImpl) directly into the
AsyncInfoWrapper::finalize(). The check of the error is already
performed inside that function. No need to forward a dummy success error
code.


  Commit: 74734782b42b640db1c6995e2d88388a5435fbfe
      https://github.com/llvm/llvm-project/commit/74734782b42b640db1c6995e2d88388a5435fbfe
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

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

  Log Message:
  -----------
  [Clang][HLSL] Fix -Wunused-variable (#194374)

Inline the variable definition into the assert given it is side effect
free and the variable name does not make the code much more clear.


  Commit: c6de992abfd3ad76345f013b0f4dd5dfef3f0bc5
      https://github.com/llvm/llvm-project/commit/c6de992abfd3ad76345f013b0f4dd5dfef3f0bc5
  Author: Amilendra Kodithuwakku <amilendra.kodithuwakku at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_addqp.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_addsubp.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_subp.c
    A clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p3_OR_sme2p3_RP___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    A llvm/test/CodeGen/AArch64/sve2p3-intrinsics/sve2p3-intrinsics-addqp.ll
    A llvm/test/CodeGen/AArch64/sve2p3-intrinsics/sve2p3-intrinsics-addsubp.ll
    A llvm/test/CodeGen/AArch64/sve2p3-intrinsics/sve2p3-intrinsics-subp.ll

  Log Message:
  -----------
  [Clang][AArch64][SVE2p3][SME2p3] Add intrinsics for v9.7a add/add-and-subtract/subtract pairwise operations (#187527)

Add the following new clang intrinsics based on the ACLE specification
https://github.com/ARM-software/acle/pull/428 (Add alpha support for 9.7
data processing intrinsics)

- ADDQP (Add pairwise within quadword vector segments)
- svint8_t svaddqp_s8(svint8_t, svint8_t) / svint8_t svaddqp(svint8_t,
svint8_t)
- svuint8_t svaddqp_u8(svuint8_t, svuint8_t) / svuint8_t
svaddqp(svuint8_t, svuint8_t)
- svint16_t svaddqp_s16(svint16_t, svint16_t) / svint16_t
svaddqp(svint16_t, svint16_t)
- svuint16_t svaddqp_u16(svuint16_t, svuint16_t) / svuint16_t
svaddqp(svuint16_t, svuint16_t)
- svint32_t svaddqp_s32(svint32_t, svint32_t) / svint32_t
svaddqp(svint32_t, svint32_t)
- svuint32_t svaddqp_u32(svuint32_t, svuint32_t) / svuint32_t
svaddqp(svuint32_t, svuint32_t)
- svint64_t svaddqp_s64(svint64_t, svint64_t) / svint64_t
svaddqp(svint64_t, svint64_t)
- svuint64_t svaddqp_u64(svuint64_t, svuint64_t) / svuint64_t
svaddqp(svuint64_t, svuint64_t)

- ADDSUBP (Add and subtract pairwise)
- svint8_t svaddsubp_s8(svint8_t, svint8_t) / svint8_t
svaddsubp(svint8_t, svint8_t)
- svuint8_t svaddsubp_u8(svuint8_t, svuint8_t) / svuint8_t
svaddsubp(svuint8_t, svuint8_t)
- svint16_t svaddsubp_s16(svint16_t, svint16_t) / svint16_t
svaddsubp(svint16_t, svint16_t)
- svuint16_t svaddsubp_u16(svuint16_t, svuint16_t) / svuint16_t
svaddsubp(svuint16_t, svuint16_t)
- svint32_t svaddsubp_s32(svint32_t, svint32_t) / svint32_t
svaddsubp(svint32_t, svint32_t)
- svuint32_t svaddsubp_u32(svuint32_t, svuint32_t) / svuint32_t
svaddsubp(svuint32_t, svuint32_t)
- svint64_t svaddsubp_s64(svint64_t, svint64_t) / svint64_t
svaddsubp(svint64_t, svint64_t)
- svuint64_t svaddsubp_u64(svuint64_t, svuint64_t) / svuint64_t
svaddsubp(svuint64_t, svuint64_t)

- SUBP (Subtract pairwise)
- svint8_t svsubp_s8(svbool_t, svint8_t, svint8_t) / svint8_t
svsubp(svbool_t, svint8_t, svint8_t)
- svuint8_t svsubp_u8(svbool_t, svuint8_t, svuint8_t) / svuint8_t
svsubp(svbool_t, svuint8_t, svuint8_t)
- svint16_t svsubp_s16(svbool_t, svint16_t, svint16_t) / svint16_t
svsubp(svbool_t, svint16_t, svint16_t)
- svuint16_t svsubp_u16(svbool_t, svuint16_t, svuint16_t) / svuint16_t
svsubp(svbool_t, svuint16_t, svuint16_t)
- svint32_t svsubp_s32(svbool_t, svint32_t, svint32_t) / svint32_t
svsubp(svbool_t, svint32_t, svint32_t)
- svuint32_t svsubp_u32(svbool_t, svuint32_t, svuint32_t) / svuint32_t
svsubp(svbool_t, svuint32_t, svuint32_t)
- svint64_t svsubp_s64(svbool_t, svint64_t, svint64_t) / svint64_t
svsubp(svbool_t, svint64_t, svint64_t)
- svuint64_t svsubp_u64(svbool_t, svuint64_t, svuint64_t) / svuint64_t
svsubp(svbool_t, svuint64_t, svuint64_t)


  Commit: 4e6d3722fca73c97367720180a8d547057fda380
      https://github.com/llvm/llvm-project/commit/4e6d3722fca73c97367720180a8d547057fda380
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp

  Log Message:
  -----------
  [LiveDebugValues] Use std::sort for register sorting in collectIDsForRegs (#194339)

VarLocBasedLDV::collectIDsForRegs sorts a SmallVector<Register> using
array_pod_sort which is a thin wrapper around qsort. That shows up as a hotspot
in compile-time profiles under __GI___qsort_r.

Switching this to an explicit-comparator llvm::sort call, which takes the
std::sort path instead improves compile-time with no change to code-size.

CTMark geomean:
- stage1-O0-g: -0.41%
- stage1-aarch64-O0-g: -0.58%
- stage2-O0-g: -0.40%

http://llvm-compile-time-tracker.com/compare.php?from=347aa3f6fbcc48cd752d02aa581b74c33d18dd41&to=cca8df56a576682510733c4c1b6fc12556e2dd7c&stat=instructions%3Au


  Commit: 0a58d0ceb530a9caffd7126fe9c4bb98a79de1ac
      https://github.com/llvm/llvm-project/commit/0a58d0ceb530a9caffd7126fe9c4bb98a79de1ac
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/test/AST/ByteCode/cxx17.cpp
    M clang/test/SemaCXX/cxx17-compat.cpp

  Log Message:
  -----------
  [SystemZ] z/OS only accept C initialization (#194023)

The TLS support only accept compile constant expressions (both C and
C++) on z/OS. Add #if to skip these tests on z/OS.


  Commit: 97dc0fcbceea0871ab86ecf6d534be42b42bc7d3
      https://github.com/llvm/llvm-project/commit/97dc0fcbceea0871ab86ecf6d534be42b42bc7d3
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    A llvm/test/Transforms/OpenMP/spirv_ctor.ll

  Log Message:
  -----------
  [Attributor] Support SPIR-V address spaces (#192725)

Right now Attributor assumes that if the the target is a GPU is can use
a single set of address space numerical values to determine the local
address space, but that's not true in general, so add SPIR-V support,
which uses different values.

This fixes an instruction incorrectly being marked as dead and optimized
out for an OpenMP SPIR-V offloading example.

---------

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>


  Commit: 555140f8bfd296948198ac8bd2f07692c132ded6
      https://github.com/llvm/llvm-project/commit/555140f8bfd296948198ac8bd2f07692c132ded6
  Author: sujianIBM <98488060+sujianIBM at users.noreply.github.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/utils/lit/tests/shtest-ulimit-nondarwin.py

  Log Message:
  -----------
  [z/OS] Mark shtest-ulimit-nondarwin.py unsupported on zos. (#194016)

This PR marks llvm/utils/lit/tests/shtest-ulimit-nondarwin.py
unsupported on z/OS.


  Commit: dd383b46106587f85cd4f82a4f67d05ea9ae37bd
      https://github.com/llvm/llvm-project/commit/dd383b46106587f85cd4f82a4f67d05ea9ae37bd
  Author: sujianIBM <98488060+sujianIBM at users.noreply.github.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/utils/lit/lit/TestingConfig.py

  Log Message:
  -----------
  [z/OS] Add passing env vars in lit on z/OS. (#194017)

This PR adds passing environment variables in lit/TestingConfig.py on
z/OS.


  Commit: 314c655470b03a8112b2a0107c99a61076852cca
      https://github.com/llvm/llvm-project/commit/314c655470b03a8112b2a0107c99a61076852cca
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    A lldb/test/API/functionalities/multi-breakpoint/Makefile
    A lldb/test/API/functionalities/multi-breakpoint/TestMultiBreakpoint.py
    A lldb/test/API/functionalities/multi-breakpoint/main.c
    M lldb/tools/debugserver/source/JSON.h
    M lldb/tools/debugserver/source/RNBRemote.cpp
    M lldb/tools/debugserver/source/RNBRemote.h

  Log Message:
  -----------
  [debugserver] Implement MultiBreakpoint (#192914)

This implements the packet as described in
https://github.com/llvm/llvm-project/pull/192910

The following PRs are related to the MultiBreakpoint feature:

* https://github.com/llvm/llvm-project/pull/192910
* https://github.com/llvm/llvm-project/pull/192914
* https://github.com/llvm/llvm-project/pull/192915
* https://github.com/llvm/llvm-project/pull/192919
* https://github.com/llvm/llvm-project/pull/192962
* https://github.com/llvm/llvm-project/pull/192964
* https://github.com/llvm/llvm-project/pull/192971
* https://github.com/llvm/llvm-project/pull/192988


  Commit: 8e0011a2c686c371cf21fa05ff2ae955017e6e1d
      https://github.com/llvm/llvm-project/commit/8e0011a2c686c371cf21fa05ff2ae955017e6e1d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/test/Transforms/FunctionAttrs/nosync.ll

  Log Message:
  -----------
  [FunctionAttrs] Remove declaration check lines (NFC) (#194384)

These are annoying, because they get dropped by UTC. We're not
inferring attributes on declarations anyway.


  Commit: a94c11640bf228d68cb68be927ad2f8eccc16145
      https://github.com/llvm/llvm-project/commit/a94c11640bf228d68cb68be927ad2f8eccc16145
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/test/Transforms/GlobalOpt/ctor-memset.ll
    M llvm/test/Transforms/GlobalOpt/pr54572.ll

  Log Message:
  -----------
  [GlobalOpt] Regenerate test checks (NFC) (#194385)


  Commit: 5ee1495ab6529ba2ae8d4af98d5c42ab96d3441d
      https://github.com/llvm/llvm-project/commit/5ee1495ab6529ba2ae8d4af98d5c42ab96d3441d
  Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/test/Parser/static_assert.cpp

  Log Message:
  -----------
  [Clang] fix parser recovery for invalid static_assert string messages (#187859)

Fixes #187690

--- 

This PR fixes parser recovery for invalid `static_assert` declarations
with string literal messages. The parser now stops the message lookahead
on `;` and `eof`, so invalid inputs are diagnosed as parse errors.


  Commit: 78eccec0db8a7739151c6de12de0e130c820e20d
      https://github.com/llvm/llvm-project/commit/78eccec0db8a7739151c6de12de0e130c820e20d
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/nvvm-transcendentals.mlir
    M mlir/test/Target/LLVMIR/nvvm/transcendentals.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Add `nvvm.log2` OP (#193789)

Implement `nvvm.log2` with ftz flag


  Commit: bc7e916974e9f2b17d4575db07d5a1adce98d120
      https://github.com/llvm/llvm-project/commit/bc7e916974e9f2b17d4575db07d5a1adce98d120
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    A llvm/test/CodeGen/AMDGPU/v_mac_f16-fpdp-rounding-mode.ll

  Log Message:
  -----------
  AMDGPU: Address fixme for v_mac_f16 rounding mode (#194360)

This should use the f16/f64 rounding mode


  Commit: c2ab7f2130bbd5fa8bb4a13e34454b91d4aa1d8f
      https://github.com/llvm/llvm-project/commit/c2ab7f2130bbd5fa8bb4a13e34454b91d4aa1d8f
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h

  Log Message:
  -----------
  [lldbremote][NFC] Factor out code handling breakpoint packets (#192915)

This commit extracts the code handling breakpoint packets into a helper
function that can be used by a future implementation of the
MultiBreakpointPacket.

It is meant to be purely NFC.

There are two functions handling breakpoint packets (`handle_Z` and
`handle_z`) with a lot of repeated code. This commit did not attempt to
merge the two, as that would make the diff much larger due to subtle
differences in the error message produced by the two. The only
deduplication done is in the code processing a GDBStoppointType, where a
helper struct (`BreakpointKind`) and function
(`std::optional<BreakpointKind> getBreakpointKind(GDBStoppointType
stoppoint_type)`) was created.

The following PRs are related to the MultiBreakpoint feature:

* https://github.com/llvm/llvm-project/pull/192910
* https://github.com/llvm/llvm-project/pull/192914
* https://github.com/llvm/llvm-project/pull/192915
* https://github.com/llvm/llvm-project/pull/192919
* https://github.com/llvm/llvm-project/pull/192962
* https://github.com/llvm/llvm-project/pull/192964
* https://github.com/llvm/llvm-project/pull/192971
* https://github.com/llvm/llvm-project/pull/192988


  Commit: 57754e0965361493bb47ddd9a332519318dc40ff
      https://github.com/llvm/llvm-project/commit/57754e0965361493bb47ddd9a332519318dc40ff
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/AArch64CodeGenUtils.h
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mmla-bf16.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mmla-f16.c
    A clang/test/CodeGen/AArch64/v9.7a-neon-mmla-intrinsics.c
    A clang/test/Sema/AArch64/arm_sve_non_streaming_only_sve_AND_sve-b16mm.c
    A clang/test/Sema/AArch64/arm_sve_non_streaming_only_sve_AND_sve2p2_AND_f16mm.c
    M clang/test/Sema/aarch64-neon-target.c
    M clang/test/Sema/aarch64-neon-without-target-feature.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    A llvm/test/CodeGen/AArch64/neon-matmul-f16.ll
    A llvm/test/CodeGen/AArch64/neon-matmul-f16f32mm.ll
    A llvm/test/CodeGen/AArch64/sve-intrinsics-matmul-bf16.ll
    A llvm/test/CodeGen/AArch64/sve-intrinsics-matmul-f16.ll

  Log Message:
  -----------
  [AArch64][clang][llvm] Add ACLE Armv9.7 matrix multiply-accumulate intrinsics (#193017)

Implement new ACLE matrix multiply-accumulate intrinsics for Armv9.7:

```c
  // 16-bit floating-point matrix multiply-accumulate.
  // Only if __ARM_FEATURE_SVE_B16MM
  // Variant also available for _f16 if (__ARM_FEATURE_SVE2p2 && __ARM_FEATURE_F16MM).
  svbfloat16_t svmmla[_bf16](svbfloat16_t zda, svbfloat16_t zn, svbfloat16_t zm);

  // Half-precision matrix multiply accumulating to single-precision instruction.
  // Requires the +f16f32mm architecture extension.
  float32x4_t vmmlaq_f32_f16(float32x4_t r, float16x8_t a, float16x8_t b);

  // Non-widening half-precision matrix multiply instruction.
  // Requires the +f16mm architecture extension.
  float16x8_t vmmlaq_f16_f16(float16x8_t r, float16x8_t a, float16x8_t b);
```


  Commit: 85935241b74f332a2d8c616510b7ef74ebe6a1ac
      https://github.com/llvm/llvm-project/commit/85935241b74f332a2d8c616510b7ef74ebe6a1ac
  Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Semantics/canonicalize-acc.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Lower/OpenACC/Todo/do-loops-to-acc-loops-todo.f90
    M flang/test/Semantics/OpenACC/acc-canonicalization-validity.f90
    M flang/test/Semantics/OpenACC/acc-loop.f90

  Log Message:
  -----------
  [flang][semantics][openacc] Allow collapse clauses on do concurrent (#192488)

This PR generalizes the semantic checking for collapse clauses to work
on `do concurrent` and fixes two bugs exposed along the way:
- The first was that `collapse (n)` where n < the number of nested loops
was giving an assertion violation.
- The second was do concurrent index variables were causing an assertion
violation because they hadn't been declared before looking them up.

The lowering is implemented as a TODO which will happen in a following
diff.


  Commit: 5e451509b6e26a06b86d665d852a15c7e0a4c8ea
      https://github.com/llvm/llvm-project/commit/5e451509b6e26a06b86d665d852a15c7e0a4c8ea
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M offload/test/offloading/ctor_dtor.cpp

  Log Message:
  -----------
  [offload][lit] Enable ctor_dtor.cpp on Intel GPUs (#194389)

It was fixed with https://github.com/llvm/llvm-project/pull/192725 and
https://github.com/llvm/llvm-project/pull/192730.

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>


  Commit: c183492e609b57b4181de6c3f15c897f78d13ace
      https://github.com/llvm/llvm-project/commit/c183492e609b57b4181de6c3f15c897f78d13ace
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestComments.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Recognize more braced initializers (#192299)

new

```C++
a = {x * x, x * x};
```

old

```C++
a = {x * x, x *x};
```

Fixes #57442.

The patch makes the program treat a brace following an equal sign a
braced initializer.

The patch changes these tests.

- In UnderstandsSingleLineComments and CommentsInStaticInitializers, the
  comment in the formatted code used to be on a separate line, now it is
  on the same line as the brace.  The new behavior is consistent with
  comment in braced lists that are correctly identified.  Here is the
  code for it from the test LayoutCxx11BraceInitializers and the
  function mustBreakBefore.

  ```C++
  // In braced lists, the first comment is always assumed to belong to the
  // first element. Thus, it can be moved to the next or previous line as
  // appropriate.
  verifyFormat("function({// First element:\n"
               "          1,\n"
               "          // Second element:\n"
               "          2});",
               "function({\n"
               "    // First element:\n"
               "    1,\n"
               "    // Second element:\n"
               "    2});");

  if (Right.is(tok::comment)) {
    return Left.isNoneOf(BK_BracedInit, TT_CtorInitializerColon) &&
           Right.NewlinesBefore > 0 && Right.HasUnescapedNewline;
  }
  ```

- In FormatsBracedListsInColumnLayout, the style is configured to one
  which allows a trailing comment in the first line.


  Commit: 6b81cdb4d99c23106df7232f45aad7b0eff4e43c
      https://github.com/llvm/llvm-project/commit/6b81cdb4d99c23106df7232f45aad7b0eff4e43c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/identity-reuses-with-poisons.ll

  Log Message:
  -----------
  [SLP]Fix crash in getReorderingData on all-poison reuse-mask slice

When the reuse-shuffle mask is iterated in Sz-sized parts and a part is
entirely PoisonMaskElem, `Val` stays at PoisonMaskElem (-1) and the
subsequent `UsedVals.test(Val)` trips the SmallBitVector OOB assertion.
Bail out of reordering in that case.

Fixes #194315

Reviewers: 

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


  Commit: b629f86f4f7b691fae18353a6ae3babe2ce9e9ec
      https://github.com/llvm/llvm-project/commit/b629f86f4f7b691fae18353a6ae3babe2ce9e9ec
  Author: LumioseSil <gfunni234 at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/test/CodeGen/ARM/vbits.ll
    M llvm/test/CodeGen/Thumb2/mve-vselect-constants.ll

  Log Message:
  -----------
  [ARM] hasAndNot in ARM supports vectors (#193614)

NEON and MVE have vector bic.


  Commit: 4974ae5be557ab12a19748f0deff0713dd34957e
      https://github.com/llvm/llvm-project/commit/4974ae5be557ab12a19748f0deff0713dd34957e
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp

  Log Message:
  -----------
  [lldb-server] Fix constexpr-if-else static assert (#194394)

Some old compilers complained about the `static_assert(false)` pattern.

Fixes https://lab.llvm.org/buildbot/#/builders/163/builds/39139


  Commit: ec59f15927cccd303a5d096856f8ddb07697404e
      https://github.com/llvm/llvm-project/commit/ec59f15927cccd303a5d096856f8ddb07697404e
  Author: Volodymyr Turanskyy <Volodymyr.Turanskyy at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/test/Driver/baremetal.cpp

  Log Message:
  -----------
  [clang][Driver][BareMetal] Add profile library to the command line when needed (#191847)

Now that libclang_rt.profile.a supports bare-metal targets, follow other
drivers and add libclang_rt.profile.a in the BareMetal driver to the
command line automatically when needed, e.g. when
-fprofile-instr-generate is provided.


  Commit: 77a360663d640d1426e6181c17f127d8877b014a
      https://github.com/llvm/llvm-project/commit/77a360663d640d1426e6181c17f127d8877b014a
  Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

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

  Log Message:
  -----------
  [CodeGen] Fix incorrect index in rematerialization tracking (#194387)

When deleting the last rematerialization of a register, we should delete
the rematerializer's remat tracking map's entry that corresponds to the
index of the *original* register, not the rematerialized register.

The existing typo has no impact on correctness at the moment because
entries with rematerialized register indices are never created (so there
is nothing to erase), and having an empty set in a value does not break
any code invariant; it just wastes memory.

Assisted-by: Claude Code


  Commit: bd47069d8120c3c855a0446ef13c786517ff5c91
      https://github.com/llvm/llvm-project/commit/bd47069d8120c3c855a0446ef13c786517ff5c91
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h

  Log Message:
  -----------
  Reapply "AMDGPU: Implement getInstSizeVerifyMode" (#194026) (#194362)

This reverts commit 72ca372fa7c9029d2b7a77c59a4cc24530e99e43.


  Commit: 6df5ced6c4a6878da98346c8ad69ab11d76b4280
      https://github.com/llvm/llvm-project/commit/6df5ced6c4a6878da98346c8ad69ab11d76b4280
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenMP/Transforms/StackToShared.cpp

  Log Message:
  -----------
  [MLIR][OpenMP] Fix sanitizer issue related to stack-to-shared pass (#194397)

The OpenMP dialect stack-to-shared pass could try to access attributes
from a deleted operation. This updates it to get that information from
the operation created to replace it.


  Commit: f5bb397d204dbe14eea2b7e20337accc1a375c6f
      https://github.com/llvm/llvm-project/commit/f5bb397d204dbe14eea2b7e20337accc1a375c6f
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Fix Layout collapse dims out of bounds (#193661)

Fix a bug in LayoutAttr::collapseDims() implementation.

---------

Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>


  Commit: 8e8113fcb1bf54e7ea92151f8fb4b78fb79d3026
      https://github.com/llvm/llvm-project/commit/8e8113fcb1bf54e7ea92151f8fb4b78fb79d3026
  Author: jay0x <90309873+blazie2004 at users.noreply.github.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    A flang/test/Semantics/OpenMP/workshare06.f90

  Log Message:
  -----------
  [Flang][OpenMP] Allow Fortran BLOCK construct inside WORKSHARE region (#193352)

**Problem**
Flang incorrectly rejects Fortran BLOCK constructs inside OpenMP
WORKSHARE regions. This fixes the semantic check to recursively validate
the contents of BLOCK constructs instead of rejecting them.

The Fortran BLOCK construct (F2008) is a transparent scoping wrapper
that does not affect execution semantics. When a BLOCK appears inside a
WORKSHARE region, the restriction on allowed statements should apply to
the contents of the BLOCK, not the BLOCK construct itself.

**Fix**
The function CheckWorkshareBlockStmts (check-omp-structure.cpp) loops
through each statement inside a WORKSHARE region and checks if it's
allowed.

Before this fix, it only recognized:

```
Assignments, FORALL, WHERE statements
OpenMP constructs (ATOMIC, CRITICAL, PARALLEL)
When it saw a Fortran BLOCK, it didn't recognize it and threw an error.
```

When we see a BLOCK construct, instead of rejecting it, we "look inside"
and check if the statements inside the BLOCK are valid. This is done by
calling the same function recursively on the BLOCK's contents.
 
 
 Issue : [192930](https://github.com/llvm/llvm-project/issues/192930)

---------

Co-authored-by: Jay Satish Kumar Patel <kumarpat at pe31.hpc.amslabs.hpecorp.net>


  Commit: 67deb547101fa909eb8f3fbedabd2f2baa6180b1
      https://github.com/llvm/llvm-project/commit/67deb547101fa909eb8f3fbedabd2f2baa6180b1
  Author: Amilendra Kodithuwakku <amilendra.kodithuwakku at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_svabal.c
    M clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p3_OR_sme2p3_RP___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
    A clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sve2p3-intrinsics/sve2p3-intrinsics-abal.ll

  Log Message:
  -----------
  [Clang][AArch64][SVE2p3][SME2p3] Add intrinsics for v9.7a Two-way signed/unsigned absolute difference sum and accumulate long ops (#188972)

Add the following new clang intrinsics based on the ACLE specification
https://github.com/ARM-software/acle/pull/428 (Add alpha support for 9.7
data processing intrinsics)

SABAL (Two-way signed absolute difference sum and accumulate long)
- svint16_t svabal[_s16](svint16_t, svint8_t, svint8_t) / svint16_t
svabal[_n_s16](svint16_t, svint8_t, int8_t)
- svint32_t svabal[_s32](svint32_t, svint16_t, svint16_t) / svint32_t
svabal[_n_s32](svint32_t, svint16_t, int16_t)
- svint64_t svabal[_s64](svint64_t, svint32_t, svint32_t) / svint64_t
svabal[_n_s64](svint64_t, svint32_t, int32_t)

UABAL (Two-way unsigned absolute difference sum and accumulate long )
- svuint16_t svabal[_u16](svuint16_t, svuint8_t, svuint8_t) / svuint16_t
svabal[_n_u16](svuint16_t, svuint8_t, uint8_t)
- svuint32_t svabal[_u32](svuint32_t, svuint16_t, svuint16_t) /
svuint32_t svabal[_n_u32](svuint32_t, svuint16_t, uint16_t)
- svuint64_t svabal[_u64](svuint64_t, svuint32_t, svuint32_t) /
svuint64_t svabal[_n_u64](svuint64_t, svuint32_t, uint32_t)


  Commit: 39e73ebff7fcccbfa064b1c73a33d91e44efa54e
      https://github.com/llvm/llvm-project/commit/39e73ebff7fcccbfa064b1c73a33d91e44efa54e
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/partial-reduction-sub-fp.ll

  Log Message:
  -----------
  [DAGcombine] Recognize fneg on RHS for partial_reduce_fmla (#193994)

PR #186809 recognized the negation on the fmul() expression, but after
instcombine the fneg is moved to the RHS operand, so with #186809 the
negation would not be recognized by the combine.

https://godbolt.org/z/YfoYshz78


  Commit: ef18c253321fa5c0ca9f2200b9bd1f954a2b6d34
      https://github.com/llvm/llvm-project/commit/ef18c253321fa5c0ca9f2200b9bd1f954a2b6d34
  Author: Jakob Linke <jakob at linke.cx>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/include/clang/AST/ASTFwd.h
    M clang/include/clang/AST/ASTTypeTraits.h
    M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/lib/AST/ASTTypeTraits.cpp
    M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
    M clang/unittests/Tooling/CMakeLists.txt
    A clang/unittests/Tooling/RecursiveASTVisitorTests/OffsetOfExpr.cpp

  Log Message:
  -----------
  [Clang][RAV] Visit components of __builtin_offsetof designators (#194122)

`RecursiveASTVisitor` previously only traversed the type operand of an
`OffsetOfExpr,` ignoring the field/identifier/base/array-index
components of the designator. This meant tools built on RAV (clang-tidy,
clangd, indexers, ...) silently missed every field reference inside
`__builtin_offsetof(T, a.b.c)`.

Add a `TraverseOffsetOfNode / VisitOffsetOfNode` pair following the same
pattern used for `ConceptReference`, `ObjCProtocolLoc`, and friends. The
`DEF_TRAVERSE_STMT` for `OffsetOfExpr` now invokes
`TraverseOffsetOfNode` for each component; array index expressions
continue to be reached via the existing children() traversal. Default
visitation is a no-op, so the change is opt-in for consumers and
behavior-preserving otherwise.

Also expose `OffsetOfNode` as a `DynTypedNode` kind via `ASTTypeTraits`
so that downstream machinery (`SelectionTree`, parent maps, matchers)
can reference these nodes uniformly.

The same gap exists for Designator inside `DesignatedInitExpr` and can
follow this recipe in a follow-up.

Related: https://github.com/llvm/llvm-project/pull/192953. The current
PR enables precise component resolves in clangd (support to be added in
a followup).


  Commit: 2e5f8b2e12955bba4ef9e04a678ff079f809fa94
      https://github.com/llvm/llvm-project/commit/2e5f8b2e12955bba4ef9e04a678ff079f809fa94
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M libc/config/linux/x86_64/headers.txt
    M libc/include/CMakeLists.txt
    A libc/include/sys/ucontext.h

  Log Message:
  -----------
  [libc] Add sys/ucontext.h header (#194329)

POSIX historically provided <sys/ucontext.h> as an alias for
<ucontext.h>. Some software still includes the sys/ path. Added the
header as a simple wrapper that includes <ucontext.h>, gated to x86_64
alongside the existing ucontext support.


  Commit: 395a56301ddc0ad641fb0dbcef7184f72640fe9d
      https://github.com/llvm/llvm-project/commit/395a56301ddc0ad641fb0dbcef7184f72640fe9d
  Author: Kartik Ohlan <kartik7ohlan at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c

  Log Message:
  -----------
  [CIR] Vector-Saturating-shift-left intrinsics (#190728)

Part of #185382 

1. Added NEON::BI__builtin_neon_vqshlud_n_s64:
2. Added NEON::BI__builtin_neon_vqshld_n_u64:
3. Added NEON::BI__builtin_neon_vqshld_u_u64:


  Commit: 2a83068537786696d4950ce694e7d34480631f48
      https://github.com/llvm/llvm-project/commit/2a83068537786696d4950ce694e7d34480631f48
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/P10InstrResources.td
    M llvm/lib/Target/PowerPC/PPCBack2BackFusion.def
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCMacroFusion.def
    M llvm/lib/Target/PowerPC/PPCRegisterClasses.td
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
    M llvm/lib/Target/PowerPC/PPCScheduleP7.td

  Log Message:
  -----------
  [PowerPC] Enable using HwMode for instructions (#191051)

The HwMode is already used for operands representing an effective
address. It can also be used for general purpose registers but this is
not clear from the naming. This change

- introduces the hw-mode dependent register class `GxRC`, and the
associated register operands
- removes register class `ptr_rc_idx_by_hwmode`, and replaces the only
use with `gxrc`
 - uses the `EQV` instruction as an example how to use the new class


  Commit: e33bac0f2c4ccbabe1d58ee82e0985c8e780d606
      https://github.com/llvm/llvm-project/commit/e33bac0f2c4ccbabe1d58ee82e0985c8e780d606
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Utility/StringExtractorGDBRemote.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
    M lldb/source/Utility/StringExtractorGDBRemote.cpp
    M lldb/test/API/functionalities/multi-breakpoint/TestMultiBreakpoint.py

  Log Message:
  -----------
  [lldbremote] Implement support for MultiBreakpoint packet (#192919)

This is fairly straightforward, thanks to the helper functions created
in the previous commit.

The following PRs are related to the MultiBreakpoint feature:

* https://github.com/llvm/llvm-project/pull/192910
* https://github.com/llvm/llvm-project/pull/192914
* https://github.com/llvm/llvm-project/pull/192915
* https://github.com/llvm/llvm-project/pull/192919
* https://github.com/llvm/llvm-project/pull/192962
* https://github.com/llvm/llvm-project/pull/192964
* https://github.com/llvm/llvm-project/pull/192971
* https://github.com/llvm/llvm-project/pull/192988


  Commit: 4f3bed19b0aaff893ef0f0329eccda9016cd2f3d
      https://github.com/llvm/llvm-project/commit/4f3bed19b0aaff893ef0f0329eccda9016cd2f3d
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DirectXIRPasses/PointerTypeAnalysis.cpp
    A llvm/test/CodeGen/DirectX/global-variable.ll
    A llvm/test/tools/dxil-dis/opaque-pointers-var.ll

  Log Message:
  -----------
  [DirectX] Emit unresolved ptr as i8* (#192086)

We cannot use dxilOpaquePtrReservedName in this test as that is the
wrong type for the null initializer.


  Commit: b5f3c12c02d8384868845f5bd82f171947917d15
      https://github.com/llvm/llvm-project/commit/b5f3c12c02d8384868845f5bd82f171947917d15
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRV.h
    M llvm/lib/Target/SPIRV/SPIRVPassRegistry.def
    M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
    A llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.h
    M llvm/lib/Target/SPIRV/SPIRVPrepareGlobals.cpp
    A llvm/lib/Target/SPIRV/SPIRVPrepareGlobals.h
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    A llvm/test/CodeGen/SPIRV/passes/SPIRVPrepareFunctions.ll
    M llvm/test/CodeGen/SPIRV/passes/SPIRVPrepareGlobals-predicate-id-string.ll
    A llvm/test/CodeGen/SPIRV/passes/SPIRVPrepareGlobals.ll
    M llvm/test/CodeGen/SPIRV/passes/translate-aggregate-uaddo.ll

  Log Message:
  -----------
  [SPIR-V][NewPM] Register SPIRVPrepareFunctions and SPIRVPrepareGlobals with the new pass manager (#194024)

Rename the legacy pass IDs to spirv-prepare-functions and
spirv-prepare-globals for consistency with the other SPIR-V passes and
add opt-driven lit tests for both passes


  Commit: 0b8f8264d687d75165dffa6f2cd80f715a864b86
      https://github.com/llvm/llvm-project/commit/0b8f8264d687d75165dffa6f2cd80f715a864b86
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td

  Log Message:
  -----------
  [PowerPC] Simplify implementation of atomis loads (#191044)

The code for atomic loads is verbose. There are 10 different operations
and 4 memory sizes to support, which means 40 pseudo instructions are
used, with all the details repeated. This PR changes the following:

- Use a loop over the operations and the sizes to create the pseudo
instruction
 - Adds the memory size as last operand to the pseudo instruction
- Updates the C++ code to take advantage of the memory size in the
pseudo instruction


  Commit: e52e9e33fc0c11172ac4b9c22793e269b538404d
      https://github.com/llvm/llvm-project/commit/e52e9e33fc0c11172ac4b9c22793e269b538404d
  Author: Igor Wodiany <igor.wodiany at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M mlir/test/Dialect/SPIRV/IR/types.mlir

  Log Message:
  -----------
  [mlir][spirv] Add CoopMatrix type tests for fp8 and bf16 element types (#193805)


  Commit: 4d20831a6562ecc5e0b87d5785b2911060c3ab41
      https://github.com/llvm/llvm-project/commit/4d20831a6562ecc5e0b87d5785b2911060c3ab41
  Author: Brendan Dahl <brendan.dahl at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/test/CodeGen/WebAssembly/f16-intrinsics.ll

  Log Message:
  -----------
  [WebAssembly] Support f16x8.demote_f32x4_zero (#193564)

Add support for the f16x8.demote_f32x4_zero instruction. This
instruction converts a v4f32 vector to a v4f16 and pads the result with
zeros to fill the 128-bit register.

This enables efficient lowering of fptrunc operations from v4f32 to
v4f16 when the result is zero-extended or when only the low lanes are
needed. A DAG combine is included to recognize these patterns and fold
them into the new instruction.


  Commit: 35fffe03aefcdc088d3bc0c1410d179ca33b8fd4
      https://github.com/llvm/llvm-project/commit/35fffe03aefcdc088d3bc0c1410d179ca33b8fd4
  Author: Igor Wodiany <igor.wodiany at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
    M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir

  Log Message:
  -----------
  [mlir][spirv] Add missing capabilities for CoopMatrix in TypeExtensionVisitor (#193803)

This adds missing capabilities when CoopMatrix is used with bf16 and
fp8.

Assisted-by: Codex


  Commit: 1b065445a6b81c00d7a816d64708731ad8807f70
      https://github.com/llvm/llvm-project/commit/1b065445a6b81c00d7a816d64708731ad8807f70
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-float.c

  Log Message:
  -----------
  [CIR] Emit frexp, modf, and powi builtins as library calls (#193795)

`__builtin_frexpf`, `__builtin_modf`, `__builtin_powi`, and related
builtins were incorrectly falling through to the `__builtin_isnan`
handler in `emitBuiltinExpr`, which calls `createBoolToInt` /
`createIsFPClass`. This produced a `cir.cast` with an integer result
type when the actual return type is floating-point, failing CIR
verification.

Break out of the switch so these builtins fall through to the
`isLibFunction()` path, which emits them as regular library calls.

Made with [Cursor](https://cursor.com)


  Commit: d071e4b765dfadc1472b97d09f5014c92ab27ead
      https://github.com/llvm/llvm-project/commit/d071e4b765dfadc1472b97d09f5014c92ab27ead
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    A clang/test/CIR/CodeGen/try-no-throwing-calls.cpp

  Log Message:
  -----------
  [CIR] Fix eraseOp assertion in TryOp flattening with unreachable handlers (#193615)

When a try block has catch handlers but no throwing calls, the handler
regions are unreachable and the TryOp is erased. However, ops inside the
handler regions may reference values that were inlined from the try body
into the parent block, causing an assertion in `eraseOp` ("expected that
op has no uses").

This drops all defined value uses from handler regions before erasing
the TryOp.

Made with [Cursor](https://cursor.com)


  Commit: 916cd558c10bf520dd0c1bdd3849fa6163b53795
      https://github.com/llvm/llvm-project/commit/916cd558c10bf520dd0c1bdd3849fa6163b53795
  Author: eiytoq <eiytoq at outlook.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/test/CodeGenCXX/mangle-requires.cpp

  Log Message:
  -----------
  [Clang] Avoid an extra `FunctionPrototypeScope` for lambda trailing requires-clauses (#194068)

`ParseTrailingRequiresClause` currently always creates a synthetic
`FunctionPrototypeScope`. This is needed for ordinary function
declarators
whose prototype scope has already ended, but it is wrong for lambda
trailing
requires-clauses because they are parsed while the lambda prototype
scope is
still active.

The extra counted scope gives parameters in nested requires-expressions
an
incorrect function scope depth. Split the synthetic prototype-scope
setup from
the trailing requires-clause parser so the lambda path can parse the
clause in
the existing prototype scope.

Fixes: #123854
Fixes: #100774


  Commit: cf4f678f0448803be0fb98545336ca902352bc65
      https://github.com/llvm/llvm-project/commit/cf4f678f0448803be0fb98545336ca902352bc65
  Author: Ivan R. Ivanov <iivanov at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

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

  Log Message:
  -----------
  [Offload] Make kernel dynamic memory handling more generic (#194403)

Make sure we do not get unexpected NumThreads and NumBlocks values when
launching non-bare kernels, and generalize the computation of the
dynamic block memory allocation to handle multi-dimensional blocks.

The DynBlockMem fallback is never used in a non-bare context where
`NumBlocks[1]` and `NumBlocks[2]` are not 1 so the code was correct, but
this patch makes sure that assumption is made explicit, and also
future-proofs the code in case we decide to allow multi-dimensional
blocks for fallback dyn block mem in some path.


  Commit: 71d63d61072166d7ba744464db8781389a3474c9
      https://github.com/llvm/llvm-project/commit/71d63d61072166d7ba744464db8781389a3474c9
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M lldb/test/API/functionalities/inline-sourcefile/Makefile

  Log Message:
  -----------
  [lldb][test] Fix Makefile for TestInlineSourceFiles.py (#194078)

The test did not build hidden.o with a custom target triple when
specified. Use CFLAGS from Makefile.rules to fix.


  Commit: fb4ce472adb9f65acb150d4e2db5446524458b90
      https://github.com/llvm/llvm-project/commit/fb4ce472adb9f65acb150d4e2db5446524458b90
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/CMakeLists.txt
    M llvm/lib/Target/DirectX/DXILWriter/CMakeLists.txt
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.h
    M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.h
    M llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
    M llvm/lib/Target/DirectX/DirectXIRPasses/CMakeLists.txt
    A llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
    A llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.h
    M llvm/unittests/Target/DirectX/CMakeLists.txt

  Log Message:
  -----------
  [DirectX] Add DXILDebugInfo pass (#191254)

The pass is enabled for DXILBitcodeWriter and ValueEnumerator to
transform LLVM IR and provide data required to lower it to DXIL.

There are 3 ways how DXILDebugInfo pass can change lowering to DXIL:

1. Transform LLVM IR directly in DXILDebugInfoPass::run. This works well
when the target IR does not break any invariants of LLVM IR.

2. Add extra metadata for ValueEnumerator to process with MDExtra map.
When ValueEnumerator enumerates a Key of MDExtra, it also follows the
Value and all its operands.

3. Replace a metadata for ValueEnumerator with a another metadata. When
ValueEnumerator enumerates a Key of MDReplace, or when the writer uses
getMetadataID, the corresponding value of MDReplace map is returned
instead.

Co-authored-by: Andrew Savonichev <andrew.savonichev at gmail.com>


  Commit: 5fb8cb1508eef28f7ee7612e335bb907bcf8ead5
      https://github.com/llvm/llvm-project/commit/5fb8cb1508eef28f7ee7612e335bb907bcf8ead5
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M lldb/test/API/macosx/arm-pointer-metadata-cfa-dwarf-expr/Makefile

  Log Message:
  -----------
  [lldb][test] Fix Makefile for TestArmPointerMetadataCFADwarfExpr.py (#194075)

The makefile did not respect custom target triples. Fixed by using
CFLAGS from Makefile.rules.


  Commit: 0065d2e62be6f5f732bf32ecb1fe7f24a0de86e5
      https://github.com/llvm/llvm-project/commit/0065d2e62be6f5f732bf32ecb1fe7f24a0de86e5
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M lldb/test/API/functionalities/valobj_errors/Makefile

  Log Message:
  -----------
  [lldb][test] Fix Makefile for TestValueObjectErrors.py (#194071)

This test does not respect custom triples. hidden.c is intended to be
built with no debug info, so pass `-g0` after CFLAGS.


  Commit: 1c62578d1a051dd63f5d2594ca0d85eac13d5c3d
      https://github.com/llvm/llvm-project/commit/1c62578d1a051dd63f5d2594ca0d85eac13d5c3d
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Transforms/InstCombine/RISCV/riscv-vmv-v-x.ll

  Log Message:
  -----------
  [RISCV] Fix inf-loop on equal num-elts in vmv.v.x fold (#194410)


  Commit: d9b7786e74f8decbbd286f2495309f4e6d488f95
      https://github.com/llvm/llvm-project/commit/d9b7786e74f8decbbd286f2495309f4e6d488f95
  Author: David Green <david.green at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-neon-aba-abd.ll
    M llvm/test/CodeGen/AArch64/neon-saba.ll

  Log Message:
  -----------
  [AArch64] Addition tests for add_like Or of saba. NFC (#194416)


  Commit: b39057a228804e7f920a04e466dc2e97e2e75442
      https://github.com/llvm/llvm-project/commit/b39057a228804e7f920a04e466dc2e97e2e75442
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    R lldb/test/API/functionalities/dead-strip/cmds.txt
    R lldb/test/API/functionalities/load_unload/cmds.txt
    R lldb/test/API/lang/c/array_types/cmds.txt
    R lldb/test/API/lang/c/global_variables/cmds.txt
    R lldb/test/API/lang/cpp/class_types/cmds.txt
    R lldb/test/API/lang/cpp/namespace/cmds.txt
    R lldb/test/API/lang/cpp/stl/cmds.txt
    R lldb/test/API/macosx/order/cmds.txt

  Log Message:
  -----------
  [lldb][test] Delete obsolete cmds.txt (#194390)

Last time I asked about these files someone mentioned they were once
used to replay a test.

However, I think by now these files are mostly out of sync with their
tests and few people anyway know these files exist in the first place.


  Commit: 8d9299cd7af594767485c5d73b5a103b949b7700
      https://github.com/llvm/llvm-project/commit/8d9299cd7af594767485c5d73b5a103b949b7700
  Author: Joshua Cranmer <joshua.cranmer at intel.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/AsmParser/LLLexer.h
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/CodeGen/MIRParser/MILexer.cpp
    M llvm/lib/Support/APFloat.cpp
    M llvm/test/Assembler/2006-09-28-CrashOnInvalid.ll
    A llvm/test/Assembler/float-literals.ll
    A llvm/test/Assembler/invalid-call-float-literal.ll
    A llvm/test/Assembler/invalid-uselistorder_bb-float-literal.ll
    M llvm/test/CodeGen/MIR/NVPTX/floating-point-invalid-type-error.mir
    M llvm/unittests/AsmParser/AsmParserTest.cpp

  Log Message:
  -----------
  [AsmParser] Revamp how floating-point literals work in LLVM IR. (#190641)

This adds support for the following kinds of formats:
* Hexadecimal literals like 0x1.fp13
* Special values +inf/-inf, +qnan/-qnan
* NaN values with payloads like +nan(0x1)

Additionally, the floating-point hexadecimal format that records the
bitpattern exactly no longer requires the 0xL or 0xK or similar code for
the floating-point type. The current hexadecimal syntax is retained for
the moment, but it is expected to be ripped out after the next release
of LLVM.

These changes were discussed in an RFC at
https://discourse.llvm.org/t/rfc-floating-point-literals-in-llvm-ir/82974.


  Commit: 18053e3c6ac0c57a43d9b5db5d5a7db9675ef364
      https://github.com/llvm/llvm-project/commit/18053e3c6ac0c57a43d9b5db5d5a7db9675ef364
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-with-multi-used-expanded.ll

  Log Message:
  -----------
  [SLP]Bail out on non-schedulable expanded binop with multi-use operand

In tryScheduleBundle's DoesNotRequireScheduling path, an expanded binop
(shl X, 1 modeled as add X, X) doubles the dependency count of the
duplicated operand. Unlike the regular scheduling path, this branch does
not clear stale operand ScheduleData dependencies, so when that operand
has more uses than this bundle member the schedule's decrement count
exceeds calculateDependencies' increment count and UnscheduledDeps goes
negative, hitting "Expected valid number of unscheduled deps".

Fixes #194303.

Reviewers: 

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


  Commit: f0a46d1002993fa748e4d53565359c787ec3363a
      https://github.com/llvm/llvm-project/commit/f0a46d1002993fa748e4d53565359c787ec3363a
  Author: youngd007 <davidayoung at meta.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

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

  Log Message:
  -----------
  Have LLVM_ENABLE_ZSTD defined as 0 in base select condition (#194413)

Very similar to https://github.com/llvm/llvm-project/pull/184525. When
this define is not present in the default select() condition, there is
an issue building lldb using this build.bazel as a base for a BUCK file.


  Commit: 60dbe3fe4051f30ac12f0de56116faf2c516c313
      https://github.com/llvm/llvm-project/commit/60dbe3fe4051f30ac12f0de56116faf2c516c313
  Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M lldb/test/API/macosx/dsym_codesign/TestdSYMCodesign.py

  Log Message:
  -----------
  [lldb] Fix has_lldb_codesign check (#194412)

I met a problem with this test on WSL. WSL has access to Windows's
files. Windows distribution has `security` dir (
`/mnt/c/Windows/security` from WSL point of view). So when we try to run
`security` command we get `PermissionError` instead of
`FileNotFoundError`. It is would not be a problem, but Python firstly
calls decorators for methods (see example below), so we call
`has_lldb_codesign()` not only on Darwin platform. Also I think some
Linux distros might have `security` command, so the current check is not
robust enough.

```python
import unittest

def checker():
    raise Exception("test")

@unittest.skipUnless(False, "")
class Tests(unittest.TestCase):

    @unittest.skipUnless(checker(), ())
    def test():
        pass
```


  Commit: 37c7ada5de27348b6bf46c788f2714f3c859e32e
      https://github.com/llvm/llvm-project/commit/37c7ada5de27348b6bf46c788f2714f3c859e32e
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M flang/test/Lower/polymorphic-temp.f90
    M flang/test/Lower/polymorphic-types.f90
    M flang/test/Lower/procedure-declarations.f90
    M flang/test/Lower/read-write-buffer.f90
    M flang/test/Lower/real-operations-2.f90

  Log Message:
  -----------
  [flang][NFC] Converted five tests from old lowering to new lowering (part 50) (#194277)

Tests converted from test/Lower: polymorphic-temp.f90,
polymorphic-types.f90, procedure-declarations.f90,
read-write-buffer.f90, real-operations-2.f90


  Commit: 20ff4a1f5c911be0f84a61010ecf6f71caa867b0
      https://github.com/llvm/llvm-project/commit/20ff4a1f5c911be0f84a61010ecf6f71caa867b0
  Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    A clang/test/CIR/CodeGen/vtable-linkage-explicit-instantiation.cpp

  Log Message:
  -----------
  [CIR] Handle explicit instantiation declaration in getVTableLinkage (#193809)

Replace errorNYI for TSK_ExplicitInstantiationDeclaration with the
correct linkage logic: use discardable ODR linkage for MSVC, and for
Itanium choose between AvailableExternallyLinkage (when the vtable can
be speculatively emitted) or ExternalLinkage.

Fixes point 3 of #192330.


  Commit: 11bd02895da137a46fb37cc33df8f66862e53351
      https://github.com/llvm/llvm-project/commit/11bd02895da137a46fb37cc33df8f66862e53351
  Author: Jared Hoberock <jaredhoberock at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
    A mlir/test/Conversion/GPUCommon/lower-async-to-gpu-runtime-calls.mlir

  Log Message:
  -----------
  [MLIR][GPU] Fix async.yield gpu.async.token lowering race (#190717)

Root cause of #170833 (flakiness of `Integration/GPU/CUDA/async.mlir` on
the Tesla T4 mlir-nvidia buildbot).

In `gpu-to-llvm`, two patterns matched `async.yield` with the same
benefit: the structural `ConvertYieldOpTypes` from
`populateAsyncStructuralTypeConversionsAndLegality` (which just retypes
operands), and `ConvertAsyncYieldToGpuRuntimeCallPattern` (which also
creates and records an event on the stream backing each
`gpu.async.token` operand). When the IR contained `gpu.launch_func`, the
dialect-conversion framework picked the structural pattern, silently
dropping the event record. The `async.execute` then yielded a stream
pointer where its consumers expected an event, and the host await ended
up calling `cuEventSynchronize` on a stream pointer. That call returns
an error without waiting, so the host raced against the GPU.

This change implements a fix which registers
`ConvertAsyncYieldToGpuRuntimeCallPattern` with pattern benefit 2 so it
wins on yields carrying `gpu.async.token` operands. The structural
rewriter still handles yields without token operands.

Also adds a new test `lower-async-to-gpu-runtime-calls.mlir` to check
the correct IR shape of `async.yield` after a `gpu.launch_func`.

Assisted-by: Claude

Fixes #170833


  Commit: f80b50bb6c5df237a15bdc4578c8b6aaf59fb3b1
      https://github.com/llvm/llvm-project/commit/f80b50bb6c5df237a15bdc4578c8b6aaf59fb3b1
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp

  Log Message:
  -----------
  [analyzer] Fix use-after-free in CheckerContext::getMacroNameOrSpelling (#194174)

This UAF bug was introduced 14 years ago, in 43de767b55c07.
The first use of this API was in
3b754b25bde4914e5ab693e7db9533c3260e926e, roughly around the same era.
It was dormant because the first param of `socket` and friends are
macros, and those didn't trigger this UAF.

I decided to go against adding a test because I figure that would be not
really meaningful.

Fixes #194136


  Commit: 89901f2beaac7be382a8e63fd40b98b6c54c551b
      https://github.com/llvm/llvm-project/commit/89901f2beaac7be382a8e63fd40b98b6c54c551b
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M .github/workflows/issue-subscriber.yml

  Log Message:
  -----------
  workflows/issue-subscriber: Use a GitHub app token (#194073)

This removes one user of the ISSUE_SUBSCRIBER_TOKEN secret, which we
want to eventually remove since secrets are more difficult to maintain.


  Commit: f82e4e95ab0adbe26569060202af64f9ef936a85
      https://github.com/llvm/llvm-project/commit/f82e4e95ab0adbe26569060202af64f9ef936a85
  Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    M flang/test/Fir/CUDA/cuda-device-global.f90

  Log Message:
  -----------
  [flang][cuda] Fix CUFDeviceGlobal duplicate skip and CUFAddConstructor for empty gpu.module (#194290)

**Fix 1:**

```fortran
module m
  real, device :: a(3), b(3), c(3)
contains
  attributes(global) subroutine kernel()
    a(1) = 1.0
  end subroutine
end module
```

When a kernel references global `a`, an earlier pass
(`CUFDeviceFuncTransform`) clones it into the `gpu.module`. When
`CUFDeviceGlobal` later processes all device globals, it finds `a`
already exists, and `break` exits the loop — skipping `b` and `c`
entirely.

Fix: Change `break` to `continue` in `CUFDeviceGlobal.cpp`.


**Fix 2:**

```fortran
module kernels_m
  real, device :: dev_var
contains
  attributes(global) subroutine my_kernel()
  end subroutine
end module

program main
  use kernels_m
end program
```

When a compilation unit USEs a CUDA module but defines no kernels
itself, the empty `gpu.module` is still registered with the CUDA
runtime, causing `cudaErrorNoKernelImageForDevice`.

Fix: Return early from the constructor if the `gpu.module` has no
kernels. Also skip variable registration for globals not in the
`gpu.module`.


  Commit: 4e302b684d885e11de1c9144db2d48c483c6339f
      https://github.com/llvm/llvm-project/commit/4e302b684d885e11de1c9144db2d48c483c6339f
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    A clang/test/CIR/Transforms/flatten-try-catch-cleanup.cir

  Log Message:
  -----------
  [CIR] Remove overly strict end_catch assertion in catch handler flattening (#193796)

The assertion in `flattenCatchHandler` required `end_catch` to be the
last operation before `yield` in catch handlers, with only branches in
between. Complex catch handlers with cleanup code or nested control flow
can have additional operations between `end_catch` and `yield`. The
yield-to-branch replacement does not depend on `end_catch` position.

Made with [Cursor](https://cursor.com)


  Commit: 549a952fd53b14ee28ed898791e1a90be5c0940d
      https://github.com/llvm/llvm-project/commit/549a952fd53b14ee28ed898791e1a90be5c0940d
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    A clang/test/AST/HLSL/matrix_layout_attr.hlsl
    A clang/test/Sema/hlsl_matrix_layout_non_hlsl.cpp
    A clang/test/SemaHLSL/matrix_layout_attr.hlsl

  Log Message:
  -----------
  [HLSL][Matrix] Add Matrix Layout Keywords (#192284)

fixes #192263

HLSL allows per-declaration matrix layout overrides via the row_major
and column_major keywords. Prior to this commit, matrix layout was only
controlled globally via the -fmatrix-memory-layout command-line flag
(LangOptions::DefaultMatrixMemoryLayout). This commit adds the parsing
and semantic analysis infrastructure needed to support per-declaration
layout, matching DXC behavior.


Assisted-by: Claude Opus 4.6


  Commit: 0341a4fec3e4d604d51e444bec2d49c85e268046
      https://github.com/llvm/llvm-project/commit/0341a4fec3e4d604d51e444bec2d49c85e268046
  Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
    M flang/test/Fir/CUDA/cuda-alloc-free.fir

  Log Message:
  -----------
  [flang][cuda] Include constant extents in cuf.alloc size computation (#194288)

Example:
```fortran
real, device :: arr(n, 4, m)
```

For arrays with mixed constant and dynamic extents
(`!fir.array<?x4x?xf32>`), the allocation size only includes the dynamic
extents (`n * m * 4 bytes`), missing the constant extent `4`. This
under-allocates by a factor of 4, causing `cudaErrorIllegalAddress`.

Fix: After multiplying the dynamic extents, also multiply in constant
extents from the type, producing the correct size (`n * m * 4 * 4
bytes`).


  Commit: 0b1d2d1bfee3fb9af0a2bcdc9782c7e71126f166
      https://github.com/llvm/llvm-project/commit/0b1d2d1bfee3fb9af0a2bcdc9782c7e71126f166
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCUtils.cpp

  Log Message:
  -----------
  [NFC][flang] Reodered checks for concrete ops and ifaces. (#193879)

It is a good idea, in general, to check for concrete operations,
first, and then handle generic interfaces.


  Commit: 5ea9d1045d4cb641d05e5dc6c90b2659a48ed543
      https://github.com/llvm/llvm-project/commit/5ea9d1045d4cb641d05e5dc6c90b2659a48ed543
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

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

  Log Message:
  -----------
  [MCP][NFC] Add Cost modelling for EliminateSpillageCopies (#193905)


  Commit: fe587c5ad92b94c18da2d22d4ce911cd7f614202
      https://github.com/llvm/llvm-project/commit/fe587c5ad92b94c18da2d22d4ce911cd7f614202
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/unittests/ADT/CMakeLists.txt
    A llvm/unittests/ADT/StableHashingTest.cpp

  Log Message:
  -----------
  [NFC][ADT] Add unit tests for StableHashing (#194286)

>From #105849 the documentation promises that stable hash is stable
across different machines.
To ensure this, we add a test with hardcoded values to prevent
unintentional changes.

Unfortunately, Big/Little endian results are different. We will fix this
in a follow-up patches.


  Commit: 3838f0073092495ce1569100892ce69b4352a6ed
      https://github.com/llvm/llvm-project/commit/3838f0073092495ce1569100892ce69b4352a6ed
  Author: Demetrius Kanios <demetrius at kanios.net>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyCallLowering.cpp
    A llvm/test/CodeGen/WebAssembly/GlobalISel/irtranslator/call-basics.ll

  Log Message:
  -----------
  [WebAssembly][GlobalISel] CallLowering `lowerCall` (#193102)

Implements an initial version of `WebAssemblyCallLowering::lowerCall`.
It is pretty basic, only supporting simple direct calls. No indirect
call, swiftcc, tail call, or vararg support yet. But this still covers
the majority of calls.

Split from #157161


  Commit: a5f2d43537c0e80fa131a0907a250789e1a8b998
      https://github.com/llvm/llvm-project/commit/a5f2d43537c0e80fa131a0907a250789e1a8b998
  Author: David Green <david.green at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/addp-shuffle.ll
    M llvm/test/CodeGen/AArch64/arm64-addp.ll

  Log Message:
  -----------
  [AArch64] Extend patterns for addp to accept add-like-ors. (#193075)

This extends the existing addp patterns to also work with add-like
disjoint or.


  Commit: 11e7f6c8442658f501606e5694998764030b90df
      https://github.com/llvm/llvm-project/commit/11e7f6c8442658f501606e5694998764030b90df
  Author: Jeremy Kun <jkun at google.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M mlir/docs/Tutorials/MlirOpt.md

  Log Message:
  -----------
  [milr] [docs] add view-op-graph and dump-pass-pipeline as useful CLI options (#194419)

Also fixes a typo and a rendering issue with the TOC


  Commit: fce06e92a6ee4a74d49e0f3f5cb6301782e44ca1
      https://github.com/llvm/llvm-project/commit/fce06e92a6ee4a74d49e0f3f5cb6301782e44ca1
  Author: Ayaan <138162656+def3r at users.noreply.github.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Support/KnownBits.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-fshl-fshr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [GlobalISel] Add `G_FSHL` and `G_FSHR` to computeKnownBits (#191260)

Ported impl from `SelectionDAG::computeKnownBits`.

Tests are based on `AArch64/GlobalISel/knownbits-shl.mir`

Ref: #150515


  Commit: 1fb8c300392566b8d9a2d5eda5f354daf73c291f
      https://github.com/llvm/llvm-project/commit/1fb8c300392566b8d9a2d5eda5f354daf73c291f
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/test/CIR/CodeGen/static-local.cpp

  Log Message:
  -----------
  [CIR] Implement 'referenced-by-subobject' static-local lowering (#194070)

This fixes the 'emitDeclRefLValue:static local' NYI, and includes a
test.


  Commit: 133890586eafce8478d596fa422367e45944798a
      https://github.com/llvm/llvm-project/commit/133890586eafce8478d596fa422367e45944798a
  Author: Sunil Shrestha <sunil.shrestha at hpe.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    R flang/test/Lower/OpenMP/Todo/scope-allocate.f90
    R flang/test/Lower/OpenMP/Todo/scope-firstprivate.f90
    R flang/test/Lower/OpenMP/Todo/scope.f90
    A flang/test/Lower/OpenMP/scope.f90
    A flang/test/Lower/OpenMP/target-scope.f90
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-scope.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [Flang][OpenMP] Add support for scope construct (#193098)

Add support for OpenMP scope construct. The private, reduction, and
nowait clauses (introduced in 5.1) are fully supported. Support for the
firstprivate clause (5.2) is also included. The allocate clause (5.2) is
lowered into the omp.scope MLIR op, but MLIR-to-LLVM IR translation is
not yet implemented.

When nowait is combined with reduction, the reduce function argument to
__kmpc_reduce_nowait is passed as null to prevent the runtime from
selecting the tree reduction method for host, which carries a barrier.

Assisted-by: Claude Opus 4.6


  Commit: 0ef6d8906c1b7c6e8b9c47ea3406ac6917f01620
      https://github.com/llvm/llvm-project/commit/0ef6d8906c1b7c6e8b9c47ea3406ac6917f01620
  Author: Jasmine Tang <jjasmine at igalia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
    A llvm/test/CodeGen/WebAssembly/simd-min-vec-reg-32.ll
    M llvm/test/Transforms/SLPVectorizer/WebAssembly/simd-splat-shuffle-cost.ll

  Log Message:
  -----------
  [WebAssembly] Add getMinVectorRegisterBitWidth overriding (#189465)


  Commit: 36990d81d48ecb41af84a7e0eaa0b20efe0615cf
      https://github.com/llvm/llvm-project/commit/36990d81d48ecb41af84a7e0eaa0b20efe0615cf
  Author: Alex Dutka <adutka at cerfacs.fr>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.h
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-length.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-structured-bindings.cpp

  Log Message:
  -----------
  [clang-tidy][readability-identifier-length] add structured bindings support (#193838)

This change extends the `readability-identifier-length` check to structured
binding declarations. Currently, only the names of regular variables,
function parameters, exceptions variables in catch blocks and loop
variables are checked. In other words, `int a = ...` warns but `auto [a]
= ...` does not.

This change enables the check to warn when the length of the names
introduced in structured bindings declarations is too short, following
the same rules as for the other kinds of declarations. Two new options
are introduced:
- `MinimumBindingNameLength` defines the number of characters below
which a warning is issued (the default it set to 2, like for loop
variables and exceptions variables)
- `IgnoredBindingNames` defines the names for which warnings should not
issued (by default, `_` is the only allowed exception)

To implement this feature, a new matcher is registered which matches all
the individual binding names. For example, in `auto [x, y] = ...`, it
matches `x` and `y` separately and the logic for determining if a
warning should be issued is applied independently to each binding name
introduced. Unlike the other matchers which return `VarDecl` nodes, this
new matcher returns `BindingDecl` nodes. The `utils::allDeclRefExpr`
helper function is modified to work for any `ValueDecl` node (the
closest common ancestor of `VarDecl` and `BindingDecl`) in order for the
line count threshold feature to work with this extension.


  Commit: 2962f641eaf73a1ecade4c6fa221606e6326041b
      https://github.com/llvm/llvm-project/commit/2962f641eaf73a1ecade4c6fa221606e6326041b
  Author: Tom Tromey <tromey at adacore.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfoMetadata.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    A llvm/test/Bitcode/fixedpoint_scope.ll
    M llvm/unittests/IR/DebugInfoTest.cpp

  Log Message:
  -----------
  Allow DIBasicType (and others) to have a scope and location (#190217)

DIBasicType derives from DIType and so it already has slots to store the
scope and location of the type. However, the DIBasicType constructor
(and corresponding DIBuilder method) does not expose this, presumably
because it is not needed by C or C++.

In Ada it is more common to create one's own basic type. So, for Ada
exposing this functionality would be handy.

This patch adds a new overload of DIBuilder::createBasicType to allow
this. Because only Ada uses fixed point types, the patch simply updates
these DIBuilder methods unconditionally.

Note that DwarfUnit already handles this scenario and so no changes were
needed there.


  Commit: 98fe008141a1fd30eb8cb576c6385a67cf45d111
      https://github.com/llvm/llvm-project/commit/98fe008141a1fd30eb8cb576c6385a67cf45d111
  Author: Kevin Sala Penades <salapenades1 at llnl.gov>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M offload/test/offloading/interop-print.c

  Log Message:
  -----------
  [offload] Un-XFAIL interop-print.c test for nvidia (#194447)


  Commit: 8062e82db89f12d90e8c331db217904689b87947
      https://github.com/llvm/llvm-project/commit/8062e82db89f12d90e8c331db217904689b87947
  Author: Grigory Pastukhov <99913765+grigorypas at users.noreply.github.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
    M clang/test/CodeGen/flatten.c

  Log Message:
  -----------
  [Clang] Emit LLVM flatten attribute instead of per-callsite alwaysinline (#188615)

Follow-up to #174899 which added the flatten function attribute to LLVM
IR and implemented recursive inlining in the `AlwaysInliner` pass.

This patch updates Clang to emit the LLVM flatten attribute on functions
with `__attribute__((flatten))`, instead of the previous approach of
marking each call site with `alwaysinline`. This completes the
transition to matching GCC's flatten semantics.

  Changes:
  - Remove the callsite `alwaysinline` annotation logic from CGCall.cpp
  - Emit the flatten function attribute in CodeGenModule.cpp
  - Update clang/test/CodeGen/flatten.c to reflect the new IR output
- Update clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
to reflect the new behavior
  - Add release notes documenting the behavior change

RFC:
https://discourse.llvm.org/t/rfc-function-level-flatten-depth-attribute-for-depth-limited-inlining


  Commit: 925e28445b7c9d2b87c853e1dd386b2d0c3ebc5c
      https://github.com/llvm/llvm-project/commit/925e28445b7c9d2b87c853e1dd386b2d0c3ebc5c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/non-power-of-2-with-adjusted-gathers.ll

  Log Message:
  -----------
  [SLP]Use VF for build-vector slice size when GatheredScalars were resized

After ExtractShuffles processing resizes GatheredScalars to VF and
recomputes NumParts, isGatherShuffledEntry populates Mask of size VF
and partitions it according to the post-resize NumParts. The previous
SliceSize formula based on E->Scalars.size() no longer matches that
layout and triggers an out-of-bounds ArrayRef::slice while iterating
gather-shuffle entries. Use getPartNumElems(VF, NumParts) by default;
fall back to the original-scalars formula only when
Mask.size() == E->Scalars.size() (no resize happened).

Fixes https://github.com/llvm/llvm-project/pull/194189#pullrequestreview-4182214738

Reviewers: 

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


  Commit: 6226ca523e8ebf62e230dd6954e42108d48fc5f0
      https://github.com/llvm/llvm-project/commit/6226ca523e8ebf62e230dd6954e42108d48fc5f0
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    A clang/test/CIR/CodeGen/lambda-decomp-decl-captures.cpp

  Log Message:
  -----------
  [CIR] Implement declref-lvalue lambda lowering (#194409)

This NYI showed up a few times and is pretty easy to get to,
     implementation is equally as trivial.

---------

Co-authored-by: Andy Kaylor <akaylor at nvidia.com>


  Commit: 1c90be34ce15659f462ef66976c2f2a19ceb4a81
      https://github.com/llvm/llvm-project/commit/1c90be34ce15659f462ef66976c2f2a19ceb4a81
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    A clang/test/CIR/CodeGen/thread-local-in-func.cpp
    M clang/test/CIR/IR/invalid-static-local.cir
    M clang/test/CIR/IR/static-local.cir

  Log Message:
  -----------
  [CIR] Implement static-local-tls lowering (#194059)

thread_local variables at function scope work very much like
static-locals, except with slightly different lowering from
cir-lowering-prepare. This patch implements that lowering. Global tls
variables are left to a later patch.

One decision I made here was that LocalInitOp lost its
'static-local'-ness, and assumes it is always static-local. Global TLS
is probably just going to use Global directly, so we don't need to to
permit it.

I DID leave it in the printing, as it makes it more clear what is
happening/for symmetry with get_global/global.

---------

Co-authored-by: Henrich Lauko <henrich.lau at gmail.com>


  Commit: 36023ea1fb2355ff8127f1ebfdf100e4e9296519
      https://github.com/llvm/llvm-project/commit/36023ea1fb2355ff8127f1ebfdf100e4e9296519
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M flang/include/flang/Parser/openmp-utils.h
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-utils.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp

  Log Message:
  -----------
  [flang][OpenMP] Move some utility functions from Semantics to Parser,… (#194434)

… NFC

Functions that only operate on AST nodes and not require any semantic
information belong in the parser library.


  Commit: 693a1787f2c919971cbd51b91ac716c75f84d471
      https://github.com/llvm/llvm-project/commit/693a1787f2c919971cbd51b91ac716c75f84d471
  Author: Dhruva <dhruvakodiadka at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/RISCV/combine-is_fpclass.ll

  Log Message:
  -----------
  [DAG] Precommit tests for computeKnownFPClass - ISD::EXTRACT_SUBVECTOR and ISD::INSERT_SUBVECTOR. (#190694)

This patch adds baseline tests for `ISD::EXTRACT_SUBVECTOR` and `ISD::INSERT_SUBVECTOR` in `computeKnownFPClass`  in #190378


  Commit: 7826a437b32427edd161f09a6c450bd1faab1d66
      https://github.com/llvm/llvm-project/commit/7826a437b32427edd161f09a6c450bd1faab1d66
  Author: Björn Schäpers <bjoern at hazardy.de>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/include/clang/Format/Format.h

  Log Message:
  -----------
  [clang-format][NFC] Sort AlignConsecutiveMacros option correctly (#194453)


  Commit: 5e625826d6d394e65a767bf94d21739b18dade30
      https://github.com/llvm/llvm-project/commit/5e625826d6d394e65a767bf94d21739b18dade30
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M libc/hdr/types/socklen_t.h

  Log Message:
  -----------
  [libc] Include from sys/socket.h for socklen_t (#194456)


  Commit: 7f6697b824d7d1c9b732f6c5cff37f2b1471cbd6
      https://github.com/llvm/llvm-project/commit/7f6697b824d7d1c9b732f6c5cff37f2b1471cbd6
  Author: Jerry Dang <kuroyukiasuna at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86CallingConv.td
    M llvm/test/CodeGen/X86/preserve_nonecc_call.ll

  Log Message:
  -----------
  fix preserve_none in X86 backend (#192300)

This is a bug in the X86 backend affecting preserve_none with -O1. At
-O1, clang emits:
```
tail call preserve_nonecc void @_Z14func(ptr noundef nonnull byval(%struct.S) align 8 %1)
```
The `preserve_none` + `byval` never emitted the required caller-side
copy of the pointee. The callee received a pointer directly to the
original memory, violating the byval contract from LangRef: "a hidden
copy of the pointee is made between the caller and the callee, so the
callee is unable to modify the value in the caller".

The root cause is that CC_X86_64_Preserve_None in X86CallingConv.td had
no byval handling. As a result, byval arguments were falling through to
the register assignment rules and being assigned to registers instead of
stack slots.

The bug is fixed by one line in CC_X86_64_Preserve_None:
```
CCIfByVal<CCPassByVal<8, 8>>,
```
This ensures byval arguments are assigned to stack slots before the
register assignment rules are considered, consistent with all other
x86-64 calling conventions.

Fixes #188930


  Commit: d28a8b0b3ff1848cc368e33d9a84dd90ee751332
      https://github.com/llvm/llvm-project/commit/d28a8b0b3ff1848cc368e33d9a84dd90ee751332
  Author: apple-fcloutier <fcloutier at apple.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/test/C/drs/dr335.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq.c
    M clang/test/CodeGen/atomic-ops.c
    M clang/test/CodeGen/atomic-test-and-set.c
    M clang/test/CodeGen/atomic.c
    M clang/test/CodeGen/atomic_ops.c
    M clang/test/CodeGen/builtins-bitint.c
    M clang/test/CodeGen/builtins.c
    M clang/test/CodeGen/c11atomics-ios.c
    M clang/test/CodeGen/defer-ts.c
    M clang/test/CodeGen/scoped-atomic-ops.c
    M clang/test/CodeGen/strict-bool.c
    M clang/test/CodeGen/ubsan-conditional.c
    M clang/test/CodeGenCXX/blocks.cpp
    M clang/test/CodeGenCXX/builtin-atomic-compare_exchange.cpp
    M clang/test/CodeGenCXX/cast-to-ref-bool.cpp
    M clang/test/CodeGenCXX/exceptions.cpp
    M clang/test/CodeGenCXX/ignored-bitfield-conditional.cpp
    M clang/test/CodeGenCXX/lambda-expressions.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCoroutines/pr59181.cpp
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
    M clang/test/CodeGenHLSL/Bool.hlsl
    M clang/test/CodeGenHLSL/BoolMatrix.hlsl
    M clang/test/CodeGenHLSL/BoolVector.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/VectorElementStore.hlsl
    M clang/test/CodeGenHLSL/builtins/WavePrefixCountBits.hlsl
    M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
    M clang/test/CodeGenHLSL/strict-bool.hlsl
    M clang/test/CodeGenHLSL/vk-features/vk.spec-constant.hlsl
    M clang/test/CodeGenObjC/property-atomic-bool.m
    M clang/test/CodeGenObjC/strict-bool.m
    M clang/test/CodeGenObjC/strong-in-c-struct.m
    M clang/test/CodeGenOpenCL/bool_cast.cl
    M clang/test/DebugInfo/KeyInstructions/atomic.c
    M clang/test/Frontend/fixed_point_add.c
    M clang/test/Frontend/fixed_point_comparisons.c
    M clang/test/Frontend/fixed_point_div.c
    M clang/test/Frontend/fixed_point_mul.c
    M clang/test/Frontend/fixed_point_sub.c
    M clang/test/Headers/__clang_hip_libdevice_declares.cpp
    M clang/test/Headers/gpuintrin.c
    M clang/test/Headers/openmp-device-functions-bool.c
    M clang/test/OpenMP/atomic_capture_codegen.cpp
    M clang/test/OpenMP/atomic_update_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/for_codegen.cpp
    M clang/test/OpenMP/loop_collapse_codegen.cpp
    M clang/test/OpenMP/master_taskloop_simd_codegen.cpp
    M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
    M clang/test/OpenMP/parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/parallel_master_taskloop_codegen.cpp
    M clang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
    M clang/test/OpenMP/target_data_if_logical_codegen.cpp
    M clang/test/OpenMP/target_enter_data_depend_codegen.cpp
    M clang/test/OpenMP/target_exit_data_depend_codegen.cpp
    M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
    M clang/test/OpenMP/target_parallel_debug_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_debug_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-3.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_update_depend_codegen.cpp
    M clang/test/OpenMP/taskloop_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp

  Log Message:
  -----------
  [CodeGen] Change -O0 bool load codegen to have nonzero model (#193783)

The main follow-up item to
https://github.com/llvm/llvm-project/pull/160790 was changing -O0
codegen to convert in-memory i8 bool values to i1 with the `nonzero`
rule (`icmp ne i8 %val, 0`) rather than the `truncate` rule (`trunc i8
%val to i1`).

Bool values can only be `true` or `false`. While they are notionally a
single bit, the smallest addressable unit is CHAR_BIT bits large, and
CHAR_BIT is typically 8. Programming errors (such as memcpying a random
byte to a `bool`) can cause the 8-bit storage for a `bool` value to have
a bit pattern that is different from `true` or `false`, which then leads
to undefined behavior.

Clang has historically taken advantage of this in optimized builds
(everything other than -O0) by attaching range metadata to `bool` loads
to assume that the value loaded can only be 0 or 1. This leads to
exploitable security issues, and the correct behavior is not always easy
to explain to C developers. To remedy this situation, Clang accepted a
[-fstrict-bool](https://discourse.llvm.org/t/defining-what-happens-when-a-bool-isn-t-0-or-1/86778)
switch to control whether it can assume that loaded bool values are
always necessarily 0 or 1. By default, it does (maintaining the status
quo), and users must specify `-fno-strict-bool` to opt out of that
behavior.

When opting out, users can optionally request that bool i8 values are
converted to i1 either by truncation or by comparing to 0. The default
is comparing to 0. However, since `-O0` alone _technically_ uses
-fstrict-bool, unoptimized builds convert i8 bool values to i1 with a
`trunc` operation, whereas `-O1 -fno-strict-bool` converts i8 bool
values to i1 with `icmp ne 0`. This is a surprising inconsistency.

This PR changes -O0 codegen to align with -fno-strict-bool. This is
achieved with a single-line change:

```
   bool isConvertingBoolWithCmp0() const {
     switch (getLoadBoolFromMem()) {
     case BoolFromMem::Strict:
+      return !isOptimizedBuild();
     case BoolFromMem::Truncate:
```

However, it impacts a _very large_ number of tests, so we agreed to move
it out of the -fstrict-bool PR to reduce the chances we would have to
back out the whole thing for this secondary item.

This PR does the change and modifies the tests accordingly. I expect
that it will go stale rather quickly. If this needs more discussion,
I'll only update it once we reach consensus.


  Commit: 48b342ba96246f0c97778f83ffc93e30c6f5620b
      https://github.com/llvm/llvm-project/commit/48b342ba96246f0c97778f83ffc93e30c6f5620b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ADT/StableHashing.h
    M llvm/test/CodeGen/X86/machine-block-hash.mir
    M llvm/unittests/ADT/StableHashingTest.cpp

  Log Message:
  -----------
  [ADT] Make stable_hash_combine to be endian-independent (#194430)


  Commit: 464555d0921225a6d7e4a1ac23464ce24fda191d
      https://github.com/llvm/llvm-project/commit/464555d0921225a6d7e4a1ac23464ce24fda191d
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
    M clang/test/CIR/CodeGen/static-local.cpp
    R clang/test/CIR/Transforms/cast-bitcast-funcptr-roundtrip-fold.cir

  Log Message:
  -----------
  [CIR] Set the static_local attribute if needed when initializing (#194094)

There was a case where we were creating a GetGlobalOp when initializing
a static local variable that required a guard variable but failing to
set the static_local attribute on the GetGlobalOp. This led to a CIR
verificaiton error. This change sets the attribute when it is needed.

Assisted-by: Cursor / claude-4.7-opus-high


  Commit: 8e8bb22a35a25f8406ba4342cc7ad102cf354b65
      https://github.com/llvm/llvm-project/commit/8e8bb22a35a25f8406ba4342cc7ad102cf354b65
  Author: Iasonaskrpr <iaskarapro at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Object/OffloadBinary.h
    M llvm/lib/Object/OffloadBinary.cpp

  Log Message:
  -----------
  Fix offload binary header (#194335)

Fixes #194331


  Commit: 34535e9bae8b798370768775dfed6065aaca806b
      https://github.com/llvm/llvm-project/commit/34535e9bae8b798370768775dfed6065aaca806b
  Author: David Meng <davidmenggx at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/attr-ownership.c

  Log Message:
  -----------
  [Sema] Enforce parameter match for ownership_returns attribute (#192339)

Previously parsing multiple ownership_returns attributes with different
arguments could lead to a crash. The documentation states that if
forward declarations have ownership_returns, they must have the same
arguments, and it may appear at most once per declaration.

This patch ensures that if multiple ownership_returns attributes are
present, their arguments (identifier and the optional index) must
exactly match. The diagonstic err_ownership_param_mismatch is introduced
for clarity.

Test cases for f15, C::f, and the newly added f22 were also updated to
match the requirement that all declarations of ownership_returns have
the same arguments, using the err_ownership_param_mismatch diagonstic.

Fixes #188733


  Commit: d55166c23bf1e865c961440a5ef50badd5f69e0f
      https://github.com/llvm/llvm-project/commit/d55166c23bf1e865c961440a5ef50badd5f69e0f
  Author: modiking <mmo at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/branch-fold.mir
    M llvm/test/CodeGen/NVPTX/i128.ll
    M llvm/test/CodeGen/NVPTX/jump-table.ll
    M llvm/test/CodeGen/NVPTX/machinelicm-no-preheader.mir
    M llvm/test/CodeGen/NVPTX/switch-loop-header.mir
    M llvm/test/DebugInfo/NVPTX/inlinedAt_2.mir

  Log Message:
  -----------
  [NVPTX] Add reverseBranchCondition and CBranch inverted flag (#191889)

Add flag to `CBranch` instruction for inverted predicate branches (`@!p
bra`) and implement `reverseBranchCondition` to support branch condition
inversion.

This enables passes like branch folding to properly reverse branch
conditions, and is a prerequisite for SETP predicate inversion CSE.

Assisted-by: Cursor / Claude


  Commit: 10fe2e3d6806918ebc06710669ebdce89a305489
      https://github.com/llvm/llvm-project/commit/10fe2e3d6806918ebc06710669ebdce89a305489
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

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

  Log Message:
  -----------
  [VPlan] Pass TTI + CostKind to spillCost instead of CostCtx (NFC) (#194417)

Instead of passing CostContext, directly pass the needed TTI and
CostKind. This makes the function easier to re-use in other places,
without the need of constructing VPCostContext.

Split off from https://github.com/llvm/llvm-project/pull/194267 as
suggested.


  Commit: 20a62a41c26215b342431c6ab98702ddfb1a6a86
      https://github.com/llvm/llvm-project/commit/20a62a41c26215b342431c6ab98702ddfb1a6a86
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp

  Log Message:
  -----------
  [CIR] Eliminate SymbolTable::lookupSymbolIn hotspots (#193362)

mlir::SymbolTable::lookupSymbolIn is O(n) per lookup, so cumulative
symbol lookups during CIRGen are O(n^2) in the number of global symbols.
On template-heavy translation units this becomes a significant
compile-time hotspot.

Replace the SymbolTable lookup path with a per-CIRGenModule DenseMap
cache keyed by symbol name, giving O(1) lookups.

On a synthetic template-heavy stress test, end-to-end compile time on
`clang -fclangir -S -emit-llvm -O0` improves by ~11% on a 33K-LOC input
(5.86s -> 5.21s) and ~16% on a 67K-LOC input (16.09s -> 13.52s). The
super-linear growth of the win with input size confirms the O(n^2) ->
O(n) effect.

Similar to previous compile time fix, repro shape (scale records and
template instantiations into the hundreds/thousands to amplify):

  template <typename T, int N> struct Box { T head; Box<T, N-1> tail; };
  template <typename T> struct Box<T, 0> { T head; };
  struct R0; struct R1;
  struct R0 { int v; Box<int, 4> b; R1* next; };
  struct R1 { long v; Box<long, 4> b; R0* next; };
  int f0(R0*); int f1(R1*);
  int f0(R0* r) { return r->v + (r->next ? f1(r->next) : 0); }
  int f1(R1* r) { return (int)r->v + (r->next ? f0(r->next) : 0); }


  Commit: 1a805ace4320a7534de020a95b30605e6e28f78d
      https://github.com/llvm/llvm-project/commit/1a805ace4320a7534de020a95b30605e6e28f78d
  Author: joaosaffran <joaosaffranllvm at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll

  Log Message:
  -----------
  [HLSL] SPIRV Address after merge comments from #193068 (#194462)

This patch is addressing some comments that arose after #193068 was
merged.


  Commit: b862554a70eeb9a8315f45406a7e13c771af1eb7
      https://github.com/llvm/llvm-project/commit/b862554a70eeb9a8315f45406a7e13c771af1eb7
  Author: Yury Plyakhin <yury.plyakhin at intel.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/test/Driver/linker-wrapper-image.c
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M libsycl/src/detail/device_binary_structures.hpp
    M libsycl/src/detail/device_image_wrapper.cpp
    M libsycl/src/detail/device_image_wrapper.hpp
    M libsycl/src/detail/program_manager.cpp
    M libsycl/src/detail/program_manager.hpp
    M llvm/include/llvm/Frontend/Offloading/Utility.h
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/Frontend/Offloading/Utility.cpp

  Log Message:
  -----------
  [Offload][libsycl][clang-sycl-linker] Simplify SYCL Offload wrapping (#193876)

Replace the __sycl_tgt_bin_desc/__sycl_tgt_device_image-based fat binary
registration with a simpler OffloadBinary-native approach:

- __sycl_register_lib/__sycl_unregister_lib now take (BinaryStart, Size)
instead of a __sycl_tgt_bin_desc pointer; __sycl_unregister_lib only
needs BinaryStart since the runtime looks up the binary by its start
address.
- OffloadWrapper's SYCL wrapping is significantly simplified: the
__tgt_bin_desc/__tgt_device_image structs and the descriptor
construction code are replaced by a single embedded OffloadBinary blob
passed directly to the register/unregister entry points.
- clang-sycl-linker generates a single OffloadBinary, which contains
multiple images.
- ProgramAndKernelManager::registerFatBin parses the blob via
OffloadBinary::create, keying MDeviceImageManagers by BinaryStart to
eliminate the reparse on unregister.
- DeviceImageManager owns std::unique_ptr<OffloadBinary> instead of
borrowing a __sycl_tgt_device_image pointer; getRawData renamed to
getOffloadBinary.
- Introduce forEachSymbol and SymbolTable serialization
(writeSymbolTable/ SymbolTableHeader/SymbolTableEntry) in Utility.h to
expose the kernel symbol table embedded in the OffloadBinary "symbols"
section for consumption by the SYCL runtime.
- device_binary_structures.hpp reduced to DeviceBinaryTripleSPIRV64.

Co-Authored-By: Claude


  Commit: 0424f5e45af770f6f0372c916e849b3d11de7ee6
      https://github.com/llvm/llvm-project/commit/0424f5e45af770f6f0372c916e849b3d11de7ee6
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    R llvm/test/CodeGen/AArch64/GlobalISel/combine-constant-fold-count.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-constant-fold-unary-int.mir
    M llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions-but-one.ll

  Log Message:
  -----------
  [GIsel] Add constant-folding for more unary integer ops (#194265)

Generalize ConstantFoldCountOp to ConstantFoldUnaryIntOp including
G_ABS, G_BSWAP, G_BITREVERSE


  Commit: 11f1a35917f39cbd1ec53ea7f17bac53f121f40c
      https://github.com/llvm/llvm-project/commit/11f1a35917f39cbd1ec53ea7f17bac53f121f40c
  Author: Ross Burton <ross.burton at arm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M lldb/docs/use/tutorials/writing-custom-commands.md
    M lldb/examples/python/armv7_cortex_m_target_defintion.py
    M lldb/examples/python/bsd.py
    M lldb/examples/python/cmdtemplate.py
    M lldb/examples/python/delta.py
    M lldb/examples/python/disasm-stress-test.py
    M lldb/examples/python/disasm.py
    M lldb/examples/python/file_extract.py
    M lldb/examples/python/gdbremote.py
    M lldb/examples/python/globals.py
    M lldb/examples/python/in_call_stack.py
    M lldb/examples/python/lldb_module_utils.py
    M lldb/examples/python/lldbtk.py
    M lldb/examples/python/mach_o.py
    M lldb/examples/python/memory.py
    M lldb/examples/python/operating_system.py
    M lldb/examples/python/performance.py
    M lldb/examples/python/process_events.py
    M lldb/examples/python/sbvalue.py
    M lldb/examples/python/shadow.py
    M lldb/examples/python/sources.py
    M lldb/examples/python/stacks.py
    M lldb/examples/python/symbolication.py
    M lldb/examples/python/types.py
    M lldb/examples/python/x86_64_linux_target_definition.py
    M lldb/examples/python/x86_64_qemu_target_definition.py
    M lldb/examples/python/x86_64_target_definition.py
    M lldb/scripts/analyze-project-deps.py
    M lldb/scripts/verify_api.py
    M lldb/test/API/dotest.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/operating_system2.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/os_plugin_in_dsym/operating_system.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/operating_system.py
    M lldb/test/API/test_runner/test/inferior.py
    M lldb/test/API/test_runner/test/test_process_control.py
    M lldb/test/Shell/Quit/expect_exit_code.py
    M lldb/test/Shell/Register/Core/Inputs/strip-coredump.py
    M lldb/test/Shell/ScriptInterpreter/Python/Crashlog/patch-crashlog.py
    M lldb/test/Shell/helper/build.py
    M lldb/utils/lui/lui.py
    M lldb/utils/lui/sandbox.py

  Log Message:
  -----------
  [lldb] Unify python shebangs (#187257)

As per PEP-0394[1], there is no real concensus over what binary names
Python has, specifically 'python' could be Python 3, Python 2, or not
exist.

However, everyone has a python3 interpreter and the scripts are all
written for Python 3. Unify the shebangs so that the ~50% of shebangs
that use python now use python3.

[1] https://peps.python.org/pep-0394/


  Commit: 5aa71ad4223ab4656c6cbec55b605adebc7c36ae
      https://github.com/llvm/llvm-project/commit/5aa71ad4223ab4656c6cbec55b605adebc7c36ae
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    R llvm/test/Transforms/SROA/protected-field-pointer.ll

  Log Message:
  -----------
  Revert "SROA: Recognize llvm.protected.field.ptr intrinsics."

This commit turns out to also not be needed after #186548; it now makes
a very small difference (~40 bytes) to Fleetbench binary size.

This reverts commit b0d340557841e0c3f72d19be89aebef2a8ce02e5.

Reviewers: fmayer, nikic

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


  Commit: 6f2e1a120ebb75da9b3fe6afb19231aa0f801a34
      https://github.com/llvm/llvm-project/commit/6f2e1a120ebb75da9b3fe6afb19231aa0f801a34
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp

  Log Message:
  -----------
  [libc][test] Remove non-proxy header in sendmsg_recvmsg_test.cpp (#194467)

The header `include/llvm-libc-macros/linux/sys-socket-macros.h` should
be included via `hdr/sys_socket_macros.h` which proxies based on whether
LIBC_FULL_BUILD is enabled. Else we mix LLVM-libc internal headers and
system headers.


  Commit: 0eaa1f5884bf01064e280cee9148fc29b8bfa099
      https://github.com/llvm/llvm-project/commit/0eaa1f5884bf01064e280cee9148fc29b8bfa099
  Author: gulfemsavrun <gulfem at google.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-profgen.rst
    M llvm/docs/ReleaseNotes.md
    A llvm/include/llvm/ProfileData/ETMTraceDecoder.h
    M llvm/lib/ProfileData/CMakeLists.txt
    A llvm/lib/ProfileData/ETMTraceDecoder.cpp
    A llvm/test/tools/llvm-profgen/Inputs/etm-opencsd.yaml
    A llvm/test/tools/llvm-profgen/etm-arch.test
    A llvm/test/tools/llvm-profgen/etm-opencsd.test
    M llvm/test/tools/llvm-profgen/lit.local.cfg
    M llvm/tools/llvm-profgen/PerfReader.cpp
    M llvm/tools/llvm-profgen/PerfReader.h
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.h
    M llvm/tools/llvm-profgen/llvm-profgen.cpp

  Log Message:
  -----------
  Reland "[llvm-profgen] Add support for ETM trace decoding" (#194465)

This relands commit e3bd61890e68303a33fdd33fbdd9abeda (#191584), which
was reverted in commit
ec9d7d18bdfe21c30c94c02f14f3613f7b69a17b (#194087) due to bot failures
on ppc64le and Windows.

This reland incorporates the following fixes:

1) Rename member variable InputFile to InputFilePath inside struct
InputFile to resolve MSVC shadow
conflicts.

2) Add arm-registered-target to ETM tests REQUIRES directive to prevent
failures on builders that do
not have the ARM target enabled.


  Commit: 8427cb750613226b6ee57e46b8338e8cf0bc2cd1
      https://github.com/llvm/llvm-project/commit/8427cb750613226b6ee57e46b8338e8cf0bc2cd1
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/test/CIR/CodeGen/binop.cpp
    M clang/test/CIR/CodeGen/cmp.cpp
    M clang/test/CIR/CodeGen/complex.cpp
    M clang/test/CIR/CodeGen/if.cpp
    M clang/test/CIR/CodeGen/ternary-throw.cpp
    M clang/test/CIR/CodeGen/ternary.cpp
    M clang/test/CIR/CodeGen/unary.cpp

  Log Message:
  -----------
  [CIR] Fix failing tests after bool load change (#194468)

This fixes CIR tests that were failing as a result of the change in how
bool load values are truncated in
https://github.com/llvm/llvm-project/pull/193783


  Commit: 75bef3ebd5f8e013bf3fa06467f6644257158c0b
      https://github.com/llvm/llvm-project/commit/75bef3ebd5f8e013bf3fa06467f6644257158c0b
  Author: Yury Plyakhin <yury.plyakhin at intel.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/tools/clang-sycl-linker/CMakeLists.txt

  Log Message:
  -----------
  [clang-sycl-linker] Add FrontendOffloading dependency to clang-sycl-linker (#194471)

This PR fixes the build after
https://github.com/llvm/llvm-project/commit/b862554a70eeb9a8315f45406a7e13c771af1eb7

Fixes missing dependency in `clang-sycl-linker/CMakeLists.txt`


  Commit: ccc0d54239863d6c547e3cd95aaaf3667bcd6c92
      https://github.com/llvm/llvm-project/commit/ccc0d54239863d6c547e3cd95aaaf3667bcd6c92
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port 0eaa1f5884bf (#194478)


  Commit: 1106bd9565a99a4947afca94c245c60659192804
      https://github.com/llvm/llvm-project/commit/1106bd9565a99a4947afca94c245c60659192804
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn

  Log Message:
  -----------
  [gn build] Port ef18c253321f (#194479)


  Commit: 3c7128b85ada8d9cd7a8da7e69c237590dc7e044
      https://github.com/llvm/llvm-project/commit/3c7128b85ada8d9cd7a8da7e69c237590dc7e044
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port fe587c5ad92b (#194480)


  Commit: 043e778f85f60b654547f2104bca32fdbed2eafd
      https://github.com/llvm/llvm-project/commit/043e778f85f60b654547f2104bca32fdbed2eafd
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  lldb] Fix two issues causing TestEvents.py flakiness (#194438)

This PR fixes two issues that contribute to `TestEvents.py` being flaky
in CI:

1. `ProcessEventData::DoOnRemoval` runs the full stop-handling logic
(like `ShouldStop` and `RunStopHooks`) every time an event is consumed
from any listener. When the primary listener consumes an event and then
the shadow listener consumes the same event, the logic runs twice. The
second execution can race with subsequent event processing. Fix this by
incrementing `m_update_state` after the first successful run so
secondary listeners skip the full logic.

2. Target::RunStopHooks updates `m_latest_stop_hook_id` (marking a stop
as "handled") before checking whether any threads have stop reasons. If
the check fails and hooks don't run, the stop ID is already consumed,
preventing hooks from ever running for that stop. Fix this by deferring
the update until we're certain we'll actually run hooks.


  Commit: 822392d2dda851139b840b24672294378d5cc29f
      https://github.com/llvm/llvm-project/commit/822392d2dda851139b840b24672294378d5cc29f
  Author: Arda Serdar Pektezol <arda at pektezol.dev>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Transforms/VectorCombine/X86/extract-extract-oob.ll

  Log Message:
  -----------
  [VectorCombine] reject out-of-bounds extract indexes in foldExtractExtract (#194381)

Fixes #194355

`VectorCombine::foldExtractExtract()` matches any constant-index
`extractelement` operands, but it never verifies that they are in range
for a fixed-width vector.


  Commit: e44ea654fe0a53b8942931d519f9817774ca6441
      https://github.com/llvm/llvm-project/commit/e44ea654fe0a53b8942931d519f9817774ca6441
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/narrow-shift-extend.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/vnsra-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vnsrl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-vaaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp.ll

  Log Message:
  -----------
  [RISCV] Remove codegen for vp_zext, vp_sext (#194295)

Part of the work to remove trivial VP intrinsics from the RISC-V
backend, see
https://discourse.llvm.org/t/rfc-remove-codegen-support-for-trivial-vp-intrinsics-in-the-risc-v-backend/87999

This splits off 2 intrinsics from #179622. The vp_truncate combine needs
to be updated to keep the vaaddu patterns for now, but it will be
removed in an upcoming PR.


  Commit: 6722bb7fe9b5e029c485bd0bc33269d553b7ef1a
      https://github.com/llvm/llvm-project/commit/6722bb7fe9b5e029c485bd0bc33269d553b7ef1a
  Author: Mariusz Borsa <wrotki at msn.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M compiler-rt/lib/asan_abi/asan_abi_tbd.txt

  Log Message:
  -----------
  [asan_abi] Skip new __asan_get_report_* from ABI (#194463)

PR #181446 ("[asan] API for getting multiple pointer ranges") added five
new __asan_get_report_{dealloc,dest,first,second,src}_address entries to
compiler-rt/lib/asan/asan_interface.inc without updating
asan_abi_tbd.txt
or implementing them in compiler-rt/lib/asan_abi/asan_abi.cpp. This
broke
the AddressSanitizerABI-arm64-darwin ::
Darwin/llvm_interface_symbols.cpp
test, which diffs asan_interface.inc (minus asan_abi_tbd.txt) against
the
symbols actually exported by libclang_rt.asan_abi_osx.a.

List the new symbols alongside the existing __asan_get_report_* entries
so the stable-ABI test passes. The symbols remain unimplemented in the
stable ABI library; this change only reflects that they are
intentionally
not part of the stable ABI surface.

Assisted-by: Claude Opus 4.7

rdar://175286011

Co-authored-by: Mariusz Borsa <m_borsa at apple.com>


  Commit: 0b82418685164dd6db4a9e01bdadfe3b482bde11
      https://github.com/llvm/llvm-project/commit/0b82418685164dd6db4a9e01bdadfe3b482bde11
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/test/Fir/CUDA/cuda-constructor-2.f90

  Log Message:
  -----------
  [flang][cuda] Restore constructor for global only module (#194466)


  Commit: 2774ab189b9a1692f26de487ac38fc6a2bf3cfb4
      https://github.com/llvm/llvm-project/commit/2774ab189b9a1692f26de487ac38fc6a2bf3cfb4
  Author: Quentin Colombet <quentin.colombet at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/InlineSpiller.cpp
    A llvm/test/CodeGen/AMDGPU/regalloc-hoist-spill-live-range-upd.ll

  Log Message:
  -----------
  [InlineSpiller] Fix live-range update in hoisting within bb (#193880)

The InlineSpiller tries to shorten the live-ranges used when storing a
value that is defined by a sibling register by performing the following
transformation:
```
a = copy b
store a
```
=>
```
store b
```
That is, it eliminates the copy and store the original value at the copy
location.

As far as `b`'s live-range is concerned, this transformation is neutral
as long as the store is inserted in place of the copy being removed.

That doesn't hold when the copy is part of the basic block prologue. In
that case, the earliest insertion point for the store is after the
prologue:
```
a = copy b # part of bb prologue
... # more prologue instrs
store a <-- earliest insertion point
```
Therefore when this optimization kicks in and the copy is in the bb's
prologue, b's live-range needs to be extended to that insertion point.

This is exactly what this fix does.

Note: This issue is fairly easy to understand from an IR stand point and
one would expect a small reproducer.
Indeed, we would need only something that looks like:
```
a = copy b # prologue compatible copy
... # some more prologue instrs
... # high pressure point
= use a
```

The problem is the InlineSpiller optimization (implemented in
InlineSpiller::hoistSpillInsideBB) triggers only if `a` and `b` are
sibling registers, meaning they are the product of a live-range
splitting. Controlling live-range splitting is hard and I couldn't come
up with a smaller test case. The problem also disappears if we run
greedy alone because the live-ranges are repacked (well the slot indices
to be exact) compared to what the scheduler produces. That changes the
allocation order and the bug is not hit anymore.
The alternative would be to run the pipeline from the
coalescer/scheduler but that's not a whole lot more robust than the LLVM
IR path, plus the reproducer would be ~20k line long!

The other option (maybe something we should do in the long term) would
be to serialize/deserialize the VirtRegMap object so that we can set the
Virt2SplitMap map in a state that register a and b as siblings.


  Commit: 94a6a6b3cdea0179b0599a88b16fe87e672ccf5b
      https://github.com/llvm/llvm-project/commit/94a6a6b3cdea0179b0599a88b16fe87e672ccf5b
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    A clang/test/CIR/CodeGen/temp-param-obj-decl.cpp

  Log Message:
  -----------
  [CIR] Handle DeclRefExpr's to NTTP Objects (#194482)

NTTP objects are represented as globals so that you can refer to
them/address of them/etc, but most access to them should result in
constant expressions. This patch implements the creation of these
globals, and allows compelation to continue.

This should fix up the last DeclRefExpr LValue that appears other than
MSGuids and named global registers, both of which are specific to
individual attributes.


  Commit: c1e78ed3d603923a077899b32341647904d9007f
      https://github.com/llvm/llvm-project/commit/c1e78ed3d603923a077899b32341647904d9007f
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Driver/ModulesDriver.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ModulesDriver.cpp
    A clang/test/Driver/modules-driver-both-modules-types.cpp
    A clang/test/Driver/modules-driver-cxx-modules-only.cpp
    A clang/test/Driver/modules-driver-import-std.cpp
    A clang/test/Driver/modules-driver-incompatible-options.cpp

  Log Message:
  -----------
  Reland "[clang][modules-driver] Add support for C++ named modules and import std" (2nd attempt) (#194475)

This reverts #193857 and relands #193312.

This adds basic support for explicit C++ named module builds, managed
natively by the Clang driver, including support for use of the Standard
library modules. This follows #187606, which adds the same for Clang
modules.

Current limitations:
- Standard library modules are still compiled to object files instead of
using the provided shared library. (This will be addressed in a
follow-up soon.)
- Caching is not supported yet (but likely to be added during the
upcoming GSoC cycle).
- Importing C++ standard library modules into Clang modules is not
supported (and not expected in the near term).

RFC:

https://discourse.llvm.org/t/rfc-modules-support-simple-c-20-modules-use-from-the-clang-driver-without-a-build-system


  Commit: eac6d03f95450c60118d0c4bfacc55f6e8affd45
      https://github.com/llvm/llvm-project/commit/eac6d03f95450c60118d0c4bfacc55f6e8affd45
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/test/Driver/modules-driver-import-std.cpp

  Log Message:
  -----------
  [clang][modules-driver] Fix failing import-std regression test (#194502)

See
https://github.com/llvm/llvm-project/pull/194475#issuecomment-4331347690.
This constrains the test to not run on aarch64, where it fails on
`clang-aarch64-quick` and `llvm-clang-aarch64-darwin` builders.
The failing builders don't show any output, and the test will be
re-enabled for aarch64 in a later follow-up.

Co-authored-by: Naveen Seth Hanig <naveen.hanig at oulook.com>


  Commit: 5281d4c18ea9bf9aca1d73e002359a66d085f4c4
      https://github.com/llvm/llvm-project/commit/5281d4c18ea9bf9aca1d73e002359a66d085f4c4
  Author: Anonmiraj <ezzibrahimx at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/bf16subl.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/bf16subl.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/bf16subl.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Refactor bf16subl to header-only (#194498)

Refactors the bf16subl math family to be header-only.


  Commit: 085f2407fec2ec56b43904fcecae0cf3e34c5fcd
      https://github.com/llvm/llvm-project/commit/085f2407fec2ec56b43904fcecae0cf3e34c5fcd
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/test/CIR/CodeGen/temp-param-obj-decl.cpp

  Log Message:
  -----------
  [CIR] Lower constant NTTP objects (#194496)

Like my previous patch, this just stores an NTTP object as a global
(using the same code, with 1 level of indrection slipped off), and
initializes it as a const. This patch also fleshes out the
CIRGenExprConstant.cpp area, leaving just 2 'NYI's in the area, 1 of
which is the MSGuidAttr again.


  Commit: eec2249a311f735426102332bce72eae6c576a4b
      https://github.com/llvm/llvm-project/commit/eec2249a311f735426102332bce72eae6c576a4b
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll

  Log Message:
  -----------
  [RISCV] Improve getInterleavedMemoryOpCost for interleave groups with tail gaps. (#192074)

For interleaved access groups where gaps are only at the tail (i.e.
members are contiguous starting from index 0 but do not fill the entire
factor), the interleaved memory access pass can lower them to
vlsseg/vssseg intrinsics with NF equal to the number of group members
rather than the factor after #151612 and #154647.

Previously these groups fell through to the generic fixed-vector shuffle
cost model. This patch adds a dedicated cost path that checks legality
and estimates appropriate cost for them.

TODO: Support scalable vector type.
Fix #151497


  Commit: 1228142a5d6130657aaefbf22a41ed6c1482c228
      https://github.com/llvm/llvm-project/commit/1228142a5d6130657aaefbf22a41ed6c1482c228
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    A clang/test/CIR/CodeGen/consteval-aggregate.cpp

  Log Message:
  -----------
  [CIR] Implement PredefinedExpr in aggregate emitter and add consteval… (#194484)

… aggregate test

Handle PredefinedExpr by delegating to emitAggLoadOfLValue, removing the
NYI fallback. Also add a test for ConstantExpr aggregate emission
(consteval functions returning structs), which was already implemented
but lacked test coverage.

This unblocks ~206 libcxx test failures that involve aggregate
ConstantExpr and PredefinedExpr.

Note on LLVM IR divergence (will be addressed in follow-up PRs): For
consteval functions returning aggregates, CIR currently emits a global
constant + cir.copy that lowers to llvm.memcpy from the global, while
OGCG decomposes the constant into per-field stores. The added CIR / LLVM
/ OGCG CHECK lines in consteval-aggregate.cpp document this difference.
Convergence will come from a follow-up that decomposes the consteval
aggregate stores into per-field stores in LoweringPrepare (and related
GEP-index handling for padded structs).


  Commit: fe46959a92882f5bf377682847af3a254c808479
      https://github.com/llvm/llvm-project/commit/fe46959a92882f5bf377682847af3a254c808479
  Author: Anonmiraj <ezzibrahimx at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/ilogbbf16.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/ilogbbf16.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/ilogbbf16.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Refactor ilogbbf16 to header-only (#194503)

Refactors ilogbbf16 to be header-only.


  Commit: 3c66b3222ec9051038528fbfd75f054ed17728bd
      https://github.com/llvm/llvm-project/commit/3c66b3222ec9051038528fbfd75f054ed17728bd
  Author: Anonmiraj <ezzibrahimx at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/llogbbf16.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/llogbbf16.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/llogbbf16.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Refactor llogbbf16 to header-only (#194509)

Refactor llogbbf16 to be header-only.

part of: #147386


  Commit: 61adecca5683872000da32d1d8897afe038428b0
      https://github.com/llvm/llvm-project/commit/61adecca5683872000da32d1d8897afe038428b0
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    M mlir/include/mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h
    M mlir/include/mlir/Dialect/XeGPU/uArch/uArchBase.h
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/test/Dialect/XeGPU/ops.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] XeGPU DpasMx Op Definition adds Layout Support (#194117)

This PR extends the DpasMx operation to support MXFP (microscaling
floating point) matrix multiply with separate scale factor layouts.

1. Op Definition
     Added layout_a_scale and layout_b_scale attributes to DpasMx op
Removed AllElementTypesMatch<["a", "b"]> trait to allow different types
for A/B with scales
2. Layout Infrastructure
setupDpasMxLayout(): Creates anchor layouts for all 5 operands (A, B,
C/D, scale_a, scale_b)
Derives scale layouts from parent matrix layouts by dividing innermost
dimension
    Supports all layout kinds: Subgroup, InstData, Lane
Fix a bug in getupDpasSubgroupLayouts(): sg_data of A/B matrix should
keep the full K dimension.
3. Layout Propagation

visitDpasMxOp(): Propagates layout attributes from op to operands during
dataflow analysis
    
Assisted by: Claude

---------

Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>


  Commit: 955bb5c59f9184b6b125a4fc55583e1fdbcbac8f
      https://github.com/llvm/llvm-project/commit/955bb5c59f9184b6b125a4fc55583e1fdbcbac8f
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/cert/arr39-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/con36-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/con54-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/ctr56-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl03-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl16-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl37-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl50-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl51-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl54-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl59-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err09-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err34-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err52-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err60-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err61-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/exp42-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/exp45-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/fio38-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/flp30-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/flp37-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/int09-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc24-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc30-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc32-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc50-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc54-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop11-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop54-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/pos44-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/pos47-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/sig30-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/str34-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-c-arrays.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-magic-numbers.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/c-copy-assignment-signature.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/explicit-virtual-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/macro-to-enum.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-destructor.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-move-operations.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-swap.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/non-private-member-variables-in-classes.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-default-member-init.rst
    M clang-tools-extra/docs/clang-tidy/checks/fuchsia/header-anon-namespaces.rst
    M clang-tools-extra/docs/clang-tidy/checks/fuchsia/multiple-inheritance.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/build-namespaces.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-braces-around-statements.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-casting.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-function-size.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-namespace-comments.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-c-arrays.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-goto.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/braces-around-statements.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/deprecated-headers.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/exception-baseclass.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/explicit-conversions.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/function-size.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/ignored-remove-result.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/invalid-access-moved.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/member-init.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/move-const-arg.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/named-parameter.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/new-delete-operators.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-array-decay.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-assembler.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-malloc.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/noexcept-move.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/signed-bitwise.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/special-member-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/static-assert.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/undelegated-constructor.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/uppercase-literal-suffix.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-auto.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-emplace.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-default.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-delete.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-noexcept.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-nullptr.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-override.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/vararg.rst
    M clang-tools-extra/docs/clang-tidy/checks/llvm/else-after-return.rst
    M clang-tools-extra/docs/clang-tidy/checks/llvm/qualified-auto.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-default.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/faster-string-find.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/implicit-cast-in-loop.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-cast.rst

  Log Message:
  -----------
  [clang-tidy][Docs] Remove all auto-redirects in documentation. NFC. (#193408)

RFC:
https://discourse.llvm.org/t/rfc-remove-automatic-redirects-from-clang-tidy-documentation/90633


  Commit: 26493fc9c3d61333c1cf265889ff2fe03d2f180d
      https://github.com/llvm/llvm-project/commit/26493fc9c3d61333c1cf265889ff2fe03d2f180d
  Author: Boyao Wang <wangboyao at bytedance.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [RISCV][NFC] Turn lowerVECTOR_SHUFFLE into a member function of RISCVTargetLowering (#194299)

Convert lowerVECTOR_SHUFFLE into a member function of
RISCVTargetLowering, aligning it with other lowerXXX member functions in
RISCVTargetLowering and matching other targets like AArch64.


  Commit: e734289ce3deb16c95764aa27f42594d620ed657
      https://github.com/llvm/llvm-project/commit/e734289ce3deb16c95764aa27f42594d620ed657
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    A clang/test/AST/ByteCode/libcxx/apvalue-initializer.cpp
    A clang/test/AST/ByteCode/libcxx/lvalue-constantexpr.cpp

  Log Message:
  -----------
  [clang][bytecode] Rework APValue visiting (#194408)

First, we can't just ignore the LValuePath of an lvalue APValue. Add
code to handle that and a test case exercising the newly added code.

We also didn't look at APValue bases when initializing from an APValue.


  Commit: f43471af112b584cef4d28e20659dbc5dc2c54da
      https://github.com/llvm/llvm-project/commit/f43471af112b584cef4d28e20659dbc5dc2c54da
  Author: 陈子昂 <2802328816 at qq.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Transforms/InstCombine/apint-shift.ll
    M llvm/test/Transforms/InstCombine/icmp-select.ll
    A llvm/test/Transforms/InstCombine/icmp-shl-add-to-add.ll

  Log Message:
  -----------
  [InstCombine] Reland #165975: Fix #163110: Support peeling off matching shifts from icmp operands via canEvaluateShifted (#190918)

This relanding of #165975 fixes the bug that caused the bootstrap-asan
buildbot failure
(https://lab.llvm.org/buildbot/#/builders/52/builds/16329).

## Original optimization

Consider a pattern like: `icmp (shl nsw/nuw X, L), (add nsw/nuw (shl
nsw/nuw Y, L), K)`

When K is a multiple of 2^L, this can be simplified to: `icmp X, (add
nsw/nuw Y, K >> L)`

This patch extends `canEvaluateShifted` to support `Instruction::Add`
and refactors its signature to accept a `ShiftSemantics` enum (`Lossy` /
`Unsigned` / `Signed`) instead of a bare opcode. This allows the
function to enforce losslessness requirements according to the overflow
flags (nsw/nuw) of the operands. The logic is wired into
`foldICmpCommutative` to fold `icmp (shl nuw/nsw X, C), Op1` into `icmp
X, (Op1 >> C)` when Op1 can be right-shifted losslessly by C bits.

## Bug fixed since #165975

`canEvaluateShiftedShift` unconditionally returned `true` for
same-direction logical shifts, ignoring the `ShiftSemantics` parameter.
This caused `foldICmpCommutative` to incorrectly transform:

`icmp uge (shl nuw X, 4), (lshr Y, 1) → icmp uge X, (lshr Y, 5) ← WRONG`

**Fix:** `canEvaluateShiftedShift` now returns `true` for same-direction
shifts only when `Semantics == ShiftSemantics::Lossy`, blocking the
unsafe fold for `Unsigned`/`Signed` semantics. Regression test added in
`Transforms/InstCombine/icmp_shl_lshr_fold.ll`.


  Commit: e0ccf9cb627efa6dffe085a02cd7f28df531dccd
      https://github.com/llvm/llvm-project/commit/e0ccf9cb627efa6dffe085a02cd7f28df531dccd
  Author: Shreeyash Pandey <shrpand at qti.qualcomm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/and-mask-removal.ll
    M llvm/test/CodeGen/AArch64/usub_sat_plus.ll
    M llvm/test/CodeGen/X86/combine-sub-usat.ll

  Log Message:
  -----------
  [AArch64][SelectionDAG] Generate subs+csel for usub.sat (#193203)

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

As this is a regression of
https://github.com/llvm/llvm-project/pull/170076, adds a check to avoid
generic lowering of usub.sat to X - zext(X != 0) in case of aarch64 by
making the constraint of this transformation stricter via an extra
isOperationLegalOrCustom guard on USUBO_CARRY. All other backends will
still receive generic lowering as implemented in the original patch.


  Commit: f61e1e46fff33724233e24c00c231cfc1f8e7eb9
      https://github.com/llvm/llvm-project/commit/f61e1e46fff33724233e24c00c231cfc1f8e7eb9
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/DebugData.cpp
    M llvm/include/llvm/MC/MCContext.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/DWARFCFIChecker/DWARFCFIAnalysis.cpp
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCContext.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/MC/MCInst.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/ELFAsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/MC/MCSFrame.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
    M llvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.h
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
    M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.cpp
    M llvm/lib/Target/TargetLoweringObjectFile.cpp
    M llvm/lib/Target/VE/Disassembler/VEDisassembler.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [MC] Make MCContext::getAsmInfo return a reference. NFC (#194523)

The MAI member is non-null. #194280 made this clearer by making the
MCContext constructor take MCAsmInfo by reference. Convert getAsmInfo to
return const MCAsmInfo & and the member to a reference.


  Commit: 6a0a18b1bb6098065833f73c3709f631f0b130e5
      https://github.com/llvm/llvm-project/commit/6a0a18b1bb6098065833f73c3709f631f0b130e5
  Author: Anonmiraj <ezzibrahimx at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/sqrtl.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/sqrtl.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/sqrtl.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Refactor sqrtl family to header-only (#194510)

part of: #147386

---------

Co-authored-by: bassiounix <muhammad.m.bassiouni at gmail.com>


  Commit: 1cb85dd46074e4e081995407cae973eee4a1aa38
      https://github.com/llvm/llvm-project/commit/1cb85dd46074e4e081995407cae973eee4a1aa38
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/test/Transforms/omp-map-info-finalization-usm.fir
    A offload/test/offloading/fortran/usm-box-parent-descriptor-close.f90

  Log Message:
  -----------
  [Flang][OpenMP] Clear close on descriptor members for box parents in USM (#194287)

Extend the MapInfoFinalization walk introduced in #185330 so
parent/member close consistency is enforced whenever
unified_shared_memory is in effect, not only when the parent map's
variable is a fir.RecordType. Allocatable (box) roots expand to member
maps the same way as derived-type instances; getDescriptorMapType may
add OMP_MAP_CLOSE to implicit descriptor members while the parent map
does not set close, which led to bad device behavior under
-fopenmp-force-usm with multiple mapped allocatables.

PR stack:
- https://github.com/llvm/llvm-project/pull/194287 (this one)
- https://github.com/llvm/llvm-project/pull/194291

Co-authored-by: Composer (Cursor) <ai at cursor.com>


  Commit: 0b7144832541f6c076d6a3e57b2d0678056d6fa4
      https://github.com/llvm/llvm-project/commit/0b7144832541f6c076d6a3e57b2d0678056d6fa4
  Author: Anshul Nigham <nigham at google.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/docs/SandboxIR.md

  Log Message:
  -----------
  [Docs] Update indents for SandboxIR and RemoveDIsDebugInfo (#194528)

This distinguishes the doc title from the headers.

Fixes navigation indents for Furo theme update (see
https://github.com/llvm/llvm-project/pull/184440).


  Commit: 922d95aefd7a09661e546a1790285b20fe70719a
      https://github.com/llvm/llvm-project/commit/922d95aefd7a09661e546a1790285b20fe70719a
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip

  Log Message:
  -----------
  [CIR][AMDGPU] Add lowering for amdgcn div fmas builtins (#194334)

Upstreaming ClangIR PR: https://github.com/llvm/clangir/pull/2051

This PR adds support for lowering of _builtin_amdgcn_div_fmas* amdgpu
builtins to clangIR.
Followed similar lowering from reference clang->llvmir in
clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp.


  Commit: 3deb42b4f8443b5f752243aaddc54428e4c9e91f
      https://github.com/llvm/llvm-project/commit/3deb42b4f8443b5f752243aaddc54428e4c9e91f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M orc-rt/include/orc-rt/sps-ci/AllSPSCI.h
    M orc-rt/lib/executor/sps-ci/AllSPSCI.cpp

  Log Message:
  -----------
  [orc-rt] Sink include into implementation file. (#194379)


  Commit: 404993528edc027deb32bbbf65895abe86d12726
      https://github.com/llvm/llvm-project/commit/404993528edc027deb32bbbf65895abe86d12726
  Author: dyung <douglas.yung at sony.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/test/Driver/modules-driver-import-std.cpp

  Log Message:
  -----------
  Fix UNSUPPORTED added to test in #194502. (#194541)

The change in #194502 attempted to mark the test as UNSUPPORTED for
AArch64, but it didn't work because it wasn't specified correctly. This
fixes it.


  Commit: c8ff86259ba7349412f6a0c1efa88d0f218ca276
      https://github.com/llvm/llvm-project/commit/c8ff86259ba7349412f6a0c1efa88d0f218ca276
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/MC/MCSymbol.h
    M llvm/lib/CodeGen/AsmPrinter/ARMException.cpp
    M llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
    M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
    M llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp
    M llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp
    M llvm/lib/Target/Lanai/LanaiMCInstLower.cpp
    M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/lib/Target/XCore/XCoreAsmPrinter.cpp
    M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp

  Log Message:
  -----------
  [CodeGen] Make AsmPrinter::MAI a reference. NFC (#194538)

AsmPrinter::MAI is non-null. This is made more explicit after
PR #194523 changed TargetMachine::getMCAsmInfo to return a reference
with recent MCAsmInfo/MCTargetOptions related refactoring.

Convert the member from const MCAsmInfo * to const MCAsmInfo & and
update all consumers.


  Commit: 33b9e74a098e345f4a6c134d54299bde1b24b64b
      https://github.com/llvm/llvm-project/commit/33b9e74a098e345f4a6c134d54299bde1b24b64b
  Author: Harlen Batagelo <hbatagelo at gmail.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

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

  Log Message:
  -----------
  [clang-tidy] Fix UB in SuspiciousIncludeCheck when IgnoredRegex is not set (#194521)

When the "IgnoredRegex" option is not set, `IgnoredRegexString` is
default-constructed, i.e. initialized with a null data pointer. This is
passed to `llvm_regcomp` as the pattern argument, causing a nullptr+0 UB
in regcomp.c (caught by UBSan). Fix by initializing
`IgnoredRegexString` with an empty string literal instead.


  Commit: fb2c65dec1bf2dc0afd2545504255370f9e5a9f5
      https://github.com/llvm/llvm-project/commit/fb2c65dec1bf2dc0afd2545504255370f9e5a9f5
  Author: Pablo Antonio Martinez <pamartin at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
    A mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-pipeline-no-validation.mlir

  Log Message:
  -----------
  [mlir][tosa] Make tosa-attach-target optional in addTosaToLinalgPasses (#193467)

addTosaToLinalgPasses unconditionally scheduled tosa-attach-target, thus
adding a `tosa.target_env` attribute to the module. Callers therefore
had no way to opt out of such attribute. This attribute is consumed if
validationOptions is enabled, which is optional. Therefore, if the
caller disables validationOptions, the tosa-attach-target attribute will
exist even after TosaToLinalg. So consumers that don't load the TOSA
dialect can't even parse the resulting module.

This PR makes sure that we schedule tosa-attach-target only when the
caller actually needs it, i.e. when validationOptions or
attachTargetOptions is set. The default values stay inside the
`!attachTargetOptions` branch so callers that set validationOptions
still get a target env to validate against, preserving existing
behavior.

Also add a `validation` pipeline option (default `true`) to the
registered `tosa-to-linalg-pipeline`, so it can be invoked without
scheduling either `tosa-attach-target` / `tosa-validate`. A lit test is
also added.


  Commit: 50a6d97689873b1c376f966dd82cb9c656463193
      https://github.com/llvm/llvm-project/commit/50a6d97689873b1c376f966dd82cb9c656463193
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Reject more constexpr-unknown pointers in CheckStore (#194529)

Even in constant contexts.


  Commit: 7b49e58d692ef13b158056eebb0bb23c6b1192f9
      https://github.com/llvm/llvm-project/commit/7b49e58d692ef13b158056eebb0bb23c6b1192f9
  Author: Anonmiraj <ezzibrahimx at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/fmaximum.h
    A libc/shared/math/fmaximumbf16.h
    A libc/shared/math/fmaximumf.h
    A libc/shared/math/fmaximumf128.h
    A libc/shared/math/fmaximumf16.h
    A libc/shared/math/fmaximuml.h
    A libc/shared/math/fminimum.h
    A libc/shared/math/fminimumbf16.h
    A libc/shared/math/fminimumf.h
    A libc/shared/math/fminimumf128.h
    A libc/shared/math/fminimumf16.h
    A libc/shared/math/fminimuml.h
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/fmaximum.h
    A libc/src/__support/math/fmaximumbf16.h
    A libc/src/__support/math/fmaximumf.h
    A libc/src/__support/math/fmaximumf128.h
    A libc/src/__support/math/fmaximumf16.h
    A libc/src/__support/math/fmaximuml.h
    A libc/src/__support/math/fminimum.h
    A libc/src/__support/math/fminimumbf16.h
    A libc/src/__support/math/fminimumf.h
    A libc/src/__support/math/fminimumf128.h
    A libc/src/__support/math/fminimumf16.h
    A libc/src/__support/math/fminimuml.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/fmaximum.cpp
    M libc/src/math/generic/fmaximumbf16.cpp
    M libc/src/math/generic/fmaximumf.cpp
    M libc/src/math/generic/fmaximumf128.cpp
    M libc/src/math/generic/fmaximumf16.cpp
    M libc/src/math/generic/fmaximuml.cpp
    M libc/src/math/generic/fminimum.cpp
    M libc/src/math/generic/fminimumbf16.cpp
    M libc/src/math/generic/fminimumf.cpp
    M libc/src/math/generic/fminimumf128.cpp
    M libc/src/math/generic/fminimumf16.cpp
    M libc/src/math/generic/fminimuml.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Refactor fmaximum-fminimum family to header-only (#194533)

Refactors the fmaximum-fminimum math family to be header-only.

part of: #147386

Target Functions:
  - fmaximum
  - fmaximumbf16
  - fmaximumf
  - fmaximumf128
  - fmaximumf16
  - fmaximuml
  - fminimum
  - fminimumbf16
  - fminimumf
  - fminimumf128
  - fminimumf16
  - fminimuml


  Commit: 4c092f6efb8bb25cafb336ca0787659b34906886
      https://github.com/llvm/llvm-project/commit/4c092f6efb8bb25cafb336ca0787659b34906886
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Add a missing fallthrough() call (#194537)

When the local variable is enabled but we don't emit any dtor
instructions, we need to fallthrough to the `EndLabel`.


  Commit: 81462759088828bf095c779dce2af7c4ce7b6d8b
      https://github.com/llvm/llvm-project/commit/81462759088828bf095c779dce2af7c4ce7b6d8b
  Author: Anonmiraj <ezzibrahimx at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/fmin.h
    A libc/shared/math/fminbf16.h
    A libc/shared/math/fminf.h
    A libc/shared/math/fminf128.h
    A libc/shared/math/fminf16.h
    A libc/shared/math/fminl.h
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/fmin.h
    A libc/src/__support/math/fminbf16.h
    A libc/src/__support/math/fminf.h
    A libc/src/__support/math/fminf128.h
    A libc/src/__support/math/fminf16.h
    A libc/src/__support/math/fminl.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/fmin.cpp
    M libc/src/math/generic/fminbf16.cpp
    M libc/src/math/generic/fminf.cpp
    M libc/src/math/generic/fminf128.cpp
    M libc/src/math/generic/fminf16.cpp
    M libc/src/math/generic/fminl.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Refactor fmin family to header-only (#194549)

Refactors the fmin math family to be header-only.

part of: #147386

Target Functions:
  - fmin
  - fminbf16
  - fminf
  - fminf128
  - fminf16
  - fminl


  Commit: 4f6b1b01f62f1bcce3192c60905904b3e965f128
      https://github.com/llvm/llvm-project/commit/4f6b1b01f62f1bcce3192c60905904b3e965f128
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef][AMDGPU] Specify that syncscope can cause atomic operations to race (#189015)

Targets should be able to specify that the syncscope of atomic operations
influences whether they participate in data races with each other.

For example, in AMDGPU, we want (and already implement) the load in the
following case to be in a data race (i.e., return `undef` according to the
current definition), because there is an atomic store with workgroup syncscope
executing in a different workgroup:

```
; workgroup 0:
  store atomic i32 1, ptr %p syncscope("workgroup") monotonic, align 4

; workgroup 1:
  store atomic i32 2, ptr %p syncscope("workgroup") monotonic, align 4
  load atomic i32, ptr %p syncscope("workgroup") monotonic, align 4
```

This is consistent with the behavior of, e.g., [heterogeneous-race-free (HRF)
memory models](https://research.cs.wisc.edu/multifacet/papers/asplos14_hrf.pdf) and the [HSA memory model](https://hsafoundation.com/standards/).

Related RFC: https://discourse.llvm.org/t/rfc-clarifying-llvm-irs-concurrent-memory-model/90480


  Commit: d48b6314a7adccc56c1849c01bffcbfc739f7bdf
      https://github.com/llvm/llvm-project/commit/d48b6314a7adccc56c1849c01bffcbfc739f7bdf
  Author: Anonmiraj <ezzibrahimx at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/math/fmax.h
    M libc/src/__support/math/fmaxbf16.h
    M libc/src/__support/math/fmaxf.h
    M libc/src/__support/math/fmaxf128.h
    M libc/src/__support/math/fmaxf16.h
    M libc/src/__support/math/fmaxl.h
    M libc/test/shared/shared_math_constexpr_test.cpp

  Log Message:
  -----------
  [libc][math] Qualify fmax functions to be constexpr (#194551)


  Commit: c857cb266957650049ff0543679499d872acc3ef
      https://github.com/llvm/llvm-project/commit/c857cb266957650049ff0543679499d872acc3ef
  Author: Anonmiraj <ezzibrahimx at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/dsqrtf128.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/dsqrtf128.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/dsqrtf128.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Refactor dsqrtf128 to header-only (#194552)

part of: #147386


  Commit: 534ba392ade940f78e646301168e8555efda4089
      https://github.com/llvm/llvm-project/commit/534ba392ade940f78e646301168e8555efda4089
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPUUsage] Specify what one-as syncscopes do (#189016)

This matches the currently implemented and (as far as I could determine)
intended semantics of these syncscopes.
The sync scope table is unchanged except for removing its indentation;
otherwise it would be rendered as part of the preceding note.


  Commit: 347c5d6842effdd566b8014b61bf669d0f4a5fdd
      https://github.com/llvm/llvm-project/commit/347c5d6842effdd566b8014b61bf669d0f4a5fdd
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Support/Hash.cpp

  Log Message:
  -----------
  Hash.cpp: include ErrorHandling.h (#194553)

Hash.cpp uses llvm_unreachable but currently picks up ErrorHandling.h
only transitively through xxhash.h -> ArrayRef.h -> Hashing.h.


  Commit: 9085c766fa6b69f061e792b1a70fed53673a01cb
      https://github.com/llvm/llvm-project/commit/9085c766fa6b69f061e792b1a70fed53673a01cb
  Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [libc][math][bazel] fix build (#194559)


  Commit: 61760fd348eea42f3b640e569aaca0489f80f7aa
      https://github.com/llvm/llvm-project/commit/61760fd348eea42f3b640e569aaca0489f80f7aa
  Author: David Green <david.green at arm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/fold-fp-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-acos.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-asin.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-atan.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-atan2.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ceil.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cos.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cosh.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fcmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fcopysign.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fexp2.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fma.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fmad.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fmaximum.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fmaxnum.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fminimum.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fminnum.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith-fp16.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fpext.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fptrunc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-frint.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-intrinsic-round.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-intrinsic-roundeven.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-intrinsic-trunc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-log.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-log10.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-log2.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-modf.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-nearbyint.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-pow.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-fadd.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-fminmax.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-fmul.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-sqrt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-tan.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-tanh.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-fcmp.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Update fp legalization mir tests. NFC (#194561)

This updates a number of the floating point mir legalization tests to
use f
types instead of generic s types.


  Commit: e4b6407e06ef4326339d4d8970e46cf36ef925f4
      https://github.com/llvm/llvm-project/commit/e4b6407e06ef4326339d4d8970e46cf36ef925f4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512-ext.ll
    M llvm/test/CodeGen/X86/avx512-insert-extract.ll
    M llvm/test/CodeGen/X86/avx512-mask-op.ll
    M llvm/test/CodeGen/X86/masked_store.ll
    M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll

  Log Message:
  -----------
  [X86] combineKSHIFT - fold kshift(logicop(X,C1),C2) -> logicop(kshift(X,C2),kshift(C1,C2)) (#194343)

Attempt to push KSHIFTs up through logicops in the DAG to expose additional folding

Requires us to add constant folding handling for KSHIFTL/R instructions as well

Yak shaving for #193700


  Commit: e9ad51163b9d101131a3bb04994876a32e7c9dea
      https://github.com/llvm/llvm-project/commit/e9ad51163b9d101131a3bb04994876a32e7c9dea
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [VPlan] Remove unused PhisToFix member from VPRecipeBuilder. NFC (#194451)

The field is not referenced anywhere; the only PhisToFix in the codebase
is a local variable in VPlanConstruction.cpp.


  Commit: 427423946a6ea78bdea7c54e1afbcfd41333e991
      https://github.com/llvm/llvm-project/commit/427423946a6ea78bdea7c54e1afbcfd41333e991
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [X86] combineVTRUNCSAT - don't split 128-bit concatenated vectors when folding to PACKSS/US (#194347)

If the VTRUNCS/US node has 128-bit src and dst types, then ensure we
don't split into sub-128-bit vectors - just treat it as padded with
zeros to match VTRUNC behaviour.

Fixes #194344


  Commit: fb4af2af00d777fd654064b2d6340ce285468a85
      https://github.com/llvm/llvm-project/commit/fb4af2af00d777fd654064b2d6340ce285468a85
  Author: Takashi Idobe <idobetakashi at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/atomic-lock-and-setcc-folded.ll

  Log Message:
  -----------
  [X86] lock opt ptr const inconsistencies (#185195)

Resolves: https://github.com/llvm/llvm-project/issues/147280

The linked issue mentions cases of atomic arithmetic followed by a test
which can be recovered by flags that are emitting cas loops instead of
lock + op which can be inferred from flags.

There's one fold that solves the issue's code: `lock and` sets ZF on the
result of old & C, so any nonzero comparison against new = old & C can
be answered with ZF, so this fold does just that, reduces to a != 0 or
== 0.

I also decided to refactor `shouldExpandCmpArithRMWInIR` into a
dispatching function and make `getCmpArithCC` just return X86::CondCodes
directly. This deleted the dispatching switch later in the code.

Also I broke out the different cases of `getCmpArithWithCC` into helper
functions for each case (add, sub, and, xor, or, add with overflow, sub
with overflow) and turned them guard clause style to reduce nesting
since the original `getCmpArithWithCC` had everything in a nested
function which was hard to read. The functions are named so it's
straightforward to add new cases or move them around as desired.


  Commit: 20ae89477021638fa03bc8664c215b5e44662012
      https://github.com/llvm/llvm-project/commit/20ae89477021638fa03bc8664c215b5e44662012
  Author: Anonmiraj <ezzibrahimx at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/fmaximum_num.h
    A libc/shared/math/fmaximum_numbf16.h
    A libc/shared/math/fmaximum_numf.h
    A libc/shared/math/fmaximum_numf128.h
    A libc/shared/math/fmaximum_numf16.h
    A libc/shared/math/fmaximum_numl.h
    A libc/shared/math/fminimum_num.h
    A libc/shared/math/fminimum_numbf16.h
    A libc/shared/math/fminimum_numf.h
    A libc/shared/math/fminimum_numf128.h
    A libc/shared/math/fminimum_numf16.h
    A libc/shared/math/fminimum_numl.h
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/fmaximum_num.h
    A libc/src/__support/math/fmaximum_numbf16.h
    A libc/src/__support/math/fmaximum_numf.h
    A libc/src/__support/math/fmaximum_numf128.h
    A libc/src/__support/math/fmaximum_numf16.h
    A libc/src/__support/math/fmaximum_numl.h
    A libc/src/__support/math/fminimum_num.h
    A libc/src/__support/math/fminimum_numbf16.h
    A libc/src/__support/math/fminimum_numf.h
    A libc/src/__support/math/fminimum_numf128.h
    A libc/src/__support/math/fminimum_numf16.h
    A libc/src/__support/math/fminimum_numl.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/fmaximum_num.cpp
    M libc/src/math/generic/fmaximum_numbf16.cpp
    M libc/src/math/generic/fmaximum_numf.cpp
    M libc/src/math/generic/fmaximum_numf128.cpp
    M libc/src/math/generic/fmaximum_numf16.cpp
    M libc/src/math/generic/fmaximum_numl.cpp
    M libc/src/math/generic/fminimum_num.cpp
    M libc/src/math/generic/fminimum_numbf16.cpp
    M libc/src/math/generic/fminimum_numf.cpp
    M libc/src/math/generic/fminimum_numf128.cpp
    M libc/src/math/generic/fminimum_numf16.cpp
    M libc/src/math/generic/fminimum_numl.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Refactor fmaximum_num-fminimum_num family to header-only (#194562)

Refactors the fmaximum_num-fminimum_num math family to be header-only.

part of: #147386

Target Functions:
  - fmaximum_num
  - fmaximum_numbf16
  - fmaximum_numf
  - fmaximum_numf128
  - fmaximum_numf16
  - fmaximum_numl
  - fminimum_num
  - fminimum_numbf16
  - fminimum_numf
  - fminimum_numf128
  - fminimum_numf16
  - fminimum_numl


  Commit: 9edf0e73b59540ccec25b355268ebff6d3bba4ef
      https://github.com/llvm/llvm-project/commit/9edf0e73b59540ccec25b355268ebff6d3bba4ef
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/ArraySectionAnalyzer.h
    M flang/lib/Optimizer/Analysis/ArraySectionAnalyzer.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
    A flang/test/HLFIR/order_assignments/where-equivalent-subscripts.fir

  Log Message:
  -----------
  [flang] improve array section analysis for WHERE (#194399)

The array section analysis in the HLFIR pass in charge of WHERE lowering
was unable to tell that the LHS and RHS are the same array section when
the base is an assumed shape or when a variable is used as indices.

This patch adds an optional callback to the array section
analysis to tell if two SSA values have the same value. This call back
is then implemented to tell that two SSA values are the same only if:
they are the result of equivalent operations with no memory effect (ok
to be non speculatable) and with operands that have the same value
(recursively), or if they are the load from the same variable (which is
OK in the context of WHERE RHS/LHS thanks to Fortran 2023 10.1.4 that
guarantee that a variable referred both on the RHS and LHS cannot be
modified by side effects in the RHS/LHS).

Assisted by: Claude


  Commit: a910a0b4b5252627c0150c26ba94cc8479ad6e1a
      https://github.com/llvm/llvm-project/commit/a910a0b4b5252627c0150c26ba94cc8479ad6e1a
  Author: Arun Thangamani <arun.thangamani at intel.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/X86/Transforms/VectorContractToPackedTypeDotProduct.cpp
    M mlir/test/Dialect/X86/vector-contract-to-packed-type-dotproduct.mlir

  Log Message:
  -----------
  [mlir][x86] Fix - Replace `load` with `transfer_read` to support on tensor type. (#194543)

This `patch` replaces `vector.load` operation with
`vector.transfer_read` op, such that the re-write lowers
`vector.contract` ops to `bf16_avx512_dp`.


  Commit: 711a17d0b38e15f786e4ed709a3219cdf5bb3119
      https://github.com/llvm/llvm-project/commit/711a17d0b38e15f786e4ed709a3219cdf5bb3119
  Author: David Green <david.green at arm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/include/llvm/CodeGenTypes/LowLevelType.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/bf16-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Lower BF16 FPTRUNC (#193941)

When the architecture +bf16 features is available this is simple as we
lower to a standard instruction. When not available we need to expand to
a series of instructions that performs the necessary rounding. The code
to do that is a port of TargetLowering::expandFP_ROUND to GISel, minus
the float64 odd rounding via expandRoundInexactToOdd. f64 will follow in
a followup patch.

uitofp and sitofp are currently disabled, so that we can take this one
step at a time and check each part in turn. The LLT fp types attempt to
return true for ieee types without UseExtended for types of the correct
size, always returning false for non-standard types.


  Commit: a726282909d70eac4d2a89e7e2558927a34a9c1e
      https://github.com/llvm/llvm-project/commit/a726282909d70eac4d2a89e7e2558927a34a9c1e
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M lldb/source/Commands/CommandObjectMultiword.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectRegister.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/test/API/functionalities/wrong_commands/TestWrongCommands.py
    M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py

  Log Message:
  -----------
  [lldb] Remove full stop from AppendErrorWithFormat format strings (part 2) (#194352)

To fit the style guide:
https://llvm.org/docs/CodingStandards.html#error-and-warning-messages

I found these with:
* Find `(\.AppendErrorWithFormat\(([\s\r\n]+)?"(?:(?:\\.|[^"\\])*))\."`
and replace with `$1"` using Visual Studio Code.
* Putting a call to `validate_diagnostic` in `AppendErrorWithFormat`.
* Manual inspection.

Note that this change *does not* include a call to `validate_diagnostic`
because I do not know what's going to crash on platforms that I haven't
tested on.


  Commit: a6cf1aa076d240ca54797e47d9a45d3be6062829
      https://github.com/llvm/llvm-project/commit/a6cf1aa076d240ca54797e47d9a45d3be6062829
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Allow SpecConstantComposite constituents to reference other SpecConstantComposites (#193416)

The verifier for spirv.SpecConstantComposite previously assumed all
constituents were spirv.SpecConstant ops, which caused a crash when
referencing nested spirv.SpecConstantComposite ops

Per the SPIR-V spec (s3.3.7, OpSpecConstantComposite), constituents
"must be the \<id\>s of other specialization constants, constant
declarations, or an OpUndef", which includes OpSpecConstantComposite


  Commit: f5b6e4fc202292300140cc6af07e1731b10bf9f5
      https://github.com/llvm/llvm-project/commit/f5b6e4fc202292300140cc6af07e1731b10bf9f5
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__locale_dir/locale_base_api.h
    R libcxx/include/__support/xlocale/__nop_locale_mgmt.h

  Log Message:
  -----------
  [libc++][NFC] Remove unused header <__support/xlocale/__nop_locale_mgmt.h> (#194316)


  Commit: a54419a2fd2e86b8e386c9a978cc12e839e8311b
      https://github.com/llvm/llvm-project/commit/a54419a2fd2e86b8e386c9a978cc12e839e8311b
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  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/avgfloor-ceil.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/avgfloor-ceil.ll

  Log Message:
  -----------
  [LoongArch] Set `avg{floor/ceil}{s/u}` as legal for lsx and lasx (#165836)

Suggested-by: tangaac <tangyan01 at loongson.cn>
Link:
https://github.com/llvm/llvm-project/pull/161079#issuecomment-3420763377


  Commit: 255263560860a50ef6c083df815e2bd1577debd8
      https://github.com/llvm/llvm-project/commit/255263560860a50ef6c083df815e2bd1577debd8
  Author: hev <wangrui at loongson.cn>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/lasx/bitclr.ll
    A llvm/test/CodeGen/LoongArch/lasx/bitrev.ll
    A llvm/test/CodeGen/LoongArch/lasx/bitset.ll
    A llvm/test/CodeGen/LoongArch/lsx/bitclr.ll
    A llvm/test/CodeGen/LoongArch/lsx/bitrev.ll
    A llvm/test/CodeGen/LoongArch/lsx/bitset.ll

  Log Message:
  -----------
  [LoongArch][NFC] Add tests for VBITCLRI, VBITSETI, and VBITREVI (#193718)


  Commit: ac41786510b4636c3f1f24a167479a3f39337677
      https://github.com/llvm/llvm-project/commit/ac41786510b4636c3f1f24a167479a3f39337677
  Author: Harry Ramsey <harry.ramsey at arm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-gather-scatter-addr-opts.ll

  Log Message:
  -----------
  [AArch64][SDAG] Fix invalid index into STEP_VECTOR operand (#193236)

This commit fixes an invalid index into STEP_VECTOR constant operand
trying to find a more optimal addressing type.
 
Related Issue:
https://github.com/llvm/llvm-project/issues/193014#event-24715078836


  Commit: 09cd2944821fa43d97d8259194b9a0c4fa22de16
      https://github.com/llvm/llvm-project/commit/09cd2944821fa43d97d8259194b9a0c4fa22de16
  Author: Amit Tiwari <amtiwari at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/target_data_device_messages.cpp
    M clang/test/OpenMP/target_device_messages.cpp
    A clang/test/OpenMP/target_device_omp_initial_invalid.c
    M clang/test/OpenMP/target_enter_data_device_messages.cpp
    M clang/test/OpenMP/target_exit_data_device_messages.cpp
    M clang/test/OpenMP/target_parallel_device_messages.cpp
    M clang/test/OpenMP/target_parallel_for_device_messages.cpp
    M clang/test/OpenMP/target_parallel_for_simd_device_messages.cpp
    M clang/test/OpenMP/target_simd_device_messages.cpp
    M clang/test/OpenMP/target_teams_device_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_device_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_device_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_device_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_device_messages.cpp
    M clang/test/OpenMP/target_update_device_messages.cpp
    M offload/include/OpenMP/omp.h
    M openmp/device/include/DeviceTypes.h
    M openmp/runtime/src/include/omp.h.var

  Log Message:
  -----------
  [Clang][OpenMP] Validate omp_initial_device omp_invalid_device as device IDs (#193688)

The counterpart fix for clang (as too done here:
[flang-fix](https://github.com/llvm/llvm-project/pull/193669))

The incorrectly interpreted device values in the `target` directive
throws:
 
```
 error: argument to 'device' clause must be a non-negative integer value
    #pragma omp target device(-1)
                              ^~
error: argument to 'device' clause must be a non-negative integer value
    #pragma omp target device(omp_invalid_device)
                              ^~~~~~~~~~~~~~~~~~
```


  Commit: e8ca5853c8233927dab15b4b429ea129df853b4a
      https://github.com/llvm/llvm-project/commit/e8ca5853c8233927dab15b4b429ea129df853b4a
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp

  Log Message:
  -----------
  [mlir][arith] Remove redundant lambdas (NFC) (#194376)

Replace trivial lambda wrappers with direct function references. The
lambdas simply forwarded their arguments to existing functions, so
passing the function directly is clearer and more concise.


  Commit: 0c174232664f0eb38576b35d1f796b6c7c582926
      https://github.com/llvm/llvm-project/commit/0c174232664f0eb38576b35d1f796b6c7c582926
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/test/CodeGen/LoongArch/lasx/ctpop-ctlz.ll
    M llvm/test/CodeGen/LoongArch/lsx/ctpop-ctlz.ll

  Log Message:
  -----------
  [LoongArch] Add patterns for `[x]vclo.{b/h/w/d}` instructions (#165985)


  Commit: 33117e7f5bd5948d7873987e8e22c79271bc5237
      https://github.com/llvm/llvm-project/commit/33117e7f5bd5948d7873987e8e22c79271bc5237
  Author: Harry Ramsey <harry.ramsey at arm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-all-active-lanes-cvt.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll

  Log Message:
  -----------
  [AArch64][ISel] Remove zero instruction for `rev` all true predicates (#192925)

This patch removes the redundant instruction to zero inactive lanes for
SVE2p1 `rev` intrinsics when all lanes are active.


  Commit: f409c264f2cd18d069a1cc627850f14ddcea914f
      https://github.com/llvm/llvm-project/commit/f409c264f2cd18d069a1cc627850f14ddcea914f
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll

  Log Message:
  -----------
  [LoongArch] Add patterns to match `cto.w/d` when meeting i8/i16 types `not+cttz` (#166124)


  Commit: ecb69fb914d6f81f854340cce32ed4c7f9878f64
      https://github.com/llvm/llvm-project/commit/ecb69fb914d6f81f854340cce32ed4c7f9878f64
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
    M llvm/test/CodeGen/LoongArch/ctpop-with-lsx.ll
    M llvm/test/CodeGen/LoongArch/sextw-removal.ll

  Log Message:
  -----------
  [LoongArch] Optimize for scalar type `ctpop` when lsx enabled (#166286)


  Commit: ee8ca6b33ee4ebe61373a491a747c56e656f7312
      https://github.com/llvm/llvm-project/commit/ee8ca6b33ee4ebe61373a491a747c56e656f7312
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/test/Transforms/omp-map-info-finalization-usm.fir
    R offload/test/offloading/fortran/usm-box-parent-descriptor-close.f90

  Log Message:
  -----------
  Revert "[Flang][OpenMP] Clear close on descriptor members for box parents in USM" (#194568)

Reverts llvm/llvm-project#194287

Buildbot errors in https://lab.llvm.org/buildbot/#/builders/67/builds/3464
local revert fixed the issues.


  Commit: 43645be3ecb57d93a10b2fa84081c0c9bc5c8059
      https://github.com/llvm/llvm-project/commit/43645be3ecb57d93a10b2fa84081c0c9bc5c8059
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/rvv/insert-subvector.ll

  Log Message:
  -----------
  [RISCV][GISel] Support select G_INSERT_SUBVECTOR (#171092)


  Commit: b46a51d9c29519666f70807b52301d94be804f07
      https://github.com/llvm/llvm-project/commit/b46a51d9c29519666f70807b52301d94be804f07
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/unittests/CodeGen/GlobalISel/MachineIRBuilderTest.cpp

  Log Message:
  -----------
  [GISel] Add operands check for G_INSERT_SUBVECTOR and G_EXTRACT_SUBVECTOR in buildInstr (#186021)


  Commit: 3d1fa9ee9d95aca32e27a34e9916fc246f090543
      https://github.com/llvm/llvm-project/commit/3d1fa9ee9d95aca32e27a34e9916fc246f090543
  Author: Bea Healy <57840981+TaoBi22 at users.noreply.github.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/SMT/IR/SMTTypes.td
    M mlir/lib/Dialect/SMT/IR/SMTTypes.cpp
    M mlir/test/Dialect/SMT/basic.mlir
    M mlir/unittests/Dialect/SMT/CMakeLists.txt
    R mlir/unittests/Dialect/SMT/TypeTest.cpp

  Log Message:
  -----------
  [mlir][smt] Allow empty function domains (#193732)


  Commit: 38daaba8e723cfa38e699c64c8e0f2f306523984
      https://github.com/llvm/llvm-project/commit/38daaba8e723cfa38e699c64c8e0f2f306523984
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
    M llvm/test/CodeGen/X86/gfni-lzcnt.ll
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/gfni-shifts.ll
    M llvm/test/CodeGen/X86/gfni-tzcnt.ll
    M llvm/test/CodeGen/X86/vector-bitreverse.ll

  Log Message:
  -----------
  [X86] Add constant pool comments for (V)GF2P8AFFINEQB instructions (#194572)

Still need to do predicate/broadcast handling, but that's true for most instructions and we need a decent general mechanism to handle them


  Commit: cced4082785cde51cc76d2df76066a5a3feff232
      https://github.com/llvm/llvm-project/commit/cced4082785cde51cc76d2df76066a5a3feff232
  Author: Julian Brown <julian.brown at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M openmp/runtime/CMakeLists.txt
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_config.h.cmake
    M openmp/runtime/src/kmp_global.cpp
    M openmp/runtime/src/kmp_settings.cpp
    M openmp/runtime/src/kmp_taskdeps.cpp
    M openmp/runtime/src/kmp_taskdeps.h
    M openmp/runtime/src/kmp_tasking.cpp
    M openmp/runtime/test/CMakeLists.txt
    M openmp/runtime/test/lit.cfg
    M openmp/runtime/test/lit.site.cfg.in
    M openmp/runtime/test/tasking/omp_record_replay.cpp
    M openmp/runtime/test/tasking/omp_record_replay_deps.cpp
    M openmp/runtime/test/tasking/omp_record_replay_deps_multi_succ.cpp
    M openmp/runtime/test/tasking/omp_record_replay_multiTDGs.cpp
    M openmp/runtime/test/tasking/omp_record_replay_print_dot.cpp
    M openmp/runtime/test/tasking/omp_record_replay_taskloop.cpp

  Log Message:
  -----------
  [OpenMP] Rename ompx_taskgraph->omp_taskgraph_experimental

This patch renames the option to enable taskgraph support in the
runtime from OMPX_TASKGRAPH to OMP_TASKGRAPH_EXPERIMENTAL, to reflect
the feature's official status in OpenMP 6.0, but also the feature's
current work-in-progress nature.

commit-id:fa62775a

Reviewers: ro-i

Reviewed By: ro-i

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


  Commit: efdb493e485ceaa7a80392de338b02d00e9b67e0
      https://github.com/llvm/llvm-project/commit/efdb493e485ceaa7a80392de338b02d00e9b67e0
  Author: Kito Cheng <kito.cheng at sifive.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-f16.cl
    M llvm/lib/Target/README.txt
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/tan.ll
    M llvm/test/Transforms/InstCombine/fdiv-cos-sin.ll
    M llvm/test/Transforms/InstCombine/fdiv-sin-cos.ll
    M llvm/test/Transforms/InstCombine/may-alias-errno.ll
    A llvm/test/Transforms/InstCombine/sincos-fpmath.ll
    A llvm/test/Transforms/InstCombine/sincos.ll

  Log Message:
  -----------
  [InstCombine] Combine llvm.sin/llvm.cos libcall pairs into llvm.sincos (#184760)

Teach InstCombine to recognize pairs of `llvm.sin(x)` and `llvm.cos(x)`
intrinsic calls that share the same argument and replace them with a
single `llvm.sincos(x)` call, extracting the individual results.

The optimization works in two phases:

1. **SimplifyLibCalls**: Convert `sin`/`cos` C library calls (e.g.
   `sinf`, `cosf`, `sin`, `cos`, `sinl`, `cosl`) into `llvm.sin` /
   `llvm.cos` intrinsics when the call does not access memory (i.e. does
   not set `errno`). This normalization step brings library calls into
   the same form as compiler-generated intrinsics.

2. **InstCombineCalls**: When visiting an `llvm.sin` or `llvm.cos`
   intrinsic, scan the users of the shared argument for a matching
   counterpart. If found, emit a single `llvm.sincos` call placed right
   after the argument definition, replace both original calls, and erase
   the matched instruction.

Also remove the completed sincos TODO from Target/README.txt.


  Commit: 9c6e2733cb027cdfeabf7e61d545fe58b97e439a
      https://github.com/llvm/llvm-project/commit/9c6e2733cb027cdfeabf7e61d545fe58b97e439a
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c

  Log Message:
  -----------
  [clang][CIR] Add lowering for vrshr_ and vrshrq_ rounding intrinsics (#194229)

This PR adds lowering for the vector rounding shift right intrinsice,
i.e. `vrshr_*` and `vrshrq_*` [1]. It also moves the corresponding tests
from:
  * clang/test/CodeGen/AArch64/neon_intrinsics.c

to:
  * clang/test/CodeGen/AArch64/neon/intrinsics.c

The lowering follows the existing implementation in
CodeGen/TargetBuiltins/ARM.cpp.

Part of #185382.

Reference:
[1] https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#vector-rounding-shift-right

Co-authored-by: Md Mouzam Arfi Hussain <arfihussain27 at gmail.com>


  Commit: 7ebd47bb711b99ad3b8a063e79b1a4605e1828fe
      https://github.com/llvm/llvm-project/commit/7ebd47bb711b99ad3b8a063e79b1a4605e1828fe
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/test/CodeGen/AArch64/sve-vector-compare-ops.c
    M clang/test/CodeGenCXX/aarch64-sve-vector-conditional-op.cpp

  Log Message:
  -----------
  [Clang][AArch64] Fix codegen for SVE vector compare operations (#194013)

Overloaded operartors `<`, `>`, `<=`, `>=`, `==`, and `!=` with SVE
integer vector operands emitted LLVM IR with a couple of issues:
* The `icmp` instruction always performed unsigned comparison, even for
signed operands.
* The result of the comparison was zero-extended, whereas the intent is
to follow established NEON conventions and sign-extend it.

This patches fixes these issues.


  Commit: 61297945cab34370c33deed04643f021f5bb6dd2
      https://github.com/llvm/llvm-project/commit/61297945cab34370c33deed04643f021f5bb6dd2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/aix-complex.ll

  Log Message:
  -----------
  [NFC][PowerPC] aix-complex.ll - regenerate test checks (#194576)

Makes it easier to show the diffs in the topological dag work


  Commit: 8f6d2cffd5a05e75c007f72026ccaf5972162972
      https://github.com/llvm/llvm-project/commit/8f6d2cffd5a05e75c007f72026ccaf5972162972
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Host/windows/ConnectionConPTYWindows.h
    M lldb/include/lldb/Host/windows/PseudoConsole.h
    M lldb/source/Host/windows/ConnectionConPTYWindows.cpp
    M lldb/source/Host/windows/PseudoConsole.cpp
    M lldb/test/API/windows/conpty/TestConPTY.py

  Log Message:
  -----------
  [lldb][windows] inherit cursor's position when creating a ConPTY (#193818)


  Commit: 1abb0e87374138e187de151f61b623b4f03f288c
      https://github.com/llvm/llvm-project/commit/1abb0e87374138e187de151f61b623b4f03f288c
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtins.c

  Log Message:
  -----------
  [clang][bytecode] Check builtins for number integers (#194324)

This is unfortunate, but since integers can now also be pointers, we
need to check for this everywhere when evaluating builtin functions.


  Commit: e32d3938f164e951f12e02bdad185d6cf9aa4274
      https://github.com/llvm/llvm-project/commit/e32d3938f164e951f12e02bdad185d6cf9aa4274
  Author: Takuto Ikuta <tikuta at google.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/test/DebugInfo/Generic/debug-prefix-map.c
    M clang/test/Driver/ps4-ps5-linker-win.c
    M clang/test/Frontend/absolute-paths-windows.test
    M clang/test/Frontend/dependency-gen-windows-duplicates.c
    M clang/test/Preprocessor/file_test_windows.c
    M clang/test/lit.cfg.py
    M clang/unittests/Basic/FileManagerTest.cpp
    M clang/unittests/Driver/ToolChainTest.cpp
    M clang/unittests/Frontend/ReparseWorkingDirTest.cpp

  Log Message:
  -----------
  [clang][test] Fix test failures when LLVM_WINDOWS_PREFER_FORWARD_SLASH is ON (#193156)

This commit addresses several test failures in Clang that occur on
Windows when
the CMake option -DLLVM_WINDOWS_PREFER_FORWARD_SLASH=ON is enabled.

Key changes:
- unit tests: Normalized expected paths to native style using
llvm::sys::path::native
(Basic/FileManagerTest, Frontend/ReparseWorkingDirTest) or updated
diagnostic matching
  to be separator-agnostic (Driver/ToolChainTest).
- regression tests: Updated FileCheck patterns to use flexible regex
{{[/\\\\]}} or
  {{[/\\\\]+}} to match both path separator styles.
- absolute-paths-windows.test: Skipped when forward slashes are
preferred because
mklink does not support forward slashes in directory paths and
interprets them
as command-line switches. Added 'windows-prefer-forward-slash' lit
feature.


  Commit: db001b920668d26523e15c95fa34f85e6b13456e
      https://github.com/llvm/llvm-project/commit/db001b920668d26523e15c95fa34f85e6b13456e
  Author: Weibo He <NewSigma at 163.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/test/CodeGenCoroutines/coro-await-resume-eh.cpp
    M clang/test/CodeGenCoroutines/coro-dest-slot.cpp
    M clang/test/CodeGenCoroutines/coro-gro.cpp
    A clang/test/CodeGenCoroutines/coro-gro4.cpp
    M clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp

  Log Message:
  -----------
  [clang][CodeGenCoroutine] Emit missing cleanup scope for lazy GRO conversion (#194281)

In #151067, we promoted GRO ahead of `coro.end`. However, there is a
regression that GRO cleanup might go into coroutine resume and destroy
parts. This patch introduces a dedicated cleanup scope for GRO, ensuring
that GRO cleanup does not interfere with other logic.

Close #193412


  Commit: a24c1dedc6f500e515682daa9264c401b4741965
      https://github.com/llvm/llvm-project/commit/a24c1dedc6f500e515682daa9264c401b4741965
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-f16.cl
    M llvm/lib/Target/README.txt
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/tan.ll
    M llvm/test/Transforms/InstCombine/fdiv-cos-sin.ll
    M llvm/test/Transforms/InstCombine/fdiv-sin-cos.ll
    M llvm/test/Transforms/InstCombine/may-alias-errno.ll
    R llvm/test/Transforms/InstCombine/sincos-fpmath.ll
    R llvm/test/Transforms/InstCombine/sincos.ll

  Log Message:
  -----------
  Revert "[InstCombine] Combine llvm.sin/llvm.cos libcall pairs into llvm.sincos" (#194589)

Reverts llvm/llvm-project#184760

Breaks buildbot
https://lab.llvm.org/buildbot/#/builders/123/builds/39337


  Commit: 0012deaa1b90f7dea5b2f05c7c92902291e46583
      https://github.com/llvm/llvm-project/commit/0012deaa1b90f7dea5b2f05c7c92902291e46583
  Author: Matt Davis <mattd at nvidia.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
    A llvm/test/DebugInfo/Generic/global-var-in-abstract-lexical-block.ll

  Log Message:
  -----------
  [AsmPrinter][debug] Materialize abstract lexical blocks referenced by global vars (#193986)

After 63074da2 moved global variable emission from beginModule() to
endModule(), getOrCreateContextDIE() is called after abstract scope DIEs
have been built. However, skipLexicalScope() may have elided an abstract
lexical block that has no local variables. When a global variable (e.g.,
a function-scope static) is scoped to such a block,
getOrCreateContextDIE() returns nullptr causing an assertion. This PR
keeps abstract lexical blocks when they are the scope target of a global
variable in the compile unit.

Derived via LLM usage.


  Commit: 412d474f5e1dc9a931a71cf972c5415e6a025a6f
      https://github.com/llvm/llvm-project/commit/412d474f5e1dc9a931a71cf972c5415e6a025a6f
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
    M libc/test/src/sys/socket/linux/CMakeLists.txt
    M libc/test/src/sys/socket/linux/send_recv_test.cpp
    M libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp

  Log Message:
  -----------
  [libc] Add the MSG_ flags (#194375)

I've included all of the flags defined on linux, even those not
documented in POSIX (or the manpage). I've also added tests to exercise
the flags, for cases where this can be done with domain sockets.


  Commit: 81798298624a61952a2428fc6036794fb2ffb913
      https://github.com/llvm/llvm-project/commit/81798298624a61952a2428fc6036794fb2ffb913
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Check method accessibility in `GetMemberPtrDecl` (#194560)

The decl saved in the `MemberPointer` needs to be accessible from its
Base.


  Commit: c206275e6caa9e4ca4f609e0f8be8d144a48d1e1
      https://github.com/llvm/llvm-project/commit/c206275e6caa9e4ca4f609e0f8be8d144a48d1e1
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [SLP][NFC]Cache some results to improve compile time, NFC

Try to avoid some recalculations, if possible to cache some previous
results

Reviewers: 

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


  Commit: d2fe91171f11bbdb138b21da9cd688632f677b51
      https://github.com/llvm/llvm-project/commit/d2fe91171f11bbdb138b21da9cd688632f677b51
  Author: Xinlong Chen <xinlongchen at tencent.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/RISCV/combine-is_fpclass.ll

  Log Message:
  -----------
  [DAG] computeKnownFPClass - add ISD::FCOPYSIGN handling (#193672)

This PR implements `ISD::FCOPYSIGN` in
`SelectionDAG::computeKnownFPClass`, propagating class info from the
magnitude operand and sign-bit info from the sign operand.

Additionally, added RISC-V test coverage for `ISD::FCOPYSIGN`.

closes #193501


  Commit: 14e69bd4c9e12d8f987636dccbfbe91bd537c902
      https://github.com/llvm/llvm-project/commit/14e69bd4c9e12d8f987636dccbfbe91bd537c902
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/lds-barrier-memoperand.ll

  Log Message:
  -----------
  [AMDGPU] Make `ds_atomic_barrier` operations atomic (#194351)

Add the MMO, and document them as such in AMDGPUUsage.


  Commit: 0342d2f10d0bcf84108f879aaf55a7414653a102
      https://github.com/llvm/llvm-project/commit/0342d2f10d0bcf84108f879aaf55a7414653a102
  Author: tigbr <gabor.tothvari at ericsson.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Checkers/Taint.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
    M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/Environment.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp

  Log Message:
  -----------
  [NFC][analyzer] Refactor Environment to map Expr to SVal instead of Stmt to SVal (#193295)

Previously the `Environment` mapped `{Stmt *, LocationContext}` pairs to
symbolic values; but semantically it represents the values produced by
the evaluation of _expressions_, so there was no good reason to use
non-`Expr` statements in this mapping.

This commit replaces `Stmt` with `Expr` (its subclass) in this mapping
to accurately represent the actually relevant type.

This change is also propagated to methods, variables etc. that handle
the `Environment`.

There was a special case in `Environment::getSVal` that allowed looking
up a `ReturnStmt` in the `Environment` (and translated this to a lookup
of the "return value" sub-expression of the `ReturnStmt`). This commit
eliminates this and modifies the callers to explicitly look up the
sub-expression of the `ReturnStmt`.


  Commit: 90c90a41bed5ba2e4c7b724ecfd533f6f3f7d204
      https://github.com/llvm/llvm-project/commit/90c90a41bed5ba2e4c7b724ecfd533f6f3f7d204
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/test/CIR/CodeGen/atomic.c

  Log Message:
  -----------
  [CIR] Initialization of global atomic variables (#194239)

This patch adds support for initializing global atomic variables. It
does not include support for tail paddings, which will be added in later
patches.

Assisted-by: Codex / GPT-5.5


  Commit: 31687bb119da8468830c9f5f10ac347e2ed5f1d0
      https://github.com/llvm/llvm-project/commit/31687bb119da8468830c9f5f10ac347e2ed5f1d0
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel

  Log Message:
  -----------
  [Bazel] Fixes 412d474 (#194598)

This fixes 412d474f5e1dc9a931a71cf972c5415e6a025a6f.

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>


  Commit: f82a74a9bd6b62b41540950b8b64a207206baaf5
      https://github.com/llvm/llvm-project/commit/f82a74a9bd6b62b41540950b8b64a207206baaf5
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M flang/test/Lower/associate-construct.f90
    M flang/test/Lower/default-initialization.f90
    M flang/test/Lower/select-type-2.f90
    M flang/test/Lower/statement-function.f90
    M flang/test/Lower/submodule.f90

  Log Message:
  -----------
  [flang][NFC] Converted five tests from old lowering to new lowering (part 51) (#194522)

Converted Lower/associate-construct.f90,
Lower/default-initialization.f90, Lower/select-type-2.f90,
Lower/statement-function.f90, and Lower/submodule.f90 from legacy
lowering (-hlfir=false) to new lowering (-emit-hlfir).


  Commit: c28d9076ec8b2d36e0ce897c08ca62963f96b975
      https://github.com/llvm/llvm-project/commit/c28d9076ec8b2d36e0ce897c08ca62963f96b975
  Author: Zhige Chen <zhige_chen at outlook.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    A llvm/test/tools/llubi/intr_vector_interleave.ll
    A llvm/test/tools/llubi/intr_vector_manip.ll
    A llvm/test/tools/llubi/intr_vector_reduce.ll
    A llvm/test/tools/llubi/intr_vector_stepvector.ll
    M llvm/tools/llubi/lib/Interpreter.cpp

  Log Message:
  -----------
  [llubi] Implement vector reduction/manipulation intrinsics (#194345)

This PR implements vector reduction and manipulation intrinsics. 

Note that floating-point vector reduction intrinsics are not covered by
this change; they will be added in a follow-up PR after #188453 is
merged.


  Commit: 378b411cf20051e3c3b654eab4347523f7da603f
      https://github.com/llvm/llvm-project/commit/378b411cf20051e3c3b654eab4347523f7da603f
  Author: Amilendra Kodithuwakku <amilendra.kodithuwakku at arm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_qrshr.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_qshr.c
    M clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p3_OR_sme2p3_RP___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
    A clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_imm.cpp
    A clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_qshrn.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sve2p3-intrinsics/sve2p3-intrinsics-qrshr.ll
    A llvm/test/CodeGen/AArch64/sve2p3-intrinsics/sve2p3-intrinsics-qshr.ll

  Log Message:
  -----------
  [clang][AArch64][SVE2p3][SME2p3] Add intrinsics for v9.7a shift operations (#186087)

Add the following new clang intrinsics based on the ACLE specification
https://github.com/ARM-software/acle/pull/428 (Add alpha support for 9.7
data processing intrinsics)

Multi-vector saturating rounding shift right narrow and interleave
instructions
- SQRSHRN
- svint8_t svqrshrn_s8(svint16x2_t, uint64_t) / svint8_t
svqrshrn_n_s8_s16_x2(svint16x2_t, uint64_t)

- UQRSHRN
- svuint8_t svqrshrn_u8(svuint16x2_t, uint64_t) / svuint8_t
svqrshrn_n_u8_u16_x2(svuint16x2_t, uint64_t)

- SQRSHRUN
- svuint8_t svqrshrun_u8(svint16x2_t, uint64_t) / svuint8_t
svqrshrun_n_u8_s16_x2(svint16x2_t, uint64_t)

Multi-vector saturating shift right narrow and interleave
- SQSHRN
- svint8_t svqshrn_s8(svint16x2_t, uint64_t) / svint8_t
svqshrn_n_s8_s16_x2(svint16x2_t, uint64_t)
- svint16_t svqshrn_s16(svint32x2_t, uint64_t) / svint16_t
svqshrn_n_s16_s32_x2(svint32x2_t, uint64_t)

- UQSHRN
- svuint8_t svqshrn_u8(svuint16x2_t, uint64_t) / svuint8_t
svqshrn_n_u8_u16_x2(svuint16x2_t, uint64_t)
- svuint16_t svqshrn_u16(svuint32x2_t, uint64_t) / svuint16_t
svqshrn_n_u16_u32_x2(svuint32x2_t, uint64_t)

- SQSHRUN
- svuint8_t svqshrun_u8(svint16x2_t, uint64_t) / svuint8_t
svqshrun_n_u8_s16_x2(svint16x2_t, uint64_t)
- svuint16_t svqshrun_u16(svint32x2_t, uint64_t) / svuint16_t
svqshrun_n_u16_s32_x2(svint32x2_t, uint64_t)


  Commit: c5e941d7226573557d7fbef843a580a1d2c0d245
      https://github.com/llvm/llvm-project/commit/c5e941d7226573557d7fbef843a580a1d2c0d245
  Author: hev <wangrui at loongson.cn>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/test/CodeGen/LoongArch/lasx/bitclr.ll
    M llvm/test/CodeGen/LoongArch/lasx/bitrev.ll
    M llvm/test/CodeGen/LoongArch/lasx/bitset.ll
    M llvm/test/CodeGen/LoongArch/lsx/bitclr.ll
    M llvm/test/CodeGen/LoongArch/lsx/bitrev.ll
    M llvm/test/CodeGen/LoongArch/lsx/bitset.ll

  Log Message:
  -----------
  [LoongArch] Support VBIT{CLR,SET,REV}I patterns for non-native element sizes (#193719)

Extend vsplat_uimm_{pow2,inv_pow2} matching to allow specifying an
explicit element bit width, enabling recognition of splat patterns whose
logical element size differs from the vector's native element type.

Introduce templated selectVSplatUimm{Pow2,InvPow2} helpers with an
optional EltSize parameter, and add corresponding ComplexPattern
definitions for i8/i16/i32 element widths. This allows TableGen patterns
to match cases such as operating on v8i32/v4i64 vectors with masks
derived from smaller element sizes.

With these changes, AND/OR/XOR operations using inverse power-of-two or
power-of-two splat masks are now correctly selected to VBITCLRI,
VBITSETI, and VBITREVI instructions instead of falling back to vector
logical operations with materialized constants.


  Commit: 34e136bc847c8e231d49f11d8c0039a489cb1595
      https://github.com/llvm/llvm-project/commit/34e136bc847c8e231d49f11d8c0039a489cb1595
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    A llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smax.ll
    A llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smin.ll
    A llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umax.ll
    A llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umin.ll

  Log Message:
  -----------
  [PhaseOrdering][X86] Copy backend horizontal min/max reduction tests to phaseordering (#194601)

As discussed on #194473 - add middleend test coverage to ensure we're
creating vXi8/vXi16 llvm.vector.reduce calls to ensure we can lower to
PHMINPOS instructions

Also demonstrates that we're still not matching partial reduction
patterns in vectorcombine


  Commit: 9d3f2372ac5c5ffae124b402794acd8781a09280
      https://github.com/llvm/llvm-project/commit/9d3f2372ac5c5ffae124b402794acd8781a09280
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpFrame.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    M clang/test/AST/ByteCode/records.cpp

  Log Message:
  -----------
  [clang][bytecode] Don't start record field lifetime by default (#193496)

Even though we have per-field lifetime information we did not previously
diagnose this test:
```c++
  struct R {
    struct Inner { constexpr int f() const { return 0; } };
    int a = b.f();
    Inner b;
  };
  constexpr R r;
```
because the life time was started by default.

This patch makes record members be `Lifetime::NotStarted` by default
(unless they are primitive arrays) and then starts the lifetime when in
`Pointer::initialize()`.


  Commit: a6df7eb0638a452c55fcd44b90d95270e9ebf533
      https://github.com/llvm/llvm-project/commit/a6df7eb0638a452c55fcd44b90d95270e9ebf533
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
    M flang/test/Fir/fir-ops.fir
    A flang/test/Fir/rebox-embox-optional-codegen.fir
    M flang/test/Fir/rebox_assumed_rank_codegen.fir
    M flang/test/HLFIR/declare-codegen.fir

  Log Message:
  -----------
  [flang] allow rebox/embox of OPTIONAL (#194319)

Delay materialization of branches when building local temporary
descriptor for OPTIONAL from hlfir-to-fir until pre-cg-rewrite.
This makes the IR easier to analyze with OPTIONAL (for instance alias
analysis does not need to handle the branches to find the source).

This is done by adding an "optional" attribute to fir.embox, fir.rebox,
and fir.rebox_assumed_rank to indicate that their cogeneration must be
conditional.

The conditional aspect is implemented in pre-cg-rewrite to avoid
complexifying codegen and the fir.cg dialect.

Assisted by: Claude


  Commit: ad2390871a5d77a12bdd9074ba6209cef4553a8f
      https://github.com/llvm/llvm-project/commit/ad2390871a5d77a12bdd9074ba6209cef4553a8f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [SLP][NFC]Cache isUsedOutsideBlock results in gather-shuffle analysis

Hoist loop-invariant predicates and memoize per-UserTE
all_of(Scalars, isUsedOutsideBlock) in
isGatherShuffledSingleRegisterEntry and vectorizeTree to avoid
redundant walks over scalar user lists in the gather-shuffle hot path.

Reviewers: 

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


  Commit: 83164a43a1eef61f1e0f6078718a68adb21489ee
      https://github.com/llvm/llvm-project/commit/83164a43a1eef61f1e0f6078718a68adb21489ee
  Author: Serosh <janmejayapanda400 at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseExprCXX.cpp
    A clang/test/Parser/gh186582.cpp

  Log Message:
  -----------
  [Clang] fix assertion failure in ::template operator parsing (#194097)

when parsing an invalid `::template operator`, the parser incorrectly
kept the consumed tokens on error. This caused the token cache to go out
of sync and crash. This patch fixes it by reverting the tokens and
properly returning the error
fixes #186582


  Commit: b48aa05f399d16faf90475cfb8131ae8693d8f97
      https://github.com/llvm/llvm-project/commit/b48aa05f399d16faf90475cfb8131ae8693d8f97
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [llvm] Mark IOSandbox::ScopedSetting nodiscard and maybe_unused (#194602)

The goal is to have the same attributes on ScopedSetting regardless if
this cmake setting is enabled or not.

Both of these should have nodiscard and maybe_unused attributes.


  Commit: cd950962a95f57c149360204f32432dd870781cf
      https://github.com/llvm/llvm-project/commit/cd950962a95f57c149360204f32432dd870781cf
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/test/Driver/modules-driver-import-std.cpp

  Log Message:
  -----------
  [clang][modules-driver] Further constrain import-std test (#194604)

The root cause for the failing test was found in
https://github.com/llvm/llvm-project/pull/194475#issuecomment-4335023585.
The test uses `--target=x86_64-linux-gnu` which is only available with
`-DLLVM_TARGETS_TO_BUILD=all` or on native x86 targets.


  Commit: a2409e07ce26d32efe4b6112ef5ff0c592fca254
      https://github.com/llvm/llvm-project/commit/a2409e07ce26d32efe4b6112ef5ff0c592fca254
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M libc/include/CMakeLists.txt
    R libc/include/sys/ucontext.h
    A libc/include/sys/ucontext.h.def
    A libc/include/sys/ucontext.yaml
    R libc/include/ucontext.h.def

  Log Message:
  -----------
  [libc][NFC] Move sys/ucontext.h to YAML generation (#194573)

Renamed sys/ucontext.h to sys/ucontext.h.def and created a corresponding
sys/ucontext.yaml, following the pattern used by sys/prctl. Updated
CMakeLists.txt to use add_header_macro.

Also removed the orphaned top-level ucontext.h.def which was never
referenced by ucontext.yaml.


  Commit: 4e030aeec015d33e68197755923c11dc5f62e968
      https://github.com/llvm/llvm-project/commit/4e030aeec015d33e68197755923c11dc5f62e968
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [SLP][NFC]Cache MightBeIgnored result in gather-shuffle analysis

Each V in VL is queried up to 3 times for MightBeIgnored (direct +
NeighborMightBeIgnored from both neighbors), and the underlying
areAllUsersVectorized walks the instruction's user list. Memoize per
Value pointer to avoid the redundant walks.

Reviewers: 

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


  Commit: e459ce50775d9f5923282da3e1c49a90409db270
      https://github.com/llvm/llvm-project/commit/e459ce50775d9f5923282da3e1c49a90409db270
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/P10InstrResources.td
    M llvm/lib/Target/PowerPC/PPCBack2BackFusion.def
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCMacroFusion.def
    M llvm/lib/Target/PowerPC/PPCRegisterClasses.td
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
    M llvm/lib/Target/PowerPC/PPCScheduleP7.td

  Log Message:
  -----------
  Revert "[PowerPC] Enable using HwMode for instructions (#191051)" (#194464)

This reverts commit 2a83068537786696d4950ce694e7d34480631f48.

It causes test suite failures in the 7zip benchmark.


  Commit: ca27dc2933ed81835569d3e86c16935d850d38ff
      https://github.com/llvm/llvm-project/commit/ca27dc2933ed81835569d3e86c16935d850d38ff
  Author: Steven Perron <stevenperron at google.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
    A llvm/test/CodeGen/SPIRV/pointers/load-store-matrix-in-struct.ll

  Log Message:
  -----------
  [SPIR-V] Matrix in struct pointer legalization (#193073)

When looking to load an object at the start of a struct, the types do
not always match exactly. When we have an HLSL matrix the type in the
load will not match the type in memory. We need to improve the pointer
legalization pass to look for any "compatible" type at the start of an
aggragate.

A compatible are two types that the pass knows know to convert from one
to another.

This involves a refactoring of the code to make the check more general.

Assisted-by: Gemini


<!-- branch-stack-start -->

<!-- branch-stack-end -->


  Commit: 74781cf395fe577447835aed69b77c65615c0d08
      https://github.com/llvm/llvm-project/commit/74781cf395fe577447835aed69b77c65615c0d08
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M lldb/test/API/functionalities/multi-breakpoint/TestMultiBreakpoint.py

  Log Message:
  -----------
  [lldb] Disable gdbremote test on windows (#194627)

This is causing bot failures.


  Commit: e6e9e1f528c64f09460144fc5e1f3aa6b9a3199d
      https://github.com/llvm/llvm-project/commit/e6e9e1f528c64f09460144fc5e1f3aa6b9a3199d
  Author: Anshul Nigham <nigham at google.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/docs/InstrRefDebugInfo.md
    M llvm/docs/KeyInstructionsDebugInfo.md

  Log Message:
  -----------
  [Docs] Fixes indents for InstrRefDebugInfo and KeyInstructionsDebugInfo (#194532)

This distinguishes the doc title from the headers.

Fixes navigation indents for Furo theme update (see
https://github.com/llvm/llvm-project/pull/184440).


  Commit: da0455adab6f9d218c1006cba05ba3fb50e09a00
      https://github.com/llvm/llvm-project/commit/da0455adab6f9d218c1006cba05ba3fb50e09a00
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll

  Log Message:
  -----------
  [PhaseOrdering][X86] vector-reductions-expanded.ll - use passes list instead of piped opt stages (#194608)

Cleanup to make it easier to regenerate checks for #194473


  Commit: b0f3cd1020a862244653f0445fbd52a1a1cad887
      https://github.com/llvm/llvm-project/commit/b0f3cd1020a862244653f0445fbd52a1a1cad887
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp

  Log Message:
  -----------
  [lldb][windows] fix a race condition in IO reader thread (#194422)


  Commit: 61d795c79733703f7612c22bfc99ceada555576e
      https://github.com/llvm/llvm-project/commit/61d795c79733703f7612c22bfc99ceada555576e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [SLP][NFC]Cache IsExternallyUsed by Value in cost computation

Same V is commonly seen in multiple TEs (shared scalars), and the
expensive part of IsExternallyUsed walks V->users() with multiple
match() pattern checks plus per-user getTreeEntries lookups - all
V-only-dependent. Split out the V-dependent body and memoize by
Value pointer, leaving the TE-specific copyable check at the call
site. DeletedNodes is read-only during the cost loop, so caching
is safe.

Reviewers: 

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


  Commit: 77cfc55ed4a4aec79c9cf9e56676feac2b704c1b
      https://github.com/llvm/llvm-project/commit/77cfc55ed4a4aec79c9cf9e56676feac2b704c1b
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M mlir/utils/vscode/package-lock.json
    M mlir/utils/vscode/package.json

  Log Message:
  -----------
  [MLIR] Update minimatch dependency in VSCode plugin, resolving security alerts (#188613)


  Commit: 5b82a264511d01f4ed0d4dd9ce566d53b391c1af
      https://github.com/llvm/llvm-project/commit/5b82a264511d01f4ed0d4dd9ce566d53b391c1af
  Author: Adel Ejjeh <adel.ejjeh at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp

  Log Message:
  -----------
  [AMDGPU][NFC] Remove redundant Args.size() assertions from AMDGPUMCExpr (#194488)

Remove redundant `Args.size()` assertions from `AMDGPUMCExpr` evaluate
functions (`evaluateExtraSGPRs`, `evaluateTotalNumVGPR`,
`evaluateAlignTo`, `evaluateOccupancy`).

These assertions are redundant with the `zip_equal` size checking
performed in the `evaluateMCExprs` helper function introduced in
#193859.

---

*This PR was developed with AI assistance (GitHub Copilot).*


  Commit: 268bac6c2519a94f4ae515e2db540adf7f368621
      https://github.com/llvm/llvm-project/commit/268bac6c2519a94f4ae515e2db540adf7f368621
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M flang/include/flang/Parser/openmp-utils.h
    M flang/lib/Parser/openmp-utils.cpp

  Log Message:
  -----------
  [flang][OpenMP] Move implementation detail from header to source, NFC (#194638)


  Commit: bfaab0ec1d82045f4b38fd356452094e4efdb4ed
      https://github.com/llvm/llvm-project/commit/bfaab0ec1d82045f4b38fd356452094e4efdb4ed
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/test/CodeGen/AArch64/neon/intrinsics.c

  Log Message:
  -----------
  [clang][cir][nfc] Add missing comment (#194644)


  Commit: d089e7397ec73ebdb5a6cce3fda52e27f6f19345
      https://github.com/llvm/llvm-project/commit/d089e7397ec73ebdb5a6cce3fda52e27f6f19345
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port f5b6e4fc2022 (#194645)


  Commit: 0052113fb692b9a7c96f7b642c8e65071878d823
      https://github.com/llvm/llvm-project/commit/0052113fb692b9a7c96f7b642c8e65071878d823
  Author: Srividya Sundaram <srividya.sundaram at intel.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/sycl-std-default.cpp

  Log Message:
  -----------
  [SYCL][Driver] Set -std=c++17 as default for SYCL compilations (#194014)

This PR ensures SYCL compilations default to C++17 when no explicit
standard is specified, and validates that user-provided standards meet
SYCL's C++17 minimum requirement. It also fixes Windows MSVC compilation
by enabling -fms-extensions for SYCL device code.


  Commit: a2f9da54cb84838c106037baed0d9fc60c5637ab
      https://github.com/llvm/llvm-project/commit/a2f9da54cb84838c106037baed0d9fc60c5637ab
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M lldb/source/Host/windows/ConnectionConPTYWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp

  Log Message:
  -----------
  [lldb][windows] fix race condition in ConPTY on process exit (#194631)


  Commit: 5d48370b260f3f12c9fe5402dfcb68d634f696c1
      https://github.com/llvm/llvm-project/commit/5d48370b260f3f12c9fe5402dfcb68d634f696c1
  Author: Daniel Hernandez-Juarez <danherna at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp

  Log Message:
  -----------
  [mlir][memref] Pass TypeConverter to ConvertMemrefStore (#194356)

Commit 20b925a28a29 dropped the TypeConverter from ConvertMemrefStore
when adding the disableAtomicRMW flag. Restore it.


  Commit: d769ce21768c66a04b3e46d1b330fd29238b34a5
      https://github.com/llvm/llvm-project/commit/d769ce21768c66a04b3e46d1b330fd29238b34a5
  Author: Benjamin Stott <Benjamin.Stott at sony.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/utils/lit/lit/InprocBuiltins.py
    M llvm/utils/lit/lit/ShellEnvironment.py
    M llvm/utils/lit/lit/TestRunner.py
    M llvm/utils/lit/tests/shtest-glob.py

  Log Message:
  -----------
  [Lit] Change processRedirects to open all files in binary mode (#194368)

This PR is the second in a series of patches upgrading Lit's in-process
built-ins to be able to run with piped input/output and full redirection
support, and to allow custom in-process builtns to be provided via the
Lit config. The remaining patches to Lit's test runner can be found here@
https://github.com/BStott6/llvm-project/compare/lit-inproc-builtins.

This is part of the Lit daemonized testing project:
https://discourse.llvm.org/t/88612.

This PR makes Lit's `processRedirects` function open all input/output
files in binary mode. This makes sure that in-process builtins have the
expected behaviour when reading and writing from them:

Newline translation is not required for any of the current in-process
built-ins, in fact, the in-process built-in for `echo`, which is the
only one that writes to `stdout`, explicitly re-opens the output file
with `newline=""` on Windows, to avoid newline translation. Also,
in-process builtins will eventually need to be able to read or write
binary data: for example, `opt` without `-S` running in daemon mode.

I believe this has no functional change for regular process invocations;
I have confirmed that programs invoked by Lit which write to files
opened in binary mode by Lit still have the newline translation
performed as normal on Windows, unless they change the mode of their
output stream themselves.


  Commit: 4c6ae8f5be5607948e841b49688d594fe48926ea
      https://github.com/llvm/llvm-project/commit/4c6ae8f5be5607948e841b49688d594fe48926ea
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/verifier.mlir

  Log Message:
  -----------
  [mlir][tosa] Verify the output shape of tosa.mul and tosa.rescale (#193952)

Verifying the provided output shape against an expected shape helps
diagnose issues on op construction.


  Commit: eecec864d1802358869b07286ec5b553302c4b92
      https://github.com/llvm/llvm-project/commit/eecec864d1802358869b07286ec5b553302c4b92
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll

  Log Message:
  -----------
  [SLP] Add tests for boundary case with MinProfitableStridedOps (#194507)

Currently we don't vectorize runtime strided loads when `VF == MinProfitableStridedOps`.


  Commit: 40ad10a8ae36aef58cf11e80c0024eb9409f6697
      https://github.com/llvm/llvm-project/commit/40ad10a8ae36aef58cf11e80c0024eb9409f6697
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M flang/docs/ReleaseNotes.md
    M flang/include/flang/Support/Fortran-features.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Support/Fortran-features.cpp
    A flang/test/Driver/deprecated-w-spelling.f90
    M flang/test/Semantics/OpenACC/acc-declare-validity.f90
    M flang/test/Semantics/OpenMP/allocate-align01.f90
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/declarative-directive01.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/declare-target02.f90
    M flang/test/Semantics/OpenMP/declare-target06.f90
    M flang/test/Semantics/OpenMP/deprecation.f90
    M flang/test/Semantics/OpenMP/nested-target.f90
    M flang/test/Semantics/OpenMP/requires04.f90
    M flang/test/Semantics/OpenMP/requires05.f90
    M flang/test/Semantics/OpenMP/simd-aligned.f90
    M flang/test/Semantics/OpenMP/single03.f90
    M flang/test/Semantics/OpenMP/single04.f90
    M flang/test/Semantics/OpenMP/target01.f90
    M flang/test/Semantics/OpenMP/threadprivate-equivalence-nowarn.f90
    M flang/test/Semantics/OpenMP/use_device_ptr1.f90
    M flang/unittests/Common/FortranFeaturesTest.cpp

  Log Message:
  -----------
  [Flang] Fix -Wopen-mp-* and -Wopen-acc-* flag spellings (#188434)

The CamelCase-to-hyphenated conversion was incorrectly splitting
"OpenMP" and "OpenACC" into "open-mp" and "open-acc", producing wrong -W
flag names like -Wopen-mp-usage instead of -Wopenmp-usage. Fix the
conversion to treat these as compound names, keep the old spellings as
deprecated aliases, and emit a warning when deprecated spellings are
used.

---------

Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>


  Commit: 7ceac4b1af614c886760b6d1d10d523d910c86d3
      https://github.com/llvm/llvm-project/commit/7ceac4b1af614c886760b6d1d10d523d910c86d3
  Author: Benjamin Stott <Benjamin.Stott at sony.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/utils/lit/lit/TestRunner.py

  Log Message:
  -----------
  [Lit] Open sub-processes with text=`False` (#194577)

This PR is part of a series of patches upgrading Lit's in-process
built-ins to be able to run with piped input/output and full redirection
support, and to allow custom in-process builtns to be provided via the
Lit config. The remaining patches to Lit's test runner can be found here:
https://github.com/BStott6/llvm-project/compare/lit-inproc-builtins.

This is part of the Lit daemonized testing project:
https://discourse.llvm.org/t/88612

This PR makes Lit open all sub-processes with `text=False`, so that the
Python code will be able to read and write binary data to and from their
IO streams. This currently causes no functional change, as when Lit
reads output from the sub-processes, it already handles the case that
the read output is `bytes` by decoding it, but we will need to be able
to read binary data from a sub-process's STDIN if its output, which may
be binary, is piped into an in-process built-in, and we will need to be
able to write binary data to a sub-process's STDOUT if its input is
piped from an in-process builtin.

I have made sure that on Windows, when a sub-process invoked by Lit has
its output redirected to a file by Lit, the `\n -> \r\n` conversion is
performed as usual when writing to the file from the process - this
change only affects how the Python code interacts with the streams.


  Commit: 251ed1eb8435d4c34163d288a0cba1af29f825ce
      https://github.com/llvm/llvm-project/commit/251ed1eb8435d4c34163d288a0cba1af29f825ce
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-counting-down.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll

  Log Message:
  -----------
  [VPlan] Optz WideCanIV with SIVSteps over CanIV (#191276)

Replace WideCanonicalIV with a ScalarIVSteps over the CanonicalIV when
only the first lane is used. This is a preparatory step in enabling
expansion of WideCanonicalIV into executable recipes.


  Commit: ec0675591f0dd5a4bfed477b0d5e25aa404d7e0f
      https://github.com/llvm/llvm-project/commit/ec0675591f0dd5a4bfed477b0d5e25aa404d7e0f
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  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/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.mm

  Log Message:
  -----------
  Add the support for adoptCFNullable/adoptNSNullable (#194539)

These are two new "adopt" functions to be introduced in WebKit.


  Commit: d7ed6d8c9f2f2f314f73fe7f39d8bd19968ecf4f
      https://github.com/llvm/llvm-project/commit/d7ed6d8c9f2f2f314f73fe7f39d8bd19968ecf4f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M libcxx/test/benchmarks/spec.gen.py
    M libcxx/utils/ci/lnt/run-benchbot
    M libcxx/utils/ci/lnt/run-benchmarks

  Log Message:
  -----------
  [libc++] Improvements to the benchmark runners (#194659)

- Run the ref workloads on SPEC
- Record the SPEC version in the machine info
- Allow filtering which benchmarks are run in run-benchbot


  Commit: 5320bda2324afc9da8d1146af19362b486f25be6
      https://github.com/llvm/llvm-project/commit/5320bda2324afc9da8d1146af19362b486f25be6
  Author: Petr Kurapov <petr.kurapov at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    M llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll

  Log Message:
  -----------
  [AMDGPU] Enable lane masks tracking in coexec scheduler. (#194578)

Prevents the scheduler to silently produce invalid IR.


  Commit: 3c14034c55a296306ad0ea4990f0f1b34e9e5d6e
      https://github.com/llvm/llvm-project/commit/3c14034c55a296306ad0ea4990f0f1b34e9e5d6e
  Author: Amit Tiwari <amtiwari at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/test/Semantics/OpenMP/device-constructs.f90
    A flang/test/Semantics/OpenMP/device-omp-initial-invalid.f90
    A flang/test/Semantics/OpenMP/device-pre-52.f90
    M openmp/module/omp_lib.F90.var
    M openmp/module/omp_lib.h.var

  Log Message:
  -----------
  [Flang][OpenMP] Validate `omp_initial_device` `omp_invalid_device` as device IDs (#193669)

As per OpenMP 5.2/6.0 the below are valid device values in a `#pragma
omp target` directive:

omp_initial_device (-1) -> refers to the host CPU.
omp_invalid_device (-2) -> an intentionally invalid device, used to
trigger a runtime error.

For the 2 values discussed above flang fails with:

```
error: The device expression of the DEVICE clause must be a positive integer expression
      !$OMP TARGET DEVICE(-1)
error: Must have INTEGER type, but is REAL(4)
      !$OMP TARGET DEVICE(OMP_INVALID_DEVICE)

```
Issue: https://github.com/llvm/llvm-project/issues/192989


  Commit: 4d676e56f0ee819a20a021434a53060a43c33120
      https://github.com/llvm/llvm-project/commit/4d676e56f0ee819a20a021434a53060a43c33120
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUDAKernelOpInterface.h
    A flang/include/flang/Optimizer/Dialect/CUDAKernelOpInterface.td
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUDAKernelOpInterface.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    A flang/test/Fir/array-coor-canonicalization-cuf.fir

  Log Message:
  -----------
  [flang][cuda] Preserve fir.rebox captured by cuf.kernel via CUDAKernelOpInterface (#193890)

Reland of #193837 (reverted in #193855), now using a marker op interface
to avoid the link cycle that broke `BUILD_SHARED_LIBS=ON` builds.

`SimplifyArrayCoorOp` folded `fir.rebox` into `fir.array_coor` across a
`cuf.kernel` boundary. CUF lowering needs the captured rebox to
materialize a managed-memory descriptor for the kernel; folding it away
makes the kernel dereference the host-side descriptor and crash with
`cudaErrorIllegalAddress`.

Fix is to add `fir::CUDAKernelOpInterface`, a marker op interface
defined in FIRDialect and implemented by `cuf.kernel`. The
canonicalization guard queries the interface, so the `TypeIDResolver`
symbol lives in `libFIRDialect.so` and no `FIR -> CUF` link edge is
introduced.


  Commit: ba6861c2bc30dc02167e2e43cb2dfdaedc2e700a
      https://github.com/llvm/llvm-project/commit/ba6861c2bc30dc02167e2e43cb2dfdaedc2e700a
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    A mlir/test/Target/LLVMIR/openmp-target-spmd-num-threads-i64.mlir

  Log Message:
  -----------
  [OpenMPIRBuilder] Cast device num_threads to i32 for __kmpc_parallel_60 (#194634)

I observed a crash in device OpenMP lowering when compiling with
`-fdefault-integer-8`. In `targetParallelCallback`, `NumThreads` can be
`i64`, but `__kmpc_parallel_60` expects an `i32` `num_threads`
parameter, which caused a bad-signature assertion during call creation.

The fix is to use `CreateZExtOrTrunc(..., Int32)` for the `num_threads`
argument before building the runtime call. This matches the handling
used in clang in `CGOpenMPRuntimeGPU::emitParallelCall`.

The problem can be seen with the following testcase whe compiled with
`flang -fopenmp --offload-arch=gfx90a test.f90 -fdefault-integer-8``

```
program test
  implicit none
  integer :: nthreads
  integer :: i
  nthreads = 137
  !$omp target teams distribute parallel do num_threads(nthreads)
  do i = 1, 1
  end do
  !$omp end target teams distribute parallel do
end program test
```


  Commit: 8ea2b587c0f0a430ae0e7563e62e79c39b675683
      https://github.com/llvm/llvm-project/commit/8ea2b587c0f0a430ae0e7563e62e79c39b675683
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    A clang/test/CIR/CodeGen/local-const-aggregate-name-clash.cpp

  Log Message:
  -----------
  [CIR] Avoid duplicate name collisions in LoweringPrepare (#194469)

This fixes a bug in the CIR LoweringPrepare pass where we were creating
multiple constant initializer global values with the same name, causing
references to them (specifically cir.get_global) to get the wrong value.

Assisted-by: Cursor / claude-4.7-opus-xhigh


  Commit: de6af1ff342efcd5198623f1e2bf32a314e8400c
      https://github.com/llvm/llvm-project/commit/de6af1ff342efcd5198623f1e2bf32a314e8400c
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/SystemZ/memcpy-03.ll
    A llvm/test/CodeGen/SystemZ/memmove-01.ll
    M llvm/test/CodeGen/SystemZ/memset-08.ll

  Log Message:
  -----------
  [SystemZ] Improved testing for memcpy/memmove/memset. (#194682)

This is a pre-commit for #187100.


  Commit: 928f70d38e34a97f95adcc67f0686f35761bd548
      https://github.com/llvm/llvm-project/commit/928f70d38e34a97f95adcc67f0686f35761bd548
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp

  Log Message:
  -----------
  [TableGen] Emit constexpr versions of some directive/clause functions (#194633)

A variant of https://github.com/llvm/llvm-project/pull/176253 with a
change to reduce compile-time impact.

Since "llvm_unreachable" is actually allowed in constexpr functions,
simply emit the bodies of the selected functions in the header file.

In the previous PR the `isAllowedClauseForDirective` function was made
constexpr, but since it was very long it had a significant impact on
compilation time. In this PR that function is no longer constexpr.


  Commit: ff6269d116c0cc7eee399bdb96f8a929c55085e8
      https://github.com/llvm/llvm-project/commit/ff6269d116c0cc7eee399bdb96f8a929c55085e8
  Author: Hongyu Chen <xxs_chy at outlook.com>
  Date:   2026-04-29 (Wed, 29 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/BDCE.cpp
    M llvm/test/Transforms/BDCE/dead-uses.ll

  Log Message:
  -----------
  [BDCE] Avoid replacement of self-referential instructions  (#194614)

Fixes #194564.


  Commit: 88b9b2533c9a271eff08690eff61423f435cc33e
      https://github.com/llvm/llvm-project/commit/88b9b2533c9a271eff08690eff61423f435cc33e
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Support/Signals.cpp

  Log Message:
  -----------
  [LLVM] Disable IO sandbox in symbolizeAddresses (#194597)

The function `symbolizeAddresses` is used by debugify to symbolize
addresses captured in the current invocation of LLVM, which it does by
executing llvm-symbolizer with temporary input and output files.
Creating the temporary files has an explicit sandbox exclusion, as
temporary files are necessarily not part of the compiler's formal
output, but attempting to read back the output file via MemoryBuffer
triggers a sandbox violation. Since we are always only operating on
temporary files within symbolizeAddresses, this patch disables the IO
sandbox in that function.


  Commit: dc1d85c055f14f0fb41891a3a3404e58c44ec4d7
      https://github.com/llvm/llvm-project/commit/dc1d85c055f14f0fb41891a3a3404e58c44ec4d7
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M flang/test/Lower/user-defined-operators.f90
    M flang/test/Lower/variable-inquiries.f90
    M flang/test/Lower/where-allocatable-assignments.f90
    M flang/test/Lower/where.f90
    M flang/test/Transforms/constant-argument-globalisation.fir

  Log Message:
  -----------
  [flang][NFC] Converted five tests from old lowering to new lowering (part 52) (#194525)

Converted Lower/user-defined-operators.f90,
Lower/variable-inquiries.f90, Lower/where-allocatable-assignments.f90,
Lower/where.f90, and Transforms/constant-argument-globalisation.fir from
legacy lowering (-hlfir=false / -flang-deprecated-no-hlfir) to new
lowering (-emit-hlfir or no flag for FIR-input tests).


  Commit: cbb012fa03d41195562e7b6e82d2ccfc4c70e03d
      https://github.com/llvm/llvm-project/commit/cbb012fa03d41195562e7b6e82d2ccfc4c70e03d
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [Support] Mark string-returning sys::path::native nodiscard (#194675)

To make it clear that it doesn't modify the path in place like the other
overloads. Follow-up to #193228


  Commit: b40c1d511b2e84842707939a1332b90ebb1a50a0
      https://github.com/llvm/llvm-project/commit/b40c1d511b2e84842707939a1332b90ebb1a50a0
  Author: Grigory Pastukhov <gpastukhov at meta.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
    M llvm/test/Transforms/Inline/flatten.ll

  Log Message:
  -----------
  [LLVM] Fix use-after-free in AlwaysInliner flatten worklist (#194485)

Functions with both `alwaysinline` and `flatten` attributes were
collected into the `NeedFlattening` worklist, then erased during
always-inline processing, leaving dangling pointers. Fix by collecting
flatten functions after the always-inline loop, and eliminate the
separate worklist by iterating the module directly.


  Commit: 9e0057bdc4099ef6d7dcc99ec59bc4da9220f8d9
      https://github.com/llvm/llvm-project/commit/9e0057bdc4099ef6d7dcc99ec59bc4da9220f8d9
  Author: Benjamin Luke <benjamin.luke at sony.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    A clang/test/FixIt/fixit-recompile-warning-options.cpp

  Log Message:
  -----------
  [clang] [fixit] Properly apply warning options during fixit-recompile (#190280)

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

During fixit recompile, the frontend was not reapplying command-line
diagnostic options, so the second pass could lose -Wno-* suppressions
and other warning configuration.

Added regression test to make sure that diagnostic options are properly
applied in the fixit-recompile path.


  Commit: dddd0da8e611448987225aad28aa0202040084fc
      https://github.com/llvm/llvm-project/commit/dddd0da8e611448987225aad28aa0202040084fc
  Author: Amina Chabane <amina.chabane at arm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/test/AArch64/unsupported-passes.test
    M bolt/test/assume-abi.test

  Log Message:
  -----------
  [BOLT][AArch64] Refuse to run IndirectCallPromotion pass (#194363)

`--icp=<value>`/`--indirect-call-promotion=<value>` results in an
`UNIMPLEMENTED` crash when invoked as it is unimplemented in AArch64.

- Guard IndirectCallPromotion for non-X86
- Update unsupported-passes.test with expected error


  Commit: 264ac2d3af1b97705225f623f4561be51163e6e3
      https://github.com/llvm/llvm-project/commit/264ac2d3af1b97705225f623f4561be51163e6e3
  Author: Paulius Velesko <pvelesko at pglc.io>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    A clang/test/CodeGenCUDA/device-stub-macho.cu
    M clang/test/CodeGenCUDA/offloading-entries.cu
    M clang/test/Driver/linker-wrapper-image.c
    M llvm/include/llvm/Frontend/Offloading/Utility.h
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/Frontend/Offloading/Utility.cpp
    M llvm/test/tools/llvm-offload-wrapper/offload-wrapper.ll

  Log Message:
  -----------
  [HIP][MacOS] Mach-O support and Darwin toolchain fixes (#183991)

This PR adds support for HIP on macOS: Mach-O section naming, Darwin
host toolchain initialization guards, and HIPSPV behavior when Darwin is
the host.

This has been verified using chipStar on MacOS via the PoCL OpenCL
implementation.

## Uninitialized target workaround
Darwin’s toolchain is only initialized when its own TranslateArgs runs.
For HIP/CUDA device jobs, Darwin is used as the HostTC and never gets
its args translated, so its target stays uninitialized. The new checks
avoid asserting on that uninitialized state. A better long-term fix is
to initialize Darwin earlier (see the FIXME in Driver.cpp
BuildJobsForAction).

- [ ] Initialize Darwin toolchain during construction instead of lazily
in TranslateArgs. See Driver.cpp BuildJobsForAction FIXME.

- [x] In Darwin’s addClangTargetOptions, skip host-stdlib flags when
DeviceOffloadKind != OFK_None so HIPSPV can safely delegate to the host.


  Commit: 6d01ff1c503c8f1de7c86d5b94424695bc85d655
      https://github.com/llvm/llvm-project/commit/6d01ff1c503c8f1de7c86d5b94424695bc85d655
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M compiler-rt/test/cfi/cross-dso-diagnostic.cpp
    M compiler-rt/test/cfi/cross-dso/icall/diag.cpp
    M compiler-rt/test/cfi/cross-dso/icall/icall-from-dso.cpp
    M compiler-rt/test/cfi/cross-dso/icall/icall.cpp
    M compiler-rt/test/cfi/icall/bad-signature.c

  Log Message:
  -----------
  [NFC][cfi] Update diagnostic tests for better location matching (#194557)


  Commit: 52539231c76cc08b3b8c558e0c5e38420ea18059
      https://github.com/llvm/llvm-project/commit/52539231c76cc08b3b8c558e0c5e38420ea18059
  Author: Adel Ejjeh <adel.ejjeh at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopInfo.h
    M llvm/lib/Analysis/LoopInfo.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp

  Log Message:
  -----------
  [NFC][LoopUtils] Add Loop::addStringLoopAttribute and Loop::addIntLoopAttribute (#194676)

Consolidate repeated `makePostTransformationMetadata` boilerplate into
two new `Loop` methods:
- `addStringLoopAttribute`: adds a string-only metadata attribute
- `addIntLoopAttribute`: adds a `{Name, ConstantInt(Value)}` metadata
attribute

Both accept optional `RemovePrefixes` to strip existing attributes
first.

Refactored call sites:
- `Loop::setLoopAlreadyUnrolled` (LoopInfo.cpp)
- `Loop::setLoopMustProgress` (LoopInfo.cpp)
- `postUnswitch` partial/injection (SimpleLoopUnswitch.cpp)
- `LoopVectorizeHints::setAlreadyVectorized`
(LoopVectorizationLegality.cpp)

This consolidation was requested by reviewers of #190258.

This patch was generated with assistance of GitHub Copilot/Claude Opus
and reviewed by a human.


  Commit: 778b3b501fd764ee8e9410b7e484ea6618c54b7d
      https://github.com/llvm/llvm-project/commit/778b3b501fd764ee8e9410b7e484ea6618c54b7d
  Author: David Green <david.green at arm.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-clmul.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-ext.ll

  Log Message:
  -----------
  [ARM][MVE] Change MVE getSetCCResultType to always use i1 vectors (#192531)

This mirrors what SVE does on the AArch64 side, where because we have
predicate vectors we can use them fall all types, and let legalization handle
where it is not the case. This fixes a clmul expansion that was failing to lower
the resulting intrinsic.


  Commit: c26ae41c8765fdd073c71061f21a83a161598901
      https://github.com/llvm/llvm-project/commit/c26ae41c8765fdd073c71061f21a83a161598901
  Author: gulfemsavrun <gulfem at google.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-profgen.rst
    M llvm/docs/ReleaseNotes.md
    R llvm/include/llvm/ProfileData/ETMTraceDecoder.h
    M llvm/lib/ProfileData/CMakeLists.txt
    R llvm/lib/ProfileData/ETMTraceDecoder.cpp
    R llvm/test/tools/llvm-profgen/Inputs/etm-opencsd.yaml
    R llvm/test/tools/llvm-profgen/etm-arch.test
    R llvm/test/tools/llvm-profgen/etm-opencsd.test
    M llvm/test/tools/llvm-profgen/lit.local.cfg
    M llvm/tools/llvm-profgen/PerfReader.cpp
    M llvm/tools/llvm-profgen/PerfReader.h
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.h
    M llvm/tools/llvm-profgen/llvm-profgen.cpp

  Log Message:
  -----------
  Revert "Reland "[llvm-profgen] Add support for ETM trace decoding"" (#194695)

Reverts llvm/llvm-project#194465

Caused tools/llvm-profgen/etm-opencsd.test to fail on some systems.


  Commit: bde089e256cee6a245871c321012a63b6820e0d4
      https://github.com/llvm/llvm-project/commit/bde089e256cee6a245871c321012a63b6820e0d4
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    A clang/test/CIR/CodeGen/implicit-return-zero.c

  Log Message:
  -----------
  [CIR] Add implicit return zero handling (#194490)

This adds code to emit a store of zero to the return value for functions
that are identified as having the implicit return zero propery (such as
main() in C programs).

Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh


  Commit: c355081020d6583146139a15ff44541466f69f30
      https://github.com/llvm/llvm-project/commit/c355081020d6583146139a15ff44541466f69f30
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp

  Log Message:
  -----------
  [WebAssembly] Remove unnecessary code after #187484 (NFC) (#194188)

This code was written under the assumption that
`fixCallUnwindMismatches` runs before `fixCatchUnwindMismatches`, but
since #187484 it's not true anymore.


  Commit: 81963b129e9008b0fdbaf56a423a6514ee9a3f26
      https://github.com/llvm/llvm-project/commit/81963b129e9008b0fdbaf56a423a6514ee9a3f26
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/lib/Headers/amdgpuintrin.h
    M clang/lib/Headers/gpuintrin.h
    M clang/lib/Headers/nvptxintrin.h
    M clang/lib/Headers/spirvintrin.h

  Log Message:
  -----------
  [Clang] Simplify target specific implementations in gpuintrin.h (#194669)

Summary:
Previously we had a three-way dance where the top-level defined an impl
then the lower level defined potentially an override and then we
stitched those together.

This simplifies  that, instead just defining a macro that says whether
or not we need it. This works because the target-specific portions are
always included first, so this basically says "Do we need to make a
default version".


  Commit: 5249e5527f48e1dd6b13c3dabed4992b299bfcb9
      https://github.com/llvm/llvm-project/commit/5249e5527f48e1dd6b13c3dabed4992b299bfcb9
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

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

  Log Message:
  -----------
  [SLP][NFC]Skip large mostly-trivial trees with up to one vector compute node

Track non-load/store, non-PHI, non-split vector compute nodes separately
in isTreeTinyAndNotFullyVectorizable. Allow skipping a tree when it
contains at most one such vector node and at most one load/store node,
provided the tree is large enough relative to their combined count
(VectorizableTree.size() > LimitTreeSize * (StoreLoadNodes.size() +
VectorNodes.size())).

Reviewers: 

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


  Commit: 7558262ea2a696745596540ed96fed97193865d2
      https://github.com/llvm/llvm-project/commit/7558262ea2a696745596540ed96fed97193865d2
  Author: Björn Schäpers <bjoern at hazardy.de>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Improve annotating star and amp (#194190)

Use the context better.

Fixes #193255


  Commit: e93f771dc2f75f999616290c68c13c2a17a688ed
      https://github.com/llvm/llvm-project/commit/e93f771dc2f75f999616290c68c13c2a17a688ed
  Author: Christopher Di Bella <cjdb at google.com>
  Date:   2026-04-29 (Wed, 29 Apr 2026)

  Changed paths:
    M llvm/lib/Support/ProgramStack.cpp

  Log Message:
  -----------
  adds `<cstdlib>` to `ProgramStack.cpp` (#194249)

Building `LLVMSupport` with libc++ causes Clang to error because
`malloc` and `free` aren't declared before they're used in
`ProgramStack.cpp`.


  Commit: 66c1b6f0194bec99396e358f997d771d5e3bd28d
      https://github.com/llvm/llvm-project/commit/66c1b6f0194bec99396e358f997d771d5e3bd28d
  Author: Cheng Lingfei <53817093+clingfei at users.noreply.github.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/bool-vector-bitcast-compare.ll
    M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
    M llvm/test/CodeGen/AArch64/illegal-floating-point-vector-compares.ll
    M llvm/test/CodeGen/AArch64/neon-anyof-splat.ll

  Log Message:
  -----------
  [AArch64] Optimize lowering of i1 vector reduction (#187912)

This pr optimizes code generation in AArch64 for comparing bitcast <N x
i1> results with 0 or -1 using eq/ne. For scenarios where only "all
zeros or all 1s" are considered, the backend no longer prioritizes
materializing packed bitmasks and using vector reduction methods like
addv/umaxv/uminv. Instead, it expands the boolean vector into a regular
integer vector and performs the comparison via a more direct scalar
comparison path. For 64-bit and 128-bit cases that can be folded down to
64-bit, a lighter instruction sequence like fmov + cmp/cmn + cset/csel
is generated.

Functionally, this brings several benefits:

- Optimized the `setcc(bitcast(vNi1), 0/-1)` and
`select_cc(bitcast(vNi1), 0/-1, ...)` modes.

- In scenarios like <8 x i1>, a zero/all-one check can be performed
directly on the entire comparison result, avoiding additional vector
lateral reduction.

- In 128-bit scenarios like <16 x i1>, the vector is first folded using
ext + orr/and before a scalar comparison is performed.


Closes https://github.com/llvm/llvm-project/issues/186710.


  Commit: 5b701456ac5d457ef17328b65fa31adfa0615172
      https://github.com/llvm/llvm-project/commit/5b701456ac5d457ef17328b65fa31adfa0615172
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M lldb/test/API/windows/conpty/TestConPTY.py

  Log Message:
  -----------
  [lldb][windows] skip ConPTY tests on ARM64 Windows (#194688)

The tests are flaky on the aarch64 Windows bot. Skip them there while
investigating.


  Commit: a3a2f4690979adc80d76b3ac0624c5f4dc5d457a
      https://github.com/llvm/llvm-project/commit/a3a2f4690979adc80d76b3ac0624c5f4dc5d457a
  Author: CatherineMoore <catmoore at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M clang/docs/OpenMPSupport.rst

  Log Message:
  -----------
  [OpenMP] Documentation update (#194458)

Update to WIP entries for OpenMP 6.0


  Commit: e6b1324fcbf8a1fc2d433acd86e46af27d1d9d88
      https://github.com/llvm/llvm-project/commit/e6b1324fcbf8a1fc2d433acd86e46af27d1d9d88
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    M .github/workflows/issue-subscriber.yml
    M .gitignore
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Passes/CMOVConversion.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/test/AArch64/unsupported-passes.test
    M bolt/test/assume-abi.test
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.h
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/arr39-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/con36-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/con54-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/ctr56-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl03-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl16-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl37-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl50-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl51-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl54-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl59-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err09-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err34-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err52-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err60-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err61-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/exp42-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/exp45-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/fio38-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/flp30-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/flp37-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/int09-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc24-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc30-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc32-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc50-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc54-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop11-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop54-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/pos44-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/pos47-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/sig30-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/str34-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-c-arrays.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-magic-numbers.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/c-copy-assignment-signature.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/explicit-virtual-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/macro-to-enum.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-destructor.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-move-operations.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-swap.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/non-private-member-variables-in-classes.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-default-member-init.rst
    M clang-tools-extra/docs/clang-tidy/checks/fuchsia/header-anon-namespaces.rst
    M clang-tools-extra/docs/clang-tidy/checks/fuchsia/multiple-inheritance.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/build-namespaces.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-braces-around-statements.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-casting.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-function-size.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-namespace-comments.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-c-arrays.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-goto.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/braces-around-statements.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/deprecated-headers.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/exception-baseclass.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/explicit-conversions.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/function-size.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/ignored-remove-result.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/invalid-access-moved.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/member-init.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/move-const-arg.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/named-parameter.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/new-delete-operators.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-array-decay.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-assembler.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-malloc.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/noexcept-move.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/signed-bitwise.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/special-member-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/static-assert.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/undelegated-constructor.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/uppercase-literal-suffix.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-auto.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-emplace.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-default.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-delete.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-noexcept.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-nullptr.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-override.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/vararg.rst
    M clang-tools-extra/docs/clang-tidy/checks/llvm/else-after-return.rst
    M clang-tools-extra/docs/clang-tidy/checks/llvm/qualified-auto.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-default.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/faster-string-find.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/implicit-cast-in-loop.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-length.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-cast.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-structured-bindings.cpp
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTFwd.h
    M clang/include/clang/AST/ASTTypeTraits.h
    M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Basic/AArch64CodeGenUtils.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_sve.td
    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
    M clang/include/clang/Driver/ModulesDriver.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/StaticAnalyzer/Checkers/Taint.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/lib/AST/ASTTypeTraits.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    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/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpFrame.h
    M clang/lib/AST/ByteCode/MemberPointer.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenDecl.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/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    A clang/lib/CIR/CodeGen/CIRGenOpenMPRuntime.cpp
    A clang/lib/CIR/CodeGen/CIRGenOpenMPRuntime.h
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ModulesDriver.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/lib/Headers/amdgpuintrin.h
    M clang/lib/Headers/gpuintrin.h
    M clang/lib/Headers/nvptxintrin.h
    M clang/lib/Headers/spirvintrin.h
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
    M clang/lib/StaticAnalyzer/Core/Environment.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
    M clang/test/AST/ByteCode/builtins.c
    M clang/test/AST/ByteCode/cxx11.cpp
    M clang/test/AST/ByteCode/cxx17.cpp
    A clang/test/AST/ByteCode/libcxx/apvalue-initializer.cpp
    A clang/test/AST/ByteCode/libcxx/lvalue-constantexpr.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    M clang/test/AST/ByteCode/openmp.cpp
    M clang/test/AST/ByteCode/records.cpp
    A clang/test/AST/HLSL/matrix_layout_attr.hlsl
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    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.mm
    M clang/test/C/drs/dr335.c
    M clang/test/CIR/CodeGen/atomic.c
    M clang/test/CIR/CodeGen/binop.cpp
    M clang/test/CIR/CodeGen/cmp.cpp
    M clang/test/CIR/CodeGen/complex.cpp
    A clang/test/CIR/CodeGen/consteval-aggregate.cpp
    M clang/test/CIR/CodeGen/if.cpp
    A clang/test/CIR/CodeGen/implicit-return-zero.c
    A clang/test/CIR/CodeGen/lambda-decomp-decl-captures.cpp
    A clang/test/CIR/CodeGen/local-const-aggregate-name-clash.cpp
    M clang/test/CIR/CodeGen/static-local.cpp
    A clang/test/CIR/CodeGen/temp-param-obj-decl.cpp
    M clang/test/CIR/CodeGen/ternary-throw.cpp
    M clang/test/CIR/CodeGen/ternary.cpp
    A clang/test/CIR/CodeGen/thread-local-in-func.cpp
    A clang/test/CIR/CodeGen/try-no-throwing-calls.cpp
    M clang/test/CIR/CodeGen/unary.cpp
    A clang/test/CIR/CodeGen/vtable-linkage-explicit-instantiation.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-float.c
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
    A clang/test/CIR/CodeGenOpenMP/emit-device-functions.cpp
    M clang/test/CIR/IR/invalid-static-local.cir
    M clang/test/CIR/IR/static-local.cir
    R clang/test/CIR/Transforms/cast-bitcast-funcptr-roundtrip-fold.cir
    A clang/test/CIR/Transforms/flatten-try-catch-cleanup.cir
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c
    M clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mmla-bf16.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mmla-f16.c
    M clang/test/CodeGen/AArch64/sve-vector-compare-ops.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_addqp.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_addsubp.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_qrshr.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_qshr.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_subp.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_svabal.c
    A clang/test/CodeGen/AArch64/v9.7a-neon-mmla-intrinsics.c
    M clang/test/CodeGen/atomic-ops.c
    M clang/test/CodeGen/atomic-test-and-set.c
    M clang/test/CodeGen/atomic.c
    M clang/test/CodeGen/atomic_ops.c
    M clang/test/CodeGen/builtins-bitint.c
    M clang/test/CodeGen/builtins.c
    M clang/test/CodeGen/c11atomics-ios.c
    M clang/test/CodeGen/defer-ts.c
    M clang/test/CodeGen/flatten.c
    M clang/test/CodeGen/scoped-atomic-ops.c
    M clang/test/CodeGen/strict-bool.c
    M clang/test/CodeGen/ubsan-conditional.c
    A clang/test/CodeGenCUDA/device-stub-macho.cu
    M clang/test/CodeGenCUDA/offloading-entries.cu
    M clang/test/CodeGenCXX/aarch64-sve-vector-conditional-op.cpp
    M clang/test/CodeGenCXX/blocks.cpp
    M clang/test/CodeGenCXX/builtin-atomic-compare_exchange.cpp
    M clang/test/CodeGenCXX/cast-to-ref-bool.cpp
    M clang/test/CodeGenCXX/exceptions.cpp
    M clang/test/CodeGenCXX/ignored-bitfield-conditional.cpp
    M clang/test/CodeGenCXX/lambda-expressions.cpp
    M clang/test/CodeGenCXX/mangle-requires.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCoroutines/coro-await-resume-eh.cpp
    M clang/test/CodeGenCoroutines/coro-dest-slot.cpp
    M clang/test/CodeGenCoroutines/coro-gro.cpp
    A clang/test/CodeGenCoroutines/coro-gro4.cpp
    M clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
    M clang/test/CodeGenCoroutines/pr59181.cpp
    M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
    A clang/test/CodeGenHLSL/ArrayAssignable.logicalptr.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
    M clang/test/CodeGenHLSL/Bool.hlsl
    M clang/test/CodeGenHLSL/BoolMatrix.hlsl
    M clang/test/CodeGenHLSL/BoolVector.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/VectorElementStore.hlsl
    M clang/test/CodeGenHLSL/builtins/WavePrefixCountBits.hlsl
    M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
    A clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.hlsl
    A clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.logical.hlsl
    M clang/test/CodeGenHLSL/strict-bool.hlsl
    M clang/test/CodeGenHLSL/vk-features/vk.spec-constant.hlsl
    M clang/test/CodeGenObjC/property-atomic-bool.m
    M clang/test/CodeGenObjC/strict-bool.m
    M clang/test/CodeGenObjC/strong-in-c-struct.m
    M clang/test/CodeGenOpenCL/bool_cast.cl
    M clang/test/DebugInfo/Generic/codeview-buildinfo.c
    M clang/test/DebugInfo/Generic/debug-prefix-map.c
    M clang/test/DebugInfo/KeyInstructions/atomic.c
    M clang/test/Driver/baremetal.cpp
    M clang/test/Driver/linker-wrapper-image.c
    A clang/test/Driver/modules-driver-both-modules-types.cpp
    A clang/test/Driver/modules-driver-cxx-modules-only.cpp
    A clang/test/Driver/modules-driver-import-std.cpp
    A clang/test/Driver/modules-driver-incompatible-options.cpp
    M clang/test/Driver/ps4-ps5-linker-win.c
    A clang/test/Driver/sycl-std-default.cpp
    A clang/test/FixIt/fixit-recompile-warning-options.cpp
    M clang/test/Frontend/absolute-paths-windows.test
    M clang/test/Frontend/dependency-gen-windows-duplicates.c
    M clang/test/Frontend/fixed_point_add.c
    M clang/test/Frontend/fixed_point_comparisons.c
    M clang/test/Frontend/fixed_point_div.c
    M clang/test/Frontend/fixed_point_mul.c
    M clang/test/Frontend/fixed_point_sub.c
    M clang/test/Headers/__clang_hip_libdevice_declares.cpp
    M clang/test/Headers/gpuintrin.c
    M clang/test/Headers/openmp-device-functions-bool.c
    M clang/test/OpenMP/atomic_capture_codegen.cpp
    M clang/test/OpenMP/atomic_update_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/for_codegen.cpp
    M clang/test/OpenMP/loop_collapse_codegen.cpp
    M clang/test/OpenMP/master_taskloop_simd_codegen.cpp
    M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
    M clang/test/OpenMP/parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/parallel_master_taskloop_codegen.cpp
    M clang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
    M clang/test/OpenMP/target_data_device_messages.cpp
    M clang/test/OpenMP/target_data_if_logical_codegen.cpp
    M clang/test/OpenMP/target_device_messages.cpp
    A clang/test/OpenMP/target_device_omp_initial_invalid.c
    M clang/test/OpenMP/target_enter_data_depend_codegen.cpp
    M clang/test/OpenMP/target_enter_data_device_messages.cpp
    M clang/test/OpenMP/target_exit_data_depend_codegen.cpp
    M clang/test/OpenMP/target_exit_data_device_messages.cpp
    M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
    M clang/test/OpenMP/target_parallel_debug_codegen.cpp
    M clang/test/OpenMP/target_parallel_device_messages.cpp
    M clang/test/OpenMP/target_parallel_for_debug_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_device_messages.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_device_messages.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-3.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen.cpp
    M clang/test/OpenMP/target_simd_device_messages.cpp
    M clang/test/OpenMP/target_teams_device_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_device_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_device_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_device_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_device_messages.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_update_depend_codegen.cpp
    M clang/test/OpenMP/target_update_device_messages.cpp
    M clang/test/OpenMP/taskloop_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
    A clang/test/Parser/gh186582.cpp
    M clang/test/Parser/static_assert.cpp
    M clang/test/Preprocessor/file_test_windows.c
    A clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p3_OR_sme2p3_RP___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
    A clang/test/Sema/AArch64/arm_sve_non_streaming_only_sve_AND_sve-b16mm.c
    A clang/test/Sema/AArch64/arm_sve_non_streaming_only_sve_AND_sve2p2_AND_f16mm.c
    M clang/test/Sema/aarch64-neon-target.c
    M clang/test/Sema/aarch64-neon-without-target-feature.cpp
    A clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3.cpp
    A clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_imm.cpp
    A clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_qshrn.cpp
    M clang/test/Sema/attr-ownership.c
    A clang/test/Sema/hlsl_matrix_layout_non_hlsl.cpp
    M clang/test/SemaCXX/cxx17-compat.cpp
    M clang/test/SemaCXX/lambda-unevaluated.cpp
    A clang/test/SemaHLSL/matrix_layout_attr.hlsl
    M clang/test/lit.cfg.py
    M clang/tools/clang-sycl-linker/CMakeLists.txt
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M clang/unittests/Basic/FileManagerTest.cpp
    M clang/unittests/Driver/ToolChainTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestComments.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
    M clang/unittests/Tooling/CMakeLists.txt
    A clang/unittests/Tooling/RecursiveASTVisitorTests/OffsetOfExpr.cpp
    M compiler-rt/lib/asan_abi/asan_abi_tbd.txt
    M compiler-rt/test/cfi/cross-dso-diagnostic.cpp
    M compiler-rt/test/cfi/cross-dso/icall/diag.cpp
    M compiler-rt/test/cfi/cross-dso/icall/icall-from-dso.cpp
    M compiler-rt/test/cfi/cross-dso/icall/icall.cpp
    M compiler-rt/test/cfi/icall/bad-signature.c
    M flang/docs/ReleaseNotes.md
    M flang/include/flang/Optimizer/Analysis/ArraySectionAnalyzer.h
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUDAKernelOpInterface.h
    A flang/include/flang/Optimizer/Dialect/CUDAKernelOpInterface.td
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/include/flang/Parser/openmp-utils.h
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/include/flang/Support/Fortran-features.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Optimizer/Analysis/ArraySectionAnalyzer.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUDAKernelOpInterface.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCUtils.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
    M flang/lib/Parser/openmp-utils.cpp
    M flang/lib/Semantics/canonicalize-acc.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Support/Fortran-features.cpp
    A flang/test/Driver/deprecated-w-spelling.f90
    M flang/test/Fir/CUDA/cuda-alloc-free.fir
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    M flang/test/Fir/CUDA/cuda-device-global.f90
    A flang/test/Fir/array-coor-canonicalization-cuf.fir
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/fir-ops.fir
    A flang/test/Fir/rebox-embox-optional-codegen.fir
    M flang/test/Fir/rebox_assumed_rank_codegen.fir
    M flang/test/HLFIR/declare-codegen.fir
    A flang/test/HLFIR/order_assignments/where-equivalent-subscripts.fir
    M flang/test/Integration/OpenMP/target-use-device-nested.f90
    M flang/test/Integration/OpenMP/threadprivate-target-device.f90
    M flang/test/Lower/OpenACC/Todo/do-loops-to-acc-loops-todo.f90
    R flang/test/Lower/OpenMP/Todo/scope-allocate.f90
    R flang/test/Lower/OpenMP/Todo/scope-firstprivate.f90
    R flang/test/Lower/OpenMP/Todo/scope.f90
    A flang/test/Lower/OpenMP/scope.f90
    A flang/test/Lower/OpenMP/target-scope.f90
    A flang/test/Lower/OpenMP/tile-parallel-do.f90
    M flang/test/Lower/associate-construct.f90
    M flang/test/Lower/default-initialization.f90
    M flang/test/Lower/polymorphic-temp.f90
    M flang/test/Lower/polymorphic-types.f90
    M flang/test/Lower/procedure-declarations.f90
    M flang/test/Lower/read-write-buffer.f90
    M flang/test/Lower/real-operations-2.f90
    M flang/test/Lower/select-type-2.f90
    M flang/test/Lower/statement-function.f90
    M flang/test/Lower/submodule.f90
    M flang/test/Lower/user-defined-operators.f90
    M flang/test/Lower/variable-inquiries.f90
    M flang/test/Lower/where-allocatable-assignments.f90
    M flang/test/Lower/where.f90
    M flang/test/Semantics/OpenACC/acc-canonicalization-validity.f90
    M flang/test/Semantics/OpenACC/acc-declare-validity.f90
    M flang/test/Semantics/OpenACC/acc-loop.f90
    M flang/test/Semantics/OpenMP/allocate-align01.f90
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/declarative-directive01.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/declare-target02.f90
    M flang/test/Semantics/OpenMP/declare-target06.f90
    M flang/test/Semantics/OpenMP/deprecation.f90
    M flang/test/Semantics/OpenMP/device-constructs.f90
    A flang/test/Semantics/OpenMP/device-omp-initial-invalid.f90
    A flang/test/Semantics/OpenMP/device-pre-52.f90
    M flang/test/Semantics/OpenMP/nested-target.f90
    M flang/test/Semantics/OpenMP/requires04.f90
    M flang/test/Semantics/OpenMP/requires05.f90
    M flang/test/Semantics/OpenMP/simd-aligned.f90
    M flang/test/Semantics/OpenMP/single03.f90
    M flang/test/Semantics/OpenMP/single04.f90
    M flang/test/Semantics/OpenMP/target01.f90
    M flang/test/Semantics/OpenMP/threadprivate-equivalence-nowarn.f90
    M flang/test/Semantics/OpenMP/use_device_ptr1.f90
    A flang/test/Semantics/OpenMP/workshare06.f90
    M flang/test/Transforms/constant-argument-globalisation.fir
    M flang/unittests/Common/FortranFeaturesTest.cpp
    M libc/config/linux/x86_64/headers.txt
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    M libc/hdr/types/socklen_t.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
    A libc/include/sys/ucontext.h.def
    A libc/include/sys/ucontext.yaml
    R libc/include/ucontext.h.def
    M libc/shared/math.h
    A libc/shared/math/bf16subl.h
    A libc/shared/math/dsqrtf128.h
    A libc/shared/math/fmaximum.h
    A libc/shared/math/fmaximum_num.h
    A libc/shared/math/fmaximum_numbf16.h
    A libc/shared/math/fmaximum_numf.h
    A libc/shared/math/fmaximum_numf128.h
    A libc/shared/math/fmaximum_numf16.h
    A libc/shared/math/fmaximum_numl.h
    A libc/shared/math/fmaximumbf16.h
    A libc/shared/math/fmaximumf.h
    A libc/shared/math/fmaximumf128.h
    A libc/shared/math/fmaximumf16.h
    A libc/shared/math/fmaximuml.h
    A libc/shared/math/fmin.h
    A libc/shared/math/fminbf16.h
    A libc/shared/math/fminf.h
    A libc/shared/math/fminf128.h
    A libc/shared/math/fminf16.h
    A libc/shared/math/fminimum.h
    A libc/shared/math/fminimum_num.h
    A libc/shared/math/fminimum_numbf16.h
    A libc/shared/math/fminimum_numf.h
    A libc/shared/math/fminimum_numf128.h
    A libc/shared/math/fminimum_numf16.h
    A libc/shared/math/fminimum_numl.h
    A libc/shared/math/fminimumbf16.h
    A libc/shared/math/fminimumf.h
    A libc/shared/math/fminimumf128.h
    A libc/shared/math/fminimumf16.h
    A libc/shared/math/fminimuml.h
    A libc/shared/math/fminl.h
    A libc/shared/math/ilogbbf16.h
    A libc/shared/math/llogbbf16.h
    A libc/shared/math/sqrtl.h
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/bf16subl.h
    A libc/src/__support/math/dsqrtf128.h
    M libc/src/__support/math/fmax.h
    M libc/src/__support/math/fmaxbf16.h
    M libc/src/__support/math/fmaxf.h
    M libc/src/__support/math/fmaxf128.h
    M libc/src/__support/math/fmaxf16.h
    A libc/src/__support/math/fmaximum.h
    A libc/src/__support/math/fmaximum_num.h
    A libc/src/__support/math/fmaximum_numbf16.h
    A libc/src/__support/math/fmaximum_numf.h
    A libc/src/__support/math/fmaximum_numf128.h
    A libc/src/__support/math/fmaximum_numf16.h
    A libc/src/__support/math/fmaximum_numl.h
    A libc/src/__support/math/fmaximumbf16.h
    A libc/src/__support/math/fmaximumf.h
    A libc/src/__support/math/fmaximumf128.h
    A libc/src/__support/math/fmaximumf16.h
    A libc/src/__support/math/fmaximuml.h
    M libc/src/__support/math/fmaxl.h
    A libc/src/__support/math/fmin.h
    A libc/src/__support/math/fminbf16.h
    A libc/src/__support/math/fminf.h
    A libc/src/__support/math/fminf128.h
    A libc/src/__support/math/fminf16.h
    A libc/src/__support/math/fminimum.h
    A libc/src/__support/math/fminimum_num.h
    A libc/src/__support/math/fminimum_numbf16.h
    A libc/src/__support/math/fminimum_numf.h
    A libc/src/__support/math/fminimum_numf128.h
    A libc/src/__support/math/fminimum_numf16.h
    A libc/src/__support/math/fminimum_numl.h
    A libc/src/__support/math/fminimumbf16.h
    A libc/src/__support/math/fminimumf.h
    A libc/src/__support/math/fminimumf128.h
    A libc/src/__support/math/fminimumf16.h
    A libc/src/__support/math/fminimuml.h
    A libc/src/__support/math/fminl.h
    A libc/src/__support/math/ilogbbf16.h
    A libc/src/__support/math/llogbbf16.h
    A libc/src/__support/math/sqrtl.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/bf16subl.cpp
    M libc/src/math/generic/dsqrtf128.cpp
    M libc/src/math/generic/fmaximum.cpp
    M libc/src/math/generic/fmaximum_num.cpp
    M libc/src/math/generic/fmaximum_numbf16.cpp
    M libc/src/math/generic/fmaximum_numf.cpp
    M libc/src/math/generic/fmaximum_numf128.cpp
    M libc/src/math/generic/fmaximum_numf16.cpp
    M libc/src/math/generic/fmaximum_numl.cpp
    M libc/src/math/generic/fmaximumbf16.cpp
    M libc/src/math/generic/fmaximumf.cpp
    M libc/src/math/generic/fmaximumf128.cpp
    M libc/src/math/generic/fmaximumf16.cpp
    M libc/src/math/generic/fmaximuml.cpp
    M libc/src/math/generic/fmin.cpp
    M libc/src/math/generic/fminbf16.cpp
    M libc/src/math/generic/fminf.cpp
    M libc/src/math/generic/fminf128.cpp
    M libc/src/math/generic/fminf16.cpp
    M libc/src/math/generic/fminimum.cpp
    M libc/src/math/generic/fminimum_num.cpp
    M libc/src/math/generic/fminimum_numbf16.cpp
    M libc/src/math/generic/fminimum_numf.cpp
    M libc/src/math/generic/fminimum_numf128.cpp
    M libc/src/math/generic/fminimum_numf16.cpp
    M libc/src/math/generic/fminimum_numl.cpp
    M libc/src/math/generic/fminimumbf16.cpp
    M libc/src/math/generic/fminimumf.cpp
    M libc/src/math/generic/fminimumf128.cpp
    M libc/src/math/generic/fminimumf16.cpp
    M libc/src/math/generic/fminimuml.cpp
    M libc/src/math/generic/fminl.cpp
    M libc/src/math/generic/ilogbbf16.cpp
    M libc/src/math/generic/llogbbf16.cpp
    M libc/src/math/generic/sqrtl.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M libc/test/src/sys/socket/linux/CMakeLists.txt
    M libc/test/src/sys/socket/linux/send_recv_test.cpp
    M libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
    A libc/utils/docgen/sys/sem.yaml
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__locale_dir/locale_base_api.h
    R libcxx/include/__support/xlocale/__nop_locale_mgmt.h
    M libcxx/test/benchmarks/spec.gen.py
    M libcxx/utils/ci/lnt/run-benchbot
    M libcxx/utils/ci/lnt/run-benchmarks
    M libsycl/src/detail/device_binary_structures.hpp
    M libsycl/src/detail/device_image_wrapper.cpp
    M libsycl/src/detail/device_image_wrapper.hpp
    M libsycl/src/detail/program_manager.cpp
    M libsycl/src/detail/program_manager.hpp
    M libunwind/src/AddressSpace.hpp
    M libunwind/src/DwarfParser.hpp
    M lldb/docs/use/tutorials/writing-custom-commands.md
    M lldb/examples/python/armv7_cortex_m_target_defintion.py
    M lldb/examples/python/bsd.py
    M lldb/examples/python/cmdtemplate.py
    M lldb/examples/python/delta.py
    M lldb/examples/python/disasm-stress-test.py
    M lldb/examples/python/disasm.py
    M lldb/examples/python/file_extract.py
    M lldb/examples/python/gdbremote.py
    M lldb/examples/python/globals.py
    M lldb/examples/python/in_call_stack.py
    M lldb/examples/python/lldb_module_utils.py
    M lldb/examples/python/lldbtk.py
    M lldb/examples/python/mach_o.py
    M lldb/examples/python/memory.py
    M lldb/examples/python/operating_system.py
    M lldb/examples/python/performance.py
    M lldb/examples/python/process_events.py
    M lldb/examples/python/sbvalue.py
    M lldb/examples/python/shadow.py
    M lldb/examples/python/sources.py
    M lldb/examples/python/stacks.py
    M lldb/examples/python/symbolication.py
    M lldb/examples/python/types.py
    M lldb/examples/python/x86_64_linux_target_definition.py
    M lldb/examples/python/x86_64_qemu_target_definition.py
    M lldb/examples/python/x86_64_target_definition.py
    M lldb/include/lldb/Host/windows/ConnectionConPTYWindows.h
    M lldb/include/lldb/Host/windows/PseudoConsole.h
    M lldb/include/lldb/Utility/StringExtractorGDBRemote.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
    M lldb/scripts/analyze-project-deps.py
    M lldb/scripts/verify_api.py
    M lldb/source/Commands/CommandObjectMultiword.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectRegister.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
    M lldb/source/Host/windows/ConnectionConPTYWindows.cpp
    M lldb/source/Host/windows/PseudoConsole.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Utility/StringExtractorGDBRemote.cpp
    M lldb/test/API/dotest.py
    R lldb/test/API/functionalities/dead-strip/cmds.txt
    M lldb/test/API/functionalities/inline-sourcefile/Makefile
    R lldb/test/API/functionalities/load_unload/cmds.txt
    A lldb/test/API/functionalities/multi-breakpoint/Makefile
    A lldb/test/API/functionalities/multi-breakpoint/TestMultiBreakpoint.py
    A lldb/test/API/functionalities/multi-breakpoint/main.c
    M lldb/test/API/functionalities/plugins/python_os_plugin/operating_system2.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/os_plugin_in_dsym/operating_system.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/operating_system.py
    M lldb/test/API/functionalities/valobj_errors/Makefile
    M lldb/test/API/functionalities/wrong_commands/TestWrongCommands.py
    R lldb/test/API/lang/c/array_types/cmds.txt
    R lldb/test/API/lang/c/global_variables/cmds.txt
    R lldb/test/API/lang/cpp/class_types/cmds.txt
    R lldb/test/API/lang/cpp/namespace/cmds.txt
    R lldb/test/API/lang/cpp/stl/cmds.txt
    M lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
    M lldb/test/API/lang/objc/modules-auto-import/main.m
    M lldb/test/API/macosx/arm-pointer-metadata-cfa-dwarf-expr/Makefile
    M lldb/test/API/macosx/dsym_codesign/TestdSYMCodesign.py
    R lldb/test/API/macosx/order/cmds.txt
    M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
    M lldb/test/API/test_runner/test/inferior.py
    M lldb/test/API/test_runner/test/test_process_control.py
    M lldb/test/API/windows/conpty/TestConPTY.py
    M lldb/test/Shell/Quit/expect_exit_code.py
    M lldb/test/Shell/Register/Core/Inputs/strip-coredump.py
    M lldb/test/Shell/ScriptInterpreter/Python/Crashlog/patch-crashlog.py
    M lldb/test/Shell/helper/build.py
    M lldb/tools/debugserver/source/JSON.h
    M lldb/tools/debugserver/source/RNBRemote.cpp
    M lldb/tools/debugserver/source/RNBRemote.h
    M lldb/utils/lui/lui.py
    M lldb/utils/lui/sandbox.py
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/InstrRefDebugInfo.md
    M llvm/docs/KeyInstructionsDebugInfo.md
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/docs/SandboxIR.md
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/StableHashing.h
    M llvm/include/llvm/Analysis/LoopInfo.h
    M llvm/include/llvm/AsmParser/LLLexer.h
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/CodeGenTypes/LowLevelType.h
    M llvm/include/llvm/Frontend/Offloading/Utility.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/MC/MCContext.h
    M llvm/include/llvm/MC/MCSymbol.h
    M llvm/include/llvm/Object/OffloadBinary.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Support/IOSandbox.h
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/include/llvm/Support/Path.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
    M llvm/lib/Analysis/LoopInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/ARMException.cpp
    M llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
    M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
    M llvm/lib/CodeGen/MIRParser/MILexer.cpp
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/lib/CodeGen/Rematerializer.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/DWARFCFIChecker/DWARFCFIAnalysis.cpp
    M llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/Frontend/Offloading/Utility.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfoMetadata.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCContext.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/MC/MCInst.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/ELFAsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/MC/MCSFrame.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/Object/OffloadBinary.cpp
    M llvm/lib/Support/APFloat.cpp
    M llvm/lib/Support/Hash.cpp
    M llvm/lib/Support/KnownBits.cpp
    M llvm/lib/Support/ProgramStack.cpp
    M llvm/lib/Support/Signals.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOPDInstructions.td
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
    M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
    M llvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp
    M llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp
    M llvm/lib/Target/DirectX/CMakeLists.txt
    M llvm/lib/Target/DirectX/DXILWriter/CMakeLists.txt
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.h
    M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.h
    M llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
    M llvm/lib/Target/DirectX/DirectXIRPasses/CMakeLists.txt
    A llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
    A llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.h
    M llvm/lib/Target/DirectX/DirectXIRPasses/PointerTypeAnalysis.cpp
    M llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp
    M llvm/lib/Target/Lanai/LanaiMCInstLower.cpp
    M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.h
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SPIRV/SPIRV.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
    M llvm/lib/Target/SPIRV/SPIRVPassRegistry.def
    M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
    A llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.h
    M llvm/lib/Target/SPIRV/SPIRVPrepareGlobals.cpp
    A llvm/lib/Target/SPIRV/SPIRVPrepareGlobals.h
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    M llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
    M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/lib/Target/TargetLoweringObjectFile.cpp
    M llvm/lib/Target/VE/Disassembler/VEDisassembler.cpp
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyCallLowering.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    M llvm/lib/Target/X86/X86CallingConv.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/lib/Target/XCore/XCoreAsmPrinter.cpp
    M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
    M llvm/lib/Transforms/IPO/IROutliner.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/IPO/PartialInlining.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/BDCE.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Assembler/2006-09-28-CrashOnInvalid.ll
    A llvm/test/Assembler/float-literals.ll
    A llvm/test/Assembler/invalid-call-float-literal.ll
    A llvm/test/Assembler/invalid-uselistorder_bb-float-literal.ll
    A llvm/test/Bitcode/fixedpoint_scope.ll
    R llvm/test/CodeGen/AArch64/GlobalISel/combine-constant-fold-count.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-constant-fold-unary-int.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/fold-fp-select.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-fshl-fshr.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-acos.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-asin.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-atan.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-atan2.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ceil.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cos.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cosh.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fcmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fcopysign.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fexp2.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fma.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fmad.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fmaximum.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fmaxnum.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fminimum.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fminnum.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith-fp16.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fpext.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fptrunc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-frint.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-intrinsic-round.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-intrinsic-roundeven.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-intrinsic-trunc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-log.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-log10.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-log2.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-modf.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-nearbyint.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-pow.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-fadd.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-fminmax.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-fmul.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-sqrt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-tan.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-tanh.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-fcmp.mir
    A llvm/test/CodeGen/AArch64/aarch64-no-mov-spill-chain.ll
    M llvm/test/CodeGen/AArch64/addp-shuffle.ll
    M llvm/test/CodeGen/AArch64/and-mask-removal.ll
    M llvm/test/CodeGen/AArch64/arm64-addp.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-aba-abd.ll
    M llvm/test/CodeGen/AArch64/bf16-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
    A llvm/test/CodeGen/AArch64/bool-vector-bitcast-compare.ll
    M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
    M llvm/test/CodeGen/AArch64/illegal-floating-point-vector-compares.ll
    M llvm/test/CodeGen/AArch64/neon-anyof-splat.ll
    A llvm/test/CodeGen/AArch64/neon-matmul-f16.ll
    A llvm/test/CodeGen/AArch64/neon-matmul-f16f32mm.ll
    M llvm/test/CodeGen/AArch64/neon-saba.ll
    M llvm/test/CodeGen/AArch64/partial-reduction-sub-fp.ll
    M llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
    M llvm/test/CodeGen/AArch64/sve-gather-scatter-addr-opts.ll
    A llvm/test/CodeGen/AArch64/sve-intrinsics-matmul-bf16.ll
    A llvm/test/CodeGen/AArch64/sve-intrinsics-matmul-f16.ll
    A llvm/test/CodeGen/AArch64/sve-masked-ldst-alias-analysis.ll
    A llvm/test/CodeGen/AArch64/sve2p3-intrinsics/sve2p3-intrinsics-abal.ll
    A llvm/test/CodeGen/AArch64/sve2p3-intrinsics/sve2p3-intrinsics-addqp.ll
    A llvm/test/CodeGen/AArch64/sve2p3-intrinsics/sve2p3-intrinsics-addsubp.ll
    A llvm/test/CodeGen/AArch64/sve2p3-intrinsics/sve2p3-intrinsics-qrshr.ll
    A llvm/test/CodeGen/AArch64/sve2p3-intrinsics/sve2p3-intrinsics-qshr.ll
    A llvm/test/CodeGen/AArch64/sve2p3-intrinsics/sve2p3-intrinsics-subp.ll
    M llvm/test/CodeGen/AArch64/usub_sat_plus.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
    M llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
    A llvm/test/CodeGen/AMDGPU/lds-barrier-memoperand.ll
    A llvm/test/CodeGen/AMDGPU/madmk-madak-encoding-size.ll
    A llvm/test/CodeGen/AMDGPU/regalloc-hoist-spill-live-range-upd.ll
    A llvm/test/CodeGen/AMDGPU/v_mac_f16-fpdp-rounding-mode.ll
    M llvm/test/CodeGen/ARM/vbits.ll
    A llvm/test/CodeGen/DirectX/global-variable.ll
    M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
    M llvm/test/CodeGen/LoongArch/ctpop-with-lsx.ll
    A llvm/test/CodeGen/LoongArch/lasx/bitclr.ll
    A llvm/test/CodeGen/LoongArch/lasx/bitrev.ll
    A llvm/test/CodeGen/LoongArch/lasx/bitset.ll
    M llvm/test/CodeGen/LoongArch/lasx/ctpop-ctlz.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/avgfloor-ceil.ll
    A llvm/test/CodeGen/LoongArch/lsx/bitclr.ll
    A llvm/test/CodeGen/LoongArch/lsx/bitrev.ll
    A llvm/test/CodeGen/LoongArch/lsx/bitset.ll
    M llvm/test/CodeGen/LoongArch/lsx/ctpop-ctlz.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/avgfloor-ceil.ll
    M llvm/test/CodeGen/LoongArch/sextw-removal.ll
    M llvm/test/CodeGen/MIR/NVPTX/floating-point-invalid-type-error.mir
    M llvm/test/CodeGen/NVPTX/branch-fold.mir
    M llvm/test/CodeGen/NVPTX/i128.ll
    M llvm/test/CodeGen/NVPTX/jump-table.ll
    M llvm/test/CodeGen/NVPTX/machinelicm-no-preheader.mir
    M llvm/test/CodeGen/NVPTX/switch-loop-header.mir
    M llvm/test/CodeGen/PowerPC/aix-complex.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/rvv/insert-subvector.ll
    M llvm/test/CodeGen/RISCV/combine-is_fpclass.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/narrow-shift-extend.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/vnsra-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vnsrl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-vaaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp.ll
    M llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions-but-one.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll
    A llvm/test/CodeGen/SPIRV/passes/SPIRVPrepareFunctions.ll
    M llvm/test/CodeGen/SPIRV/passes/SPIRVPrepareGlobals-predicate-id-string.ll
    A llvm/test/CodeGen/SPIRV/passes/SPIRVPrepareGlobals.ll
    M llvm/test/CodeGen/SPIRV/passes/translate-aggregate-uaddo.ll
    A llvm/test/CodeGen/SPIRV/pointers/load-store-matrix-in-struct.ll
    M llvm/test/CodeGen/SystemZ/memcpy-03.ll
    A llvm/test/CodeGen/SystemZ/memmove-01.ll
    M llvm/test/CodeGen/SystemZ/memset-08.ll
    M llvm/test/CodeGen/Thumb2/mve-clmul.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-ext.ll
    M llvm/test/CodeGen/Thumb2/mve-vselect-constants.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/irtranslator/call-basics.ll
    M llvm/test/CodeGen/WebAssembly/f16-intrinsics.ll
    A llvm/test/CodeGen/WebAssembly/simd-min-vec-reg-32.ll
    A llvm/test/CodeGen/X86/atomic-lock-and-setcc-folded.ll
    M llvm/test/CodeGen/X86/avx512-ext.ll
    M llvm/test/CodeGen/X86/avx512-insert-extract.ll
    M llvm/test/CodeGen/X86/avx512-mask-op.ll
    M llvm/test/CodeGen/X86/combine-sub-usat.ll
    M llvm/test/CodeGen/X86/gc-empty-basic-blocks.ll
    R llvm/test/CodeGen/X86/gc-empty-basic-blocks.mir
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
    M llvm/test/CodeGen/X86/gfni-lzcnt.ll
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/gfni-shifts.ll
    M llvm/test/CodeGen/X86/gfni-tzcnt.ll
    M llvm/test/CodeGen/X86/machine-block-hash.mir
    M llvm/test/CodeGen/X86/masked_store.ll
    M llvm/test/CodeGen/X86/packus.ll
    M llvm/test/CodeGen/X86/preserve_nonecc_call.ll
    M llvm/test/CodeGen/X86/vector-bitreverse.ll
    M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
    M llvm/test/CodeGen/X86/vselect-avx.ll
    A llvm/test/DebugInfo/Generic/global-var-in-abstract-lexical-block.ll
    M llvm/test/DebugInfo/NVPTX/inlinedAt_2.mir
    A llvm/test/ExecutionEngine/Interpreter/test-interp-variable-arguments.ll
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopd_unused_operands.txt
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    M llvm/test/Transforms/BDCE/dead-uses.ll
    M llvm/test/Transforms/FunctionAttrs/nosync.ll
    M llvm/test/Transforms/GlobalOpt/ctor-memset.ll
    M llvm/test/Transforms/GlobalOpt/pr54572.ll
    M llvm/test/Transforms/Inline/flatten.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-all-active-lanes-cvt.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
    M llvm/test/Transforms/InstCombine/RISCV/riscv-vmv-v-x.ll
    M llvm/test/Transforms/InstCombine/and-xor-or.ll
    M llvm/test/Transforms/InstCombine/apint-shift.ll
    M llvm/test/Transforms/InstCombine/binop-and-shifts.ll
    M llvm/test/Transforms/InstCombine/icmp-select.ll
    A llvm/test/Transforms/InstCombine/icmp-shl-add-to-add.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-counting-down.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
    A llvm/test/Transforms/OpenMP/spirv_ctor.ll
    A llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smax.ll
    A llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smin.ll
    A llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umax.ll
    A llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umin.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/non-power-of-2-with-adjusted-gathers.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
    M llvm/test/Transforms/SLPVectorizer/WebAssembly/simd-splat-shuffle-cost.ll
    A llvm/test/Transforms/SLPVectorizer/X86/identity-reuses-with-poisons.ll
    A llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-with-multi-used-expanded.ll
    R llvm/test/Transforms/SROA/protected-field-pointer.ll
    A llvm/test/Transforms/VectorCombine/X86/extract-extract-oob.ll
    A llvm/test/tools/dxil-dis/opaque-pointers-var.ll
    A llvm/test/tools/llubi/intr_vector_interleave.ll
    A llvm/test/tools/llubi/intr_vector_manip.ll
    A llvm/test/tools/llubi/intr_vector_reduce.ll
    A llvm/test/tools/llubi/intr_vector_stepvector.ll
    M llvm/test/tools/llvm-offload-wrapper/offload-wrapper.ll
    M llvm/tools/llubi/lib/Interpreter.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/unittests/ADT/CMakeLists.txt
    A llvm/unittests/ADT/StableHashingTest.cpp
    M llvm/unittests/AsmParser/AsmParserTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/MachineIRBuilderTest.cpp
    M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp
    M llvm/unittests/Target/DirectX/CMakeLists.txt
    M llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
    M llvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
    M llvm/utils/lit/lit/InprocBuiltins.py
    M llvm/utils/lit/lit/ShellEnvironment.py
    M llvm/utils/lit/lit/TestRunner.py
    M llvm/utils/lit/lit/TestingConfig.py
    M llvm/utils/lit/tests/shtest-glob.py
    M llvm/utils/lit/tests/shtest-ulimit-nondarwin.py
    M mlir/docs/Passes.md
    M mlir/docs/Tutorials/MlirOpt.md
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/Transforms/Passes.h
    M mlir/include/mlir/Dialect/OpenMP/Transforms/Passes.td
    A mlir/include/mlir/Dialect/OpenMP/Utils/Utils.h
    M mlir/include/mlir/Dialect/SMT/IR/SMTTypes.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaTypes.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    M mlir/include/mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h
    M mlir/include/mlir/Dialect/XeGPU/uArch/uArchBase.h
    M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ElideReinterpretCast.cpp
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/OpenMP/CMakeLists.txt
    A mlir/lib/Dialect/OpenMP/IR/CMakeLists.txt
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/OpenMP/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/OpenMP/Transforms/StackToShared.cpp
    A mlir/lib/Dialect/OpenMP/Utils/CMakeLists.txt
    A mlir/lib/Dialect/OpenMP/Utils/Utils.cpp
    M mlir/lib/Dialect/SMT/IR/SMTTypes.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVTosaOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/X86/Transforms/VectorContractToPackedTypeDotProduct.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Conversion/GPUCommon/lower-async-to-gpu-runtime-calls.mlir
    A mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-pipeline-no-validation.mlir
    M mlir/test/Dialect/LLVMIR/nvvm-transcendentals.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Dialect/OpenMP/stack-to-shared.mlir
    M mlir/test/Dialect/SMT/basic.mlir
    M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir
    M mlir/test/Dialect/SPIRV/IR/types.mlir
    M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
    M mlir/test/Dialect/Tosa/verifier.mlir
    M mlir/test/Dialect/X86/vector-contract-to-packed-type-dotproduct.mlir
    M mlir/test/Dialect/XeGPU/ops.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout.mlir
    M mlir/test/Target/LLVMIR/nvvm/transcendentals.mlir
    M mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir
    A mlir/test/Target/LLVMIR/omptarget-device-shared-mem.mlir
    A mlir/test/Target/LLVMIR/omptarget-device-shared-memory.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-wsloop.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
    A mlir/test/Target/LLVMIR/openmp-scope.mlir
    M mlir/test/Target/LLVMIR/openmp-target-generic-spmd.mlir
    M mlir/test/Target/LLVMIR/openmp-target-private-allocatable.mlir
    A mlir/test/Target/LLVMIR/openmp-target-private-shared-mem.mlir
    A mlir/test/Target/LLVMIR/openmp-target-spmd-num-threads-i64.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    M mlir/unittests/Dialect/SMT/CMakeLists.txt
    R mlir/unittests/Dialect/SMT/TypeTest.cpp
    M mlir/utils/vscode/package-lock.json
    M mlir/utils/vscode/package.json
    M offload/include/OpenMP/omp.h
    M offload/liboffload/API/Device.td
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/plugins-nextgen/host/src/rtl.cpp
    M offload/plugins-nextgen/level_zero/dynamic_l0/L0DynWrapper.cpp
    M offload/plugins-nextgen/level_zero/dynamic_l0/level_zero/ze_api.h
    M offload/plugins-nextgen/level_zero/include/L0Device.h
    M offload/plugins-nextgen/level_zero/src/L0Device.cpp
    M offload/test/offloading/ctor_dtor.cpp
    A offload/test/offloading/fortran/target-generic-loops.f90
    A offload/test/offloading/fortran/target-generic-outlined-loops.f90
    A offload/test/offloading/fortran/target-spmd-loops.f90
    M offload/test/offloading/interop-print.c
    M offload/tools/deviceinfo/llvm-offload-device-info.cpp
    M offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
    M openmp/device/include/DeviceTypes.h
    M openmp/module/omp_lib.F90.var
    M openmp/module/omp_lib.h.var
    M openmp/runtime/CMakeLists.txt
    M openmp/runtime/src/include/omp.h.var
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_config.h.cmake
    M openmp/runtime/src/kmp_global.cpp
    M openmp/runtime/src/kmp_settings.cpp
    M openmp/runtime/src/kmp_taskdeps.cpp
    M openmp/runtime/src/kmp_taskdeps.h
    M openmp/runtime/src/kmp_tasking.cpp
    M openmp/runtime/test/CMakeLists.txt
    M openmp/runtime/test/lit.cfg
    M openmp/runtime/test/lit.site.cfg.in
    M openmp/runtime/test/tasking/omp_record_replay.cpp
    M openmp/runtime/test/tasking/omp_record_replay_deps.cpp
    M openmp/runtime/test/tasking/omp_record_replay_deps_multi_succ.cpp
    M openmp/runtime/test/tasking/omp_record_replay_multiTDGs.cpp
    M openmp/runtime/test/tasking/omp_record_replay_print_dot.cpp
    M openmp/runtime/test/tasking/omp_record_replay_taskloop.cpp
    M orc-rt/include/orc-rt/sps-ci/AllSPSCI.h
    M orc-rt/lib/executor/sps-ci/AllSPSCI.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/third-party/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/kparzysz/delimited-metadirective


Compare: https://github.com/llvm/llvm-project/compare/f8bf2243d820...e6b1324fcbf8

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