[all-commits] [llvm/llvm-project] 79647b: [CIR] Exclude _BitInt from fundamental integer typ...

Ziqing Luo via All-commits all-commits at lists.llvm.org
Tue Apr 14 10:50:18 PDT 2026


  Branch: refs/heads/users/ziqingluo/PR-172429193-pre-2
  Home:   https://github.com/llvm/llvm-project
  Commit: 79647b11b2df6209cbbc80ebcf0e1cb60bd3df52
      https://github.com/llvm/llvm-project/commit/79647b11b2df6209cbbc80ebcf0e1cb60bd3df52
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    A clang/test/CIR/IR/invalid-bitint.cir

  Log Message:
  -----------
  [CIR] Exclude _BitInt from fundamental integer type constraints (#191493)

Follow-up to #188113 per @erichkeane's feedback: `isFundamentalIntType`
and `isFundamental()` should not disagree.

The previous patch added `!isBitInt()` only inside
`IntType::isFundamental()`, leaving the underlying TableGen predicates
(`CIR_AnyFundamentalIntType` etc.) unaware of `_BitInt`. That meant
`isSignedFundamental()` and `isUnsignedFundamental()` were silently
wrong — a `_BitInt(32)` would pass them.

This patch adds a `CIR_IsNotBitIntPred` to the three fundamental-int
constraint defs so everything stays consistent. `isFundamental()` now
just forwards to `isFundamentalIntType()` with no extra logic.

Includes an `invalid-bitint.cir` test that checks a `_BitInt(32)` is
rejected where a fundamental unsigned int is required.

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


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

  Changed paths:
    M clang/test/CIR/CodeGen/binop.c
    M clang/test/CIR/CodeGen/c89-implicit-int.c
    M clang/test/CIR/CodeGen/empty.cpp
    M clang/test/CIR/CodeGen/expressions.cpp
    M clang/test/CIR/CodeGen/forward-enum.c
    M clang/test/CIR/CodeGen/static-vars.c

  Log Message:
  -----------
  [CIR][NFC] Add LLVM and OGCG checks to six codegen tests (#191536)

Add CIR-to-LLVM and classic codegen RUN lines to empty.cpp,
c89-implicit-int.c, expressions.cpp, binop.c, forward-enum.c, and
static-vars.c so each test verifies LLVM IR output from both pipelines.

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


  Commit: 34991575b2d414ba491ffa3f2c1722414c364cba
      https://github.com/llvm/llvm-project/commit/34991575b2d414ba491ffa3f2c1722414c364cba
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/test/API/functionalities/scripted_frame_provider/pass_through_prefix/TestFrameProviderPassThroughPrefix.py
    M lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py

  Log Message:
  -----------
  [lldb] Fix tests on Linux on Arm (32-bit) after #181071 (#191861)

PR #181071 caused regressions on Linux on Arm. These are being tracked
in:
- #191855
- #191859

This PR disables the failing tests for now, to fix the broken buildbot.


  Commit: 1b1d450fbf9125ee35d05876b16d5c521084a521
      https://github.com/llvm/llvm-project/commit/1b1d450fbf9125ee35d05876b16d5c521084a521
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [ORC] Add UUID support to MachOPlatform::HeaderOptions. (#191873)

MachOPlatform::HeaderOptions now includes an optional UUID field. If
set, this will be used to build an LC_UUID load command for the
JITDylib's MachO header.

No testcase: MachOPlatform construction requires the ORC runtime, which
we can't require in LLVM regression or unit tests. In the future we
should test this through the ORC runtime.


  Commit: db89a15f8f3a423385aae8c228487053126183d1
      https://github.com/llvm/llvm-project/commit/db89a15f8f3a423385aae8c228487053126183d1
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll

  Log Message:
  -----------
  [SLP][NFC] Add tests for runtime strided loads during revectorization (#191875)

Depending on the case, SLP either misses optimizing re-vectorized runtime
strided loads (and use a gather instead) or produces the incorrect
strided load.


  Commit: d1dbb099264993720863eab39cd7ec9d9fc51e89
      https://github.com/llvm/llvm-project/commit/d1dbb099264993720863eab39cd7ec9d9fc51e89
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [NFC] Try to unbreak the module builds due to missing `StringRef.h` include in `UniqueBBID.h` (#191877)

The modules build of LLVM broke when this patch landed

```
commit 2f422a52fde267757ce48041af6e731421fed2a3
Author: Rahman Lavaee <rahmanl at google.com>
Date:   Fri Apr 10 15:58:16 2026 -0700

    [Codegen, X86] Add prefetch insertion based on Propeller profile (#166324)
```

with an error like:

```
[2026-04-11T10:33:41.699Z] While building module 'LLVM_Utils' imported from /Users/ec2-user/jenkins/workspace/m.org_clang-stage2-Rthinlto_main/llvm-project/llvm/lib/Demangle/Demangle.cpp:13:
[2026-04-11T10:33:41.699Z] In file included from <module-includes>:321:
[2026-04-11T10:33:41.699Z] /Users/ec2-user/jenkins/workspace/m.org_clang-stage2-Rthinlto_main/llvm-project/llvm/include/llvm/Support/UniqueBBID.h:40:3: error: missing '#include "llvm/ADT/StringRef.h"'; 'StringRef' must be declared before it is used
[2026-04-11T10:33:41.699Z]    40 |   StringRef TargetFunction;
[2026-04-11T10:33:41.699Z]       |   ^
[2026-04-11T10:33:41.699Z] /Users/ec2-user/jenkins/workspace/m.org_clang-stage2-Rthinlto_main/llvm-project/llvm/include/llvm/ADT/StringRef.h:55:24: note: declaration here is not visible
[2026-04-11T10:33:41.699Z]    55 | class LLVM_GSL_POINTER StringRef {
[2026-04-11T10:33:41.699Z]       |                        ^
[2026-04-11T10:33:41.699Z] /Users/ec2-user/jenkins/workspace/m.org_clang-stage2-Rthinlto_main/llvm-project/llvm/lib/Demangle/Demangle.cpp:13:10: fatal error: could not build module 'LLVM_Utils'
[2026-04-11T10:33:41.699Z]    13 | #include "llvm/Demangle/Demangle.h"
[2026-04-11T10:33:41.699Z]       |  ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
```


https://ci.swift.org/job/llvm.org/job/clang-stage2-Rthinlto/job/main/150/

This patch tries to fix that by adding the missing include.

rdar://174555346


  Commit: 94d9d9c76201058378a8a74f49b7b057f695ccc4
      https://github.com/llvm/llvm-project/commit/94d9d9c76201058378a8a74f49b7b057f695ccc4
  Author: SiliconA-Z <gfunni234 at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
    M llvm/test/CodeGen/ARM/rotate-add.ll
    A llvm/test/CodeGen/ARM/shift-mod.ll

  Log Message:
  -----------
  [ARM] Take advantage of built-in mod of shift amount in variable-shift rotations (#157208)

This does exactly what AArch64 does.


  Commit: 6adef02db58873b1ef5cd2fac967bf1072567751
      https://github.com/llvm/llvm-project/commit/6adef02db58873b1ef5cd2fac967bf1072567751
  Author: Henry Baba-Weiss <henry.babaweiss at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/test/CodeGen/regcall.c
    M clang/test/CodeGen/regcall4.c
    M clang/test/CodeGenCXX/regcall.cpp
    M clang/test/CodeGenCXX/regcall4.cpp

  Log Message:
  -----------
  [X86][regcall] Rework struct classification for non-Windows x86-64 targets (#187134)

Currently, when `X86_64ABIInfo::classifyRegCallStructTypeImpl`
classifies a struct argument or return value as direct, it leaves the
LLVM IR coerce type unspecified, implicitly relying on
`CodeGenTypes::ConvertType` to eventually construct a default IR type
based on the struct's layout. This conversion is neither stable nor
guaranteed to adhere to the ABI's classification rules.

Instead, rewrite `classifyRegCallStructTypeImpl` to construct an
explicit sequence of coerce types, using the existing field
classification to obtain a coerce type for each member of the struct.
Also, rename the function to `passRegCallStructTypeDirectly` and return
a boolean instead, so that now `classifyRegCallStructType` is the only
place that computes `ABIArgInfo`.

This rewrite also fixes several other issues with the `X86_64ABIInfo`
implementation of `__regcall`:

* Empty structs are now ignored instead of being misclassified as
direct.
* Arrays are now classified specially based on the element type, since
`X86_64ABIInfo::classifyArgumentType` ignores standalone array types.
* SSE registers used for return values are now correctly reused for
arguments, matching the 64-bit Windows behavior.

Since this is an ABI change, it has the potential to cause
incompatibilities with `__regcall` code compiled by earlier versions of
Clang. Specifically:

* Because SSE return registers can now be reused as argument registers,
functions will now pass more floating point arguments in SSE registers.
* `_Complex float` struct fields are now passed in one SSE register
instead of two.

Fixes #62999
Fixes #98635


  Commit: 7a1f880d7f41e2dcf0f99fad15521af05bcc70e3
      https://github.com/llvm/llvm-project/commit/7a1f880d7f41e2dcf0f99fad15521af05bcc70e3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Use li for all ones splat_vector. (#191748)

li -1 can be compressed to c.li.


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    A clang/test/CIR/CodeGen/cast.c

  Log Message:
  -----------
  [[CIR]] Implement 'to-union' cast. (#191485)

This ends up being pretty trivial/can only really happen in 2 ways, the
only useful way is via an extension. This patch implements this.

This doesn't really affect anything as it is a pretty rarely used
feature and thus doesn't appear in the test suite I've seen, but I saw
it while investigating something else.


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

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    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/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
    M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Adding Layout Utility inferMaskOffsetLayoutForScatterIO (#191573)

This PR add a new layout utility function, named
inferMaskOffsetLayoutForScatterIO(), to support the propagation and
lowering of XeGPU scatter IO operations.


  Commit: 7099c02b45ae641602e1026b1448ab8d6e2f4f51
      https://github.com/llvm/llvm-project/commit/7099c02b45ae641602e1026b1448ab8d6e2f4f51
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/minmax3-tree-reduction.ll

  Log Message:
  -----------
  [AMDGPU] Update minmax3-tree-reduction.ll for true16. NFC (#191879)


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

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVIntelExtOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
    M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
    M mlir/test/Dialect/SPIRV/IR/intel-ext-ops.mlir
    M mlir/test/Target/SPIRV/intel-ext-ops.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Add support for SPV_INTEL_masked_gather_scatter extension (#189099)

Add MaskedGather/MaskedScatter ops and VectorOfPointerType for
SPV_INTEL_masked_gather_scatter extension implemented in #185418


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    A llvm/test/Transforms/LoopVectorize/early-exit-calls.ll
    A llvm/test/Transforms/LoopVectorize/early-exit-unary-ops.ll

  Log Message:
  -----------
  Reapply "[VPlan] Handle calls in VPInstruction:opcodeMayReadOrWriteFromMemory." (#191886)

This reverts commit
https://github.com/llvm/llvm-project/commit/3bf9639ec04544902670ab4199401ac470c1fcca.

The reapply adds trivial support for ExtractValue and InsertValue to fix
the crash causing the revert.

Original message:

Retrieve the called function and check its memory attributes, to
determine if a VPInstruction calling a function reads or writes memory.

Use it to strengthen assert in areAllLoadsDereferenceable.

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


  Commit: 46167f96bd2c5999297591ef362f3b7f051fd757
      https://github.com/llvm/llvm-project/commit/46167f96bd2c5999297591ef362f3b7f051fd757
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    A clang/test/Driver/dxc_spirv-val_missing.hlsl
    A clang/test/Driver/dxc_spirv-val_path.hlsl
    M clang/test/lit.cfg.py

  Log Message:
  -----------
  Add spirv-val compilation step when targeting SPIR-V (#188150)

Clang-dxc.exe currently uses dxv by default after compiling HLSL that
targets DXIL, assuming dxv can be found. However, there is no
counterpart for SPIR-V. This PR changes clang-dxc.exe so that the DXC
driver inserts a step to run spirv-val when SPIR-V is the target. It
also accounts for whether or not the -Fo option is passed. In all cases,
spirv-val will be run, as long as the target is SPIR-V and the spirv-val
executable can be found on the PATH.

This PR also adds a new option --spirv-val-path, a counterpart to
--dxv-path, for specifying an explicit path to spirv-val.

Key differences from dxv: Unlike dxv, which validates and signs DXIL
containers and produces an output file, spirv-val is a pure validator —
it checks the SPIR-V binary and exits with a status code without
producing output. Because of this, the compile step writes directly to
-Fo and spirv-val validates the file in-place.

Additional fixes:

- Fixes a duplicate "validator not found" warning that was emitted twice
per invocation — once from BuildActions and once from isLastJob (via
GetNamedOutputPath). This was a pre-existing bug introduced by #130436
(https://github.com/llvm/llvm-project/pull/130436). Fixed by
adding a Diagnose parameter to requiresValidation so only one call site
emits the diagnostic.
- Fixes an "unused argument" warning for -Vd when targeting SPIR-V,
caused by early returns in requiresValidation before the argument was
claimed.
- Adds a new SPIRVValidation diagnostic group and
warn_drv_dxc_missing_spirv_val diagnostic for the missing spirv-val
warning.

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

Assisted by: Claude Opus 4.6


  Commit: 2a9c32496b5e8e63844597f638bdf67e4732fd35
      https://github.com/llvm/llvm-project/commit/2a9c32496b5e8e63844597f638bdf67e4732fd35
  Author: Petr Hosek <phosek at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/cmake/caches/Release.cmake
    M llvm/CMakeLists.txt
    M llvm/cmake/config-ix.cmake
    R llvm/cmake/modules/FindLibXml2.cmake
    M llvm/lib/WindowsManifest/CMakeLists.txt

  Log Message:
  -----------
  Revert "[cmake] Add support for statically linking libxml2" (#191609)

Reverts llvm/llvm-project#166867


  Commit: 654da0889be5016c86e9cb8f8425dadcfa93096c
      https://github.com/llvm/llvm-project/commit/654da0889be5016c86e9cb8f8425dadcfa93096c
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [OFFLOAD][OpenMP][L0] Add Intel strings to interop-print test (#191901)


  Commit: 72ed4cf3c25467bfdfd866aaae83db8f9a3a4253
      https://github.com/llvm/llvm-project/commit/72ed4cf3c25467bfdfd866aaae83db8f9a3a4253
  Author: Kyungtak Woo <kevinwkt at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [bazel] Exclude use_header_modules from some nanobind targets (#191898)

Excluding use_header_modules from some nanobind targets


  Commit: ef1a2ff1837a4716ed933853528c47206b0260c8
      https://github.com/llvm/llvm-project/commit/ef1a2ff1837a4716ed933853528c47206b0260c8
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M compiler-rt/lib/tysan/tysan.cpp
    M compiler-rt/lib/tysan/tysan_interceptors.cpp
    M compiler-rt/test/sanitizer_common/CMakeLists.txt
    M compiler-rt/test/sanitizer_common/TestCases/Linux/aligned_alloc-alignment.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/allocator_returns_null_std.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/decorate_proc_maps.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/deepbind.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/free_aligned_sized.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/free_sized.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/malloc_usable_size.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/mlock_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/mprobe.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/pvalloc-overflow.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/release_to_os_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/replace_dlopen_main_program_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/resize_tls_dynamic.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_get_addr.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_malloc_hook.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/unexpected_format_specifier_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/huge_malloc.c
    M compiler-rt/test/sanitizer_common/TestCases/Posix/mmap_write_exec.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/posix_memalign-alignment.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/print-module-map.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/weak_hook_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/allocator_interface.cpp
    M compiler-rt/test/sanitizer_common/TestCases/allocator_returns_null.cpp
    M compiler-rt/test/sanitizer_common/TestCases/compress_stack_depot.cpp
    M compiler-rt/test/sanitizer_common/TestCases/corelimit.cpp
    M compiler-rt/test/sanitizer_common/TestCases/get_allocated_begin.cpp
    M compiler-rt/test/sanitizer_common/TestCases/hard_rss_limit_mb_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/malloc_hook.cpp
    M compiler-rt/test/sanitizer_common/TestCases/malloc_hook_get_allocated_size_fast.cpp
    M compiler-rt/test/sanitizer_common/TestCases/max_allocation_size.cpp
    M compiler-rt/test/sanitizer_common/TestCases/reallocarray-overflow.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_symbolize.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-dso.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
    M compiler-rt/test/sanitizer_common/lit.common.cfg.py

  Log Message:
  -----------
  Unbreak macOS builds broken by #183310 (#191899)

Revert "[TySan][Sanitizer Common] Make TySan compatible with sanitizer common… (#183310)" and
"[TySan][Sanitizer Common] Enable TySan testing in the sanitizer commo… (#191385)"

This reverts commit d043b9e38dd9494c3c56018b2cbaf44fe205b110 and dd0c5ebe69e580066de100c8c2ba5430a1aeee44.

d043b9e38dd9494c3c56018b2cbaf44fe205b110 broke the macOS bots

https://ci.swift.org/job/llvm.org/job/clang-stage1-RA-cmake-incremental/job/main/638/consoleFull#-1919712802f80d942a-f672-4696-b0d9-c66cae8aa9dd

with an error that looks like:

```
/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/compiler-rt/lib/tysan/../sanitizer_common/sanitizer_signal_interceptors.inc:136:3: error: expected expression
   136 |   INIT_SIGNAL;
       |   ^
 /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/compiler-rt/lib/tysan/../sanitizer_common/sanitizer_signal_interceptors.inc:77:21: note: expanded from macro 'INIT_SIGNAL'
    77 | #define INIT_SIGNAL COMMON_INTERCEPT_FUNCTION(signal)
       |                     ^
 /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/compiler-rt/lib/tysan/tysan_interceptors.cpp:51:41: note: expanded from macro 'COMMON_INTERCEPT_FUNCTION'
    51 | #define COMMON_INTERCEPT_FUNCTION(name) TYSAN_INTERCEPT_FUNC(name)
       |                                         ^
 /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/compiler-rt/lib/tysan/tysan_interceptors.cpp:27:34: note: expanded from macro 'TYSAN_INTERCEPT_FUNC'
    27 |     if (!INTERCEPT_FUNCTION(name))
```

unfortunately reverting just d043b9e38dd9494c3c56018b2cbaf44fe205b110 doesn't work cleanly because another commit (dd0c5ebe69e580066de100c8c2ba5430a1aeee44) enabled testing and the testing fails when we revert just d043b9e38dd9494c3c56018b2cbaf44fe205b110. So this commit reverts dd0c5ebe69e580066de100c8c2ba5430a1aeee44 too.

It would've been nice to have to separate revert commits but it seems GitHub won't let me do this and forces commits to be squashed.

rdar://174648152


  Commit: a41d9ac73f5b469b1087844b6bc0987a5a028993
      https://github.com/llvm/llvm-project/commit/a41d9ac73f5b469b1087844b6bc0987a5a028993
  Author: Matthew Nagy <matthew.nagy at sony.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:

  Log Message:
  -----------
  Revert "[TySan][Sanitizer Common] Enable TySan testing in the sanitizer commo…" (#191902)

Reverts llvm/llvm-project#191385

Some tests seem to be failing, but not under all environments, possibly
due to non-tysan related reasons. Clearly I need to look more into this
before enabling this


  Commit: 25cd5cb3642226887004a9ac1192a8ecb25217a3
      https://github.com/llvm/llvm-project/commit/25cd5cb3642226887004a9ac1192a8ecb25217a3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/test/MC/RISCV/rv32p-aliases-valid.s
    M llvm/test/MC/RISCV/rv64p-aliases-valid.s

  Log Message:
  -----------
  [RISCV][P-ext] Add assembler tests showing that li can use pli.b/h/w instruction. (#191839)


  Commit: d900d20dbb812fb7276dac13d7d6f1acfeda2def
      https://github.com/llvm/llvm-project/commit/d900d20dbb812fb7276dac13d7d6f1acfeda2def
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake

  Log Message:
  -----------
  Revert "[CMake] Enable static libxml2 for Fuchsia toolchain" (#191900)

Reverts llvm/llvm-project#191657

Broke Fuchsia CI.


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

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

  Log Message:
  -----------
  [SLP][NFC] Make calculateTreeCostAndTrimNonProfitable compatible

with processBuildVector, NFC

processBuildVector adjusts the scalars to match the entry vector factor,
while calculateTreeCostAndTrimNonProfitable does not. Sync the behovior
  to avoid potential issues. Currently it does not affect the cost
  estimations, so it is NFC.

Reviewers: 

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


  Commit: f5ef1edaccdbe727de504c5e530d671b3efc06ca
      https://github.com/llvm/llvm-project/commit/f5ef1edaccdbe727de504c5e530d671b3efc06ca
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    A llvm/test/Transforms/LoopVectorize/RISCV/conditional-scalar-assignment-fold-tail.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/conditional-scalar-assignment.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll

  Log Message:
  -----------
  Reapply "[LV] Enable scalable FindLast on RISCV. (#184931)" (#190938)

Orginal PR: https://github.com/llvm/llvm-project/pull/184931
Original PR message:
This patch enables FindLast reduction vectorization with scalable
vectors
on RISCV.

Fixed the previous crash by
https://github.com/llvm/llvm-project/pull/191166 and
https://github.com/llvm/llvm-project/pull/191517


  Commit: 1a50fab6e6a4a5eff2697c5141813979e4a337f7
      https://github.com/llvm/llvm-project/commit/1a50fab6e6a4a5eff2697c5141813979e4a337f7
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/examples/python/crashlog.py
    M lldb/examples/python/crashlog_scripted_process.py
    M lldb/include/lldb/Target/StackFrameList.h
    M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
    M lldb/source/Target/StackFrameList.cpp
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.inline.crash
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.inline.ips
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/inline_test.c
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/inline_crashlog.test
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/inline_crashlog_json.test

  Log Message:
  -----------
  [lldb/crashlog] Fix inlined frames in crashlog scripted process (#191132)

When loading a crashlog using scripted process, inlined frames get lost.

This happens because `ScriptedThread::LoadArtificialStackFrames` creates
all frames as concrete frames via `SetFrameAtIndex`, completely
bypassing the inline frame synthesis that
`StackFrameList::FetchFramesUpTo` normally performs using
`GetParentOfInlinedScope`. Since two crashlog frames share the same PC
when one is inlined into the other, `CalculateSymbolContext` resolves
both to the innermost inlined scope, which causes the containing
function to be dropped from the backtrace.

This patch fixes the issue in two parts:
- On the Python side, `resolve_stackframes` now skips frames whose PC
matches the next frame's PC. These are inlined frames that LLDB will
synthesize from debug info when it processes the concrete frames we
provide. Indices are renumbered accordingly, and `len(frames) == 0` is
used for first-frame detection.
- On the C++ side, `LoadArtificialStackFrames` now replicates the inline
synthesis loop from `FetchFramesUpTo`: after creating each concrete
frame, it calls `GetParentOfInlinedScope` in a loop and creates a
`StackFrame` for each inlined parent scope.

rdar://154981041

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: d32e0d35ea4327990ab37edb72bc7a4e7974720b
      https://github.com/llvm/llvm-project/commit/d32e0d35ea4327990ab37edb72bc7a4e7974720b
  Author: h-vetinari <h.vetinari at gmx.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  [clang][docs] mark v22 as released (#191612)

The following features are now released and should be marked as such:

Named loops, v3 -> e4a1b5f

_COUNTER pre-defiend macro: -> df1d786

Allow calling static inline within extern inline: -> 8e60adc


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    A clang/test/CIR/CodeGen/lambda-dtor-field.cpp

  Log Message:
  -----------
  [CIR] Implement handling for lambda capture of destructured types (#191316)

Lambda captures of variables that require destruction requires us to
created cleanup scopes with deferred deactivation. That is, the cleanup
scope is created, but added to a list that automatically deactivates the
cleanup when we exit the scope in the compiler code where the lambda is
being generated. This deferred deactivation mechanism will be needed for
other use cases as well, so it is implemented in a general way, which
closely follows the classic codegen handling.

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


  Commit: f1cec8e5b966bfa9a7e31cca5e0731333377ad30
      https://github.com/llvm/llvm-project/commit/f1cec8e5b966bfa9a7e31cca5e0731333377ad30
  Author: Florian Mayer <fmayer at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll

  Log Message:
  -----------
  [NFC] [HWASan] precommit test for -hwasan-tag-bits (#191907)


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

  Changed paths:
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp

  Log Message:
  -----------
  [OpenACC] Fix Crash on collapse that doesn't check its transform (#191836)

GH191833 reports a problem with tree transformation of a collapse clause
when the expression in the clause is invalid. This patch makes sure we
skip out of transforming this clause if it ever encounters an invalid
expression.

I also analyzed the rest of the clauses in this visitor and found 1
other that was suspicious, so I added a check for that one as well. The
rest seemingly were all done correctly.

Fixes: #191833


  Commit: f0f96c7f788b90e48a6925437e918c3196913325
      https://github.com/llvm/llvm-project/commit/f0f96c7f788b90e48a6925437e918c3196913325
  Author: hidekisaito <hidekido at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
    A llvm/test/CodeGen/AMDGPU/lower-intrinsics-noalias-metadata.ll

  Log Message:
  -----------
  [AMDGPU] Preserve scoped-AA metadata when lowering barriers to wave_barrier (#191858)

AMDGPULowerIntrinsics downgrades s_barrier/s_barrier_wait to
wave_barrier on single-wave workgroups, but dropped all metadata from
the original instruction.  The lost !noalias and !alias.scope metadata
prevented MemorySSA's optimized walker from skipping past the barrier,
causing isClobberedInFunction to walk further and reach unrelated
side-effecting defs (e.g. tensor_load_to_lds) that are misclassified
as clobbers — ultimately losing !amdgpu.noclobber on global loads.

Copy !noalias, !alias.scope, and !tbaa from the old instruction to the
replacement wave_barrier.

Made-with: Cursor


  Commit: af0471c1918ab76915bb3750655ffd3281a0b9e7
      https://github.com/llvm/llvm-project/commit/af0471c1918ab76915bb3750655ffd3281a0b9e7
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
    M lldb/tools/debugserver/source/DNB.cpp
    M lldb/tools/debugserver/source/DNB.h
    M lldb/tools/debugserver/source/DNBDefs.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M lldb/tools/debugserver/source/RNBRemote.cpp

  Log Message:
  -----------
  [lldb][Darwin] Fetch detailed binary info in chunks (#190720)

When binaries have been loaded into a process on Darwin, lldb sends a
jGetLoadedDynamicLibrariesInfos packet to get the filepath, uuid, load
address, and detailed information from the mach header/load commands.
For a large UI app, the number of binaries that can be loaded (through
various dependencies) can exceed a thousand these days, and requesting
detailed information on all of those can result in debugserver
allocating too much memory when running in constrained environments, and
being killed.

In 2023 I laid the groundwork to fetch detailed information in chunks,
instead of one large request. The main challenge with this is when we
first attach to a process that is running, we send a "tell me about all
binaries loaded", and that prevents lldb from chunking the reply; the
packet design for jGetLoadedDynamicLibrariesInfos assumes the entire
reply is sent in one packet, instead of the typical gdb remote serial
protocol trick of a response with partial data starting with 'm' and a
response with a complete reply starting with 'l'. The 2023 change is to
add a new key to this packet, `report_load_commands` and when that is
set to `false`, only the load address of the binaries is reported.

lldb then uses the array of load addresses of all the binaries to fetch
detailed information about them in smaller groupings.

This PR implements the lldb side of that work.

Process::GetLoadedDynamicLibrariesInfos now takes a `bool
include_mh_and_load_commands`, ProcessGDBRemote sends that as an
argument in the jGetLoadedDynamicLibrariesInfos packet.

DynamicLoaderMacOS::DoInitialImageFetch is changed to only get the load
addresses on initial attach. If the reply includes the full binary
information (not just load addresses) -- when talking to an old
debugserver -- we will use that information instead of re-fetching it.
On a newer debugserver that only sent the load addresses, we'll send
this list of addresses to the standard method we use when dyld has told
us to load binaries at addresses already.

DynamicLoaderMacOS::AddBinaries, which takes a list of addresses and
fetches detailed information about them, is updated to request only 600
binaries at a time. A typical UI app will be in the 700-1000 binary
range these days, so this will turn one large fetch into two, in most
cases. There are some system UI processes that have many dependencies
that could require three fetches. I picked this number so most debug
sessions will be handled by two requests.

In debugserver MachProcess::FormatDynamicLibrariesIntoJSON, I removed
the obsolete-for-three-years-now `mod_date` field. I was sending back
the binary filepaths for this "don't send the detailed information"
version of the packet - I don't need that, and it just increases the
size, so I stopped sending filepaths in this mode.

I also added a new field for when we ARE sending detailed information,
`sizeof_mh_and_loadcmds`. I don't use this in lldb yet, but when we are
told about a binary and need to read it from memory today, we have an
initial read to get the mach header, which tells us the size of the load
commands. Then we have a second read of the mach header plus load
commands, before we can start binary processing in earnest. This is an
extra read packet and very unnecessary, given that debugserver knows how
large the mach header + load commands are. So I'm returning it here, and
at some point I'll find a way to pipe that into a new memory object file
creation method in lldb. It's one of those "I should really find a way
to remove that extra read some day" cleanups, and while I was in this
area, I'd add this first piece of that.

I don't have a test for this. I've been thinking about an API test that
creates 700 dylibs with empty functions in each, runs it, and confirms
all of the dylibs were loaded. I'd have to grab a packet log to be
completely sure we didn't read the full binary list in one go. But I
worry that compiling and linking even 700 do-nothing dylibs might be too
much. Maybe I should add a setting in DynamicLoaderMacOS::AddBinaries to
reduce the maximum number of binaries that can be read at once, and have
a small nubmer of dylibs. When by-hand testing this, I had a maximum of
5 binaries being queried in one packet.

rdar://109428337


  Commit: 87eabed13056b8ebc6657d4175d551efbd3c3d22
      https://github.com/llvm/llvm-project/commit/87eabed13056b8ebc6657d4175d551efbd3c3d22
  Author: Haowei <haowei at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [lit] Prevent "lld" from being substituted by LIT in llvm-driver tests (#191893)

We are seeing test failures in "passthrough-lld.test" as LIT
substitutes the "ld.lld" string in the test file to the full
path to the lld. However, the "-flavor" flag does not expect
a full path. It just need a name of the linker so it fails.
This patch modifies the lld matching regex in the use_lld
function in llvm/utils/lit/lit/llvm/config.py. It prevents
LIT from substitute any lld tool strings that are not
standalone.


  Commit: 72df1fc645116566cc7240b48c0bc824b504dc47
      https://github.com/llvm/llvm-project/commit/72df1fc645116566cc7240b48c0bc824b504dc47
  Author: Florian Mayer <fmayer at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [HWASan] Add hwasan-tag-bits flag (#191088)

This can be used to make sure the stack tagging does not use the top bit
of
the pointer. This is useful when HWASan is used in combination with
signed-integer-overflow detection. Some code uses arithmetic on intptr_t
that overflows for sufficiently large pointers.


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

  Changed paths:
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__format/format_functions.h
    M libcxx/include/format
    M libcxx/modules/std/format.inc
    R libcxx/test/std/utilities/format/format.fmt.string/ctor.dynamic-format-string.pass.cpp
    A libcxx/test/std/utilities/format/format.fmt.string/ctor.runtime-format-string.pass.cpp
    R libcxx/test/std/utilities/format/format.functions/format.dynamic_format.pass.cpp
    R libcxx/test/std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp
    A libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp
    A libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp
    R libcxx/test/std/utilities/format/format.syn/dynamic_format_string.pass.cpp
    A libcxx/test/std/utilities/format/format.syn/runtime_format_string.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  Revert "[libc++][format] P3953R3: Rename `std::runtime_format` (#189657)" (#191912)

This reverts commit 67c893eebc793cea8b0d12b9037d3117191b76eb due to
buildbot breakage

(https://github.com/llvm/llvm-project/pull/189657#issuecomment-4231358706,
https://github.com/llvm/llvm-project/pull/189657#issuecomment-4239964862).


  Commit: 5753b3f5fd39252a84f9c659d493c404edc00ab4
      https://github.com/llvm/llvm-project/commit/5753b3f5fd39252a84f9c659d493c404edc00ab4
  Author: hidekisaito <hidekido at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
    M llvm/test/CodeGen/AMDGPU/lower-intrinsics-noalias-metadata.ll

  Log Message:
  -----------
  [AMDGPU] Preserve metadata in all barrier lowering paths (#191916)

Extend copyMetadata to every call-to-call replacement in
AMDGPULowerIntrinsics, not just the single-wave s_barrier →
wave_barrier path. This covers:
- s_cluster_barrier → wave_barrier (single-wave)
- s_cluster_barrier → signal_isfirst + wait + signal + wait (multi-wave)
- s_barrier → signal + wait (split barriers)

Add GFX11 and GFX12 RUN lines and test functions for all lowering
paths to verify metadata preservation.

Made-with: Cursor


  Commit: aab5c1075a94b8600f2b31dd62aa4f2e0cd238cb
      https://github.com/llvm/llvm-project/commit/aab5c1075a94b8600f2b31dd62aa4f2e0cd238cb
  Author: Ye Luo <yeluo at anl.gov>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M openmp/device/include/Synchronization.h

  Log Message:
  -----------
  [Offload] Revert part of #187138. Workaround #191910 (#191925)

Closes #191910

---------

Co-authored-by: Joseph Huber <huberjn at outlook.com>


  Commit: 12f636d4425ae2c89479ae65a581b8bc5ef53571
      https://github.com/llvm/llvm-project/commit/12f636d4425ae2c89479ae65a581b8bc5ef53571
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M libclc/cmake/modules/CMakeCLCInformation.cmake
    M libclc/cmake/modules/CMakeDetermineCLCCompiler.cmake

  Log Message:
  -----------
  Revert "[libclc][CMake] Use clang/llvm-ar on Windows (#186726)" (#191745)

This reverts commit 4abb927bacf37f18f6359a41639a6d1b3bffffb5.

The code is not needed since 121f5a96ff38 because the C compiler is now
always just-built clang in in-tree build. In addition, CMAKE_AR is
llvm-ar and CMAKE_RANLIB is llvm-ranlib.


  Commit: 2874480930113855d3a433aeaf6ece4db0027bb3
      https://github.com/llvm/llvm-project/commit/2874480930113855d3a433aeaf6ece4db0027bb3
  Author: Twice <twice at apache.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M mlir/docs/Bindings/Python.md
    M mlir/python/mlir/dialects/ext.py
    M mlir/test/python/dialects/ext.py
    M mlir/test/python/dialects/transform_op_interface.py
    M mlir/test/python/integration/dialects/bf.py

  Log Message:
  -----------
  [MLIR][Python] Migrate `result(infer_type=True)` to a new field specifier (#191849)

Currrently the signature of `result(..)` is:
```python
result(*, infer_type: bool = False, default_factory: Callable[[], Any] | None = None, kw_only: bool = False) -> Result
```

so when users use `result(infer_type=True)`, the type checkers will
still get `kw_only=False` (from the signature), but actually the
`kw_only` should be `True` (it should follow the value of `infer_type`).
users can use `result(infer_type=True, kw_only=True)` but it's
unnecessarily verbose.

So it may introduce an incompatibility when we start to use
`dataclass_transform`. currently it's fine because we just don't use
`dataclass_transform`. But when we use, we may require a breaking
change.

This PR migrates such use to a new field specifier named
`infer_result()`.


  Commit: 93871c569de11f5b80bf1dd6175bb4ce95a93238
      https://github.com/llvm/llvm-project/commit/93871c569de11f5b80bf1dd6175bb4ce95a93238
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    A clang/test/CIR/CodeGenCUDA/device-stub.cu
    M clang/test/CIR/CodeGenCUDA/kernel-call.cu
    M clang/test/CIR/CodeGenCUDA/kernel-stub-name.cu
    M clang/test/CIR/CodeGenHIP/simple.cpp

  Log Message:
  -----------
  [CIR][CUDA] Global emission for fatbin symbols (#187636)


  Commit: 42ce5c1481015795a615171acec33a268f4482aa
      https://github.com/llvm/llvm-project/commit/42ce5c1481015795a615171acec33a268f4482aa
  Author: Jacques Pienaar <jacques+gh at japienaar.info>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [bazel] Restore MLIR bytecode tests. (#191938)

These seemed to have gotten removed here.


  Commit: 92dde7997192c40841e50f51c25f8ecf598f2a6d
      https://github.com/llvm/llvm-project/commit/92dde7997192c40841e50f51c25f8ecf598f2a6d
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    A clang/test/CIR/CodeGen/attr-retain.c
    A clang/test/CIR/CodeGen/attr-used.c
    A clang/test/CIR/CodeGen/keep-persistent-storage-variables.cpp
    A clang/test/CIR/CodeGen/keep-static-consts.cpp
    A clang/test/CIR/CodeGenHIP/hip-cuid.hip

  Log Message:
  -----------
  [CIR] Add addLLVMUsed and addLLVMCompilerUsed methods to CIRGenModule (#188189)

Upstreaming clangIR PR: https://github.com/llvm/clangir/pull/2092

This PR adds support for emitting llvm.used and llvm.compiler.used
global arrays in CIR.

Added addUsedGlobal() and addCompilerUsedGlobal() methods to
CIRGenModule
Adds __hip_cuid_* to llvm.compiler.used for HIP compilation.
Followed OGCG implementation in clang/lib/CodeGen/CodeGenModule.cpp


  Commit: f2a71ca9418046af3390833d52c5a20be78f3670
      https://github.com/llvm/llvm-project/commit/f2a71ca9418046af3390833d52c5a20be78f3670
  Author: Leonardo Román Carrillo <leonardoroman at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/test/OpenMP/split_driver_smoke.c

  Log Message:
  -----------
  [clang][OpenMP][test] Use -fopenmp=libomp explicitly in driver smoke test (#191936)

Using -fopenmp uses the default openmp lib, which defaults to libomp but
may be something else. This test only passes with libomp, so it passes
when using default, but fails downstream if configured for something
else, like libgomp.


  Commit: c2624b5205b81516047792147e9dc50f55c22e18
      https://github.com/llvm/llvm-project/commit/c2624b5205b81516047792147e9dc50f55c22e18
  Author: Rahman Lavaee <rahmanl at google.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [NFC] Use stable_sort to fix the basic-block-sections-code-prefetch.l test. (#191941)

This fixes https://lab.llvm.org/buildbot/#/builders/187/builds/18954.


  Commit: 93a67259cf23a555bf3905ce0f6ff349014689f0
      https://github.com/llvm/llvm-project/commit/93a67259cf23a555bf3905ce0f6ff349014689f0
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/test/Driver/coverage-ld.c
    M clang/test/Driver/instrprof-ld.c
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [ToolChains][FreeBSD] Set default Linker to LLD for FreeBSD (#190596)

When the linker is specified as ld, toolchain applies special handling
by invoking (triple)-ld instead of resolving ld via standard PATH
lookup. This causes GNU ld installed via the system package manager to
take the precedence (since (triple)-ld appears earlier in the search
path), effectively overriding ld.lld.

As a result, we set the default Linker on FreeBSD to ld.lld to indicate
we want to use lld by default.


  Commit: 8619a5efd84b10b9cb4ea33449c38fa6390f9baa
      https://github.com/llvm/llvm-project/commit/8619a5efd84b10b9cb4ea33449c38fa6390f9baa
  Author: Sairudra More <sairudra60 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/declare-target-named-main-interface.f90
    M flang/test/Lower/OpenMP/real10.f90

  Log Message:
  -----------
  [flang][OpenMP] Avoid marking named main programs as declare target (#190250)

A bare `!$omp declare target` could incorrectly mark `_QQmain` as
`omp.declare_target` when it appeared in an interface body inside a
named
main program. That pulled host-only callees into device compilation and
caused offload link failures.

Fix this by skipping main programs in the implicit-capture path.
Also add a regression test for the named-main interface case and update
`real10.f90` to use a valid container for the bare `declare target`
form.

This fixes offload link failures where `_QQmain` was incorrectly treated
as
a device function and pulled in host-only symbols such as Fortran I/O
runtime calls.

Minimal reproducer:

```fortran
program named_main
  interface
    subroutine sub_a(x)
      !$omp declare target
      integer, intent(inout) :: x
    end subroutine
  end interface
  integer :: v
  !$omp target
    call sub_a(v)
  !$omp end target
end program


  Commit: f4e1a51d10bc38b9f4d7420d8ad4c0569b016673
      https://github.com/llvm/llvm-project/commit/f4e1a51d10bc38b9f4d7420d8ad4c0569b016673
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Rewrite/BuildIDRewriter.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/GNUPropertyRewriter.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Rewrite/SDTRewriter.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp

  Log Message:
  -----------
  [bolt] Remove unused argument of DataExtractor constructor (NFC) (#191841)

`AddressSize` parameter is not used by `DataExtractor` and will be
removed in the future. See #190519 for more context.

I took the liberty of switching from using the `StringRef` constructor
overload to `ArrayRef` where appropriate.


  Commit: d9c02ffa4d519245903ba8d168b3bafeb1a396af
      https://github.com/llvm/llvm-project/commit/d9c02ffa4d519245903ba8d168b3bafeb1a396af
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M compiler-rt/lib/xray/tests/unit/fdr_controller_test.cpp
    M compiler-rt/lib/xray/tests/unit/fdr_log_writer_test.cpp
    M llvm/lib/XRay/InstrumentationMap.cpp
    M llvm/lib/XRay/Profile.cpp
    M llvm/lib/XRay/Trace.cpp
    M llvm/tools/llvm-xray/xray-fdr-dump.cpp
    M llvm/unittests/XRay/FDRProducerConsumerTest.cpp
    M llvm/unittests/XRay/FDRTraceWriterTest.cpp

  Log Message:
  -----------
  [XRay] Remove unused argument of DataExtractor constructor (NFC) (#191864)

`AddressSize` parameter is not used by `DataExtractor` and will be
removed in the future. See #190519 for more context.


  Commit: b8b596294fc5d829e59cbc67fda36751e3dca015
      https://github.com/llvm/llvm-project/commit/b8b596294fc5d829e59cbc67fda36751e3dca015
  Author: Rahman Lavaee <rahmanl at google.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [NFC] clang-format llvm/lib/CodeGen/InsertCodePrefetch.cpp. (#191959)


  Commit: 4ea9b490ba4bae6834e4568aba1be45c1d18ba2f
      https://github.com/llvm/llvm-project/commit/4ea9b490ba4bae6834e4568aba1be45c1d18ba2f
  Author: nataliakokoromyti <nataliakokoromyti at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang-tools-extra/clangd/TidyFastChecks.inc

  Log Message:
  -----------
  [clangd] Update TidyFastChecks.inc via TidyFastChecks.py (#191096)

Updated
[TidyFastCheck.inc](https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/clangd/TidyFastChecks.inc#L1)
that has been stale for a while using this
[script](https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/clangd/TidyFastChecks.py),
as discussed in #190531. In the thread, there was some conversation on
the limitations of doing this manually at every new release (adding the
script to the release checklist would definitely help) but it seems like
this is the only low-risk solution for now.


  Commit: 6a883943241664d083c610c0ba3106dbe79a72ae
      https://github.com/llvm/llvm-project/commit/6a883943241664d083c610c0ba3106dbe79a72ae
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vzip.c
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvzip.td
    A llvm/test/CodeGen/RISCV/rvv/vpaire.ll
    A llvm/test/CodeGen/RISCV/rvv/vpairo.ll
    A llvm/test/CodeGen/RISCV/rvv/vunzipe.ll
    A llvm/test/CodeGen/RISCV/rvv/vunzipo.ll
    A llvm/test/CodeGen/RISCV/rvv/vzip.ll

  Log Message:
  -----------
  [RISCV] Add Zvzip intrinsics (#186342)

In the RVV Clang builtins generator, a new prototype descriptor
`d` was added to represent vectors with `2 x LMUL`.

The `.ll` tests were generated by LLM and I have reviewed them.

And the .c tests were generated by
https://github.com/riscv-non-isa/riscv-rvv-intrinsic-doc/pull/431.


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

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

  Log Message:
  -----------
  [clang][bytecode] Use qualified name in `Function::dump()` (#191958)


  Commit: 78cd6c9b28f99e201bf44c84044517820f32305e
      https://github.com/llvm/llvm-project/commit/78cd6c9b28f99e201bf44c84044517820f32305e
  Author: NeKon69 <nobodqwe at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Detect use-after-scope through fields in member calls (#191731)

Add `UseFact`s for field origins when calling instance methods.

Fixes #182945

---------

Co-authored-by: Utkarsh Saxena <usx at google.com>


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

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

  Log Message:
  -----------
  [clang][bytecode] Use `CopyArray` for primitive ArrayInitLoops (#191956)

This reduces the bytecode output for the copy constructor of a struct
such as:

```c++
struct Buffer {
  struct {
    char D[N];
  } V;

  Buffer() = default;
};
```
from
```
Buffer<5>::(unnamed struct)::(unnamed struct at array.cpp:873:3) 0x7d38d2de3f80
frame size: 104
arg size:   96
rvo:        0
this arg:   1
0      GetPtrThisField          16
16     GetParamPtr              0
32     GetPtrFieldPop           16
48     InitScope                0
64     SetLocalPtr              40
80     GetLocalPtr              40
96     ArrayDecay
104    ExpandPtr
112    ConstUint64              0
128    ArrayElemPtrPopUint64
136    LoadPopSint8
144    InitElemSint8            0
160    GetLocalPtr              40
176    ArrayDecay
184    ExpandPtr
192    ConstUint64              1
208    ArrayElemPtrPopUint64
216    LoadPopSint8
224    InitElemSint8            1
240    GetLocalPtr              40
256    ArrayDecay
264    ExpandPtr
272    ConstUint64              2
288    ArrayElemPtrPopUint64
296    LoadPopSint8
304    InitElemSint8            2
320    GetLocalPtr              40
336    ArrayDecay
344    ExpandPtr
352    ConstUint64              3
368    ArrayElemPtrPopUint64
376    LoadPopSint8
384    InitElemSint8            3
400    GetLocalPtr              40
416    ArrayDecay
424    ExpandPtr
432    ConstUint64              4
448    ArrayElemPtrPopUint64
456    LoadPopSint8
464    InitElemSint8            4
480    FinishInitPop
488    Destroy                  0
504    Destroy                  0
520    RetVoid
```
(where `N = 5`).

to:
```
Buffer<5>::(unnamed struct)::(unnamed struct at array.cpp:873:3) 0x7c85b9fe3f80
frame size: 0
arg size:   96
rvo:        0
this arg:   1
0     GetPtrThisField    16
16    GetParamPtr        0
32    GetPtrFieldPop     16
48    CopyArraySint8     0 0 5
80    FinishInitPop
88    RetVoid
```


  Commit: 4b4aa3b7911dcf5cda2cd166e39b8d5d97c20183
      https://github.com/llvm/llvm-project/commit/4b4aa3b7911dcf5cda2cd166e39b8d5d97c20183
  Author: Vedant Neve <vedantneve13 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [DAG] Add funnel-shift matchers to SDPatternMatch (Fixes #185880) (#186593)

Add new SelectionDAG pattern matchers for funnel shifts:
- m_FShL and m_FShR as ternary wrappers for ISD::FSHL/ISD::FSHR
- m_FShLLike and m_FShRLike to match:
-- direct FSHL/FSHR nodes
-- ROTL/ROTR equivalents (binding both X and Y to the same rotate operand)
-- OR(SHL(X, C), SRL(Y, BW - C)) forms (including commuted OR)

Also add unit tests covering positive and negative cases for:
- direct funnel-shif matching
- rotate equivalence matching
- OR-based funnel-shift-like patterns

Fixes #185880


  Commit: 08fb46468e9b03d8f13e8c3d9e40f7e9adff1a1d
      https://github.com/llvm/llvm-project/commit/08fb46468e9b03d8f13e8c3d9e40f7e9adff1a1d
  Author: Kartik Ohlan <kartik7ohlan at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/gfni-or-fold.ll

  Log Message:
  -----------
  [AVX-512] Fix for disjoint-or-fold (VGF2P8AFFINEQB) (#190896)

Fixes #190502

Added implementation of helper combineOrWithGF2P8AFFINEQB and wired the logic with combineOrXorWithSETCC:

Fold: (GF2P8AFFINEQB(X, Y, Imm) or_disjoint SplatVal) -> GF2P8AFFINEQB(X, Y, Imm ^ SplatVal)

When OR is disjoint (no common bits), the splat constant can be folded directly into the GF2P8AFFINEQB immediate via XOR.


  Commit: dd034aef4a4631860180a81ff17129f50cc41dbb
      https://github.com/llvm/llvm-project/commit/dd034aef4a4631860180a81ff17129f50cc41dbb
  Author: Qihan Cai <caiqihan021 at hotmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86CompressEVEX.cpp
    M llvm/test/CodeGen/X86/evex-to-vex-compress.mir

  Log Message:
  -----------
  [X86] Fix VPMOVPattern folding for extended registers (#191760)

Fixes a problem that tryCompressVPMOVPattern incorrectly folds
instruction using extended registers into VEX. Introduced relevant tests
in MIR.

AI Statement: I used AI to write the tests.
Fixes #191304


  Commit: c83832275136474dd9ad0a34c8e0e764a2853cc0
      https://github.com/llvm/llvm-project/commit/c83832275136474dd9ad0a34c8e0e764a2853cc0
  Author: eiytoq <eiytoq at outlook.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/include/mdspan
    M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp

  Log Message:
  -----------
  [libc++] LWG4511: Inconsistency between the deduction guide of `std::mdspan` taking `(data_handle_type, mapping_type, accessor_type)` and the corresponding constructor (#191950)

No functional change; this only removes a redundant const qualifier.

Fixes: #189860


  Commit: 2332c5d1e1fc9ee98a70ac9df9e34a4f206ac29d
      https://github.com/llvm/llvm-project/commit/2332c5d1e1fc9ee98a70ac9df9e34a4f206ac29d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/test/Transforms/LoopVectorize/conditional-assignment.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/loopvectorize-costmodel.test

  Log Message:
  -----------
  [LV] Remove legacy selectVectorizationFactor and assert (NFCI) (#190838)

Almost all recipes now go through ::computeCost to properly compute
their costs using the VPlan-based cost model. There are currently no
known cases where the VPlan-based cost model returns an incorrect cost
vs the legacy cost model. I check the remaining open issues with reports
of the assertion triggering and in all cases the VPlan-based cost model
is more accurate, which is causing the divergence.

There are still some fall-back paths, mostly via precomputeCosts, but
those cannot be easily removed without triggering the assert, as the
VPlan-based cost model is more accurate for those cases. An example of
this is https://github.com/llvm/llvm-project/pull/187056.

Fixes https://github.com/llvm/llvm-project/issues/38575. 
Fixes https://github.com/llvm/llvm-project/issues/149651. 
Fixes https://github.com/llvm/llvm-project/issues/182646. 
Fixes https://github.com/llvm/llvm-project/issues/183739. 
Fixes https://github.com/llvm/llvm-project/issues/187523.

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


  Commit: 0756e5985f0c329365c0b0de9fb66dad6abd5d76
      https://github.com/llvm/llvm-project/commit/0756e5985f0c329365c0b0de9fb66dad6abd5d76
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/active_lane_mask.ll
    M llvm/test/CodeGen/AArch64/combine-storetomstore.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
    M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
    M llvm/test/CodeGen/AArch64/extract-vector-elt-sve.ll
    M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
    M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
    M llvm/test/CodeGen/AArch64/rcpc3-sve.ll
    M llvm/test/CodeGen/AArch64/sme-pstate-sm-changing-call-disable-coalescing.ll
    M llvm/test/CodeGen/AArch64/sve-bf16-compares.ll
    M llvm/test/CodeGen/AArch64/sve-cmp-select.ll
    A llvm/test/CodeGen/AArch64/sve-distinct-predicate-dst.ll
    M llvm/test/CodeGen/AArch64/sve-fcvt.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-loads.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-stores.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-stores.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-insert-element.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
    M llvm/test/CodeGen/AArch64/sve-load-compare-store.ll
    M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
    M llvm/test/CodeGen/AArch64/sve-masked-compressstore.ll
    M llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop2.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop3.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-brk.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpeq.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpge.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpgt.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmphi.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmphs.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmple.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmplo.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpls.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmplt.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpne.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-log.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-match.ll
    M llvm/test/CodeGen/AArch64/sve-punpklo-combine.ll
    A llvm/test/CodeGen/AArch64/sve-regalloc-hint-unique-predicate-dst.mir
    M llvm/test/CodeGen/AArch64/sve-scmp.ll
    M llvm/test/CodeGen/AArch64/sve-select.ll
    M llvm/test/CodeGen/AArch64/sve-setcc.ll
    M llvm/test/CodeGen/AArch64/sve-smulo-sdnode.ll
    M llvm/test/CodeGen/AArch64/sve-split-insert-elt.ll
    M llvm/test/CodeGen/AArch64/sve-split-int-pred-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-gather-scatter.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
    M llvm/test/CodeGen/AArch64/sve-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-ucmp.ll
    M llvm/test/CodeGen/AArch64/sve-umulo-sdnode.ll
    M llvm/test/CodeGen/AArch64/sve-vector-compress.ll

  Log Message:
  -----------
  [AArch64] Hint regalloc to choose distinct predicate for MATCH/CMP (#190139)

For some cores it is preferable to choose a destination predicate
register that does not match the governing predicate.

The hint is conservative in that it tries not to pick a callee-save
register if it's not already used/allocated for other purposes, as that
would introduce new spills/fills. Note that this might be preferable if
the instruction is executed in a loop, but it might also be less
preferable for small functions that have an SVE interface (p4-p15 are
caller-preserved).

It is enabled for all cores by default, but it can be disabled by adding
the `disable-distinct-dst-reg-cmp-match` feature. This feature can also
be added to specific cores if this behaviour is undesirable.


  Commit: eb9a9b91ea65a7b0da1f84511df1c81805a4f7fd
      https://github.com/llvm/llvm-project/commit/eb9a9b91ea65a7b0da1f84511df1c81805a4f7fd
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp

  Log Message:
  -----------
  [mlir][tosa] Create and use utility to print shapes (#191774)

Follow up for #191300


  Commit: fa720e7d5e5483b93b6098cf4d13dcebaf01ca92
      https://github.com/llvm/llvm-project/commit/fa720e7d5e5483b93b6098cf4d13dcebaf01ca92
  Author: Ian Tayler Lessa <ian.taylerlessa at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [mlir][tosa] Optimize non-narrowing float casts (#191439)

Extend the existing NonNarrowingCastsOptimization to also cover casts
between floating point types f32, f16, bf16, f8E4M3FN and F8E5M2. Avoid
introducing direct casts between f8 types since those are not allowed in
TOSA.

Also expand the set of cases that are considering non-narrowing by only
checking if the cast we're trying to remove is non-narrowing. Example
i16 -> i32 -> i8 would have been rejected before, but it is now safely
converted to a single i16 -> i8 tosa.cast, since the behaviour should
identical for the entire input space.

Finally disallow the optimization in the case when the cast that we
would remove involves integer types of different signedness.

Signed-off-by: Ian Tayler Lessa <ian.taylerlessa at arm.com>


  Commit: 8beed11857172b89af2cf4c790bd51beee905506
      https://github.com/llvm/llvm-project/commit/8beed11857172b89af2cf4c790bd51beee905506
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp

  Log Message:
  -----------
  [Driver][HIP] Do not default to `hidden` visibility for AMDGCNSPIRV (#191820)

SPIR-V cannot encode hidden for now, which leads to quirky errors. For
now we deal with this at run time, as part of JIT. Once SPIR-V learns
about `hidden` it'll be revisited.


  Commit: bdec04f74395d14010ddf9aa4e3017504f70cfdb
      https://github.com/llvm/llvm-project/commit/bdec04f74395d14010ddf9aa4e3017504f70cfdb
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-add-sdot-i16-i32.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-add-sdot-i8-i16.ll

  Log Message:
  -----------
  [AArch64] Add new dot insts. to cost model (#189642)

This patch builds on #184659 and #184649 and adds cost modelling for new
dot instructions variants, codegened in those patches.


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

  Changed paths:
    M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer.ll

  Log Message:
  -----------
  [NFC][SPIR-V] Fix cbuffer.ll test to pass spirv-val validation (#191940)

Mark `main()` function as a compute shader entry point with numthreads
attribute so the test produces valid SPIR-V

related to https://github.com/llvm/llvm-project/issues/190736


  Commit: 06c1aa3ca74cf73df07d1ef3fff9b476e5aedaab
      https://github.com/llvm/llvm-project/commit/06c1aa3ca74cf73df07d1ef3fff9b476e5aedaab
  Author: Weibo He <NewSigma at 163.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/docs/Coroutines.rst
    M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
    M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp
    M llvm/test/Transforms/Coroutines/coro-debug.ll
    R llvm/test/Transforms/Coroutines/gh105595.ll

  Log Message:
  -----------
  [CoroEarly][IR] Clarify semantic of llvm.coro.end (#191752)

We introduced a workaround for the following pattern in #139243:
``` LLVM
define void @fn() presplitcoroutine {
  %__promise = alloca ptr, align 8
  ...

coro.ret:
  call void @llvm.coro.end(ptr null, i1 false, token none)
  store ptr null, ptr %__promise, align 8
  ret void
}
```
where DSE considers `__promise` dead after the return and eliminates the
store, leading to a miscompilation.

However, after #151067, the problematic pattern is gone. And it
currently looks like:
``` LLVM
gro.conv:
  store ptr null, ptr %__promise, align 8
  br label %after.gro.conv

after.gro.conv:
  br i1 %body.done, label %coro.cleanup, label %coro.ret

coro.ret:
  call void @llvm.coro.end(ptr null, i1 false, token none)
  ret void
```
DSE cannot eliminate the store because `__promise` escapes through
`coro.id`, and `coro.end` post-dominates the store. It turns out that
accessing the coroutine frame after `coro.end` is not safe. This patch
proposes clarifying the semantics of `coro.end` and reverting the
workaround, as it confuses alias analyses. I have scanned the tests and
updated the uses of the coroutine frame after `coro.end`.


  Commit: 1b804e20b9d258c8f0b454d43013cf2300f0df26
      https://github.com/llvm/llvm-project/commit/1b804e20b9d258c8f0b454d43013cf2300f0df26
  Author: Zhijie Wang <yesterda9 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
    M clang/lib/Analysis/LifetimeSafety/Dataflow.h
    M clang/lib/Analysis/LifetimeSafety/Facts.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
    M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/test/Sema/Inputs/lifetime-analysis.h
    M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
    M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
    M clang/test/Sema/warn-lifetime-safety-noescape.cpp
    M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Track origins through std::function (#191123)

1. Recognizes `std::function` and `std::move_only_function` as types
that can carry origins from a wrapped lambda's captures, propagating
origins through both construction and assignment.
2. Adds a kill-only mechanism (i.e., a new `KillOriginFact`) to clear
old loans when the RHS has no origins.

Fixes #186009


  Commit: 7c3b4995cf17b847306b96783830bca46c56d6c4
      https://github.com/llvm/llvm-project/commit/7c3b4995cf17b847306b96783830bca46c56d6c4
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFDebugMacro (#191987)

This relates to #35980.


  Commit: 90ccb1cc9e47fa0d7acc2aa0750fe8d5a46c7757
      https://github.com/llvm/llvm-project/commit/90ccb1cc9e47fa0d7acc2aa0750fe8d5a46c7757
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFDebugLine (#191986)

This relates to #35980.


  Commit: 444ffde12de32e88cfcda2098e2eea0876850139
      https://github.com/llvm/llvm-project/commit/444ffde12de32e88cfcda2098e2eea0876850139
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFDebugFrame (#191984)

This relates to #35980.


  Commit: 3fe0bdfaa592cc0d7ce9f695a94522fa92366c6f
      https://github.com/llvm/llvm-project/commit/3fe0bdfaa592cc0d7ce9f695a94522fa92366c6f
  Author: Zachary Yedidia <zyedidia at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/docs/LFI.rst
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    A llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.cpp
    A llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/CMakeLists.txt
    A llvm/test/MC/AArch64/LFI/reserved.s
    A llvm/test/MC/AArch64/LFI/sys.s
    A llvm/test/MC/AArch64/LFI/tp.s

  Log Message:
  -----------
  [LFI][AArch64] Add AArch64 LFI rewrites for system instructions (#186896)

This builds on the MCLFIRewriter infrastructure to add the
AArch64-specific LFI rewriter, which rewrites AArch64 instructions for
LFI sandboxing during the assembler step.

The initial rewriter handles system instructions: system calls, thread
pointer accesses, and also rejects modifications to reserved registers.


  Commit: cabb972810f8e2e06fcba64d8fe967c3573c6c07
      https://github.com/llvm/llvm-project/commit/cabb972810f8e2e06fcba64d8fe967c3573c6c07
  Author: Davide Grohmann <davide.grohmann at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td

  Log Message:
  -----------
  [mlir][spirv] Mark several SPIR-V TOSA Ext Inst ops as NoMemoryEffects (#191814)

Initially such ops were marked Pure wrongly since they could overflow or
underflow the accumulator and result in undefined behavior.

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


  Commit: 4c543ac848e0db170eaa223a734c1fed26468e24
      https://github.com/llvm/llvm-project/commit/4c543ac848e0db170eaa223a734c1fed26468e24
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFDebugRangeList (#191989)

This relates to #35980.


  Commit: 1e68dcc740c902ba418bd06e4e9677742b39acb8
      https://github.com/llvm/llvm-project/commit/1e68dcc740c902ba418bd06e4e9677742b39acb8
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFDebugRnglists (#191991)

This relates to #35980.


  Commit: d023386c5b054a6958d5aa1e156308ed0fcfcfa4
      https://github.com/llvm/llvm-project/commit/d023386c5b054a6958d5aa1e156308ed0fcfcfa4
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFDie (#191992)

This relates to #35980.


  Commit: 8417922cb4e25d79e8c362a6bf2b5d6aca882582
      https://github.com/llvm/llvm-project/commit/8417922cb4e25d79e8c362a6bf2b5d6aca882582
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [lldb] Start using formatv() in RegisterContextUnwind (NFCI) (#191576)

This introduces two macros that do the same
`UnwindLogMsg()`/`UnwindLogMsgVerbose()` functions, but allow using
`formatv()`-style formatting. In addition to the benefits that the
`formatv()` function provides, this makes `log enable -F lldb unwind`
print the correct methods names from which the messages originate
(previously, it printed the name of one of those two helper methods).

I didn't replace all function calls with macros because there are too
many of them for one PR. This only replaces calls whose format string
contains no specifiers or only '%s' specifiers.


  Commit: 20c2216d916180f3cff9b5bbb2cd3c645fd1d866
      https://github.com/llvm/llvm-project/commit/20c2216d916180f3cff9b5bbb2cd3c645fd1d866
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFListTable (#191996)

This relates to #35980.


  Commit: 2e07997236188c1cf8fed4534304a007f2d09330
      https://github.com/llvm/llvm-project/commit/2e07997236188c1cf8fed4534304a007f2d09330
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFTypeUnit (#191997)

This relates to #35980.


  Commit: 9f1da15276e18b165c54c00b2ccf2c54839c61f1
      https://github.com/llvm/llvm-project/commit/9f1da15276e18b165c54c00b2ccf2c54839c61f1
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFUnwindTablePrinter.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFUnwindTablePrinter (#191999)

This relates to #35980.


  Commit: cf3a6c8431f9a5b91f9faa77384a70029745dce8
      https://github.com/llvm/llvm-project/commit/cf3a6c8431f9a5b91f9faa77384a70029745dce8
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in LVCodeViewVisitor (#192010)

This relates to #35980.


  Commit: 34e5b955ddf809feb9ca8fd145e581471f684477
      https://github.com/llvm/llvm-project/commit/34e5b955ddf809feb9ca8fd145e581471f684477
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in LVBinaryReader (#192009)

This relates to #35980.


  Commit: 453d0e229d7a0288a65d16a15ba79948c4fff303
      https://github.com/llvm/llvm-project/commit/453d0e229d7a0288a65d16a15ba79948c4fff303
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in LVScope (#192008)

This relates to #35980.


  Commit: 65c462aa91e63ca545fd55f81e29f7b57b0a9d3d
      https://github.com/llvm/llvm-project/commit/65c462aa91e63ca545fd55f81e29f7b57b0a9d3d
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Core/LVRange.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in LVRange (#192006)

This relates to #35980.


  Commit: 8a5dc1275c45a88e8f9d72230d1df71ee9caeb98
      https://github.com/llvm/llvm-project/commit/8a5dc1275c45a88e8f9d72230d1df71ee9caeb98
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Core/LVObject.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in LVObject (#192004)

This relates to #35980.


  Commit: 941b0f40fdab6b9b141ad80f3e8fcc020b41e441
      https://github.com/llvm/llvm-project/commit/941b0f40fdab6b9b141ad80f3e8fcc020b41e441
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Core/LVLocation.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in LVLocation (#192003)

This relates to #35980.


  Commit: 2b593be98121e363d38644183210bf1933604a5a
      https://github.com/llvm/llvm-project/commit/2b593be98121e363d38644183210bf1933604a5a
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in LVElement (#192002)

This relates to #35980.


  Commit: 297510f80397a553023cfe34ca5d08a507327163
      https://github.com/llvm/llvm-project/commit/297510f80397a553023cfe34ca5d08a507327163
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M bolt/runtime/common.h
    M bolt/runtime/instr.cpp

  Log Message:
  -----------
  [BOLT][runtime] harden profile file open. (#191669)


  Commit: 8b5b987cfa7bff5b46bd8b384a52347ab74f6e4c
      https://github.com/llvm/llvm-project/commit/8b5b987cfa7bff5b46bd8b384a52347ab74f6e4c
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M bolt/runtime/instr.cpp

  Log Message:
  -----------
  [BOLT][runtime] fix readlink bound check in getBinaryPath. (#191666)

Ret was uint32_t truncating the uint64_t __readlink return, and was
compared against the unrelated getdents64 BufSize (1024) instead of
sizeof(TargetPath) (NameMax, 4096). A truncated readlink of exactly
NameMax bytes also wrote one byte past TargetPath.


  Commit: 1207be6e79c3fbc16625b0184bdf8d7a166b0a16
      https://github.com/llvm/llvm-project/commit/1207be6e79c3fbc16625b0184bdf8d7a166b0a16
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Target/RegisterContextUnwind.h
    M lldb/source/Target/RegisterContextUnwind.cpp

  Log Message:
  -----------
  [lldb] Use UNWIND_LOG macro in more places in RegisterContextUnwind (#192032)

Replace calls to `UnwindLogMsg()`/`UnwindLogMsgVerbose()` with
`UNWIND_LOG`/`UNWIND_LOG_VERBOSE` macros introduced in 8417922c.

This replaces calls whose format string contains only '%d' and sometimes
'%s' specifiers, the rest will be addressed in a future patch.

As a result of this change, the `UnwindLogMsgVerbose()` is no longer
used and has been removed.


  Commit: 270e0652dfa27091eb927113d16969122ac02a08
      https://github.com/llvm/llvm-project/commit/270e0652dfa27091eb927113d16969122ac02a08
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__format/format_functions.h
    M libcxx/include/format
    M libcxx/modules/std/format.inc
    A libcxx/test/std/utilities/format/format.fmt.string/ctor.dynamic-format-string.pass.cpp
    R libcxx/test/std/utilities/format/format.fmt.string/ctor.runtime-format-string.pass.cpp
    A libcxx/test/std/utilities/format/format.functions/format.dynamic_format.pass.cpp
    A libcxx/test/std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp
    R libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp
    R libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp
    A libcxx/test/std/utilities/format/format.syn/dynamic_format_string.pass.cpp
    R libcxx/test/std/utilities/format/format.syn/runtime_format_string.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  Reapply "[libc++][format] P3953R3: Rename `std::runtime_format` (#189657)" (#191939)

This reverts commit bfff42cd6733f451135cda9605557cdea59affc2.


  Commit: 60fdca0466a1e232b62dff1032bc5968fdca7fed
      https://github.com/llvm/llvm-project/commit/60fdca0466a1e232b62dff1032bc5968fdca7fed
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/test/CodeGen/NVPTX/globals_init.ll

  Log Message:
  -----------
  [LLVM][NVPTX] Add vector ConstantInt/FP support to bufferAggregateConstant. (#182544)


  Commit: a7993befd9a6c80ca1bc07ae5db2b644eae235a7
      https://github.com/llvm/llvm-project/commit/a7993befd9a6c80ca1bc07ae5db2b644eae235a7
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/aarch64-predication.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predication_costs.ll

  Log Message:
  -----------
  [LV] Don't skip VPlan cost model for div/rem instructions (#187056)

In LoopVectorizationPlanner::precomputeCosts we are skipping calculation
of costs using the VPlan cost model, instead preferring to use the
legacy costs. This helps to prevent the legacy and vplan cost model
assert firing, but really we should be encouraging full use of the VPlan
cost model.

I've created this initial PR to stop skipping the computation costs for
udiv/urem/sdiv/srem instructions. The VPlan costs seem to match up
nicely.

I intend to follow up with more PRs to move more opcodes across.


  Commit: 12af401f6ab586aad5ee86103e6c5dd6aa798e88
      https://github.com/llvm/llvm-project/commit/12af401f6ab586aad5ee86103e6c5dd6aa798e88
  Author: ioana ghiban <ioana.ghiban at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M mlir/lib/Conversion/MathToEmitC/MathToEmitC.cpp
    M mlir/test/Conversion/MathToEmitC/math-to-emitc.mlir
    A mlir/test/Dialect/EmitC/math/ops.mlir

  Log Message:
  -----------
  [mlir][EmitC] Convert math::RoundEvenOp, SqrtOp and RsqrtOp (#190158)

This patch extends the Math-to-EmitC conversion to cover `math.roundeven` and
`math.sqrt` for scalar f32/f64 values.

`math.roundeven` and `math.sqrt` are lowered to `emitc.call_opaque` using the
appropriate target-specific names:

C: `roundevenf` / `roundeven`, `sqrtf` / `sqrt`
C++: `std::roundeven`, `std::sqrt`
The patch also adds coverage for `math.rsqrt`. There is no direct EmitC
lowering for `math.rsqrt`; instead, the new tests verify the existing expansion
path through `-math-expand-ops=ops=rsqrt`, followed by `-convert-math-to-emitc`
and `-convert-arith-to-emitc`. This ensures the cross-dialect lowering sequence
produces the expected `emitc.constant`, `emitc.call_opaque`, and `emitc.div`
operations for f32/f64.

Unsupported cases remain unchanged. In particular, the new test documents that
f16 math.rsqrt is not lowered because math.sqrt is only converted for f32/f64.


  Commit: f2b5dc225889df4ca368db0f481c67dddf19c471
      https://github.com/llvm/llvm-project/commit/f2b5dc225889df4ca368db0f481c67dddf19c471
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [lldb] Fix: Disable shared build dir when testing with PDB (#190991)

The mechanism to disable `SHARED_BUILD_TESTCASE` for tests
that set `TEST_WITH_PDB_DEBUG_INFO` doesn't work. The property 
was set on the wrong object. This patch fixes it and moves the assignment
after the for-loop, since the respective dict only exists there.


  Commit: 78820cb91605693b7d768be4ebc8b66181d3e9c3
      https://github.com/llvm/llvm-project/commit/78820cb91605693b7d768be4ebc8b66181d3e9c3
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/include/clang/Driver/ToolChain.h
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    A clang/test/Driver/linux-multilib.yaml
    A clang/test/Driver/mingw-multilib.yaml

  Log Message:
  -----------
  [Clang] Enable multilib library support for Linux/Windows (#188584)

Summary:
This PR standardizes the logic used in the baremtal build to the common
toolchain interface. We then use this to handle the support in Linux and
Windows.

The multilib functionality allows us to select variant libraries based
off of a configuration file. For example, if the `multilib.yaml` file
detects `-fsanitize=address` it will automatically use the libraries
inside of `asan/` instead. These are layered so they do not necessarily
need to be complete library builds. More documentation can be found at
https://clang.llvm.org/docs/Multilib.html.

The motivation for this is so platforms like ROCm can use a more
standard way to ship debug / asan variants of libraries like OpenMP or
similar for both GPU an CPU targets.


  Commit: 356f2fcf412b19e37a98c61abf36917cad3455d6
      https://github.com/llvm/llvm-project/commit/356f2fcf412b19e37a98c61abf36917cad3455d6
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir.filter-out.expected
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir.filter.expected
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/x86-filter.test
    M llvm/utils/UpdateTestChecks/mir.py
    M llvm/utils/update_mir_test_checks.py

  Log Message:
  -----------
  [UpdateTestChecks] Add --filter/--filter-out support to update_mir_test_checks.py (#191059)

These options were already accepted by the script but silently ignored.
This patch makes them functional, consistent with
update_llc_test_checks.py.

Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>


  Commit: 0d20c873ddaa6699083510d77a749bf96046de7c
      https://github.com/llvm/llvm-project/commit/0d20c873ddaa6699083510d77a749bf96046de7c
  Author: Jan André Reuter <j.reuter at fz-juelich.de>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/test/OpenMP/cancel_codegen.cpp
    M clang/test/OpenMP/irbuilder_for_iterator.cpp
    M clang/test/OpenMP/irbuilder_for_rangefor.cpp
    M clang/test/OpenMP/irbuilder_for_unsigned.c
    M clang/test/OpenMP/irbuilder_for_unsigned_auto.c
    M clang/test/OpenMP/irbuilder_for_unsigned_down.c
    M clang/test/OpenMP/irbuilder_for_unsigned_dynamic.c
    M clang/test/OpenMP/irbuilder_for_unsigned_dynamic_chunked.c
    M clang/test/OpenMP/irbuilder_for_unsigned_runtime.c
    M clang/test/OpenMP/irbuilder_for_unsigned_static_chunked.c
    M clang/test/OpenMP/irbuilder_nested_parallel_for.c
    M clang/test/OpenMP/irbuilder_unroll_partial_factor_for.c
    M clang/test/OpenMP/irbuilder_unroll_partial_heuristic_constant_for.c
    M clang/test/OpenMP/irbuilder_unroll_partial_heuristic_runtime_for.c
    M clang/test/OpenMP/irbuilder_unroll_unroll_partial_factor.c
    M clang/test/OpenMP/nested_loop_codegen.cpp
    A flang/test/Integration/OpenMP/workshare-ident-flag.f90
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/test/Target/LLVMIR/omptarget-parallel-wsloop.mlir
    M mlir/test/Target/LLVMIR/openmp-cancel-distribute-parallel-loop.mlir
    M mlir/test/Target/LLVMIR/openmp-cancel.mlir
    M mlir/test/Target/LLVMIR/openmp-cancellation-point.mlir
    M mlir/test/Target/LLVMIR/openmp-composite-simd-if.mlir
    M mlir/test/Target/LLVMIR/openmp-dist_schedule_with_wsloop.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-simd-guided.mlir

  Log Message:
  -----------
  [OMPIRBuilder] Pass work loop type in ident flags (#189347)

Flang uses the OMPIRBuilder to lower OpenMP constructs to LLVM IR.
When dealing with work sharing constructs, such as DO, DISTRIBUTE or
SECTIONS/SECTION, OMPIRBuilder needs to construct the call to the OpenMP
runtime, typically `__kmpc_for_static_init` or
`__kmpc_dist_for_static_init`.

The first passed flag to these functions is the `ident_t` struct,
defined in `kmp.h`. Most of the arguments are reserved for usage in
Fortran and unused in `openmp`. However, the `flags` argument is used
throughout the code base to identify specific constructs, such as the
type of work sharing construct.

In https://github.com/llvm/llvm-project/issues/112545, it was identified
that Flang does not provide the correct `ident_t` flags when calling
into e.g. `__kmpc_for_static_init`, causing the following runtime
warning to appear when the OpenMP Tools Interface is used:

```
OMP: Warning #189: OMPT: Cannot determine workshare type; using the default (loop) instead. This issue is fixed in an up-to-date compiler.
```

This PR adds a test, verifying that the work sharing constructs provide
the correct flags to the runtime call. The IR check for SECTIONS/SECTION
maps against `KMP_IDENT_WORK_LOOP`, as the OMPIRBuilder converts the
SECTIONS construct into a DO loop with a switch-case for every SECTION
clause.

In addition, `OMPIRBuilder` is modified, so that the work loop type is
passed via `ident_t.flags` to the respective
`__kmpc_for_static_init`/`__kmpc_dist_for_static_init` calls, letting
the test pass and the `libomp` warning disappear.
Wherever possible, provide the mapping based on the passed `LoopType`.
If not available, I implemented the decision based on the
`DistScheduleSchedType`, or in case of `applyDynamicWorkshareLoop`,
hard-coded this to `OMP_IDENT_FLAG_WORK_LOOP`.

---

As this is the first time dealing with `OMPIRBuilder`, I'm not sure if I
missed anything while implementing these changes.
If there's anything that can be improved here, e.g. with the ident flag
mapping, I'm very grateful for any feedback. I tried to implement this
with the best of my understanding based on taking a look at the existing
code and tests.

For example, I was not sure if adding a test to
`flang/test/Integration/OpenMP/` is the correct approach here, or if I
rather should try to modify
`unittests/Frontend/OpenMPIRBuilderTest.cpp`. In the end, the former
looked to me more straight-forward.

---

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

---------

Signed-off-by: Jan André Reuter <j.reuter at fz-juelich.de>


  Commit: 6cfbc25102d95f1afa69351c36767d9d8c25c21a
      https://github.com/llvm/llvm-project/commit/6cfbc25102d95f1afa69351c36767d9d8c25c21a
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MisleadingBidirectionalCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Fix clang-format (#192044)


  Commit: 224c429e858f8171852990a6f7b2b3590eeaffb7
      https://github.com/llvm/llvm-project/commit/224c429e858f8171852990a6f7b2b3590eeaffb7
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    A clang/docs/CIR/ABILowering.md
    A clang/docs/CIR/CleanupAndEHDesign.md
    A clang/docs/CIR/CodeDuplication.rst
    A clang/docs/CIR/_raw/PostProcessCIRDocs.py
    A clang/docs/CIR/index.rst
    M clang/docs/CMakeLists.txt
    R clang/docs/ClangIRABILowering.md
    R clang/docs/ClangIRCleanupAndEHDesign.md
    R clang/docs/ClangIRCodeDuplication.rst
    M clang/docs/conf.py
    M clang/docs/index.rst
    M clang/include/clang/CIR/Dialect/CMakeLists.txt
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt

  Log Message:
  -----------
  [clang][CIR][doc] Add auto-generated ClangIR documentation (#190354)

ClangIR has a collection of documentation pages that we want to upstream
as part of the main clang documentation. These pages are originally
available at https://clangir.org/, maintained in the [incubator
repository](https://github.com/llvm/clangir) which has been archived a
few months ago.

This patch makes a first step towards the upstreaming of ClangIR
documentation. The pages included in this patch are those automatically
generated from MLIR TableGen. Specifically, this patch makes the
following changes to the main clang documentation tree:

- It adds a new subdirectory `CIR` under `clang/docs` to hold all
ClangIR documentation. There are already 3 ClangIR design documents put
under `clang/docs`, and this patch moves all of them to this new
subdirectory.
  - It touches the necessary CMake files and Python scripts to:
- Generate ClangIR language reference automatically from MLIR TableGen
when building the clang documentation with `CLANG_ENABLE_CIR=ON`.
- Incorporate these automatically generated documents (if any) into the
main clang documentation build tree.


  Commit: d8c95e6ea4fbd6526641b87353bb31ce439afe8c
      https://github.com/llvm/llvm-project/commit/d8c95e6ea4fbd6526641b87353bb31ce439afe8c
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/mcontext_t.h
    A libc/include/llvm-libc-types/ucontext_t.h
    A libc/include/llvm-libc-types/x86_64/mcontext_t.h
    A libc/include/llvm-libc-types/x86_64/ucontext_t.h
    A libc/include/ucontext.h.def
    A libc/include/ucontext.yaml

  Log Message:
  -----------
  [libc] Add ucontext types and headers (#191789)

Added mcontext_t and ucontext_t types for x86_64 Linux, and the
ucontext.h header definition. Used a dispatcher pattern for mcontext_t
and ucontext_t to support future architecture ports, mirroring the
pattern used in FPUtil.

Definitions are based on the Linux kernel ABI for x86_64.

Co-authored-by: Pavel Labath <pavel at labath.sk>


  Commit: be1f7941b851427be01abac112057a50f8d333d2
      https://github.com/llvm/llvm-project/commit/be1f7941b851427be01abac112057a50f8d333d2
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    A clang/test/CIR/CodeGen/inherited-ctors.cpp

  Log Message:
  -----------
  [CIR] Inheriting Constructor/inheriting ctor inlining lowering (#191467)

In cases with inheritance/vertual tables/etc, we need to generate a
series of constructors to delegate to. There are a handful slightly
different cases where we need to generate these/generate calls to these,
so this patch does that lowering.

The test check-lines are a bit confusing thanks to the ordering
differences between declarations. However the LLVM/OGCG lines are copy
pasted (plus minor attribute differences), with the exception of the
call to a delegated constructor.

One thing of note here: There is a difference in behavior with the
delegated constructor, which is called out in the test in a comment.
Classic codegen has a bug where it correctly creates the declaration
without arguments (since this constructor is only for initializing the
vtable pointers, arguments aren't necessary). However, when
classic-codegen creates the call, it doesn't omit them.

This isn't a problem there, however in CIR, this causes us to fail the
verifier, so this fixes that in CIR, but leaves it alone in OGCG.


  Commit: ae2e4768f9bdcbb2c33906708a0ab6e2a7059734
      https://github.com/llvm/llvm-project/commit/ae2e4768f9bdcbb2c33906708a0ab6e2a7059734
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/ASTConcept.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/TemplateName.h
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/Basic/Diagnostic.h
    A clang/include/clang/Basic/OptionalUnsigned.h
    M clang/include/clang/Basic/Specifiers.h
    R clang/include/clang/Basic/UnsignedOrNone.h
    M clang/lib/APINotes/APINotesTypes.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaType.cpp

  Log Message:
  -----------
  [clang] NFC: Refactor UnsignedOrNone into OptionalUnsigned<T> with enum support (#191828)

This kind optional is simpler to use when it needs to be represented in
a bitfield, because it has an `unsigned` integer representation which
avoids overflows. This applies to enums as well.

This also adds a single use of this new functionality, migrating users
of `std::optional<NullabilityKind>`
This optional used to be represented as two members in a bitfield, and
this simplifies things down to one.


  Commit: 91ebd4ac4ac4b11653a26b3a04af5b94ccda7e4c
      https://github.com/llvm/llvm-project/commit/91ebd4ac4ac4b11653a26b3a04af5b94ccda7e4c
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/APINotes/templates.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/AST/HLSL/ast-dump-SpirvType.hlsl
    M clang/test/AST/HLSL/matrix-alias.hlsl
    M clang/test/AST/HLSL/vector-alias.hlsl
    M clang/test/AST/ast-dump-decl-context-json.cpp
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/AST/ast-dump-invalid.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_namespace_1.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_reference.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_template_3.cpp
    M clang/test/AST/ast-dump-template-decls-json.cpp
    M clang/test/AST/ast-dump-template-decls.cpp
    M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/AST/float16.cpp
    M clang/test/AST/new-unknown-type.cpp
    M clang/test/Import/builtin-template/test.cpp
    M clang/test/Import/enum/test.cpp
    M clang/test/Import/namespace/test.cpp
    M clang/test/Import/template-specialization/test.cpp
    M clang/test/Modules/cxx-templates.cpp
    M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
    M clang/test/SemaTemplate/make_integer_seq.cpp

  Log Message:
  -----------
  [clang] fix some places where used decls were not marked as referenced (#191848)

Fixes some entities not being marked as referenced despite being used in
source code.
Also ties diagnostic-of-use to such references, because I don't think
there is a reason to have one without the other, even though I can't
think of a diagnosable entity which was not already covered before.


  Commit: 4c7c3eaf3289845208942a10f8f7494880f93197
      https://github.com/llvm/llvm-project/commit/4c7c3eaf3289845208942a10f8f7494880f93197
  Author: Fabio D'Urso <fdurso at google.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/wrappers_c.cpp

  Log Message:
  -----------
  [scudo] Do not define some entrypoints on Fuchsia (#191826)

These entrypoints were defined separately in wrappers_c_bionic.cpp
(which Fuchsia did not include in the build) before #190857 and,
therefore, were not exposed to Fuchsia's Scudo clients.

With #190857, they have been merged into the main wrappers_c.cpp file,
removing this separation.

This commit makes them conditionally-defined to not be building for
Fuchsia, to restore the pre-#190857 ABI.


  Commit: 14ee89214c437495ef35419534bd657b2ddae768
      https://github.com/llvm/llvm-project/commit/14ee89214c437495ef35419534bd657b2ddae768
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [OFFLOAD] Fix interop-print test commands (#191969)

Using %libomptarget-run-generic will fail or run an incorrect binary if
the previous %libomptarget-compile becames ignored because there's no
such device. Switching to use %libomptarget-compile-and-run-* which
doesn't have this issue.

Fixes post-merge issue of #191901


  Commit: 44926b35d3160199ea4a60a34c3dcdb6837aa9ec
      https://github.com/llvm/llvm-project/commit/44926b35d3160199ea4a60a34c3dcdb6837aa9ec
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ObjectYAML/DWARFYAML.h
    M llvm/lib/ObjectYAML/DWARFEmitter.cpp
    M llvm/lib/ObjectYAML/DWARFYAML.cpp
    M llvm/test/tools/yaml2obj/ELF/DWARF/debug-line-v5.yaml

  Log Message:
  -----------
  [DWARFYAML] Add support for v5 debug_line entry formats (#191358)

This lets us specify the *format* of the directory and file name
entries, but not the entries themselves.


  Commit: 16f793876e0768f6e322918d1cd99f4d85a2e30d
      https://github.com/llvm/llvm-project/commit/16f793876e0768f6e322918d1cd99f4d85a2e30d
  Author: Alexandre Perez <alexandreperez at meta.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M lldb/source/Target/StackFrameList.cpp
    M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py

  Log Message:
  -----------
  [lldb] Fix synthetic frame identity loss during incremental fetches (#191903)

When `SyntheticStackFrameList::FetchFramesUpTo` is called incrementally,
PC-less synthetic frames can end up with identical `StackID` values.
This happens because `num_synthetic_frames` is reset to zero on each
call, handing out duplicate call frame addresses. Since PC-less frames
all share `LLDB_INVALID_ADDRESS` as their PC, the `StackID` equality
check cannot distinguish them, and `ExecutionContextRef` resolves the
wrong frame.

The fix counts existing synthetic frames in `m_frames` before starting
the fetch loop so new frames receive unique call frame addresses.


  Commit: 03f6faa2c35d48d1a403c31d1587050aa168304b
      https://github.com/llvm/llvm-project/commit/03f6faa2c35d48d1a403c31d1587050aa168304b
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst_vls.ll

  Log Message:
  -----------
  [NFC][AArch64][TTI] Autogenerate masked_ldst_vls check lines (#192048)

Precommit before changing the cost model.


  Commit: 56ce7ede7d290758bc00dd8596f65639d1c3544f
      https://github.com/llvm/llvm-project/commit/56ce7ede7d290758bc00dd8596f65639d1c3544f
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp

  Log Message:
  -----------
  [AArch64] Fix strict weak ordering violation in regalloc hints sort. (#192055)

This fixes an error with expensive checks after landing #190139.

The issue was:

Error: comparison doesn't meet irreflexive requirements, assert(!(a <
a)).

because it could have previously returned 'true' in the ordering
function if registers A and B were equal.

Also made NFC change to rename 'HandleMatchCmpPredicateHint' ->
'HandleDestructivePredicateHint' (that was missed in the review).


  Commit: 66d78d00e517f75b4011ce669d1319289876bb7b
      https://github.com/llvm/llvm-project/commit/66d78d00e517f75b4011ce669d1319289876bb7b
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/test/CodeGen/PowerPC/bit_floor.ll

  Log Message:
  -----------
  [PowerPC] fix Inefficient std::bit_floor(x)  (#183361)

Fix  Inefficient asm of std::bit_floor(x) for powerpc.


  Commit: c7903ce8ae3213e2f406432ce9c4ac73f2cec209
      https://github.com/llvm/llvm-project/commit/c7903ce8ae3213e2f406432ce9c4ac73f2cec209
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/Driver/ToolChain.cpp
    M clang/test/Driver/fsanitize-cfi.c
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/test/Transforms/LowerTypeTests/function-weak.ll
    M llvm/test/Transforms/LowerTypeTests/function.ll

  Log Message:
  -----------
  [Hexagon] Add CFI-ICall sanitizer support (#191754)

Enable -fsanitize=cfi-icall for Hexagon targets:
- Add Hexagon to the CFI-ICall allow-list in the Clang driver.
- Add Hexagon jump table support in LowerTypeTests: 4-byte entries using
the `jump` instruction, and route Hexagon through the native function
bit-set builder.


  Commit: 20edc8496df3b2e5fc08df89c6ca7b77f5e2aaf8
      https://github.com/llvm/llvm-project/commit/20edc8496df3b2e5fc08df89c6ca7b77f5e2aaf8
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M compiler-rt/lib/tysan/tysan.cpp

  Log Message:
  -----------
  [compiler-rt][TySan] Use pointer-width types for shadow memory ops (#191602)

The TySan runtime used uint64_t/int64_t casts for shadow memory pointer
arithmetic and interior-byte marker values. These are incorrect on
32-bit targets where pointers are 4 bytes: the shadow entries are
pointer-sized, so the offsets and marker values must also be
pointer-sized.

Replace uint64_t/int64_t with uptr/sptr (sanitizer_common's
pointer-width typedefs) throughout SetShadowType, GetNotAllBadTD,
GetNotAllUnkTD, and __tysan_instrument_mem_inst. This is a no-op on
64-bit targets (where uptr == uint64_t) and fixes shadow corruption on
32-bit targets.


  Commit: 4f5e8792a4fb5147c4e5c97fa75a89e1d1f6b682
      https://github.com/llvm/llvm-project/commit/4f5e8792a4fb5147c4e5c97fa75a89e1d1f6b682
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [clang][Driver] Enable -fsanitize=type for Hexagon Linux (#191604)

Allow the TypeSanitizer to be used on Hexagon Linux targets.


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

  Changed paths:
    A bolt/test/AArch64/tail-duplication-cache.s
    A bolt/test/AArch64/tail-duplication-pass.s
    M bolt/test/X86/tail-duplication-pass.s

  Log Message:
  -----------
  [BOLT][AArch64] Extend test coverage for TailDuplication in AArch64 (#191453)

Adds tests for tail duplication with modes aggressive/cache/moderate for
AArch64. Tests are based on respective X86 tests.
Fix up an incorrect comment on X86/tail-duplication-pass.s.


  Commit: 94bb1b0590f43b517f290053b74e72e38101aa9b
      https://github.com/llvm/llvm-project/commit/94bb1b0590f43b517f290053b74e72e38101aa9b
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst_vls.ll

  Log Message:
  -----------
  [AArch64][TTI] Increase cost for masked memory operations requiring splitting (#191417)

If we need to split the memory operation, we'll also need to split the
mask.

This has a performance benefit in some cases when the loop vectorizer is
asked to maximize bandwidth and ends up choosing a VF that's too high
when tail folding. The costs of splitting the masks are not accounted
for in the current model, so this is something of a brute-force approach
to avoiding the wider VFs.


  Commit: 0037a636fde9d9a426a18e8963a5bab016187a6c
      https://github.com/llvm/llvm-project/commit/0037a636fde9d9a426a18e8963a5bab016187a6c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/reduction-shl1-add-merge.ll

  Log Message:
  -----------
  [SLP][NFC]Add extra test for add/shl transformation opportunity in reductions, NFC



Reviewers: 

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


  Commit: b6c9cbe69d96ac80c3ed42b09c19dddc15df464e
      https://github.com/llvm/llvm-project/commit/b6c9cbe69d96ac80c3ed42b09c19dddc15df464e
  Author: Nashe Mncube <nashe.mncube at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    A llvm/lib/Target/AArch64/AArch64SchedC1Ultra.td
    M llvm/lib/Target/AArch64/AArch64SchedPredNeoverse.td
    M llvm/lib/Target/AArch64/AArch64SchedPredicates.td
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-basic-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-bf16-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-complxnum-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-flag-manipulation-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-forwarding.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-fp16fml-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-fptoint-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-i8mm-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-mte-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-rcpc-immo-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-sve-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-writeback.s
    A llvm/test/tools/llvm-mca/AArch64/Inputs/flag-manipulation-instructions.s

  Log Message:
  -----------
  [AArch64] C1-Ultra Scheduling model (#182251)

This patch adds the C1-Ultra scheduling model. This model is largely
based on the Neoverse V3 scheduling model with appropriate changes made
based on information available in the software optimization guide for
this core.

https://developer.arm.com/documentation/111079/3-0


  Commit: ff04d0d6cd5dbb21122cefc13a68afd51b65067a
      https://github.com/llvm/llvm-project/commit/ff04d0d6cd5dbb21122cefc13a68afd51b65067a
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [TableGen] Fix the non-determinism in DFAPacketizerEmitter.cpp (#192037)

Sort the std::set ProcItinList by Record name, not the pointer address.

---------

Co-authored-by: Bao, Qiaojin (Fred) <Qiaojin.Bao at amd.com>


  Commit: 1737a913ed015796c9ba843de6c410c727070022
      https://github.com/llvm/llvm-project/commit/1737a913ed015796c9ba843de6c410c727070022
  Author: Jan André Reuter <j.reuter at fz-juelich.de>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M openmp/runtime/test/ompt/misc/control_tool.c

  Log Message:
  -----------
  [OpenMP][OMPT] Revert `control_tool.c` changes from #191429 (#192069)

On s390x, the changes to `control_tool.c` cause a different return
address to be returned from the call to `print_current_address(0)`. Due
to the strictness of the current address returned by this call, this
lead to a test failure.

Since the return values of `omp_control_tool` are checked in separate
tests already, revert the changes to ensure that the return address
stays at the expected value.

Signed-off-by: Jan André Reuter <j.reuter at fz-juelich.de>


  Commit: be831e2a674397bea730c56d4a2c9ffd150a74c9
      https://github.com/llvm/llvm-project/commit/be831e2a674397bea730c56d4a2c9ffd150a74c9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll

  Log Message:
  -----------
  [TargetLowering] Prevent expandVectorFindLastActive from creating illegal vector types during vector op legalization. (#190914)

This code needs to create a step vector but we only have a mask vector
type. If the step vector is too large it might not be an MVT. This
causes the getSimpleVT() call for getTypeAction to fail. We can replace
that with the EVT version of getTypeAction, but we'll still fail trying
to legalize the vselect. The getOperationAction query will return Expand
for non-simple VTs. ExpandVSELECT will try to unroll the vselect which
will fail for scalable vectors. We could hack that to not unroll
scalable vectors, but that would be a hack.

To fix this, split the FIND_LAST_ACTIVE into two if the step vector
needs to be split. Those will recursively legalize and eventually arrive
at a size we can create a valid step vector for.

One existing test changes because it created an illegal type which
happened to still be an MVT. This allowed getOperationAction to return
Legal, even though the type isn't legal.

Fixes the assertion mentioned in #187458.

Assisted-by: Claude Sonnet 4.5


  Commit: 8c77fed3eebf424682537c8f05b82485a0bf3e49
      https://github.com/llvm/llvm-project/commit/8c77fed3eebf424682537c8f05b82485a0bf3e49
  Author: Jonathan Schleifer <js at nil.im>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/TargetParser/Triple.cpp

  Log Message:
  -----------
  Run clang-format on TargetParser/Triple.{cpp,h} (#192064)

It already got inconsistent because new changes require complying with
clang-format on CI, while everything old is not complying with it.


  Commit: bbeae6932d653b8a71a3a985af0ccf97e13e2e08
      https://github.com/llvm/llvm-project/commit/bbeae6932d653b8a71a3a985af0ccf97e13e2e08
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/test/Lower/Intrinsics/verify.f90
    M flang/test/Lower/io-char-array.f90
    M flang/test/Lower/io-implied-do-fixes.f90
    M flang/test/Lower/io-item-list.f90
    M flang/test/Lower/io-statement-1.f90

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

Tests converted from test/Lower/Intrinsics: verify.f90
Tests converted from test/Lower: io-char-array.f90,
io-implied-do-fixes.f90, io-item-list.f90, io-statement-1.f90


  Commit: 61aebacee7487ab168d2cf6757697ae178762dd8
      https://github.com/llvm/llvm-project/commit/61aebacee7487ab168d2cf6757697ae178762dd8
  Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    A flang/test/Transforms/FIRToMemRef/slice-projected.mlir

  Log Message:
  -----------
  [flang][FIRToMemRef] Fix lowering of complex array component slices (z%re, z%im) (#191846)

fir.slice with a path component (z%re, z%im) was silently dropped by
FIRToMemRef. Since memref.reinterpret_cast cannot change element type,
layout must come from the projected box descriptor via
fir.box_dims/fir.box_elesize rather than the triplets. Only
complex-array projections are handled here —
sizeof(complex<T>)/sizeof(T) = 2 is always exact for divsi. Derived-type
component projections bail out to downstream FIR-to-LLVM lowering where
strides can be non-integer.


  Commit: 2b49a90b82ec5cf753f1ebafddb9790660c1aaa9
      https://github.com/llvm/llvm-project/commit/2b49a90b82ec5cf753f1ebafddb9790660c1aaa9
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/test/CIR/CodeGenCUDA/device-stub.cu

  Log Message:
  -----------
  [CIR][CUDA] Handle CUDA module constructor and destructor emission. (#188673)


  Commit: 034d4dcad6396d1241e8262e69871b8d61da7e4f
      https://github.com/llvm/llvm-project/commit/034d4dcad6396d1241e8262e69871b8d61da7e4f
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/SemaCXX/gh135694.cpp

  Log Message:
  -----------
  [Clang] Diagnose invalid non-dependent calls in dependent contexts. (#190965)

We were bailing out from checking calls expressions in a dependent
context, but if the expression itself was not dependent it's never
checked again.

Fixes #135694


  Commit: 530688456deef791dc294891e82d44ca4e6c307f
      https://github.com/llvm/llvm-project/commit/530688456deef791dc294891e82d44ca4e6c307f
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/CodeGen/cfguard-mechanism.c
    M clang/test/Driver/cl-options.c
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/Support/CodeGen.h
    M llvm/include/llvm/Transforms/CFGuard.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/ARM/ARMTargetMachine.cpp
    M llvm/lib/Target/X86/X86CallingConv.td
    M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86TargetMachine.cpp
    M llvm/lib/Transforms/CFGuard/CFGuard.cpp
    M llvm/test/CodeGen/AArch64/cfguard-module-flag.ll
    M llvm/test/CodeGen/ARM/cfguard-module-flag.ll
    M llvm/test/CodeGen/X86/cfguard-module-flag.ll
    A llvm/test/Linker/cfguard.ll

  Log Message:
  -----------
  [win] Add a flag to control the Control Flow Guard mechanism on Windows (#176276)

Windows Control Flow Guard (CFG) has two different "mechanisms" or
"patterns":
* Dispatch: the caller calls into the CFG function, which both checks
the target callee and then calls it.
* Check: the caller calls the CFG function which only checks the target
callee and then must separately call the callee.

LLVM has followed MSVC's pattern for selecting the mechanism based on
the target architecture. These defaults in MSVC are based on tests for
performance: Dispatch produces a smaller code size, whereas Check is
more friendly to branch predictors.

It is possible, however, for a given workload, call pattern or target
CPU that someone may want to select a different mechanism to use for
their code.

This change adds a new Clang and CC1 flag to force a CFG mechanism:
`-fwin-cfg-mechanism`. This can be set to `automatic` (lets LLVM choose
a mechanism), `force-dispatch` or `force-check`.

Also adds the support for the equivalent MSVC flag
`/d2guardcfgdispatch`.

NOTE: Arm64EC only supports the check mechanism. It should be noted that
MSVC emits the "dispatch" name for the call checker (for legacy reasons)
but uses the check mechanism.


  Commit: 4a37b03357a9c5a40be292818969523c666c3115
      https://github.com/llvm/llvm-project/commit/4a37b03357a9c5a40be292818969523c666c3115
  Author: Harry Ramsey <harryramseybusiness at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/cttz.ll
    M llvm/test/CodeGen/AArch64/cttz.ll

  Log Message:
  -----------
  [AArch64][ISel] Add lowering for fixed-width `cttz` intrinsic (#190988)

This patch enables NEON to generate more efficient `cttz` intrinsics by
utilising `rbit` and `ctlz` instructions when they are legal.

# Alive Proof
https://alive2.llvm.org/ce/z/qgrT_7
```
define <8 x i8> @src_v8i8(<8 x i8> %a) {
#0:
  %r = cttz <8 x i8> %a, 1
  ret <8 x i8> %r
}
=>
define <8 x i8> @tgt_v8i8(<8 x i8> %a) {
#0:
  %rbit = bitreverse <8 x i8> %a
  %clz = ctlz <8 x i8> %rbit, 0
  ret <8 x i8> %clz
}
Transformation seems to be correct!


----------------------------------------
define <16 x i8> @src_v16i8(<16 x i8> %a) {
#0:
  %r = cttz <16 x i8> %a, 1
  ret <16 x i8> %r
}
=>
define <16 x i8> @tgt_v16i8(<16 x i8> %a) {
#0:
  %rbit = bitreverse <16 x i8> %a
  %clz = ctlz <16 x i8> %rbit, 0
  ret <16 x i8> %clz
}
Transformation seems to be correct!
```


  Commit: 7b744a511e989df39f0a49f80528b0580348b863
      https://github.com/llvm/llvm-project/commit/7b744a511e989df39f0a49f80528b0580348b863
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp
    M mlir/test/Dialect/MLProgram/pipeline-globals.mlir

  Log Message:
  -----------
  [MLIR][MLProgram] Fix crash in mlprogram-pipeline-globals on unresolvable callees (#189244)

The `MLProgramPipelineGlobals` pass crashed with a null pointer dereference
when a `CallOpInterface` operation referred to a callee symbol that could not
be resolved in the IR (e.g. an external function defined outside the module).

Instead  conservatively bail out when a callee symbol cannot be resolved, 
causing the pass to (preserving all loads/stores). This is consistent with
how Value-based callees are handled.

Fixes #109649

Assisted-by: Claude Code


  Commit: c47c3344dc01a86e34168623120820a29785a3d1
      https://github.com/llvm/llvm-project/commit/c47c3344dc01a86e34168623120820a29785a3d1
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.h

  Log Message:
  -----------
  [mlir][AMD] Add missing includes to AMDGPUEnums.h (NFC) (#191077)

This header assumed these had been imported


  Commit: 3ba18a675bf8bbfc4d52427e895a518a5685f19b
      https://github.com/llvm/llvm-project/commit/3ba18a675bf8bbfc4d52427e895a518a5685f19b
  Author: Justin Fargnoli <jfargnoli at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/test/Transforms/LoopUnroll/debug.ll

  Log Message:
  -----------
  [LoopUnroll] Fix misleading runtime unroll debug message (#190709)

Avoid the confusing `Runtime unrolling with count: 0` `LLVM_DEBUG`
statement.


  Commit: 142d3c2a445365498e8e7d8a2926595ac0508615
      https://github.com/llvm/llvm-project/commit/142d3c2a445365498e8e7d8a2926595ac0508615
  Author: Chi-Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [NFC][OMPIRBuilder][OpenMP] Pass AffinityData by reference instead of… (#191863)

… value


  Commit: 8a69fb096cb3f3f99ee9bf25247f4b0bc442ca84
      https://github.com/llvm/llvm-project/commit/8a69fb096cb3f3f99ee9bf25247f4b0bc442ca84
  Author: hanbeom <kese111 at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/add.ll

  Log Message:
  -----------
  [InstCombine] Fold (X + C) + (Y & ~C) to X + (Y | C) (#191334)

Add an InstCombine fold for masked overwrite patterns where the add
constant matches the cleared bits in the mask:

  (X + C) + (Y & ~C) -> X + (Y | C)

Since `Y & ~C` clears all bits set in C, adding C cannot generate carry
through those bits and is equivalent to setting them with `or`.

Proof: https://alive2.llvm.org/ce/z/277UFK
Fixed: https://github.com/llvm/llvm-project/issues/191171


  Commit: 40a585e742ed6b28306d7511380079325ba1a003
      https://github.com/llvm/llvm-project/commit/40a585e742ed6b28306d7511380079325ba1a003
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/CIR/Driver/clangir.c

  Log Message:
  -----------
  [CIR] Disable CIR pipeline for LLVM IR inputs (#187729)

When -fclangir is passed and the input is LLVM IR (e.g. during the
backend phase of OpenMP offloading), the CIR frontend pipeline is not
applicable.


Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>


  Commit: 934f795064ab201553945c59b13ce2ae543d4fcd
      https://github.com/llvm/llvm-project/commit/934f795064ab201553945c59b13ce2ae543d4fcd
  Author: Lucas Chollet <lucas.chollet at serenityos.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChain.cpp
    A clang/lib/Driver/ToolChains/Serenity.cpp
    A clang/lib/Driver/ToolChains/Serenity.h
    M clang/lib/Lex/InitHeaderSearch.cpp
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/aarch64-unknown-serenity/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/aarch64-unknown-serenity/clang_rt.crtend.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/riscv64-unknown-serenity/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/riscv64-unknown-serenity/clang_rt.crtend.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/x86_64-unknown-serenity/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/x86_64-unknown-serenity/clang_rt.crtend.o
    A clang/test/Driver/Inputs/serenity_tree/usr/include/c++/v1/.keep
    A clang/test/Driver/Inputs/serenity_tree/usr/lib/crt0.o
    A clang/test/Driver/serenity.cpp
    A clang/test/Preprocessor/init-serenityos.c

  Log Message:
  -----------
  [clang] Add support for SerenityOS (#187941)

Adds support for the $arch-unknown-serenity target to the Clang front
end. This makes the compiler look for libraries and headers in the right
places, and enables some security mitigations like stack-smashing
protection and position-independent code by default.

----

A first attempt at upstreaming this patch was made
[here](https://reviews.llvm.org/D154396). I hope I fixed everything
mentioned there.

I intentionally kept `/usr/local/` in the default lookup path. I
consider it the more practical option, and I’d prefer to have the patch
merged as is and revisit the FIXME later. If this is absolutely
unacceptable to the maintainers, I will happily drop it and keep it as a
local patch until we address the underlying issue.

@MaskRay, @brad0 as you already reviewed the original patch.

---------

Co-authored-by: Daniel Bertalan <dani at danielbertalan.dev>
Co-authored-by: kleines Filmröllchen <filmroellchen at serenityos.org>
Co-authored-by: Andrew Kaster <akaster at serenityos.org>
Co-authored-by: Dan Klishch <danilklishch at gmail.com>


  Commit: b29bfa5e9b2b1cd395566759f5f0f27cb706fe94
      https://github.com/llvm/llvm-project/commit/b29bfa5e9b2b1cd395566759f5f0f27cb706fe94
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M libc/include/llvm-libc-types/__futex_word.h

  Log Message:
  -----------
  [libc][NFC] Fix GCC build in __futex_word.h (#192078)

Included __llvm-libc-common.h in __futex_word.h to fix a build failure
with GCC.

GCC in C++ mode does not recognize _Alignas without the mapping to
alignas provided in __llvm-libc-common.h.

The failure was introduced in commit 91c0fdfe1392.


  Commit: ae1e3eb379cde6b5d2e31104b4dbbbcf42298f3e
      https://github.com/llvm/llvm-project/commit/ae1e3eb379cde6b5d2e31104b4dbbbcf42298f3e
  Author: Andrei Elovikov <andrei.elovikov at sifive.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    A llvm/test/Transforms/LoopVectorize/AArch64/ordered-reduction-with-invariant-stores.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predication_costs.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll

  Log Message:
  -----------
  [NFCI][VPlan] Split initial mem-widening into a separate transformation (#182592)

Preparation change before implementing stride-multiversioning as a
VPlan-based transformation. Might help
https://github.com/llvm/llvm-project/pull/147297/ as well.


  Commit: 1a233a8acf836744b1d547c74c27422a57100853
      https://github.com/llvm/llvm-project/commit/1a233a8acf836744b1d547c74c27422a57100853
  Author: German Gambon <ggambon at tesla.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/test/Dialect/Quant/Bytecode/types.mlir
    M mlir/test/Dialect/Quant/parse-uniform.mlir

  Log Message:
  -----------
  [mlir][quant] Print actual quant storage type when signed (#187300)

Without the fix, bytecode serialization roundtrip breaks for types that
don't have custom bytecode serializers and contain quant types, since
the fallback mechanism prints the type and the quant printer coerces
signed to signless types. E.g. `!custom<!quant.uniform<ui8:f32, 0.1>>`
will print as `u8` when serializing and later be created as a signless
`i8` when deserializing.


  Commit: d24d4b64e81ca3a2161772886a05a16ed8927080
      https://github.com/llvm/llvm-project/commit/d24d4b64e81ca3a2161772886a05a16ed8927080
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp

  Log Message:
  -----------
  [sanitizer] Add missing bitcast to sanitizer_bitvector_test.cpp (#192090)

Fixes buildbot report
(https://lab.llvm.org/buildbot/#/builders/66/builds/29379):


/home/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp:64:29:
error: format specifies type 'unsigned long' but the argument has type
'uptr' (aka 'unsigned int') [-Werror,-Wformat]
   64 |     fprintf(stderr, "%lu ", idx);
      |                      ~~~    ^~~
      |                      %u


  Commit: 472aa4e326be7f1ea7b182f2e55193474f22e6de
      https://github.com/llvm/llvm-project/commit/472aa4e326be7f1ea7b182f2e55193474f22e6de
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/unittests/CIR/CMakeLists.txt
    A clang/unittests/CIR/UnionTypeSizeTest.cpp

  Log Message:
  -----------
  [CIR] Fix union RecordType::getTypeSizeInBits to return bits (#191516)

RecordType::getTypeSizeInBits for unions was calling
dataLayout.getTypeSize (which returns bytes) instead of
dataLayout.getTypeSizeInBits.  This returned a value 8x too
small.  Also handle the empty-union case where
getLargestMember returns nullptr.


  Commit: 2b77a527dcc60384c8d88ae6e583d16bfa2b472b
      https://github.com/llvm/llvm-project/commit/2b77a527dcc60384c8d88ae6e583d16bfa2b472b
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-memchr.c

  Log Message:
  -----------
  [CIR] Add noundef to memchr declaration and call sites (#191457)

The memchr LLVM declaration created by MemChrOp lowering had no
arg_attrs, so the lowered IR was missing `noundef` on all three
parameters.  OGCG emits `noundef` on them.

Adds `noundef` to both the `@memchr` declaration and each
`call @memchr` instruction.

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


  Commit: 516c4d97a50d413a6a0381bbcfa7892b08da07c2
      https://github.com/llvm/llvm-project/commit/516c4d97a50d413a6a0381bbcfa7892b08da07c2
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Target/RegisterContextUnwind.h
    M lldb/source/Target/RegisterContextUnwind.cpp

  Log Message:
  -----------
  [lldb] Replace remaining uses of `UnwindLogMsg()` with UNWIND_LOG macro (#192038)

This mostly replaces `"0x%" PRIx64` with `"{:x}"`, but also replaces
'%d' (used for register / scheme numbers and CFA offsets) and '%s' with
simple `{}`, removing the now redundant casts and calls to
`GetCString()` / `AsCString()`.

`UnwindLogMsg()` is no longer used and has been removed.


  Commit: 9145467cba6b6ce352b62f8499bb5afb725ce325
      https://github.com/llvm/llvm-project/commit/9145467cba6b6ce352b62f8499bb5afb725ce325
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/CodeGen/RISCV/rvv/mixed-float-bf16-arith.ll

  Log Message:
  -----------
  [RISCV] Prevent emitting vsetvli with e32alt or e64alt. (#191960)

The e32alt and e64alt encodings for vtype are reserved.

Non-fp instructions ignore altfmt and we want to use that to avoid
vtype toggle when using load, store, slide, gather, etc. to manipulate
bf16 vectors. This is why we have a Demanded bit for AltFmt.

We need to make sure we don't keep the AltFmt set when we're changing
SEW to 32 or 64.

A new isValidVType function has been added to help catch illegal
vtype earlier.


  Commit: 1e8bcec49ef757bc0ac5eb4b224a4439acdb69df
      https://github.com/llvm/llvm-project/commit/1e8bcec49ef757bc0ac5eb4b224a4439acdb69df
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    A clang/test/CIR/CodeGen/builtin-verbose-trap.cpp

  Log Message:
  -----------
  [CIR] Implement __builtin_verbose_trap (#191935)

Route BI__builtin_verbose_trap to the existing emitTrap() path so that
it no longer hits the NYI fallback. Debug info message attachment from
the string arguments is not yet implemented (tracked by
MissingFeatures::generateDebugInfo).

This is the single largest NYI category in libcxx testing, unblocking
~1,008 test failures.


  Commit: 05c982a2fd9a07e3b2f314284742a084ba9ac6e7
      https://github.com/llvm/llvm-project/commit/05c982a2fd9a07e3b2f314284742a084ba9ac6e7
  Author: Shonie Caplan <94767648+shoniecaplan at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/IR/Instruction.cpp
    M llvm/test/Transforms/InstCombine/freeze.ll

  Log Message:
  -----------
  [IR] treat nofpclass as a poison-generating return attribute (#192016)

- For: #191338

Failing nofpclass attribute will generate poison.
This change adds nofpclass attributes to
`hasPoisonGeneratingReturnAttributes`/`dropPoisonGeneratingReturnAttributes`.


  Commit: 560004b2b1f83f05b7380e515199ca8f1fc6d5f3
      https://github.com/llvm/llvm-project/commit/560004b2b1f83f05b7380e515199ca8f1fc6d5f3
  Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    R flang/test/Lower/OpenMP/Todo/omp-declarative-allocate-align.f90
    R flang/test/Lower/OpenMP/Todo/omp-declarative-allocate.f90
    A flang/test/Lower/OpenMP/omp-declarative-allocate-align.f90
    A flang/test/Lower/OpenMP/omp-declarative-allocate.f90
    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/include/mlir/Target/LLVMIR/LLVMTranslationDialectInterface.td
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Target/LLVMIR/openmp-allocate-directive.mlir

  Log Message:
  -----------
  [Flang] [OpenMP] [MLIR] Add lowering support for OMP ALLOCATE directives and its clauses (#187167)

This patch implementation is primarily focused on

- Lowering to LLVM IR, by generating appropriate kmpc_alloc() and kmpc_alligned_alloc() calls for variable(s) and before the end of scope generating kmpc_free() for the same variable(s).
- Also handled, usage of array variables in the OMP ALLOCATE directive.
- Define omp.allocate_free operation in MLIR and slight changes to existing MLIR definition of ALLOCATOR clause.
- Add test cases for variations of usage of OMP ALLOCATE directive and its clauses ALIGN and ALLOCATOR.


  Commit: 19344adea1f8e4a8e5db91fe8baa8a2244bd4238
      https://github.com/llvm/llvm-project/commit/19344adea1f8e4a8e5db91fe8baa8a2244bd4238
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Rewrite/BuildIDRewriter.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/GNUPropertyRewriter.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Rewrite/SDTRewriter.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/runtime/common.h
    M bolt/runtime/instr.cpp
    A bolt/test/AArch64/tail-duplication-cache.s
    A bolt/test/AArch64/tail-duplication-pass.s
    M bolt/test/X86/tail-duplication-pass.s
    M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MisleadingBidirectionalCheck.cpp
    M clang-tools-extra/clangd/TidyFastChecks.inc
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Release.cmake
    A clang/docs/CIR/ABILowering.md
    A clang/docs/CIR/CleanupAndEHDesign.md
    A clang/docs/CIR/CodeDuplication.rst
    A clang/docs/CIR/_raw/PostProcessCIRDocs.py
    A clang/docs/CIR/index.rst
    M clang/docs/CMakeLists.txt
    R clang/docs/ClangIRABILowering.md
    R clang/docs/ClangIRCleanupAndEHDesign.md
    R clang/docs/ClangIRCodeDuplication.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/conf.py
    M clang/docs/index.rst
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/ASTConcept.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/TemplateName.h
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    A clang/include/clang/Basic/OptionalUnsigned.h
    M clang/include/clang/Basic/Specifiers.h
    R clang/include/clang/Basic/UnsignedOrNone.h
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    M clang/include/clang/CIR/Dialect/CMakeLists.txt
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/APINotes/APINotesTypes.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/Program.h
    M clang/lib/AST/Type.cpp
    M clang/lib/Analysis/LifetimeSafety/Dataflow.h
    M clang/lib/Analysis/LifetimeSafety/Facts.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
    M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.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/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/Dialect/IR/CIRTypes.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/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    A clang/lib/Driver/ToolChains/Serenity.cpp
    A clang/lib/Driver/ToolChains/Serenity.h
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Lex/InitHeaderSearch.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/test/APINotes/templates.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/AST/HLSL/ast-dump-SpirvType.hlsl
    M clang/test/AST/HLSL/matrix-alias.hlsl
    M clang/test/AST/HLSL/vector-alias.hlsl
    M clang/test/AST/ast-dump-decl-context-json.cpp
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/AST/ast-dump-invalid.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_namespace_1.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_reference.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_template_3.cpp
    M clang/test/AST/ast-dump-template-decls-json.cpp
    M clang/test/AST/ast-dump-template-decls.cpp
    M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/AST/float16.cpp
    M clang/test/AST/new-unknown-type.cpp
    A clang/test/CIR/CodeGen/attr-retain.c
    A clang/test/CIR/CodeGen/attr-used.c
    M clang/test/CIR/CodeGen/binop.c
    A clang/test/CIR/CodeGen/builtin-verbose-trap.cpp
    M clang/test/CIR/CodeGen/c89-implicit-int.c
    A clang/test/CIR/CodeGen/cast.c
    M clang/test/CIR/CodeGen/empty.cpp
    M clang/test/CIR/CodeGen/expressions.cpp
    M clang/test/CIR/CodeGen/forward-enum.c
    A clang/test/CIR/CodeGen/inherited-ctors.cpp
    A clang/test/CIR/CodeGen/keep-persistent-storage-variables.cpp
    A clang/test/CIR/CodeGen/keep-static-consts.cpp
    A clang/test/CIR/CodeGen/lambda-dtor-field.cpp
    M clang/test/CIR/CodeGen/static-vars.c
    M clang/test/CIR/CodeGenBuiltins/builtin-memchr.c
    A clang/test/CIR/CodeGenCUDA/device-stub.cu
    M clang/test/CIR/CodeGenCUDA/kernel-call.cu
    M clang/test/CIR/CodeGenCUDA/kernel-stub-name.cu
    A clang/test/CIR/CodeGenHIP/hip-cuid.hip
    M clang/test/CIR/CodeGenHIP/simple.cpp
    A clang/test/CIR/Driver/clangir.c
    A clang/test/CIR/IR/invalid-bitint.cir
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vzip.c
    A clang/test/CodeGen/cfguard-mechanism.c
    M clang/test/CodeGen/regcall.c
    M clang/test/CodeGen/regcall4.c
    M clang/test/CodeGenCXX/regcall.cpp
    M clang/test/CodeGenCXX/regcall4.cpp
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/aarch64-unknown-serenity/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/aarch64-unknown-serenity/clang_rt.crtend.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/riscv64-unknown-serenity/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/riscv64-unknown-serenity/clang_rt.crtend.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/x86_64-unknown-serenity/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/x86_64-unknown-serenity/clang_rt.crtend.o
    A clang/test/Driver/Inputs/serenity_tree/usr/include/c++/v1/.keep
    A clang/test/Driver/Inputs/serenity_tree/usr/lib/crt0.o
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/coverage-ld.c
    A clang/test/Driver/dxc_spirv-val_missing.hlsl
    A clang/test/Driver/dxc_spirv-val_path.hlsl
    M clang/test/Driver/fsanitize-cfi.c
    M clang/test/Driver/instrprof-ld.c
    A clang/test/Driver/linux-multilib.yaml
    A clang/test/Driver/mingw-multilib.yaml
    M clang/test/Driver/sanitizer-ld.c
    A clang/test/Driver/serenity.cpp
    M clang/test/Import/builtin-template/test.cpp
    M clang/test/Import/enum/test.cpp
    M clang/test/Import/namespace/test.cpp
    M clang/test/Import/template-specialization/test.cpp
    M clang/test/Modules/cxx-templates.cpp
    M clang/test/OpenMP/cancel_codegen.cpp
    M clang/test/OpenMP/irbuilder_for_iterator.cpp
    M clang/test/OpenMP/irbuilder_for_rangefor.cpp
    M clang/test/OpenMP/irbuilder_for_unsigned.c
    M clang/test/OpenMP/irbuilder_for_unsigned_auto.c
    M clang/test/OpenMP/irbuilder_for_unsigned_down.c
    M clang/test/OpenMP/irbuilder_for_unsigned_dynamic.c
    M clang/test/OpenMP/irbuilder_for_unsigned_dynamic_chunked.c
    M clang/test/OpenMP/irbuilder_for_unsigned_runtime.c
    M clang/test/OpenMP/irbuilder_for_unsigned_static_chunked.c
    M clang/test/OpenMP/irbuilder_nested_parallel_for.c
    M clang/test/OpenMP/irbuilder_unroll_partial_factor_for.c
    M clang/test/OpenMP/irbuilder_unroll_partial_heuristic_constant_for.c
    M clang/test/OpenMP/irbuilder_unroll_partial_heuristic_runtime_for.c
    M clang/test/OpenMP/irbuilder_unroll_unroll_partial_factor.c
    M clang/test/OpenMP/nested_loop_codegen.cpp
    M clang/test/OpenMP/split_driver_smoke.c
    M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
    A clang/test/Preprocessor/init-serenityos.c
    M clang/test/Sema/Inputs/lifetime-analysis.h
    M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
    M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
    M clang/test/Sema/warn-lifetime-safety-noescape.cpp
    M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp
    A clang/test/SemaCXX/gh135694.cpp
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
    M clang/test/SemaTemplate/make_integer_seq.cpp
    M clang/test/lit.cfg.py
    M clang/unittests/CIR/CMakeLists.txt
    A clang/unittests/CIR/UnionTypeSizeTest.cpp
    M clang/www/c_status.html
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp
    M compiler-rt/lib/scudo/standalone/wrappers_c.cpp
    M compiler-rt/lib/tysan/tysan.cpp
    M compiler-rt/lib/tysan/tysan_interceptors.cpp
    M compiler-rt/lib/xray/tests/unit/fdr_controller_test.cpp
    M compiler-rt/lib/xray/tests/unit/fdr_log_writer_test.cpp
    M compiler-rt/test/sanitizer_common/CMakeLists.txt
    M compiler-rt/test/sanitizer_common/TestCases/Linux/aligned_alloc-alignment.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/allocator_returns_null_std.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/decorate_proc_maps.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/deepbind.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/free_aligned_sized.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/free_sized.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/malloc_usable_size.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/mlock_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/mprobe.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/pvalloc-overflow.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/release_to_os_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/replace_dlopen_main_program_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/resize_tls_dynamic.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_get_addr.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_malloc_hook.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/unexpected_format_specifier_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/huge_malloc.c
    M compiler-rt/test/sanitizer_common/TestCases/Posix/mmap_write_exec.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/posix_memalign-alignment.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/print-module-map.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/weak_hook_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/allocator_interface.cpp
    M compiler-rt/test/sanitizer_common/TestCases/allocator_returns_null.cpp
    M compiler-rt/test/sanitizer_common/TestCases/compress_stack_depot.cpp
    M compiler-rt/test/sanitizer_common/TestCases/corelimit.cpp
    M compiler-rt/test/sanitizer_common/TestCases/get_allocated_begin.cpp
    M compiler-rt/test/sanitizer_common/TestCases/hard_rss_limit_mb_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/malloc_hook.cpp
    M compiler-rt/test/sanitizer_common/TestCases/malloc_hook_get_allocated_size_fast.cpp
    M compiler-rt/test/sanitizer_common/TestCases/max_allocation_size.cpp
    M compiler-rt/test/sanitizer_common/TestCases/reallocarray-overflow.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_symbolize.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-dso.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
    M compiler-rt/test/sanitizer_common/lit.common.cfg.py
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    A flang/test/Integration/OpenMP/workshare-ident-flag.f90
    M flang/test/Lower/Intrinsics/verify.f90
    R flang/test/Lower/OpenMP/Todo/omp-declarative-allocate-align.f90
    R flang/test/Lower/OpenMP/Todo/omp-declarative-allocate.f90
    A flang/test/Lower/OpenMP/declare-target-named-main-interface.f90
    A flang/test/Lower/OpenMP/omp-declarative-allocate-align.f90
    A flang/test/Lower/OpenMP/omp-declarative-allocate.f90
    M flang/test/Lower/OpenMP/real10.f90
    M flang/test/Lower/io-char-array.f90
    M flang/test/Lower/io-implied-do-fixes.f90
    M flang/test/Lower/io-item-list.f90
    M flang/test/Lower/io-statement-1.f90
    A flang/test/Transforms/FIRToMemRef/slice-projected.mlir
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    M libc/include/llvm-libc-types/__futex_word.h
    A libc/include/llvm-libc-types/mcontext_t.h
    A libc/include/llvm-libc-types/ucontext_t.h
    A libc/include/llvm-libc-types/x86_64/mcontext_t.h
    A libc/include/llvm-libc-types/x86_64/ucontext_t.h
    A libc/include/ucontext.h.def
    A libc/include/ucontext.yaml
    M libclc/cmake/modules/CMakeCLCInformation.cmake
    M libclc/cmake/modules/CMakeDetermineCLCCompiler.cmake
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/include/mdspan
    M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
    M lldb/examples/python/crashlog.py
    M lldb/examples/python/crashlog_scripted_process.py
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Target/RegisterContextUnwind.h
    M lldb/include/lldb/Target/StackFrameList.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
    M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
    M lldb/test/API/functionalities/scripted_frame_provider/pass_through_prefix/TestFrameProviderPassThroughPrefix.py
    M lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py
    M lldb/test/API/symstore/TestSymStore.py
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.inline.crash
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.inline.ips
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/inline_test.c
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/inline_crashlog.test
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/inline_crashlog_json.test
    M lldb/tools/debugserver/source/DNB.cpp
    M lldb/tools/debugserver/source/DNB.h
    M lldb/tools/debugserver/source/DNBDefs.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M lldb/tools/debugserver/source/RNBRemote.cpp
    M llvm/CMakeLists.txt
    M llvm/cmake/config-ix.cmake
    R llvm/cmake/modules/FindLibXml2.cmake
    M llvm/docs/Coroutines.rst
    M llvm/docs/LFI.rst
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/include/llvm/ObjectYAML/DWARFYAML.h
    M llvm/include/llvm/Support/CodeGen.h
    M llvm/include/llvm/Support/UniqueBBID.h
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/include/llvm/Transforms/CFGuard.h
    M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
    M llvm/lib/CodeGen/InsertCodePrefetch.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFUnwindTablePrinter.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVLocation.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVObject.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVRange.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/ObjectYAML/DWARFEmitter.cpp
    M llvm/lib/ObjectYAML/DWARFYAML.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    A llvm/lib/Target/AArch64/AArch64SchedC1Ultra.td
    M llvm/lib/Target/AArch64/AArch64SchedPredNeoverse.td
    M llvm/lib/Target/AArch64/AArch64SchedPredicates.td
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    A llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.cpp
    A llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/CMakeLists.txt
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
    M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
    M llvm/lib/Target/ARM/ARMTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvzip.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/X86/X86CallingConv.td
    M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
    M llvm/lib/Target/X86/X86CompressEVEX.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86TargetMachine.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/lib/Transforms/CFGuard/CFGuard.cpp
    M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    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/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/WindowsManifest/CMakeLists.txt
    M llvm/lib/XRay/InstrumentationMap.cpp
    M llvm/lib/XRay/Profile.cpp
    M llvm/lib/XRay/Trace.cpp
    M llvm/test/Analysis/CostModel/AArch64/cttz.ll
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst_vls.ll
    M llvm/test/CodeGen/AArch64/active_lane_mask.ll
    M llvm/test/CodeGen/AArch64/cfguard-module-flag.ll
    M llvm/test/CodeGen/AArch64/combine-storetomstore.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
    M llvm/test/CodeGen/AArch64/cttz.ll
    M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
    M llvm/test/CodeGen/AArch64/extract-vector-elt-sve.ll
    M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
    M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
    M llvm/test/CodeGen/AArch64/rcpc3-sve.ll
    M llvm/test/CodeGen/AArch64/sme-pstate-sm-changing-call-disable-coalescing.ll
    M llvm/test/CodeGen/AArch64/sve-bf16-compares.ll
    M llvm/test/CodeGen/AArch64/sve-cmp-select.ll
    A llvm/test/CodeGen/AArch64/sve-distinct-predicate-dst.ll
    M llvm/test/CodeGen/AArch64/sve-fcvt.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-loads.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-stores.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-stores.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-insert-element.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
    M llvm/test/CodeGen/AArch64/sve-load-compare-store.ll
    M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
    M llvm/test/CodeGen/AArch64/sve-masked-compressstore.ll
    M llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop2.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop3.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-brk.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpeq.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpge.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpgt.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmphi.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmphs.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmple.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmplo.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpls.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmplt.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpne.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-log.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-match.ll
    M llvm/test/CodeGen/AArch64/sve-punpklo-combine.ll
    A llvm/test/CodeGen/AArch64/sve-regalloc-hint-unique-predicate-dst.mir
    M llvm/test/CodeGen/AArch64/sve-scmp.ll
    M llvm/test/CodeGen/AArch64/sve-select.ll
    M llvm/test/CodeGen/AArch64/sve-setcc.ll
    M llvm/test/CodeGen/AArch64/sve-smulo-sdnode.ll
    M llvm/test/CodeGen/AArch64/sve-split-insert-elt.ll
    M llvm/test/CodeGen/AArch64/sve-split-int-pred-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-gather-scatter.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
    M llvm/test/CodeGen/AArch64/sve-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-ucmp.ll
    M llvm/test/CodeGen/AArch64/sve-umulo-sdnode.ll
    M llvm/test/CodeGen/AArch64/sve-vector-compress.ll
    A llvm/test/CodeGen/AMDGPU/lower-intrinsics-noalias-metadata.ll
    M llvm/test/CodeGen/AMDGPU/minmax3-tree-reduction.ll
    M llvm/test/CodeGen/ARM/cfguard-module-flag.ll
    M llvm/test/CodeGen/ARM/rotate-add.ll
    A llvm/test/CodeGen/ARM/shift-mod.ll
    M llvm/test/CodeGen/NVPTX/globals_init.ll
    M llvm/test/CodeGen/PowerPC/bit_floor.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/mixed-float-bf16-arith.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
    A llvm/test/CodeGen/RISCV/rvv/vpaire.ll
    A llvm/test/CodeGen/RISCV/rvv/vpairo.ll
    A llvm/test/CodeGen/RISCV/rvv/vunzipe.ll
    A llvm/test/CodeGen/RISCV/rvv/vunzipo.ll
    A llvm/test/CodeGen/RISCV/rvv/vzip.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer.ll
    M llvm/test/CodeGen/X86/cfguard-module-flag.ll
    M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
    A llvm/test/CodeGen/X86/gfni-or-fold.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
    A llvm/test/Linker/cfguard.ll
    A llvm/test/MC/AArch64/LFI/reserved.s
    A llvm/test/MC/AArch64/LFI/sys.s
    A llvm/test/MC/AArch64/LFI/tp.s
    M llvm/test/MC/RISCV/rv32p-aliases-valid.s
    M llvm/test/MC/RISCV/rv64p-aliases-valid.s
    M llvm/test/Transforms/Coroutines/coro-debug.ll
    R llvm/test/Transforms/Coroutines/gh105595.ll
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/freeze.ll
    M llvm/test/Transforms/LoopUnroll/debug.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/aarch64-predication.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/ordered-reduction-with-invariant-stores.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-add-sdot-i16-i32.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-add-sdot-i8-i16.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predication_costs.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/conditional-scalar-assignment-fold-tail.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/conditional-scalar-assignment.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
    M llvm/test/Transforms/LoopVectorize/conditional-assignment.ll
    A llvm/test/Transforms/LoopVectorize/early-exit-calls.ll
    A llvm/test/Transforms/LoopVectorize/early-exit-unary-ops.ll
    M llvm/test/Transforms/LowerTypeTests/function-weak.ll
    M llvm/test/Transforms/LowerTypeTests/function.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll
    A llvm/test/Transforms/SLPVectorizer/X86/reduction-shl1-add-merge.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/loopvectorize-costmodel.test
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir.filter-out.expected
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir.filter.expected
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/x86-filter.test
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-basic-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-bf16-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-complxnum-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-flag-manipulation-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-forwarding.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-fp16fml-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-fptoint-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-i8mm-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-mte-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-rcpc-immo-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-sve-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-writeback.s
    A llvm/test/tools/llvm-mca/AArch64/Inputs/flag-manipulation-instructions.s
    M llvm/test/tools/yaml2obj/ELF/DWARF/debug-line-v5.yaml
    M llvm/tools/llvm-xray/xray-fdr-dump.cpp
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
    M llvm/unittests/XRay/FDRProducerConsumerTest.cpp
    M llvm/unittests/XRay/FDRTraceWriterTest.cpp
    M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
    M llvm/utils/UpdateTestChecks/mir.py
    M llvm/utils/lit/lit/llvm/config.py
    M llvm/utils/update_mir_test_checks.py
    M mlir/docs/Bindings/Python.md
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVIntelExtOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/Target/LLVMIR/LLVMTranslationDialectInterface.td
    M mlir/lib/Conversion/MathToEmitC/MathToEmitC.cpp
    M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.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/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/python/mlir/dialects/ext.py
    M mlir/test/Conversion/MathToEmitC/math-to-emitc.mlir
    A mlir/test/Dialect/EmitC/math/ops.mlir
    M mlir/test/Dialect/MLProgram/pipeline-globals.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Dialect/Quant/Bytecode/types.mlir
    M mlir/test/Dialect/Quant/parse-uniform.mlir
    M mlir/test/Dialect/SPIRV/IR/intel-ext-ops.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-wsloop.mlir
    A mlir/test/Target/LLVMIR/openmp-allocate-directive.mlir
    M mlir/test/Target/LLVMIR/openmp-cancel-distribute-parallel-loop.mlir
    M mlir/test/Target/LLVMIR/openmp-cancel.mlir
    M mlir/test/Target/LLVMIR/openmp-cancellation-point.mlir
    M mlir/test/Target/LLVMIR/openmp-composite-simd-if.mlir
    M mlir/test/Target/LLVMIR/openmp-dist_schedule_with_wsloop.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-simd-guided.mlir
    M mlir/test/Target/SPIRV/intel-ext-ops.mlir
    M mlir/test/python/dialects/ext.py
    M mlir/test/python/dialects/transform_op_interface.py
    M mlir/test/python/integration/dialects/bf.py
    M offload/test/offloading/interop-print.c
    M openmp/device/include/Synchronization.h
    M openmp/runtime/test/ompt/misc/control_tool.c
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    A utils/bazel/llvm-project-overlay/mlir/test/Bytecode/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/ziqingluo/PR-172429193-pre-2


Compare: https://github.com/llvm/llvm-project/compare/39fbbba0f875...19344adea1f8

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