[all-commits] [llvm/llvm-project] 24799f: Reapply "[lldb] Increase timeout on lldbutil.wait_...

ZhaoQi via All-commits all-commits at lists.llvm.org
Thu Apr 16 00:39:48 PDT 2026


  Branch: refs/heads/users/zhaoqi5/test-vextrins
  Home:   https://github.com/llvm/llvm-project
  Commit: 24799f17429838bd17c16c43e7ed0e85cff78fd7
      https://github.com/llvm/llvm-project/commit/24799f17429838bd17c16c43e7ed0e85cff78fd7
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  Reapply "[lldb] Increase timeout on lldbutil.wait_for_file_on_target" (#190833)

Reapplication notes:
After reviewing the test failures that caused the original reverts, I'm
not convinced that this change is related. None of the test failures
failed while timing out waiting for a file.

Original Summary:
I've been tracking sporadic timeouts waiting for a file to appear on
macOS buildbots (and occasionally local development environments). I
believe I've tracked it down to a regression in process launch
performance in macOS.

What I noticed is that running multiple test suites simultaneously
almost always triggered these failures and that the tests were always
waiting on files created by the inferior. Increasing this timeout no
longer triggers the failures on my loaded machine locally.

This timeout moves from about 16 seconds of total wait time to about 127
seconds of total wait time. This may feel a bit extreme, but this is a
performance issue. While I was here, I cleaned up logging code I was
using to investigate the test failures.

rdar://172122213


  Commit: efc0bcdf542475301805ed8478a5d5845f44dc53
      https://github.com/llvm/llvm-project/commit/efc0bcdf542475301805ed8478a5d5845f44dc53
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Interpreter/CommandReturnObject.h
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Commands/CommandObjectPlatform.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/CommandReturnObject.cpp

  Log Message:
  -----------
  [lldb] Use GetOutputStream instead of repeated AppendMessageWithFormat (#189674)

AppendMessageWithFormat is odd because it's the only AppendMessage...
method that does not add a newline for you.

This PR changes places that use it to output raw text, or build
up a large message. They now use GetOutputStream() instead,
which makes it a bit clearer that we're building one big message,
and where newlines end up. 

This removes the last callers of AppendMessageWithFormat, so I am
removing it too.


  Commit: 470ba560b7726c385b2899460151565aca4d89d7
      https://github.com/llvm/llvm-project/commit/470ba560b7726c385b2899460151565aca4d89d7
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared.array.unbounded.pass.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.array.unbounded.pass.cpp

  Log Message:
  -----------
  [libc++] Properly calculate rounded-up size for `{allocate,make}_shared` (#190315)

Previously, the allocated size might be a bit too small for certain
cases. This patch makes the size calculated with potentially larger
alignment of the whole control block.


  Commit: f89b9a0792d011d41dcae0465e9e14facd073e9d
      https://github.com/llvm/llvm-project/commit/f89b9a0792d011d41dcae0465e9e14facd073e9d
  Author: Hood Chatham <roberthoodchatham at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
    M llvm/test/CodeGen/WebAssembly/exception-legacy.ll
    M llvm/test/CodeGen/WebAssembly/exception.ll

  Log Message:
  -----------
  [WebAssembly] Fix: fixCallUnwindMismatches after fixCatchUnwindMismatches (#187484)

`fixCallUnwindMismatches()` adds an extra try block around call sites
with incorrect unwind targets. `fixCatchUnwindMismatches()` handles
catch blocks that have incorrect next unwind destinations. Previously we
ran `fixCallUnwindMismatches()` first and then ran
`fixCatchUnwindMismatches()`. The problem is that
`fixCatchUnwindMismatches()` wraps entire try blocks which can change
the unwind destination of the calls inside. If the calls had an
incorrect unwind target to begin with, they will be wrapped already and
so the outer wrapping won't alter their unwind target. However, if they
start out with a correct unwind target, they won't get wrapped and then
that can be messed up by `fixCatchUnwindMismatches()`.

The fix is to run `fixCatchUnwindMismatches()` first.
`fixCallUnwindMismatches()` never messes up the result of
`fixCatchUnwindMismatches()` so this is the correct order.

Resolves #187302


  Commit: d4570181674dd6bfb4c7ac3fe663a2578e7ed3a9
      https://github.com/llvm/llvm-project/commit/d4570181674dd6bfb4c7ac3fe663a2578e7ed3a9
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/make/libcxx-simulators-common/compressed_pair.h

  Log Message:
  -----------
  [lldb][test] Remove libc++ dependency in common libcxx-simulators header (#190922)

After we made the test-suite mostly compile against system libc++ (in
https://github.com/llvm/llvm-project/pull/190034), the `invalid-vector`
test started failing on the macOS bots with:
```
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1 -std=c++20 --driver-mode=g++ -MT main.o -MD -MP -MF main.d -c -o main.o /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/main.cpp
[2026-04-07T00:09:44.764Z] /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/main.cpp:6:1: error: too few template parameters in template redeclaration
[2026-04-07T00:09:44.764Z]     6 | template <typename T> struct vector {
[2026-04-07T00:09:44.764Z]       | ^~~~~~~~~~~~~~~~~~~~~
[2026-04-07T00:09:44.764Z] /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1/iosfwd:167:1: note: previous template declaration is here
[2026-04-07T00:09:44.764Z]   167 | template <class _Tp, class _Alloc = allocator<_Tp> >
[2026-04-07T00:09:44.764Z]       | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

This patch fixes the error by removing the STL header includes from the
`compressed_pair.h` header. Presumably the `vector` forward declaration
somehow gets pulled in via one of those headers (via `iosfwd`).

The `libcxx-simulators` tests are supposed to be STL-independent, so
removing this dependency works towards that goal.


  Commit: b74ac14362679f5dd74d40d1c04b714b988e8374
      https://github.com/llvm/llvm-project/commit/b74ac14362679f5dd74d40d1c04b714b988e8374
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
    M llvm/test/CodeGen/AMDGPU/asyncmark-max-pregfx12.ll
    M llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll

  Log Message:
  -----------
  [AMDGPU] Fix async operations in GlobalISel on gfx12-plus (#190776)

For GFX1250 async LDS intrinsics, map the LDS pointer operand to VGPR
instead of SGPR. These instructions use $vdst/$vdata (VGPROp_32) for the
LDS address, unlike the pre-GFX12 variants which use M0 (SGPR).

Assisted-By: Claude Opus 4.6


  Commit: 3140942ee0cca43976e35e2b9efcb3b0784d1214
      https://github.com/llvm/llvm-project/commit/3140942ee0cca43976e35e2b9efcb3b0784d1214
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Interpreter/CommandReturnObject.h
    M lldb/source/Interpreter/CommandReturnObject.cpp

  Log Message:
  -----------
  [lldb] Remove "AppendNoteWithFormat(" (#190941)

This method is surprising because it does not automatically add a
newline like AppendNoteWithFormatv and other AppendNote... functions.

If you need to manage the newlines yourself, you should add an
equivalent of GetOutputStream for notes. See
efc0bcdf542475301805ed8478a5d5845f44dc53 for examples of that done for
messages.

AppendNoteWithFormat( is not used at all either (there are a few callers
of `AppendNoteWithFormatv(`).


  Commit: 2033dc430689b4db6c1b22e87d8f9a61edc9e8f6
      https://github.com/llvm/llvm-project/commit/2033dc430689b4db6c1b22e87d8f9a61edc9e8f6
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-vcvt-fptoi.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/faddp-half.ll
    M llvm/test/CodeGen/AArch64/fcvt_combine.ll
    M llvm/test/CodeGen/AArch64/fmla.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll

  Log Message:
  -----------
  [LLVM][CodeGen][AArch64] Replace tablegen based lowering of vector half/bfloat operations. (#190164)

We were essentially doing lowering via instruction selection. This patch
removes the tablegen patterns and modifies their operation actions so
they get lowered in the traditional manner.


  Commit: ae825cb8cea7f3ac8e5e4096f22713845cf5e501
      https://github.com/llvm/llvm-project/commit/ae825cb8cea7f3ac8e5e4096f22713845cf5e501
  Author: Zinovy Nis <zinovy.nis at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseStringViewCheck.cpp
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-string-view.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view.cpp

  Log Message:
  -----------
  [clang-tidy] Skip overloaded functions in modernize-use-string-view (#183921)


  Commit: 3f3d27b428e44de6209674389f2c6c54374acf11
      https://github.com/llvm/llvm-project/commit/3f3d27b428e44de6209674389f2c6c54374acf11
  Author: Robert Konicar <rkonicar at mail.muni.cz>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M mlir/include/mlir/IR/EnumAttr.td
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/lib/Dialect/Test/TestEnumDefs.td
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/mlir-tblgen/enums-gen.td

  Log Message:
  -----------
  [MLIR] Add  I{8,16}Enum tablegen classes (#190825)

Add utility tablegen classes for creating 8 and 16 bit enums,
simplifying defining enums that fit into smaller types.


  Commit: 73a2b9043ebc9e92fb0dcdeb45dc91fb2abeff4b
      https://github.com/llvm/llvm-project/commit/73a2b9043ebc9e92fb0dcdeb45dc91fb2abeff4b
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lldb/docs/use/aarch64-linux.md
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
    M lldb/test/API/linux/aarch64/sme_only_registers/TestSMEOnlyRegisters.py
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [lldb][AArch64][Linux] Handle SME only and kernels < 6.19 (#189982)

Part of #138717.

The feature we need to use to restore non-streaming mode after an
expression enters streaming mode was only added recently in kernel 6.19.

There is no other way to restore this state, so I have adjusted the code
to use the normal FP restore path for every state other than: on an SME
only system and in streaming mode and restoring non-streaming state

If that fails, we're on < 6.19 and all we can do is accept it and
restore the rest of the register state.

I've updated the tests to check kernel version and for < 6.19 remove any
expression tests that hit this specific state. I could have set up
expected state for them, but it's basically undefined behaviour, and I
think it would make the already complex tests even worse.

Documentation now mentions the required version, and release notes link
to that documentation.

Tested on an ARM FVP configured to SME only with kernel 6.18 and 6.19,
and a Graviton 3 with only SVE.


  Commit: ddb9ede93313a787dfe8b40748c3c2a530024f76
      https://github.com/llvm/llvm-project/commit/ddb9ede93313a787dfe8b40748c3c2a530024f76
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
    M llvm/test/Instrumentation/NumericalStabilitySanitizer/non_float_store.ll

  Log Message:
  -----------
  [LLVM][NumericalStabilitySanitizer] Extend shadow value tracking to support vector ConstantInts. (#190794)


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

  Changed paths:
    M lldb/source/Expression/DWARFExpression.cpp

  Log Message:
  -----------
  [lldb] Replace C-style casts with static_cast in DWARFExpression.cpp (NFC) (#190949)

Suggested in #190556.


  Commit: 7ca5698b4c3698d06065e0941df7f23d72913d23
      https://github.com/llvm/llvm-project/commit/7ca5698b4c3698d06065e0941df7f23d72913d23
  Author: Martin Storsjö <martin at martin.st>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lld/COFF/InputFiles.cpp
    M lld/test/COFF/gnu-weak.test
    A lld/test/COFF/weak-preference.test

  Log Message:
  -----------
  [LLD] [COFF] Make weak aliases to implementations take priority over null pointers (#190491)

Normally, one uses weak aliases in one out of two ways.

Either one uses weak definitions to let a weak definition work as
fallback if a strong definition isn't available (which works with
link.exe as well), or as a sort of selectany COMDAT, to let multiple
weak definitions coexist, letting the linker pick any of them. (This
isn't supported by MS link.exe, but requires the LLD extension option
-lld-allow-duplicate-weak, normally implied by the mingw mode.)

Or, one uses weak references, to let a referencing translation unit
check at runtime, whether a symbol was found (at link time) or not,
optionally using the symbol.

In the latter case, the referencing object file provides a fallback
value for the weak symbol, as an absolute null symbol.

Previously, if we had multiple weak externals for the same symbol, we'd
pick any (the first one in practice); this is compatible with either of
the use cases above.

However if both use cases are combined, then we suddenly have multiple
conflicting weak externals for the same symbol; both one (or more)
symbols providing a fallback implementation for the symbol, and the
referencer that provides an absolute null pointer for the symbol.

In these cases, instead of just picking whichever choice the linker saw
first, prefer actual concrete implementations over the absolute null
symbol.

For mingw mode, this makes linking a translation unit referencing a
symbol declared with `__attribute__((weak))` work consistently if
linking it against another translation unit providing that symbol
defined with `__attribute__((weak))`, regardless of the order that those
two object files are linked.


  Commit: bc057a38b1b66a27e0c976b544c73ff34fe9eb3a
      https://github.com/llvm/llvm-project/commit/bc057a38b1b66a27e0c976b544c73ff34fe9eb3a
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-div.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-rem.ll

  Log Message:
  -----------
  [LLVM][CodeGen][AArch64] Improve generated code for SVE VLS truncates. (#190778)

When SVE VLS is enabled we request custom lowering for all ISD::TRUNCATE
operations involving legal types. However, we only custom lower all of
them when NEON is not available and so there are variants that do not
require SVE and can be done via NEON but we are instead falling back to
default expansion, which is this case means scalarisation. This patch
updates custom lowering to mark the variants that have isel patterns
available.


  Commit: b384622f61e8ced35b80d9cc02a0c47c0778b878
      https://github.com/llvm/llvm-project/commit/b384622f61e8ced35b80d9cc02a0c47c0778b878
  Author: Martin Storsjö <martin at martin.st>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lld/COFF/SymbolTable.cpp
    M lld/test/COFF/export-all-conflict.test

  Log Message:
  -----------
  [LLD] [COFF] Explicitly prefer def files and export directives over /export-all-symbols (#190749)

If a def file is specified (or explicit export directives), they should
be preferred over exports from /export-all-symbols. There is no need to
warn about conflicts in these cases, just make a clear preference and
ignore the export with lower preference.


  Commit: 66eae4245dfe7177f9a5681912a6dedc14755d05
      https://github.com/llvm/llvm-project/commit/66eae4245dfe7177f9a5681912a6dedc14755d05
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Expression/DWARFExpression.h
    M lldb/source/Expression/CMakeLists.txt
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileWasm.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileWasm.h
    M lldb/unittests/Expression/DWARFExpressionTest.cpp
    M llvm/include/llvm/DebugInfo/DWARF/LowLevel/DWARFExpression.h

  Log Message:
  -----------
  [lldb] Use llvm::DWARFExpression::iterator in DWARFExpression::Evaluate (#190556)

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>


  Commit: db61d1c24512f106d2c7392e5a7dcb499418e39a
      https://github.com/llvm/llvm-project/commit/db61d1c24512f106d2c7392e5a7dcb499418e39a
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M orc-rt/include/orc-rt/QueueingTaskDispatcher.h
    M orc-rt/lib/executor/QueueingTaskDispatcher.cpp
    M orc-rt/unittests/QueueingTaskDispatcherTest.cpp

  Log Message:
  -----------
  [orc-rt] Refactor QueueingTaskDispatcher to use an external TaskQueue. (#190920)

QueueingTaskDispatcher now takes a TaskQueue by reference rather than
maintaining an internal queue. This lets API clients retain direct
access to the queue after transferring dispatcher ownership to the
Session.

TaskQueue operations (takeFirstIn, takeLastIn) are blocking: callers
wait until a task arrives or the queue is shut down. This enables a
simple client idiom:

```
  QueueingTaskDispatcher::TaskQueue TQ;
  Session S(std::make_unique<QueueingTaskDispatcher>(TQ), ...);
  S.attach(<controller access>);

  while (auto T = TQ.takeFirstIn())
    T->run();
```


  Commit: ada53836f39434770625149002e7d955c381aee0
      https://github.com/llvm/llvm-project/commit/ada53836f39434770625149002e7d955c381aee0
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lldb/test/API/linux/aarch64/sme_only_registers/TestSMEOnlyRegisters.py
    A lldb/test/API/linux/aarch64/sme_only_registers/core_simd_on_32
    A lldb/test/API/linux/aarch64/sme_only_registers/core_streaming_off_64
    M lldb/test/API/linux/aarch64/sme_only_registers/main.c

  Log Message:
  -----------
  [lldb][AArch64][Linux] Add tests for SME only core files (#189985)

Part of #138717.

This did not require any changes to core file handling. Since a static
snapshot of an SME only system looks pretty much the same as one from
the same state on a system with SVE and SME.

For this reason, we're only testing 2 combinations. In total these
include streaming and non-streaming, ZA on and off, and 2 different
vector lengths. I think this is enough to prove that the existing code
is working.


  Commit: 5616ad71697e3ef2ab97a937250e9193eee5713d
      https://github.com/llvm/llvm-project/commit/5616ad71697e3ef2ab97a937250e9193eee5713d
  Author: Lewis Crawford <lcrawford at nvidia.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
    M llvm/test/CodeGen/NVPTX/math-intrins-sm80-ptx70-instcombine.ll
    M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll

  Log Message:
  -----------
  [NVPTX] Lower nvvm.fmax to maximumnum not maxnum (#189976)

Converting nvvm.{fmin/fmax} into llvm.{min/max}num is slightly
incorrect, as {min/max}(a, sNaN) should produce "a" according to the PTX
spec, but LLVM's {min/max}num intrinsics may return either NaN or "a".

Use the {min/max}imumnum intrinsics instead for correct sNaN behaviour.

Also tidy up NVVM FMin/FMax constant-folding using these tighter
definitions of how the NVVM intrinsics map to {min/max}imum and
{min/max}imumnum.


  Commit: daf7a8f835c6c385934d73e67bafbf81daaebf5e
      https://github.com/llvm/llvm-project/commit/daf7a8f835c6c385934d73e67bafbf81daaebf5e
  Author: Rafał Rudnicki <rafal.rudnicki at intel.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/inline-asm-vgpr-range-unsupported-width.ll

  Log Message:
  -----------
  AMDGPU coverity fixes (#182013)

Coverity fixes


  Commit: 903cfcf1fe19a01443dce38d68d9b5e5bd730c83
      https://github.com/llvm/llvm-project/commit/903cfcf1fe19a01443dce38d68d9b5e5bd730c83
  Author: Prerona Chaudhuri <43287592+pchaudhuri-nv at users.noreply.github.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    A llvm/test/CodeGen/NVPTX/dead-shfl.ll

  Log Message:
  -----------
  [NVVM] Update properties for non-sync variants of the SHFL intrinsics (#189615)

Non-sync SHFL variants (shfl without .sync) are pure functions of their SSA operands and the active thread mask. Assign IntrReadMem, IntrInaccessibleMemOnly and IntrWillReturn so that: - Reading the implicit mask state is modeled for correct ordering with other convergent operations - Truly dead non-sync shfl code can still be DCE'd

Sync SHFL variants keep IntrInaccessibleMemOnly (no IntrReadMem, no IntrWillReturn) to model synchronization side effects and prevent unsafe DCE/reordering.


  Commit: c7c340b41e4fe424f0f5f68be2f2812ac6d17b41
      https://github.com/llvm/llvm-project/commit/c7c340b41e4fe424f0f5f68be2f2812ac6d17b41
  Author: Lakreite <lakreite at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-demanded-bits-for-target-node.ll
    R llvm/test/CodeGen/AMDGPU/amdgpu-simplify-demanded-bits-readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-wwm.ll
    M llvm/test/CodeGen/AMDGPU/fix-wwm-vgpr-copy.ll

  Log Message:
  -----------
  [AMDGPU][CodeGen] Implement SimplifyDemandedBitsForTargetNode for readlane, wwm and set.inactive intrinsics. (#190830)

Propagate demanded bits through readlane, wwm, set.inactive intrinsics
in AMDGPUISelLowering in SimplifyDemandedBitsForTargetNode.

This allows upstream zero/sign extensions to be eliminated when only a
subset of bits is used after intrinsics.

Partially addresses https://github.com/llvm/llvm-project/issues/128390.


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

  Changed paths:
    M llvm/docs/ProgrammersManual.rst
    M llvm/include/llvm/Support/Error.h
    M llvm/unittests/Support/ErrorTest.cpp

  Log Message:
  -----------
  [LLVM][Support] add nonNull function helper (#188718)

We often see a pattern like:
```
T *ptr = doSomething()
assert(ptr && "doSomething() shouldn't return nullptr");
```

We also have functions like `cantFail`, but those are working with
Expected types.
This commits adds a `nonNull` function, which can be used inline. In
practice, one could use:

```
T *ptr = cast<T>(functionReturningT());
```

But it conveys the meaning that `functionReturningT` might return a
subtype/supertype that we actually cast.

Function behaves like the other error kinds: calls llvm_unreachable,
which may or may not trap depending on the build options. Calling this
function with `nullptr` won't build, but it makes no sense to do so.

---------

Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>


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

  Changed paths:
    M lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.cpp
    M lldb/test/API/symstore/TestSymStore.py
    A llvm/include/llvm/Support/HTTP/StreamedHTTPResponseHandler.h
    M llvm/lib/Debuginfod/Debuginfod.cpp
    M llvm/lib/Support/HTTP/CMakeLists.txt
    A llvm/lib/Support/HTTP/StreamedHTTPResponseHandler.cpp

  Log Message:
  -----------
  [lldb] Bring Debuginfod's StreamedHTTPResponseHandler to SymbolLocatorSymStore (#187687)

SymbolLocatorSymStore used a simple local implementation of
HTTPResponseHandler so far. That was fine for basic usage, but it would
cause issues down the line. This patch hoists the
StreamedHTTPResponseHandler class from libDebuginfod to SupportHTTP and
integrates it in SymbolLocatorSymStore. PDB file downloads will now be
buffered on disk, which is necessary since they can be huge.

We use the opportunity an stop logging 404 responses (file not found on
server) and print warnings for all other erroneous HTTP responses. It
was more complicated before, because the old response handler created
the underlying file in any case. The new one does that only once the
first content package comes in.


  Commit: f65341ccfd3f5fbd25663a2d0509ab8d8b9a7a39
      https://github.com/llvm/llvm-project/commit/f65341ccfd3f5fbd25663a2d0509ab8d8b9a7a39
  Author: zGoldthorpe <Zach.Goldthorpe at amd.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/frem.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
    M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
    A llvm/test/CodeGen/AMDGPU/setcc-f64-hi32mask.ll

  Log Message:
  -----------
  [AMDGPU][ISel] Reduce `f64` compare to integer compare of upper half (#188356)

Truncate `f64` `setcc`s to upper 32-bit operands where possible.
These transformations are analogous to those in #181238, but for ordered
and unordered fp comparisons.

Fixes #187996.

Alive2 verification of transformations:

- For `eq` / `ne`: [ZRciR6](https://alive2.llvm.org/ce/z/ZRciR6)
- For `lt` / `ge`: [RDGnqr](https://alive2.llvm.org/ce/z/RDGnqr)
- For `le` / `gt`: [v0jlD5](https://alive2.llvm.org/ce/z/v0jlD5)


  Commit: 39c6ed3d080435426d606db70ecceda1cce311bb
      https://github.com/llvm/llvm-project/commit/39c6ed3d080435426d606db70ecceda1cce311bb
  Author: alowqie <areida at pm.me>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  [CIR][AArch64] add vshr_* builtins (#186693)

Part of https://github.com/llvm/llvm-project/issues/185382

- Moved lowering logic from clangir incubator to upstream
- Added tests, partially reusing tests from
[neon-intrinsics.c](https://github.com/llvm/llvm-project/blob/main/clang/test/CodeGen/AArch64/neon-intrinsics.c)
and
[neon.c](https://github.com/llvm/clangir/blob/main/clang/test/CIR/CodeGen/AArch64/neon.c)
- Made sure that all intrinsics from [Neon
ACLE](https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#vector-shift-right)
are implemented and tested


  Commit: 68f138b904588cb33b084ef09726f174db1809d1
      https://github.com/llvm/llvm-project/commit/68f138b904588cb33b084ef09726f174db1809d1
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/truncating-saturate.ll

  Log Message:
  -----------
  [InstCombine] Match a new form of truncating saturation (#189703)

This matches a pattern that clamps an integer value to the range for an
integer type with a smaller bitwidth, before truncating to that type.

alive2: https://alive2.llvm.org/ce/z/WPfmyS


  Commit: 1f1ea1ae4151746a03d43cb7b55411d3bd7878bf
      https://github.com/llvm/llvm-project/commit/1f1ea1ae4151746a03d43cb7b55411d3bd7878bf
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    R clang/include/clang/Basic/BuiltinsSystemZ.def
    A clang/include/clang/Basic/BuiltinsSystemZ.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/module.modulemap
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp

  Log Message:
  -----------
  [SystemZ] Migrate BuiltinsSystemZ.def to TableGen (#190232)

Migrates BuiltinsSystemZ.def to BuiltinsSystemZ.td, and makes the
necessary code updates. It also introduce type `__uint128_t` to the
TableGen emitter, to have a type for the encoding `ULLLi`.

Migration was done with the help of a script generated by IBM Bob.


  Commit: de0cb1cd04891ee7024667ef97e5f30af8a9ff47
      https://github.com/llvm/llvm-project/commit/de0cb1cd04891ee7024667ef97e5f30af8a9ff47
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Target/Process.cpp
    M lldb/unittests/Target/MemoryTest.cpp

  Log Message:
  -----------
  [lldb] Upstream and adopt ReadUnsignedIntegersFromMemory in AppleObjCRuntimeV2 (#190564)

This PR upstreams ReadUnsignedIntegersFromMemory, which uses the
MultiMemRead packet to speed up reading unsigned numbers from memory.
Felipe landed this on Github because we didn't have a use-case for it
upstream, until now, which uses it to batch up reading ObjC runtime
symbols.


  Commit: f73f8754cabd4caf3c9989d8f542d2b9a9f85d07
      https://github.com/llvm/llvm-project/commit/f73f8754cabd4caf3c9989d8f542d2b9a9f85d07
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M mlir/lib/Transforms/CSE.cpp
    M mlir/test/Transforms/cse.mlir

  Log Message:
  -----------
  [mlir][CSE] Delete dead code immediately in CSE pass (#190926)

This PR addresses an issue where dead code within a region prevents
essentially identical region ops from being CSE'd. Currently, CSE only
removes dead ops at the end of the pass. This PR fixes the issue by
deleting dead code immediately upon encounter.


  Commit: 73e2b0e64186e2386d777e936c92bb25a995a0f4
      https://github.com/llvm/llvm-project/commit/73e2b0e64186e2386d777e936c92bb25a995a0f4
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    A clang/test/CIR/CodeGen/bitint.c
    M clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
    A clang/test/CIR/IR/bitint.cir
    M clang/test/CIR/global-var-simple.cpp

  Log Message:
  -----------
  [CIR][ABI] Add _BitInt flag to IntType (#188113)

Add an optional `bitint` parameter to `cir::IntType` so CIR can
distinguish `_BitInt(N)` from builtin integer types like `__int128`.
Both lower to the same LLVM integer type, but they have different ABI
rules (alignment, passing convention) on x86_64.

The flag is set during CIRGen for `Type::BitInt`, printed/parsed as
`!cir.int<s, 128, bitint>`, and excluded from `isFundamental()`.
Existing 2-arg `IntType::get()` calls continue to work via a default
parameter.


  Commit: 2dae0f61cf845d50368f4f5bc9d3e3f92fc41138
      https://github.com/llvm/llvm-project/commit/2dae0f61cf845d50368f4f5bc9d3e3f92fc41138
  Author: Wendi <uwendi at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/docs/QualGroup.rst

  Log Message:
  -----------
  [QualGroup][docs] Clarify biannual membership review and active contributor status (#185884)

This patch updates the LLVM Qualification Group page to reflect the
outcome of the first biannual membership review (Feb 2026).

Changes include:
- clarifying that the members table reflects active contributors,
- removing non-active contributors from the active members list,
- distinguishing active contributors from observers / interested
participants,
- updating the membership review section to describe the biannual review
process.

This is a documentation/process update only.


  Commit: 7cb66a448ace7ae2acd84e7e9bec73cfc560efe0
      https://github.com/llvm/llvm-project/commit/7cb66a448ace7ae2acd84e7e9bec73cfc560efe0
  Author: Fernando Pelliccioni <fpelliccioni at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/__new/placement_new_delete.h
    M libcxx/include/new
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new_array.pass.cpp

  Log Message:
  -----------
  [libc++] Implement LWG4477: placement operator delete should be constexpr (#189915)

Implement the proposed resolution of
[LWG4477](https://cplusplus.github.io/LWG/issue4477).

P2747R2 made placement `operator new` constexpr since C++26, but the
corresponding placement `operator delete` was not. When a constructor
throws during placement new in a constant expression, the placement
delete is invoked and fails because it's not constexpr.

Add `_LIBCPP_CONSTEXPR_SINCE_CXX26` to placement `operator delete(void*,
void*)` and `operator delete[](void*, void*)`.

Closes #189843


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

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

  Log Message:
  -----------
  [Bazel] Fixes 1f1ea1a (#190971)

This fixes 1f1ea1ae4151746a03d43cb7b55411d3bd7878bf.

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


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

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT] Fix strict weak ordering in getCodeSections comparator (#190905)

The compareSections lambda in getCodeSections() violates the strict weak
ordering requirement: when A == B, the comparator can return true (e.g.
via the HotText mover name check), which triggers a _GLIBCXX_DEBUG
assertion on self-comparison.

Add an early identity check to satisfy irreflexivity.


  Commit: 49094aff8f03413adcd6463b9c5afadcddc83893
      https://github.com/llvm/llvm-project/commit/49094aff8f03413adcd6463b9c5afadcddc83893
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Don't allow loop bounds/step from inside the task (#190827)

The omp.taskloop.context region represents what goes inside the outlined
task function. The loop bounds must be passed to the OpenMP runtime call
for taskloop and so this cannot be supported in general.

In a follow up patch I will re-allow pure operations because sinking
constants inside of the tasklooop context will be useful for something
else I am prototyping.

Assisted-by: codex


  Commit: 4b00302c99e034777568e943cbdadaa7b47d8c9d
      https://github.com/llvm/llvm-project/commit/4b00302c99e034777568e943cbdadaa7b47d8c9d
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  [VPlan] Strip VPDT-assert forbidding replicate regions (#189342)

VPDominatorTree::properlyDominates currently unnecessarily forbids
replicate regions, as there is no such limitation either in the parent
DominatorTree, or in VPlanCFG. Strip the assert entirely.


  Commit: 857edabe190323bc98c14642c907e8e4762ce272
      https://github.com/llvm/llvm-project/commit/857edabe190323bc98c14642c907e8e4762ce272
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectDisassemble.cpp
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectType.cpp

  Log Message:
  -----------
  [lldb] Convert AppendWarningWithFormat( calls to AppendWarningWithFormatv( (#190951)

The former does not automatically add a newline like the majority of the
other AppendSomethingWithSomething calls do.

So this PR changes all but 1 use of that function to the Formatv version
and removes the explicit newline from the format strings. I also took
advantage of Formatv's ability to handle StringRef and std::string
automatically.

There is one use of AppendWarningWithFormat left, which I will address
in a follow up since it's not so straightforward.


  Commit: fba30d5b089e2cd89c45048c0ba64421f03115d4
      https://github.com/llvm/llvm-project/commit/fba30d5b089e2cd89c45048c0ba64421f03115d4
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Interpreter/CommandReturnObject.h
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Interpreter/CommandReturnObject.cpp

  Log Message:
  -----------
  [lldb] Remove last use of AppendWarningWithFormat( (#190958)

And remove the function entirely as there are now no
callers.

This last use of AppendWarningWithFormat does not 
include a newline in the format string, but I suspect
that it should have done, so I am ok to convert it. 

It was added by 56535a090d91ff10a60c884bacbd314dcf9659db,
and the other branches of the if/else will add newlines.
Also it seems like an important message that would benefit
from being on its own line.

There are no tests that expect this specific message,
which makes some sense as it seems to have been added
to cover a race condition that only sometimes happens.


  Commit: 96b9266fdaa5b89d8a2f09c162de5404073bc693
      https://github.com/llvm/llvm-project/commit/96b9266fdaa5b89d8a2f09c162de5404073bc693
  Author: Tomohiro Kashiwada <kikairoya at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
    M clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.cpp
    M llvm/include/llvm/Support/Registry.h

  Log Message:
  -----------
  [LLVM][Support] Enforce proper instantiations of `Registry<T>` (#185141)


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

  Changed paths:
    M lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py
    M lldb/test/API/functionalities/scripted_frame_provider/thread_filter/main.cpp

  Log Message:
  -----------
  [lldb/test] Replace pause() with atomic barrier in thread_filter test (#190917)

The TestFrameProviderThreadFilter test was crashing on the ARM Ubuntu CI
with an assertion in StackFrameList::GetFrameAtIndex ("A valid thread
has no frames."):

https://lab.llvm.org/buildbot/#/builders/18/builds/25501

On ARM Linux, the debugger's stop/resume cycle can cause pause() to
return (EINTR from ptrace signals), letting threads exit before the test
accesses their frames.

Replace pause() with an atomic spin-loop barrier that keeps all threads
alive in userspace at a known, unwinding-friendly location.

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


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

  Changed paths:
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/test/Driver/hexagon-toolchain-linux.c

  Log Message:
  -----------
  [Hexagon] Add sanitizer-aware library paths for Linux/musl targets (#190267)

When compiling with -fsanitize=memory or -fsanitize=address on
hexagon-unknown-linux-musl, the driver now prepends sanitizer-specific
library paths (e.g. $SYSROOT/usr/lib/msan/) before the normal
$SYSROOT/usr/lib/ so that instrumented libraries (libc, libc++, etc.)
are found first by the linker.


  Commit: 9a81d3995949135935602557702abc3cf28d3a40
      https://github.com/llvm/llvm-project/commit/9a81d3995949135935602557702abc3cf28d3a40
  Author: Zhihui Yang <youngwisdm at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  [CIR][AArch64] Upstream NEON Minimum (#187935)

Part of https://github.com/llvm/llvm-project/issues/185382
Added intrinsics for
vmin_*
vminq_*
vminnm_*
vminnmq_*


  Commit: abd502a44e5ef19a302d943eeb017c29124b96e9
      https://github.com/llvm/llvm-project/commit/abd502a44e5ef19a302d943eeb017c29124b96e9
  Author: Zile Xiong <xiongzile at bytedance.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/test/CodeGen/X86/musttail-struct.ll

  Log Message:
  -----------
  [X86] Fix missing ByValTemporaries update in CopyViaTemp path for musttail calls (#190540)

This fixes a miscompilation in musttail calls with byval arguments on
X86.

In the CopyViaTemp path, a temporary stack object is created and the
argument is copied into it.
However, the temporary is not recorded in ByValTemporaries, 
so the final lowering phase does not emit the copy to the real outgoing
argument slot.

As a result, the callee may read incorrect values from the stack.

Fix this by recording the temporary in ByValTemporaries so that the
final lowering step correctly copies the argument to the expected stack
location.

Reproducer: https://github.com/llvm/llvm-project/issues/190429


  Commit: ecbba86f5984f45f65dff3da0c1e2dc5e31f457e
      https://github.com/llvm/llvm-project/commit/ecbba86f5984f45f65dff3da0c1e2dc5e31f457e
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.init.ll

  Log Message:
  -----------
  [AMDGPU][NFC] Auto-generate ds.gws.init test checks (#190811)

Update ds.gws.init to use auto-generated checks. Missed this test in the
previous pre-commit.


  Commit: 5c8c4d8fde0b28135ef071827c6d60ddac5766dc
      https://github.com/llvm/llvm-project/commit/5c8c4d8fde0b28135ef071827c6d60ddac5766dc
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wmma_32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wmma_64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-imm.ll

  Log Message:
  -----------
  [AMDGPU][GISel] RegBankLegalize support for WMMA intrinsics (#190724)


  Commit: f3155f00c95916ab9a8800f2c03fdf533f8ada72
      https://github.com/llvm/llvm-project/commit/f3155f00c95916ab9a8800f2c03fdf533f8ada72
  Author: Deric C. <cheung.deric at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/HLSLIntrinsics.td
    M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
    M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl
    M clang/test/TableGen/hlsl-intrinsics.td
    M clang/utils/TableGen/HLSLEmitter.cpp

  Log Message:
  -----------
  [HLSL] Add missing Shader Model 6.0 availability for wave intrinsics (#189445)

Depends on PR #188814 to be merged first.

This PR fixes Shader Model availability for HLSL wave intrinsics so that
they all require at least SM 6.0.

Furthermore, there wasn't an easy way to specify Shader Model 6.0
availability while maintaining the requirement for Shader Model 6.2 when
16-bit types is enabled and the overload uses half types.
To fix the issue, this PR extends `_HLSL_16BIT_AVAILABILITY` to accept a
3rd optional argument that specifies the Shader Model availability when
16-bit types is disabled.

Example:
```hlsl
// If 16-bit types is enabled, require SM 6.2. Else, require SM 6.0 otherwise.
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
__attribute__((convergent)) bool WaveActiveAllEqual(half);
```

The new `hlsl_alias_intrinsics_gen.inc`:
https://gist.github.com/Icohedron/a6e88efd56de384659efd3314c43851f

Assisted-by: GitHub Copilot


  Commit: cd66d79be19b6db00500ba4508b3946ef1caec88
      https://github.com/llvm/llvm-project/commit/cd66d79be19b6db00500ba4508b3946ef1caec88
  Author: pkarveti <pkarveti at qti.qualcomm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.h
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.h
    M llvm/test/CodeGen/Hexagon/aligna-prologue-expansion.mir

  Log Message:
  -----------
  [Hexagon][MIR] Serialize HexagonMachineFunctionInfo::StackAlignBaseReg to MIR (#190003)

This patch adds serialization of HexagonMachineFunctionInfo::StackAlignBaseReg
into MIR. This field stores the physical register used as the aligned-stack base pointer
when a function has both variable-sized stack objects and requires stack
alignment greater than the default.

This replaces the workaround from commit 2e10b6299591 ("[Hexagon] Add AP
register to liveins when used for frame index access") which manually added
AP to liveins. That approach was incorrect because it only updated one
block without updating predecessors, breaking liveness invariants.


  Commit: 7056d00090d037469ef304794bf685e79c749886
      https://github.com/llvm/llvm-project/commit/7056d00090d037469ef304794bf685e79c749886
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/clamp-to-minmax.ll

  Log Message:
  -----------
  [InstCombine][ValueTracking] Add m_FMinNum and m_FMaxNum to matchFastFloatClamp. (#188149)

This allows us to recognize clamp patterns if the first part of the
clamp has been turned into minnum/maxnum.


  Commit: 0030f5996a690eb539f76fc0075d7d7831b36458
      https://github.com/llvm/llvm-project/commit/0030f5996a690eb539f76fc0075d7d7831b36458
  Author: Kyungtak Woo <kevinwkt at google.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64PassRegistry.def
    M llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/test/CodeGen/AArch64/machine-copy-remove.mir
    M llvm/test/CodeGen/AArch64/machine-zero-copy-remove.mir

  Log Message:
  -----------
  [NewPM] Port AArch64RedundantCopyElimination (#190582)

Adds a newPM pass for AArch64RedundantCopyElimination
- Refactors base logic into an Impl class
- Renames old pass with the "Legacy" suffix
- Adds the new pass manager pass using refactored logic
- Updated existing .mir tests to also test with the New Pass Manager.

Context and motivation in
https://llvm.org/docs/NewPassManager.html#status-of-the-new-and-legacy-pass-managers


  Commit: dd57f60e6ef60883709489c3d727e52d7322ec0b
      https://github.com/llvm/llvm-project/commit/dd57f60e6ef60883709489c3d727e52d7322ec0b
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/test/HLFIR/simplify-hlfir-intrinsics-count.fir

  Log Message:
  -----------
  [flang] Use reduction recognition friendly pattern for hlfir.count. (#190856)

The change is to select between `0` and `1` based on the condition
and then add the result to the current reduction value.


  Commit: 350d672827deaff38e81a859522e5a3bfb584ed3
      https://github.com/llvm/llvm-project/commit/350d672827deaff38e81a859522e5a3bfb584ed3
  Author: Jason Van Beusekom <jason.van-beusekom at hpe.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
    A flang/test/Fir/dso-local-macho.fir
    A flang/test/Fir/dso-local.fir
    M flang/test/Lower/common-block.f90

  Log Message:
  -----------
  [Flang] mark safe external globals as dso_local (#189709)

Globals inside a Fortran module are not marked as dso_local,
which results in their alignment not being promoted.
This fix mimics some of the functionality found in
shouldAssumeDSOLocal in /clang/lib/CIR/CodeGen/CIRGenModule.cpp

Fixes #189069


  Commit: 0f3e448c980f083b97ad4c2b93525dd44e7ba743
      https://github.com/llvm/llvm-project/commit/0f3e448c980f083b97ad4c2b93525dd44e7ba743
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/include/llvm/IR/Instructions.h
    A llvm/test/Transforms/SimplifyCFG/profile-update-unreachable.ll

  Log Message:
  -----------
  [SimplifyCFG] Update profile metadata regardless of weight count (#190982)

Otherwise we miss updating in cases where we should be updating which
causes assertion failures later due to the fact that the number of cases
no longer matches the number of branch weights.

It looks like this was last touched in #160629, but it doesn't seem like
there is anything there specifically motivating this diff hunk.

Fixes #190901.


  Commit: fd09e8f814c7f96a2b9c65b5737e529fd1c62708
      https://github.com/llvm/llvm-project/commit/fd09e8f814c7f96a2b9c65b5737e529fd1c62708
  Author: klensy <klensy at users.noreply.github.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M clang/test/ExtractAPI/availability.c
    M clang/test/ExtractAPI/objc_property.m

  Log Message:
  -----------
  [ExtractAPI] fix filecheck annotation (#92231)

moved fix for ExtractAPI from
https://github.com/llvm/llvm-project/pull/91854,
https://github.com/llvm/llvm-project/pull/91854#pullrequestreview-2052128349

Also noticed typo here, prefix `E` but check for `C`, fixed too:

https://github.com/llvm/llvm-project/blob/ca4a405232cf170f20a2f111bf72beab82095935/clang/test/ExtractAPI/availability.c#L43-L65

Co-authored-by: klensy <nightouser at gmail.com>
Co-authored-by: Prajwal Nadig <pnadig at apple.com>


  Commit: 179a6bae77b8cfdf07deac0feb28aaa89aeb9462
      https://github.com/llvm/llvm-project/commit/179a6bae77b8cfdf07deac0feb28aaa89aeb9462
  Author: 4ast <alexei.starovoitov at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/BPF/BPFCallingConv.td
    M llvm/lib/Target/BPF/BPFISelLowering.cpp
    M llvm/lib/Target/BPF/BPFISelLowering.h
    M llvm/test/CodeGen/BPF/atomic-oversize.ll
    A llvm/test/CodeGen/BPF/i128_return.ll
    A llvm/test/CodeGen/BPF/sret.ll
    M llvm/test/CodeGen/BPF/struct_ret1.ll
    M llvm/test/CodeGen/BPF/struct_ret2.ll

  Log Message:
  -----------
  bpf: Support aggregate returns (#190894)

i128 and 16 byte structs are now returned in R0:R2 which matches x86
that returns { i64, i32 } in RAX:RDX.
Both skip one register in between (RCX / R1).

Signed-off-by: Alexei Starovoitov <ast at kernel.org>
Co-authored-by: Alexei Starovoitov <ast at kernel.org>


  Commit: 5fdc35ff15c8dae0fd5c6e706026eb1c4c2e7305
      https://github.com/llvm/llvm-project/commit/5fdc35ff15c8dae0fd5c6e706026eb1c4c2e7305
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/atomic.test
    R llvm/test/tools/llvm-mca/RISCV/SiFiveX390/div-fdiv.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/floating-point.test
    R llvm/test/tools/llvm-mca/RISCV/SiFiveX390/fractional-lmul-data.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/integer.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/mul-div.test
    R llvm/test/tools/llvm-mca/RISCV/SiFiveX390/reductions.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/arithmetic.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/bitwise.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/comparison.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/conversion.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/fma.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/fp.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/mask.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/minmax.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/mul-div.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/permutation.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/reduction.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/strided-load-x0.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/vle-vse-vlm.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/vlse-vsse.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/vlseg-vsseg.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/rvv/vlxe-vsxe.test
    R llvm/test/tools/llvm-mca/RISCV/SiFiveX390/strided-load-store.s
    R llvm/test/tools/llvm-mca/RISCV/SiFiveX390/strided-load-x0.s
    R llvm/test/tools/llvm-mca/RISCV/SiFiveX390/vector-fp.s
    R llvm/test/tools/llvm-mca/RISCV/SiFiveX390/vector-integer-arithmetic.s
    R llvm/test/tools/llvm-mca/RISCV/SiFiveX390/vle-vse.s
    R llvm/test/tools/llvm-mca/RISCV/SiFiveX390/vrgather-vcompress.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/zba.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/zbb.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/zbs.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/zfh.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/zfhmin.test
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/zicond.test

  Log Message:
  -----------
  [RISCV][MCA] Update `sifive-x390`'s tests to consume input files instead (#190883)

In the same spirit as #189785 , use the new input file system for
sifive-x390's llvm-mca tests.


  Commit: 46dc97c0ea7d3bb4e1590388280a9833cc5d3b77
      https://github.com/llvm/llvm-project/commit/46dc97c0ea7d3bb4e1590388280a9833cc5d3b77
  Author: Sergey Kachkov <109674256+skachkov-sc at users.noreply.github.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/RISCV/split-gep.ll

  Log Message:
  -----------
  [NFC][SeparateConstOffsetFromGEP] Add pre-commit test (#191006)


  Commit: 802c5cbe5b4be7eb7b442ddbd76acb781921e5f7
      https://github.com/llvm/llvm-project/commit/802c5cbe5b4be7eb7b442ddbd76acb781921e5f7
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Evaluate/expression.h
    M flang/include/flang/Evaluate/fold.h
    M flang/include/flang/Evaluate/shape.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Evaluate/traverse.h
    M flang/include/flang/Parser/characters.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/dump-expr.h
    M flang/include/flang/Semantics/expression.h
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/expression.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/IterationSpace.cpp
    M flang/lib/Lower/Support/Utils.cpp
    M flang/lib/Parser/expr-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/definable.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    A flang/test/Evaluate/fold-conditional-expr.f90
    A flang/test/Parser/conditional-expr.f90
    A flang/test/Semantics/conditional-expr.f90

  Log Message:
  -----------
  [flang] Implement conditional expressions parser/semantics (F2023) (#186489)

## Implement Fortran 2023 Conditional Expressions (R1002)

***This PR contains the implementation for parsing and semantic
analysis. Lowering is implemented in a separate PR (#186490)***

Implements Fortran 2023 conditional expressions with syntax: `result =
(condition ? value1 : condition2 ? value2 : ... : elseValue)`

Issue: #176999
Discourse:
https://discourse.llvm.org/t/rfc-adding-conditional-expressions-in-flang-f2023/89869/1
-- note that some of the details provided in the RFC post are no longer
accurate

### Implementation Details
**Parser:**
- Added ConditionalExpr as primary expression (F2023 R1002)  
- Right-associative chaining for multi-way conditionals
 
**Semantics:**
- Expression tree node ConditionalExpr<T> with N conditions and N+1
values
- Strict type checking: all values must have identical type, kind, and
rank
- Conditions must be scalar LOGICAL

**LIT Testing:**
- Parser tests: Syntax validation, precedence, nesting
- Semantic tests: Type checking, error messages
- Note: Executable tests will be added to the llvm-test-suite repo
(https://github.com/llvm/llvm-test-suite/pull/369)

**Limitations**
- Conditional arguments are not yet supported. This work is planned 
    - #180592
- Polymorphic types (CLASS) not yet supported in lowering
- Both limitations will emit clear error message if encountered

### Examples
```
! Simple conditional
x = (flag ? 10 : 20)

! Chained
result = (x > 0 ? 1 : x < 0 ? -1 : 0)

! Examples from F2023
( ABS (RESIDUAL)<=TOLERANCE ? ’ok’ : ’did not converge’ )
( I>0 .AND. I<=SIZE (A) ? A (I) : PRESENT (VAL) ? VAL : 0.0 )
```

AI Usage Disclosure: AI tools (Claude Sonnet 4.5) were used to assist
with implementation of this feature and test code generation. I have
reviewed, modified, and tested all AI-generated code.


  Commit: 3af427539bc6b85a9fe3334b9a0b43d347ea29ac
      https://github.com/llvm/llvm-project/commit/3af427539bc6b85a9fe3334b9a0b43d347ea29ac
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/Analysis/InlineOrder.h
    M llvm/include/llvm/IR/FixedMetadataKinds.def
    M llvm/include/llvm/Transforms/Utils/Cloning.h
    M llvm/lib/Analysis/InlineOrder.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
    M llvm/lib/Transforms/IPO/Inliner.cpp
    M llvm/lib/Transforms/IPO/ModuleInliner.cpp
    M llvm/lib/Transforms/IPO/PartialInlining.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/test/Transforms/Inline/debug-invoke.ll
    A llvm/test/Transforms/Inline/inline-history-2.ll
    A llvm/test/Transforms/Inline/inline-history-3.ll
    R llvm/test/Transforms/Inline/inline-history-noinline.ll
    A llvm/test/Transforms/Inline/inline-history.ll
    M llvm/test/Transforms/Inline/inline-recursive-fn2.ll
    A llvm/test/Verifier/inline-history-metadata.ll
    M llvm/unittests/Analysis/InlineOrderPlugin/InlineOrderPlugin.cpp

  Log Message:
  -----------
  [Inliner] Put inline history into IR as !inline_history metadata (#190876)

(Reland of #190700 with checks for RefSCCs with one function with a
self-reference, plus determinism fix)

(Reland of #190092 with verifier change to look through GlobalAliases)

So that it's preserved across all inline invocations rather than just
one inliner pass run.

This prevents cases where devirtualization in the simplification
pipeline uncovers inlining opportunities that should be discarded due to
inline history, but we dropped the inline history between inliner pass
runs, causing code size to blow up, sometimes exponentially.

For compile time reasons, we want to limit this to only call sites that
have the potential to inline through SCCs, potentially with the help of
devirtualization. This means that the callee is in a non-trivial
(Ref)SCC, or the call site was previously an indirect call, which can
potentially be devirtualized to call any function.

The CGSCCUpdater::InlinedInternalEdges logic still seems to be relevant
even with this change, as monster_scc.ll blows up if I remove that code.


http://llvm-compile-time-tracker.com/compare.php?from=e830d88e8ae5f44a97cc76136a0a4e83aa9157c0&to=ed535e732fc41b79ab8efda2417886cbd0812f7f&stat=instructions:u

Fixes #186926.


  Commit: 8c88fae6764a33affa7e99449694427df9171aa8
      https://github.com/llvm/llvm-project/commit/8c88fae6764a33affa7e99449694427df9171aa8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll

  Log Message:
  -----------
  [VPlan] Lower CanIVIncrementForPart in convertToConcreteRecipes. (#190844)

Move the lowering of CanonicalIVIncrementForPart from generate() to
convertToConcreteRecipes, converting it to an Add VPInstruction at the
VPlan level. This enables VPlan-level simplifications (e.g., folding add
0, x) and prepares for adding a 3-operand form.

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


  Commit: 815edc3ff646392bfee2b381d37dd35e4b04f9c5
      https://github.com/llvm/llvm-project/commit/815edc3ff646392bfee2b381d37dd35e4b04f9c5
  Author: Valeriy Savchenko <vsavchenko at apple.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/AArch64/arm64-zip.ll
    A llvm/test/CodeGen/AArch64/vselect-widen-mask-tree.ll
    M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll

  Log Message:
  -----------
  [SelectionDAG] Recurse through mask expression trees in WidenVSELECTMask (#188085)

WidenVSELECTMask currently handles only two mask shapes: a bare SETCC
or a single AND/OR/XOR of exactly two SETCCs. Anything deeper bails out
to the generic condition widening path, which often introduces
unnecessary narrow/widen roundtrips (xtn+sshll on AArch64,
packssdw+vpmovsxwd on X86).

Replace the hand-coded cases with a recursive widenMaskTree that walks
through SETCC, AND/OR/XOR, FREEZE, VECTOR_SHUFFLE, SELECT/VSELECT, and
all-ones/all-zeros BUILD_VECTORs.


  Commit: 430e1be254f90d177e997266bc1c2e700e16d1cc
      https://github.com/llvm/llvm-project/commit/430e1be254f90d177e997266bc1c2e700e16d1cc
  Author: Henrik G. Olsson <hnrklssn at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
    M clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
    A clang-tools-extra/clang-tidy/llvm/RedundantCastingCheck.cpp
    A clang-tools-extra/clang-tidy/llvm/RedundantCastingCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/llvm/redundant-casting.rst
    A clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-casting.cpp
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h

  Log Message:
  -----------
  [clang-tidy] detect redundant uses of LLVM's cast, dyn_cast (#189274)

Warns when casting to the same pointee type, or when the target pointee
type is a super type of the argument's pointee type. Supported
functions:
 - cast
 - cast_if_present
 - cast_or_null
 - dyn_cast
 - dyn_cast_if_present
 - dyn_cast_or_null

---------

Co-authored-by: Victor Chernyakin <chernyakin.victor.j at outlook.com>


  Commit: eb06b4796c2a53c177516dd45ca63f871fc311bb
      https://github.com/llvm/llvm-project/commit/eb06b4796c2a53c177516dd45ca63f871fc311bb
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/SemaHLSL/Resources/resources-in-struct-array-error.hlsl

  Log Message:
  -----------
  [HLSL] Diagnose dynamic indexing of struct arrays for resource access (#187132)

Dynamic indexing of structs arrays for resource access is not supported. This change implements the diagnostic for this.

Fixes #187131


  Commit: 290ddb9238ec569f8518614ddbc48f8f0445777f
      https://github.com/llvm/llvm-project/commit/290ddb9238ec569f8518614ddbc48f8f0445777f
  Author: Henry Jiang <henry_jiang2 at apple.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  [VPlan][PseudoProbe] Fix `pseudoprobe` duplication when `VF=1` (#185238)

Fix assertion in `loop-vectorize` on loops that contains
`llvm.pseudoprobe` at VF=1, UF=2. Minimal Reproducer:
https://godbolt.org/z/nrcMWWqMx

Originally in https://reviews.llvm.org/D144066, Pseudoprobes were marked
non-uniform in `isUniformAfterVectorization` even for VF=1 that allows
the `REPLICATE call @llvm.pseudoprobe` to survive until the plan is
executed when VF=1, UF=2, causing the crash.

Instead, `isUniformAfterVectorization` as true even for pseudoprobe when
`VF.isScalar()`.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    A llvm/test/CodeGen/RISCV/samesign.ll

  Log Message:
  -----------
  [SelectionDAGBuilder] Pass SDNodeFlags to getSetCC instead of using FlagInserter. (#190878)

getSetCC hasn't always had a SDNodeFlags argument. When it was added, it
stopped looking at FlagInserter.

Also remove unnecessary FlagInserter from visitFCmp.


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUDA/CUFComputeSharedMemoryOffsetsAndSize.cpp
    M flang/test/Fir/CUDA/cuda-shared-offset.mlir

  Log Message:
  -----------
  [flang][cuda] Allow static and dynamic shared memory in a single kernel (#190866)


  Commit: ffea943c17effd8977df945a7cabfb120d816ca6
      https://github.com/llvm/llvm-project/commit/ffea943c17effd8977df945a7cabfb120d816ca6
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    A llvm/test/CodeGen/RISCV/pr190868.ll

  Log Message:
  -----------
  [NFC][RISC-V] Add Test for PR190868 (#190908)

Updates #190868


  Commit: e9113618cba636b194ee08e8d9eb8cb0bafda092
      https://github.com/llvm/llvm-project/commit/e9113618cba636b194ee08e8d9eb8cb0bafda092
  Author: SiliconA-Z <gfunni234 at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/ARM/sadd_sat.ll
    M llvm/test/CodeGen/ARM/sadd_sat_plus.ll
    M llvm/test/CodeGen/ARM/ssub_sat.ll
    M llvm/test/CodeGen/ARM/ssub_sat_plus.ll

  Log Message:
  -----------
  [ARM] Custom Lowering for SADDO_CARRY and SSUBO_CARRY (#154419)

To do this, I did refactoring to mirror what goes on with AArch64,
including having the carryFlagToValue do the inversion.

While the patterns are not the best, with pattern matching, I hope to at
make it as good as AArch64 on Thumb2 where we have CSEL.


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

  Changed paths:
    M llvm/lib/Target/Hexagon/CMakeLists.txt

  Log Message:
  -----------
  [Hexagon] Add missing MIRParser link dependency (#191010)

cd66d79be19b added parseMachineFunctionInfo to HexagonTargetMachine
which calls parseNamedRegisterReference from LLVMMIRParser, but did not
add the library dependency. This causes link failures for executables
like dsymutil and llvm-split when building with BUILD_SHARED_LIBS=OFF.

Add MIRParser to LINK_COMPONENTS.


  Commit: cd14ba9c9c0d927d215a698b1e0d47f97812e2b7
      https://github.com/llvm/llvm-project/commit/cd14ba9c9c0d927d215a698b1e0d47f97812e2b7
  Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AMDGPU/notriviallyvectorizableintrinsicoperands.ll

  Log Message:
  -----------
  [NFC][SLP][AMDGPU] Pre-commit test for vectorization of non-trivially-vectorizable intrinsic operands (#191009)

This patch adds pre-commit test for vectorization of
non-trivially-vectorizable intrinsic operands for PR
https://github.com/llvm/llvm-project/pull/189784


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

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp
    M clang/test/Modules/merge-target-features.cpp

  Log Message:
  -----------
  [clang] deduplicate target-features for modules (#187614)

Previously, double passing a target feature would make the module
incompatible with a compilation unit that only passes it once.

The motivating problem is, when we pass -target-features +tagged-globals
as well as -fsanitize=hwaddress, which adds a second copy, the module
is incompatible with one built with only one `-target-features
+tagged-globals`.


  Commit: 7cd327dca78b9c45de4caf11f8d525f6f0dedecb
      https://github.com/llvm/llvm-project/commit/7cd327dca78b9c45de4caf11f8d525f6f0dedecb
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/cond-loop.ll

  Log Message:
  -----------
  DAGCombine: Prefer to keep cond_loop argument as a setcc.

As with brcond, combines for cond_loop want to see setcc as the direct
argument, so prefer to keep it in that form.

Reviewers: arsenm, fmayer, RKSimon

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


  Commit: f2b33d794d3674a0c7be44de53aa1d201b1bf3fe
      https://github.com/llvm/llvm-project/commit/f2b33d794d3674a0c7be44de53aa1d201b1bf3fe
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    A llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h

  Log Message:
  -----------
  [AMDGPU][NFC] Move InstCounterType and Waitcnt to AMDGPUWaitcntUtils.h (#187823)

This patch moves InstCounterType and Waitcnt from Utils/AMDGPUBaseInfo.h
to a more appropriate location, one directory up, in
AMDGPUWaitcntUtils.h. We also need to move a few encoding and decoding
functions that work on Waitcnt. Some of these called static functions
defined in AMDGPUBaseInfo.cpp, like `unpackBits()`, so this patch
introduced new functions in AMDGPUBaseInfo: `decodeLoadcnt()`,
`decodeStorecnt()` and `decodeDscnt()` that do the necessary bit
operations but don't operate on the Waitcnt class directly.


  Commit: d8a9c560ed04369f12eb44f12bcbcfc7ddb5f78a
      https://github.com/llvm/llvm-project/commit/d8a9c560ed04369f12eb44f12bcbcfc7ddb5f78a
  Author: Artem Belevich <tra at google.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M clang/lib/Headers/__clang_cuda_intrinsics.h
    A clang/test/Headers/cuda_intrinsics.cu

  Log Message:
  -----------
  [CUDA] refactor in-header implementation of __ld*/__st* with different cache modes. (#190021)

* Generalized creation of the variant sets.
* Added implementations for the missing operation modes. Now we match
what's available in CUDA headers.
* Cleaned up discrepancies in `__asm__ __volatile__` use (needed for
some ops that warm up the cache, but should not be discarded if the load
result is unused)

Manually verified that clang's versions of these functions generate
exactly the same instructions nvcc generates from CUDA headers.


  Commit: 14da7e5194293454c54c097431c61c1fe55c5710
      https://github.com/llvm/llvm-project/commit/14da7e5194293454c54c097431c61c1fe55c5710
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Support/raw_socket_stream.cpp
    M llvm/unittests/Support/raw_socket_stream_test.cpp

  Log Message:
  -----------
  [llvm][Support] Avoid silent truncation of socket paths (#190869)

When the name is too long to fit in sockaddr_un::sun_path's 104
character buffer, we now surface the error condition, rather than
silently truncating and failing the test with an "address in use Bind
error". We also shorten the name a bit to give more headroom on CI
systems that define an explicit TMP_DIR that acts as a prefix to the
path created by these tests.


  Commit: 3c3fb6ab30192ac9a5c1923927fa10ec78c5ea29
      https://github.com/llvm/llvm-project/commit/3c3fb6ab30192ac9a5c1923927fa10ec78c5ea29
  Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    A flang/test/Lower/OpenACC/acc-do-concurrent-locality.f90

  Log Message:
  -----------
  [flang][OpenACC] Support DO CONCURRENT locality specs inside ACC constructs (#190406)

- Lower DO CONCURRENT locality specs (REDUCE, LOCAL, LOCAL\_INIT) that
appear inside OpenACC compute constructs and combined directives.
- Previously, any locality spec on DO CONCURRENT inside ACC hit a `TODO`
and aborted. This resolves that limitation.
- Per OpenACC 2.17.2, DO CONCURRENT without a loop construct in a
kernels construct is treated as `loop auto`; in a parallel construct it
is treated as `loop independent`. Both cases are covered.

## Mapping

| Locality Spec | ACC Operation |
|---|---|
| `REDUCE(op:vars)` | `acc.reduction` with reduction recipe |
| `LOCAL(vars)` | `acc.private` with privatization recipe |
| `LOCAL_INIT(vars)` | `acc.firstprivate` with firstprivatization recipe
|
| `SHARED` / `DEFAULT(NONE)` | No-op (variables already accessible) |

## Details

- Adds `processDoConcurrentLocalitySpecs` to convert locality specs into
the corresponding ACC data-entry operations and recipes.
- Handles the `HostAssoc` symbol indirection that DO CONCURRENT creates
for LOCAL/LOCAL\_INIT variables: after `remapDataOperandSymbols` binds
the ultimate symbol inside the compute region, the binding is copied to
the `HostAssoc` symbol so that body references resolve correctly.
- Separates `firstprivateOperands` into its own operand segment on
`acc.loop` (previously hardcoded empty).
- Fixes pre-existing build errors where `createOrGetReductionRecipe`,
`createOrGetPrivateRecipe`, and `createOrGetFirstprivateRecipe` were
called with `mlir::Type` instead of `mlir::Value` after an upstream API
change. The original variable is passed (not the acc op result) to
preserve correct recipe names.
- New FileCheck test
`flang/test/Lower/OpenACC/acc-do-concurrent-locality.f90` with 12 cases
covering REDUCE, LOCAL, LOCAL\_INIT, mixed locality, and interop with
explicit ACC clauses — across kernels regions, parallel regions, and
combined directives.


  Commit: 5d2b3df220c99c4598c24ae1a7cc4d244d07a525
      https://github.com/llvm/llvm-project/commit/5d2b3df220c99c4598c24ae1a7cc4d244d07a525
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll

  Log Message:
  -----------
  [VPlan] Fix incorrect wrap-flags in partial-red transform (#190214)

The flags are incorrect for the transform, and fixes an underlying
miscompile.

Proof: https://alive2.llvm.org/ce/z/tPJnJk


  Commit: 6f95604cbd10109892f9fdc7ab8f78f243ebf8a0
      https://github.com/llvm/llvm-project/commit/6f95604cbd10109892f9fdc7ab8f78f243ebf8a0
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lldb/test/API/functionalities/tsan/cpp_global_location/TestTsanCPPGlobalLocation.py
    M lldb/test/API/functionalities/tsan/global_location/TestTsanGlobalLocation.py

  Log Message:
  -----------
  [lldb] Disable TestTsan{CPP}GlobalLocation.py on Linux (#191018)

Skip `TestTsanGlobalLocation.py` and `TestTsanCPPGlobalLocation.py` on
Linux. The tests are failing on GreenDragon and at desk.

Tracked by https://github.com/llvm/llvm-project/issues/191012


  Commit: 004206ac5533a1b5296a124e23b0c4638b6ef41e
      https://github.com/llvm/llvm-project/commit/004206ac5533a1b5296a124e23b0c4638b6ef41e
  Author: John Harrison <harjohn at google.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  [lldb-dap] Using an empty target instead of a dummy target. (#189734)

Removing the use of the dummy target and instead letting the debugger
instance create the target it needs.


  Commit: bc07dbe657a92ef1aadbfb86d1bf19177c48ad17
      https://github.com/llvm/llvm-project/commit/bc07dbe657a92ef1aadbfb86d1bf19177c48ad17
  Author: Oskar Wirga <oskar.wirga at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  [AArch64] Add error handling for unsupported bases in lowerConstantPtrAuth (#189474)

This is part of work being done in #188378 and #188638, split out from
#188650.

`lowerConstantPtrAuth` silently miscompiled `ConstantPtrAuth` constants
with non-`GlobalValue` pointer bases — emitting `0 at AUTH(da,0)` instead
of erroring.

Changes:
- Handle `ConstantPointerNull` bases explicitly
- Error via `reportFatalUsageError` on any remaining unresolved base
(e.g. nested ptrauth) instead of silently miscompiling

This PR was mostly developed with LLM assistance


  Commit: 046e823c7b9259d9c1aaee8f03b2d5f53f899dd9
      https://github.com/llvm/llvm-project/commit/046e823c7b9259d9c1aaee8f03b2d5f53f899dd9
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lldb/test/API/functionalities/scripted_frame_provider/thread_filter/main.cpp

  Log Message:
  -----------
  [lldb/test] Add yield to spin loop in thread_filter test (#191025)

This should fix:
https://lab.llvm.org/buildbot/#/builders/211/builds/7439

The timeout might be caused by three threads busy-spinning at 100% CPU,
starving the CI machine.

Add std::this_thread::yield() to the spin loop to reduce CPU pressure
while keeping threads alive at a debugger-friendly location.

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


  Commit: 54f7104a3484fb33a10c2d66d30d9b05c7a2d80b
      https://github.com/llvm/llvm-project/commit/54f7104a3484fb33a10c2d66d30d9b05c7a2d80b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  [LV] Replace dead invalidateCostModelingDecisions with assert (NFC) (#190837)

Replace dead invalidateCostModelingDecisions with assertion that no
decisions have been taken yet.


  Commit: 3ce68907fff129b1728f692be16c61c8fbd3892a
      https://github.com/llvm/llvm-project/commit/3ce68907fff129b1728f692be16c61c8fbd3892a
  Author: Julian Lettner <yln at users.noreply.github.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lldb/tools/driver/lldb-mte-entitlements.plist

  Log Message:
  -----------
  [lldb] Fixup MTE entitlement spelling for MTE driver (#190842)

Fixup for: https://github.com/llvm/llvm-project/pull/186322


  Commit: 649c44fc1b39b7e636e74690e15729a178775af5
      https://github.com/llvm/llvm-project/commit/649c44fc1b39b7e636e74690e15729a178775af5
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Semantics/OpenMP/do-concurrent-collapse-60.f90
    M flang/test/Semantics/OpenMP/do-concurrent-collapse.f90

  Log Message:
  -----------
  [flang][OpenMP] Improve checks for DO CONCURRENT in loop constructs (#190990)

In OpenMP 6.0+ DO CONCURRENT is allowed as an alternative to a Canonical
Loop Nest. In other words, DO CONCURRENT is allowed inside loop
constructs as long as it's the only loop.

Add checks to detect DO CONCURRENT as the root of the associated loop
nest. Remove related checks from resolve-directives.cpp.


  Commit: 121f38c69f44108c543152d990f1d3729d72fa1d
      https://github.com/llvm/llvm-project/commit/121f38c69f44108c543152d990f1d3729d72fa1d
  Author: estewart08 <ethan.stewart at amd.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M libc/shared/CMakeLists.txt

  Log Message:
  -----------
  [libc] - Add rpc_opcodes.h to list of installed headers (#191035)

There is a case when building standalone offload via runtimes where
LLVM_BINARY_DIR is set to the installed llvm location. Currently, this
header is not being installed and results in a build failure.

Fixes issue introduced with #190423.


  Commit: 9b64d05e594a8b04393e1cd24c245a435826d47c
      https://github.com/llvm/llvm-project/commit/9b64d05e594a8b04393e1cd24c245a435826d47c
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/test/CIR/CodeGen/array-ctor.cpp
    M clang/test/CIR/CodeGen/array-dtor.cpp
    M clang/test/CIR/CodeGen/global-array-dtor.cpp
    M clang/test/CIR/CodeGen/global-init.cpp
    M clang/test/CIR/CodeGen/new.cpp
    A clang/test/CIR/CodeGen/partial-array-cleanup.cpp
    M clang/test/CIR/IR/array-ctor.cir
    M clang/test/CIR/IR/array-dtor.cir
    M clang/test/CIR/IR/invalid-array-structor.cir

  Log Message:
  -----------
  [CIR] Implement partial array destroy handling (#190834)

This implements EH cleanup handling that performs regular partial array
destruction for array constructor loops with a destructed type. Because
CIR represents array construction using an abstract operation, we do not
go through the normal EH stack mechanism. Instead, we add a partial_dtor
region to the cir.array.ctor operation indicating how a single element
should be destructed. When the cir.array.ctor operation is expanded
during LoweringPrepare, we create a cleanup scope with a partial array
dtor loop in an EH cleanup region. This gets further expanded during CFG
flattening to produce a control flow equivalent to that generated by
classic codegen.

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


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

  Changed paths:
    M clang/docs/ClangIRABILowering.md

  Log Message:
  -----------
  [CIR][ABI][NFC] Update ABI lowering design doc with implementation experience (#188617)

Three documentation improvements based on implementation experience:

- Improve Section 4.4 flow diagram: replace flat step-by-step diagram
with
layered version showing which architectural layer (MLIR adapter, LLVM
ABI
  library, dialect-specific) owns each step.

- Note dialect-aware type mapping: dialects with custom types (e.g.
  cir::IntType is not mlir::IntegerType) may need dialect-aware mapping
alongside the generic mapper to preserve signedness, pointer identity,
and
  record field structure.

- Update ABIRewriteContext interface: describe the actual two-method
interface
  (rewriteFunctionDefinition, rewriteCallSite) instead of the 15-20
  fine-grained methods originally proposed.

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


  Commit: 66722819ffa4bc00d719d206f235dffbde5ec5d8
      https://github.com/llvm/llvm-project/commit/66722819ffa4bc00d719d206f235dffbde5ec5d8
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ds.gws.init.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ds.gws.sema.v.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier-bundle.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.init.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.sema.br.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.sema.p.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.sema.release.all.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.sema.v.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for ds_gws ops (#190283)


  Commit: 87717bf9f81f7b29466c5d9a30a3453bdfc93941
      https://github.com/llvm/llvm-project/commit/87717bf9f81f7b29466c5d9a30a3453bdfc93941
  Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/notriviallyvectorizableintrinsicoperands.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll

  Log Message:
  -----------
  [SLP][AMDGPU] Vectorize operands of non-trivially-vectorizable intrinsic calls (#189784)

A non-trivially vectorizable target intrinsic (e.g., llvm.amdgcn.exp2,
llvm.amdgcn.log) blocks the SLP vectorizer from building a deeper tree.
This patch finds the operands of such intrinsics and tries them as
independent SLP tree roots so that the operands continues to get
vectorized.

Previously, the SLP vectorizer would terminate tree building at these
intrinsic calls (as NeedToGather nodes). That left their operand chains
(loads, fmul, fsub, etc.) entirely scalar. This patch adds a new seed
discovery pass in vectorizeChainsInBlock.


  Commit: 7765fd8653b7670f37c73fef51a8c0b2df36591c
      https://github.com/llvm/llvm-project/commit/7765fd8653b7670f37c73fef51a8c0b2df36591c
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/EnableArmStreaming.cpp
    M mlir/test/Dialect/ArmSME/enable-arm-streaming.mlir
    M mlir/test/Dialect/ArmSME/enable-arm-za.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Prefix SME streaming attributes with "llvm." for propagation (#190864)

Function-level attributes enabling SME in the backend (e.g.
arm_streaming, arm_locally_streaming) were dropped when converting
func.func to llvm.func after ed37bdc, because attribute propagation
during FuncToLLVM conversion only preserves attributes prefixed with
"llvm.". Prefix these discardable attributes accordingly.


  Commit: c42a957dece2c19454ac3d8d7028e7f16704899b
      https://github.com/llvm/llvm-project/commit/c42a957dece2c19454ac3d8d7028e7f16704899b
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  [CIR][NFC] Remove dead code in popCleanupBlock (#191029)

The CIR popCleanupBlock implementation contained a lot of logic that was
copied from the classic codegen implementation but had become
effectively dead code after the redesign of cleanup and exception
handling in CIR because our cleanups are no longer based on blocks and
branches. This change removes that code.


  Commit: 061420021a2b0dc391071a45fe7cc0360236d539
      https://github.com/llvm/llvm-project/commit/061420021a2b0dc391071a45fe7cc0360236d539
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py
    M lldb/test/API/functionalities/scripted_frame_provider/thread_filter/main.cpp

  Log Message:
  -----------
  [lldb] Fix the TestFrameProviderThreadFilter test on Windows (#191046)

This is the update for #191025.


  Commit: 9a5904b20d76b24ac64e26b83e6407cc9ddbcc83
      https://github.com/llvm/llvm-project/commit/9a5904b20d76b24ac64e26b83e6407cc9ddbcc83
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.exec.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.exec.wave32.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for init_exec intrinsics (#191040)


  Commit: 270e7b497ec893a43e60a0db35f10c0153200e38
      https://github.com/llvm/llvm-project/commit/270e7b497ec893a43e60a0db35f10c0153200e38
  Author: bernborgess <62393097+bernborgess at users.noreply.github.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M mlir/include/mlir/IR/Value.h

  Log Message:
  -----------
  [mlir][docs] Fix typos / tweak `mlir::Value` class documentation (#191042)


  Commit: 006d352744175de88ee0c071be367c3482c76cfa
      https://github.com/llvm/llvm-project/commit/006d352744175de88ee0c071be367c3482c76cfa
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-swmmac-index_key.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-swmmac-index_key.ll

  Log Message:
  -----------
  [AMDGPU][GISel] RegBankLegalize rules for SWMMAC instructions (#190997)


  Commit: b744548871866544f5a6e92290d422f2edd39a51
      https://github.com/llvm/llvm-project/commit/b744548871866544f5a6e92290d422f2edd39a51
  Author: Paweł Bylica <pawel at hepcolgum.band>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/lib/CodeGen/CGCall.cpp
    A clang/test/CodeGenCXX/musttail-noexcept-error.cpp
    A clang/test/CodeGenCXX/musttail-noexcept.cpp

  Log Message:
  -----------
  [Clang] Allow musttail in noexcept functions when callee is nounwind (#190945)

noexcept functions push an EHTerminateScope onto the cleanup stack. The
musttail codegen did not know how to skip this scope, causing a "cannot
compile this tail call skipping over cleanups yet" error even when both
caller and callee are noexcept.

Skip the EHTerminateScope when the callee is nounwind (noexcept). The
callee's own noexcept handler prevents any exception from propagating,
so the caller's terminate handler is unnecessary.

Fixes #53087.


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

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPeepHoleOptimizer.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
    M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
    M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
    M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp

  Log Message:
  -----------
  [MLIR][XeGPU] TensorDesc Type support generic DistributeLayout instead of Layout (#190401)

This PR allows TensorDesc to support slice layout, not just plain
layout.


  Commit: 8d106eb976533e522d30b0b6da78445a8f5ec697
      https://github.com/llvm/llvm-project/commit/8d106eb976533e522d30b0b6da78445a8f5ec697
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Target/SyntheticFrameProvider.h
    M lldb/include/lldb/Target/Target.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/include/lldb/Utility/ScriptedMetadata.h
    M lldb/include/lldb/lldb-defines.h
    M lldb/source/Target/SyntheticFrameProvider.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/test/API/functionalities/scripted_frame_provider/pass_through_prefix/TestFrameProviderPassThroughPrefix.py

  Log Message:
  -----------
  [lldb/Target] Unify frame provider descriptor and chain IDs (#190712)

Replace the two separate ID systems for frame providers — hash-based
descriptor IDs in Target and sequential chain IDs in Thread — with a
single monotonically increasing counter in Target.

Provider IDs are now assigned by
Target::AddScriptedFrameProviderDescriptor
and used directly as the chain ID in Thread, so
RegisterScriptedFrameProvider
returns the same ID used by 'bt --provider'. Also add duplicate
detection to
emit a warning when registering a provider with the same class name and
arguments twice.

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


  Commit: 69e0367e8221b8002b5d438fb70ff3daf36257fc
      https://github.com/llvm/llvm-project/commit/69e0367e8221b8002b5d438fb70ff3daf36257fc
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp
    A clang/test/ClangScanDeps/modules-byname-dup-module-decl-diag.c
    A clang/test/ClangScanDeps/modules-mmap-redef.c
    A clang/test/Modules/implicit-module-redefinition-same-file.c
    A clang/test/Modules/implicit-module-redefinition.c

  Log Message:
  -----------
  [clang][Modules] Diagnosing Module Redefinition Across ModuleMaps (#190085)

This PR enhances the module redefinition diagnostic to cover a very
specific case.

1. A module, say `B`, is discovered first during header search. In other
words, it is declared in a modulemap that shows up first on the search
paths.
2. `B` is declared again in a different modulemap, which shows up in a
later search path, and the compiler discovers `B` again when it is
searching for a different named module.

See the two tests added for examples of this specific scenario. Under
such a scenario, the compiler now reports the module redefined error.

Note that we are not diagnosing duplicating module definitions globally,
because that requires looking through all search paths and loading all
module maps, which is too expensive.

Assisted-by: claude-opus-4.6


  Commit: be072baa33d25dbad9d2cf53c2604b19aa293315
      https://github.com/llvm/llvm-project/commit/be072baa33d25dbad9d2cf53c2604b19aa293315
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  [CIR][NFC] Simplify LexicalScope::cleanup() (#191034)

The LexicalScope::cleanup() function contained a lot of logic that had
been copied from the classic codegen version of this function to
properly handle branching through cleanup blocks. Since CIR cleanups are
no longer based on blocks and branches, this had become dead code. This
change simplifies the function accordiningly. This also removes the
LexicalScope::getCleanupBlock() function which is no longer called, and
the LexicalScope::createCleanupBlock() and
LexicalScope::getOrCreateCleanupBlock() functions which weren't called
even before this change.

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


  Commit: fbdfff47c7e4cdb29512bc78cad5978fa2a86ce9
      https://github.com/llvm/llvm-project/commit/fbdfff47c7e4cdb29512bc78cad5978fa2a86ce9
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M libcxx/include/__atomic/contention_t.h
    M libcxx/include/__cxx03/__atomic/contention_t.h
    M libcxx/src/atomic.cpp

  Log Message:
  -----------
  [libc++] Use Fuchsia futex operations (#133571)

The basic futex operations have always been available on Fuchsia.
Wire them up to properly support C++20 atomic notify_*/wait.


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

  Changed paths:
    M flang/lib/Semantics/check-cuda.cpp
    A flang/test/Lower/CUDA/cuda-unified.cuf

  Log Message:
  -----------
  [flang][cuda] Disable host array check when unified is enabled (#191054)


  Commit: 503357350ce915a53a8147ac584d8b9ae4814be7
      https://github.com/llvm/llvm-project/commit/503357350ce915a53a8147ac584d8b9ae4814be7
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/test/CodeGen/SPIRV/linkage/linkage-types.ll

  Log Message:
  -----------
  [SPIR-V] Drop initializer for Import linkage type globals (#190942)

Per SPIR-V spec, variable with Import linkage must not have initializer

Fix corresponding spirv-val error:
```
error: A module-scope OpVariable with initialization value cannot be marked with the Import Linkage Type.
```

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


  Commit: 996599ddd95c81cbdf2c12336f3db6baec4499c5
      https://github.com/llvm/llvm-project/commit/996599ddd95c81cbdf2c12336f3db6baec4499c5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll

  Log Message:
  -----------
  [LV] Add VPlan printing tests checking SCEV expansion (NFC). (#191053)

Add additional test cases checking VPlan output of SCEV expansions.


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

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    M flang/test/Lower/CUDA/cuda-device-proc.cuf

  Log Message:
  -----------
  [flang][cuda] Implicitly set bind(c) called kernel as global (#191050)


  Commit: 075094f9bf460448ffb8f42d7e33925646694268
      https://github.com/llvm/llvm-project/commit/075094f9bf460448ffb8f42d7e33925646694268
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M libc/hdr/types/char32_t.h
    M libc/shared/rpc_server.h
    M libc/src/__support/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt

  Log Message:
  -----------
  [libc][MacOS] Enable wchar conversion and rpc_server (#191065)

Originally the wchar conversion was disabled due to MacOS not providing
uchar.h. We only needed it for char32_t so this PR just provides it
directly from our headers on MacOS. This also fixes fwrite_unlocked not
being available on MacOS which is needed for rpc_server.h.


  Commit: f1c2e3cc68d95a0a4f975fdcbdf099398786a956
      https://github.com/llvm/llvm-project/commit/f1c2e3cc68d95a0a4f975fdcbdf099398786a956
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [libc][math] Refactor cbrtbf16 function header-only (#188204)

Co-authored-by: bassiounix <muhammad.m.bassiouni at gmail.com>


  Commit: 59bafb5fdd5c6e29b1d03af2499e05c0d5499e80
      https://github.com/llvm/llvm-project/commit/59bafb5fdd5c6e29b1d03af2499e05c0d5499e80
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.monitor.sleep.ll

  Log Message:
  -----------
  [AMDGPU][GISel] RegBankLegalize rules for amdgcn_s_monitor_sleep (#191063)


  Commit: d03e8f4fac8edc303dfebeb9929c32b6d31c77c8
      https://github.com/llvm/llvm-project/commit/d03e8f4fac8edc303dfebeb9929c32b6d31c77c8
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    R libc/include/arpa/inet.h.def
    M libc/include/arpa/inet.yaml
    R libc/include/complex.h.def
    M libc/include/complex.yaml
    R libc/include/elf.h.def
    M libc/include/elf.yaml
    R libc/include/fcntl.h.def
    M libc/include/fcntl.yaml
    R libc/include/inttypes.h.def
    M libc/include/inttypes.yaml
    M libc/include/llvm-libc-types/imaxdiv_t.h
    R libc/include/netinet/in.h.def
    M libc/include/netinet/in.yaml
    R libc/include/poll.h.def
    M libc/include/poll.yaml
    R libc/include/sched.h.def
    M libc/include/sched.yaml
    R libc/include/signal.h.def
    M libc/include/signal.yaml
    R libc/include/stdio.h.def
    M libc/include/stdio.yaml
    R libc/include/stdlib.h.def
    M libc/include/stdlib.yaml
    R libc/include/sysexits.h.def
    M libc/include/sysexits.yaml
    R libc/include/termios.h.def
    M libc/include/termios.yaml
    R libc/include/unistd.h.def
    M libc/include/unistd.yaml
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Remove yet another batch of header template files (#191067)

This follows up on ae63230c23151c16ba68d5213da8bd5459c03a40 and remove
header templates from more C/POSIX standard headers, where templates
only used to `#include` files with macro definitions. We add this logic
to YAML instead - add entries to the `macros` list that point to the
correct `macro_header` to ensure it would be included.


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

  Changed paths:
    M clang/lib/Driver/ModulesDriver.cpp
    A clang/test/Driver/modules-driver-clang-modules-only.cpp
    M clang/test/Driver/modules-driver-manifest-input-args.cpp

  Log Message:
  -----------
  [clang][ModulesDriver] Add support for Clang modules to -fmodules-driver (#187606)

This PR adds basic support for explicit module builds using Clang
modules only, managed natively by the Clang driver.
(Caching of built modules is not included in this PR.)

RFC for driver-managed module builds:

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


  Commit: 17ff42ff9bf301e465f68acd79c4c74f25962fd0
      https://github.com/llvm/llvm-project/commit/17ff42ff9bf301e465f68acd79c4c74f25962fd0
  Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
    M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
    M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
    M mlir/test/Conversion/XeGPUToXeVM/loadstore_1d.mlir
    M mlir/test/Conversion/XeGPUToXeVM/loadstore_nd.mlir
    M mlir/test/Conversion/XeGPUToXeVM/loadstore_nd_sub_byte.mlir
    M mlir/test/Conversion/XeGPUToXeVM/loadstoreprefetch.mlir
    M mlir/test/Conversion/XeGPUToXeVM/prefetch_nd.mlir
    M mlir/test/Conversion/XeGPUToXeVM/prefetch_nd_sub_byte.mlir
    M mlir/test/Conversion/XeVMToLLVM/xevm-to-llvm.mlir

  Log Message:
  -----------
  [mlir][XeGPUToXeVM][XeVMToLLVM] Update the default cache-control values. (#190954)

In XeGPU, user can provide cache control value for only certain levels,
they do not have to provide cache-control value for all levels. However,
XeVM requires that each cache level must have a cache-control value. To
solve this issue, XeGPUToXeVM conversion pass adds default value to
cache-levels that does not have a user-provided cache-control value.

This PR updates this process in the following way:
- If no cache-control hint is provided for any levels, use system
default (USE_DEFAULT).
- If any of the levels has at least one cache-control value, use certain
default value for other levels.

If system default (USE_DEFAULT) is used, no cache-control metadata
annotation is necessary.


  Commit: 9a14f0f5e75359e07bdef3e9a50cf8c191f92515
      https://github.com/llvm/llvm-project/commit/9a14f0f5e75359e07bdef3e9a50cf8c191f92515
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/s-barrier.ll
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td

  Log Message:
  -----------
  [AMDGPU] Emit s_barrier_signal for s.barrier.signal.var when able (#191028)

When the member count is 0 (which causes the barrier's member count to
be re-used from a previous barrier initialization or
s.barrier.signal.var) and the barrier is constant, we can represent
named barrier signaling with the m0-less form. Enable this behavior.

Assisted by Opus 4.6 which drafted the initial implementation.


  Commit: 03d0986b24d5e7a4eacc73729ac4876c7bcb85d0
      https://github.com/llvm/llvm-project/commit/03d0986b24d5e7a4eacc73729ac4876c7bcb85d0
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  gn build: Port 1f1ea1ae4151



Reviewers: 

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


  Commit: cdd2a760ff99f213f114c3badf32ed47846bdc56
      https://github.com/llvm/llvm-project/commit/cdd2a760ff99f213f114c3badf32ed47846bdc56
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  gn build: Port 4913bd5588ad



Reviewers: 

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


  Commit: 1be9eed7b360e5d1c5027c86fb6e655a8d172012
      https://github.com/llvm/llvm-project/commit/1be9eed7b360e5d1c5027c86fb6e655a8d172012
  Author: SiliconA-Z <gfunni234 at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
    M llvm/test/Transforms/ObjCARC/test_autorelease_pool.ll

  Log Message:
  -----------
  [ObjCARC] Optimize MayAutorelease by skipping over pools (#188583)

This enables the ARC optimizer to remove autoreleasePoolPush/Pop pairs
that were previously retained. By skipping over nested autorelease
pools, MayAutorelease now correctly recognizes that autoreleases
contained within an inner pool do not escape, allowing the removal of
outer pool boundaries.


  Commit: d9e52ccd1aeb572f56806bc8f64005afd47dc617
      https://github.com/llvm/llvm-project/commit/d9e52ccd1aeb572f56806bc8f64005afd47dc617
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M libcxx/docs/TestingLibcxx.rst
    A libcxx/test/requirements.txt
    A libcxx/test/selftest/filecheck.negative.sh.cpp
    A libcxx/test/selftest/filecheck.sh.cpp
    A libcxx/test/selftest/splitfile.sh.cpp
    M libcxx/utils/libcxx/test/features/misc.py

  Log Message:
  -----------
  [libc++] Optionally support filecheck and split-file (#165769)

This patch adds optional support for FileCheck and split-file in
libc++'s test suite. Whether FileCheck / split-file is available
can be queried using Lit features.

This should make it possible to test several things that were
previously impossible to test, especially for specific code
generation.

Supersedes #65917 and #188283


  Commit: 3b3ac5a1169722bff1ae0f5f8f27a48cc08c3d02
      https://github.com/llvm/llvm-project/commit/3b3ac5a1169722bff1ae0f5f8f27a48cc08c3d02
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  [bazel] Remove unnecessary textual_hdrs usage (#191072)

textual_hdrs is supposed to be used for header files that aren't
standalone, which isn't the case for these mlir headers. Being in
textual_hdrs excludes them from header parsing, which means
layering_check results aren't entirely valid. I'm going to try and
enable header parsing on these targets in a follow up change.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-stores.ll

  Log Message:
  -----------
  [SLP] Create SLP trees starting from constant stride stores (#185964)

Must use `-slp-enable-strided-stores` to enable.


  Commit: f7365375d9ecda7b715066e25fcb8730957a3c6a
      https://github.com/llvm/llvm-project/commit/f7365375d9ecda7b715066e25fcb8730957a3c6a
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    A clang/test/SemaHIP/incorrect-atomic-scope.hip
    A clang/test/SemaOpenCL/incorrect-atomic-scope.cl

  Log Message:
  -----------
  [Clang][NFC] tests showcasing incorrect use of HIP and OpenCL memory scope macros (#188890)

The tests demonstrate how incorrect LLVM IR is generated without
diagnostics, when an OpenCL or HIP scope number is passed to an AMDGPU
intrinsic. #185408 lays the groundwork for properly diagnosing this
situation by internally using a separate enum type to represent each set
of scope numbers.


  Commit: 53e0c2bfc95e00e2212af2d9954e5d1f91850b7d
      https://github.com/llvm/llvm-project/commit/53e0c2bfc95e00e2212af2d9954e5d1f91850b7d
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  [bazel] Rename PYBIND11 variables (#191095)

These are still used with nanobind so this name was misleading


  Commit: 0c36771309f4f87a76a006a3a1430b30bede624a
      https://github.com/llvm/llvm-project/commit/0c36771309f4f87a76a006a3a1430b30bede624a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  [RISCV] Remove NoVendorXMIPSCBOP from the Zicbop instructions. (#191015)

The XMIPSCBOP encodings use OP-CUSTOM-0 so there's no encoding overlap
here. Presence of a vendor extension should not disable parsing or
disassembly of a standard extension that doesn't overlap.


  Commit: 8ce74e79d9dfe65b408ade6b38558553878c60d4
      https://github.com/llvm/llvm-project/commit/8ce74e79d9dfe65b408ade6b38558553878c60d4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/ARM/funnel-shift.ll
    M llvm/test/CodeGen/Mips/funnel-shift.ll
    M llvm/test/CodeGen/PowerPC/funnel-shift.ll
    M llvm/test/CodeGen/X86/funnel-shift.ll
    M llvm/test/CodeGen/X86/i128-udiv.ll

  Log Message:
  -----------
  [TargetLowering] Add support for more constants to expandDIVREMByConstant. (#189286)

If we can find a chunk size k where 2^k mod divisor == -1, we can add
the even chunks and subtract the odd chunks. The resulting sum may be
negative, so we need to add 2^k + 1 (a multiple of divisor) for each odd
chunk to ensure the result is positive. We have enough extra bits
between the chunk size and HBitWidth to avoid overflow.

The idea here is similar to checking if a decimal number is divisible by
11. You can add the even digits and subtract the odd digits. If the
resulting sum is divisible by 11 the original number is divisible by 11.


  Commit: d0a54493b3e95c3126fccfbbf08db9abbe2b1d01
      https://github.com/llvm/llvm-project/commit/d0a54493b3e95c3126fccfbbf08db9abbe2b1d01
  Author: Aviral Goel <aviralg at users.noreply.github.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/DerivedAnalysis.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/WPASuite.h
    M clang/lib/ScalableStaticAnalysisFramework/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
    A clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/WPASuite.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Plugins/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/AnalysisResults.h
    A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/PairsAnalysis.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/TagsAnalysis.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/TagsPairsAnalysis.cpp
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/duplicate-analysis-name.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/missing-results.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-count.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-pair-counts.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-entry-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-missing-entity-id.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-analysis-name-not-string.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-deserializer-error.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-analysis-name.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-result-field.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-no-format-info.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-result-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/results-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-all-results.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-multiple-results.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-bad-element.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-missing-tags.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-bad-field-type.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-missing-field.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/with-plugin.test
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/without-plugin.test
    A clang/test/Analysis/Scalable/ssaf-format/lit.local.cfg
    M clang/test/CMakeLists.txt
    M clang/tools/clang-ssaf-format/CMakeLists.txt
    M clang/tools/clang-ssaf-format/SSAFFormat.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.h
    M clang/unittests/ScalableStaticAnalysisFramework/TestFixture.h

  Log Message:
  -----------
  [clang][ssaf] Add `JSONFormat` support for `WPASuite` (#191082)

This patch adds `JSONFormat` serialization support for `WPASuite`.

- Adds `readWPASuite` / `writeWPASuite` to the `SerializationFormat`
abstract interface and implements them in `JSONFormat`.
- Introduces `AnalysisResultRegistryGenerator`, a per-format plugin
registry template in `SerializationFormat`, allowing analysis authors to
register (de)serializers for their `AnalysisResult` subtypes with a
single static declaration.
- Extends `PrivateFieldNames.def` with `WPASuite::Data` and
`WPASuite::IdTable`, and adds a `makeWPASuite()` factory to
`SerializationFormat`, so deserialization code can construct a
`WPASuite` incrementally through the same access-controlled pattern used
for all other SSAF data structures.


  Commit: e65dd1f8a0c8cfd2255f336e5096232f587ed397
      https://github.com/llvm/llvm-project/commit/e65dd1f8a0c8cfd2255f336e5096232f587ed397
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/musttail.ll

  Log Message:
  -----------
  [RISCV][NFC] Improve Musttail Comments/Tests (#191093)

In the Target code, this is mostly fixing typos or other comment issues.

In the musttail.ll test, this ensures the tests are more aligned with
their comments, and that the comments are accurate. I inserted some
inline asm clobbers so it's also easier to see what's going on.


  Commit: fc48fac95b8b1bad161c705dd4bf71300bd2b609
      https://github.com/llvm/llvm-project/commit/fc48fac95b8b1bad161c705dd4bf71300bd2b609
  Author: Stefan Schulze Frielinghaus <stefansf at linux.ibm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  [TSan] Fix determining static TLS blocks (#183106)

Running gcc test c-c++-common/tsan/tls_race.c on s390 we get:

ThreadSanitizer: CHECK failed: tsan_platform_linux.cpp:618 "((thr_beg))
>= ((tls_addr))" (0x3ffaa35e140, 0x3ffaa35e250) (tid=2419930)
#0 __tsan::CheckUnwind() /devel/src/libsanitizer/tsan/tsan_rtl.cpp:696
(libtsan.so.2+0x91b57)
#1 __sanitizer::CheckFailed(char const*, int, char const*, unsigned long
long, unsigned long long)
/devel/src/libsanitizer/sanitizer_common/sanitizer_termination.cpp:86
(libtsan.so.2+0xd211b)
#2 __tsan::ImitateTlsWrite(__tsan::ThreadState*, unsigned long, unsigned
long) /devel/src/libsanitizer/tsan/tsan_platform_linux.cpp:618
(libtsan.so.2+0x8faa3)
#3 __tsan::ThreadStart(__tsan::ThreadState*, unsigned int, unsigned long
long, __sanitizer::ThreadType)
/devel/src/libsanitizer/tsan/tsan_rtl_thread.cpp:225
(libtsan.so.2+0xaadb5)
#4 __tsan_thread_start_func
/devel/src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1065
(libtsan.so.2+0x3d34d)
#5 start_thread <null> (libc.so.6+0xae70d) (BuildId:
d3b08de1b543c2d15d419bf861b3c2e4c01ac75b)
#6 thread_start <null> (libc.so.6+0x12d2ff) (BuildId:
d3b08de1b543c2d15d419bf861b3c2e4c01ac75b)

In order to determine the static TLS blocks in GetStaticTlsBoundary we
iterate over the modules and try to find the largest range without a
gap. Here we might have that modules are spaced exactly by the
alignment. For example, for the failing test we have:

(gdb) p/x ranges.data_[0]
$1 = {begin = 0x3fff7f9e6b8, end = 0x3fff7f9e740, align = 0x8, tls_modid
= 0x3} (gdb) p/x ranges.data_[1]
$2 = {begin = 0x3fff7f9e740, end = 0x3fff7f9eed0, align = 0x40,
tls_modid = 0x2} (gdb) p/x ranges.data_[2]
$3 = {begin = 0x3fff7f9eed8, end = 0x3fff7f9eef8, align = 0x8, tls_modid
= 0x4} (gdb) p/x ranges.data_[3]
$4 = {begin = 0x3fff7f9eefc, end = 0x3fff7f9ef00, align = 0x4, tls_modid
= 0x1}

where ranges[3].begin == ranges[2].end + ranges[3].align holds. Since in
the loop a strict inequality test is used we compute the wrong address

(gdb) p/x *addr
$5 = 0x3fff7f9eefc

whereas 0x3fff7f9e6b8 is expected which is why we bail out in the
subsequent.


  Commit: dabd8cc2334917272fe73b70626fd3a5f9e63cf5
      https://github.com/llvm/llvm-project/commit/dabd8cc2334917272fe73b70626fd3a5f9e63cf5
  Author: Marian Buschsieweke <maribu at users.noreply.github.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

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

  Log Message:
  -----------
  [compiler-rt] fix __sanitizer::struct_sock_fprog_sz availability (#183411)

`struct sock_fprog` is not provided by glibc, but rather by the linux
headers (`#include <linux/filter.h`). It seems that glibc due to an
implementation detail internally includes `<linux/filter.h>` somewhere
other C libs (e.g. musl) do not, which previously caused build failures
and let to disabling `struct sock_fprog` on non-glibc Linux systems.

This adds the missing include and provides it again for all Linux
systems regardless of C lib.


  Commit: 42629d7a174a62b98835e2e4c738ccdce027590b
      https://github.com/llvm/llvm-project/commit/42629d7a174a62b98835e2e4c738ccdce027590b
  Author: Shreeyash Pandey <shreeyash335 at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
    M llvm/test/CodeGen/AArch64/logical-op-with-not.ll

  Log Message:
  -----------
  [AArch64][CodeGen] match (or x (not y)) to generate mov+orn (#190769)

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

Adds AddedComplexity to increase the priority the pattern that matches
(or x (not y)) and generates a mov+orn instead of the original mvn+orr.

The number of instructions still stay the same but mov+orn can be
considered better than mvn+orr for two reasons:
1. Symmetry: For the same input with an 'and' instead of 'or', mov+bic
is generated.
2. Optimzation through register rename: If mov is immediate (for
example, 'mov x1, #0x4'), it can be retired early by the register
renamer and never issued for execution.


  Commit: 3b9f7913148d0f5d952ce85e8d8dd6ae4fec678b
      https://github.com/llvm/llvm-project/commit/3b9f7913148d0f5d952ce85e8d8dd6ae4fec678b
  Author: Mads Marquart <mads at marquart.dk>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M compiler-rt/lib/lsan/lsan_common.cpp

  Log Message:
  -----------
  [LSAN] Add extra suppressions on Apple Aarch64 (#117478)

- _fetchInitializingClassList for startup code in dyld.
- dyld4::RuntimeState::_instantiateTLVs for thread locals.

Fixes https://github.com/llvm/llvm-project/issues/115992, now it shows
the following instead (in a project using thread locals):
```
-----------------------------------------------------
Suppressions used:
  count      bytes template
      3        120 *_fetchInitializingClassList*
      1        104 *dyld4::RuntimeState::_instantiateTLVs*
-----------------------------------------------------
```


  Commit: edff73e19e4448541086431b325df75de62817ba
      https://github.com/llvm/llvm-project/commit/edff73e19e4448541086431b325df75de62817ba
  Author: Mészáros Gergely <gergely.meszaros at intel.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ABI/FunctionInfo.h

  Log Message:
  -----------
  [LLVMABI] Fix build for GCC < 8 (#190974)

`llvm::abi::ArgInfo::get*` functions return `llvm::abi::ArgInfo` by
value, so we need the type to be copyable. It is not though, because of
the non trivially copyable member `MaybeAlign` (`std::optional<Align>`)
in a union, which deletes the implicit copy/move constructors and
assignment operators.
For modern GCC versions and for clang this does not present as a problem
due to named return value optimization (NRVO). It is however not a bug
in old GCC versions, because NRVO is not guaranteed. Similary
`std::optional`
could be trivially copyable, but that is also not guaranteed by the
standard.

Instead of depending on these details of the C++ implementation, move
the `MaybeAlign` member out of the union, and make it a separate member
of `abi::ArgInfo`. We lose the expressiveness from the type system that
`IndirectAttrInfo` always has a defined alignment, but we can get that
back in practice by placing asserts in the code that uses it. Therefore
`llvm::abi::ArgInfo` can still maintain this invariant.

Fixes: #190972


  Commit: 82aee4c03a0a6e3ab616b5253edf79b48e013b71
      https://github.com/llvm/llvm-project/commit/82aee4c03a0a6e3ab616b5253edf79b48e013b71
  Author: Nikita Terentev <svet58585 at mail.ru>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
    M llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp

  Log Message:
  -----------
  [llvm-debuginfo-analyzer] Fix missed 'else'  in LVCodeViewReader and LVDWARFReader.cpp.  (#188578)

Issues found PVS studio static analyzer. LVCodeViewReader.cpp. PR for #170117.

4. Potent UB: manipulation of invalid object.
The PVS-Studio warning: V519 The 'FeaturesValue' variable is assigned values twice successively.

Committed on behalf of @Seraphimt


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

  Changed paths:
    M compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake

  Log Message:
  -----------
  [compiler-rt] Enable sanitizers, XRay, etc for hexagon (#190300)

Enable additional compiler-rt components in the hexagon-linux-clangrt
standalone cache file.

Also set CAN_TARGET_hexagon=1 to bypass the try_compile() probe that
fails during cross-compilation, and configure SANITIZER_CXX_ABI to use
the in-tree libc++ to avoid link failures.


  Commit: b48f5af727f2c99d0f8c2a0c0ef85737ec682d3f
      https://github.com/llvm/llvm-project/commit/b48f5af727f2c99d0f8c2a0c0ef85737ec682d3f
  Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
    M llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp

  Log Message:
  -----------
  Revert "Fix missed 'else'  in LVCodeViewReader and LVDWARFReader.cpp. " (#191109)

Reverts llvm/llvm-project#188578

It cause a test failure on multiple buildbots.


  Commit: ec78b2184fe69e27913ba729f3db300f4d26d260
      https://github.com/llvm/llvm-project/commit/ec78b2184fe69e27913ba729f3db300f4d26d260
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M orc-rt/unittests/SessionTest.cpp

  Log Message:
  -----------
  [orc-rt] Add ScheduleShutdownFromOnDetachHandler unit test. (#191110)

This test checks that it's safe to call Session::shutdown from an
on-detach handler, and that:
1. The Session does proceed to shut down.
2. All on-detach handlers run before any on-shutdown handlers.


  Commit: b55965c6dba9c417b654fc27cff19b6403496fa3
      https://github.com/llvm/llvm-project/commit/b55965c6dba9c417b654fc27cff19b6403496fa3
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/test/Driver/modules-driver-dep-graph.cpp

  Log Message:
  -----------
  clang/test: Prepend a cleanup triggered by #190062 (#191103)


  Commit: 501364026acf351a4a21dc52014d1a7ab4993329
      https://github.com/llvm/llvm-project/commit/501364026acf351a4a21dc52014d1a7ab4993329
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M orc-rt/include/orc-rt/Session.h

  Log Message:
  -----------
  [orc-rt] Add comment about Session::waitForShutdown usage. NFC. (#191111)

Add a warning not to call Session::waitFromShutdown from on-detach or
on-shutdown handlers.


  Commit: 16f02c0940d6ee783c38ca27b44fc158d77e7567
      https://github.com/llvm/llvm-project/commit/16f02c0940d6ee783c38ca27b44fc158d77e7567
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    A clang/test/CodeGen/X86/pr190962.ll
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h

  Log Message:
  -----------
  [X86][APX] Add copy instruction to LiveInterval of SrcReg (#191102)

Fixes: #190962


  Commit: 6d49460de1e5ee87de94d48fd72cf3cf3d5bfc5a
      https://github.com/llvm/llvm-project/commit/6d49460de1e5ee87de94d48fd72cf3cf3d5bfc5a
  Author: Mateusz Mikuła <oss at mateuszmikula.dev>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/test/Driver/mingw.cpp

  Log Message:
  -----------
  [Clang] [MinGW] Handle `-nolibc` argument (#182062)

This implementation differs from GCC, but arguably more in line with
Unix systems, because it stops linking of default Win32 system
libraries.

On GCC it works like this:
```
❯ /ucrt64/bin/gcc -### /dev/null -nolibc 2>&1 | tr ' ' '\n' | rg '^\-l' | sort -u
-lgcc
-lgcc_eh
-lkernel32
-lmingw32
-lmingwex
-lmsvcrt

❯ /ucrt64/bin/gcc -### /dev/null 2>&1 | tr ' ' '\n' | rg '^\-l' | sort -u
-ladvapi32
-lgcc
-lgcc_eh
-lkernel32
-lmingw32
-lmingwex
-lmsvcrt
-lpthread
-lshell32
-luser32
```
Clang with this PR:
```
❯ ./bin/clang -### /dev/null -nolibc 2>&1 | tr ' ' '\n' | rg '^"\-l' | sort -u
"-lgcc"
"-lgcc_eh"
```

The motivation for supporting this argument comes from Rust, which wants
to control what is linked, but still utilize compiler builtins. With GCC
that is done by supplying `-nodefaultlibs` and `-lgcc`, but LLVM's
compiler-rt cannot be added back as easily.
`-nolibc --unwindlib=none` that skips Win32 libs would give the parity
with GCC's `-nodefaultlibs -lgcc`.


  Commit: 5359e80b812971298e895556e097666b6d426081
      https://github.com/llvm/llvm-project/commit/5359e80b812971298e895556e097666b6d426081
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M orc-rt/include/orc-rt/Session.h
    M orc-rt/lib/executor/Session.cpp

  Log Message:
  -----------
  [orc-rt] Simplify notification service construction in Session. NFC. (#191113)

We can replace the addNotificationService method with a call to the
generic createService method that was introduced in 98ccac607a9ff.


  Commit: ada1a0080748ba43cda2081184f46416aec1f4e9
      https://github.com/llvm/llvm-project/commit/ada1a0080748ba43cda2081184f46416aec1f4e9
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    A llvm/test/MC/ARM/thumb-ldr-stretch.s
    A llvm/test/MC/CSKY/lrw-stretch.s

  Log Message:
  -----------
  [test] Add MC relaxation stretch tests (#191118)

Verify:

- ARM tLDRpci instructions don't spuriously widen to t2LDRpci when
  upstream branches relax, which would push cbz targets out of range.
  This would catch the #184544 regression.
- CSKY lrw16 instructions don't spuriously widen to lrw32 when
  upstream branches relax. Similar to ARM.


  Commit: 0d42811ea4658b3e86a3801b3bc848324f8540f8
      https://github.com/llvm/llvm-project/commit/0d42811ea4658b3e86a3801b3bc848324f8540f8
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [AArch64] Avoid expensive getStrictlyReservedRegs calls in isAnyArgRegReserved (#190957)

`AArch64RegisterInfo::isAnyArgRegReserved` is used during call lowering
across all instruction selectors (SDAG, GISel, FastISel) to emit an
error if any of the arg registers (x0-x7) are reserved. This puts
`AArch64RegisterInfo::getStrictlyReservedRegs` which computes this in
the hot-path and it shows up in compile-time profiles since it's
computed for every call.

As the intent was to guard against using +reserve-x{0-7} with function
calls we can instead call `isXRegisterReserved` which is faster since
it's a simple BitVector lookup.

Compile-time improves across all instruction selectors on CTMark:

             geomean
    SDAG     ~ -0.14%
    GISel    ~  -0.6%
    FastISel ~  -0.7% (measured locally)

https://llvm-compile-time-tracker.com/compare.php?from=4d84263b341c3ee1847081c50e1541b62fbcb08c&to=23c4576c01d7d5e0e603366b86239e069410c3a7&stat=instructions%3Au

The numbers above are from the initial implementation that cached
`isAnyArgRegReserved`, but local experiments show instead calling
`isXRegisterReserved` is even faster. I also experimented with caching
`getStrictlyReservedRegs`, but the compile-time impact is negligible which
suggests this code isn't particularly hot and worth optimising outside of
call-lowering:

https://llvm-compile-time-tracker.com/compare.php?from=4d84263b341c3ee1847081c50e1541b62fbcb08c&to=38166d5afa9dd53320da0d47d4f056d08f0d75ca&stat=instructions%3Au

so I've also removed the FIXME from `getStrictlyReservedRegs`.


  Commit: 4575266a6615f352b53e12cf4510dbad1669b363
      https://github.com/llvm/llvm-project/commit/4575266a6615f352b53e12cf4510dbad1669b363
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/MC/MCAssembler.cpp
    A llvm/test/MC/X86/align-branch-convergence.s

  Log Message:
  -----------
  [MC] Track per-section inner relaxation iterations and add convergence test (#191121)

Count inner iterations (max across sections) instead of outer relaxOnce
calls. This more accurately reflects the work done during relaxation.

Add a test that verifies boundary alignment convergence may require
O(N) iterations where N is the number of BoundaryAlign fragments.
This will be fixed by #190318


  Commit: a5ae63917e863dc408a1f355620427e51c154fd9
      https://github.com/llvm/llvm-project/commit/a5ae63917e863dc408a1f355620427e51c154fd9
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/test/CodeGen/X86/pr190962.ll

  Log Message:
  -----------
  [X86] Fix No available targets failure (#191116)


  Commit: 7c1805d66484552700e04da1269ce2e7d53bec4c
      https://github.com/llvm/llvm-project/commit/7c1805d66484552700e04da1269ce2e7d53bec4c
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/ExpandVectorPredication.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll

  Log Message:
  -----------
  [RISCV] Remove codegen for vp_fabs, vp_fcopysign (#190592)

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

This splits off 2 intrinsics from #179622.

The remaining sign bit intrinsic vp_fneg is expanded in #190589 since
other tests rely on it


  Commit: e2b44f1fbe2dbff14b4067836b715f2201e35178
      https://github.com/llvm/llvm-project/commit/e2b44f1fbe2dbff14b4067836b715f2201e35178
  Author: Kit Dallege <xaum.io at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [libc][docs] Add fcntl.h POSIX header documentation (#188822)

Add YAML documentation for `fcntl.h` listing all functions and macros as
defined in POSIX.1-2024 (IEEE Std 1003.1-2024).

**Functions (6):** creat, fcntl, open, openat, posix_fadvise,
posix_fallocate

**Macros (51):** O_RDONLY, O_WRONLY, O_RDWR, O_APPEND, O_CREAT, O_EXCL,
O_TRUNC, F_DUPFD, F_GETFD, F_SETFD, F_GETFL, F_SETFL, AT_FDCWD,
POSIX_FADV_*, and more.

Part of #122006


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

  Changed paths:
    M clang/lib/Driver/ModulesDriver.cpp
    R clang/test/Driver/modules-driver-clang-modules-only.cpp
    M clang/test/Driver/modules-driver-manifest-input-args.cpp

  Log Message:
  -----------
  Revert "[clang][ModulesDriver] Add support for Clang modules to -fmodules-driver" due to memory leak (#191122)

Reverts llvm/llvm-project#187606 due to a memory leak.
See
https://github.com/llvm/llvm-project/pull/187606#issuecomment-4212198373


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll

  Log Message:
  -----------
  [RISCV] Remove codegen for vp_fp_to_{u,s}int, vp_{u,s}int_to_fp (#190576)

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

This splits off 4 intrinsics from #179622.


  Commit: 9162f069a3abf2cf3a2718a5607969bc83680f05
      https://github.com/llvm/llvm-project/commit/9162f069a3abf2cf3a2718a5607969bc83680f05
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/Other/new-pm-lto-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
    R llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
    A llvm/test/Transforms/PhaseOrdering/X86/loop-vectorize-metadata.ll

  Log Message:
  -----------
  [Passes] Enable vectorizers at Oz (#190182)

The way this is handled right now is very inconsistent. When using
`-passes="default<Oz>"` (the code modified here), both vectorizers were
disabled. The clang frontend enables SLP at Oz but not LoopVectorize.
All the LTO backends enable both vectorizers at Oz.

I'm proposing here that `default<Oz>` should enable both vectorizers by
default. There seems to be a consensus that this is the right thing to
do for SLP (as both Clang and LTO backends do this). It's a bit less
clear for LoopVectorize, but given that the implementation already has
special handling for minsize functions (like switching to code size for
cost modelling and disabling various size-increasing transforms) I'm
inclined that we should also be enabling it at minsize.

This is part of trying to make optsize/minsize purely attribute based
and independent of the pipeline optimization level.


  Commit: 9ba774566e27b76b9c7c2b2ddd108c140e2579fb
      https://github.com/llvm/llvm-project/commit/9ba774566e27b76b9c7c2b2ddd108c140e2579fb
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/IR/Verifier.cpp
    A llvm/test/CodeGen/AArch64/masked-sdiv-fixed-length.ll
    A llvm/test/CodeGen/AArch64/masked-sdiv-scalable.ll
    A llvm/test/CodeGen/AArch64/masked-srem-fixed-length.ll
    A llvm/test/CodeGen/AArch64/masked-srem-scalable.ll
    A llvm/test/CodeGen/AArch64/masked-udiv-fixed-length.ll
    A llvm/test/CodeGen/AArch64/masked-udiv-scalable.ll
    A llvm/test/CodeGen/AArch64/masked-urem-fixed-length.ll
    A llvm/test/CodeGen/AArch64/masked-urem-scalable.ll
    A llvm/test/CodeGen/PowerPC/masked-sdiv.ll
    A llvm/test/CodeGen/PowerPC/masked-srem.ll
    A llvm/test/CodeGen/PowerPC/masked-udiv.ll
    A llvm/test/CodeGen/PowerPC/masked-urem.ll
    A llvm/test/CodeGen/RISCV/rvv/masked-sdiv.ll
    A llvm/test/CodeGen/RISCV/rvv/masked-srem.ll
    A llvm/test/CodeGen/RISCV/rvv/masked-udiv.ll
    A llvm/test/CodeGen/RISCV/rvv/masked-urem.ll
    A llvm/test/CodeGen/X86/masked-sdiv.ll
    A llvm/test/CodeGen/X86/masked-srem.ll
    A llvm/test/CodeGen/X86/masked-udiv.ll
    A llvm/test/CodeGen/X86/masked-urem.ll
    A llvm/test/Verifier/masked-divrem.ll

  Log Message:
  -----------
  [IR] Add llvm.masked.{udiv,sdiv,urem,srem} intrinsics (#189705)

Because division by zero is undefined behaviour, when the loop
vectorizer encounters a div that's not unconditionally executed it needs
to replace its divisor with a non-zero value on any lane that wouldn't
have been executed in the scalar loop:

   %safedivisor = select <vscale x 2 x i1> %mask, <vscale x 2 x i64> %divisor, <vscale x 2 x i64> splat (i64 1)
   %res = udiv <vscale x 2 x i64> %dividend, %safedivisor

https://godbolt.org/z/jczc3ovbr

We need this for architectures like x86 where division by zero (or
overflow for sdiv/srem) can trap. But on AArch64 and RISC-V division
doesn't trap so we don't actually need to mask off any divisors. Not
only that, but there are also dedicated vector division instructions
that can be predicated.

Originally we tried to optimize this on RISC-V by transforming `udiv x,
(select mask, y, 1) -> vp.udiv x, y, mask`. However this isn't actually
a correct transform because the masked off lanes aren't poison, but x.
So with the safe-divisor pattern we end up losing the information that
the masked off lanes aren't actually used and can be poison.

This patch adds masked intrinsics for udiv and friends to
represent the semantics where the masked off lanes don't trap and
produce poison. This will allow AArch64 and RISC-V to emit their native
predicated division instructions and avoid the redundant select
instruction.

    %res = call <vscale x 4 x i32> @llvm.masked.udiv(<vscale x 4 x i32> %x, <vscale x 4 x i32> %y, <vscale x 4 x i1> %m)


  Commit: 485265734464e04ab9b2a64e6967157e52fac5d0
      https://github.com/llvm/llvm-project/commit/485265734464e04ab9b2a64e6967157e52fac5d0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M orc-rt/include/orc-rt/Session.h
    M orc-rt/lib/executor/Session.cpp
    M orc-rt/unittests/SessionTest.cpp

  Log Message:
  -----------
  [orc-rt] Remove Session::waitForShutdown. (#191124)

The existing implementation triggered Session shutdown and then blocked
on a std::future that would be unblocked by an on-shutdown callback that
waitForShutdown had installed. Since there is no guarantee that this
callback would be the last one run, the result was that waitForShutdown
only guaranteed that it would not return until the shutdown sequence had
started (rather than completed).

This could have been fixed, but the Session destructor is already
supposed to block until the Session can be safely destroyed, so a
"working" waitForShutdown would be effectively redundant. Since it was
also a potential footgun (calling it from an on-detach or on-shutdown
callback could deadlock) it was safer to just remove it entirely.

Some Session unit tests do rely on testing properties of the Session
after the shutdown sequence has started, so a new utility has been added
to SessionTests.cpp to support this.


  Commit: d512d4ab010a60fc06e65db91e25497840f9679f
      https://github.com/llvm/llvm-project/commit/d512d4ab010a60fc06e65db91e25497840f9679f
  Author: Pankaj Dwivedi <pankajkumar.divedi at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ADT/GenericUniformityImpl.h
    M llvm/lib/Analysis/UniformityAnalysis.cpp

  Log Message:
  -----------
  [UniformityAnalysis] Skip CycleAnalysis on targets without branch divergence (#189948)

UniformityAnalysis unconditionally computes CycleAnalysis even on
targets that don't care about divergence, causing measurable
compile-time overhead (see [#99878
(comment)](https://github.com/llvm/llvm-project/pull/175167#issuecomment-4156230947)).

---------

Co-authored-by: padivedi <padivedi at amd.com>


  Commit: fcb8fba5b7e7d717dd871528400abd37641aabbb
      https://github.com/llvm/llvm-project/commit/fcb8fba5b7e7d717dd871528400abd37641aabbb
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M orc-rt/unittests/SessionTest.cpp

  Log Message:
  -----------
  [orc-rt] Move RedundantAsyncShutdown to SessionTest suite. NFCI. (#191130)

RedundantAsyncShutdown is a Session test, not a ControllerAccess test.


  Commit: 5a7c1e0e9086bf048b6261240d331613bdbadcfe
      https://github.com/llvm/llvm-project/commit/5a7c1e0e9086bf048b6261240d331613bdbadcfe
  Author: Mao Chuanjun <10255501521 at stu.ecnu.edu.cn>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp

  Log Message:
  -----------
  [clang-tidy] Fix false positive in readability-non-const-parameter with dependent array subscripts (#190936)

Fixes #60163

---------

Co-authored-by: Zeyi Xu <zeyi2 at nekoarch.cc>


  Commit: 623d3bbdc5f7d78085c97261b0baff41901d4739
      https://github.com/llvm/llvm-project/commit/623d3bbdc5f7d78085c97261b0baff41901d4739
  Author: Phoebe Linck <phoebe.linck at hpe.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    A flang/test/Semantics/OpenMP/assumed-size-array-dsa.f90
    M flang/test/Semantics/OpenMP/cray-pointer-usage.f90

  Log Message:
  -----------
  [Flang][OpenMP] Data-sharing restrictions on assumed-size arrays (#189324)

Per `OpenMP 5.0 2.19.1 Data-Sharing Attribute Rules`, assumed-size
arrays are predetermined shared and may not appear in a data-sharing
clause besides `shared`.

Patch adds a semantics check for assumed-size arrays appearing in
clauses where they aren't allowed.


  Commit: ff3486071d34e21daf0df7ef6a154959772940de
      https://github.com/llvm/llvm-project/commit/ff3486071d34e21daf0df7ef6a154959772940de
  Author: Yeongu Choe <yeongu.choe at icloud.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-constrained-fcmp.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [LLVM][GlobalISel] Implement G_STRICT_FCMP in IRTranslator (#190754)

- `G_STRICT_FCMP` and `G_STRICT_FCMPS` are constrained operations in
gMIR.


  Commit: 3ad6afe0609b2138b81f773cf4fbe2d464bc26d6
      https://github.com/llvm/llvm-project/commit/3ad6afe0609b2138b81f773cf4fbe2d464bc26d6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M polly/lib/Transform/Canonicalization.cpp

  Log Message:
  -----------
  [Polly] Remove pipeline-level Oz handling for LoopRotate (#191137)

This handling was moved fully into the pass in
1662c200a5b151ad15b7efc82837076d8967dc11. However, that changed
missed the usage of LoopRotate in polly.


  Commit: 7fa216bb032aa0a90d5fe9c9b019162d4bb52ae5
      https://github.com/llvm/llvm-project/commit/7fa216bb032aa0a90d5fe9c9b019162d4bb52ae5
  Author: Max Graey <maxgraey at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/fp-floor-ceil.ll

  Log Message:
  -----------
  [InstCombine] Simplify `floor`/`ceil` to `trunc` for integral tests (#190620)

Partially fix https://github.com/llvm/llvm-project/issues/188035

Some proof checks:

`fcmp oeq ceil(x), x` -> `fcmp oeq trunc(x), x`
[Proof](https://alive2.llvm.org/ce/z/kLQeFQ)
`fcmp one floor(x), x` -> `fcmp one trunc(x), x`
[Proof](https://alive2.llvm.org/ce/z/vyVAUX)
`fcmp ueq ceil(x), x` -> `fcmp ueq trunc(x), x`
[Proof](https://alive2.llvm.org/ce/z/DbFMZb)
`fcmp une floor(x), x` -> `fcmp une trunc(x), x`
[Proof](https://alive2.llvm.org/ce/z/QVLQLw)

This may be useful for CSE (due to `trunc(x) == x` is quite common
integral test) or further simplifications specific to `trunc`. Also,
`trunc` is cheaper if it lowered to
[libm](https://git.musl-libc.org/cgit/musl/tree/src/math/trunc.c) /
[libc](https://github.com/llvm/llvm-project/blob/b4f50cfd4a3a086db3f88271c9595056a877ef90/libc/src/__support/FPUtil/NearestIntegerOperations.h#L25)
call


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

  Changed paths:
    M clang/docs/analyzer/user-docs/Annotations.rst
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [clang][docs] Improve documentation of [[ownership_returns]] attribute (#191005)

The 2 parameter use of this attribute wasn't documented.

This clarification is based of the following two commits:
 - https://github.com/llvm/llvm-project/commit/d21139a34f51
 - https://github.com/llvm/llvm-project/commit/893a303962608


  Commit: d404a2e5233cf63018f6f01040b3a2b2bec50cb3
      https://github.com/llvm/llvm-project/commit/d404a2e5233cf63018f6f01040b3a2b2bec50cb3
  Author: Shreeyash Pandey <shreeyash335 at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
    M llvm/test/CodeGen/AArch64/logical-op-with-not.ll

  Log Message:
  -----------
  Revert "[AArch64][CodeGen] match (or x (not y)) to generate mov+orn" (#191138)

Reverts llvm/llvm-project#190769

[Need to change email for the commit]


  Commit: a9b863ee5260f2eb6259cd828c09d1082f9d9e67
      https://github.com/llvm/llvm-project/commit/a9b863ee5260f2eb6259cd828c09d1082f9d9e67
  Author: Dhruva <dhruvakodiadka at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-stepvector.mir

  Log Message:
  -----------
  [GlobalISel] Add G_STEP_VECTOR to computeKnownBits. (#190598)

This code is adapted from SelectionDAG::computeKnownBits.
part of https://github.com/llvm/llvm-project/issues/150515.
ticks off STEP_VECTOR.


  Commit: 3f3a83cd7b95c1d5aa7dfb7698082823c6ae7d5b
      https://github.com/llvm/llvm-project/commit/3f3a83cd7b95c1d5aa7dfb7698082823c6ae7d5b
  Author: Carson Radtke <nosrac925 at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/test/Analysis/atomics.c

  Log Message:
  -----------
  [analyzer] Canonicalize _Atomic pointers in makeNullWithType (#190131)

Fixes #187925


  Commit: 85212908f2078271b3cd63807bbcd239ad676104
      https://github.com/llvm/llvm-project/commit/85212908f2078271b3cd63807bbcd239ad676104
  Author: Sergey Kachkov <109674256+skachkov-sc at users.noreply.github.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/RISCV/split-gep.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Fix incorrect inbounds flag in case of non-negative index but negative offset (#190192)

Fixes #190187 

Currently, SeparateConstOffsetFromGEP preserves inbounds attribute if
new sequence of GEPs from the same base pointer has non-negative offsets
in each GEP (this was mentioned in
https://github.com/llvm/llvm-project/pull/159515). This statement seems
correct for me (if the sequence consists from 2 GEPs), but current
implementation has a flaw: it checks that constant byte offset and GEP
indices are non-negative. However, in some corner cases we can have a
situation when the index is non-negative, but its offset (in bytes) is
negative, so we can't preserve inbounds attribute. In the example, GEP
index after transformation can have values
`0x7ffffffffffffffd`/`0x7ffffffffffffffe`/`0x7fffffffffffffff`; they are
all non-negative (sign bit is zero), however, after multiplication on
sizeof(i64) they become negative and inbounds can't be preserved
anymore.

The proposed fix is to check that Idx * ElementStride is non-negative
(instead of checking Idx only).


  Commit: 0646ebc6dc4fd328ee357d5463487729a50e0530
      https://github.com/llvm/llvm-project/commit/0646ebc6dc4fd328ee357d5463487729a50e0530
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-hoisting.td
    M llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand-invalid.td
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h

  Log Message:
  -----------
  [GlobalISel] Prevent hoisting of CheckIsSameOperand from creating invalid match tables (#190963)

Fixes #188513

This patch adds logic to ask PredicateMatchers whether they'd like to be
hoisted out of a specific Matcher or not.
SameOperandMatcher can use it to check if it's being hoisted out of the
RuleMatcher that defines the operand it relies on.

Assisted-By: Claude Opus 4.6
Context of Use: Claude was only used to add LLVM-style RTTI to the
matcher class (repetitive work). I then reviewed and cleaned up the code
it generated.


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

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

  Log Message:
  -----------
  [VPlan] Add ::getSingleVF() helper and use it (NFC). (#191055)

Suggested as follow-up during recent reviews, including
https://github.com/llvm/llvm-project/pull/190393.


  Commit: 918e446ef28ac97df20d6ef2bd50c78e2fe903ac
      https://github.com/llvm/llvm-project/commit/918e446ef28ac97df20d6ef2bd50c78e2fe903ac
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py

  Log Message:
  -----------
  [lldb] Handle simulator printout in TestSimulatorPlatform (#189571)

This test invokes a binary in a simulator and then reads the first line
of stderr to parse the PID of the invoked binary.

This approach fails when the simulator itself prints a warning/error on
startup. In this case, we try to parse the error as the PID and fail.

This patch just removes the line limit. It doesn't seem to add any value
as we anyway need to search until we find the PID line, and if there is
no PID line we cannot do anything but time out eventually.

See also rdar://169799464


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

  Changed paths:
    M mlir/lib/Transforms/CSE.cpp
    M mlir/test/Transforms/cse.mlir

  Log Message:
  -----------
  Revert "[mlir][CSE] Delete dead code immediately in CSE pass" (#191146)

Reverts llvm/llvm-project#190926 ; this is crashing on simple examples
like:

```
func.func @test(%arg0: i1) {
  %c0_i32 = arith.constant 0 : i32
  %0 = arith.select %arg0, %c0_i32, %c0_i32 : i32
  %1 = scf.if %arg0 -> (i32) {
    %c0_i32_0 = arith.constant 0 : i32
    scf.yield %c0_i32_0 : i32
  } else {
    %c0_i32_0 = arith.constant 0 : i32
    scf.yield %c0_i32_0 : i32
  }
  return
}
```


  Commit: b9c8733e29b72be328c5c1218bfd95eb9d32cde8
      https://github.com/llvm/llvm-project/commit/b9c8733e29b72be328c5c1218bfd95eb9d32cde8
  Author: Rafe Murray <rafemurr at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon/fullfp16.c
    M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c

  Log Message:
  -----------
  [CIR][Aarch64] upstream scalar & vector intrinsics (FP16) (#190310)

This PR upstreams the following fp16 intrinsics as part of #185382:

- vaddh_f16, 
- vsubh_f16, 
- vmulh_f16, 
- vdivh_f16

This is my first PR to LLVM, so any feedback is greatly appreciated!


  Commit: 591861911e8a5f2838d7ee025d3f989cbe335710
      https://github.com/llvm/llvm-project/commit/591861911e8a5f2838d7ee025d3f989cbe335710
  Author: Shreeyash Pandey <shreeyash335 at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
    M llvm/test/CodeGen/AArch64/logical-op-with-not.ll

  Log Message:
  -----------
  [AArch64][CodeGen] match (or x (not y)) to generate mov+orn (#191145)

Fixes: #100045

Adds a tablegen pattern that matches (or x (not y)) and generates a
mov+orn instead of the original mvn+orr.

The number of instructions still stay the same but mov+orn can be
considered better than mvn+orr for two reasons:
1. Symmetry: For the same input with an 'and' instead of 'or', mov+bic
is generated.
2. Optimzation through register rename: If mov is immediate (for
example, 'mov x1, #0x4'), it can be retired early by the register
renamer and never issued for execution.

This patch was reverted as I wanted to change my email associated with
the patch.

Original patch: #190769
Revert patch: #191138

Change-Id: I244db76a3a102308e17d3c014aebd5d8edd605ca


  Commit: bc0b57ee9c500ba0248ee3cce473e3160a1e610f
      https://github.com/llvm/llvm-project/commit/bc0b57ee9c500ba0248ee3cce473e3160a1e610f
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/listen.h
    M libc/src/sys/socket/CMakeLists.txt
    M libc/src/sys/socket/linux/CMakeLists.txt
    A libc/src/sys/socket/linux/listen.cpp
    A libc/src/sys/socket/listen.h
    M libc/test/src/sys/socket/linux/CMakeLists.txt
    M libc/test/src/sys/socket/linux/connect_test.cpp
    A libc/test/src/sys/socket/linux/listen_test.cpp

  Log Message:
  -----------
  [libc] Implement listen(2) on linux (#190755)

I'm using the new syscall wrapper framework, and enabling the entry
point for x86_64, aarch64 and riscv. I also extend the connect test to
check for successful connection, now that we have that ability.


  Commit: a6f967c73ac464bba668df076ec88064a2c5720f
      https://github.com/llvm/llvm-project/commit/a6f967c73ac464bba668df076ec88064a2c5720f
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [clang][CIR] Add lowering for vcvt_n_ and vcvtq_n_ conversion intrinsics (#190961)

This PR adds lowering for the conversion intrinsics with an immediate
argument (identified by `_n_` in the intrinsic name), excluding FP16
variants.

It also moves the corresponding tests from:
  * clang/test/CodeGen/AArch64/neon_intrinsics.c

to:
  * clang/test/CodeGen/AArch64/neon/intrinsics.c

The lowering follows the existing implementation in
CodeGen/TargetBuiltins/ARM.cpp and adds the `getFloatNeonType` helper
to support it. The remaining changes are code motion and refactoring.

Reference:
[1] https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#conversions


  Commit: 2d6c41309eef4230191ba861d5f5d36c784f9b60
      https://github.com/llvm/llvm-project/commit/2d6c41309eef4230191ba861d5f5d36c784f9b60
  Author: Ruoyu Qiu <cabbaken at outlook.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/test/Analysis/DependenceAnalysis/exact-rdiv-addrec-wrap.ll

  Log Message:
  -----------
  [DA] Remove "FIXME" for a test that has been fixed (#191143)


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

  Changed paths:
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    A clang/test/Analysis/Scalable/extraction-works-alongside-compilation.cpp

  Log Message:
  -----------
  [clang][ssaf] Preserve AST after codegen for SSAF extractors (#191058)

This is a use-after-free.
Codegen would drop the AST before starting the optimizations on the LLVM
IR level. This means that the ASTConsumers of the SSAF extractors only
had dangling TU Decls etc.

For now, let's override this option to force-keep the AST alive. Note
that PluginActions already did the same if their consumers were added
after the main frontend-action.
See:

https://github.com/llvm/llvm-project/blob/69e0367e8221b8002b5d438fb70ff3daf36257fc/clang/lib/Frontend/FrontendAction.cpp#L470
```c++
CI.getCodeGenOpts().ClearASTBeforeBackend = false;
```

Long term, we could think about the stability implications of running
the extractors before codegen to be able to drop the AST, thus save
memory for codegen.
However, that would mean that if any of the virtual callbacks of the
ASTConsumers (extractors) would crash/fail, it would drag down the whole
process.
If extractors would only use the HandleTranslationUnitDecl callback,
then we could wrap our `TUSummaryRunner` multiplexer in a crash-safe
`CrashRecoveryContext` - which would ensure that only the runner would
fail, but would continue for codegen.

Personally, I don't really like this continue-after-extractors-crash,
because I'd not put my life on the binary generated such an event. And
if that's the case, then what's the point...

Nevertheless, let's force keep the AST for now.


  Commit: 9f47bcdb7c8a0d1be6481df3a5ac09d2eaf02690
      https://github.com/llvm/llvm-project/commit/9f47bcdb7c8a0d1be6481df3a5ac09d2eaf02690
  Author: Valeriy Savchenko <vsavchenko at apple.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/AArch64/arm64-zip.ll
    R llvm/test/CodeGen/AArch64/vselect-widen-mask-tree.ll
    M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll

  Log Message:
  -----------
  Revert "[SelectionDAG] Recurse through mask expression trees in WidenVSELECTMask (#188085)" (#191151)

This reverts commit 815edc3ff646392bfee2b381d37dd35e4b04f9c5.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/clmul.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/licm-calls.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call-scalarize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr151664-cost-hoisted-vector-scalable.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/select-index.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-calls-libsystem-darwin.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
    M llvm/test/Transforms/LoopVectorize/AMDGPU/buffer-fat-pointer.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-known-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-saddsatcost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
    M llvm/test/Transforms/LoopVectorize/Hexagon/minimum-vf.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/massv-calls.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/massv-unsupported.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/vectorize-bswap.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/vectorize-only-for-real.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-call.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-vfabi-attr.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/clmul.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs-03.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/widen-call-with-intrinsic-or-libfunc.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-dot-printing.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
    M llvm/test/Transforms/LoopVectorize/X86/clmul.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/ephemeral-recipes.ll
    M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
    M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/X86/libm-vector-calls-VF2-VF8.ll
    M llvm/test/Transforms/LoopVectorize/X86/libm-vector-calls.ll
    M llvm/test/Transforms/LoopVectorize/X86/pointer-runtime-checks-unprofitable.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
    M llvm/test/Transforms/LoopVectorize/X86/reg-usage-debug.ll
    M llvm/test/Transforms/LoopVectorize/X86/register-assumption.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicate-recipe-with-only-first-lane-used.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicate-uniform-call.ll
    M llvm/test/Transforms/LoopVectorize/X86/svml-calls.ll
    M llvm/test/Transforms/LoopVectorize/X86/veclib-calls.ll
    M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.ll
    M llvm/test/Transforms/LoopVectorize/assume.ll
    M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
    M llvm/test/Transforms/LoopVectorize/dbg.value.ll
    M llvm/test/Transforms/LoopVectorize/debugloc.ll
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size-needs-loop-guards.ll
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
    M llvm/test/Transforms/LoopVectorize/discriminator.ll
    M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
    M llvm/test/Transforms/LoopVectorize/fpsat.ll
    M llvm/test/Transforms/LoopVectorize/funcall.ll
    M llvm/test/Transforms/LoopVectorize/int_sideeffect.ll
    M llvm/test/Transforms/LoopVectorize/intrinsic.ll
    M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
    M llvm/test/Transforms/LoopVectorize/lifetime.ll
    M llvm/test/Transforms/LoopVectorize/minimumnum-maximumnum-reductions.ll
    M llvm/test/Transforms/LoopVectorize/minmax_reduction.ll
    M llvm/test/Transforms/LoopVectorize/noalias-scope-decl-outer-loop.ll
    M llvm/test/Transforms/LoopVectorize/noalias-scope-decl.ll
    M llvm/test/Transforms/LoopVectorize/non-widenable-intrinsics-outer-loop.ll
    M llvm/test/Transforms/LoopVectorize/predicated-multiple-exits.ll
    M llvm/test/Transforms/LoopVectorize/pseudoprobe.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-min-max.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
    M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
    M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
    M llvm/test/Transforms/LoopVectorize/scalable-noalias-scope-decl.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
    M llvm/test/Transforms/LoopVectorize/select-first-index-fp.ll
    M llvm/test/Transforms/LoopVectorize/select-smax-last-index.ll
    M llvm/test/Transforms/LoopVectorize/select-smin-last-index.ll
    M llvm/test/Transforms/LoopVectorize/select-umax-last-index.ll
    M llvm/test/Transforms/LoopVectorize/select-umin-first-index.ll
    M llvm/test/Transforms/LoopVectorize/select-umin-last-index.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/smax-idx.ll
    M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
    M llvm/test/Transforms/LoopVectorize/vector-intrinsic-call-cost.ll
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-call-instruction.ll

  Log Message:
  -----------
  [LV][NFC] Remove unneeded LLVM intrinsic declarations (#190993)

We no longer need to declare LLVM intrinsics in .ll files as the
intrinsics are populated automatically in the module. Remove the
declarations from tests to reduce test noise and size.

This came from a suggestion on PR #190786.


  Commit: cc419f185e13c84ae7d7610016d71a6a65ab1241
      https://github.com/llvm/llvm-project/commit/cc419f185e13c84ae7d7610016d71a6a65ab1241
  Author: Fady Farag <com.webkit.iidmsa at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/test/CodeGen/2004-02-13-Memset.c

  Log Message:
  -----------
  [clang][test] Modernize 2004-02-13-Memset.c to use FileCheck (#191092)

Replace `grep | count` verification with `FileCheck` and update `CHECK`
directives with current codegen output.


  Commit: c73872a69388895c55a6a6065a471e9e8f1a3e95
      https://github.com/llvm/llvm-project/commit/c73872a69388895c55a6a6065a471e9e8f1a3e95
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/docs/InternalsManual.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp

  Log Message:
  -----------
  [Clang] Improve concept performance 1/N (#188421)

The concept parameter mapping patch significantly impacted performance
in scenarios where concepts are heavily used, even with
atomic-expression-level caching.

After normalization, we often end up with large atomic expressions
containing numerous duplicate and complex template parameter mappings.
Previously, we were substituting and checking these repeatedly, which
was highly inefficient.

We now cache these substitution results within TemplateInstantiator.
This saves us a lot of duplicate semantic checking and provides us some
performance improvement, as in these regression cases:

usb_ids_gen.cpp:
clang-21: 1.41s
clang-22: 3.90s
This patch: 2.45s

inspector_style_resolver.cpp:
clang-21: 18.21s
clang-22: 22.43s
This patch: 19.01s

(These regressions can be found from the original issue)

While performance is still not so good as clang-21, I think there is
still room for future improvements. E.g. We can cache invalid results
for SFINAE diagnostics, avoid redundant pack unpacking, etc.

Towards https://github.com/llvm/llvm-project/issues/172266


  Commit: e765ea92055c6d0d820234d60fcd38fd7b1bceb8
      https://github.com/llvm/llvm-project/commit/e765ea92055c6d0d820234d60fcd38fd7b1bceb8
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M flang/test/Transforms/debug-line-table-inc-file.fir
    M flang/test/Transforms/debug-line-table.fir
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMDialectBytecode.td
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.h
    M mlir/test/CAPI/llvm.c
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/Import/global-variables.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [mlir][debug] Make DICompileUnitAttr recursive. (#190808)

This PR add `DIRecursiveTypeAttrInterface` to `DICompileUnitAttr`. It
should fix the circular dependency problem we have since
`importedEntities` field was added.


  Commit: 01c590876130283d86571089b3b3df1191ac0474
      https://github.com/llvm/llvm-project/commit/01c590876130283d86571089b3b3df1191ac0474
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll

  Log Message:
  -----------
  [VPlan] Handle AnyOf Or reduction via ComputeReductionResult. (#191049)

Instead of having ComputeAnyOfResult handle the Or reduction of unrolled
parts inline, route it through ComputeReductionResult with
RecurKind::Or. ComputeAnyOfResult now takes a pre-reduced scalar and
only performs the freeze + select.

This is a preparatory step towards removing ComputeAnyOfResult entirely
in https://github.com/llvm/llvm-project/pull/190039.

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


  Commit: 3529ce05e9a96760ae3b9435ca264cc707bb4dac
      https://github.com/llvm/llvm-project/commit/3529ce05e9a96760ae3b9435ca264cc707bb4dac
  Author: Lukas Sommer <lukas.sommer at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp

  Log Message:
  -----------
  [mlir][Vector] Make createWriteOrMaskedWrite utility (#190967)

Analog to https://github.com/llvm/llvm-project/pull/89119, make
`createWriteOrMaskedWrite` a vector utility, exposing it for re-use by
downstream users.

This PR is mostly just moving code and updating documentation but also
addresses a `TODO` for `isMaskTriviallyFoldable` to use that utility in
`createReadOrMaskedRead` as well.

No new tests were added, because the functionality is covered by existing tests.

---------

Signed-off-by: Lukas Sommer <lukas.sommer at amd.com>


  Commit: 18d5b9ec0cfd09b374636daea047ab5e7dc9bc3e
      https://github.com/llvm/llvm-project/commit/18d5b9ec0cfd09b374636daea047ab5e7dc9bc3e
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [LV] Simplify costing partial reduction chain links (NFCI) (#190980)

Previously, `getPartialReductionLinkCost()` needed to figure out what
case `matchExtendedReductionOperand()` matched to compute a cost. This
made adding new cases to `matchExtendedReductionOperand()` more complex
and added some redundancy.

This patch updates `ExtendedReductionOperand` so that it contains all
the information needed to compute the cost ready to pass to
`getPartialReductionCost()`. This means matching new operand forms only
needs to be done in `matchExtendedReductionOperand()`.

This is split off from #188043 (this change simplifies matching absolute
difference operands).


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

  Changed paths:
    M clang/test/Analysis/Scalable/extraction-works-alongside-compilation.cpp

  Log Message:
  -----------
  [clang][ssaf][test] Fix the extraction-works-alongside-compilation.cpp test (#191162)

I forgot that we need this `REQUIRES: asserts` for the test.

Fixes build bots not setting `LLVM_ENABLE_ASSERTIONS=ON`.
For example:
https://lab.llvm.org/buildbot/#/builders/11/builds/37623

This fixes up #191058


  Commit: 8506466bbf5daa0c79831a116cd4df618d9955ba
      https://github.com/llvm/llvm-project/commit/8506466bbf5daa0c79831a116cd4df618d9955ba
  Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/test/Analysis/bstring.c
    M clang/test/Analysis/bstring.cpp

  Log Message:
  -----------
  [analyzer] Fix crash in CStringChecker on zero-size element types (#191061)

Move the null check of Offset before its dereference in checkInit. When
the element type has zero size (e.g., an empty struct in C), the
division returns an empty optional, which was dereferenced
unconditionally.

Fixes #190457


  Commit: 629bd872ee61d208c002766f9d2642852afbc0f6
      https://github.com/llvm/llvm-project/commit/629bd872ee61d208c002766f9d2642852afbc0f6
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    A mlir/test/Target/LLVMIR/omptarget-debug-record-pos.mlir
    M mlir/test/Target/LLVMIR/omptarget-debug-var-1.mlir

  Log Message:
  -----------
  [OMPIRBuilder] Move debug records to correct blocks. (#157125)

Consider the following small OpenMP target region:

```
!$omp target map(tofrom: x)
  x = x + 1
!$omp end target

```
Currently, when compiled with `flang`, it will generate an outlined
function like below (with irrelevant bits removed).

```
void @__omp_offloading_10303_14e8afc__QQmain_l13(ptr %0, ptr %1) { entry:
  %2 = alloca ptr, align 8, addrspace(5)
  %3 = addrspacecast ptr addrspace(5) %2 to ptr
...
  br i1 %exec_user_code, label %user_code.entry, label %worker.exit

user_code.entry:
  %5 = load ptr, ptr %3, align 8, !align !19
  br label %omp.region.after_alloca

omp.region.after_alloca:
  br label %outlined.body

outlined.body:
  br label %omp.target

omp.target:
    #dbg_declare(ptr addrspace(5) %2, !20, !DIExpression(), !21)
  ...
  br label %omp.region.cont, !dbg !23

omp.region.cont:
  call void @__kmpc_target_deinit()
  ret void

worker.exit:
  ret void
}
```

Due to how various basic blocks are generated to implement target region
for device, the debug record for variable `x` end up in a different
block to the location of the variable (`%5` in this case). The backend
can drop such debug records.

This PR moves such records in the correct block. If the location field
of the debug record is an `Instruction`, it will ensure that debug
record is in same block as the instruction. If the location is an
`Argument`, the debug record will be moved to the entry block.

Some minor cleanup in the `UpdateDebugRecord` as that brings it to use
the similar logic as in `MoveDebugRecordToCorrectBlock`.


  Commit: 9cf815243b91147f0150db0c4ff2436b6920d372
      https://github.com/llvm/llvm-project/commit/9cf815243b91147f0150db0c4ff2436b6920d372
  Author: theRonShark <ron.lieberman at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/notriviallyvectorizableintrinsicoperands.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll

  Log Message:
  -----------
  Revert "[SLP][AMDGPU] Vectorize operands of non-trivially-vectorizable intrinsic calls" (#191153)

Reverts llvm/llvm-project#189784


  Commit: ebc56070eb8d25c8dc73a2e97caaeb4db0f7c9fa
      https://github.com/llvm/llvm-project/commit/ebc56070eb8d25c8dc73a2e97caaeb4db0f7c9fa
  Author: Barbara Mitic <bmitic at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
    M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
    A llvm/test/CodeGen/AMDGPU/memory-legalizer-single-wave-workgroup-memops.ll

  Log Message:
  -----------
  [AMDGPU] Use wavefront scope for single-wave workgroup synchronization (#187673)

Workgroup-scoped fences and non-relaxed workgroup atomics were
previously legalized with synchronization strong enough for multi-wave
workgroups.
When the kernel's maximum flat work-group size does not exceed the
wavefront size, the workgroup contains only a single wavefront, so
workgroup-scoped synchronization is equivalent to wavefront scope and
the stronger legalization is unnecessary.
SIMemoryLegalizer now demotes workgroup scope to wavefront scope
in this case for workgroup-scoped fences and for non-relaxed atomic
load, store, atomicrmw, and cmpxchg operations.
This allows subsequent legalization to operate at wavefront scope.
The decision is based on AMDGPUSubtarget::isSingleWavefrontWorkgroup.

---------

Co-authored-by: Barbara Mitic <Barbara.Mitic at amd.com>


  Commit: 87dda6ad8172f7cb89a8a422d825ebc2a5e73e2b
      https://github.com/llvm/llvm-project/commit/87dda6ad8172f7cb89a8a422d825ebc2a5e73e2b
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp

  Log Message:
  -----------
  [Clang] Do not create a NoSFINAETrap for variable specialization. (#191000)

There is no thing in the standard that says this should happen outside
of the immediate context.

Fixes #54439


  Commit: 93c349b3717f4550d409bf1d0e8600c852df2dca
      https://github.com/llvm/llvm-project/commit/93c349b3717f4550d409bf1d0e8600c852df2dca
  Author: Joao Victor Amorim Vieira <amorimvictorjoao3 at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/RISCV/known-fpclass.ll

  Log Message:
  -----------
  [DAG] computeKnownFPClass - Add handling for AssertNoFPClass (#190185)

Resolves #189478

Adds code to handle AssertNoFPClass in computeKnownFPClass and adds IR
test coverage for RISC-V.


  Commit: 42166b6dcf9dcfb165d3a0f03ca64e6e549fbfe4
      https://github.com/llvm/llvm-project/commit/42166b6dcf9dcfb165d3a0f03ca64e6e549fbfe4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
    M llvm/test/Transforms/LoopVectorize/branch-weights.ll
    M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
    A llvm/test/Transforms/LoopVectorize/epilog-vectorization-dead-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-scev-expansion.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-trunc-induction-steps.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-vector-trip-count-zero.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-limitations.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/select-min-max-last-index-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/unsafe-vf-hint-remark.ll

  Log Message:
  -----------
  [LV] Update forced epilogue VF options to allow different VFs than main. (#190393)

Previously, forced epilogue vector factors via the command line options
required to match the forced main VF (or the VF to be built in general).
This leads to a number of akward tests, where we end up with dead
epilogue vector loops.

Update the logic to build an additional VPlan with the epilogue vector
factor, and require the provided epilogue VF to be < IC * MainLoopVF.
Otherwise, epilogue vectorization is skipped.

This only impacts the forced epilogue VF option used for testing and
ensures epilogue tests to cover more realistic scenarios and make them
more robust w.r.t. to additional VPlan-based folding.

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


  Commit: 5185fb32e40d2711b8fd368d2a8dc2736d93c57b
      https://github.com/llvm/llvm-project/commit/5185fb32e40d2711b8fd368d2a8dc2736d93c57b
  Author: smv <32562706+s-mv at users.noreply.github.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [DAG] computeKnownFPClass - add ISD::FNEG handling + test coverage (#190325)

Fixes #189483 

- Implement computeKnownFPClass for ISD::FNEG in SelectionDAG.cpp
- Add tests for RISC-V in llvm/test/CodeGen/RISCV/known-fpclass-fneg.ll


  Commit: 3b5b8ec0ab89886e6ac92c237bd0be8be1eff1e6
      https://github.com/llvm/llvm-project/commit/3b5b8ec0ab89886e6ac92c237bd0be8be1eff1e6
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/GlobalISel/InstCombine/prelegalizercombiner-length-to-distance.mir
    M llvm/test/CodeGen/SPIRV/GlobalISel/InstCombine/prelegalizercombiner-select-to-faceforward.mir
    M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
    M llvm/test/CodeGen/SPIRV/opencl/device_execution/execute_block.ll

  Log Message:
  -----------
  [NFC][SPIR-V] Remove unnecessary 'REQUIRES: asserts' from tests (#190986)

Remove `REQUIRES: asserts` from tests that don't use any assertions-only
functionality and should run for all build configurations


  Commit: 3c7c6fbc87f0a686f74c327b381ce593a1a883d3
      https://github.com/llvm/llvm-project/commit/3c7c6fbc87f0a686f74c327b381ce593a1a883d3
  Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M libsycl/include/sycl/__impl/aspect.hpp
    M libsycl/include/sycl/__impl/info/device_type.hpp
    M libsycl/include/sycl/__impl/usm_alloc_type.hpp
    M libsycl/include/sycl/__impl/usm_functions.hpp
    M libsycl/src/detail/context_impl.hpp
    M libsycl/src/detail/device_binary_structures.hpp
    M libsycl/src/detail/device_image_wrapper.hpp
    M libsycl/src/detail/device_impl.hpp
    M libsycl/src/detail/global_objects.hpp
    M libsycl/src/detail/kernel_id.hpp
    M libsycl/src/detail/offload/offload_topology.hpp
    M libsycl/src/detail/offload/offload_utils.hpp
    M libsycl/src/detail/platform_impl.cpp
    M libsycl/src/detail/platform_impl.hpp
    M libsycl/src/detail/program_manager.cpp
    M libsycl/src/detail/program_manager.hpp
    M libsycl/src/detail/queue_impl.hpp
    M libsycl/src/usm_functions.cpp

  Log Message:
  -----------
  [libsycl] Fix comments and align names & types (#190781)

follow-up for https://github.com/llvm/llvm-project/pull/187528

---------

Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>


  Commit: 537f29e6e1c2f174f7c0e8d0e614ce92715420f0
      https://github.com/llvm/llvm-project/commit/537f29e6e1c2f174f7c0e8d0e614ce92715420f0
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll

  Log Message:
  -----------
  [AArch64] Fix broken SME code with GlobalISel (#191140)

The checks introduced in #190135 are too restrictive because no SVE or
SME is required to compile streaming-compatible or agnostic-ZA
functions. Now it generates incorrect code for
streaming-compatible/agnostic-ZA functions when the function has no
`+sve` or `+sme`.


  Commit: bbf31ad4e413d460ffe8246012df3bfd798c2170
      https://github.com/llvm/llvm-project/commit/bbf31ad4e413d460ffe8246012df3bfd798c2170
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp

  Log Message:
  -----------
  [Clang] Do not try to create invalid variable specializations. (#190960)

When a variable specialization is ambiguous,
we would still create a node for it.

If the first such specialization takes places in a sfinae context, ie
when appearing in a concept, the initial diagnostic was silence, but no
further errors were emitted on that specialization as the variable was
created anyway.

Instead we do not create a specialization in this case.

Fixes #132592


  Commit: 0ab4d8556ddb935d3eda044cf6ea118f0686de0e
      https://github.com/llvm/llvm-project/commit/0ab4d8556ddb935d3eda044cf6ea118f0686de0e
  Author: Rose Hudson <rose.hudson at sony.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/lib/Lex/PPDirectives.cpp

  Log Message:
  -----------
  [clang][Lex] don't run -Wnonportable-include-path-separator if disabled (#191148)

The diagnostic's addition caused a perf regression:
https://llvm-compile-time-tracker.com/compare.php?from=b9149823d85891044bf34e8654d1a45870e55174&to=e2294efaabcc745bf6beacbefbd371595cf3e87f&stat=instructions:u

So, only run its logic if it's actually enabled:

https://llvm-compile-time-tracker.com/compare.php?from=e2294efaabcc745bf6beacbefbd371595cf3e87f&to=52bd4e1441b75b617cf81dfffcb149966616a34a&stat=instructions:u


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr.ll

  Log Message:
  -----------
  [VPlan] Test tail folding with find-last-iv-sinkable-expr.ll tests. NFC (#191176)

I believe these are being miscompiled after #183911 since we're no
longer using the original select on the header mask added in
addReductionResultComputation

This is additional test coverage for #191166


  Commit: 8341e62c6697ab0bbcaf546eba28d5845577f6ee
      https://github.com/llvm/llvm-project/commit/8341e62c6697ab0bbcaf546eba28d5845577f6ee
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [NFC][AMDGPU] Fix a compiler warning caused by a small typo (#191107)


  Commit: 9e8ea5677f1c85bea98ddeca9240e1fccf2f1537
      https://github.com/llvm/llvm-project/commit/9e8ea5677f1c85bea98ddeca9240e1fccf2f1537
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M lldb/test/API/functionalities/scripted_frame_provider/thread_filter/main.cpp

  Log Message:
  -----------
  [lldb] Fix flaky test TestFrameProviderThreadFilter on Windows (#191133)

This is the update for #191046.


  Commit: 3ac5c07e202fbb6525a1c689547b2de3c69a9b77
      https://github.com/llvm/llvm-project/commit/3ac5c07e202fbb6525a1c689547b2de3c69a9b77
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/include/llvm/IR/CallingConv.h
    M llvm/test/Bitcode/calling-conventions.3.2.ll
    M llvm/test/Bitcode/calling-conventions.3.2.ll.bc
    M llvm/test/Verifier/call-to-non-callable-functions.ll

  Log Message:
  -----------
  [NVPTX] Do not permit calls to ptx_kernel CC (#190434)

Summary:
Removes support for calling the ptx_kernel CC. Regenerate bitcode that
used it, no auto upgrade because this never worked, it just wasn't
diagnosed.


  Commit: 728de5c5f28c49ef085b59ce82e30fae7c658d56
      https://github.com/llvm/llvm-project/commit/728de5c5f28c49ef085b59ce82e30fae7c658d56
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-compares.ll
    M llvm/test/CodeGen/AArch64/sve-hadd.ll
    M llvm/test/CodeGen/AArch64/sve-int-log.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
    M llvm/test/CodeGen/AArch64/sve2-bsl.ll

  Log Message:
  -----------
  [AArch64][SVE] Use SUBR for unpredicated bitwise NOT. (#191155)

This relies on the identity NOT (x) = -1 - x, which can be lowered as
byte SUBR (x, 255). The recently added pseudos for SUBR (immediate)
should avoid cases where we would risk emitting a MOV.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ItaniumMangle.cpp
    A clang/test/CodeGenCXX/dtor-local-lambda-mangle.cpp

  Log Message:
  -----------
  [Clang] Fix Itanium mangling crash for local lambda in ctor/dtor (#181068)

Fixes #176395 

Note: I need someone to help me merge this PR, since I don't have commit
access.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/12-12-11-if-conv.ll
    M llvm/test/Transforms/LoopVectorize/2012-10-20-infloop.ll
    M llvm/test/Transforms/LoopVectorize/2012-10-22-isconsec.ll
    M llvm/test/Transforms/LoopVectorize/2016-07-27-loop-vec.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/Oz-and-forced-vectorize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/aarch64-unroll.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/arbitrary-induction-step.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/arm64-unroll.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fold-tail-low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loopvectorize_pr33804_double.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked_ldst_sme.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/maxbandwidth-regpressure.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/maximize-bandwidth-invalidate.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/nontemporal-load-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr151664-cost-hoisted-vector-scalable.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr36032.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs-apple.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/runtime-check-size-based-threshold.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/runtime-check-trip-count-decisions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-predicate-instruction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions-tf.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalar_interleave.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sdiv-pow2.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/select-best-vf-tripcount.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sme-vectorize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd-vf1.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-basic-vec.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-vscale-tune.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-extract-last-veclane.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-loads.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-large-strides.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-masked-loadstore.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-type-conv.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-insertelt.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AMDGPU/buffer-fat-pointer.ll
    M llvm/test/Transforms/LoopVectorize/AMDGPU/divergent-runtime-check.ll
    M llvm/test/Transforms/LoopVectorize/AMDGPU/unroll-in-loop-vectorizer.ll
    M llvm/test/Transforms/LoopVectorize/ARM/arm-ieee-vectorize.ll
    M llvm/test/Transforms/LoopVectorize/ARM/arm-unroll.ll
    M llvm/test/Transforms/LoopVectorize/ARM/gcc-examples.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-known-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-maskedldst.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-predstorecost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-saddsatcost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-shiftcost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-vldn.ll
    M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
    M llvm/test/Transforms/LoopVectorize/ARM/scalar-block-cost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-fold-multiple-icmps.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-allowed.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-prefer-flag.ll
    M llvm/test/Transforms/LoopVectorize/ARM/width-detect.ll
    M llvm/test/Transforms/LoopVectorize/Hexagon/invalidate-cm-after-invalidating-interleavegroups.ll
    M llvm/test/Transforms/LoopVectorize/Hexagon/minimum-vf.ll
    M llvm/test/Transforms/LoopVectorize/LoongArch/loongarch-interleaved.ll
    M llvm/test/Transforms/LoopVectorize/LoongArch/reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/interleave_IC.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/large-loop-rdx.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization-profitability.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/pr30990.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/pr41179.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/predcost.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/small-loop-rdx.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/stride-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/vectorize-bswap.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/vectorize-only-for-real.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-scalarivsext-crash.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/vsx-tsvc-s173.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/fold-tail-low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/only-compute-cost-for-vplan-vfs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-maxbandwidth.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-interleaved.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-unroll.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/unroll-in-loop-vectorizer.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs-03.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/pr38110.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/VE/disable_lv.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve-tail-folding-forced.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-dot-printing.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-stress-test-no-explict-vf.ll
    M llvm/test/Transforms/LoopVectorize/WebAssembly/int-mac-reduction-costs.ll
    M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
    M llvm/test/Transforms/LoopVectorize/WebAssembly/partial-reduce-accumulate.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-half.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i16.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i8.ll
    M llvm/test/Transforms/LoopVectorize/X86/already-vectorized.ll
    M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls-finite.ll
    M llvm/test/Transforms/LoopVectorize/X86/avx1.ll
    M llvm/test/Transforms/LoopVectorize/X86/avx512.ll
    M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-cg-bug.ll
    M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-divisor-overflow.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model-assert.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
    M llvm/test/Transforms/LoopVectorize/X86/fneg-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/fp32_to_uint32-cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/fp64_to_uint32-cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/fp80-widest-type.ll
    M llvm/test/Transforms/LoopVectorize/X86/funclet.ll
    M llvm/test/Transforms/LoopVectorize/X86/gather-vs-interleave.ll
    M llvm/test/Transforms/LoopVectorize/X86/gcc-examples.ll
    M llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
    M llvm/test/Transforms/LoopVectorize/X86/int128_no_gather.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-ptradd-with-replicated-operand.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave_short_tc.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-large-gap.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-use-after-free.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-waw-dependency.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
    M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
    M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/X86/libm-vector-calls-VF2-VF8.ll
    M llvm/test/Transforms/LoopVectorize/X86/libm-vector-calls-finite.ll
    M llvm/test/Transforms/LoopVectorize/X86/libm-vector-calls.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
    M llvm/test/Transforms/LoopVectorize/X86/max-mstore.ll
    M llvm/test/Transforms/LoopVectorize/X86/min-trip-count-switch.ll
    M llvm/test/Transforms/LoopVectorize/X86/mul_slm_16bit.ll
    M llvm/test/Transforms/LoopVectorize/X86/no-vector.ll
    M llvm/test/Transforms/LoopVectorize/X86/no_fpmath.ll
    M llvm/test/Transforms/LoopVectorize/X86/no_fpmath_with_hotness.ll
    M llvm/test/Transforms/LoopVectorize/X86/nontemporal.ll
    M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
    M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/X86/parallel-loops-after-reg2mem.ll
    M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
    M llvm/test/Transforms/LoopVectorize/X86/powof2div.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr141968-instsimplifyfolder.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr39160.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr42674.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
    M llvm/test/Transforms/LoopVectorize/X86/propagate-metadata.ll
    M llvm/test/Transforms/LoopVectorize/X86/reg-usage-debug.ll
    M llvm/test/Transforms/LoopVectorize/X86/reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/X86/register-assumption.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicate-recipe-with-only-first-lane-used.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/runtime-limit.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/LoopVectorize/X86/slm-no-vectorize.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/svml-calls-finite.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform-phi.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    M llvm/test/Transforms/LoopVectorize/X86/unroll-pm.ll
    M llvm/test/Transforms/LoopVectorize/X86/unroll-small-loops.ll
    M llvm/test/Transforms/LoopVectorize/X86/unroll_selection.ll
    M llvm/test/Transforms/LoopVectorize/X86/veclib-calls.ll
    M llvm/test/Transforms/LoopVectorize/X86/vector_ptr_load_store.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-loopid-dbg.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-profitable.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86_fp80-vector-store.ll
    M llvm/test/Transforms/LoopVectorize/align.ll
    M llvm/test/Transforms/LoopVectorize/assume.ll
    M llvm/test/Transforms/LoopVectorize/bzip_reverse_loops.ll
    M llvm/test/Transforms/LoopVectorize/calloc.ll
    M llvm/test/Transforms/LoopVectorize/check-no-vectorize.ll
    M llvm/test/Transforms/LoopVectorize/check-prof-info.ll
    M llvm/test/Transforms/LoopVectorize/conditional-assignment.ll
    M llvm/test/Transforms/LoopVectorize/consec_no_gep.ll
    M llvm/test/Transforms/LoopVectorize/constantfolder-infer-correct-gepty.ll
    M llvm/test/Transforms/LoopVectorize/constantfolder.ll
    M llvm/test/Transforms/LoopVectorize/control-flow.ll
    M llvm/test/Transforms/LoopVectorize/cpp-new-array.ll
    M llvm/test/Transforms/LoopVectorize/create-induction-resume.ll
    M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
    M llvm/test/Transforms/LoopVectorize/dbg.value.ll
    M llvm/test/Transforms/LoopVectorize/debugloc-optimize-vfuf-term.ll
    M llvm/test/Transforms/LoopVectorize/debugloc.ll
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
    M llvm/test/Transforms/LoopVectorize/diag-missing-instr-debug-loc.ll
    M llvm/test/Transforms/LoopVectorize/diag-with-hotness-info.ll
    M llvm/test/Transforms/LoopVectorize/discriminator.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
    M llvm/test/Transforms/LoopVectorize/ee-crash.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
    M llvm/test/Transforms/LoopVectorize/explicit_outer_detection.ll
    M llvm/test/Transforms/LoopVectorize/explicit_outer_nonuniform_inner.ll
    M llvm/test/Transforms/LoopVectorize/explicit_outer_uniform_diverg_branch.ll
    M llvm/test/Transforms/LoopVectorize/extract-last-veclane.ll
    M llvm/test/Transforms/LoopVectorize/fcmp-vectorize.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/fix-reduction-dbg.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
    M llvm/test/Transforms/LoopVectorize/float-reduction.ll
    M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
    M llvm/test/Transforms/LoopVectorize/fpsat.ll
    M llvm/test/Transforms/LoopVectorize/gcc-examples.ll
    M llvm/test/Transforms/LoopVectorize/global_alias.ll
    M llvm/test/Transforms/LoopVectorize/i8-induction.ll
    M llvm/test/Transforms/LoopVectorize/if-conv-crash.ll
    M llvm/test/Transforms/LoopVectorize/if-conversion-reduction.ll
    M llvm/test/Transforms/LoopVectorize/if-conversion.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-not-when-safe.ll
    M llvm/test/Transforms/LoopVectorize/if-reduction.ll
    M llvm/test/Transforms/LoopVectorize/incorrect-dom-info.ll
    M llvm/test/Transforms/LoopVectorize/increment.ll
    M llvm/test/Transforms/LoopVectorize/induction-step.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/infiniteloop.ll
    M llvm/test/Transforms/LoopVectorize/instruction-only-used-outside-of-loop.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-different-insert-position.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-gep-nowrap-flags.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-metadata.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/intrinsic.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-no-wrap.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/loop-vect-memdep.ll
    M llvm/test/Transforms/LoopVectorize/memory-dep-remarks.ll
    M llvm/test/Transforms/LoopVectorize/metadata-unroll.ll
    M llvm/test/Transforms/LoopVectorize/metadata-width.ll
    M llvm/test/Transforms/LoopVectorize/min-trip-count-known-via-scev.ll
    M llvm/test/Transforms/LoopVectorize/minmax_reduction.ll
    M llvm/test/Transforms/LoopVectorize/multiple-address-spaces.ll
    M llvm/test/Transforms/LoopVectorize/nested-loops-scev-expansion.ll
    M llvm/test/Transforms/LoopVectorize/no-interleave-up-front.ll
    M llvm/test/Transforms/LoopVectorize/no_array_bounds.ll
    M llvm/test/Transforms/LoopVectorize/no_array_bounds_scalable.ll
    M llvm/test/Transforms/LoopVectorize/no_int_induction.ll
    M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/no_switch.ll
    M llvm/test/Transforms/LoopVectorize/no_switch_disable_vectorization.ll
    M llvm/test/Transforms/LoopVectorize/noalias-md.ll
    M llvm/test/Transforms/LoopVectorize/noalias-scope-decl.ll
    M llvm/test/Transforms/LoopVectorize/nofloat-report.ll
    M llvm/test/Transforms/LoopVectorize/nofloat.ll
    M llvm/test/Transforms/LoopVectorize/nontemporal.ll
    M llvm/test/Transforms/LoopVectorize/nounroll.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-limitations.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/optsize.ll
    M llvm/test/Transforms/LoopVectorize/outer-loop-vec-phi-predecessor-order.ll
    M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test2.ll
    M llvm/test/Transforms/LoopVectorize/partial-lcssa.ll
    M llvm/test/Transforms/LoopVectorize/phi-hang.ll
    M llvm/test/Transforms/LoopVectorize/pointer-induction-unroll.ll
    M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/pr28541.ll
    M llvm/test/Transforms/LoopVectorize/pr31190.ll
    M llvm/test/Transforms/LoopVectorize/pr32859.ll
    M llvm/test/Transforms/LoopVectorize/pr33706.ll
    M llvm/test/Transforms/LoopVectorize/pr35743.ll
    M llvm/test/Transforms/LoopVectorize/pr36311.ll
    M llvm/test/Transforms/LoopVectorize/pr38697.ll
    M llvm/test/Transforms/LoopVectorize/pr38800.ll
    M llvm/test/Transforms/LoopVectorize/pr44488-predication.ll
    M llvm/test/Transforms/LoopVectorize/pr45525.ll
    M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
    M llvm/test/Transforms/LoopVectorize/pr48832.ll
    M llvm/test/Transforms/LoopVectorize/pr50686.ll
    M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
    M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
    M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
    M llvm/test/Transforms/LoopVectorize/pseudoprobe.ll
    M llvm/test/Transforms/LoopVectorize/ptr-induction.ll
    M llvm/test/Transforms/LoopVectorize/ptr_loops.ll
    M llvm/test/Transforms/LoopVectorize/read-only.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-min-max.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/reduction-minmax-users-and-predicated.ll
    M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/LoopVectorize/remarks-multi-exit-loops.ll
    M llvm/test/Transforms/LoopVectorize/remarks-reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/reverse_iter.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-address-space.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-pointer-element-type.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-readonly-address-space.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check.ll
    M llvm/test/Transforms/LoopVectorize/same-base-access.ll
    M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
    M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
    M llvm/test/Transforms/LoopVectorize/scalable-noalias-scope-decl.ll
    M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
    M llvm/test/Transforms/LoopVectorize/scalar-select.ll
    M llvm/test/Transforms/LoopVectorize/scalarized-bitcast.ll
    M llvm/test/Transforms/LoopVectorize/scev-exitlim-crash.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/simple-unroll.ll
    M llvm/test/Transforms/LoopVectorize/skip-iterations.ll
    M llvm/test/Transforms/LoopVectorize/small-loop.ll
    M llvm/test/Transforms/LoopVectorize/start-non-zero.ll
    M llvm/test/Transforms/LoopVectorize/struct_access.ll
    M llvm/test/Transforms/LoopVectorize/tbaa-nodep.ll
    M llvm/test/Transforms/LoopVectorize/tripcount.ll
    M llvm/test/Transforms/LoopVectorize/uncountable-single-exit-loops.ll
    M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
    M llvm/test/Transforms/LoopVectorize/unroll-novec-memcheck-metadata.ll
    M llvm/test/Transforms/LoopVectorize/unroll.ll
    M llvm/test/Transforms/LoopVectorize/unroll_novec.ll
    M llvm/test/Transforms/LoopVectorize/unsafe-dep-remark.ll
    M llvm/test/Transforms/LoopVectorize/vect.stats.ll
    M llvm/test/Transforms/LoopVectorize/vector-intrinsic-call-cost.ll
    M llvm/test/Transforms/LoopVectorize/vector-no-scevcheck.ll
    M llvm/test/Transforms/LoopVectorize/vectorize-once.ll
    M llvm/test/Transforms/LoopVectorize/vectorize-pointer-phis.ll
    M llvm/test/Transforms/LoopVectorize/vplan-incomplete-cases.ll
    M llvm/test/Transforms/LoopVectorize/vplan-native-path-inner-loop-with-runtime-checks.ll
    M llvm/test/Transforms/LoopVectorize/vplan-outer-loop-uncomputable-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/vplan-vectorize-inner-loop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/write-only.ll

  Log Message:
  -----------
  [LV][NFC] Remove "; preds = " comments from tests (#191163)

The "; preds = " comments in tests add no value so I've removed them.


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

  Changed paths:
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/i386/headers.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/headers.txt

  Log Message:
  -----------
  [libc] Add cpio.h to Linux target public headers (#191177)

Added libc.include.cpio to TARGET_PUBLIC_HEADERS for all Linux
architectures: aarch64, arm, i386, riscv, and x86_64.

This enables generation of cpio.h when building with
LLVM_LIBC_FULL_BUILD.


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

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

  Log Message:
  -----------
  [Bazel] Fixes 3529ce0 (#191161)

This fixes 3529ce05e9a96760ae3b9435ca264cc707bb4dac.

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


  Commit: 8f06d7ab6b7185be08b5cf7f9b0293c998176efe
      https://github.com/llvm/llvm-project/commit/8f06d7ab6b7185be08b5cf7f9b0293c998176efe
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/include/clang/AST/ExprCXX.h
    M clang/test/SemaTemplate/concepts.cpp

  Log Message:
  -----------
  [Clang] Fix handling of references to variable templates with an empty argument list (#191154)

In some cases they were treated as having no argument list at all.

Fixes #191016.


  Commit: 93845b8ef4790a853068706200d417ef3184a098
      https://github.com/llvm/llvm-project/commit/93845b8ef4790a853068706200d417ef3184a098
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py

  Log Message:
  -----------
  [lldb][test] Fix call signature in TestAppleSimulatorOSType (#191185)

Commit 918e446ef28ac97df20d6ef2bd50c78e2fe903ac removed the
stderr_lines_to_read argument but didn't adjust the call site in
TestAppleSimulatorOSType. This patch just removes the extra arg here
too.


  Commit: 291e4e97777d707079f5fe14326649cfc1eb8337
      https://github.com/llvm/llvm-project/commit/291e4e97777d707079f5fe14326649cfc1eb8337
  Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp

  Log Message:
  -----------
  [Clang] prevent constexpr crash on invalid overrides (#184048)

Fixes #183290

---

This PR fixes a crash during `constexpr` evaluation that occurred after
detecting an invalid override. It now marks the overriding method as
invalid when override checks fail.


  Commit: 02b051ae0ad248289576f4b4af238af3675be62a
      https://github.com/llvm/llvm-project/commit/02b051ae0ad248289576f4b4af238af3675be62a
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [VPlan] Strip replicate-region-bail in udiv -> lshr simpl (NFC) (#190251)

Since 99aa33d ([VPlan] Explicitly unroll replicate-regions without
live-outs by VF, #188947), VPInstructions in replicate regions can be
handled. The change is non-functional because simplifyRecipes is run
after unrollByUF, which dissolves replicate regions.


  Commit: c9223cdbebe39798cf4f56568e8dce371bb0674e
      https://github.com/llvm/llvm-project/commit/c9223cdbebe39798cf4f56568e8dce371bb0674e
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp

  Log Message:
  -----------
  [flang][NFC] remove ambiguous fir::unwrapInnerType helper (#191189)

`fir::unwrapInnerType` has the odd behavior of returning an empty type
for things like i32, causing BaseBoxType::unwrapInnerType to return a
null type for fir.box<i32> which was not intended.

Remove the helper, no user really needed the null type behavior, replace
its few usage by fir::getFortranElementType and update
BaseBoxType::unwrapInnerType to do the intended behavior.


  Commit: 89dbacb42dd88ce084e1a25a651412dfdfe54a73
      https://github.com/llvm/llvm-project/commit/89dbacb42dd88ce084e1a25a651412dfdfe54a73
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll

  Log Message:
  -----------
  [LV] InstCombine-simplify partial-reduce-sub dotp test (#189739)

The input IR shown in the partial-reduce-sub dotp test will never reach
the vectorizer, due to prior simplification by InstCombine. Change it
with this simplification. This is necessary for the simplification in
#187228, whose goal is to make #187589 possible.


  Commit: 283a59154531923a0d8dacaac6c1a5a930429ac0
      https://github.com/llvm/llvm-project/commit/283a59154531923a0d8dacaac6c1a5a930429ac0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M orc-rt/include/orc-rt/SPSWrapperFunction.h
    M orc-rt/unittests/SPSWrapperFunctionTest.cpp

  Log Message:
  -----------
  [orc-rt] Qualify SPSWrapperFunction in ORC_RT_SPS_WRAPPER macro. (#191196)

This enables use of ORC_RT_SPS_WRAPPER in other namespaces.


  Commit: ef31b272d252f8c806f24fc95c41bd2507720c7d
      https://github.com/llvm/llvm-project/commit/ef31b272d252f8c806f24fc95c41bd2507720c7d
  Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M libsycl/docs/index.rst
    A libsycl/include/sycl/__impl/event.hpp
    M libsycl/include/sycl/__impl/queue.hpp
    M libsycl/include/sycl/sycl.hpp
    M libsycl/src/CMakeLists.txt
    A libsycl/src/detail/event_impl.cpp
    A libsycl/src/detail/event_impl.hpp
    M libsycl/src/detail/queue_impl.cpp
    M libsycl/src/detail/queue_impl.hpp
    A libsycl/src/event.cpp
    M libsycl/src/queue.cpp

  Log Message:
  -----------
  [libsycl] add sycl::event and wait functionality to event & queue (#188793)

Depends on https://github.com/llvm/llvm-project/pull/187528.

This is part of the SYCL support upstreaming effort. The relevant RFCs
can be found here:


https://discourse.llvm.org/t/rfc-add-full-support-for-the-sycl-programming-model/74080
https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming/74479

---------

Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>


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

  Changed paths:
    M clang/docs/analyzer/user-docs/Annotations.rst
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [clang][docs] Further improve the docs of the ownership_returns attribute (#191197)

This addresses:
https://github.com/llvm/llvm-project/pull/191005#discussion_r3058171126
https://github.com/llvm/llvm-project/pull/191005#discussion_r3058173173

I've reviewed the uses of "argument" and "parameter" and tried to
consolidate them to the best of my abilities.

This patch fixes up #191005


  Commit: 4b5a4b054bf72ea74d64720717f8e9ee72f92fe5
      https://github.com/llvm/llvm-project/commit/4b5a4b054bf72ea74d64720717f8e9ee72f92fe5
  Author: Adel Ejjeh <adel.ejjeh at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    R llvm/test/Transforms/LoopUnroll/AMDGPU/expensive-tripcount.ll
    A llvm/test/Transforms/LoopUnroll/expensive-tripcount.ll

  Log Message:
  -----------
  [LoopUnroll] Enable allowexpensivetripcounts when user provides pragma (#181267)

Loops with an explicit unroll pragma (`#pragma unroll` / `#pragma clang
loop unroll(enable)`) that have an expensive runtime trip count
currently don't get unrolled because `UP.AllowExpensiveTripCount`
defaults to false. The pragma is silently ignored. This is not the case
when an unroll factor is specified (`PragmaCount > 0`), where the pass
sets `UP.AllowExpensiveTripCount = true`.

**Solution:**
Set `UP.AllowExpensiveTripCount` and `UP.Runtime` to true for for loops
that have an unroll pramga at the beginning of `computeUnrollCount()`.
I've also added a new lit test `expensive-tripcount.ll` that verifies
pragma-driven unrolling with expensive trip counts will work as
expected.

---------

Co-authored-by: Justin Fargnoli <jfargnoli at nvidia.com>


  Commit: dd4360d29230d23188ddf581e4897705b2c4f771
      https://github.com/llvm/llvm-project/commit/dd4360d29230d23188ddf581e4897705b2c4f771
  Author: Adel Ejjeh <adel.ejjeh at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/test/Transforms/IndVarSimplify/X86/loop-invariant-conditions.ll
    A llvm/test/Transforms/LoopUnroll/AMDGPU/scev-mul-expansion-cost.ll

  Log Message:
  -----------
  [SCEV] Fix scMulExpr cost for multiply by -1 and power-of-2 (#191033) 

Currently, SCEV's cost model will always return the cost of a Multiply
for `scMulExpr`, without taking into account the cases where
`SCEVExpander::visitMulExpr` does not actually emit a multiply. This PR
addresses two of these cases:
- `-1 * X`: generates `sub 0, X`
- `2^k * X`: generates `shl X, k`

This mismatch matters on targets where integer multiply is expensive
because it can block runtime unrolling by overestimating the cost of
expanding the trip count calculation.

This patch checks the constant operand in two-operand `scMulExpr` and
counts it as a subtract if it is -1 or a shift-left if it is a power of
2.

The patch also introduces a new lit test, and udpates
`IndVarSimplify/X86/loop-invariant-conditions.ll` because it now
correctly estimates the cost of `-1 * start` which allows IndVarSimplify
to simplify the induction variable.

Assisted-by: Cursor (Claude)


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
    M llvm/test/CodeGen/RISCV/prefetch.ll
    M llvm/test/MC/RISCV/rvzicbom-invalid.s
    M llvm/test/MC/RISCV/rvzicbop-valid.s
    M llvm/test/MC/RISCV/rvzicboz-invalid.s

  Log Message:
  -----------
  [RISCV] Allow prefetch hints without Zicbop. (#191027)

The prefetch encodings are ORI with x0 destination. To be consistent
with other hints like Zihintntl, we should always allow these.


  Commit: 772354979ffa7e61b0e85b68fbe2aa1a5e597aef
      https://github.com/llvm/llvm-project/commit/772354979ffa7e61b0e85b68fbe2aa1a5e597aef
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M libcxx/utils/ci/lnt/README.md
    M libcxx/utils/ci/lnt/run-benchmarks
    M libcxx/utils/ci/lnt/runners/apple-m5-clang21
    M libcxx/utils/ci/lnt/runners/apple-m5-xcode26
    A libcxx/utils/ci/lnt/submit-benchmarks

  Log Message:
  -----------
  [libc++] Split benchmark generation and submission into two scripts (#191211)

This makes it easier to locally replicate perf CI setups locally without
actually making submissions to the LNT instance.


  Commit: b4a49883ce7a896eeb1fae88ca5abe0746d01168
      https://github.com/llvm/llvm-project/commit/b4a49883ce7a896eeb1fae88ca5abe0746d01168
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.cpp
    A clang/test/CodeGen/AMDGPU/sanitizer.c

  Log Message:
  -----------
  [HIP] Fix ubsan function checks applied to kernel functions (#188872)

Summary:
The 'function' check requires inserting eight bytes of magic before each
function. The HIP runtime expects and enforces 256 byte alignment. When
the instrumentation inserts the eight bytes this is done after the
alignment, which means that the HIP runtime then points the PC to an
invalid instruction by truncating the address to 256 byte alignment. The
OpenMP runtime doesn't do this.

The purpose of this function is to handle indirect calls, and it's
impossible to indirectly call a kernel anyway, so we should just
suppress this in this case. The only other solution would be to add the
alignment back before we emit the label, but that would be meaningless
because it'd just replace the magic bytes with zeroes.


  Commit: 6a7c14115c7ae0a8460e6717ff6f4e9091fc32e1
      https://github.com/llvm/llvm-project/commit/6a7c14115c7ae0a8460e6717ff6f4e9091fc32e1
  Author: Zhijie Wang <yesterda9 at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/docs/LifetimeSafety.rst

  Log Message:
  -----------
  [LifetimeSafety] Document record type origin tracking for lifetimebound calls (#189508)

Update the doc for #187917


  Commit: ef281e905927147d64b74ce9ec7fd14332f929b1
      https://github.com/llvm/llvm-project/commit/ef281e905927147d64b74ce9ec7fd14332f929b1
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M mlir/test/Integration/GPU/LevelZero/gpu-addf32-to-spirv.mlir
    M mlir/test/Integration/GPU/LevelZero/gpu-addi64-to-spirv.mlir
    M mlir/test/Integration/GPU/LevelZero/gpu-memcpy-addf32-to-spirv.mlir
    M mlir/test/Integration/GPU/LevelZero/gpu-reluf32-to-spirv.mlir

  Log Message:
  -----------
  [MLIR][GPU] Fix LevelZero wrapper integration tests. (#191060)

LevelZero wrapper has been updated to accept SPIR-V binary for JIT
wrapper.
Update gpu-module-to-binary pass format option to isa to use JIT.


  Commit: e76d803359f1993cb66c6c100e3648ff0cb4afc4
      https://github.com/llvm/llvm-project/commit/e76d803359f1993cb66c6c100e3648ff0cb4afc4
  Author: Tim Gymnich <tim at gymni.ch>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Support/KnownFPClass.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Support/KnownFPClass.cpp
    A llvm/test/Transforms/Attributor/nofpclass-trig.ll
    M llvm/test/Transforms/InstSimplify/known-never-infinity.ll
    M llvm/test/Transforms/InstSimplify/known-never-nan.ll

  Log Message:
  -----------
  [Support] KnownFPClass: add static helpers for more trig intrinsics (#190609)

Add KnownFPClass::tan, sinh, cosh, tanh, asin, acos, atan, and atan2
static helper methods, following the same pattern as the existing
sin/cos helpers.

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


  Commit: fa89983d45e25cb2d64773148b43c7b4ab8c5d1b
      https://github.com/llvm/llvm-project/commit/fa89983d45e25cb2d64773148b43c7b4ab8c5d1b
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  Add LifetimeSafety documentation to PR labeler (#191215)


  Commit: 6ca63c1018a0a89912bbf1b30ef28f42ed14e76a
      https://github.com/llvm/llvm-project/commit/6ca63c1018a0a89912bbf1b30ef28f42ed14e76a
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [mlir][spirv] Add missing include statements and header guard (NFC) (#191078)

Previously this header assumed these other includes had already been
included


  Commit: 1ecd855a4d95b1295c17a36c13d911dc4ca0f0b9
      https://github.com/llvm/llvm-project/commit/1ecd855a4d95b1295c17a36c13d911dc4ca0f0b9
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M libcxx/utils/ci/lnt/README.md
    A libcxx/utils/ci/lnt/run-benchbot
    R libcxx/utils/ci/lnt/runners/README.md
    R libcxx/utils/ci/lnt/runners/apple-m5-clang21
    R libcxx/utils/ci/lnt/runners/apple-m5-xcode26

  Log Message:
  -----------
  [libc++] Replace individual LNT runner scripts by run-benchbot (#191221)

The run-benchbot script is similar to the run-buildbot script. Its goal
is to provide a unified entry point for all the libc++ LNT runners.


  Commit: 2763b22413c4f8406087a1ffb5aa3d67f8f49edd
      https://github.com/llvm/llvm-project/commit/2763b22413c4f8406087a1ffb5aa3d67f8f49edd
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.p1.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.interp.mov.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.interp.p1.f16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.interp.p1.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.interp.p2.f16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.interp.p2.mir
    M llvm/test/CodeGen/AMDGPU/diverge-interp-mov-lower.ll
    M llvm/test/CodeGen/AMDGPU/fsub-as-fneg-src-modifier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for interp intrinsics (#191086)


  Commit: f3db4b72a5c2a5001a4ff6af9e2e01dcd57fd584
      https://github.com/llvm/llvm-project/commit/f3db4b72a5c2a5001a4ff6af9e2e01dcd57fd584
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.setprio.inc.wg.ll

  Log Message:
  -----------
  [AMDGPU][GISel] RegBankLegalize rules for amdgcn_s_setprio_inc_wg (#191064)


  Commit: 2c7bc4226dacdb87604ac690195a4f10141b54e3
      https://github.com/llvm/llvm-project/commit/2c7bc4226dacdb87604ac690195a4f10141b54e3
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    A .github/workflows/release-llvm-testing-tools.yml

  Log Message:
  -----------
  [Github][TestingTools] Add workflow to build llvm-testing-tools

Add a github workflow to build the package. This just adds manylinux239
support for x86. Eventually we want to set up Windows/MacOS/AArch64
Linux and trusted publishing to automatically push this out to PyPI, but
for now this should be sufficient for testing.

Reviewers: ldionne, Michael137

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


  Commit: 212a216e425469be5b9c6e74f6ebb92993f54653
      https://github.com/llvm/llvm-project/commit/212a216e425469be5b9c6e74f6ebb92993f54653
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.fdot2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f16.f16.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for fdot2 (#191066)


  Commit: 6a12adb5a8de1a5eed17bbcfa886397ba6931f13
      https://github.com/llvm/llvm-project/commit/6a12adb5a8de1a5eed17bbcfa886397ba6931f13
  Author: 4ast <alexei.starovoitov at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/BPF/struct_ret1.ll
    M llvm/test/CodeGen/BPF/struct_ret2.ll

  Log Message:
  -----------
  [bpf] make tests endian agnostic (#191206)

fix s390 failures:
https://lab.llvm.org/buildbot/#/builders/42/builds/8534

Signed-off-by: Alexei Starovoitov <ast at kernel.org>
Co-authored-by: Alexei Starovoitov <ast at kernel.org>


  Commit: e21759ff4931db082dfdcc87ac3bf70ddd356abe
      https://github.com/llvm/llvm-project/commit/e21759ff4931db082dfdcc87ac3bf70ddd356abe
  Author: Kacper Doga <kacper.doga at intel.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    A llvm/test/Analysis/BasicAA/gep-decompose-bitcast-vector-type-mismatch.ll

  Log Message:
  -----------
  [BasicAA] Fix assertion failure in alias() caused by non-pointer base in DecomposeGEPExpression (#191180)

When stripping a bitcast in DecomposeGEPExpression, the resulting
operand may have a non-scalar-pointer type (e.g. <1 x ptr>). Proceeding
with such a type as the decomposition base violates the AA assumption
that all pointers are scalar pointer types, triggering an assertion
failure on alias() call.

Add a type check in the bitcast/addrspacecast handling path to return
not stripped V as base when the stripped operand is not a scalar pointer
type.

Add a lit test verifying no crash on valid IR containing such a bitcast,
and checking that the alias query conservatively returns MayAlias.

Fixes #191157


  Commit: 9d38eba6e73b70030518d3ed09a01bb06b36d44b
      https://github.com/llvm/llvm-project/commit/9d38eba6e73b70030518d3ed09a01bb06b36d44b
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/sub-xor-cmp.ll

  Log Message:
  -----------
  [InstCombine][ProfCheck] Mark unknown select profiles in sub xor fold (#191192)

Mark the weights as explicitly unknown given we cannot statically infer
the weights without value profiling due to the select being synthesized
from a binary operation.


  Commit: 857a98e50e279c0c1cf3658337dadb347f7ff5c4
      https://github.com/llvm/llvm-project/commit/857a98e50e279c0c1cf3658337dadb347f7ff5c4
  Author: Andrew Haberlandt <ahaberlandt at apple.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.h

  Log Message:
  -----------
  [compiler-rt] [Darwin] Move macOS ASAN reservation above 512G (#191039)

On macOS, the first 512G may contain platform-specific reservations. To
ensure compatibility with these reservations, this changes ASAN to
always map shadow memory above 512G on macOS.

rdar://174252720


  Commit: 070d708d86629d8c8deae2a95c6e071f30ba9c5c
      https://github.com/llvm/llvm-project/commit/070d708d86629d8c8deae2a95c6e071f30ba9c5c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M libcxx/utils/ci/lnt/run-benchbot

  Log Message:
  -----------
  [libc++] Minor tweaks to run-benchbot (#191233)

- Support multiple runs of run-benchbot on the same commit
- Add support for passing a path to SPEC


  Commit: e77ac8049afab1ed6dcd048a65c0e5c030293c84
      https://github.com/llvm/llvm-project/commit/e77ac8049afab1ed6dcd048a65c0e5c030293c84
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ld1.c
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ld1_vnum.c
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ldr.c
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_st1.c
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_st1_vnum.c
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_str.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_ldr_str_zt.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ro.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1rq.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sb.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sh.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sw.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ub.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1uh.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1uw.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld2.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld3.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld4.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1sb.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1sh.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1sw.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1ub.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1uh.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1uw.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1sb.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1sh.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1sw.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1ub.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1uh.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1uw.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnt1.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfb.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfd.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfh.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfw.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1b.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1h.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1w.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st2.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st3.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st4.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_stnt1.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1sb.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1sh.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1sw.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1ub.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1uh.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1uw.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1b.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1h.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1w.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ld1.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ld1_single.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ldnt1.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_load_struct.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_loads.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1_single.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_stnt1.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store_struct.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/Bitcode/upgrade-aarch64-sve-intrinsics.ll
    M llvm/test/CodeGen/AArch64/sve-coalesce-ptrue-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/sme2-intrinsics-add-mini.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/sme2-intrinsics-add.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes-stores.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-gatherscatter.ll
    M llvm/test/Transforms/InstCombine/scalable-trunc.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-deinterleave4.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleave4.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td

  Log Message:
  -----------
  [LLVM][AArch64] Remove addrspace(0) restriction from all SVE/SME memory intrinsics. (#189992)

This requirement was not intentional, just the result of convenience.

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

---------

Co-authored-by: nikhil-m-k <nikhil_mk at yahoo.com>


  Commit: e9c78be316180a86529d7ac2ba41e4ec976fca33
      https://github.com/llvm/llvm-project/commit/e9c78be316180a86529d7ac2ba41e4ec976fca33
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
    M llvm/test/MC/ARM/thumb-ldr-stretch.s
    M llvm/test/MC/CSKY/lrw-stretch.s
    M llvm/test/MC/ELF/relax-branch-align.s
    M llvm/test/MC/X86/align-branch-convergence.s

  Log Message:
  -----------
  Reland [MC] Fuse relaxation and layout into a single forward pass (#190318)

This relands debb2514ea7f, which was reverted by #189548 due to ARM
spurious `cbz` out of range error (Chromium, Android).

---

Replace the two-pass inner loop in relaxOnce (relaxFragment +
layoutSection) with a single forward pass that sets each fragment's
offset before processing it.

- Extract relaxAlign from layoutSection's FT_Align handling and call
  it from relaxFragment. FT_Align padding is computed inline with the
  tracked Offset, so alignment fragments always see fresh upstream
  offsets. This structurally eliminates the O(N) convergence pitfall
  where stale offsets caused each iteration to fix only one more
  alignment fragment.

- The new MCAssembler::Stretch field tracks the cumulative upstream size
  delta. In evaluateFixup, for PCRel fixups during relaxation, Stretch
  is added to forward-reference target values (LayoutOrder comparison).
  This makes displacement = target_old - source_old, identical to the
  old two-pass approach, preventing premature relaxation for
  span-dependent instructions.

- FT_Fill/FT_Org removed from relaxFragment; `if (F.Offset != Offset) in
  the fused loop detects their size changes.

- layoutSection is retained for initial layout and post-finishLayout.

This fixes the FT_BoundaryAlign linear time convergence issue reported
by #176535. In addition, backward branches near the short/near boundary
may benefit from tighter encoding when a .p2align between the target and
the branch absorbs upstream growth (see relax-branch-align.s).

Key commits that updated relaxFragment/layoutSection:
- 742ecfc13e8a [MC] Relax MCFillFragment and compute fragment offsets
eagerly
- 9f66ebe42715 MC: Eliminate redundant fragment relaxation
- df71243fa885 MC: Evaluate .org during fragment relaxation
- b1d58f025e83 MCAssembler: Simplify fragment relaxation
- 58d16db8b5d2 MCAssembler: Simplify relaxation of FT_Fill and FT_Org

---

Fix for the ARM regression (see thumb-ldr-stretch.s):

ARM `evaluateFixup` pre-seeds Value with
`(F.Offset + fixup_offset) % 4` for Thumb's AlignDown(PC, 4) semantics.
The full displacement formulas:

```
Old two-pass:
  (source_old % 4) + target_old - source_old
  = target_old - alignDown(source_old, 4)

Reverted buggy fused:
  (source_new % 4) + target_old - source_new + Stretch
  = target_old + Stretch - alignDown(source_new, 4)

Fixed fused:
  ((source_new - Stretch) % 4) + target_old - source_new + Stretch
  = (source_old % 4) + target_old - source_old
  = target_old - alignDown(source_old, 4)
```

With the fused pass, F.Offset is already updated by Stretch, so the
pre-seed used the new offset while the generic Stretch compensation
assumed the old offset, producing a misaligned displacement. This caused
spurious tLDRpci -> t2LDRpci relaxation (+2 bytes each), which cascaded
to push the initial CBZ target out of range.

The fix uses pre-Stretch source offsets for the AlignDown(PC, 4)
pre-seed in evaluateFixup, leading to the same displacement
as the old two-pass algorithm.


  Commit: 20b6ec66967ac2a8f932863c1abf251e5b17a843
      https://github.com/llvm/llvm-project/commit/20b6ec66967ac2a8f932863c1abf251e5b17a843
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/test/CMakeLists.txt

  Log Message:
  -----------
  [clang][ssaf] Fix CLANG_PLUGIN_SUPPORT=OFF SSAFExamplePlugin cmake errors (#191229)

Such builds would fail with:

```
...
CMake Error at cmake/modules/AddLLVM.cmake:2245 (add_dependencies):
  The dependency target "SSAFExamplePlugin" of target
  "check-clang-utils-update_cc_test_checks" does not exist.
...
```

This fixes it by using the same condition for the test dependency as is
used for deciding to build the plugin in
clang/lib/ScalableStaticAnalysisFramework/Plugins/CMakeLists.txt


  Commit: e3adaf0be8b71a66028ddcdb9897c67dd0804fd3
      https://github.com/llvm/llvm-project/commit/e3adaf0be8b71a66028ddcdb9897c67dd0804fd3
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/lib/Serialization/ModuleCache.cpp

  Log Message:
  -----------
  [clang][modules] Close module file descriptors (#191227)

This was missed in the original PR and was causing "too many files open"
errors on real workloads.


  Commit: cacd8625ea70c452c4bfcafc75eb55c29d3f31fe
      https://github.com/llvm/llvm-project/commit/cacd8625ea70c452c4bfcafc75eb55c29d3f31fe
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/include/CMakeLists.txt
    A libc/include/syscall.h

  Log Message:
  -----------
  [libc] Add a redirecting <syscall.h> header. (#191069)

The amount of legacy code including `<syscall.h>` header instead of
`<sys/syscall.h>` (which is the regular header location on Linux
systems) out there is large.

Add a simple one-liner redirecting header to fix this compatibility
issues. In this PR I omit the regular licensing blurb at the top, given
the transient nature of this file, but I'm happy to add this if needed.
Also, given that it's effectively a compatibility shim, YAML generation
is not used.


  Commit: fa7f5cf6f665f2380a7103bccce58a01ea673b8c
      https://github.com/llvm/llvm-project/commit/fa7f5cf6f665f2380a7103bccce58a01ea673b8c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M libc/shared/rpc.h

  Log Message:
  -----------
  [libc] Fix 'finish()' being called by the client instead of the server (#191226)

Summary:
This function is supposed to manage the doorbell interrupts. The flow
that was intended was that the client notified work to wake the server
and the server finished the work so it didn't go back to sleep until
everything was done. This was reversed and we had the client finishing
work and then stalling on it.


  Commit: 47c919a8b56db94a0897e55c242343e889d02eb8
      https://github.com/llvm/llvm-project/commit/47c919a8b56db94a0897e55c242343e889d02eb8
  Author: rthomas-activision <romain.thomas at activision.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/cl-outputs.c

  Log Message:
  -----------
  [clang][Driver] Ensure intermediate bitcode files are written according to `/Fo` (#189977)

With the following compilation process:

```
$ mkdir -p src/ tmp/
$ cat << 'EOF' > src/main.c
int main() { return 0; }
EOF
$ clang-cl /c /Fo:tmp/ /clang:-fembed-bitcode src/main.c
```

the object file `main.obj` is generated in the `tmp/` directory but the
intermediate `main.bc` is placed in the current working directory.

This PR ensures that intermediate `.bc` files are written to the same
directory specified by `/Fo`.


  Commit: 1af724e4a940869bd30aadf42eec01773de71c35
      https://github.com/llvm/llvm-project/commit/1af724e4a940869bd30aadf42eec01773de71c35
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/spirv_param_decorations.ll

  Log Message:
  -----------
  [NFC][SPIR-V] Fix spirv_param_decorations test to use valid parameter types and decorations (#191125)


  Commit: 74af5fa55f8f6f96e9d01edfd2beaf9b245dfda1
      https://github.com/llvm/llvm-project/commit/74af5fa55f8f6f96e9d01edfd2beaf9b245dfda1
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRDialect.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/Support/ReductionProcessor.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIRDialect.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    M flang/test/Fir/fir-ops.fir
    M flang/test/Fir/invalid.fir
    M flang/test/Fir/logical-convert.fir
    A flang/test/Fir/logical-ops-fold.fir
    M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
    M flang/test/Lower/HLFIR/binary-ops.f90
    M flang/test/Lower/HLFIR/expr-box.f90
    M flang/test/Lower/HLFIR/user-defined-assignment.f90
    M flang/test/Lower/OpenACC/acc-reduction.f90
    M flang/test/Lower/OpenMP/atomic-update-reassoc-logical.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/array-elemental-calls-2.f90
    M flang/test/Transforms/FIRToMemRef/logical.mlir

  Log Message:
  -----------
  [flang] preserve logical operations in single FIR operation (#190771)

This patch adds new operations to represent AND/OR/EQV/NEQV logical
operation with the main goal of preserving them at a higher level in the
IR to make it easier to match them and to dispatch them to atomic
implementations when working on reductions.

They are only generated when one of the argument is actually a logical,
otherwise, the when dealing with AND/OR... where both operands are
comparisons, the i1 arith operations are still generated since using the
new operation would make the IR more complex and preserving logical
operation is only valuable when one of the operand is a logical
variable.


  Commit: 1a4734789d2dcc42bb2d183ffb94b0cb9b41292f
      https://github.com/llvm/llvm-project/commit/1a4734789d2dcc42bb2d183ffb94b0cb9b41292f
  Author: Takashi Idobe <idobetakashi at gmail.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/scmp.ll
    M llvm/test/Transforms/InstCombine/ucmp.ll

  Log Message:
  -----------
  [InstCombine] fold (sext(ucmp/scmp(X, Y)) -> ucmp/scmp(X, Y) (#191182)

relates: https://github.com/llvm/llvm-project/issues/190538
related PR: https://github.com/llvm/llvm-project/pull/190787

This PR folds (sext(ucmp/scmp(X, Y)) -> ucmp/scmp(X, Y). Since ucmp/scmp
return -1, 0, 1, if you see the sequence:

```llvm
%_3 = tail call i8 @llvm.ucmp.i8.i64(i64 %a, i64 %b)
%_0 = sext i8 %_3 to i64
```

It's fine to turn this into:

```llvm
%_0 = tail call i64 @llvm.ucmp.i64.i64(i64 %a, i64 %b)
```

[Alive Proof](https://alive2.llvm.org/ce/z/VmeKM2)

Likewise for scmp:

```llvm
%_3 = tail call i8 @llvm.scmp.i8.i64(i64 %a, i64 %b)
%_0 = sext i8 %_3 to i64
```

```llvm
%_0 = tail call i64 @llvm.scmp.i64.i64(i64 %a, i64 %b)
```

[Alive Proof](https://alive2.llvm.org/ce/z/WSm7YS)

For ucmp, a simple way to get this is to cmp two rust unsigned integers:

```rust
pub fn compare(a: u64, b: u64) -> i64 {
    a.cmp(&b) as i64
}
```

Which gets this:

```llvm
define noundef range(i64 -1, 2) i64 @compare(i64 noundef %a, i64 noundef %b) unnamed_addr {
start:
  %_3 = tail call i8 @llvm.ucmp.i8.i64(i64 %a, i64 %b)
  %_0 = sext i8 %_3 to i64
  ret i64 %_0
}

declare range(i8 -1, 2) i8 @llvm.ucmp.i8.i64(i64, i64)
```

For scmp, swapping to i64s will suffice:

```rust
pub fn compare(a: i64, b: i64) -> i64 {
    a.cmp(&b) as i64
}
```

```llvm
define noundef range(i64 -1, 2) i64 @compare(i64 noundef %a, i64 noundef %b) unnamed_addr {
start:
  %_3 = tail call i8 @llvm.scmp.i8.i64(i64 %a, i64 %b)
  %_0 = sext i8 %_3 to i64
  ret i64 %_0
}

declare range(i8 -1, 2) i8 @llvm.scmp.i8.i64(i64, i64)
```


  Commit: 63c64fa6cd451557c7554593c1908e34e668aa89
      https://github.com/llvm/llvm-project/commit/63c64fa6cd451557c7554593c1908e34e668aa89
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M libc/hdr/stdint_proxy.h

  Log Message:
  -----------
  [libc] Add LIBC_FULL_BUILD guard to stdint_proxy.h (#191234)

In full-build mode with -nostdinc, the system <stdint.h> is unavailable.
Use the internal stdint-macros.h header instead, falling back to the
system header in overlay mode.


  Commit: 544e6c692aa79cc8d53a8a9db4d41fe4d9cb359b
      https://github.com/llvm/llvm-project/commit/544e6c692aa79cc8d53a8a9db4d41fe4d9cb359b
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M libc/src/pthread/pthread_attr_getschedparam.cpp
    M libc/src/pthread/pthread_attr_setschedparam.cpp

  Log Message:
  -----------
  [libc] Add missing errno_macros.h include to pthread schedparam (#191235)

Both pthread_attr_getschedparam and pthread_attr_setschedparam use
ENOTSUP but relied on getting it transitively through <pthread.h>. Added
the explicit include so these files compile in standalone builds with
-nostdinc.


  Commit: 0ec2f03c86f1275a4c733079f5cb20b10f51805e
      https://github.com/llvm/llvm-project/commit/0ec2f03c86f1275a4c733079f5cb20b10f51805e
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [bazel] Fix parse_headers in mlir package (#191094)


  Commit: 202e607b6c8389583c748f1c99894d611b0bf369
      https://github.com/llvm/llvm-project/commit/202e607b6c8389583c748f1c99894d611b0bf369
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/docs/DeveloperPolicy.rst

  Log Message:
  -----------
  [DeveloperPolicy] Update information on commit authorship (#191220)

The sections on commit authorship have not been updated since the
transition to Github for PRs. This patch attempts to update them.

This is aimed at addressing questions recently raised in
https://discourse.llvm.org/t/attributing-a-commit-to-a-different-author/90490.
I guess this is technically a policy change, but does not change
anything *de facto* as far as I can tell.

---------

Co-authored-by: Petr Hosek <phosek at google.com>


  Commit: 973a05ed91db4e74aa486749b3eacd459acb2e1e
      https://github.com/llvm/llvm-project/commit/973a05ed91db4e74aa486749b3eacd459acb2e1e
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll

  Log Message:
  -----------
  [RISCV] Improve lowering of llvm.vector.reduce.mul (#190628)

RVV doesn't have a vredprod instruction, so we're forced to emulate
these.
The current ExpandReductions lowering which gets used trips an
unfortunate
behavior with exact VLEN - we end up with a bunch of vsetvli toggles
caused
by an interaction with lowerShuffleViaVRegSplitting. We end up doing all
the sub-m1 shuffles at m1, but don't recognize that we could do the
multiplies in m1 as well. As a result, we end up toggling back and forth
between LMULs.

This change is somewhat of a blunt hammer; it adjusts the lowering to
do the greater than m1 lowering via the current strategy, then do
a vector.extract, then do the same shuffler reduction lowering on
the smaller type.  This has the effect of fixing the exact VLEN case,
and improves register pressure for all cases. The cost is that we end
up with an exact vsetvli to toggle to the m1 type before the sub-m1
portion of the reduction.

This helps all configurations, but particularly helps machines
with large VLENs as there are more reduction steps which can be
performed at m1.

An alternative design would be to try and reduce the LMUL of the
multiply steps, but we've generally shied away from that to date, so
this is side stepping that issue.

---------

Co-authored-by: Luke Lau <luke_lau at icloud.com>


  Commit: 7d1ebd6baa1c2a9588ad5b07cebf1f6e8238e330
      https://github.com/llvm/llvm-project/commit/7d1ebd6baa1c2a9588ad5b07cebf1f6e8238e330
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
    A clang/test/CIR/Transforms/canonicalize-cleanup-scope.cir

  Log Message:
  -----------
  [CIR] Add canonicalizer for CleanupScopeOp (#191084)

This change adds a canonicalizer for CleanupScopeOp that erases any
cleanup scope with a trivial cleanup region, inlining the contents of
the body region into the block in place of the cleanup scope op. It also
erases any EH-only cleanup scope whose body region contains only a yield
operation, dropping the cleanup region contents even if they were not
trivial because the EH cleanup is not reachable in this case.

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


  Commit: 6e2fdc37e4334344b6e22eb272279d95255d27c1
      https://github.com/llvm/llvm-project/commit/6e2fdc37e4334344b6e22eb272279d95255d27c1
  Author: Jack <jack.slingsby at imgtec.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp

  Log Message:
  -----------
  [mlir][spirv] Allow redefinition in OpName instructions (#191223)

The SPIR-V specification allows multiple conflicting OpName instructions
to redefine the name associated with a given `<id>`. Update the
deserializer to handle this case by using the last declared name.


  Commit: 3af682ec02cc292606b74e9ccea188b11a84dfba
      https://github.com/llvm/llvm-project/commit/3af682ec02cc292606b74e9ccea188b11a84dfba
  Author: Kavin Gnanapandithan <kavin.balag at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/fptrunc.ll

  Log Message:
  -----------
  [InstCombine] Restore narrowing of double to float for integer casts (#190550)

Resolves #190503

This patch modifies `visitFPTrunc` to simplify the following expression:

 ```llvm
fptrunc(OpI (sitofp/uitofp x), (sitofp/uitofp y))
```
to
```llvm
OpI (sitofp/uitofp x), (sitofp/uitofp y)
```

`getMinimumFPType` now calls `canBeCastedExactlyIntToFP` on `x` and `y`. 

This allows a double to be narrowed to a float if the source operands originate from sitofp/uitofp and can be represented exactly in the target float type.

This fixes a regression pointed out in the issue, where `visitFPExt` began folding `fpext(sitofp)` into `uitofp nneg i64 %x to double`, causing `visitFPTrunc` to lose the `fpext` it relied on to recognize the narrowing opportunity. On certain target, this would cause more expensive operations (i.e, division with f64 instead of f32).


  Commit: afc0679414c32f457c271893603765d46beb63ef
      https://github.com/llvm/llvm-project/commit/afc0679414c32f457c271893603765d46beb63ef
  Author: Zhijie Wang <yesterda9 at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [LifetimeSafety] Detect use of a reference type as a use of underlying origin (#184295)

Writing through a reference (e.g., `ref = 10`) does not rebind the
reference, so it should not kill the liveness of its underlying origin.

Fixes #180187


  Commit: 29f6c3b888970aeb336737011813fcafdd24fde8
      https://github.com/llvm/llvm-project/commit/29f6c3b888970aeb336737011813fcafdd24fde8
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [lldb] Disable flaky TestFrameProviderThreadFilter on Windows (#191224)

See #191222 for details.


  Commit: d39f23a062af923dc3066a0a067b346c4acf6117
      https://github.com/llvm/llvm-project/commit/d39f23a062af923dc3066a0a067b346c4acf6117
  Author: Alexander Yermolovich <ayermolovich at nvidia.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXDwarfDebug.cpp
    M llvm/lib/Target/NVPTX/NVPTXDwarfDebug.h
    A llvm/test/CodeGen/NVPTX/inline-asm-line-info-inlined-at.ll
    A llvm/test/CodeGen/NVPTX/inline-asm-line-info-per-instruction.ll
    A llvm/test/CodeGen/NVPTX/inline-asm-line-number-before.ll

  Log Message:
  -----------
  [PTX][Debug] Add .loc directives to inlined PTX. (#177718)

This PR adds .loc directives to the inlined PTX as it gets emitted into
PTX file.
This allows PTXAS to create .debug_line with with entries for those
instructions, and helps profiler attribute perf counters to source code.


  Commit: ff37b607175f8d827088a847c8b564bf606b4c28
      https://github.com/llvm/llvm-project/commit/ff37b607175f8d827088a847c8b564bf606b4c28
  Author: Bastian Hagedorn <bhagedorn at nvidia.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/python/dialects/nvvm.py

  Log Message:
  -----------
  [mlir][NVVM] Add InferTypeOpInterface to sync and ldmatrix ops (#188238)

Add InferTypeOpAdaptor to 5 NVVM ops with deterministic result types:

- VoteSyncOp: ballot -> i32, any/all/uni -> i1
- MatchSyncOp: any -> i32, all -> struct<(i32, i1)>
- ShflOp: result matches val type, or struct<(val_type, i1)> with
return_value_and_is_valid
- LdMatrixOp: i32 or struct of i32s based on num and shape
- ClusterLaunchControlQueryCancelOp: is_canceled -> i1, others -> i32

Note: this is a source-breaking change for Python callers that pass
result types positionally.

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


  Commit: ea8f2aeac3e7cf0c29749c4747760a3c73d3c2f8
      https://github.com/llvm/llvm-project/commit/ea8f2aeac3e7cf0c29749c4747760a3c73d3c2f8
  Author: Valeriy Savchenko <vsavchenko at apple.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/test/Transforms/InstCombine/fpcast.ll

  Log Message:
  -----------
  [InstCombine] Fold saturating fptoi roundtrip (#190952)

Generalize existing fold to saturating intrinsics.


  Commit: 8e804dca50049a4ed192a733e8f95e05d5ddcfdf
      https://github.com/llvm/llvm-project/commit/8e804dca50049a4ed192a733e8f95e05d5ddcfdf
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/JSONGenerator.cpp

  Log Message:
  -----------
  [clang-doc][NFC] Delete redundant lines in JSONGenerator (#191011)

During the merging for the Mustache MD backend, I forgot to delete the
earlier, obsolete serialization for namespaces. It's being overwritten
by the correct call later. Also deletes a duplicate typedef.


  Commit: 1542114a1aea30b6fd7167ddd51f54c99882b309
      https://github.com/llvm/llvm-project/commit/1542114a1aea30b6fd7167ddd51f54c99882b309
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ADT/SmallVector.h
    M llvm/include/llvm/IR/Metadata.h
    M llvm/include/llvm/SandboxIR/User.h
    M llvm/unittests/ADT/SmallVectorTest.cpp

  Log Message:
  -----------
  [ADT] Fix SmallVector append with input iterators (#191030)

append()/assign()/insert() iterate over the iterator twice -- once to
get the length and once to actually append the content. This is only
permitted with forward iterators, not input iterators.

For append()/assign(), implement a version that uses emplace_back() in
a loop. insert() at the end is append(); for insert() in the middle,
append() elements first and then rotate them into their correct
position.

Originally introduced in https://reviews.llvm.org/D33919.


  Commit: 1353f7cd548d3534c1e1fd4265bc030209bb4dd2
      https://github.com/llvm/llvm-project/commit/1353f7cd548d3534c1e1fd4265bc030209bb4dd2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    A llvm/test/Transforms/Inline/inline-history-invoke.ll

  Log Message:
  -----------
  [Inliner] Fix dangling pointer in OriginallyIndirectCalls. (#191242)

changeToInvokeAndSplitBasicBlock replaces an exising call instruction
with an invoke instruction. This leaves a dangling pointer in
OriginallyIndirectCalls. This means we miss !inline_history metadata on
the invokes replacing the direct calls.

It also cause non-determinism, where the inliner adds !inline_history
entries to unrelated call instructions, if we happen to re-allocate a
new call at the same address as a dangling pointer in the set.

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


  Commit: 4fb9443d63494f8388c801d5decaadd7f0779ad8
      https://github.com/llvm/llvm-project/commit/4fb9443d63494f8388c801d5decaadd7f0779ad8
  Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/lib/Semantics/check-acc-structure.h
    A flang/test/Semantics/OpenACC/acc-loop-routine-call.f90

  Log Message:
  -----------
  [flang][OpenACC] Diagnose illegal routine calls in parallel loops (#190068)

Add routine call checking to `AccStructureChecker` to reject OpenACC
routine calls whose parallel level is incompatible with the enclosing
loop directive (e.g., calling a worker‑level routine from a
vector‑parallel loop), as required by the OpenACC specification.


  Commit: 1465fdc0a9a1ff30e8f5b3dbbd22bd3aed7b236f
      https://github.com/llvm/llvm-project/commit/1465fdc0a9a1ff30e8f5b3dbbd22bd3aed7b236f
  Author: Aviral Goel <aviralg at users.noreply.github.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/Tool/Utils.h
    M clang/lib/ScalableStaticAnalysisFramework/Tool/Utils.cpp
    M clang/test/Analysis/Scalable/ssaf-linker/help.test
    M clang/test/Analysis/Scalable/ssaf-linker/io.test
    M clang/test/Analysis/Scalable/ssaf-linker/validation-errors-permissions.test
    M clang/test/Analysis/Scalable/ssaf-linker/validation-errors.test
    M clang/tools/clang-ssaf-format/SSAFFormat.cpp
    M clang/tools/clang-ssaf-linker/SSAFLinker.cpp

  Log Message:
  -----------
  [clang][ssaf] Refactor path validation into shared `FormatFile` utilities (#188847)

This patch introduces the following changes:

- Renames `SummaryFile` to `FormatFile` to better reflect that the
struct pairs a file path with its resolved `SerializationFormat`.
- Consolidates duplicated input/output path validation logic from
`SSAFLinker.cpp` and `SSAFFormat.cpp` into shared
`FormatFile::fromInputPath()` and `FormatFile::fromOutputPath()` methods
in `Tool/Utils.{h,cpp}`
- Moves error message constants from the public header into the `.cpp`
file and rewords them.
- Removes per-tool local error messages and filesystem logic that are
now handled centrally.
- Updates all affected lit tests to match the new error message wording
and adds a test for directory-as-input.


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

  Changed paths:
    M flang-rt/lib/cuda/allocator.cpp

  Log Message:
  -----------
  [flang][cuda] Add error check for allocator using CUDA API (#191262)


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

  Changed paths:
    M flang-rt/include/flang-rt/runtime/environment.h
    M flang-rt/lib/cuda/kernel.cpp
    M flang-rt/lib/runtime/environment.cpp

  Log Message:
  -----------
  [flang][cuda] Add conditional error check after kernel launch (#191270)


  Commit: 0340cd765df44b5d899efb0b28c2ea8fdff321bd
      https://github.com/llvm/llvm-project/commit/0340cd765df44b5d899efb0b28c2ea8fdff321bd
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/nested-outer-loop-vect.ll

  Log Message:
  -----------
  [LV] Add test with outer loop test nested inside another loop (NFC). (#191267)

Add missing test coverage for the VPlan-native path, where we have a
loop nest nested inside another loop. This guards against regressions in
the future.


  Commit: 012f8200734a6d7651682c0aa41bbdf3bad9e951
      https://github.com/llvm/llvm-project/commit/012f8200734a6d7651682c0aa41bbdf3bad9e951
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M libc/hdr/stdint_proxy.h

  Log Message:
  -----------
  Revert "[libc] Add LIBC_FULL_BUILD guard to stdint_proxy.h (#191234)" (#191273)

This reverts commit 63c64fa6cd451557c7554593c1908e34e668aa89.


  Commit: b742ec91c0876fc5f9fb85aceecb67c22021b69d
      https://github.com/llvm/llvm-project/commit/b742ec91c0876fc5f9fb85aceecb67c22021b69d
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/wrappers_c.cpp
    M compiler-rt/lib/scudo/standalone/wrappers_c.h
    R compiler-rt/lib/scudo/standalone/wrappers_c.inc
    R compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp
    M compiler-rt/lib/scudo/standalone/wrappers_cpp.cpp

  Log Message:
  -----------
  [scudo] Refactor the wrapper code into a single file. (#190857)

Allow using a define to create a prefix rather than trying to use
android/bionic checks.


  Commit: 8cd0fb68a17e52bc2f31a835502863810c2ff7c0
      https://github.com/llvm/llvm-project/commit/8cd0fb68a17e52bc2f31a835502863810c2ff7c0
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M utils/bazel/MODULE.bazel
    M utils/bazel/MODULE.bazel.lock
    M utils/bazel/extensions.bzl
    R utils/bazel/third_party_build/pybind.BUILD

  Log Message:
  -----------
  [bazel] Remove pybind dep (#191269)

This is entirely gone from llvm code


  Commit: df45fbb04445bfb19939df7c037412efc9dc8efe
      https://github.com/llvm/llvm-project/commit/df45fbb04445bfb19939df7c037412efc9dc8efe
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.cos.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sin.bf16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll

  Log Message:
  -----------
  [AMDGPU] Fix V_FMA_MIX_BF16 selection in true16 (#191272)


  Commit: a0f0d6342e0cd75b7f41e0e6aae0944393b68a62
      https://github.com/llvm/llvm-project/commit/a0f0d6342e0cd75b7f41e0e6aae0944393b68a62
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    A flang/test/Transforms/licm-nested-hoist-aggressive.fir
    A flang/test/Transforms/licm-nested-hoist-disabled.fir

  Log Message:
  -----------
  [flang] Added more tests for Flang LICM. (#191083)


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

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

  Log Message:
  -----------
  [LV] Don't access loop after executePlan in native path (NFC). (#191277)

Bring native path in line with inner loop path: the loop may become
invalid once we are able to remove the scalar loop in the native path as
well. Match inner loop behavior by reporting vectorization before
executePlan, and using F instead of L->getHeader()->getParent().


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

  Changed paths:
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86-non-temporal.ll.filter-out.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86-non-temporal.ll.multifilter.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86-non-temporal.ll.nofilter.expected

  Log Message:
  -----------
  [X86] Add constant pool comments for PADDB/W/D/Q. (#191279)

Split from #190274


  Commit: 2379e91c2d6af1fd892c0aece9bb8b1279ada8ff
      https://github.com/llvm/llvm-project/commit/2379e91c2d6af1fd892c0aece9bb8b1279ada8ff
  Author: Kartik Ohlan <kartik7ohlan at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CGExpr.cpp
    A clang/test/CodeGen/ext-vector-bool-read.cpp

  Log Message:
  -----------
  [Clang] Fix assertion failure when storing to ext_vector_type bool elements (#189305)

#189260 

Fix assertion failure in boolean vector indexing by truncating to i1.


  Commit: 63b4f032e2af53bb7723b291bc922d72b99c7747
      https://github.com/llvm/llvm-project/commit/63b4f032e2af53bb7723b291bc922d72b99c7747
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    A libcxx/test/libcxx/containers/associative/lookup_with_transparently_comparable.pass.cpp

  Log Message:
  -----------
  [libc++] Add positive test coverage for the string optimization on associative containers (#187345)

Unfortunately, this test needs to be somewhat tied to the fact that we
implement the optimization for std::string, but in practice it would
have caught the issue that the optimization was previously disabled, so
it does provide value.

Towards #187105


  Commit: 2717cc2234c898556cb38809cc599ea2108b163a
      https://github.com/llvm/llvm-project/commit/2717cc2234c898556cb38809cc599ea2108b163a
  Author: Karthik Senthil <ksenthilkuma at nvidia.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    A llvm/test/CodeGen/NVPTX/sub-byte-constant-vector-convert.ll
    A llvm/test/CodeGen/NVPTX/sub-byte-constant-vectors-i4-i2.ll

  Log Message:
  -----------
  [NVPTX] Merge consecutive elements while buffering constant vectors with sub-byte datatype. (#183628)

NVPTXAsmPrinter currently buffers one element at a time while generating
PTX for constant global vectors. This causes an assertion when dealing
with sub-byte datatype (like i4) since we allocate lesser buffer size.
This PR fixes the printer to merge consecutive elements to form a full
byte before buffering.


  Commit: 31060029a626a8fa5b1363b72f61c04f31a1c7a9
      https://github.com/llvm/llvm-project/commit/31060029a626a8fa5b1363b72f61c04f31a1c7a9
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/include/llvm/DebugInfo/Symbolize/SymbolizableObjectFile.h
    M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
    A llvm/test/tools/llvm-objdump/lit.local.cfg
    A llvm/test/tools/llvm-objdump/wasm/line-numbers.s
    A llvm/test/tools/llvm-symbolizer/lit.local.cfg
    M llvm/test/tools/llvm-symbolizer/wasm-basic.s

  Log Message:
  -----------
  SymbolizableOjbectFile: Convert Wasm file offset to section offset for DWARF (#191068)

Wasm's object and linking format lacks virtual addresses like ELF et al.
As a result, linked files generally use file offsets as "addresses",
whereas
objects and DWARF sections use code section offsets.
This has led to incorrect interpretation of addresses in llvm-objdump
and llvm-symbolizer for linked files.

This change to SerializableObjectFile checks the input ModuleOffset, and
if it falls within a wasm code section, adjusts it to a section offset
before querying the DwarfContext. (For object files, Sec.getAddress() is
0 so it works for object files too). It extends the existing DWARF test
for llvm-symbolizer to include a linked file, and also adds an
equivalent for objdump.

Fixes #129523


  Commit: 7a186da65b3754509bff2d7bafcc28a095279320
      https://github.com/llvm/llvm-project/commit/7a186da65b3754509bff2d7bafcc28a095279320
  Author: zGoldthorpe <Zach.Goldthorpe at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
    M llvm/test/CodeGen/X86/nofpclass.ll

  Log Message:
  -----------
  [SelectionDAG] Replace `isKnownNeverZeroFloat` with `isKnownNeverLogicalZero` using `KnownFPClass` (#190621)

In so doing, this also corrects miscompiles caused by
`isKnownNeverZeroFloat` mishandling denormals in DAZ floats.


  Commit: 691a130e0f14459d9358a71ffd52a01295e6200a
      https://github.com/llvm/llvm-project/commit/691a130e0f14459d9358a71ffd52a01295e6200a
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/PostOrderCFGView.h
    M clang/lib/Analysis/PostOrderCFGView.cpp
    M llvm/include/llvm/ADT/PostOrderIterator.h
    M llvm/include/llvm/Analysis/LoopIterator.h
    M llvm/lib/Analysis/LoopInfo.cpp
    M llvm/lib/CodeGen/MachineTraceMetrics.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/lib/Transforms/Vectorize/VPlanCFG.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/unittests/ADT/PostOrderIteratorTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M mlir/include/mlir/IR/Iterators.h

  Log Message:
  -----------
  [ADT] Refactor post order traversal (#191047)

Currently, po_iterator holds the traversal state. This makes copying
and moving po_iterator fairly expensive and the code cannot be optimized
away in several cases (most of it isn't even inlined in a default
build).

Therefore, refactor post-order traversal to hold the state in a wrapper
class with cheap iterators. Additionally, replace po_storage base class
with a CRTP implementation where users can provide their own storage.

Benefits:

- Performance in stage2-O3 improves by 0.19% instructions:u and even
  more substantially in cycles/wall-time.

- Users that use a custom storage/iteration limitation can do so in a
  more clean way by subclassing PostIteratorTraversalBase. See e.g.
  LoopBlocksTraversal.

- For graphs with block numbers, reserving can now be implemented
  reasonably easy (not done yet).

Implications:

- PostOrderTraversal::iterator is no longer a forward iterator. This
  property was never really used, though.

- PostOrderTraversal must be live while iterators are live. For typical
  uses (for (X x : post_order(...))), this is no problem, but could end
  up being problematic if the iterator is wrapped (e.g.
  for (X x : make_filter_range(post_order(...), ...)) -- problematic,
  because make_filter_range doesn't preserve the range but only the two
  iterators, which become invalid as the for loop is entered). This is a
  limitation of the way LLVM implements ranges.


  Commit: e8e8552692eaf16c445f02388412b7f088d72f11
      https://github.com/llvm/llvm-project/commit/e8e8552692eaf16c445f02388412b7f088d72f11
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
    M llvm/include/llvm/Analysis/BranchProbabilityInfo.h
    M llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h
    M llvm/lib/Analysis/BranchProbabilityInfo.cpp
    M llvm/lib/CodeGen/MIRSampleProfile.cpp
    M llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp

  Log Message:
  -----------
  [Analysis][NFC] Remove BPI::getEdgeProbability(iterator) (#191286)

Now that successor iterators are Use iterators, it is no longer cheap to
get the successor index. Replace uses with the variant that takes the
successor index, which in all cases is easily available.

This is primarily cleanup after the somewhat recent successor changes.
There's also a minor (barely measurable) performance improvement here.


  Commit: 4a5e9fa731bf664b26fe975df073e9b456d30d49
      https://github.com/llvm/llvm-project/commit/4a5e9fa731bf664b26fe975df073e9b456d30d49
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rv32p.ll
    M llvm/test/CodeGen/RISCV/rv64p.ll

  Log Message:
  -----------
  [RISCV][P-ext] Recognize (select (X >u ((1 << C) - 1), sext(X >s -1), trunc(X)) as usati (#190810)

Where the result is a type with C bits. The unsigned compare on the
select treats negative values as large positive values so any value
that isn't in the range [0, (1 << C) - 1] will use the True operand
of the select. The sext(X >s -1) creates all ones for positive values
of X and 0 for negative values of X.

This pattern appears in the picojpeg workload of embench-iot with
an i8 result type.

Assisted-by: Claude Sonnet 4.5


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

  Changed paths:
    M clang/lib/Driver/ModulesDriver.cpp
    A clang/test/Driver/modules-driver-clang-modules-only.cpp
    M clang/test/Driver/modules-driver-manifest-input-args.cpp

  Log Message:
  -----------
  Reapply "[clang][ModulesDriver] Add support for Clang modules to -fmodules-driver" (#191258)

This relands #187606 (reverted with #191122).

In the initial PR, the Clang module precompile jobs were created as
`CC1Command` objects instead of regular `Command` objects, which
introduced a memory leak.
(See discussion in https://reviews.llvm.org/D74447)

This has been fixed in this reland.


  Commit: 92d3a1d3e4aaaf3df6d5f3d6613a8146aab7d7d6
      https://github.com/llvm/llvm-project/commit/92d3a1d3e4aaaf3df6d5f3d6613a8146aab7d7d6
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [NFC][SLP] Add tests for revectorization of strided loads (#191293)

Demonstrates bug in SLP when handling re-vectorization, see #191292


  Commit: 67ff7695616f8411abc538c634e14a0aa7141dc3
      https://github.com/llvm/llvm-project/commit/67ff7695616f8411abc538c634e14a0aa7141dc3
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Lex/HeaderSearch.h
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/ModuleMap.cpp
    A clang/test/Modules/symlink-to-modular-header.c

  Log Message:
  -----------
  [clang][modules] Add warning for symlinks to modular headers (#188059)

Symlinks that are not covered by a module that point to a header owned
by a module create situations where if a header is owned by a module
depends on which headers were included prior.

This adds a diagnostic for such cases when they can be detected, and
informs the user to use a textual forwarding header instead.

This bypasses Clang's FileManager and VFS as they don't know about
symlinks. The diagnostic is worded as "may" because of this.


  Commit: 5f27de8c4d895f2128f7ca5ce788d997fd3ea99c
      https://github.com/llvm/llvm-project/commit/5f27de8c4d895f2128f7ca5ce788d997fd3ea99c
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/test/CIR/CodeGen/partial-array-cleanup.cpp

  Log Message:
  -----------
  [CIR] Implement variable size array cleanup (#191247)

This implements partial array destruction for variable sized arrays. The
cir.array.dtor operation already had support for variable length, so
this change only needs to add the variable handling in
`emitArrayDestroy` and `emitArrayLength`.

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


  Commit: fda567137ec611fdcce24729118b4f56bec6bb13
      https://github.com/llvm/llvm-project/commit/fda567137ec611fdcce24729118b4f56bec6bb13
  Author: Artem Belevich <tra at google.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/docs/CompileCudaWithLLVM.rst

  Log Message:
  -----------
  [Docs, CUDA] Update cuda compilation docs (#191271)


  Commit: e30031890127985c6b2d25705b9467d1812f7f87
      https://github.com/llvm/llvm-project/commit/e30031890127985c6b2d25705b9467d1812f7f87
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M orc-rt/include/orc-rt/Session.h
    M orc-rt/unittests/SessionTest.cpp

  Log Message:
  -----------
  [orc-rt] Add Session::attach convenience overload. (#191199)

This overload enables one-line attach in the common case where the
ControllerAccess implementation does not require any configuration after
construction.


  Commit: 10353899af5d07aeca022e6b02ed700e85461f5e
      https://github.com/llvm/llvm-project/commit/10353899af5d07aeca022e6b02ed700e85461f5e
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataAggregator.cpp
    A bolt/test/X86/pre-aggregated-perf-shlib.test

  Log Message:
  -----------
  [BOLT] Use identify_magic for shared library detection (#190902)

Replace the fragile filename-based check (ends_with(".so")) with
identify_magic()/file_magic::elf_shared_object to reliably detect
shared libraries when filtering pre-aggregated profile data by
build ID.

Test Plan: pre-aggregated-perf-shlib.test


  Commit: 80ae4e503d60e9f15383603214de5c7cb8b9b0ea
      https://github.com/llvm/llvm-project/commit/80ae4e503d60e9f15383603214de5c7cb8b9b0ea
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.h

  Log Message:
  -----------
  [llvm-profgen] Read build ID from binary for perfscript address filtering (#190862)

For shared libraries (.so), read the binary's build ID during load()
using object::getBuildID() and store it as FilterBuildID. Main
executables keep FilterBuildID empty, matching the convention that
their perfscript addresses have no buildid prefix.

This enables automatic build ID-based filtering of perfscript
addresses in [buildid:]0xaddr format without requiring a CLI option.


  Commit: eb6075e3be0a40301f008b0b3640ed125b66929f
      https://github.com/llvm/llvm-project/commit/eb6075e3be0a40301f008b0b3640ed125b66929f
  Author: Pengxiang Huang <71998072+Pengxiang-Huang at users.noreply.github.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M libc/src/CMakeLists.txt
    A libc/src/semaphore/CMakeLists.txt
    A libc/src/semaphore/posix_semaphore.h
    M libc/test/src/CMakeLists.txt
    A libc/test/src/semaphore/CMakeLists.txt
    A libc/test/src/semaphore/semaphore_test.cpp

  Log Message:
  -----------
  [libc][semaphore] Add internal unnamed semaphore implementation (#190851)

Implements the first part for #190847

Add internal unnamed semaphore lifetime support, particularly:

`sem_init`:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_init.html#
`sem_destroy`:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_destroy.html#
`sem_getvalue`:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_getvalue.html#


  Commit: 23cb39afd5cd5006b9b7d036ffc668fdf9aa0410
      https://github.com/llvm/llvm-project/commit/23cb39afd5cd5006b9b7d036ffc668fdf9aa0410
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [bazel] Remove unused deps from llvm/unittests (#191237)

I'm testing out dwyu, this is a first pass on removing some of the
things it has found


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rv32p.ll
    M llvm/test/CodeGen/RISCV/rv64p.ll

  Log Message:
  -----------
  [RISCV][P-ext] Add mul*.h00 and mul*.w00 patterns. (#191313)

The instructions take the low halfword/word from each input, extends
them and multiplies to produce a word/dword result.

We can use these instead of plain MUL if it would allow us to avoid
a sext/zext for at least one of the operands.

Tests were written by Claude Sonnet 4.5.


  Commit: 5531990872d464f5644c58e0a90a47eb7d1ae575
      https://github.com/llvm/llvm-project/commit/5531990872d464f5644c58e0a90a47eb7d1ae575
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/tools/llvm-profgen/CMakeLists.txt

  Log Message:
  -----------
  [llvm-profgen] Link with BinaryFormat for #190862 (#191324)


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

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

  Log Message:
  -----------
  [LLVM][Support] Fix leak in ErrorTest.cpp (#191326)

The leak is from #188718


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

  Changed paths:
    R clang/test/CodeGen/X86/pr190962.ll
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h

  Log Message:
  -----------
  Revert "[X86][APX] Add copy instruction to LiveInterval of SrcReg (#191102) (#191330)

This reverts commit 16f02c0940d6ee783c38ca27b44fc158d77e7567.

This caused a bot failure when building with expensive checks.


https://ci.swift.org/job/llvm.org/job/clang-stage1-RA-expensive/job/main/409/testReport/junit/Clang/CodeGen_X86/pr190962_ll/

The test case included in the original commit fails with:

```
| *** Bad machine code: Two-address instruction operands must be identical ***
| - function:    foo
| - basic block: %bb.0  (0x7fc688853c40) [0B;192B)
| - instruction: 128B	%10:gr64 = IMUL64rm %33:gr64(tied-def 0), %fixed-stack.1, 1, $noreg, 0, $noreg, implicit-def dead $eflags :: (load (s64) from %fixed-stack.1, align 16)
| - operand 1:   %33:gr64(tied-def 0)
| fatal error: error in backend: Found 1 machine code errors.
```

Conflicts:
	clang/test/CodeGen/X86/pr190962.ll


  Commit: 25e64fd825cc58e8e55db9b5ac1f39f2d757ca16
      https://github.com/llvm/llvm-project/commit/25e64fd825cc58e8e55db9b5ac1f39f2d757ca16
  Author: Demetrius Kanios <demetrius at kanios.net>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyInstructionSelector.cpp
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyLegalizerInfo.cpp
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyLegalizerInfo.h
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyRegisterBankInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.h
    R llvm/test/CodeGen/WebAssembly/GlobalISel/instruction-select/bitwise.mir
    R llvm/test/CodeGen/WebAssembly/GlobalISel/instruction-select/int-arithmetic.mir
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/add.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/and.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/anyext.mir
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/ashr.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/ashr.mir
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/constant.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/ctlz.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/ctlz.mir
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/ctpop.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/ctpop.mir
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/cttz.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/cttz.mir
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/fshl.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/fshl.mir
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/fshr.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/fshr.mir
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/implicit_def.mir
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/lshr.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/lshr.mir
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/mul.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/or.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/rotl.mir
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/rotr.mir
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/sdiv.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/sext.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/shl.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/shl.mir
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/srem.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/sub.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/trunc.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/udiv.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/urem.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/xor.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/zext.ll
    R llvm/test/CodeGen/WebAssembly/GlobalISel/legalizer/add.mir
    R llvm/test/CodeGen/WebAssembly/GlobalISel/regbankselect/bitwise.mir
    R llvm/test/CodeGen/WebAssembly/GlobalISel/regbankselect/int-arithmetic.mir

  Log Message:
  -----------
  [WebAssembly][GlobalISel] Add legalization & selection of most integer ops (#190234)

Allows many ops/instructions working solely on integers to be fully
selected (legalize, regbankselect, isel).

Split from #157161


  Commit: 8ed9a0418f8e5b0d7ef5bb153ed12bae59269ed7
      https://github.com/llvm/llvm-project/commit/8ed9a0418f8e5b0d7ef5bb153ed12bae59269ed7
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M mlir/test/Integration/Dialect/XeVM/GPU/gpu_printf.mlir

  Log Message:
  -----------
  [MLIR][XeVM] Re-enable gpu.printf test. (#191056)

https://github.com/llvm/llvm-project/pull/188517 fixed regression.


  Commit: 81fee9eeef6db8ebbfda2072fd93a057f174af90
      https://github.com/llvm/llvm-project/commit/81fee9eeef6db8ebbfda2072fd93a057f174af90
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h

  Log Message:
  -----------
  [MLIR][XeGPU] Add uArch defintion for CRI - Crescent Island (#191024)

XeGPU lowering relies on uArch definition and lowering fails if a chip
does not have uArch definition entry.
Add preliminary uArch definition for CRI.
This is a place holder for now and current defintion is identical to
BMG.


  Commit: 2c0102c150c05fe0ad4338ad08244c875c3314be
      https://github.com/llvm/llvm-project/commit/2c0102c150c05fe0ad4338ad08244c875c3314be
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M lldb/examples/python/templates/scripted_process.py
    M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
    M lldb/test/API/functionalities/scripted_frame_provider/test_frame_providers.py
    M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py

  Log Message:
  -----------
  [lldb] Fix ScriptedFrame thread member init assignment (#191297)

This patch fixes a typo in the `ScriptedFrame` base class initializer
where we used a thread id with `GetThreadByIndexID` instead of the
thread index.

This could lead to issues where derived classes wouldn't be initialized
properly, which could cause crashes down the line.

The patch addresses the issue by calling `GetThreadByID` with the thread
id.

rdar://174432881

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


  Commit: d458f34b6dbab9e5ad6ba8a34791e80eeaf5c3b1
      https://github.com/llvm/llvm-project/commit/d458f34b6dbab9e5ad6ba8a34791e80eeaf5c3b1
  Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-if.cpp

  Log Message:
  -----------
   [clang-tidy] Fix `bugprone-incorrect-enable-if` inserting duplicate `typename` (#190899)

This PR resolves one of our FIXME's. Pre-C++20, this check turns
```cpp
typename std::enable_if<...>
```
into
```cpp
typename typename std::enable_if<...>::type
```
instead of 
```cpp
typename std::enable_if<...>::type
```


  Commit: 5706ee3d4d7d2cc50595ad080728c2c37ee95f26
      https://github.com/llvm/llvm-project/commit/5706ee3d4d7d2cc50595ad080728c2c37ee95f26
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Object/BBAddrMap.h
    A llvm/lib/Object/BBAddrMap.cpp
    M llvm/lib/Object/CMakeLists.txt
    M llvm/lib/Object/ELF.cpp
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/test/tools/llvm-readobj/ELF/bb-addr-map-feature-warning.test
    M llvm/test/tools/llvm-readobj/ELF/bb-addr-map-pgo-analysis-map.test
    M llvm/test/tools/llvm-readobj/ELF/bb-addr-map-relocatable.test
    M llvm/test/tools/llvm-readobj/ELF/bb-addr-map.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/unittests/Object/ELFObjectFileTest.cpp

  Log Message:
  -----------
  [Object] Extract format-agnostic BBAddrMap decoder (#188435)

[Object] Extract format-agnostic BBAddrMap decoder

This is part of patches to port BBAddrMap to COFF.

Move format-agnostic BBAddrMap decode logic out of ELF.cpp into
BBAddrMap.cpp, and expose a shared decodeBBAddrMapPayload helper in
BBAddrMap.h.

Keep ELF-specific steps (section decompression and relocation
translation) in ELF.cpp, and delegate payload decoding to the
shared helper.

Error messages in the decoder are updated to use the generic
"BB address map" instead of the ELF-specific "SHT_LLVM_BB_ADDR_MAP"
since the decoder is now shared across object formats.

This refactor prepares follow-up work to let COFF and ELF share
the same BBAddrMap decoding logic.


  Commit: f11fe5b1dccda3850cae5993d38eb0dfc3103621
      https://github.com/llvm/llvm-project/commit/f11fe5b1dccda3850cae5993d38eb0dfc3103621
  Author: Brandon <brandon.xin at outlook.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/PCH/Inputs/pragma-diag-push.h
    A clang/test/PCH/pragma-diag-push-pop-across-pch.c

  Log Message:
  -----------
  [clang][Serialization] Serialize DiagStateOnPushStack to fix pragma d… (#190420)

**Serialize DiagStateOnPushStack to fix pragma diagnostic push/pop
across PCH boundary**

`DiagStateOnPushStack` was not serialized in PCH files, causing `#pragma
clang diagnostic pop` to emit a spurious "no matching push" warning when
the corresponding push was in the preamble. This is because clangd
splits files into a preamble (compiled to PCH) and the main file body,
and the push/pop stack was lost during the PCH round-trip.

Serialize and deserialize DiagStateOnPushStack in
`WritePragmaDiagnosticMappings`/`ReadPragmaDiagnosticMappings` so that
unmatched pushes from a preamble are correctly restored.

Fixes https://github.com/clangd/clangd/issues/1167


  Commit: af03f5e2196e9b0b29c09ba0242ad439c05b1110
      https://github.com/llvm/llvm-project/commit/af03f5e2196e9b0b29c09ba0242ad439c05b1110
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang/lib/Basic/Targets/RISCV.h
    M clang/test/CodeGen/RISCV/bitint.c
    M clang/test/CodeGen/ext-int-cc.c
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/bitint-fp-conv-200.ll
    M llvm/test/CodeGen/RISCV/fp128.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll

  Log Message:
  -----------
  Reland "[RISCV] Support RISCV BitInt larger than 128 (#175515)" (#190188)

Reverted due to https://github.com/llvm/llvm-project/issues/176637 and
be fixed after https://github.com/llvm/llvm-project/pull/178690.

---


https://github.com/llvm/llvm-project/commit/fa57074d146925a303263905af415cc78f58f353
constraint the RISCV BitInt with 128 bits.

It is due to fp <-> int convension will crash in backend.
(https://godbolt.org/z/9o1qr4rje)

This patch enable larger than 128 bits BitInt type by
setMaxLargeFPConvertBitWidthSupported(128).


  Commit: b4388d8b21bfc16d90b32f9ea018607a8e5c924d
      https://github.com/llvm/llvm-project/commit/b4388d8b21bfc16d90b32f9ea018607a8e5c924d
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/accept.h
    M libc/src/sys/socket/CMakeLists.txt
    A libc/src/sys/socket/accept.h
    M libc/src/sys/socket/linux/CMakeLists.txt
    A libc/src/sys/socket/linux/accept.cpp
    M libc/test/src/sys/socket/linux/CMakeLists.txt
    A libc/test/src/sys/socket/linux/connect_accept_test.cpp
    R libc/test/src/sys/socket/linux/connect_test.cpp

  Log Message:
  -----------
  [libc] Implement accept(2) on linux (#191203)

The implementation follows the same patterns as the other socket
functions (this was mostly done using AI).

I've extended the connect test to test accepting connections as well
(and renamed it accordingly).


  Commit: 4d1c8c06bbaf0542b94763741b1340afbe4d8e44
      https://github.com/llvm/llvm-project/commit/4d1c8c06bbaf0542b94763741b1340afbe4d8e44
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [DWARFYAML] Begin DWARFv5 debug_line support (#191167)

This patch adds enough support to generate a correct basic v5 header
(llvm-dwarfdump complains it can't find DW_LNCT_path, but I wouldn't say
it's strictly required).  Directory and file name counts use relatively
complex encodings, so I'm leaving those for separate patch(es). For now,
I'm hardcoding the relevant fields to zero.


  Commit: 8401beb49c1ce84ad7314e31d1dde91fe86875ea
      https://github.com/llvm/llvm-project/commit/8401beb49c1ce84ad7314e31d1dde91fe86875ea
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/Lowering/address-space.cir

  Log Message:
  -----------
  [CIR][Lowering] Handle address space cast in GlobalViewAttr lowering (#190197)

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

This PR fixes the GlobalViewAttr LLVM lowering to use AddrSpaceCastOp
when the source and destination address spaces differ.
This fixes crashes when lowering globals referenced across address
spaces, such as AMDGPU globals in addrspace(1) referenced from
llvm.compiler.used arrays.


  Commit: fe5d5b762ab3b92b18b56f413965abb81a459ac6
      https://github.com/llvm/llvm-project/commit/fe5d5b762ab3b92b18b56f413965abb81a459ac6
  Author: Shubham Sandeep Rastogi <Shubham.Rastogi at sony.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/DebugInfo/X86/sdag-load-sext-trunc.ll
    A llvm/test/DebugInfo/X86/sdag-load-sext.ll
    A llvm/test/DebugInfo/X86/sdag-load-zext-multiple-args.ll

  Log Message:
  -----------
  [SelectionDAG] Salvage debuginfo when combining load and z|s ext instrs. (#188544)

Reland 2b958b9ee24b8ea36dcc777b2d1bcfb66c4972b6

Salvage debuginfo when combining load and z|s ext instrs.

SelectionDAG uses the DAGCombiner to fold a load followed by a sext to a
load and sext instruction. For example, in x86 we will see that

```
%1 = load i32, ptr @GlobArr
    #dbg_value(i32 %1, !43, !DIExpression(), !52)
%2 = sext i32 %1 to i64, !dbg !53
```

is converted to:

```
%0:gr64_nosp = MOVSX64rm32 $rip, 1, $noreg, @GlobArr, $noreg, debug-instr-number 1, debug-location !51
DBG_VALUE $noreg, $noreg, !"Idx", !DIExpression(), debug-location !52
```

The `DBG_VALUE` needs to be transferred correctly to the new combined
instruction, and it needs to be appended with a `DIExpression` which
contains a `DW_OP_LLVM_convert` expression, which correctly casts the
value in the virtual register to the correct size.

This patch fixes the above described problem.

The patch also accounts for multiple DW_OP_LLVM_arg's in a DIExpression
which had caused it to break tests on the sanitizer-x86_64-linux bot but
has now been fixed, with an added testcase called
selectionDAG-load-zext-multiple-args.ll which was reduced from the
broken test itself.


  Commit: adb986a71c6e3a0c4c20e4fb9206e9167287508d
      https://github.com/llvm/llvm-project/commit/adb986a71c6e3a0c4c20e4fb9206e9167287508d
  Author: wangjue <wangjue.wangjue at alibaba-inc.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/test/RISCV/call-annotations.s
    M bolt/test/RISCV/relax.s

  Log Message:
  -----------
  [BOLT][RISCV] Fix the inaccurate profile data check (#189338)


  Commit: b34901ccc88d5d387c8dadcc4ddf30b221bc43a8
      https://github.com/llvm/llvm-project/commit/b34901ccc88d5d387c8dadcc4ddf30b221bc43a8
  Author: Bastian Hagedorn <bhagedorn at nvidia.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    M mlir/test/Target/LLVMIR/nvvm/mbar_arrive.mlir
    M mlir/test/python/dialects/nvvm.py

  Log Message:
  -----------
  [mlir][NVVM] Add InferTypeOpInterface to NVVM MBarrier ops with deterministic result types (#188173)

Add result type inference to 5 NVVM ops whose result types can be fully
determined from their operands and attributes. This enables the Python
binding generator to emit `results=None` as a default parameter,
removing the need for callers to pass explicit result types.

Ops with optional results (using `InferTypeOpAdaptorWithIsCompatible`):
- `MBarrierArriveOp`: i64 for non-cluster pointers, no result for
shared_cluster
- `MBarrierArriveDropOp`: same as above
- `MBarrierArriveExpectTxOp`: same, plus no result when predicate is set
- `MBarrierArriveDropExpectTxOp`: same as MBarrierArriveOp
- `BarrierOp`: i32 when reductionOp is present, no result otherwise

The optional-result ops use a permissive `isCompatibleReturnTypes` that
allows omitting the result, preserving backward compatibility with the
existing zero-result assembly form.

Also updates the NVGPUToNVVM conversion to work with the new inferred
result types for `MBarrierArriveOp` and `MBarrierArriveExpectTxOp`.

This is a source-breaking change for Python callers that pass result
types positionally (e.g. `mbarrier_arrive(res, addr, ...)` becomes
`mbarrier_arrive(addr, *, ..., results=None, ...)`). Existing MLIR
assembly is fully backward compatible.

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


  Commit: 0a0a33363c1c3ea5393997df5537f524d0e72a6d
      https://github.com/llvm/llvm-project/commit/0a0a33363c1c3ea5393997df5537f524d0e72a6d
  Author: hidekisaito <hidekido at amd.com>
  Date:   2026-04-09 (Thu, 09 Apr 2026)

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

  Log Message:
  -----------
  [NFC][AMDGPU]: expose IGLPStrategyID in AMDGPUIGroupLP.h (#191340)

Move IGLPStrategyID and its enumerators into llvm::AMDGPU in the public
header so other translation units can share the immediate encoding.


  Commit: 7459e10f34aa86952b1620d0cb48b40be112ebe9
      https://github.com/llvm/llvm-project/commit/7459e10f34aa86952b1620d0cb48b40be112ebe9
  Author: Amit Tiwari <amtiwari at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    A clang/test/OpenMP/strided_update_messages_from.c
    A clang/test/OpenMP/strided_update_messages_to.c
    A clang/test/OpenMP/strided_update_multiple_messages_from.c
    A clang/test/OpenMP/strided_update_multiple_messages_to.c
    A clang/test/OpenMP/strided_update_partial_messages_from.c
    A clang/test/OpenMP/strided_update_partial_messages_to.c
    A clang/test/OpenMP/strided_update_ptr_messages_from.c
    A clang/test/OpenMP/strided_update_ptr_messages_to.c
    A clang/test/OpenMP/strided_update_ptr_multiple_messages_from.c
    A clang/test/OpenMP/strided_update_ptr_multiple_messages_to.c
    A clang/test/OpenMP/strided_update_ptr_partial_messages_from.c
    A clang/test/OpenMP/strided_update_ptr_partial_messages_to.c
    A clang/test/OpenMP/strided_update_ptr_variable_count_and_stride_messages.c
    A clang/test/OpenMP/strided_update_ptr_variable_count_messages.c
    A clang/test/OpenMP/strided_update_ptr_variable_stride_messages.c
    A clang/test/OpenMP/strided_update_struct_messages_from.c
    A clang/test/OpenMP/strided_update_struct_messages_to.c
    A clang/test/OpenMP/strided_update_struct_multiple_messages_from.c
    A clang/test/OpenMP/strided_update_struct_multiple_messages_to.c
    A clang/test/OpenMP/strided_update_struct_partial_messages_from.c
    A clang/test/OpenMP/strided_update_struct_partial_messages_to.c
    A clang/test/OpenMP/strided_update_struct_ptr_messages_from.c
    A clang/test/OpenMP/strided_update_struct_ptr_messages_to.c
    A clang/test/OpenMP/strided_update_struct_ptr_multiple_messages_from.c
    A clang/test/OpenMP/strided_update_struct_ptr_multiple_messages_to.c
    A clang/test/OpenMP/strided_update_struct_ptr_partial_messages_from.c
    A clang/test/OpenMP/strided_update_struct_ptr_partial_messages_to.c
    A clang/test/OpenMP/strided_update_struct_variable_count_and_stride_messages.c
    A clang/test/OpenMP/strided_update_variable_count_and_stride_messages.c
    A clang/test/OpenMP/strided_update_variable_stride_codegen.c
    R clang/test/OpenMP/target_update_strided_messages_from.c
    R clang/test/OpenMP/target_update_strided_messages_to.c
    R clang/test/OpenMP/target_update_strided_multiple_messages_from.c
    R clang/test/OpenMP/target_update_strided_multiple_messages_to.c
    R clang/test/OpenMP/target_update_strided_partial_messages_from.c
    R clang/test/OpenMP/target_update_strided_partial_messages_to.c
    R clang/test/OpenMP/target_update_strided_ptr_messages_from.c
    R clang/test/OpenMP/target_update_strided_ptr_messages_to.c
    R clang/test/OpenMP/target_update_strided_ptr_multiple_messages_from.c
    R clang/test/OpenMP/target_update_strided_ptr_multiple_messages_to.c
    R clang/test/OpenMP/target_update_strided_ptr_partial_messages_from.c
    R clang/test/OpenMP/target_update_strided_ptr_partial_messages_to.c
    R clang/test/OpenMP/target_update_strided_ptr_variable_count_and_stride_messages.c
    R clang/test/OpenMP/target_update_strided_ptr_variable_count_messages.c
    R clang/test/OpenMP/target_update_strided_ptr_variable_stride_messages.c
    R clang/test/OpenMP/target_update_strided_struct_messages_from.c
    R clang/test/OpenMP/target_update_strided_struct_messages_to.c
    R clang/test/OpenMP/target_update_strided_struct_multiple_messages_from.c
    R clang/test/OpenMP/target_update_strided_struct_multiple_messages_to.c
    R clang/test/OpenMP/target_update_strided_struct_partial_messages_from.c
    R clang/test/OpenMP/target_update_strided_struct_partial_messages_to.c
    R clang/test/OpenMP/target_update_strided_struct_ptr_messages_from.c
    R clang/test/OpenMP/target_update_strided_struct_ptr_messages_to.c
    R clang/test/OpenMP/target_update_strided_struct_ptr_multiple_messages_from.c
    R clang/test/OpenMP/target_update_strided_struct_ptr_multiple_messages_to.c
    R clang/test/OpenMP/target_update_strided_struct_ptr_partial_messages_from.c
    R clang/test/OpenMP/target_update_strided_struct_ptr_partial_messages_to.c
    R clang/test/OpenMP/target_update_strided_struct_variable_count_and_stride_messages.c
    R clang/test/OpenMP/target_update_variable_count_and_stride_messages.c
    R clang/test/OpenMP/target_update_variable_stride_codegen.c
    R offload/test/offloading/strided_multiple_update_from.c
    R offload/test/offloading/strided_multiple_update_to.c
    R offload/test/offloading/strided_offset_multidim_update.c
    R offload/test/offloading/strided_partial_update_from.c
    R offload/test/offloading/strided_partial_update_to.c
    R offload/test/offloading/strided_ptr_multiple_update_from.c
    R offload/test/offloading/strided_ptr_multiple_update_to.c
    R offload/test/offloading/strided_ptr_partial_update_from.c
    R offload/test/offloading/strided_ptr_partial_update_to.c
    A offload/test/offloading/strided_update/strided_update_count_expression.c
    A offload/test/offloading/strided_update/strided_update_count_expression_complex.c
    A offload/test/offloading/strided_update/strided_update_from.c
    A offload/test/offloading/strided_update/strided_update_from_pointer.c
    A offload/test/offloading/strided_update/strided_update_multidim_offset.c
    A offload/test/offloading/strided_update/strided_update_multiple_arrays_count_expression.c
    A offload/test/offloading/strided_update/strided_update_multiple_arrays_variable_stride.c
    A offload/test/offloading/strided_update/strided_update_multiple_from.c
    A offload/test/offloading/strided_update/strided_update_multiple_to.c
    A offload/test/offloading/strided_update/strided_update_partial_from.c
    A offload/test/offloading/strided_update/strided_update_partial_to.c
    A offload/test/offloading/strided_update/strided_update_ptr_count_expression.c
    A offload/test/offloading/strided_update/strided_update_ptr_multiple_from.c
    A offload/test/offloading/strided_update/strided_update_ptr_multiple_to.c
    A offload/test/offloading/strided_update/strided_update_ptr_partial_from.c
    A offload/test/offloading/strided_update/strided_update_ptr_partial_to.c
    A offload/test/offloading/strided_update/strided_update_ptr_variable_count_and_stride.c
    A offload/test/offloading/strided_update/strided_update_ptr_variable_stride.c
    A offload/test/offloading/strided_update/strided_update_struct_count_expression.c
    A offload/test/offloading/strided_update/strided_update_struct_from.c
    A offload/test/offloading/strided_update/strided_update_struct_multiple_from.c
    A offload/test/offloading/strided_update/strided_update_struct_multiple_to.c
    A offload/test/offloading/strided_update/strided_update_struct_partial_from.c
    A offload/test/offloading/strided_update/strided_update_struct_partial_to.c
    A offload/test/offloading/strided_update/strided_update_struct_to.c
    A offload/test/offloading/strided_update/strided_update_struct_variable_count_and_stride.c
    A offload/test/offloading/strided_update/strided_update_struct_variable_stride.c
    A offload/test/offloading/strided_update/strided_update_to.c
    A offload/test/offloading/strided_update/strided_update_to_pointer.c
    A offload/test/offloading/strided_update/strided_update_variable_count_and_stride.c
    A offload/test/offloading/strided_update/strided_update_variable_stride.c
    A offload/test/offloading/strided_update/strided_update_variable_stride_misc.c
    R offload/test/offloading/strided_update_count_expression.c
    R offload/test/offloading/strided_update_count_expression_complex.c
    R offload/test/offloading/strided_update_from.c
    R offload/test/offloading/strided_update_multiple_arrays_count_expression.c
    R offload/test/offloading/strided_update_multiple_arrays_variable_stride.c
    R offload/test/offloading/strided_update_to.c
    R offload/test/offloading/strided_update_variable_count_and_stride.c
    R offload/test/offloading/strided_update_variable_stride.c
    R offload/test/offloading/strided_update_variable_stride_misc.c
    R offload/test/offloading/target_update_from.c
    R offload/test/offloading/target_update_ptr_count_expression.c
    R offload/test/offloading/target_update_ptr_variable_count_and_stride.c
    R offload/test/offloading/target_update_ptr_variable_stride.c
    R offload/test/offloading/target_update_strided_struct_count_expression.c
    R offload/test/offloading/target_update_strided_struct_from.c
    R offload/test/offloading/target_update_strided_struct_multiple_from.c
    R offload/test/offloading/target_update_strided_struct_multiple_to.c
    R offload/test/offloading/target_update_strided_struct_partial_from.c
    R offload/test/offloading/target_update_strided_struct_partial_to.c
    R offload/test/offloading/target_update_strided_struct_to.c
    R offload/test/offloading/target_update_strided_struct_variable_count_and_stride.c
    R offload/test/offloading/target_update_strided_struct_variable_stride.c
    R offload/test/offloading/target_update_to.c

  Log Message:
  -----------
  [OpenMP][NFC] Refactor Non-contiguous Update Tests (#190923)

The PR refactors the non-contiguous update tests as raised as a TODO in
one of the comments in the related PR. Prefixed all with
`strided_update`. For offload tests, added a dedicated sub-directory.


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

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

  Log Message:
  -----------
  [NFC][lldb] Extract Do{Dis}EnableBreakpoint into helper functions (#191136)

Re-using this code will be important in an upcoming patch.

This commit also greatly simplifies the comments in the function.


  Commit: 55feddb142f20f81052870ee7fa70fe50cf656c1
      https://github.com/llvm/llvm-project/commit/55feddb142f20f81052870ee7fa70fe50cf656c1
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/ptrauth-module-flags.c

  Log Message:
  -----------
  [PAC][clang] Use `Error` behavior for ptrauth module flags (#189923)

Previous use of `Min` for `ptrauth-elf-got` and
`ptrauth-sign-personality` module flags was introducing a risk of silent
decrease of security during module merge. The previous choice for `Min`
was mimicking the behavior for the `sign-return-address*` family of
module flags, but it does not make sense to apply this behavior here.


  Commit: d6d99d9f600fc54bc9d0ee47e3130953372c56d5
      https://github.com/llvm/llvm-project/commit/d6d99d9f600fc54bc9d0ee47e3130953372c56d5
  Author: Dark Steve <Prasoon.Mishra at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
    M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps_nnan.ll
    M llvm/test/CodeGen/AMDGPU/min3.ll
    A llvm/test/CodeGen/AMDGPU/minmax3-tree-reduction.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll

  Log Message:
  -----------
  [AMDGPU] Improve max3/min3 formation for tree-structured reductions (#190734)

The existing `performMinMaxCombine` forms `max3` by matching
`max(max(a,b), c) -> max3(a,b,c)`. For tree reductions like
`max(max(a,b), max(c,d))`, this produces `max3(a, b, max(c,d));` placing
`max3` on top. At the next tree level, `max(max3, max3)` cannot combine
because the 3-op opcode (`FMAXIMUM3`) differs from the 2-op opcode
(`FMAXIMUM`).

This patch:
1. Adds a tree combine: `max(max(a,b), max(c,d)) -> max(max3(a,b,c),
d)`, keeping a 2-op node on top that enables further combining.
2. Defers the existing combine when the operand is a tree node whose
children can still be combined, ensuring inner tree levels are optimized
before outer levels consume them.

Deferral is skipped when neither child has a single use, since the inner
combine cannot fire in that case.

Fix: LCOMPILER-1652


  Commit: 6b1484f699fb6696d25d6baa506b456a012b3e37
      https://github.com/llvm/llvm-project/commit/6b1484f699fb6696d25d6baa506b456a012b3e37
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    A llvm/test/Analysis/CostModel/AArch64/masked-divrem.ll
    A llvm/test/Analysis/CostModel/RISCV/masked-divrem.ll

  Log Message:
  -----------
  [TTI] Add BasicTTIImpl cost model for llvm.masked.{u,s}{div,rem} (#191240)

This implements a generic cost model for the intrinsics added in
#189705. It costs it equivalently to the current expansion, i.e. an
unmasked divide + select.


  Commit: a42e49fb1cbdced1049f6c1cd0162548eff7426f
      https://github.com/llvm/llvm-project/commit/a42e49fb1cbdced1049f6c1cd0162548eff7426f
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
    M llvm/include/llvm/IR/PatternMatch.h
    A llvm/include/llvm/Support/PatternMatchHelpers.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h

  Log Message:
  -----------
  [Support] Factor PatternMatch m_Combine(And|Or), m_Isa (NFC) (#190753)

Introduce a new PatternMatchHelpers with a variant of m_Combine(And|Or)
and m_Isa to share across the IR PatternMatch,
ScalarEvolutionPatternMatch, and VPlanPatternMatch. m_Combine(And|Or)
has been generalized to be variadic. Planned follow-ups include
factoring the specific-value matcher.


  Commit: 3155e5d867cbc316e1f0fe86b265b45b4cb05a13
      https://github.com/llvm/llvm-project/commit/3155e5d867cbc316e1f0fe86b265b45b4cb05a13
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
    M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-div.ll
    A llvm/test/Transforms/LoopVectorize/tail-folding-replicate-region.ll

  Log Message:
  -----------
  [LV] Use -force-target-supports-masked-memory-ops on target agnostic tail folding tests. NFC (#191181)

It's a good bit easier to read tail folding tests if masked memory ops
are allowed. This adds -force-target-supports-masked-memory-ops to tests
where we aren't explicitly trying to test predicated replicate regions


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

  Changed paths:
    M llvm/include/llvm/Analysis/InlineCost.h
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/test/Transforms/Inline/ML/Inputs/test-module.ll
    M llvm/test/Transforms/Inline/ML/interactive-mode.ll
    M llvm/test/Transforms/Inline/always-inline-phase-ordering.ll
    M llvm/unittests/Analysis/PluginInlineAdvisorAnalysisTest.cpp
    M llvm/unittests/Analysis/PluginInlineOrderAnalysisTest.cpp

  Log Message:
  -----------
  [Passes][Inliner] Handle optsize/minsize via attributes only (#190168)

InlineParams already has separate threshold for OptSize/MinSize
functions that get applied based on the corresponding function
attributes. As such, we should not also be changing the DefaultThreshold
based on the pipeline Os/Oz levels as well.


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

  Changed paths:
    M llvm/test/CodeGen/AArch64/bf16-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/itofp-bf16.ll

  Log Message:
  -----------
  [AArch64][GISel] Update and regenerate bf16 test coverage. NFC (#191348)


  Commit: 6e0a76b1966bf54d873cebed5c6e241faf461171
      https://github.com/llvm/llvm-project/commit/6e0a76b1966bf54d873cebed5c6e241faf461171
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [Passes][Inliner] Add separate optsize inlinehint threshold (#191213)

PGO pre-inlining wants to set a different inlinehint threshold when
optimizing for size. Currently this is done by adjusting the InlineHint
threshold based on the pipeline optimization level.

Replace this with a separate OptSizeInlineHint threshold that is applied
based on attributes instead.


  Commit: f95ed258260b0349c9bbe8210b0d0726f95a9305
      https://github.com/llvm/llvm-project/commit/f95ed258260b0349c9bbe8210b0d0726f95a9305
  Author: Jim Lin <jim at andestech.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyLegalizerInfo.cpp

  Log Message:
  -----------
  [WebAssembly][GlobalISel] Fix legalizeCustom return value for Helper.lower() (#191345)

Helper.lower() returns a LegalizerHelper::LegalizeResult enum where
UnableToLegalize=2, which implicitly converts to true (success). Compare
against LegalizerHelper::Legalized instead so that legalization failures
are correctly reported.

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>


  Commit: f149ab665a4b4cdd74f89e0689dfd7f376b678e1
      https://github.com/llvm/llvm-project/commit/f149ab665a4b4cdd74f89e0689dfd7f376b678e1
  Author: Zhige Chen <zhigec_cpp at outlook.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    A llvm/test/tools/llubi/lib_abort.ll
    A llvm/test/tools/llubi/lib_calloc_large_size.ll
    A llvm/test/tools/llubi/lib_calloc_size_overflow.ll
    A llvm/test/tools/llubi/lib_cxx_memory.ll
    A llvm/test/tools/llubi/lib_cxx_memory_large_size.ll
    A llvm/test/tools/llubi/lib_double_free.ll
    A llvm/test/tools/llubi/lib_exit.ll
    A llvm/test/tools/llubi/lib_free_nullary_pointer.ll
    A llvm/test/tools/llubi/lib_free_out_of_bound.ll
    A llvm/test/tools/llubi/lib_free_stack.ll
    A llvm/test/tools/llubi/lib_io.ll
    A llvm/test/tools/llubi/lib_malloc_large_size.ll
    A llvm/test/tools/llubi/lib_memory.ll
    A llvm/test/tools/llubi/lib_nobuiltin.ll
    A llvm/test/tools/llubi/lib_poison_argument.ll
    A llvm/test/tools/llubi/lib_printf_format.ll
    A llvm/test/tools/llubi/lib_printf_not_enough_argument.ll
    A llvm/test/tools/llubi/lib_printf_unknown_specifier.ll
    A llvm/test/tools/llubi/lib_read_nullary_string.ll
    A llvm/test/tools/llubi/lib_terminate.ll
    A llvm/test/tools/llubi/lib_uninit_string.ll
    M llvm/tools/llubi/lib/CMakeLists.txt
    M llvm/tools/llubi/lib/Context.cpp
    M llvm/tools/llubi/lib/Context.h
    M llvm/tools/llubi/lib/ExecutorBase.cpp
    M llvm/tools/llubi/lib/ExecutorBase.h
    M llvm/tools/llubi/lib/Interpreter.cpp
    A llvm/tools/llubi/lib/Library.cpp
    A llvm/tools/llubi/lib/Library.h
    M llvm/tools/llubi/llubi.cpp

  Log Message:
  -----------
  [llubi] Implements common library functions (#190147)

This PR implements common library functions, including malloc, calloc,
free, puts, printf, exit, abort, and terminate.

See also #186976.


  Commit: 44e8871d6fa415e72348cc92bd82f66dfe085aaf
      https://github.com/llvm/llvm-project/commit/44e8871d6fa415e72348cc92bd82f66dfe085aaf
  Author: Garvit Gupta <garvgupt at qti.qualcomm.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp

  Log Message:
  -----------
  [RISCV] Fix stack frame layout diagrams in RISCVFrameLowering (NFC) (#190163)

Fix stack layout diagram by pointing FP to start of the callee allocated
varargs instead of at the end.


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

  Changed paths:
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    M llvm/tools/llvm-mc/llvm-mc.cpp

  Log Message:
  -----------
  [MC] Simplify code with MCAsmInfo::getOutputAssemblerDialect. NFC (#191356)

Add a helper to simplify code.


  Commit: 9f9f0dcbe2ee85f8319d88956d027579984a6e0d
      https://github.com/llvm/llvm-project/commit/9f9f0dcbe2ee85f8319d88956d027579984a6e0d
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M mlir/include/mlir/IR/Visitors.h

  Log Message:
  -----------
  [MLIR] Fix walk() after PostOrderTraversal change (#191357)

make_early_inc_range doesn't keep the range alive, only the iterators.
This breaks with the recent PostOrderTraversal change, which no longer
stores the state in the iterators. Store the range in a variable to keep
it alive for the entire loop.

Fixup of #191047 / 691a130e0f14459d9358a71ffd52a01295e6200a.


  Commit: ddb306ab57f384ef4c3623cc2f885fe5d4332890
      https://github.com/llvm/llvm-project/commit/ddb306ab57f384ef4c3623cc2f885fe5d4332890
  Author: Tomer Shafir <tomer.shafir8 at gmail.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/docs/CommandGuide/opt.rst
    M llvm/docs/ReleaseNotes.md
    A llvm/test/tools/opt/mtune.ll
    M llvm/tools/opt/optdriver.cpp

  Log Message:
  -----------
  [opt] Add -mtune option (#187932)

This patch adds a Clang-compatible -mtune option to opt, following up
the addition to llc: https://github.com/llvm/llvm-project/pull/186998,
to enable decoupled ISA and microarchitecture targeting. Example use
case is `MaxInterleaveFactor` for the loop vectorizer.
    
The implementation registers the new codegen flag for opt, which
consumes it and sets tune-cpu attributes for functions to be consumed by
the backend.


  Commit: 3de583e09f00d821fbde28463a5a14ff121bfd6b
      https://github.com/llvm/llvm-project/commit/3de583e09f00d821fbde28463a5a14ff121bfd6b
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU][Doc] GFX12.5 Barrier Execution Model (#185632)

- Document GFX12.5-specific intrinsics.
- Rename signal -> arrive, leave -> drop to match C++ terminology.
- Update execution model to support GFX12.5 semantics (e.g. threads can
arrive w/o waiting)
- Various clean-ups & wording updates on the model.
- Added "mutually exclusive" barrier objects.
- Added barrier-phase-with + related constraints.
- Document that barriers can exist at cluster scope too.
- Update GFX12 target semantics/code sequences to include GFX12.5.

The model is no longer marked as incomplete, it is now just
experimental.

There are more updates planned in the future to support more features,
and
improve some known shortcomings of the model. e.g., currently many
relations
encode too much semantic information, which means the model doesn't
build
when barriers aren't used correctly. I'd like the model to eventually
represent
broken executions as well, just like a memory model can.


  Commit: 04202abde35aaac906be29b250047c556a640f8c
      https://github.com/llvm/llvm-project/commit/04202abde35aaac906be29b250047c556a640f8c
  Author: Minsoo Choo <minsoochoo0122 at proton.me>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h

  Log Message:
  -----------
  [lldb][Process/FreeBSDKernelCore] Defer actual core loading to DoLoadCore() (#186626)

`ProcessFreeBSDKernelCore` initializes `m_kvm` in class initialization,
thus invoking `kvm_open2()` only once. Although this approach is
effective, it violates the expected bahaviour of `DoLoadCore()`, loading
core file before the function is invoked. Later when I implement another
flavour of `ProcessFreeBSDKernelCore` inherited from `ProcessElfCore`,
ELF plugin will load core in `DoLoadCore()` while kvm plugin will do so
in the class initializer, causing discrepancy between the two classes.
Like the kvm/fvc precedent, the plugin variant (ELF and kvm) will be
chosen using vtable override, so if the behaviour differs like above, it
gets harder to add new features and debug the code. Thus, detecting and
loading core file in `ProcessFreeBSDKernelCore` should be handled
separately.

Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>


  Commit: 9116344c02bf0b9ec037451d12935d7539c48679
      https://github.com/llvm/llvm-project/commit/9116344c02bf0b9ec037451d12935d7539c48679
  Author: Minsoo Choo <minsoochoo0122 at proton.me>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h

  Log Message:
  -----------
  [lldb][Process/FreeBSDKernelCore] Add command for refreshing thread list (#188692)

Since `/dev/mem` is live memory, its thread list is updated while
running LLDB. In the current model, users need to restart LLDB to get
new thread list, and this is prone to error when writing to memory
because LLDB's thread information and `/dev/mem` might be out of sync.
The new command `process plugin refresh-threads` reconstructs thread
list so users can synchronize thread list without restarting lldb.

Memory cache needs to be cleared prior to reconstruction otherwise lldb
will read the same process information from cache memory. To invoke
`UpdateThreadList()` from `UpdateThreadListIfNeeded()`, clear thread
list as well before triggering an update.

This is enabled for all kvm invocation regardless of type of the target
(crash dump or live kernel) because kvm hides the target type
information. Elf-core based implementation in future will need to update
thread list only at the first time as it is guaranteed that elf-core
handles static files.

---------

Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>


  Commit: 3efac3fec20c9d0739941705ae245af3fc07ffb9
      https://github.com/llvm/llvm-project/commit/3efac3fec20c9d0739941705ae245af3fc07ffb9
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectDisassemble.cpp
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/Core/Module.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/test/API/commands/breakpoint/set/func-regex/TestBreakpointRegexError.py
    M lldb/test/API/commands/memory/read/TestMemoryRead.py
    M lldb/test/Shell/Commands/command-type-synthetic-add.test
    M lldb/test/Shell/ObjectFile/ELF/minidebuginfo-no-lzma.yaml
    M lldb/test/Shell/Process/UnsupportedLanguage.test
    M lldb/test/Shell/SymbolFile/DWARF/dwo-debug-file-search-path-symlink-relative-compdir.c
    M lldb/test/Shell/SymbolFile/DWARF/dwo-debug-file-search-paths-dwoname-absolute-compdir.c
    M lldb/test/Shell/SymbolFile/DWARF/dwo-debug-file-search-paths-filename-only-absolute-compdir.c
    M lldb/test/Shell/SymbolFile/DWARF/dwo-debug-file-search-paths-filename-only-relative-compdir.c
    M lldb/test/Shell/SymbolFile/DWARF/dwo-debug-file-search-paths-relative-compdir.c
    M lldb/test/Shell/SymbolFile/DWARF/dwo-relative-filename-only-binary-dir.c
    M lldb/test/Shell/SymbolFile/DWARF/x86/dwo-not-found-warning.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp

  Log Message:
  -----------
  [lldb] Bring more warnings in compliance with our coding standards (#191214)

Similar to #190410 but for warnings this time.

Assisted-by: Claude Code


  Commit: 7027c5f5dcd21b044fea104b338136c7acb964eb
      https://github.com/llvm/llvm-project/commit/7027c5f5dcd21b044fea104b338136c7acb964eb
  Author: Arun Thangamani <arun.thangamani at intel.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/X86/Transforms/VectorContractToPackedTypeDotProduct.cpp
    M mlir/lib/Dialect/X86/Utils/X86Utils.cpp
    M mlir/test/Dialect/X86/vector-contract-to-packed-type-dotproduct.mlir

  Log Message:
  -----------
  [mlir][x86] Lower Int8 vector.contract to AVX2/AVX10 dp (online packing) (#189386)

A transform pass to lower flat layout `int8` packed type
`vector.contract` operation to:

1. `x86.avx10.int8.dp` - for vector length of `16`, and 
2. `x86.avx.int8.dp` - for vector length of `8`  via online packing.


  Commit: 6175a4d455e170fa947859e2a5952c89585150aa
      https://github.com/llvm/llvm-project/commit/6175a4d455e170fa947859e2a5952c89585150aa
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M lldb/docs/resources/test.rst
    M lldb/test/API/CMakeLists.txt
    M lldb/test/API/lit.cfg.py
    M lldb/test/API/lit.site.cfg.py.in
    M lldb/utils/lldb-dotest/lldb-dotest.in

  Log Message:
  -----------
  [lldb] LLDB_TEST_ARCH -> LLDB_TEST_TRIPLE (#191204)

Change the CMake variable from LLDB_TEST_ARCH to LLDB_TEST_TRIPLE. I'm
working on adding support for cross compiling our test suite to
WebAssembly, where the triple (i.e. `wasm32-wasip1`) is of importance
while building the inferiors. Given that the triple is a superset of the
arch, it is strictly more expressive.


  Commit: 7d25a0519a4647410ea759b36728bd5cd994d327
      https://github.com/llvm/llvm-project/commit/7d25a0519a4647410ea759b36728bd5cd994d327
  Author: Janek van Oirschot <janek.vanoirschot at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.h
    M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-metadata-agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size-vgpr-limit.ll
    M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
    M llvm/test/CodeGen/AMDGPU/call-alias-register-usage0.ll
    M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
    M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
    M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
    M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
    M llvm/test/CodeGen/AMDGPU/dvgpr_sym.ll
    M llvm/test/CodeGen/AMDGPU/dvgpr_sym_fail_too_many_block_size_16.ll
    M llvm/test/CodeGen/AMDGPU/dvgpr_sym_fail_too_many_block_size_16_anon.ll
    M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
    M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
    M llvm/test/CodeGen/AMDGPU/multi-call-resource-usage-mcexpr.ll
    M llvm/test/CodeGen/AMDGPU/recursion.ll
    M llvm/test/CodeGen/AMDGPU/recursive-resource-usage-mcexpr.ll
    M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
    M llvm/test/CodeGen/AMDGPU/resource-usage-dead-function.ll
    M llvm/test/CodeGen/AMDGPU/s-barrier-lowering.ll
    M llvm/test/CodeGen/AMDGPU/unnamed-function-resource-info.ll

  Log Message:
  -----------
  [AMDGPU] Localize resource info symbols (#185732)

Reduce symbol table size for libraries. Object linking will more than
likely divert from using symbols directly.

Fixes ROCM-14907


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

  Changed paths:
    M llvm/test/MC/Disassembler/AArch64/armv8.2a-uao.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.4a-dit.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.5a-dataproc.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.5a-mte.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.5a-sb.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.5a-ssbs.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.7a-wfxt.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.7a-xs.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.8a-nmi.txt

  Log Message:
  -----------
  [NFC] autogenerate  disassembler tests with invalid MSR/MRS use (#185970)

This patch makes certain dissambler tests, which produce invalid MRS/MSR
intsructions autogenerated to make them easier to modify in the future
and to reduce diff size of #185709


  Commit: b66fbb1f11db06a25dd2b1d5863a31e29240e879
      https://github.com/llvm/llvm-project/commit/b66fbb1f11db06a25dd2b1d5863a31e29240e879
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp

  Log Message:
  -----------
  [analyzer][NFC] Document getVarRegion shortcomings (#191168)

... more precisely, that the analyzer currently uses `NonParamVarRegion`
instances to represent parameters of the entrypoint stack frame and
parameters that are captured by inner lambdas or blocks.

In my recent commit f40c234191802154d5b3fc3209908c3f2d6e1649 I added a
FIXME note to the method `MemRegionManager::getVarRegion`, but now, as I
tried to implement that I realized that the situation is more complex.

As I don't have time to fix this right now, I'm pushing this commit to
remove the inaccurate FIXME and replace it with more accurate TODO notes
that explain the current (problematic) behavior of the codebase.


  Commit: 5ce2bbc036c47d2fc0f8e6ebb3074bf0d172e7a5
      https://github.com/llvm/llvm-project/commit/5ce2bbc036c47d2fc0f8e6ebb3074bf0d172e7a5
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/CodeGen/RISCV/features-info.ll

  Log Message:
  -----------
  [RISCV][NFC] Remove extra dot in feature's description (#191379)


  Commit: e2c25a761e83a185d81ddbc18cd129b1cb26f633
      https://github.com/llvm/llvm-project/commit/e2c25a761e83a185d81ddbc18cd129b1cb26f633
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M lldb/test/Shell/ObjectFile/ELF/minidebuginfo-corrupt-xz.yaml

  Log Message:
  -----------
  [lldb] Update warning in minidebuginfo-corrupt-xz test (#191387)


  Commit: b1f8dff221f645e91b891eeaa0674b2bb9b37c77
      https://github.com/llvm/llvm-project/commit/b1f8dff221f645e91b891eeaa0674b2bb9b37c77
  Author: nvptm <pmathew at nvidia.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
    M flang/test/Fir/OpenACC/recipe-populate-firstprivate.mlir
    M flang/test/Transforms/OpenACC/acc-implicit-firstprivate.fir
    A flang/test/Transforms/OpenACC/optional-firstprivate-recipe.fir
    A flang/test/Transforms/OpenACC/optional-firstprivate.fir
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp

  Log Message:
  -----------
  [acc] Support for Optional arguments in firstprivate recipes (#190079)

Add support for explicit of implicit firstprivates that are Fortran
Optional arguments.


  Commit: 524525e13668d024abadf70995993dbbc605bed5
      https://github.com/llvm/llvm-project/commit/524525e13668d024abadf70995993dbbc605bed5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/openmp-offload-gpu.c

  Log Message:
  -----------
  [Clang] Pass toolchain paths unconditionally in linker wrapper (#191311)

Summary:
Previously we used the auto-forwarding mechanism to handle options like
forwarding --cuda-path. The problem is that this went over the toolchain
options and that meant if someone used just bare `--offload-link` there
would be no CUDA or ROCm toolchain to figure out if we should forward
it. Just do this unconditionally for all toolchains, there's no harm in
setting it if it's unused.

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


  Commit: 8f341cc57dec88ef49cdff44b0490728d251536f
      https://github.com/llvm/llvm-project/commit/8f341cc57dec88ef49cdff44b0490728d251536f
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-template-method-default.cpp

  Log Message:
  -----------
  [clang-tidy] Fix readability-identifier-naming FP with DefaultCase on function templates (#189788)

Closes #189755

---------

Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Co-authored-by: Daniil Dudkin <unterumarmung at yandex.ru>


  Commit: 7b05d9d66dc61bd1067ea5cb37191b3d33e7c1aa
      https://github.com/llvm/llvm-project/commit/7b05d9d66dc61bd1067ea5cb37191b3d33e7c1aa
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/fract-match.ll

  Log Message:
  -----------
  AMDGPU: Match fract from compare and select and minimum (#189082)

Implementing this with any of the minnum variants is overconstraining
for the actual use. Existing patterns use fmin, then have to manually
clamp nan inputs to get nan propagating behavior. It's cleaner to
express this with a nan propagating operation to start with.


  Commit: 3263854347e10d9ded4dbb7687fc540212137737
      https://github.com/llvm/llvm-project/commit/3263854347e10d9ded4dbb7687fc540212137737
  Author: Iliyan Georgiev <Iliyan.Georgiev at arm.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
    M mlir/test/Dialect/Tosa/verifier.mlir

  Log Message:
  -----------
  [mlir][tosa] Add TOSA Max Pool 2D Adaptive (#191225)

Implements:
- Operator definition
- Operator verifier
- Validation
- Tests
- Adds NoMemoryEffect to AvgPool2dAdaptive

Signed-off-by: Iliyan Georgiev <Iliyan.Georgiev at arm.com>


  Commit: 8b372603f3fc55aea60605c6844fba2cd31cc725
      https://github.com/llvm/llvm-project/commit/8b372603f3fc55aea60605c6844fba2cd31cc725
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/unittests/ADT/SmallVectorTest.cpp

  Log Message:
  -----------
  [UnitTest][ADT] Add iterator operator== (#191396)

Apparently required by some older libstdc++ versions.


  Commit: fb0b737e1a4abf73d5c78f708206af66295b5f27
      https://github.com/llvm/llvm-project/commit/fb0b737e1a4abf73d5c78f708206af66295b5f27
  Author: anoopkg6 <anoop.kumar6 at ibm.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/SystemZ/fold-rmw-cost.ll

  Log Message:
  -----------
  [SystemZTTI][CostModel] Improve SystemZ cost model for scalar Read-Modify-Write Sequence, Fix #189183 (#190350)

This patch improves the SystemZ cost model to identify Read-Modify-Write
sequences
 that can be folded into a single instruction (e.g., ASI, NI, OI).
If a load, a scalar arithmetic operation (ADD, SUB, AND, OR, XOR) with
an
 immediate, and a store all target the same memory location and have no
 external uses, the cost of the arithmetic and store insn should bw 0.
This implementation does not include TTI::TCK_RecipThroughput CostKind,
as
 it causes regression in non-power-2-subvector-extract.ll.

Fixes #189183. (Refer it for example)

---------

Co-authored-by: anoopkg6 <anoopkg6 at github.com>


  Commit: 9791929f838388b833f0a801d8bfd50ee209cb83
      https://github.com/llvm/llvm-project/commit/9791929f838388b833f0a801d8bfd50ee209cb83
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/naked-fn-with-frame-pointer.ll

  Log Message:
  -----------
  [AMDGPU] Do not emit function prologue on naked functions (#191398)

Summary:
Naked functions are intended to allow the user to write the entirety of
the function block, so we shouldn't include the `waitcnt` instructions
for them.


  Commit: e267605bdd35ba6dfd88abad4d6ed8396d2bdde5
      https://github.com/llvm/llvm-project/commit/e267605bdd35ba6dfd88abad4d6ed8396d2bdde5
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp

  Log Message:
  -----------
  [flang][OpenMP] Move check for threadprivate iteration variable (#191208)

This moves the test of whether the iteration variable of an affected DO
loop is marked as threadprivate. This makes the `ordCollapseLevel`
member unnecessary.

Issue: https://github.com/llvm/llvm-project/issues/191249


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

  Changed paths:
    M libc/docs/full_host_build.rst
    M libc/include/CMakeLists.txt

  Log Message:
  -----------
  [libc] Add generate-libc-headers custom target (#191160)

Added the generate-libc-headers custom target depending on libc-headers.

This allows troubleshooting headers without needing to install them
first.


  Commit: 4cd2db44f77090fb236c737ef12ec524379315de
      https://github.com/llvm/llvm-project/commit/4cd2db44f77090fb236c737ef12ec524379315de
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
    M llvm/test/Transforms/LoopVectorize/Hexagon/minimum-vf.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-interleaved.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model-assert.ll
    M llvm/test/Transforms/LoopVectorize/X86/no_fpmath.ll
    M llvm/test/Transforms/LoopVectorize/X86/no_fpmath_with_hotness.ll
    M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/tail_folding_and_assume_safety.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-loopid-dbg.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-profitable.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks.ll
    M llvm/test/Transforms/LoopVectorize/conditional-assignment.ll
    M llvm/test/Transforms/LoopVectorize/control-flow.ll
    M llvm/test/Transforms/LoopVectorize/diag-missing-instr-debug-loc.ll
    M llvm/test/Transforms/LoopVectorize/diag-with-hotness-info-2.ll
    M llvm/test/Transforms/LoopVectorize/diag-with-hotness-info.ll
    M llvm/test/Transforms/LoopVectorize/explicit_outer_detection.ll
    M llvm/test/Transforms/LoopVectorize/explicit_outer_nonuniform_inner.ll
    M llvm/test/Transforms/LoopVectorize/explicit_outer_uniform_diverg_branch.ll
    M llvm/test/Transforms/LoopVectorize/fix-reduction-dbg.ll
    M llvm/test/Transforms/LoopVectorize/incorrect-dom-info.ll
    M llvm/test/Transforms/LoopVectorize/middle-block-dbg.ll
    M llvm/test/Transforms/LoopVectorize/mixed-precision-remarks.ll
    M llvm/test/Transforms/LoopVectorize/no_array_bounds.ll
    M llvm/test/Transforms/LoopVectorize/no_switch.ll
    M llvm/test/Transforms/LoopVectorize/no_switch_disable_vectorization.ll
    M llvm/test/Transforms/LoopVectorize/unsafe-dep-remark.ll

  Log Message:
  -----------
  [LV][NFC] Remove llvm.ident, tbaa and other attributes from tests (#191375)

While in this area I also removed unnecessary annotations for wchar_size
and also cleaned up some more function attributes.


  Commit: e0ac76a87278353c1acc3d2fdaa3f712f4337cca
      https://github.com/llvm/llvm-project/commit/e0ac76a87278353c1acc3d2fdaa3f712f4337cca
  Author: Minsoo Choo <minsoochoo0122 at proton.me>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp

  Log Message:
  -----------
  [lldb][Process/FreeBSDKernelCore] Switch to LLDBLog::Process (#191408)

Failure to read all required fields for msgbuf isn't ObjectFile's fault
but FreeBSD-Kernel-Core plugin specific. Thus this should be logged
through `LLDBLog::Process` rather than `LLDBLog::Object`.

Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>


  Commit: 4367701f6ea981ff8c69a73edf8d6650354d6612
      https://github.com/llvm/llvm-project/commit/4367701f6ea981ff8c69a73edf8d6650354d6612
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    A flang/docs/OpenMP-extensions.md
    M flang/docs/OpenMPSupport.md
    M flang/docs/index.md

  Log Message:
  -----------
  [Flang][Docs][NFC] Move OpenMP API extensions to separate document (#186981)

This PR follows suit of the Extensions.md document and provides the same
file for OpenMP API extensions. These have previously been stored in
OpenMPSupport.md. Having a more centralized view and place for these
extensions seems useful.

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot at users.noreply.github.com>


  Commit: dfbae3e219afb7ae6cb98beae3eb104ec1abec78
      https://github.com/llvm/llvm-project/commit/dfbae3e219afb7ae6cb98beae3eb104ec1abec78
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/utils/conformance

  Log Message:
  -----------
  [libc++] Fix incorrect links and broken formatting in CSV status files (#191289)

Also, update the conformance script to look for closed issues when
searching for unlinked issues.


  Commit: 70742589079f16232908ed6e616f5f91a07df4e9
      https://github.com/llvm/llvm-project/commit/70742589079f16232908ed6e616f5f91a07df4e9
  Author: unexpectedlydefined <91391114+unexpectedlydefined at users.noreply.github.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-dwarfdump.rst
    M llvm/test/tools/llvm-dwarfdump/X86/coverage.test
    M llvm/tools/llvm-dwarfdump/Coverage.cpp
    M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
    M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.h

  Log Message:
  -----------
  [llvm-dwarfdump][LineCov 2/3] Add coverage baseline comparison and line table coverage in isolation (#183790)

Patch 2 of 3 to add to llvm-dwarfdump the ability to measure DWARF
coverage of local variables in terms of source lines, as discussed in
[this
RFC](https://discourse.llvm.org/t/rfc-debug-info-coverage-tool-v2/83266).

This patch adds the ability to compare a variable’s coverage against a
baseline, e.g. an unoptimised compilation of the same code. This is
provided using the optional `--coverage-baseline` argument.

When a baseline is provided, the output also includes a per-variable
measure of the line table’s coverage (`LT`, `LTRatio`), distinct from
the variable’s coverage proper. See section 2.2 of the RFC for details
on this metric.


  Commit: 6d2d804a22bf934e3432108e418b5a798c8557a7
      https://github.com/llvm/llvm-project/commit/6d2d804a22bf934e3432108e418b5a798c8557a7
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M libc/docs/gpu/building.rst

  Log Message:
  -----------
  [libc][docs][NFC] Rework GPU building documentation (#191381)

Reworked libc/docs/gpu/building.rst to match the style of
getting_started.rst:

* Removed mkdir and cd commands.
* Used -S and -B flags for CMake.
* Used -C flag for Ninja.
* Split commands into smaller blocks with brief explanations.

Use the same terminology as elsewhere in the LLVM libc docs and move
away from the deprecated runtime terms.

* Standard runtimes build -> Bootstrap Build
* Runtimes cross build -> Two-stage Cross-compiler Build


  Commit: cc9118831a760dddaaa23c56622b5fbd40dd7604
      https://github.com/llvm/llvm-project/commit/cc9118831a760dddaaa23c56622b5fbd40dd7604
  Author: Minsoo Choo <minsoochoo0122 at proton.me>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp

  Log Message:
  -----------
  [lldb][Process/FreeBSDKernelCore] Fix thread ordering (#187976)

In #178306, I made an incorrect assumption that traversing `allproc` in
reverse direction would give incremental pid order based on the fact
that new processes are added at the head of allproc. However, this
assumption is false under certain circumstance such as reusing pid
number, thus failing to sort threads correctly. Without using any
assumption, explicitly sort threads based on pid retrieved from memory.

Fixes: 5349c664fabd49f88c87e31bb3774f40bf938691 (#178306)

---------

Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>


  Commit: b8ac638c21a582e09bc5b3abb0f53edf0b677fb5
      https://github.com/llvm/llvm-project/commit/b8ac638c21a582e09bc5b3abb0f53edf0b677fb5
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Semantics/openmp-utils.cpp

  Log Message:
  -----------
  [flang][OpenMP] Add optional SemanticsContext parameter to loop utili… (#191231)

…ties

Some of the utilities may be used in symbol resolution which is before
the expression analysis is done. In such situations, the typedExpr's
normally stored in parser::Expr may not be available. To be able to
obtain the numeric values of expressions, using the analyzer directly
may be necessary, which requires SemanticsContext to be provided.


  Commit: 43d6e3874e67ac1f94482b43a98f595163e8cb6e
      https://github.com/llvm/llvm-project/commit/43d6e3874e67ac1f94482b43a98f595163e8cb6e
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M compiler-rt/lib/interception/interception.h
    M compiler-rt/lib/interception/interception_linux.cpp
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_linux_test.cpp

  Log Message:
  -----------
  [compiler-rt] Expose shared DSO helpers for compiler-rt runtimes (#191098)

The motivation of this PR is to refactor and expose DSO helper functions
so
they can be used by all compiler-rt libraries, including the profile
library,
without duplicating dlopen/dlsym (non-Windows) or
LoadLibrary/GetProcAddress
(Windows) logic in each runtime.

Implement the helpers in namespace __interception in
interception_linux.cpp for
non-Windows targets and interception_win.cpp for Windows, and use them
from the
existing Linux interception path for RTLD_NEXT/RTLD_DEFAULT/dlvsym
lookups.

This is NFC for existing libraries that already use interception's
public APIs;
sanitizer and interception lit behavior is unchanged.


  Commit: b35941eef89a93fef9d080c86d5eafd96216e2c6
      https://github.com/llvm/llvm-project/commit/b35941eef89a93fef9d080c86d5eafd96216e2c6
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dead.ll

  Log Message:
  -----------
  [AMDGPU] Change *-DAG to *-SDAG in check prefixes (#191411)

In some cases the use of *-DAG seemed to confuse the update scripts
because of the clash with FileCheck's built-in -DAG suffix.


  Commit: 8926b3ccbc205662a8543ec5bf6a54c7c42acffb
      https://github.com/llvm/llvm-project/commit/8926b3ccbc205662a8543ec5bf6a54c7c42acffb
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp

  Log Message:
  -----------
  [LLDB][ProcessFreeBSDKernelCore] Log error when creating kernel image (#191397)


  Commit: a7883e5b944c6ee1299eeaa4747ec71353de2b95
      https://github.com/llvm/llvm-project/commit/a7883e5b944c6ee1299eeaa4747ec71353de2b95
  Author: google-yfyang <yfyang at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [bazel] Fix Bazel build issue with #190862 (#191420)

Fixed 5531990872d464f5644c58e0a90a47eb7d1ae575.


  Commit: ca80bda446b50c5124ab653c480decf9ae8b1288
      https://github.com/llvm/llvm-project/commit/ca80bda446b50c5124ab653c480decf9ae8b1288
  Author: Stephen Long <63318318+steplong at users.noreply.github.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Specialize linalg.generic to linalg.mmt4d (#189719)

Specialize linalg.generic to linalg.mmt4d based on index map


  Commit: 457a644051b8d14c903d8171f781df849f269e00
      https://github.com/llvm/llvm-project/commit/457a644051b8d14c903d8171f781df849f269e00
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp

  Log Message:
  -----------
  [libc++] Speed up stable_sort.pass.cpp by reducing redundant test coverage (#187368)

We don't need to run the full exhaustive test for all floating points,
as long as we're testing the radix sort code path (which we are, since
radix sort triggers at 1024 elements).

This reduces the test execution time on my machine from 20s to 12s.

Fixes #187329


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

  Changed paths:
    M bolt/include/bolt/Passes/DataflowAnalysis.h
    M bolt/lib/Passes/AllocCombiner.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Passes/TailDuplication.cpp

  Log Message:
  -----------
  [BOLT] Fix iterator bugs (#190978)

Fix iterator misuse in four BOLT passes, caught by _GLIBCXX_DEBUG
(enabled via LLVM_ENABLE_EXPENSIVE_CHECKS=ON).

* AllocCombiner: combineAdjustments() erases instructions while
iterating in reverse via llvm::reverse(BB), invalidating the reverse
iterator. Defer erasures to after the loop using a SmallVector.
* ShrinkWrapping: processDeletions() uses
std::prev(BB.eraseInstruction(II)) which is undefined when II ==
begin(). Restructure to standard forward iteration with erase.
* DataflowAnalysis: run() unconditionally dereferences BB->rbegin(),
which crashes on empty basic blocks (possible after the ShrinkWrapping
fix). Guard with an emptiness check.
* IndirectCallPromotion: rewriteCall() dereferences the end iterator via
&(*IndCallBlock.end()). Replace with &IndCallBlock.back().
* TailDuplication: constantAndCopyPropagate() uses
std::prev(OriginalBB.eraseInstruction(Itr)) which is undefined when Itr
== begin(). Restructure to standard forward iteration with erase.


  Commit: c0d4959ac99d89a9896ddc28248ce1c10f06cd22
      https://github.com/llvm/llvm-project/commit/c0d4959ac99d89a9896ddc28248ce1c10f06cd22
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/fold-inc-of-add-of-not-x-and-y-to-sub-x-from-y.ll

  Log Message:
  -----------
  [InstCombine] Generalize `(A + 1) + ~B` fold to any constant (#188271)

Example:

    int foo(int a, int b) { return a - 1 + ~b; }

Before, on AArch64:

    mvn w8, w1
    add w8, w0, w8
    sub w0, w8, #1

After (matches gcc):

    sub w0, w0, w1
    sub w0, w0, #2

Proof: https://alive2.llvm.org/ce/z/g_bV01


  Commit: 7cf82070a15d3532dedca1d039361f9204ff7f71
      https://github.com/llvm/llvm-project/commit/7cf82070a15d3532dedca1d039361f9204ff7f71
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [PatternMatchHelpers] Improve compile time of m_Combine(And|Or) (#191413)

Squelch the stage-2 compile time regression introduced by the variadic
m_Combine(And|Or) matchers, by replacing the std::apply on a std::tuple
with a recursive inheritance.


  Commit: 6ef4e889a220faaac95406cec206763178049a53
      https://github.com/llvm/llvm-project/commit/6ef4e889a220faaac95406cec206763178049a53
  Author: bahareh-farhadi <53280095+bahareh-farhadi at users.noreply.github.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/test/Examples/lit.local.cfg
    M llvm/test/ExecutionEngine/lit.local.cfg

  Log Message:
  -----------
  Mark llvm/test/ExecutionEngine and llvm/test/Examples tests as UNSUPPORTED for zOS (#190835)

Tests in `llvm/test/Examples` and `llvm/test/ExecutionEngine` use JIT
which is unsupported for zOS causing the tests to fail.

---------

Co-authored-by: Bahareh Farhadi <bahareh.farhadi at ibm.com>


  Commit: 078c43c582f0cd0a7c925abcd9eefdf9f63b2040
      https://github.com/llvm/llvm-project/commit/078c43c582f0cd0a7c925abcd9eefdf9f63b2040
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/test/Transforms/Inline/ML/Inputs/test-module.ll
    M llvm/test/Transforms/Inline/ML/ml-test-development-mode.ll

  Log Message:
  -----------
  Fix ml inliner tests after PR #190168 (#191431)

The default inliner policy changed slighlty, which was expected after PR
#190168.


  Commit: 15e46e25f26c8bb6606800bdb2c1d1fecf981291
      https://github.com/llvm/llvm-project/commit/15e46e25f26c8bb6606800bdb2c1d1fecf981291
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  Add new coro test to profcheck-xfail (#191436)

Coro haven't yet been fixed up for profcheck, so new tests are likely to
fail.

mtune.ll exercises loop vectorizer (not fixed)


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

  Changed paths:
    M openmp/runtime/src/kmp_ftn_entry.h
    M openmp/runtime/test/ompt/callback.h
    M openmp/runtime/test/ompt/misc/control_tool.c
    A openmp/runtime/test/ompt/misc/control_tool_before_directive.c
    A openmp/runtime/test/ompt/misc/control_tool_no_callback.c
    M openmp/runtime/test/ompt/misc/control_tool_no_ompt_support.c

  Log Message:
  -----------
  [OpenMP][OMPT] Fix `omp_control_tool` before any directive (#191429)

When a user calls `omp_control_tool`, a tool is attached and it
registered the `ompt_control_tool` callback, the tool should receive a
callback with the users arguments.

However, in #112924, it was discovered that this only happens after at
least one host side directive or runtime call calling into
`__kmp_do_middle_initialize` has been executed.

The check for `__kmp_init_middle` in `FTN_CONTROL_TOOL` did not try to
do the middle initialization and instead always returned `-2` (no tool).
A tool therefore received no callback. The user program did not get the
info that there is a tool attached. To fix this, change the explicit
return to a call of `__kmp_middle_initialize()`, as done in several
other places of `libomp`.

Further handling is then done in `__kmp_control_tool`, where the values
`-2` (no tool), `-1` (no callback), or the tools return value are
returned.

Also expand the tests to introduce checks where no callaback is
registered, or `omp_control_tool` is called before any OpenMP directive.

Fixes #112924

CC @jprotze, @hansangbae

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


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

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

  Log Message:
  -----------
  [clang][modules-driver] Apply rule-of-five to CompilationGraph types (NFC) (#191430)

CompilationGraph owns all nodes and edges via `unique_ptr`, but exposes
pointers to the underlying objects. Make them non-movable to maintain
stable addresses.
Make them non-copyable since we don't want to copy `Command` objects
they hold or create duplicate root nodes.

Apply full rule-of-five to `CompilationGraph`.


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

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

  Log Message:
  -----------
  [clang][modules-driver] Extract logic to feed jobs back into Compilation (NFC) (#191441)


  Commit: 606b2a449a55266dae2de18f84aa3bef0c06a562
      https://github.com/llvm/llvm-project/commit/606b2a449a55266dae2de18f84aa3bef0c06a562
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [LegalizeIntegerTypes] Remove some unnecessary isTypeLegal checks from IntegerExpandSetCCOperands. NFC (#191353)

LHSLo and RHSLo must have the same type, we don't need to check both.
Same for LHSHi and RHSHi.


  Commit: 0adf9b6f33d12e99284db70a1aef485fa6cabe3c
      https://github.com/llvm/llvm-project/commit/0adf9b6f33d12e99284db70a1aef485fa6cabe3c
  Author: John Harrison <harjohn at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
    M lldb/tools/lldb-dap/LLDBUtils.cpp
    M lldb/tools/lldb-dap/LLDBUtils.h

  Log Message:
  -----------
  [lldb-dap] Address a race condition in server mode. (#191062)

While running in server mode, multiple clients can be connected at the
same time. In LLDBUtils we had a static mutex that can cause other
clients to hang due to the single static lock.

Instead, I adjusted the logic to take the existing SBMutex as a paremter
and guard that mutex during command handling.


  Commit: 33a4dff19fa013734057af130c8561d61e6a0764
      https://github.com/llvm/llvm-project/commit/33a4dff19fa013734057af130c8561d61e6a0764
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp

  Log Message:
  -----------
  [AsmPrinter] Explicitly use EHStreamer type for EHHandlers (#191288)

There is a note here that this causes warnings on some compilers, but it
is unclear what compilers. Clang does not warn on this, and this is the
only compiler that we guarantee to be warning free.

Also update uses of update handle additions to add to the right arrays.


  Commit: aca430027b0a308f6206dfbd7e66f57faf8a7700
      https://github.com/llvm/llvm-project/commit/aca430027b0a308f6206dfbd7e66f57faf8a7700
  Author: google-yfyang <yfyang at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [compiler-rt] Address dlvsym not found compilation error when targeting certain platforms (#191444)

#191098 Add some unguarded dlvsym calls. This causes build issues when
targeting certain platforms such as iOS.

This change should restore the original behavior.


  Commit: d5048392b9a73b22ba9758789812ef22c75271fb
      https://github.com/llvm/llvm-project/commit/d5048392b9a73b22ba9758789812ef22c75271fb
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/GSYM/FileWriter.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp

  Log Message:
  -----------
  [gsymutil] Fix a warning on systems with 32-bit `off_t` (#189524)

The size of `off_t` isn't specified, so it can be either 32 or 64 bits
depending on the system. In particular, on LLP64 systems like windows
it's generally only 32 bits. This means the `if (StrtabSize >
UINT32_MAX)` check added in #181458 may warn on such systems (Giving
-Wsign-compare).

Given that `FileWriter::tell` (and the underlying `raw_ostream::tell`)
explicitly return `uint64_t`, the simplest fix is to just use the return
type of the function instead of potentially truncating. Since the same
logic applies even where we don't happen to have a warning here, I've
applied this for all of these uses of `off_t`.


  Commit: 98845fccd93865417dc732251fdc09e3eb15edb8
      https://github.com/llvm/llvm-project/commit/98845fccd93865417dc732251fdc09e3eb15edb8
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Dialect/Tosa/dynamic_extension.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir

  Log Message:
  -----------
  [mlir][tosa] Disallow shape type in function argument/return types (#175754)

This commit adds an additional check to the TOSA validation pass to
disallow use of shape types in function arguments and return types. The
specification requires these types be tensor types.


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

  Changed paths:
    M llvm/lib/MC/GOFFObjectWriter.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/test/CodeGen/SystemZ/zos-symbol-2.ll

  Log Message:
  -----------
  [SystemZ][GOFF] Reference to external variable needs PR symbol (#185742)

Variables are modelled as parts in the GOFF format. Referencing a
variable defined in a different compilation unit
requires to use a PR symbol instead of an EX symbol (created by the
EXTRN/WXTERN instruction). Those PR symbols need to refer to a
ED symbol, for which the ED symbol of the ADA is used.


  Commit: 16e015b5a68f807d24681cba8190ffa08df2dc16
      https://github.com/llvm/llvm-project/commit/16e015b5a68f807d24681cba8190ffa08df2dc16
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/Symbol/TypeSystem.cpp
    M lldb/source/ValueObject/DILEval.cpp

  Log Message:
  -----------
  [NFC][lldb] Use `ASTContext::getPromotedIntegerType` for integral promotion in DIL (#191448)


  Commit: 027821479ee95d6ade3c5c488ae0b6c1b017fbfa
      https://github.com/llvm/llvm-project/commit/027821479ee95d6ade3c5c488ae0b6c1b017fbfa
  Author: NeKon69 <nobodqwe at gmail.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [LifetimeSafety] Fix crash on ternary operator when one of the expressions is `throw` (#190345)

Ternary operator now doesn't flow origins from `[[noreturn]]` arms,
including `throw` statements.

Closes #183895


  Commit: 05bfe73bf6b5311f01503d81996d1e714c6cce81
      https://github.com/llvm/llvm-project/commit/05bfe73bf6b5311f01503d81996d1e714c6cce81
  Author: google-yfyang <yfyang at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [compiler-rt] Address dlvsym not found compilation error when targeting certain platforms (try 2) (#191458)

The previous attempt #191444 was incomplete.


  Commit: be1bc283c610c2b5610e7f7fcdcb78e6ccdb6911
      https://github.com/llvm/llvm-project/commit/be1bc283c610c2b5610e7f7fcdcb78e6ccdb6911
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/amdgpu-features.c
    M clang/test/Driver/amdgpu-toolchain.c

  Log Message:
  -----------
  [Clang] Permit '--target=amdgcn--' for binaries (#191451)

Summary:
We always accepted `--target=amdgcn--` to create IR object files but it
doesn't allow creating actual binaries without user intervention. This
is because it would fall-through to the GCC toolchain which does not
know how to handle AMGCN / AMDGPU targets. This PR just adds a single
line to handle it, which effectively allows this as a 'bare' target.

Perhaps the argument could be made that AMDGPU should not support
anything but strictly HSA because it has many assumptions in the
compiler itself, such as implicit arguments, but I feel like it is
relatively harmless to support this case if users decide they really do
not need it.


  Commit: c94f79886035a61bb5f3dc992f75fe0c08bdcd4b
      https://github.com/llvm/llvm-project/commit/c94f79886035a61bb5f3dc992f75fe0c08bdcd4b
  Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  Strip .llvm. suffix after removing the coroutine suffixes to avoid breaking pseudo probe (#191354)

Pseudo probe is currently broken when a coroutine function is promoted
with a global name during ThinLTO import. The top-level function GUID in
.pseudo_probe section are computed from the promoted name (with
".llvm.xxxx" suffix) instead of the original function name. Then it will
cause a dangling top-level GUID that doesn't have any reference in the
pseudo probe desc, and potentially hurt profile quality.

The root cause of the issue were:
1) ThinLTO post-link imports and promotes a local coroutine function,
creating a global function with ".llvm.xxxx" suffix.
2) https://github.com/llvm/llvm-project/pull/141889 introduces a change
in CoroSplit pass that updates the coroutine functions linkage name with
the ".cleanup", ".destroy", ".resume" suffixes, and this creates
top-level functions with ".llvm.xxxx.cleanup", ".llvm.xxxx.destroy",
".llvm.xxxx.resume" suffixes.
3) PseudoProbePrinter and PseudoProbeInserter only strips coroutine
suffix, and didn't consider the ".llvm." suffix.

This patch fixes the issue in step 3)


  Commit: 95778b2689add85ea6c3abf342358857278669fe
      https://github.com/llvm/llvm-project/commit/95778b2689add85ea6c3abf342358857278669fe
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [ADT][NFC] Make po iterator stack entry trivially copyable (#191290)

std::tuple is not trivially copyable, leading to the use of less
efficient SmallVector implementations. Additionally, named members are
more readable than std::get<N>.

Also make sure that successors() is called only once per traversed basic
block -- this is difficult here: when the begin iterator is stored in
the vector between the calls, the second call can't be eliminated due to
the potentially visible store. When copying the entry into the vector,
SmallVector exposes the address of the alloca via ptrtoint to ensure
that the object indeed doesn't reside in the vector. We're missing
some optimization here... so very carefully work around this problem.


  Commit: 5cf1a5d5ea187ad040ea13feb32e462858bf40cd
      https://github.com/llvm/llvm-project/commit/5cf1a5d5ea187ad040ea13feb32e462858bf40cd
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/bool_cast.cl
    M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
    M clang/test/CodeGenOpenCL/kernel-attributes.cl
    M clang/test/CodeGenOpenCL/kernel-metadata.cl
    M clang/test/CodeGenOpenCL/kernel-param-alignment.cl
    M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
    M clang/test/CodeGenOpenCL/opencl-kernel-call.cl
    M clang/test/CodeGenOpenCL/pipe_types.cl
    M clang/test/CodeGenOpenCL/pipe_types_mangling.cl
    M clang/test/CodeGenOpenCL/sampler.cl
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    R llvm/test/CodeGen/RISCV/spir-kernel-cc.ll

  Log Message:
  -----------
  Stop using spir_kernel calling convention on non-SPIR targets. (#191090)

This behavior traces back to fc2629a65a05fa05bc5c5bc37cf910c8e41cdac3 ,
but neither the commit message or the reviews actually justify using
this calling convention. The actual behavior which is important for that
change is the way clang calling convention lowering works.

There isn't really any other reason to use spir_kernel: every non-SPIR
target either rejects it, or treats it as the C calling convention. So
let's stop doing it.

Fixes #157028.


  Commit: 2cf353b5e8560723409f3f9164bddec76f499963
      https://github.com/llvm/llvm-project/commit/2cf353b5e8560723409f3f9164bddec76f499963
  Author: NeKon69 <nobodqwe at gmail.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Flow origins from lifetimebound args in `gsl::Pointer` construction (#189907)

This PR adds origin flow from `[[clang::lifetimebound]]` constructor
arguments during `gsl::Pointer` construction.

Fixes #175898


  Commit: c801f0c797350269d2e7869a08d28ab16c762053
      https://github.com/llvm/llvm-project/commit/c801f0c797350269d2e7869a08d28ab16c762053
  Author: Congzhe <congzhe.cao at huawei.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp

  Log Message:
  -----------
   [LoopUnrollAndJam] Fix out-of-date LoopInfo being used during unroll and jam (#191250)

Fixed issue #190671, where loop unroll and jam did not update LoopInfo
entirely correctly.

Invalid LoopInfo gets passed into `simplifyLoopAfterUnroll()` and is
further called by SCEV at the beginning of
`ScalarEvolution::createSCEVIter()`, which triggered hidden bugs. To
fix, updated LoopInfo correctly before its use.

The loop blocks that `simplifyLoopAfterUnroll()` iterates
through, will become unavailable after the LoopInfo update. Therefore we
store the loop blocks beforehand for its use in
`simplifyLoopAfterUnroll()` later.


  Commit: 8295c74dc06bc673d3a6ac45f07b587b43631715
      https://github.com/llvm/llvm-project/commit/8295c74dc06bc673d3a6ac45f07b587b43631715
  Author: Jun Wang <jwang_2024 at outlook.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    A llvm/docs/AMDGPU/AMDGPUAsmGFX950.rst
    A llvm/docs/AMDGPU/gfx950_operands.rst
    M llvm/docs/AMDGPUModifierSyntax.rst
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU] Documentation files for GFX950 instructions (#184710)

Checking in documentation files for GFX950 instructions.


  Commit: 03bb8745a0e886934f93e5639637f42db2f2575f
      https://github.com/llvm/llvm-project/commit/03bb8745a0e886934f93e5639637f42db2f2575f
  Author: David Justo <david.justo.1996 at gmail.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M compiler-rt/test/asan/TestCases/disable_container_overflow_checks.c

  Log Message:
  -----------
  Disable MSVC-incompatible portions of `disable_container_overflow_checks` for MSVC (#191456)

**Context:**

The test `disable_container_overflow_checks` recently started running on
Windows, as per:
https://github.com/llvm/llvm-project/pull/181721/changes

As a result, the MSVC ASan fork of LLVM ASan started executing this
test, which has been failing for 2 reasons.

1) MSVC does not support the `__has_feature` syntax.
2) The `__SANITIZER_DISABLE_CONTAINER_OVERFLOW__` macro is not supported
in MSVC ASan (we have an equivalent in `_DISABLE_STL_ANNOTATION`)
because `__SANITIZER_DISABLE_CONTAINER_OVERFLOW__` also invokes
MSVC-incompatible syntax.

**This PR** addresses these two failures.

For (1), we replace:

```C++
#if __has_feature(address_sanitizer)
```

with

```C++
// compilers such as MSVC do not support `__has_feature`
#ifndef __has_feature
#define __has_feature(x) 0
#endif

// MSVC defines `__SANITIZE_ADDRESS__`
#if __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__)
```

and for (2), we disable the tests for
`__SANITIZER_DISABLE_CONTAINER_OVERFLOW__` for MSVC.


  Commit: d5a8af542ee8afb16e7ac42277953e74e59f9bd7
      https://github.com/llvm/llvm-project/commit/d5a8af542ee8afb16e7ac42277953e74e59f9bd7
  Author: Frederik Harwath <frederik.harwath at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [AMDGPU] IGroupLP: Fix BestCost assignment in greedy solver (NFC) (#186995)

The greedy solver's greedyFind method incorrectly reports the cost of
the last processed group instead of the best one.  In practice, this does
not have any effect since (1) the cost is only used to decide whether
or not to run the exact solver and for this it only matters if it is
zero or not, and (2) the edges of the best group are used correctly.
But it clearly is conceptually wrong.

Use the best group cost, refactor how the information about the best
group is represented, and add debug output which outputs the greedy
solver's overall cost.


  Commit: e3589e89671c4dd7f5ebed031ec1beb0f43772c9
      https://github.com/llvm/llvm-project/commit/e3589e89671c4dd7f5ebed031ec1beb0f43772c9
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang-tools-extra/test/Unit/CMakeLists.txt

  Log Message:
  -----------
  [clang-doc] Make test alias depend on the unit test binary (#190014)

Without DEPENDS, this doesn't seem to rebuild the ClangDocTests target.


  Commit: b99c146598839b5b5613bd6921d1846e7aeaf1ae
      https://github.com/llvm/llvm-project/commit/b99c146598839b5b5613bd6921d1846e7aeaf1ae
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp
    M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
    M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
    M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp

  Log Message:
  -----------
  [clang-doc] Make CommentInfo arena allocated (#190050)

This patch move the CommentInfo type into the arena. It updates block
handling to collect child info types and serialize the array in one
shot.

We also clean up the test code to avoid using the arenas in the tests.
This has the upside of making the test more hermetic, and avoids churn
in the related code as the allocation API interfaces evolve.

Performance and memory usage regress slightly. This is somewhat expected
as we do not yet aggressively release short term memory during merge
operations. Future patches will reclaim this overhead.

| Metric | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| Time | 920.5s | 998.5s | 1010.5s | +9.8% | +1.2% |
| Memory | 86.0G | 43.8G | 47.8G | -44.4% | +9.2% |

| Benchmark | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| BM_BitcodeReader_Scale/10 | 67.9us | 68.8us | 68.7us | +1.1% | -0.2% |
| BM_BitcodeReader_Scale/10000 | 70.5ms | 24.5ms | 23.8ms | -66.2% |
-2.8% |
| BM_BitcodeReader_Scale/4096 | 23.2ms | 4.4ms | 4.4ms | -80.9% | -0.0%
|
| BM_BitcodeReader_Scale/512 | 509.4us | 538.6us | 538.3us | +5.7% |
-0.1% |
| BM_BitcodeReader_Scale/64 | 114.8us | 116.9us | 116.8us | +1.8% |
-0.1% |
| BM_Index_Insertion/10 | 2.3us | 4.2us | 3.8us | +65.6% | -8.2% |
| BM_Index_Insertion/10000 | 3.1ms | 5.3ms | 5.1ms | +61.7% | -5.4% |
| BM_Index_Insertion/4096 | 1.3ms | 2.1ms | 2.0ms | +56.8% | -6.1% |
| BM_Index_Insertion/512 | 153.6us | 257.2us | 243.3us | +58.5% | -5.4%
|
| BM_Index_Insertion/64 | 18.1us | 30.5us | 29.1us | +61.1% | -4.8% |
| BM_JSONGenerator_Scale/10 | 36.8us | 36.6us | 37.6us | +2.2% | +2.9% |
| BM_JSONGenerator_Scale/10000 | 89.6ms | 90.2ms | 91.1ms | +1.6% |
+1.0% |
| BM_JSONGenerator_Scale/4096 | 33.7ms | 34.5ms | 35.0ms | +3.7% | +1.3%
|
| BM_JSONGenerator_Scale/512 | 1.9ms | 1.9ms | 2.0ms | +1.8% | +1.7% |
| BM_JSONGenerator_Scale/64 | 222.4us | 218.7us | 226.7us | +1.9% |
+3.7% |
| BM_Mapper_Scale/10 | 2.5ms | 2.5ms | 2.5ms | +0.7% | +1.9% |
| BM_Mapper_Scale/10000 | 104.3ms | 106.1ms | 105.5ms | +1.1% | -0.6% |
| BM_Mapper_Scale/4096 | 44.3ms | 45.0ms | 44.5ms | +0.3% | -1.1% |
| BM_MergeInfos_Scale/10000 | 12.2ms | 2.0ms | 1.9ms | -84.8% | -7.1% |
| BM_MergeInfos_Scale/2 | 1.9us | 1.8us | 1.7us | -7.9% | -2.1% |
| BM_MergeInfos_Scale/4096 | 2.8ms | 574.7us | 531.2us | -80.9% | -7.6%
|
| BM_MergeInfos_Scale/512 | 68.9us | 39.6us | 36.5us | -47.0% | -7.9% |
| BM_MergeInfos_Scale/64 | 10.3us | 6.5us | 6.0us | -41.3% | -7.0% |
| BM_MergeInfos_Scale/8 | 2.8us | 2.2us | 2.2us | -22.4% | -2.8% |

Note that I used an LLM to help update test code.


  Commit: 6ce84819d2de76b4c747b433e9bc7ec43cefb186
      https://github.com/llvm/llvm-project/commit/6ce84819d2de76b4c747b433e9bc7ec43cefb186
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
    M llvm/test/CodeGen/AMDGPU/hazard-setreg-vgpr-msb-gfx1250.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-setreg-mode-swar.mir

  Log Message:
  -----------
  [AMDGPU] Always update SETREG MSBs if offset is 0 (#191362)

We can always update immediate if Offset is zero. The bits
HW will write are always at the same position if offset is 0.

In particular it removes redundant mode changes created as seen
in the hazard-setreg-vgpr-msb-gfx1250.mir.

This still relies on the wrong behavior that SETREG updates
MSBs, so it will have to be changed later. Test immediates may be
off from desired for that reason in this patch.


  Commit: f0004d8143b346e0f5a13b4021f348165e27fb9a
      https://github.com/llvm/llvm-project/commit/f0004d8143b346e0f5a13b4021f348165e27fb9a
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [scudo] Remove fill when realloc to smaller size. (#191321)

In the reallocate function, when there is a realloc smaller than the
current size, the code would attempt to fill in the bytes after the new
size. This doesn't really add any extra security and is mostly a waste
of time, so skip it.

Remove the test that verifies this functionality.


  Commit: 1a3cf72213adba014c0a8ee7a6377212c635c135
      https://github.com/llvm/llvm-project/commit/1a3cf72213adba014c0a8ee7a6377212c635c135
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    A clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.h
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp

  Log Message:
  -----------
  [NFC][SSAF] Move EntityPointerLevel to a separate folder (#191331)

EntityPointerLevel will later be shared with other summaries besides
UnsafeBufferUsage. This commit moves it to a separate file.


  Commit: 86c307d96698b8e49eb912e06e796567c3df7daf
      https://github.com/llvm/llvm-project/commit/86c307d96698b8e49eb912e06e796567c3df7daf
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/Representation.cpp

  Log Message:
  -----------
  [clang-doc] Consolidate merging logic (#190051)

As we migrate things in the arena, this logic may get more complex.
Factoring it out now, will give clear extension points to make this
easier to manage.


  Commit: 2cd49f77f734990cc78fd1b37bcc6cac5a71d5c1
      https://github.com/llvm/llvm-project/commit/2cd49f77f734990cc78fd1b37bcc6cac5a71d5c1
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/test/Semantics/OpenMP/fuse1.f90
    M flang/test/Semantics/OpenMP/loop-transformation-clauses01.f90

  Log Message:
  -----------
  [flang][OpenMP] Rename GetRequiredCount to GetMinimumSequenceCount (#191465)

The new name better describes the calculated value.

Also adjust a diagnostic message to say that *at least* N loops are
expected in the sequence.


  Commit: e4b93b70c92ffc581a16578acc2ef58e02824076
      https://github.com/llvm/llvm-project/commit/e4b93b70c92ffc581a16578acc2ef58e02824076
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/stdio.yaml
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/generic/CMakeLists.txt
    A libc/src/stdio/generic/rewind.cpp
    A libc/src/stdio/rewind.h
    M libc/test/src/stdio/CMakeLists.txt
    A libc/test/src/stdio/rewind_test.cpp

  Log Message:
  -----------
  [libc] implement rewind (#191302)

Add the "rewind" function defined in the C standard, and adds tests.


  Commit: 05ffd0dc29bccc839b453b94918ba8e088f4397c
      https://github.com/llvm/llvm-project/commit/05ffd0dc29bccc839b453b94918ba8e088f4397c
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGen/global-ptr-init.cpp

  Log Message:
  -----------
  [CIR] Handle globals with vptr init (#191291)

When a class contains virtual functions but no data members and has a
trivial constructor, global variables of that type are initialized with
a vptr. CIR was incorrectly creating the global variable with the type
of the vtable (an anonymous record) rather than the class type.

When replacing structors with aliases, we were calling a function to
update argument types at the call sites, but this was only necessary
because we initially generated the call using the same incorrect type
that we used for the global. The type correction wasn't implemented
because we hadn't encountered a case where it was needed. Having found
such a case led me to diagnose the problem as above, and I verified that
the same test case compiled without -mconstructor-aliases just failed in
the verifier because we never hit the replacement code. I'm now
convinced that this argument type fixup isn't necessary, so I replaced
the fixup function with an assert.

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


  Commit: 2ae4ddd720a9702e8aac6094c3930bfeac8fc325
      https://github.com/llvm/llvm-project/commit/2ae4ddd720a9702e8aac6094c3930bfeac8fc325
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.h
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp

  Log Message:
  -----------
  Revert "[NFC][SSAF] Move EntityPointerLevel to a separate folder" (#191481)

Reverts llvm/llvm-project#191331

A set of bots are broken. For more examples check the reverted PR.
https://lab.llvm.org/buildbot/#/builders/225/builds/5596
Example:
```
   30 | ssaf::getUnsafeBuffers(const UnsafeBufferUsageEntitySummary &S) {
      | ^~~~
clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h:30:3: note: only here as a ‘friend’
   30 |   getUnsafeBuffers(const UnsafeBufferUsageEntitySummary &);
      |   ^~~~~~~~~~~~~~~~
FAILED: clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp:61:5: error: qualified name does not name a class before ‘:’ token
   61 |     : ConstStmtVisitor<EntityPointerLevelTranslator,
      |     ^
```


  Commit: 20dc214629ae0755adaa74954cd12c378b6ed463
      https://github.com/llvm/llvm-project/commit/20dc214629ae0755adaa74954cd12c378b6ed463
  Author: Serosh <janmejayapanda400 at gmail.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [clang] fix crash on qualified friend function definitions  (#186398)

This patch fixes a crash caused by qualified friend function definitions
and We now recover early by diagnosing the invalid qualifier and
clearing the scope
fixes #185341


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

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
    M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll

  Log Message:
  -----------
  [LV,LAA] Add tests showing incorrect SCEV predicate reasoning. (NFC) (#191443)

Add test cases for https://github.com/llvm/llvm-project/issues/191382.


  Commit: 41ade987427ee56d1015ab700ef9cfd7f1826d20
      https://github.com/llvm/llvm-project/commit/41ade987427ee56d1015ab700ef9cfd7f1826d20
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll

  Log Message:
  -----------
  [WebAssembly] Fix attributes of exception_grouping_2 test (#191466)

Function calls in `exception_grouping_2` test had incorrect attribute
numbers, making many of them incorrectly `noreturn`, rendering many BBs
after them unreachable. As a result of them, the function became a
trivial single-BB and the test passsed because it didn't have any
exceptions in it. I think this happened because I created that test in
another file and later pasted the function into these files, which had
different attribute numbers.

This also has a few drive-by comment typo fixes.


  Commit: dd2ba5b3b406d70ef668425ed7aef76b04feaf47
      https://github.com/llvm/llvm-project/commit/dd2ba5b3b406d70ef668425ed7aef76b04feaf47
  Author: Dhruva Chakrabarti <Dhruva.Chakrabarti at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp

  Log Message:
  -----------
  [AMDGPU] Added a debug counter to Rewrite AGPR-Copy-MFMA pass (#189437)

The debug counter can be used to control the MFMA chains rewritten to
AGPR form.


  Commit: 9e5d363351980b13e0aa13179685444c1dd05a14
      https://github.com/llvm/llvm-project/commit/9e5d363351980b13e0aa13179685444c1dd05a14
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [AMDGPU][SIInsertWaitcnts][NFC] Drop `using llvm::AMDGPU` (#180782)

This is a followup patch for PR
https://github.com/llvm/llvm-project/pull/178345 which introduced `using
llvm::AMDGPU` to keep the patch size small.


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

  Changed paths:
    M llvm/utils/gn/secondary/lldb/test/BUILD.gn

  Log Message:
  -----------
  [gn] port 6175a4d455e1 (#191503)


  Commit: 2490ee3f0ee60b77de4201f0e5008a959ef9d1ca
      https://github.com/llvm/llvm-project/commit/2490ee3f0ee60b77de4201f0e5008a959ef9d1ca
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    A clang/test/CIR/CodeGen/record-type-metadata.cpp
    M clang/unittests/CIR/CMakeLists.txt
    A clang/unittests/CIR/RecordTypeMetadataTest.cpp
    M llvm/utils/gn/secondary/clang/unittests/CIR/BUILD.gn

  Log Message:
  -----------
  [CIR][ABI] Add ABI metadata fields to RecordType (#188300)

Store AST-derived layout information on `cir::RecordType` so that ABI
lowering passes (which have no AST access) can make correct calling
convention decisions.

The five new fields on `RecordTypeStorage` are: `triviallyCopyable`
(from `canPassInRegisters`), `triviallyDestructible` (from
`hasTrivialDestructor`), `isEmpty` (from
`CXXRecordDecl::isEmpty`/`field_empty`), `dataSizeInBits` (from
`ASTRecordLayout::getDataSize`), and `recordAlignInBytes` (from
`ASTRecordLayout::getAlignment`). They're set during
`computeRecordLayout` and are not part of the printed/parsed CIR text.
The `complete()` signature uses defaults so existing callers don't need
changes.

Anonymous records (created by passes, not CIRGen) default to trivially
copyable/destructible since they represent synthetic aggregates like
member pointer lowering tuples.

Unit test with 9 cases exercises all fields, anonymous defaults, and
backward compatibility.


  Commit: f39386b79eb002e7dd1376e11198ac60f802cf48
      https://github.com/llvm/llvm-project/commit/f39386b79eb002e7dd1376e11198ac60f802cf48
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
    M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp

  Log Message:
  -----------
  [MLIR][XeVM] Update XeVM type converter (#189306)

Ideally, DLTI should be used for getting Index type which as it is tied
to bitwidth of pointer type that can be expressed with DLTI.
But currently, a separate pass option for bitwidth of Index type is used
in many passes.
GPU to XeVM lowering pipeline also use passes with such options.
But XeVM type converter does not provide a way to reflect choice of
Index type bitwidth and uses a hardcoded value.
This PR updates XeVM type converter to use Index type bitwidth from pass
option. This is done by using LLVM type converter for converting element
type instead of the previous custom logic.
In addition to handling Index type properly, by using LLVM type
converter, low precision float types are correctly converted to LLVM
supported types.


  Commit: 3aff10d4ef35287c3473be9a735029f04a43a551
      https://github.com/llvm/llvm-project/commit/3aff10d4ef35287c3473be9a735029f04a43a551
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
    M mlir/test/Conversion/XeVMToLLVM/legalize_large_vector.mlir

  Log Message:
  -----------
  [MLIR][XeVM] Update HandleVectorExtract pattern. (#191052)

Split loads only if pointer address space is private.
Splitting loads from non-private memory could hurt performance.


  Commit: 5c0d5ff9791e414d54e1ff110ca7e81d8ec077fc
      https://github.com/llvm/llvm-project/commit/5c0d5ff9791e414d54e1ff110ca7e81d8ec077fc
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M flang/test/Lower/Intrinsics/shifta.f90
    M flang/test/Lower/Intrinsics/shiftl.f90
    M flang/test/Lower/Intrinsics/shiftr.f90
    M flang/test/Lower/Intrinsics/size.f90
    M flang/test/Lower/Intrinsics/spread.f90

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

Tests converted from test/Lower/Intrinsics: shifta.f90, shiftl.f90,
shiftr.f90, size.f90, spread.f90


  Commit: ae7f902429f95e02d6277fc903a03fb6750f987f
      https://github.com/llvm/llvm-project/commit/ae7f902429f95e02d6277fc903a03fb6750f987f
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
    M llvm/lib/Target/RISCV/RISCVCallingConv.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    A llvm/test/CodeGen/RISCV/GlobalISel/fastcc-float.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/ghccc-rv32.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/ghccc-rv64.ll

  Log Message:
  -----------
  [RISCV] Remove RISCVCCAssignFn and Simplify (#191071)

I think the signature of `CCAssignFn` has been updated since
`RISCVCCAssignFn` was introduced. There is now enough information passed
that we don't need a separate signature and custom reimplementations to
thread the value through.

We now expose just two `CC_RISCV` functions: one for arguments
(`CC_RISCV`) and one for return values (`RetCC_RISCV`). The argument
version now dispatches to different functions internally depending on
the `CallingConv`.

This allows the backend to remove:
- GISel's custom `RISCVOutgoingValueAssigner` and
`RISCVIncomingValueAssigner`
- GISel's custom implementation of `RISCVCallLowering::canLowerReturn`
- `llvm::RISCVCCAssignFn` which is no longer used.
- SDag's custom `RISCVTargetLowering::analyzeInputArgs` and
`RISCVTargetLowering::analyzeOutputArgs`.
- Code in RISCVISelLowering to choose the right `CC_RISCV` function.

The end result of this is that:
- `ghccc` is now supported with GlobalISel
- `fastcc` should return values correctly with GlobalISel (previously
these were returned using `CC_RISCV_FastCC`, but SelectionDAG only ever
used `CC_RISCV` for return values)
- GlobalISel correctly marks functions as `.variant_cc` (before this
callers that recieved scalable return values were incorrectly marked,
and callees that returned scalable return values were not marked).


  Commit: 47eb8b43c99034119ca93f16179dc6003c68a20b
      https://github.com/llvm/llvm-project/commit/47eb8b43c99034119ca93f16179dc6003c68a20b
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang/unittests/Basic/CharInfoTest.cpp
    M clang/unittests/Frontend/CompilerInstanceTest.cpp
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/unittests/Support/raw_sha1_ostream_test.cpp

  Log Message:
  -----------
  [UnitTests] Enable PCH (#191402)

I originally didn't enable PCH for unit tests, because I intended to
build a gtest PCH. But while gtest.h is slow, having many large standard
library headers already pre-compiled via the LLVMSupport PCH already
helps a lot, leaving ~250ms for parsing gtest.h (+ a fair amount of time
for template instantiation). Additionally, for unit tests that include
IR or AST headers, re-using the PCHs that include these is more
beneficial than gtest.h. Therefore, no longer disable PCH on unit tests.


  Commit: 5b5a2ad6d29e86cf0fd8a6cf9657505c2a1ad5a4
      https://github.com/llvm/llvm-project/commit/5b5a2ad6d29e86cf0fd8a6cf9657505c2a1ad5a4
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/Ofast.c

  Log Message:
  -----------
  [clang] Improve Ofast Warning (#183002)

`-Ofast` has an effect on the defaults for `-ffast-math` (documented
before this patch), and `-fstrict-aliasing` (not documented before this
patch).

On some platforms, `-Ofast` cannot be replaced with `-O3 -ffast-math`,
because the strict aliasing default would change. `-Ofast` can only be
replaced (in the exact same position) with `-O3 -ffast-math
-fstrict-aliasing` if `-Ofast` is the effective optimization level
(i.e., it is not followed by another `-O<value>` flag). Otherwise, the
`-Ofast` flag should just be deleted as it is having no effect.

This is all too difficult to summarise in a warning message, so this PR
mostly updates the docs. We keep the message about "use `-O3` to get
conforming optimizations" in the hope this encourages people to adopt
`-O3` alone.

The warning message is now emitted any time there is `-Ofast` in the
command-line string, rather than only when `-Ofast` is the effective
optimization level.


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

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

  Log Message:
  -----------
  [gn] put hlsl generated headers in hlsl/ subdirectory (#191513)

Needed after 88af28072637, which populated the previously-empty
hlsl_inline_intrinsics_gen.inc. (See also 627f6aa1cd930e6a8.)


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

  Changed paths:
    M compiler-rt/test/lit.common.cfg.py

  Log Message:
  -----------
  [NFC][compiler-rt][test] Fix indentation in lit.common.cfg.py (#191509)


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

  Changed paths:
    A llvm/test/CodeGen/AArch64/GlobalISel/arm64-this-return.ll
    M llvm/test/CodeGen/AArch64/arm64-this-return.ll

  Log Message:
  -----------
  [AArch64][GISel] Update and regenerate arm64-this-return.ll (#191515)

This updates the arm64-this-return.ll test, splitting the GISel
update_mir_test_checks into a separate GlobalISel test file.


  Commit: 1121af7895cfa7fb2f43720d69bd5f889df6b5cb
      https://github.com/llvm/llvm-project/commit/1121af7895cfa7fb2f43720d69bd5f889df6b5cb
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/GOFF.h
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
    M llvm/test/CodeGen/SystemZ/zos-hlasm-out.ll
    M llvm/test/CodeGen/SystemZ/zos-jumptable.ll
    M llvm/test/CodeGen/SystemZ/zos-landingpad.ll
    M llvm/test/CodeGen/SystemZ/zos-ppa1-argarea.ll
    M llvm/test/CodeGen/SystemZ/zos-ppa1.ll
    M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
    M llvm/test/CodeGen/SystemZ/zos-section-1.ll
    M llvm/test/CodeGen/SystemZ/zos-simple-test.ll
    M llvm/test/CodeGen/SystemZ/zos-symbol-2.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Remove use of subsections. (#184167)

HLASM has no notion of subsections. There are several possible solutions
how to deal with this. However,

- using a different section introduces a lot of relocations, which slows
down the binder later
- emitting the PPA1 after the code changes the location which may break
existing tools

The choosen solution is to record the PPA1 data, and emit them at the
end of the assembly into the code section. This solves both issues, at
the expense of having to do some bookkeeping.

This change moves the position of the PPA2, too, but this is less
critical.


  Commit: 501417baa60f2eb0a66ca3bb04caf70150ebc2f7
      https://github.com/llvm/llvm-project/commit/501417baa60f2eb0a66ca3bb04caf70150ebc2f7
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchMachineFunctionInfo.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
    R llvm/test/CodeGen/LoongArch/issue187832.ll
    R llvm/test/CodeGen/LoongArch/musttail.ll
    M llvm/test/CodeGen/LoongArch/tail-calls.ll
    M llvm/test/CodeGen/RISCV/musttail-call.ll
    R llvm/test/CodeGen/RISCV/musttail.ll
    R llvm/test/CodeGen/RISCV/pr187832.ll
    M llvm/test/CodeGen/RISCV/tail-calls.ll

  Log Message:
  -----------
  [RISC-V][LoongArch] Revert Musttail Fixes (#191508)

This reverts:
- 2b839f66ae0191039fb82049ec515bcbd726f612 (#168506)
- 6a81656f7d729615c296e5da774e78ad5b21a558 (#170547)
- ab17b5408ac83a03807b6f0ea22f51dfb84b0b8a (#188006)
- e65dd1f8a0c8cfd2255f336e5096232f587ed397 (#191093)

The changes in #168506 and #170547 both have a lifetime issue where an
SDValue is kept for the duration of a function, despite being valid only
when processing the same basic block.

Reverting both on LoongArch and RISC-V as the implementations are
identical and one of the fix commits touches both targets, rather than
doing only a RISC-V revert. I also think this more cleanly shows what is
being undone when starting again with the changes.


  Commit: 744d8eff65d356bf6bfd9bc4b0a18c9a275fdfe0
      https://github.com/llvm/llvm-project/commit/744d8eff65d356bf6bfd9bc4b0a18c9a275fdfe0
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/ClangDoc.cpp
    M clang-tools-extra/clang-doc/ClangDoc.h
    M clang-tools-extra/clang-doc/Generators.cpp
    M clang-tools-extra/clang-doc/Generators.h
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
    M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp

  Log Message:
  -----------
  [clang-doc] Move non-arena allocated types off the OwnedPtr alias (#190052)

Some types should not be using this alias, which was over applied to
APIs that wont participate in arena style allocation. This patch
restores them to their correct spelling.


  Commit: 1d1572c79d82c882c967c92f6a0909f49ee5070f
      https://github.com/llvm/llvm-project/commit/1d1572c79d82c882c967c92f6a0909f49ee5070f
  Author: Congzhe Cao <congzhe.cao at huawei.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [LoopUnroll] Fix out-of-date LoopInfo being used during unroll (#191505)

Loop unroll did not update LoopInfo entirely correctly.

Invalid LoopInfo gets passed into `simplifyLoopAfterUnroll()`, which
could trigger hidden bugs since it is further used by other functions
and components like SCEV. To fix, updated LoopInfo correctly before its
use.

Fixed issue #191036.


  Commit: 16f20b60882e4a4e85d6f7dd757dc8eccdc5347d
      https://github.com/llvm/llvm-project/commit/16f20b60882e4a4e85d6f7dd757dc8eccdc5347d
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll

  Log Message:
  -----------
  [LV] Header masked condition of FindLastSelect when optimizeFindIVReductions when folding tail. (#191166)

This patch header masked the condition of FindLastSelect for FindIV
reductions when folding tail in `optimizeFindIVReductions`.

Note that the TC in
llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll is small
(12) which is lower than 16 (4 * 4), so the condition of predicated
select are constants.


  Commit: f0279c15f29285c10734da5486ee072c68f788cb
      https://github.com/llvm/llvm-project/commit/f0279c15f29285c10734da5486ee072c68f788cb
  Author: Martin Storsjö <martin at martin.st>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang/lib/ScalableStaticAnalysisFramework/Plugins/CMakeLists.txt
    M clang/test/CMakeLists.txt

  Log Message:
  -----------
  [clang][ssaf] Don't try to link SSAFExamplePlugin on Windows (#191401)

This plugin currently seems to expect to be linked with undefined
references (rather than linking against the libclang-cpp dylib).

Linking a shared library with undefined references is not supported on
Windows. (Plugins in general can be built on Windows in mingw mode, if
linking against libLLVM and libclang-cpp as dylibs.)


  Commit: fa2fc2ab9e11e751e9bd965b368b96276db1d549
      https://github.com/llvm/llvm-project/commit/fa2fc2ab9e11e751e9bd965b368b96276db1d549
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.h

  Log Message:
  -----------
  [clang-doc] Simplify parsing and reading bitcode blocks (#190053)

Much of the logic in the readBlock implementation is boilerplate, and is
repeated for each implementation/specialization. This will become much
worse as we introduce new custom block reading logic as we migrate
towards arena allocation. In preparation for that, we're introducing the
change in logic now, which should make later refactoring much more
straightforward.


  Commit: 882f37c431de8e1e38b32ea20eb8b99caeaeb04a
      https://github.com/llvm/llvm-project/commit/882f37c431de8e1e38b32ea20eb8b99caeaeb04a
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [Offload] Fix inefficient GNU Hash ELF symbol lookup (#191477)

Summary:
This PR fixes the handling of the GNU Hash table. The chain format uses
the lowest bit to indicate the end of the list. Previously we just
continued the loop instead of breaking, meaning we would exhaustively
search the whole list if the symbol was not found instead of just early
existing. This was still correct and worked in practice, but it was
slightly inefficient. Likely not noticed because the symbol tables on
these GPU binaries tend to be relatively small.


  Commit: ef44a9904a3d00efda547443bda0a5fef58d4da1
      https://github.com/llvm/llvm-project/commit/ef44a9904a3d00efda547443bda0a5fef58d4da1
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/Serialization/ModuleManager.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    A clang/test/ClangScanDeps/modules-pch-signature-mismatch.c
    M clang/test/Modules/explicit-build.cpp
    M clang/test/Modules/invalid-module-dep.c

  Log Message:
  -----------
  [Modules] Enrich diags for out of date module dependencies (#190203)

Replace the opaque `ErrorStr` parameter in `ModuleManager::addModule`
with a structured object that carries specific information for
reporting. This allows the diagnostics to emit targeted notes instead of
a single error string appended to the main diagnostic. Information that
is relevant but is tied to implementation details of the compilation is
reported as notes (e.g. signature mismatches)


This patch additionally
* Adds minor comments to places I found unintuitive
* Adds a contrived test case for signature mismatches
* Sets `InputFilesValidation` based on module kind at construction


  Commit: 392336b190b5c3034c7b3fa47f27e77ece545d7c
      https://github.com/llvm/llvm-project/commit/392336b190b5c3034c7b3fa47f27e77ece545d7c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll

  Log Message:
  -----------
  [TargetLowering] Use 0 for add constant for power of 2 divisors in prepareSREMEqFold. (#190274)

We don't need to toggle the sign bit here.


  Commit: 11a802685043cb1e9b23e54437da011bdfbf1d61
      https://github.com/llvm/llvm-project/commit/11a802685043cb1e9b23e54437da011bdfbf1d61
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

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

Dynamically depending on libxml2 results in various annoyances across
different linux distros for release artifacts. Specifically on fedora
and nixos the library has a different name than on debian, and on
arch-linux they tried to remove the old name entirely.

With this, enabled by default for releases, we don't sacrifice any
behavior changes, but no longer have these issues. For lld the binary
size impact is <1mb

This continues to use the shared libxml for lldb since otherwise
it requires linking ICU, which is off by default

macOS ignores this setting since libxml2 is part of the OS and stable
enough.

This mirrors what we do for zstd

Fixes https://github.com/llvm/llvm-project/issues/113696
Fixes https://github.com/llvm/llvm-project/issues/138225
Fixes
https://discourse.llvm.org/t/official-builds-without-libxml2-and-libtinfo/58169


  Commit: b6671f8a83bcddf2ccdad217d81a6f93356f951a
      https://github.com/llvm/llvm-project/commit/b6671f8a83bcddf2ccdad217d81a6f93356f951a
  Author: Martin Storsjö <martin at martin.st>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M lldb/source/Host/windows/ProcessLauncherWindows.cpp

  Log Message:
  -----------
  [lldb] [windows] Add a [[fallthrough]] to silence warnings. NFC. (#191400)


  Commit: 274991202f6ed6ac552ab233ed2d93d32b804d1f
      https://github.com/llvm/llvm-project/commit/274991202f6ed6ac552ab233ed2d93d32b804d1f
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
    M llvm/test/tools/llvm-symbolizer/wasm-basic.s

  Log Message:
  -----------
  SymbolizableObjectFile: Invalidate Wasm addresses that map outside the code section (#191329)

A fix after #191068: For linked files, invalidate any address that
is outside the text section to prevent it from being matched in DWARF as
a section-relative address.

Add test cases that cover the distinction (e.g. address 3 should match
in an object file but not in a linked file).
Also, fix the comments in the test to match the updated line numbers.


  Commit: d3318f8cbbc57a57a34cc7dc19f3f97d5f144b91
      https://github.com/llvm/llvm-project/commit/d3318f8cbbc57a57a34cc7dc19f3f97d5f144b91
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.h
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/Serialize.h
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp
    M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
    M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
    M clang-tools-extra/unittests/clang-doc/GeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
    M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
    M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp

  Log Message:
  -----------
  [clang-doc] Move Info types into arenas (#190054)

Info types used to own significant chunks of data. As we move these into
local arenas, these types must be trivially destructible, to avoid
leaking resources when the arena is reset. Unfortunatly, there isn't a
good way to transition all the data types one at a time, since most of
them are tied together in some way. Further, as they're now allocated in
the arenas, they often cannot be treated the same way, and even the
aliases and interfaces put in place to simplify the transition cannot
cover the full range of changes required.

We also use some SFINAE tricks to avoid adding boilerplate for helper
APIs, we'd otherwise have to support

Though it introduces some additional churn, we also try to keep tests
from using arena allocation as much as possible, since this is not
required to test the implementation of the library. As much of the test
code needed to be rewritten anyway, we take the opportunity to
transition now.

We see a large improvement in overall memory use, dropping by 15% over
the previous patches, and taking the total savings down to almost 54%.
Performance numbers stay mostly flat, but merging is vastly improved,
seeing a reduction of 40+% over the previous patch, and a 90% reduction
overall.

| Metric | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| Time | 920.5s | 1013.6s | 1014.5s | +10.2% | +0.1% |
| Memory | 86.0G | 47.3G | 39.9G | -53.6% | -15.6% |

| Benchmark | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| BM_BitcodeReader_Scale/10 | 67.9us | 69.1us | 73.0us | +7.5% | +5.8% |
| BM_BitcodeReader_Scale/10000 | 70.5ms | 24.5ms | 17.1ms | -75.8% |
-30.4% |
| BM_BitcodeReader_Scale/4096 | 23.2ms | 4.5ms | 6.5ms | -71.9% | +45.1%
|
| BM_BitcodeReader_Scale/512 | 509.4us | 540.3us | 850.1us | +66.9% |
+57.4% |
| BM_BitcodeReader_Scale/64 | 114.8us | 117.3us | 140.6us | +22.5% |
+19.9% |
| BM_EmitInfoFunction | 1.6us | 1.6us | 1.8us | +12.9% | +15.0% |
| BM_Index_Insertion/10 | 2.3us | 4.2us | 4.1us | +79.5% | -1.1% |
| BM_Index_Insertion/10000 | 3.1ms | 5.2ms | 5.4ms | +71.1% | +3.7% |
| BM_Index_Insertion/4096 | 1.3ms | 2.1ms | 2.1ms | +64.9% | +2.0% |
| BM_Index_Insertion/512 | 153.6us | 244.7us | 252.9us | +64.7% | +3.3%
|
| BM_Index_Insertion/64 | 18.1us | 29.1us | 30.4us | +68.3% | +4.4% |
| BM_JSONGenerator_Scale/10 | 36.8us | 38.3us | 38.1us | +3.5% | -0.4% |
| BM_JSONGenerator_Scale/10000 | 89.6ms | 90.8ms | 84.2ms | -6.0% |
-7.2% |
| BM_JSONGenerator_Scale/4096 | 33.7ms | 35.9ms | 32.1ms | -4.7% |
-10.5% |
| BM_JSONGenerator_Scale/512 | 1.9ms | 2.0ms | 2.0ms | +3.1% | +0.4% |
| BM_JSONGenerator_Scale/64 | 222.4us | 231.9us | 232.5us | +4.5% |
+0.2% |
| BM_Mapper_Scale/10000 | 104.3ms | 104.9ms | 102.1ms | -2.1% | -2.7% |
| BM_Mapper_Scale/4096 | 44.3ms | 44.4ms | 46.5ms | +4.9% | +4.9% |
| BM_Mapper_Scale/512 | 7.6ms | 7.6ms | 7.4ms | -2.1% | -1.8% |
| BM_Mapper_Scale/64 | 3.1ms | 3.0ms | 3.0ms | -1.3% | -0.0% |
| BM_MergeInfos_Scale/10000 | 12.2ms | 1.9ms | 931.2us | -92.4% | -49.8%
|
| BM_MergeInfos_Scale/2 | 1.9us | 1.7us | 1.8us | -4.5% | +4.7% |
| BM_MergeInfos_Scale/4096 | 2.8ms | 521.8us | 201.3us | -92.8% | -61.4%
|
| BM_MergeInfos_Scale/512 | 68.9us | 34.9us | 19.9us | -71.2% | -43.1% |
| BM_MergeInfos_Scale/64 | 10.3us | 5.8us | 4.1us | -59.8% | -28.4% |
| BM_MergeInfos_Scale/8 | 2.8us | 2.1us | 1.9us | -33.3% | -12.6% |
| BM_SerializeFunctionInfo | 25.5us | 26.0us | 26.2us | +2.4% | +0.8% |


  Commit: 5ec1fb2217c07ee3b610abcf0e40f6b701e6d7f1
      https://github.com/llvm/llvm-project/commit/5ec1fb2217c07ee3b610abcf0e40f6b701e6d7f1
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/IR/RuntimeLibcalls.cpp
    M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/armpl.ll
    M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/basic.ll
    M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/merge_attributes.ll
    M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sincos_stret.ll
    M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sleef.ll

  Log Message:
  -----------
  Revert "RuntimeLibcalls: Add mustprogress to common function attributes (#167080)" (#191524)

This reverts commit eb5297e0ade96fe8a6297763f28219be97dfac76.

This is redundant with willreturn.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll

  Log Message:
  -----------
  [VPlan] Normalize selects in optimizeFindIVReductions. (#191517)

Follow-up to https://github.com/llvm/llvm-project/pull/191166.

Unify code to create new selects in optmizeFindIVReductions to simplify
the code paths and make it easier to include the header mask correctly
if needed.

If no new select needs to be created, just use the original backedge
value.


  Commit: 286805008f67fabf6abdcc0125a824ae1f8693f1
      https://github.com/llvm/llvm-project/commit/286805008f67fabf6abdcc0125a824ae1f8693f1
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [RISCV][NFC] Improve Vararg Comment/Assert (#191527)


  Commit: 93c10f0820cd94a460f2ed5ee21b48372f322152
      https://github.com/llvm/llvm-project/commit/93c10f0820cd94a460f2ed5ee21b48372f322152
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SISchedule.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/bypass-div.ll
    M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
    M llvm/test/CodeGen/AMDGPU/div-rem-by-constant-64.ll
    M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
    M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
    M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
    M llvm/test/CodeGen/AMDGPU/mul.ll
    M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/AMDGPU/srem.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll

  Log Message:
  -----------
  [AMDGPU] Use WriteSALUDummy for v_mad_u64_u32 (#191500)

Updates the the new Write*Dummy HWWriteRes to maintain latency -- this
is to ensure SchedModel->computeOperandLatency calls are unchanged.

This also uses the new HWWriteRes for v_mad_u64_u32 and v_mad_i64_i32. 

For an explanation of why we want to do this , see
https://github.com/llvm/llvm-project/pull/190095 . In short, the
scheduler will not try to cover the full latency of the instructions
without this new modelling.

This causes a good amount of lit churn since these instructions are well
covered.


  Commit: c70dae8b0cee46af1411bc4e4ba6fc28e2babf3e
      https://github.com/llvm/llvm-project/commit/c70dae8b0cee46af1411bc4e4ba6fc28e2babf3e
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h

  Log Message:
  -----------
  [clang-doc] Support deep copy between arenas for merging (#190055)

Upcoming changes to the merge step will necessitate that we clear the
transient arenas and merge new items into the persistent arena. However
there are some challenges with that, as the existing types typically
don't want to be copied. We introduce some new APIs to simplify that
task and ensure we don't accidentally leak memory.

On the performance front, we reclaim about 2% of the overhead, bringing
the cumulative overhead from the series of patches down to about 7% over
the baseline.

| Metric | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| Time | 920.5s | 1014.5s | 991.5s | +7.7% | -2.3% |
| Memory | 86.0G | 39.9G | 40.0G | -53.4% | +0.3% |

| Benchmark | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| BM_BitcodeReader_Scale/10 | 67.9us | 73.0us | 72.2us | +6.3% | -1.1% |
| BM_BitcodeReader_Scale/10000 | 70.5ms | 17.1ms | 22.5ms | -68.1% |
+31.6% |
| BM_BitcodeReader_Scale/4096 | 23.2ms | 6.5ms | 6.6ms | -71.6% | +1.1%
|
| BM_BitcodeReader_Scale/512 | 509.4us | 850.1us | 898.7us | +76.4% |
+5.7% |
| BM_BitcodeReader_Scale/64 | 114.8us | 140.6us | 133.7us | +16.4% |
-5.0% |
| BM_EmitInfoFunction | 1.6us | 1.8us | 1.9us | +16.8% | +3.4% |
| BM_Index_Insertion/10 | 2.3us | 4.1us | 4.1us | +78.7% | -0.5% |
| BM_Index_Insertion/10000 | 3.1ms | 5.4ms | 5.3ms | +70.5% | -0.4% |
| BM_Index_Insertion/4096 | 1.3ms | 2.1ms | 2.1ms | +66.0% | +0.7% |
| BM_Index_Insertion/512 | 153.6us | 252.9us | 251.8us | +64.0% | -0.4%
|
| BM_Index_Insertion/64 | 18.1us | 30.4us | 30.2us | +67.4% | -0.5% |
| BM_JSONGenerator_Scale/10 | 36.8us | 38.1us | 37.1us | +0.6% | -2.8% |
| BM_JSONGenerator_Scale/10000 | 89.6ms | 84.2ms | 81.4ms | -9.1% |
-3.3% |
| BM_JSONGenerator_Scale/4096 | 33.7ms | 32.1ms | 31.0ms | -8.1% | -3.6%
|
| BM_JSONGenerator_Scale/512 | 1.9ms | 2.0ms | 1.9ms | -0.1% | -3.1% |
| BM_JSONGenerator_Scale/64 | 222.4us | 232.5us | 222.9us | +0.2% |
-4.1% |
| BM_Mapper_Scale/10 | 2.5ms | 2.5ms | 2.5ms | -1.0% | -0.4% |
| BM_Mapper_Scale/10000 | 104.3ms | 102.1ms | 112.3ms | +7.7% | +10.0% |
| BM_Mapper_Scale/4096 | 44.3ms | 46.5ms | 45.0ms | +1.4% | -3.4% |
| BM_Mapper_Scale/512 | 7.6ms | 7.4ms | 7.7ms | +1.1% | +3.3% |
| BM_Mapper_Scale/64 | 3.1ms | 3.0ms | 3.0ms | -1.5% | -0.2% |
| BM_MergeInfos_Scale/10000 | 12.2ms | 931.2us | 575.6us | -95.3% |
-38.2% |
| BM_MergeInfos_Scale/2 | 1.9us | 1.8us | 1.8us | -2.7% | +1.9% |
| BM_MergeInfos_Scale/4096 | 2.8ms | 201.3us | 205.3us | -92.6% | +1.9%
|
| BM_MergeInfos_Scale/512 | 68.9us | 19.9us | 20.5us | -70.2% | +3.4% |
| BM_MergeInfos_Scale/64 | 10.3us | 4.1us | 3.8us | -62.6% | -7.1% |
| BM_MergeInfos_Scale/8 | 2.8us | 1.9us | 1.9us | -30.5% | +4.2% |
| BM_SerializeFunctionInfo | 25.5us | 26.2us | 25.8us | +0.9% | -1.5% |


  Commit: 40fcf42f139e98464490282396a68868b50b8311
      https://github.com/llvm/llvm-project/commit/40fcf42f139e98464490282396a68868b50b8311
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
    M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
    A mlir/test/Conversion/XeVMToLLVM/xevm_mx-to-llvm.mlir
    A mlir/test/Integration/Dialect/XeVM/GPU/xevm_block_scaled_dpas_bf8.mlir

  Log Message:
  -----------
  [MLIR][XeVM] Add inital support for mma_mx or scaled mma. (#190989)

Add xevm truncf and mma_mx lowering to OCL.
Note: truncf support is limited for now.
Add op conversion test.
Add integration test with bf8 type.


  Commit: 9faf7b8f574ccc9b8570aab4248a8a84ff41a156
      https://github.com/llvm/llvm-project/commit/9faf7b8f574ccc9b8570aab4248a8a84ff41a156
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port 0d640409ad96 (#191538)


  Commit: 85b30f4777ee251160ae7fb4cef4a3c5e991f3df
      https://github.com/llvm/llvm-project/commit/85b30f4777ee251160ae7fb4cef4a3c5e991f3df
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 11e7a49a58e1 (#191539)


  Commit: 1be577bac203dc96cdcebbc744e7a554799ceed3
      https://github.com/llvm/llvm-project/commit/1be577bac203dc96cdcebbc744e7a554799ceed3
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port 430e1be254f9 (#191540)


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

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

  Log Message:
  -----------
  [gn build] Port 5706ee3d4d7d (#191541)


  Commit: 4320a39b95405183eb7a54885df7a8973a64905d
      https://github.com/llvm/llvm-project/commit/4320a39b95405183eb7a54885df7a8973a64905d
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port 5e0efc0f1d79 (#191542)


  Commit: 084792a708319245410abebfb22f171f6c383872
      https://github.com/llvm/llvm-project/commit/084792a708319245410abebfb22f171f6c383872
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port ab6394d21a59 (#191543)


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

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

  Log Message:
  -----------
  [gn build] Port cfdd8bcca85a (#191544)


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

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

  Log Message:
  -----------
  [gn build] Port d0a54493b3e9 (#191545)


  Commit: 8de7ee4d265c198fbcdf672482053e4ff2ac6bdf
      https://github.com/llvm/llvm-project/commit/8de7ee4d265c198fbcdf672482053e4ff2ac6bdf
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port f149ab665a4b (#191546)


  Commit: 767979a1768b785cdf7f7969154544620680c4d5
      https://github.com/llvm/llvm-project/commit/767979a1768b785cdf7f7969154544620680c4d5
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port f2b33d794d36 (#191547)


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

  Changed paths:
    M clang/tools/diagtool/CMakeLists.txt
    M clang/tools/diagtool/ShowEnabledWarnings.cpp

  Log Message:
  -----------
  [clang][diagtool] Remove dependency on clangDriver from diagtool (#190076)


  Commit: 96b1ae746167a9d8b848ff9d3dee31fa2e62c9d2
      https://github.com/llvm/llvm-project/commit/96b1ae746167a9d8b848ff9d3dee31fa2e62c9d2
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp

  Log Message:
  -----------
  [flang][OpenMP] Use common utility functions to get affected nest depth (#191418)

Remove the existing code that calculates the number of affected loops in
an OpenMP construct. There is a single function that does that and that
handles all directives and clauses.

Issue: https://github.com/llvm/llvm-project/issues/191249


  Commit: 21e0034c69489eff3b09929e5e13ea34b3dd0e5a
      https://github.com/llvm/llvm-project/commit/21e0034c69489eff3b09929e5e13ea34b3dd0e5a
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp

  Log Message:
  -----------
  [clang-doc] Merge data into persistent memory (#190056)

We have a need for persistent memory for the final info. Since each
group processes a single USR at a time, every USR is only ever processed
by a single thread from the thread pool. This means that we can keep per
thread persistent storage for all the info. There is significant
duplicated data between all the serialized records, so we can just merge
the final/unique items into the persistent arena, and clear out the
scratch/transient arena as we process each record in the bitcode.

The patch adds some APIs to help with managing the data, merging, and
allocation of data in the correct arena. It also safely merges and deep
copies data from the transient arenas into persistent storage that is
never reset until the program completes.

This patch reduces memory by another % over the previous patches,
bringing the total savings over the baseline to 57%. Runtime performance
and benchmarks stay mostly flat with modest improvements.

| Metric | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| Time | 920.5s | 991.5s | 987.2s | +7.2% | -0.4% |
| Memory | 86.0G | 40.0G | 36.9G | -57.1% | -8.0% |

| Benchmark | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| BM_BitcodeReader_Scale/10 | 67.9us | 72.2us | 72.2us | +6.3% | -0.0% |
| BM_BitcodeReader_Scale/10000 | 70.5ms | 22.5ms | 17.3ms | -75.5% |-23.2% |
| BM_BitcodeReader_Scale/4096 | 23.2ms | 6.6ms | 7.1ms | -69.5% | +7.4%|
| BM_BitcodeReader_Scale/512 | 509.4us | 898.7us | 550.5us | +8.1% |-38.7% |
| BM_BitcodeReader_Scale/64 | 114.8us | 133.7us | 120.8us | +5.2% |-9.6% |
| BM_EmitInfoFunction | 1.6us | 1.9us | 1.8us | +12.9% | -3.3% |
| BM_Index_Insertion/10 | 2.3us | 4.1us | 3.5us | +52.4% | -14.7% |
| BM_Index_Insertion/10000 | 3.1ms | 5.3ms | 4.8ms | +53.5% | -10.0% |
| BM_Index_Insertion/4096 | 1.3ms | 2.1ms | 1.9ms | +50.8% | -9.2% |
| BM_Index_Insertion/512 | 153.6us | 251.8us | 227.0us | +47.8% | -9.9%|
| BM_Index_Insertion/64 | 18.1us | 30.2us | 26.7us | +47.9% | -11.7% |
| BM_JSONGenerator_Scale/10000 | 89.6ms | 81.4ms | 83.4ms | -6.9% |+2.5% |
| BM_JSONGenerator_Scale/4096 | 33.7ms | 31.0ms | 32.4ms | -3.9% | +4.5%|
| BM_Mapper_Scale/10000 | 104.3ms | 112.3ms | 103.5ms | -0.8% | -7.9% |
| BM_Mapper_Scale/4096 | 44.3ms | 45.0ms | 43.8ms | -1.2% | -2.5% |
| BM_Mapper_Scale/512 | 7.6ms | 7.7ms | 7.5ms | -1.3% | -2.4% |
| BM_Mapper_Scale/64 | 3.1ms | 3.0ms | 3.0ms | -1.9% | -0.3% |
| BM_MergeInfos_Scale/10000 | 12.2ms | 575.6us | 500.1us | -95.9% |-13.1% |
| BM_MergeInfos_Scale/2 | 1.9us | 1.8us | 1.8us | -4.4% | -1.7% |
| BM_MergeInfos_Scale/4096 | 2.8ms | 205.3us | 200.4us | -92.8% | -2.4%|
| BM_MergeInfos_Scale/512 | 68.9us | 20.5us | 19.5us | -71.7% | -5.1% |
| BM_MergeInfos_Scale/64 | 10.3us | 3.8us | 4.0us | -60.9% | +4.8% |
| BM_MergeInfos_Scale/8 | 2.8us | 1.9us | 1.9us | -31.7% | -1.8% |
| BM_SerializeFunctionInfo | 25.5us | 25.8us | 26.1us | +2.2% | +1.3% |


  Commit: 2f422a52fde267757ce48041af6e731421fed2a3
      https://github.com/llvm/llvm-project/commit/2f422a52fde267757ce48041af6e731421fed2a3
  Author: Rahman Lavaee <rahmanl at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
    A llvm/include/llvm/CodeGen/InsertCodePrefetch.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/Support/UniqueBBID.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/BasicBlockSections.cpp
    M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
    M llvm/lib/CodeGen/InsertCodePrefetch.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/test/CodeGen/X86/basic-block-sections-code-prefetch-call-terminates-block.ll
    M llvm/test/CodeGen/X86/basic-block-sections-code-prefetch.ll

  Log Message:
  -----------
  [Codegen, X86] Add prefetch insertion based on Propeller profile (#166324)

This PR implements the prefetch insertion in the InsertCodePrefetch pass
based on the
[RFC](https://discourse.llvm.org/t/rfc-code-prefetch-insertion/88668).

If the prefetch target is not defined in the same module (i.e, prefetch
target function is not defined in the same module), we emit a fallback
weak symbol after the prefetch instruction so that if the symbol is not
ever defined, we don't get undefined symbol error and the prefetch
instruction prefetches the next address:

```
prefetchit1 __llvm_prefetch_target_foo(%rip)
.weak __llvm_prefetch_target_foo
__llvm_prefetch_target_foo:
```

The weak symbol semantic is tied to ELF, so this makes this PR
target-dependent.


  Commit: bd3088ec7c680d419b108713945d94b1365c1201
      https://github.com/llvm/llvm-project/commit/bd3088ec7c680d419b108713945d94b1365c1201
  Author: Vito Secona <77039267+secona at users.noreply.github.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
    A mlir/test/Dialect/SparseTensor/GPU/gpu_codegen_out_buffer.mlir
    M mlir/test/Dialect/SparseTensor/GPU/gpu_combi.mlir
    M mlir/test/Dialect/SparseTensor/GPU/gpu_matmul.mlir

  Log Message:
  -----------
  [mlir][sparse][gpu] fix sparse GPU codegen out buffer (#189221)

When lowering sparse tensor operations to GPU code using
`-sparse-gpu-codegen`, the generated `gpu.memcpy` op for device-to-host
copy was targeting the wrong buffer. In my case, it did not copy back
the output buffer and instead only copied back the input positions
buffer which results in the output buffer in host memory being empty.

The `SparseGPUCodegen` pass carries an assumption that the first buffer
is the out buffer. It looks like this assumption is not always true, as
in my case its the input positions buffer which made it the only buffer
getting copied back to host.

This change introduces a fix by removing the assumption and replacing it
with an analysis that checks for `memref::StoreOp` and write
MemoryEffects. This change also adds a regression test which highlights
the problematic edge case.

Assisted by Gemini 3.1 Pro for finding the issue of using incorrect
buffers in `gpu.memcpy` op in the lowered code.


  Commit: 5d64a44a84af31f9e99d42cccffa4f01c0be2e0b
      https://github.com/llvm/llvm-project/commit/5d64a44a84af31f9e99d42cccffa4f01c0be2e0b
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/Representation.h

  Log Message:
  -----------
  [clang-doc] Initialize member variable (#191570)

We don't always initialize the IsType field in the current
implementation. We can ensure this field is always initialized to
`false`, and avoid any UB due to garbage data.


  Commit: 0074bfd20f642a9457f0abe5fdf8687d31512048
      https://github.com/llvm/llvm-project/commit/0074bfd20f642a9457f0abe5fdf8687d31512048
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M llvm/lib/Support/Windows/Path.inc
    M llvm/lib/Support/Windows/Threading.inc

  Log Message:
  -----------
  [Support] On Windows, silence FARPROC casts (#191563)

When building with clang-cl 19, this was generating:
```
  warning: cast from 'FARPROC' ... converts to incompatible function type
           [-Wcast-function-type-mismatch]
```


  Commit: 889d5bdbdb50936c0e529be18a64f6b3239a3057
      https://github.com/llvm/llvm-project/commit/889d5bdbdb50936c0e529be18a64f6b3239a3057
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/test/Transforms/CUF/cuf-kernel-licm.fir

  Log Message:
  -----------
  [flang][CUF] Limit Flang LICM for operations with symbol operands. (#191494)

There is probably an ordering issue between `CUFDeviceGlobal`
and `OffloadLiveInValueCanonicalization` passes: Flang LICM hoists
`fir.address_of` out of `cuf.kernel`, it is pulled back by
`OffloadLiveInValueCanonicalization`, but the symbol is never added
into the device module because `CUFDeviceGlobal` does not run after.

Changing the passes order may take some time, so this is a temporary
workaround to unblock #191309.

The change is currently NFC.


  Commit: 4f49847a0b97ff12a39be222a285cb1c02ce8dd7
      https://github.com/llvm/llvm-project/commit/4f49847a0b97ff12a39be222a285cb1c02ce8dd7
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    A flang/test/Transforms/licm-acc-compute-region.fir

  Log Message:
  -----------
  [flang] Detect non-optional boxes inside acc.compute_region. (#191328)

This should be a temporary change until we figure out
a better way for representing definitely present boxes.
It allows me to experiment with flang-licm further,
so I would like to ask for approval.


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

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

  Log Message:
  -----------
  [Bazel] Fixes bd3088e (#191571)

This fixes bd3088ec7c680d419b108713945d94b1365c1201.

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


  Commit: afce975a244b5244949c1b58542602bddf17b1a6
      https://github.com/llvm/llvm-project/commit/afce975a244b5244949c1b58542602bddf17b1a6
  Author: German Gambon <ggambon at tesla.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M mlir/test/Dialect/Quant/Bytecode/types.mlir

  Log Message:
  -----------
  Fix duplicate quant bytecode test to actually test storage-type-only case (#190194)

Fixes a copy paste error


  Commit: ea8554e35bcbce927233cf93b709df4c3ba8752b
      https://github.com/llvm/llvm-project/commit/ea8554e35bcbce927233cf93b709df4c3ba8752b
  Author: Iñaki V Arrechea <inakiarrechea at google.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
    M llvm/include/llvm/Analysis/InstCount.h
    M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
    M llvm/lib/Analysis/InstCount.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    A llvm/test/Analysis/FunctionPropertiesAnalysis/function-properties-analysis.ll
    A llvm/test/Analysis/FunctionPropertiesAnalysis/pipeline.ll
    R llvm/test/Analysis/FunctionPropertiesAnalysis/properties-stats.ll
    M llvm/test/Analysis/InstCount/instcount.ll
    A llvm/test/Analysis/InstCount/pipeline.ll

  Log Message:
  -----------
  Changed stat passes to count instructions before and after optimizations (#188837)

Created this for instcount and func-properties-analysis to be able to
see the change the optimization pipelines have on stats


  Commit: 3a47349c084217d83f9968db8b551a8526de9702
      https://github.com/llvm/llvm-project/commit/3a47349c084217d83f9968db8b551a8526de9702
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M lld/ELF/Arch/AMDGPU.cpp
    A lld/test/ELF/amdgpu-abs32-reloc.s

  Log Message:
  -----------
  [lld][AMDGPU] Support R_AMDGPU_ABS32_(LO|HI) relocations (#191550)

Summary:
These relocations are extremely rare, but they are listed as an expected
relocation in https://llvm.org/docs/AMDGPUUsage.html#relocation-records
and you can theoretically make them happen so we should probably support
it in the linker.


  Commit: 8378b6d51ee611a805c432b925ed2101400eaba2
      https://github.com/llvm/llvm-project/commit/8378b6d51ee611a805c432b925ed2101400eaba2
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
    M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
    M mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
    M mlir/test/Dialect/XeGPU/sg-to-wi-experimental.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Lower vector.multi_reduction to vector.reduction for lane local (#191037)


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

  Changed paths:
    M lld/ELF/Arch/AMDGPU.cpp
    R lld/test/ELF/amdgpu-abs32-reloc.s

  Log Message:
  -----------
  Revert "[lld][AMDGPU] Support R_AMDGPU_ABS32_(LO|HI) relocations" (#191591)

Reverts llvm/llvm-project#191550

Merged without understanding getImplicitAddend and test convention, and
less than 4 hours after a colleague rubber stamping with "I am not ELF
or linker expert but to me looks good."


  Commit: f6167ec430d9323652e8914602085ae1d4ee780c
      https://github.com/llvm/llvm-project/commit/f6167ec430d9323652e8914602085ae1d4ee780c
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-treat-functions-without-specification-as-throwing.cpp

  Log Message:
  -----------
  [clang-tidy] Fix FP in bugprone-exception-escape with unevaluated exception specs (#190593)

Functions whose exception spec has not yet been evaluated have no body
in the AST. Because the compiler does not generate call sites for these
functions before evaluating their spec, they cannot propagate
exceptions.

Closes https://github.com/llvm/llvm-project/issues/188730


  Commit: 94a7b6760757826b3dd5583c4fc380a80649d2da
      https://github.com/llvm/llvm-project/commit/94a7b6760757826b3dd5583c4fc380a80649d2da
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang/tools/driver/cc1as_main.cpp
    M llvm/include/llvm/MC/MCContext.h
    M llvm/lib/CodeGen/MachineModuleInfo.cpp
    M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.cpp
    M llvm/lib/DWARFLinker/Parallel/DebugLineSectionEmitter.h
    M llvm/lib/MC/MCContext.cpp
    M llvm/tools/llvm-dwp/llvm-dwp.cpp
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/unittests/CodeGen/MachineInstrTest.cpp
    M llvm/unittests/MC/SystemZ/SystemZAsmLexerTest.cpp
    M mlir/lib/Target/LLVM/ROCDL/Target.cpp

  Log Message:
  -----------
  [MC] Remove MCTargetOptions parameter from MCContext constructor (#191596)

Now that MCAsmInfo stores the MCTargetOptions pointer (set by
TargetRegistry::createMCAsmInfo #180464), MCContext can retrieve it via
MCAsmInfo. Remove the redundant MCTargetOptions parameter from the
MCContext constructor and update all callers.


  Commit: 193d7a6ace9f7016e03c90c63626fdb7fdf99bc0
      https://github.com/llvm/llvm-project/commit/193d7a6ace9f7016e03c90c63626fdb7fdf99bc0
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang/test/Misc/noexecstack.c
    M flang/test/Driver/save-mlir-temps.f90
    M llvm/docs/Extensions.rst
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/include/llvm/MC/MCObjectStreamer.h
    M llvm/include/llvm/MC/MCSection.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCFragment.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCSection.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/test/CodeGen/AArch64/preferred-function-alignment.ll
    M llvm/test/CodeGen/ARM/preferred-function-alignment.ll
    M llvm/test/CodeGen/LoongArch/linker-relaxation.ll
    M llvm/test/CodeGen/PowerPC/code-align.ll
    M llvm/test/CodeGen/PowerPC/ppc64-calls.ll
    M llvm/test/CodeGen/SystemZ/vec-perm-14.ll
    M llvm/test/CodeGen/X86/eh-label.ll
    M llvm/test/CodeGen/X86/empty-function.ll
    M llvm/test/CodeGen/X86/kcfi-arity.ll
    M llvm/test/CodeGen/X86/kcfi-patchable-function-prefix.ll
    M llvm/test/CodeGen/X86/kcfi.ll
    M llvm/test/CodeGen/X86/prefalign.ll
    M llvm/test/CodeGen/X86/statepoint-invoke.ll
    M llvm/test/DebugInfo/KeyInstructions/X86/dwarf-basic.ll
    M llvm/test/DebugInfo/LoongArch/relax_dwo_ranges.ll
    M llvm/test/DebugInfo/X86/header.ll
    M llvm/test/DebugInfo/X86/ranges_always.ll
    A llvm/test/MC/ELF/prefalign-convergence.s
    M llvm/test/MC/ELF/prefalign-errors.s
    M llvm/test/MC/ELF/prefalign.s
    A llvm/test/MC/RISCV/prefalign.s
    M llvm/test/tools/llvm-nm/X86/demangle.ll
    M llvm/test/tools/llvm-objdump/X86/source-interleave-function-from-debug.test

  Log Message:
  -----------
  [MC,CodeGen] Update .prefalign for symbol-based preferred alignment (#184032)

https://discourse.llvm.org/t/rfc-enhancing-function-alignment-attributes/88019/17
The recently-introduced .prefalign only worked when each function was in
its own section (-ffunction-sections), because the section size gave the
function body size needed for the alignment rule.

This led to -ffunction-sections and -fno-function-sections AsmPrinter
differences (#155529), which is rather unusual.

This patch fixes this AsmPrinter difference by extending .prefalign to
accept an end symbol and a required fill operand:

    .prefalign <log2_align>, <end_sym>, nop
    .prefalign <log2_align>, <end_sym>, <fill_byte>

The first operand is a log2 alignment value (e.g. 4 means 16-byte
alignment). The body size (end_sym_offset - start_offset) determines the
alignment:

    body_size < pref_align   => ComputedAlign = std::bit_ceil(body_size)
    body_size >= pref_align  => ComputedAlign = pref_align

To also enforce a minimum alignment, emit a .p2align before .prefalign.

The fill operand is required: `nop` generates target-appropriate NOP
instructions via writeNopData, while an integer in [0,255] fills the
padding with that byte value.

Initialize MCSection::CurFragList to nullptr and add a null check
to skip ELFObjectWriter-created sections like .strtab/.symtab
that never receive changeSection calls.

relaxPrefAlign is called in both layoutSection and relaxFragment.
The layoutSection call ensures correct initial padding before
relaxOnce, and is also needed for the post-finishLayout re-layout
where relaxOnce is not used. relaxPrefAlign walks forward to the
end symbol to compute BodySize (summing fragment sizes), avoiding
dependence on stale downstream symbol offsets.


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

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

  Log Message:
  -----------
  [clang][modules-driver] Add missing PrependArg for Clang module precompile jobs (#191610)

In `createClangModulePrecompileJob`, the `PrependArg` parameter was not
being passed for the newly created Clang module precompile job.
This causes failures for setups where the clang executable is a wrapper
(e.g., the llvm-driver wrapper).

See
https://github.com/llvm/llvm-project/pull/191258#issuecomment-4227294864


  Commit: 6c4bd0b3ac6939e5d88f5e8de7679463c0604a9c
      https://github.com/llvm/llvm-project/commit/6c4bd0b3ac6939e5d88f5e8de7679463c0604a9c
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp

  Log Message:
  -----------
  [compiler-rt] Disable soft_rss_limit_mb_test.cpp (#191370)

The test has been failing flakily for a while; see PRs #170911, #171469,
#188441.

Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>


  Commit: cfcf59cd29906d6e10fc56279784438ae76c043a
      https://github.com/llvm/llvm-project/commit/cfcf59cd29906d6e10fc56279784438ae76c043a
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
    M llvm/test/CodeGen/WebAssembly/function-info.mir

  Log Message:
  -----------
  [WebAssembly] Remove ExceptionInfo grouping tweaks (NFC) (#191495)

This removes fixes implemented in
https://github.com/llvm/llvm-project/commit/ea8c6375e3330f181105106b3adb84ff9fa76a7c,
https://github.com/llvm/llvm-project/commit/4a58116b7e5e1439c5fefdf59a89fc4f1d42875c,
and
https://github.com/llvm/llvm-project/commit/2b957ed4ff3344d8f761a053566e307277a1cdeb.
We don't need them anymore after #130374.

---

A little (unfortunate) winding history, mostly for my mental bookeeping.
Read the below only if you are curious:

There is a function called `findUnwindDestinations` in
`SelectionDAGBuilder.cpp`.

https://github.com/llvm/llvm-project/blob/c94f79886035a61bb5f3dc992f75fe0c08bdcd4b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp#L2107-L2164

This function adds unwind successors to BBs with `invoke`s. In case of
Itanium EH, you only add one `landingpad` BB. In WinEH, `catchswitch`
may not catch an exception, so you add all possible unwind
destionations. For example,
```ll
entry:
  invoke void @foo()
          to label %try.cont unwind label %catch.dispatch

catch.dispatch:
  %0 = catchswitch within none [label %catch.start] unwind label %catch.dispatch1

catch.start:
  ...

catch.dispatch1:
  %7 = catchswitch within none [label %catch.start1] unwind to caller

catch.start1:
  ...
```
`catchswitch` BBs are removed in iSel. So in this case, both
`catch.start` and `catch.start1` BBs are added as unwind successors to
`entry`, because an exception may not be caught by `catch.dispatch` and
unwind further to `catch.dispatch1`.

In the beginning of 2019, I added our own `findWasmUnwindDestinations`
in
https://github.com/llvm/llvm-project/commit/d6f487863dc951d467b545b86b9ea62980569b5a.
This was when I was implementing [the V2 (pre-legacy)
proposal,](https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/pre-legacy/Exceptions-v2.md)
which had `exnref` and `try`-`catch_all` (It was named `catch`, but
semantically it was `catch_all`) The rationale was, even though we were
using WinEH, we only had one catchpad and `catch` caught everything. So
I figured adding only the first catchpad successor, `catch.start` in the
example above, would simpify things.

By the end of 2020, we changed the proposal to [the V3 (legacy)
proposal](https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/legacy/Exceptions.md),
which removed `exnref` and introduced separate `catch` and `catch_all`
instructions. The previous invariant "`catch` always catches everything"
didn't hold anymore, but I left `findWasmUnwindDestinations` as was with
some updated comments in
https://github.com/llvm/llvm-project/commit/9e4eadeb135d140b3a9e499354472170017cbe58.
The comments could be summed up as "there will always be an `invoke`
instruction in the first catchpad that unwinds to the next unwind
destination. (which later turned out to be false)

And in 2021, I tweaked the ExceptionInfo algorithm to fix exception
grouping
(https://github.com/llvm/llvm-project/commit/ea8c6375e3330f181105106b3adb84ff9fa76a7c,
https://github.com/llvm/llvm-project/commit/4a58116b7e5e1439c5fefdf59a89fc4f1d42875c,
and
https://github.com/llvm/llvm-project/commit/2b957ed4ff3344d8f761a053566e307277a1cdeb)
The bug was, in tl;dr: "Your next unwind destination can be
(accidentally) dominated by your current catchpad, making your unwind
destination a subexception of the current exception). For example:
```cpp
try {
  try {
    foo();
  } catch (int) { // EH pad
    ...
  }
} catch (...) {   // unwind destination
}
```
Here the outer `catch` is (accidentally) dominated by the inner `catch`,
because we only added the first catchpad (inner `catch`) as an unwind
successor of `foo()` BB, and hoped that some `invoke`s within the inner
`catch` to unwind it to the outer `catch`. But this caused us to
`delegate` to a middle of an inner scope. So I tweaked the algorithm to
take the outer `catch` out to form a separate exception. I didn't
realize `findWasmUnwindDestinations` was actually the source of problem
then.

Fast forward to 2025. The 2020 assumption of "There will always be an
`invoke` instruction in the first catchpad" turned out to be false. So I
just removed `findWasmUnwindDestinations` and switched to use the common
`findUnwindDestinations` in #130374, which recently accidentally
discovered another bug (#187302).

While investigating #187302, I realized we don't need those tweaks in
WebAssemblyExceptionInfo anymore, because `findUnwindDestinations` adds
all unwind destinations as successors. (#187302 is actually not related
to this; it was just a trigger to investigate things) So in case of the
little C++ example above, the outer `catch` BB will also be added as an
unwind successor of the `foo()` BB. I actually think we may not even
need WebAssemblyExceptionInfo analysis at all if we only use [the latest
standard (exnref)
proposal](https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/Exceptions.md).
But we still need to keep the legacy support, so we need it for now.


  Commit: fc12e59d1d8b000b53ff7845e1a88d5e2d23d903
      https://github.com/llvm/llvm-project/commit/fc12e59d1d8b000b53ff7845e1a88d5e2d23d903
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    A clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.h
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp

  Log Message:
  -----------
  Reland "[NFC][SSAF] Move EntityPointerLevel to a separate folder" (#191481)" (#191518)

Relands #191481


  Commit: 870f8d9edee7bf550fe12d3d6e25d209bb9b8608
      https://github.com/llvm/llvm-project/commit/870f8d9edee7bf550fe12d3d6e25d209bb9b8608
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-mfma-gfx908-err.cl

  Log Message:
  -----------
  [NFC][AMDGPU] Fix `gfx90a`+ MFMA builtins (#191537)

`gfx90a` added a set of MFMA instructions that are not available on
prior GFXIPs. The Clang builtins for these were requiring the
`mai-insts` feature, which is incorrect (`gfx908` supports this and does
not support the added MFMAs). This led to opaque bugs where we'd check
with `__has_builtin` for the availability of the builtin, target 908,
and get an ISEL failure.


  Commit: 1ed2769c681e28e43ecf7f125f1ea018ec4f993b
      https://github.com/llvm/llvm-project/commit/1ed2769c681e28e43ecf7f125f1ea018ec4f993b
  Author: Connector Switch <c8ef at outlook.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp

  Log Message:
  -----------
  [libc++][test] Improve `fold_left` `check_lvalue_range` coverage.  (#183990)

This makes the test `fold_left` and `fold_left_with_iter` with and
without telemetrics similar to what we do in `check_iterator`.


  Commit: 856095994ba4ac64f7fd415b82aeef86ec738060
      https://github.com/llvm/llvm-project/commit/856095994ba4ac64f7fd415b82aeef86ec738060
  Author: eiytoq <eiytoq at outlook.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp

  Log Message:
  -----------
  [libc++][mdspan] Fix layout_stride->layout_right test (#191611)


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

  Changed paths:
    M llvm/test/CodeGen/X86/gfni-lzcnt.ll
    M llvm/test/CodeGen/X86/gfni-tzcnt.ll

  Log Message:
  -----------
  [X86] gfni-tzcnt/lzcnt - add bitalg test coverage showing failure to use vpopcntb cttz expansion (#191618)

Test coverage for #191520


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/extracts-from-scalarizable-vector.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-min-max.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remarks-insert-into-small-vector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cmp-as-alternate-ops.ll
    M llvm/test/Transforms/SLPVectorizer/X86/identity-match-splat-less-defined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/inversed-icmp-to-gather.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-stored.ll

  Log Message:
  -----------
  [SLP] Fix CmpInst type handling in cost model

Previously, getValueType() always returned the compared operand type
(e.g. i32) for CmpInst, which was incorrect for gather cost estimation
and codegen where the result type (i1) is needed. This caused ad-hoc
fixups scattered across getEntryCost, calculateTreeCostAndTrimNonProfitable,
and vectorizeTree that overrode ScalarTy back to i1 for CmpInsts.
Add a LookThroughCmp parameter to getValueType() (default: false) so
callers that need the operand type for vector width calculations can
explicitly opt in. This removes the need for the scattered CmpInst
special cases:
- getEntryCost gather path: remove `if (isa<CmpInst>) ScalarTy = i1`
- calculateTreeCostAndTrimNonProfitable: remove same override
- vectorizeTree: simplify `if (!isa<CmpInst>) ScalarTy = getValueType(V)`
  to just `getValueType(V)`
For the ICmp/FCmp cost case in getEntryCost, add a fallthrough from
ICmp/FCmp to Select that overrides ScalarTy with the compared operand
type via getValueType(VL0, true), since getCmpSelInstrCost expects the
compared type as its first argument. Fix the condition type argument
passed to getCmpSelInstrCost for both scalar and vector paths: use the
actual condition/result type instead of always Builder.getInt1Ty().

Reviewers: hiraditya, RKSimon

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


  Commit: 8ac9461e48e024448a2b6493b7c5b50629bc03d7
      https://github.com/llvm/llvm-project/commit/8ac9461e48e024448a2b6493b7c5b50629bc03d7
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/matmul.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/slp-fma-loss.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/unprofitable-alternate-subtree.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll
    M llvm/test/Transforms/SLPVectorizer/X86/c-ray.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_cmpop.ll
    M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/entry-no-bundle-but-extra-use-on-vec.ll
    M llvm/test/Transforms/SLPVectorizer/X86/external-bin-op-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelement-multi-register-use.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelements-vector-ops-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-parent-instr-copyable-regular.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-removed-on-operand-vectorization.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_external_users.ll
    M llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation4.ll
    M llvm/test/Transforms/SLPVectorizer/X86/simplebb.ll
    M llvm/test/Transforms/SLPVectorizer/X86/supernode.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll

  Log Message:
  -----------
  [SLP] Reject 2-element vectorization when vector inst count exceeds scalar

The LLVM cost model uses integer-valued throughput costs which cannot
represent fractional costs. For 2-element vectors, this rounding can
make vectorization appear profitable when it actually produces more
instructions than the scalar code — the overhead from shuffles, inserts,
extracts, and buildvectors is underestimated.
Add an instruction-count safety check in getTreeCost that estimates
the number of vector instructions (including gathers, shuffles, and
extracts) and compares against the number of scalar instructions.
If the vector code would produce more instructions, reject the tree
regardless of what the cost model says. This catches cases where
fractional cost rounding hides real overhead.

The check is gated behind -slp-inst-count-check (default: on) and
only applies to 2-element root trees where rounding errors matter most.

Reviewers: hiraditya, bababuck, RKSimon

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


  Commit: 00ccd11aba2bd69a698cba9a0b78ee744c3051ee
      https://github.com/llvm/llvm-project/commit/00ccd11aba2bd69a698cba9a0b78ee744c3051ee
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-member-init.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init-ignore-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp

  Log Message:
  -----------
  [clang-tidy] Add IgnoreMacros option to readability-redundant-member-init (#190530)

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


  Commit: 54d4bf2acbf4352e3c1751cd31211c925a041065
      https://github.com/llvm/llvm-project/commit/54d4bf2acbf4352e3c1751cd31211c925a041065
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp
    A clang/test/OpenMP/scan_inscan_template_nondependent.cpp
    A openmp/runtime/test/worksharing/for/omp_scan_inscan_template.cpp

  Log Message:
  -----------
  [OpenMP] Fix nondependent inscan variables in templated functions (#191627)

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

Assisted-by: claude-4.6-opus


  Commit: 67a0ff69fbe9950a6a1ccf96c9a20126cee23fde
      https://github.com/llvm/llvm-project/commit/67a0ff69fbe9950a6a1ccf96c9a20126cee23fde
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/revec-scalar-insertelement.ll

  Log Message:
  -----------
  [SLP][REVEC] Fix InsertElement scalar type in getEntryCost

When SLPReVec is enabled, getValueType returns the vector result type
for InsertElement instructions rather than the scalar element type. This
caused getEntryCost to propagate an incorrect ScalarTy (e.g. <4 x float>
instead of float) into getScalarizationOverhead and getWidenedType,
triggering an assertion failure and producing wrong cost estimates.
Narrow ScalarTy to its element type when costing vectorized
InsertElement entries whose inserted operands are scalars.
Fixes #191175.

Reviewers: 

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


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

  Changed paths:
    M mlir/test/CAPI/ir.c

  Log Message:
  -----------
  [mlir] Fix warning when building on Windows (#191558)

Fixes:
```
warning: format specifies type 'long' but the argument has type 'intptr_t' ...
```


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
    M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-ordered-reduction.ll
    M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
    M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
    M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    M llvm/test/Transforms/LoopVectorize/nested-outer-loop-vect.ll
    M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-call-instruction.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-select-instruction.ll

  Log Message:
  -----------
  [LV] Unconditionally run materializeConstVTC in ::executePlan (#191299)

After https://github.com/llvm/llvm-project/pull/189372 both minimum
iteration checks for epilogue vectorization are created in VPlan, which
removes the last blocker for unconditionally running
materializeConstantVectorTripCount. This enables additional folds for
plans in the native path, as well as removes some trip count
computations with epilogue vectorization.

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


  Commit: 9dd1eb49f74bdf0f0448ccff5f72b32b3f8fc9cc
      https://github.com/llvm/llvm-project/commit/9dd1eb49f74bdf0f0448ccff5f72b32b3f8fc9cc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
    M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll

  Log Message:
  -----------
  [SCEV] Bail out on wider AddRecs in SCEVWrapPrediacte::implies. (#191498)

NSSW/NUSW on a wider AddRec does not imply NSSW/NUSW on a narrower
AddRec.

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


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

  Changed paths:
    M libcxx/include/__mdspan/layout_left.h
    M libcxx/include/__mdspan/layout_right.h
    M libcxx/include/__mdspan/layout_stride.h
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/include/mdspan

  Log Message:
  -----------
  [libc++][NFC] Sync `<mdspan>` synopsis and remove redundant `typename`s (#191621)


  Commit: 76584a89a75f9fde609e5fc341b6458d7d4f44f4
      https://github.com/llvm/llvm-project/commit/76584a89a75f9fde609e5fc341b6458d7d4f44f4
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/test/API/commands/help/TestHelp.py

  Log Message:
  -----------
  [lldb] Fix output of `help format` (#190409)

The output currently contains
```
            "unicode32"
            'u' or "unsigned decimal"
            'p' or
            "pointer"
            "char[]"
            "int8_t[]"
```
The 'p' and "pointer" are supposed to appear on the same line. When
we're about to print "pointer," we check whether it would exceed the
column limit (in which case, we insert a line feed). This check only
checks for spaces as separators, but in this case, "words" may be
separated by newlines as well. Look for them too.


  Commit: 42127fa2775ca9102d4be00cafbe0fcd6f25299d
      https://github.com/llvm/llvm-project/commit/42127fa2775ca9102d4be00cafbe0fcd6f25299d
  Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.h
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h

  Log Message:
  -----------
  [AMDGPU][Scheduler] Prepare remat stage for rematerializer integration (NFC) (#189489)

This NFC prepares the scheduler's rematerialization stage for
integration with the target-independent rematerializer. It brings
various small design changes and optimizations to the stage's internal
state to make the not-exactly-NFC rematerializer integration as small as
possible.

The main changes are, in no particular order:

- Sort and pick useful rematerialization candidates by their index in
the vector of candidates instead of directly sorting objects within the
candidate vector. This reduces the amount of data movement and
simplifies the candidate selection logic.
- Move some data members from `PreRARematStage::RematReg` to
`PreRARematStage::ScoredRemat`. This makes the former a simplified
version of the rematerializer's own internal register representation
(`Rematerializer::Reg`), which can be cleanly deleted during
integration.
- Remove an inferable argument to `modifyRegionSchedule`. This allows
the stage to stop tracking the parent block of each region.
- Use a boolean (`RevertAllRegions`) to track scheduling revert decision
post rematerialization instead of clearing `RescheduleRegions`. This
allows to avoid re-computing the latter during rollback.
- Estimate usefulness of rematerialization from `GCNRegPressure` instead
of from `Register` (requires adding a new method variant in
`GCNRPTarget`).


  Commit: 9ab2c5732642a85de8e218e81663d5e458744de0
      https://github.com/llvm/llvm-project/commit/9ab2c5732642a85de8e218e81663d5e458744de0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec-bf16.ll

  Log Message:
  -----------
  [RISCV] Add missing Zvfbfa isel patterns for VFSLIDE1UP/DOWN. (#191578)


  Commit: 489dab3827b255d21ea38b1e3f45ddb08bd10a87
      https://github.com/llvm/llvm-project/commit/489dab3827b255d21ea38b1e3f45ddb08bd10a87
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/Representation.h

  Log Message:
  -----------
  [clang-doc] Initialize StringRef members in Info types (#191637)

We had a report of some assertion failures in

https://github.com/llvm/llvm-project/pull/190054#issuecomment-4228893309,
and some msan failures in
https://github.com/llvm/llvm-project/pull/190056.

These appear to be due to default constructed StringRef's being used in
some cases. To address, we can provide default initializers that should
prevent such cases from causing further problems.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td

  Log Message:
  -----------
  [RISCV] Consistently use hasVInstructionsF16/BF16(). NFC (#191592)


  Commit: 031115785bc80d23f07cda506038f906615dd4c3
      https://github.com/llvm/llvm-project/commit/031115785bc80d23f07cda506038f906615dd4c3
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/unittests/Platform/PlatformDarwinTest.cpp
    M lldb/unittests/Platform/PlatformTest.cpp

  Log Message:
  -----------
  [lldb][Platform] Use the module's FileSpec instead of the script's FileSpec when checking LoadScriptFromSymFile setting (#191473)

We were incorrectly passing the script's `FileSpec` into
`GetScriptLoadStyleForModule`. Meaning if a script name wasn't actually
the same as the module name, the `target.auto-load-scripts-for-modules`
didn't take effect.

This patch passes the module's `FileSpec` instead. For `dSYM`s we save
the original `FileSpec` because the loop tries to strip extensions until
it finds a script. But we still want to use the module's name.

**AI Usage**:
- Used Claude to write the unit-test skeletons. Then reviewed/adjusted
them manually


  Commit: 155b9b354c1d91661be9f6d0432a96e47cfc2700
      https://github.com/llvm/llvm-project/commit/155b9b354c1d91661be9f6d0432a96e47cfc2700
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/Representation.h

  Log Message:
  -----------
  [clang-doc][nfc] Default initialize all StringRef members (#191641)

Ensure all StringRef members are default initialized to avoid potential
bugs.


  Commit: 0fd821d5e90b0664742e1af9db56d0fd0e6c0285
      https://github.com/llvm/llvm-project/commit/0fd821d5e90b0664742e1af9db56d0fd0e6c0285
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp

  Log Message:
  -----------
  [Clang] Track constraint's SubstIndex only if it contains outer parameter packs (#191484)

I believe that is the intent of SubstIndex in AssociatedConstraint.
So this enforces the checking explicitly, in case nested SubstIndexes
confuses our poor constraint evaluator.

I reverted the previous fix 257cc5ad89840cdfba4affcc8fe62cf9d02d9017
because that was wrong.
As a drive-by fix, this also removes an strange assertion and an
unnecessary
SubstIndex setup in nested requirement transform.

No release note because this is a regression fix.

Fixes https://github.com/llvm/llvm-project/issues/188505
Fixes https://github.com/llvm/llvm-project/issues/190169


  Commit: 2a54bf53e07ceb29e2b68b5748d5fcbf3b167b0d
      https://github.com/llvm/llvm-project/commit/2a54bf53e07ceb29e2b68b5748d5fcbf3b167b0d
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp

  Log Message:
  -----------
  [NFC][AMDGPU] clang-format llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp (#191647)


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

  Changed paths:
    A llvm/include/llvm/CodeGen/AsmPrinterAnalysis.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/R600TargetMachine.h
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    M llvm/lib/Target/X86/X86AsmPrinter.h
    M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
    M llvm/lib/Target/X86/X86TargetMachine.h
    M llvm/tools/llc/NewPMDriver.cpp

  Log Message:
  -----------
  [AsmPrinter] Use AsmPrinterAnalysis to hold AsmPrinter

AsmPrinter needs to hold state between doInitialization,
runOnMachineFunction, and doFinalization, which are all separate passes
in the NewPM. Storing this state externally somewhere like
MachineModuleInfo or a new analysis is possible, but a bit messy given
some state, particularly EHHandler objects, has backreferences into the
AsmPrinter and assumes there is a single AsmPrinter throughout the
entire compilation. So instead, store AsmPrinter in an analysis that
stays constant throughout compilation which solves all these problems.
This also means we can also just let AsmPrinter continue to own the
MCStreamer, which means object file emission should work after this as
well.

This does require passing the ModuleAnalysisManager into
buildCodeGenPipeline to register the AsmPrinterAnalysis, but that seems
pretty reasonable to do.

Reviewers: paperchalice, RKSimon, arsenm

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


  Commit: ed395c894f6b3f0d19a6cde3989aa005d5d6f01e
      https://github.com/llvm/llvm-project/commit/ed395c894f6b3f0d19a6cde3989aa005d5d6f01e
  Author: jian.wu <jwu10003 at amd.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/freeze.ll
    M llvm/test/CodeGen/AMDGPU/kernel-args.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-local-i16.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    A llvm/test/DebugInfo/AMDGPU/bitcast-store-combine-debugloc.ll

  Log Message:
  -----------
  [AMDGPU] Use value's DebugLoc for bitcast in performStoreCombine (#186766)

## Description

When `AMDGPUTargetLowering::performStoreCombine` inserts a synthetic
bitcast to convert vector types (e.g. `<1 x float>` → `i32`) for stores,
the bitcast inherits the **store's** SDLoc. When
`DAGCombiner::visitBITCAST` later folds `bitcast(load)` → `load`, the
resulting load loses its original debug location.

## Analysis

The bitcast is **not** present in the initial SelectionDAG — it is
inserted during DAGCombine by
`AMDGPUTargetLowering::performStoreCombine`. This can be observed with
`-debug-only=isel,dagcombine`:

```
Initial selection DAG: no bitcast, load is v1f32 directly used by store

Combining: t17: ch = store ... /tmp/beans.c:6:14
 ... into: t20: ch = store ... /tmp/beans.c:6:14

Combining: t19: i32 = bitcast [ORD=3] # D:1 t13, /tmp/beans.c:6:14
 ... into: t21: i32,ch = load ... /tmp/beans.c:6:14
```

In `performStoreCombine` (`AMDGPUISelLowering.cpp`):

```cpp
SDLoc SL(N);  // N = store node → SL has store's DebugLoc
...
SDValue CastVal = DAG.getNode(ISD::BITCAST, SL, NewVT, Val);
// bitcast gets store's DebugLoc, not load's
```

When `visitBITCAST` folds `bitcast(load)` → `load`, it uses `SDLoc(N)`
(the bitcast's loc = store's loc), so the resulting load loses its
original debug location.

```
Before (initial DAG):
  t13: v1f32 = load ...           line 2   ; original load
  t14: ch    = store t13, ...     line 3   ; store

After performStoreCombine:
  t13: v1f32 = load ...           line 2   ; original load
  t19: i32   = bitcast t13        line 3   ; synthetic bitcast (store's loc!)
  t20: ch    = store t19, ...     line 3

After visitBITCAST folds (incorrect):
  t21: i32 = load ...             line 0   ; lost debug location

After visitBITCAST folds (expected):
  t21: i32 = load ...             line 2   ; preserves load's location
```

## Fix

Target-specific fix in `AMDGPUISelLowering.cpp` `performStoreCombine`:
use `DAG.getBitcast()` instead of `DAG.getNode(ISD::BITCAST, SL, ...)`.
`getBitcast()` internally uses `SDLoc(V)` (the value operand's SDLoc),
so the synthetic bitcast naturally inherits the load's DebugLoc instead
of the store's:

```cpp
// Before:
SDValue CastVal = DAG.getNode(ISD::BITCAST, SL, NewVT, Val);
if (OtherUses) {
    SDValue CastBack = DAG.getNode(ISD::BITCAST, SL, VT, CastVal);

// After:
SDValue CastVal = DAG.getBitcast(NewVT, Val);
if (OtherUses) {
    SDValue CastBack = DAG.getBitcast(VT, CastVal);
```

This is consistent with `performLoadCombine` where the bitcast also uses
the load's `SDLoc`.


  Commit: 0c0ae3786ef4ec04ba0dc9cdd565b68ec486498a
      https://github.com/llvm/llvm-project/commit/0c0ae3786ef4ec04ba0dc9cdd565b68ec486498a
  Author: Eugene Shalygin <eugene.shalygin at gmail.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang/lib/Format/FormatToken.cpp

  Log Message:
  -----------
  [clang-format] Update QtPropertyKeywords to Qt 6.11 documentation (#190543)

Qt 6.11 added `OVERRIDE` and `VIRTUAL` keywords to the [property
system](https://doc.qt.io/qt-6.11/properties.html).


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

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

  Log Message:
  -----------
  [flang-rt] Fix warnings on Windows (#191562)

When building the LLVM installer on Windows, fix CRT / dllimport
mismatch and unused locals / tautological comparisons in env handling.


  Commit: 4fb5b7834bcf534388fcaf0c5afd39601197d47b
      https://github.com/llvm/llvm-project/commit/4fb5b7834bcf534388fcaf0c5afd39601197d47b
  Author: Petr Hosek <phosek at google.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

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

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

We prefer statically linking all library dependencies.


  Commit: 5347264191e74840adc740db1aa41b7a9d33670a
      https://github.com/llvm/llvm-project/commit/5347264191e74840adc740db1aa41b7a9d33670a
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
    M lldb/tools/lldb-dap/RunInTerminal.cpp
    M lldb/unittests/Platform/TestUtils.cpp

  Log Message:
  -----------
  [LLDB] Silence warnings when building on Windows (#191566)

Fixes a few warnings found while building the LLVM installer with
`llvm/utils/release/build_llvm_release.bat --x64 --version 23.0.0
--skip-checkout --local-python`.


  Commit: 4b2c155a757a9abd1ae1501f0b26b6d4835a5d32
      https://github.com/llvm/llvm-project/commit/4b2c155a757a9abd1ae1501f0b26b6d4835a5d32
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv

  Log Message:
  -----------
  [libc++][ranges][NFC] Mark LWG3947 as implemented (#191642)

Implemented in
https://github.com/llvm/llvm-project/commit/fc4661aa11a0e974f842e83346ff44609284a4ae


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll

  Log Message:
  -----------
  [RISCV] Split LMUL=8 f16 fixed vector (s/u)ittofp/fpto(s/u)i before promoting. (#191568)

The conversion needs to be done by promoting to f32. If we're already at
LMUL=8, we need to split before we can promote.


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

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp

  Log Message:
  -----------
  [ELF] Move ++nextGroupId from InputFile ctor to callers. NFC (#191685)

Move this side effect to the call sites in addFile() where the groupId
assignment is more visible.

This makes InputFile construction safe to call from parallel contexts.


  Commit: 2798a107e63b4df00009df1a09f6e80c74cd3792
      https://github.com/llvm/llvm-project/commit/2798a107e63b4df00009df1a09f6e80c74cd3792
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp

  Log Message:
  -----------
  [Clang-tidy] Add dummy compile_commands.json for broken test (#191635)

Consequence of https://github.com/llvm/llvm-project/issues/182526.

With PCH used for unit tests (#191402), this breaks now due to matching:

llvm-build/tools/clang/tools/extra/test/clang-tidy/infrastructure/Output/custom-query-check.cpp.tmp/cqc-main.cpp

with:

llvm-build/tools/clang/tools/extra/clangd/unittests/DecisionForestRuntimeTest.cpp


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

  Changed paths:
    M flang/test/Driver/save-mlir-temps.f90

  Log Message:
  -----------
  [Flang] Mark save-mlir-temps.f90 unsupported (#191686)

This was marked as xfail earlier for some .prefalign fixes, but is
unexpectedly passing on AArch64 Premerge CI.

Just mark it unsupported for now to get things back to green.


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

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/Sema/implicit-cast-complex-to-vector.c

  Log Message:
  -----------
  [clang][bytecode] Fix implicit-cast-complex-to-vector test (#191662)


  Commit: f5509542c0660c269c202e2e7e4caeb8ed639bae
      https://github.com/llvm/llvm-project/commit/f5509542c0660c269c202e2e7e4caeb8ed639bae
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/version
    M libcxx/test/std/atomics/atomics.ref/address.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][atomics] P3936R1: Safer ``atomic_ref::address`` (#189761)

Implements P3936R1

Closes #189594

# References:

- https://llvm.org/PR162236
- https://wg21.link/p3936r1

---------

Co-authored-by: A. Jiang <de34 at live.cn>
Co-authored-by: Hristo Hristov <zingam at outlook.com>


  Commit: 1dc46a29cf8be1d6109bc1a3583b83b9b6662d92
      https://github.com/llvm/llvm-project/commit/1dc46a29cf8be1d6109bc1a3583b83b9b6662d92
  Author: hstk30-hw <hanwei62 at huawei.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

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

  Log Message:
  -----------
  Clean Code. NFC (#191403)


  Commit: 67c893eebc793cea8b0d12b9037d3117191b76eb
      https://github.com/llvm/llvm-project/commit/67c893eebc793cea8b0d12b9037d3117191b76eb
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-04-12 (Sun, 12 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:
  -----------
  [libc++][format] P3953R3: Rename `std::runtime_format` (#189657)

Implements P3953R3

- renamed test files (no changes to the contents but the function
names).

Closes #189624

# References:

- https://llvm.org/PR105394
- https://wg21.link/p2918r2


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/gfni-lzcnt.ll
    M llvm/test/CodeGen/X86/gfni-tzcnt.ll

  Log Message:
  -----------
  [X86] LowerCTTZ - prefer legal CTPOP expansion vs GFNI to avoid constant pool load (#191623)

Fixes #191520


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

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td

  Log Message:
  -----------
  [X86] Add common avx512_binary_lowering matcher for NonVLX binary op widening (#191650)

Replace VPMULLQ/VPMAXQ/VPMINQ + var shift custom patterns


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

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td

  Log Message:
  -----------
  [X86] Convert VPABSQ NonVLX patterns to use avx512_unary_lowering helper (#191648)

Move avx512_unary_lowering so we can avoid manually writing the XMM/YMM->ZMM widening for NonVLX targets

Adds some missing comments for instruction classes as well


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

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

  Log Message:
  -----------
  [clang][bytecode] Handle zero pointers in `isConstexprUnknown()` (#191691)


  Commit: abc1ec1c0288c794d75c7238a1fb258229c17b8f
      https://github.com/llvm/llvm-project/commit/abc1ec1c0288c794d75c7238a1fb258229c17b8f
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp

  Log Message:
  -----------
  [flang] clang-format flang/lib/Semantics/resolve-directives.cpp (#191660)

The changes are only on 5 lines, but now the entire file is invariant
under clang-format.


  Commit: 2137d5ffbd454c85c31f8533721cd68dcf24015b
      https://github.com/llvm/llvm-project/commit/2137d5ffbd454c85c31f8533721cd68dcf24015b
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/LiveRangeEdit.cpp
    M llvm/lib/CodeGen/PeepholeOptimizer.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/test/CodeGen/X86/apx/or.ll
    A llvm/test/CodeGen/X86/apx/pr191368.ll

  Log Message:
  -----------
  [X86][APX] Return CopyMI when added in foldMemoryOperandImpl (#191368)

Fixes: #190962 #191165 #191239


  Commit: 6911faf39c19ce31647b041fcaf0a69f78b32368
      https://github.com/llvm/llvm-project/commit/6911faf39c19ce31647b041fcaf0a69f78b32368
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

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

  Log Message:
  -----------
  [InstCombine] Fix FMF propagation in `foldFNegIntoConstant` (#191653)

Counterexamples for ninf and nsz: https://alive2.llvm.org/ce/z/7-Je_K
Closes https://github.com/llvm/llvm-project/issues/189729.


  Commit: 4af396057caf2df49df8d3f60f0ae040ae9312b4
      https://github.com/llvm/llvm-project/commit/4af396057caf2df49df8d3f60f0ae040ae9312b4
  Author: Max Graey <maxgraey at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/fp-floor-ceil.ll

  Log Message:
  -----------
  [InstCombine] Improve suboptimal simplification for more than one use in #190620 (#191702)

Address to
https://github.com/llvm/llvm-project/pull/190620#issuecomment-4229926121


  Commit: 34c83399fe001cd3c1a19f38f30c83cdc2e8399f
      https://github.com/llvm/llvm-project/commit/34c83399fe001cd3c1a19f38f30c83cdc2e8399f
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Semantics/openmp-utils.cpp

  Log Message:
  -----------
  [flang][OpenMP] Update comments, NFC (#191709)

Some comments in openmp-utils.cpp became outdated after the code had
changed.


  Commit: b31d8bc21bc324b73bf0a47e92216b9aac7408c0
      https://github.com/llvm/llvm-project/commit/b31d8bc21bc324b73bf0a47e92216b9aac7408c0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h

  Log Message:
  -----------
  [JITLink] Use NonOwningSymbolStringPtrs in ExternalSymbolsMap. (#191634)

SymbolStringPtr comparisons should be more efficient that string
comparisons. Fixes a FIXME.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
    R llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
    M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
    M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_cost.mir
    M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_diff_types.mir

  Log Message:
  -----------
  [AMDGPU][Scheduler] Use MIR-level rematerializer in rematerialization stage (#189491)

This makes the scheduler's rematerialization stage use the
target-independent rematerializer. Previously duplicate logic is
deleted, and restrictions are put in place in the stage so that the same
constraints as before apply on rematerializable registers (as the
rematerializer is able to expose many more rematerialization
opportunities than what the stage can track at the moment). Consequently
it is not expected that this change improves performance overall, but it
is a first step toward being able to use the rematerializer's more
advanced capabilities during scheduling.

This is *not* a NFC for 2 reasons.

- Score equalities between two rematerialization candidates with
otherwise equivalent score are decided by their corresponding register's
index handle in the rematerializer (previously the pointer to their
state object's value). This is determined by the rematerializer's
register collection order, which is different from the stage's old
register collection order. This is the cause of all test changes but
one, and should not be detrimental to performance in real cases.
- To support rollback, the stage now uses the rematerializer's rollback
listener instead of its previous ad-hoc method (setting the opcode of
rematerialized MIs to a DBG_VALUE, and their registers to the sentinel).
This is the source of test changes in
`machine-scheduler-sink-trivial-remats-debug.mir`. The new rollback
mechanism completely removes the behavior tested by
`misched-remat-revert.ll` so the test is deleted.

---------

Co-authored-by: Shilei Tian <i at tianshilei.me>


  Commit: 48ad929c0f3595bed417172de638ed9a0cbdb4c1
      https://github.com/llvm/llvm-project/commit/48ad929c0f3595bed417172de638ed9a0cbdb4c1
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__numeric/saturation_arithmetic.h
    M libcxx/include/numeric
    M libcxx/include/version
    M libcxx/modules/std/numeric.inc
    M libcxx/test/libcxx/numerics/nodiscard.verify.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.assert.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_add.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_add.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.assert.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_mul.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_mul.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_sub.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_sub.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][numeric] P4052R0: Renaming saturation arithmetic functions (#189574)

Implements P4052R0.

Also renames:
- the internal names for consistency.
- test files (no changes to the contents but the function names).

Fixes: #189589

---------

Co-authored-by: A. Jiang <de34 at live.cn>


  Commit: b844cc8f8de9bfbd003cbe01e1295563c4ca62e6
      https://github.com/llvm/llvm-project/commit/b844cc8f8de9bfbd003cbe01e1295563c4ca62e6
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/__ranges/iota_view.h
    M libcxx/test/std/ranges/range.factories/range.iota.view/size.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] LWG3610: `iota_view::size` sometimes rejects integer-class types (#155169)

Fixes #104948

# References

- https://wg21.link/range.iota.view
- https://wg21.link/range.iota.view#17
- https://wg21.link/LWG3610

---------

Co-authored-by: A. Jiang <de34 at live.cn>


  Commit: 778c0fb1dbf1803f8f250fd7feb935095e91e57b
      https://github.com/llvm/llvm-project/commit/778c0fb1dbf1803f8f250fd7feb935095e91e57b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll

  Log Message:
  -----------
  [SLP] Fix GEP cost computation for load vectorization cost estimates

Pass Instruction::Load instead of Instruction::GetElementPtr to
getGEPCosts in isMaskedLoadCompress and CheckForShuffledLoads.
These call sites estimate costs for wide contiguous loads and sub-vector
load patterns, not for masked gather pointer vector formation. Using
Instruction::GetElementPtr incorrectly triggered the gather-style cost
path, which computes vector GEP formation costs. Since the call sites
already add scalarization overhead for pointer vector building
separately, this led to double-counting of pointer costs and inaccurate
vectorization decisions.

Reviewers: hiraditya, RKSimon

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


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
    A llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
    M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
    M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_cost.mir
    M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_diff_types.mir

  Log Message:
  -----------
  Revert "[AMDGPU][Scheduler] Use MIR-level rematerializer in rematerialization stage (#189491)"

This reverts commit be62f270fd01e8c526f1e37df74ff1061e360dab, it breaks
the compilation!!!

Reviewers: 

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


  Commit: 636dbc8875733438370575f44d3f2777f6271b88
      https://github.com/llvm/llvm-project/commit/636dbc8875733438370575f44d3f2777f6271b88
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Boolean.h
    A clang/lib/AST/ByteCode/Char.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/IntegralAP.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpStack.cpp
    M clang/lib/AST/ByteCode/InterpStack.h
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/PrimType.cpp
    M clang/lib/AST/ByteCode/PrimType.h
    M clang/lib/AST/ByteCode/Primitives.h
    M clang/lib/AST/ByteCode/Program.cpp
    A clang/test/AST/ByteCode/addr-label-diff.c
    A clang/test/AST/ByteCode/addr-label-diff.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    M clang/test/AST/ByteCode/const-eval.c
    M clang/test/AST/ByteCode/cxx11.cpp
    A clang/test/AST/ByteCode/int-as-ptr-arith.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/const-label-addr.c
    M clang/test/CodeGen/statements.c
    M clang/test/CodeGen/staticinit.c
    M clang/test/CodeGenCXX/2008-05-07-CrazyOffsetOf.cpp
    M clang/test/CodeGenCXX/const-init-cxx11.cpp
    M clang/test/CodeGenCXX/const-init.cpp
    M clang/test/Sema/array-init.c
    M clang/test/Sema/compound-literal.c
    M clang/test/Sema/const-ptr-int-ptr-cast.c
    M clang/test/Sema/init.c
    M clang/test/SemaCXX/constexpr-string.cpp
    M clang/unittests/AST/ByteCode/Descriptor.cpp

  Log Message:
  -----------
  [clang][bytecode] Support different integral types (e.g. addresses) (#185028)

This is an alternative approach to
https://github.com/llvm/llvm-project/pull/169769.

We increase the size of the old `Integral<Bits, Signed>` to 24 bytes (on
a 64 bit system) and introduce a new `Char<Signed>` that's used for the
old `PT_Sint8` and `PT_Uint8` primitive types.

The old approach did not work out in the end because we need to be able
to do arithmetic (but essentially just `+` and `-`) on the offsets of
such integers-that-are-actually-pointers.

c-t-t-:

https://llvm-compile-time-tracker.com/compare.php?from=723d5cb11b2a64e4f11032f24967702e52f822bc&to=16dc90efebbf52e381c7655131b2fb74c307cc42&stat=instructions:u


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1down-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1down.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll

  Log Message:
  -----------
  [RISCV] Enable vfslide1up/down for bf16 shuffles with Zvfbfa. (#191608)


  Commit: 1d1208b626c48c678d827ed88c4e68c2f237688b
      https://github.com/llvm/llvm-project/commit/1d1208b626c48c678d827ed88c4e68c2f237688b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/copyable-phi-used-non-copyable.ll

  Log Message:
  -----------
  [SLP]Fix dominance failure when value is copyable in one PHI entry but non-copyable in another

When a value is treated as a copyable element in one tree entry and as a
non-copyable element in another, both feeding into PHI nodes, the
scheduler could produce vectorized IR where an instruction does not
dominate all its uses. Bail out of scheduling in tryScheduleBundle when
this conflict is detected to prevent generating broken modules.
Fixes #191714

Reviewers: 

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


  Commit: 90d35155ff5295c4c4d27b42e3ecb33d03cdd292
      https://github.com/llvm/llvm-project/commit/90d35155ff5295c4c4d27b42e3ecb33d03cdd292
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll

  Log Message:
  -----------
  Revert "[SLP] Fix GEP cost computation for load vectorization cost estimates"

This reverts commit 778c0fb1dbf1803f8f250fd7feb935095e91e57b to fix
buildbots https://lab.llvm.org/buildbot/#/builders/213/builds/2725, https://lab.llvm.org/buildbot/#/builders/212/builds/2876

Reviewers: 

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


  Commit: 8113b989337c61f5063939ec8e3ce4ba5ee4f213
      https://github.com/llvm/llvm-project/commit/8113b989337c61f5063939ec8e3ce4ba5ee4f213
  Author: Madhur Kumar <152476790+MadhurKumar004 at users.noreply.github.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [InstCombine] Missed fold: umax(x, C) > ~x -> x < 0 (#189396)

fix : https://github.com/llvm/llvm-project/issues/187648

Fix the missed optimization for 
`icmp ugt (umax(x, C)), ~x` and `icmp ult (umax(x, C)), ~x`

Alive2 proof:
https://alive2.llvm.org/ce/z/dDNJ2m
https://alive2.llvm.org/ce/z/X633UX


  Commit: 6c779819669204c7f23240b1050929672296ee59
      https://github.com/llvm/llvm-project/commit/6c779819669204c7f23240b1050929672296ee59
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
    M llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/SelfExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
    M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h
    M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp

  Log Message:
  -----------
  [ORC] Move MemoryAccess ownership out of ExecutorProcessControl. (#191715)

Similar to the DylibManager change in e55fb5de0f9, this removes an
unnecessary coupling between ExecutorProcessControl and MemoryAccess,
allowing clients to select MemoryAccess implementations independently.

To simplify the transition, the
ExecutorProcessControl::createDefaultMemoryAccess method will return an
instance of whatever MemoryAccess the ExecutorProcessControl
implementation had been using previously.


  Commit: 183660de3a29cbd69f51730ee2044437edcaf32a
      https://github.com/llvm/llvm-project/commit/183660de3a29cbd69f51730ee2044437edcaf32a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll

  Log Message:
  -----------
  [SLP] Fix GEP cost computation for load vectorization cost estimates

Pass Instruction::Load instead of Instruction::GetElementPtr to
getGEPCosts in isMaskedLoadCompress and CheckForShuffledLoads.
These call sites estimate costs for wide contiguous loads and sub-vector
load patterns, not for masked gather pointer vector formation. Using
Instruction::GetElementPtr incorrectly triggered the gather-style cost
path, which computes vector GEP formation costs. Since the call sites
already add scalarization overhead for pointer vector building
separately, this led to double-counting of pointer costs and inaccurate
vectorization decisions.

Reviewers: hiraditya, RKSimon

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


  Commit: 0ab10d1c446db03beaf6e6302910132f5ea3492d
      https://github.com/llvm/llvm-project/commit/0ab10d1c446db03beaf6e6302910132f5ea3492d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    A llvm/test/Transforms/InstCombine/known-range-frexp-exp.ll

  Log Message:
  -----------
  ValueTracking: Handle frexp exp in computeKnownConstantRange (#191282)


  Commit: 7c872e96aa71e406e479e6f95901c72eef79da97
      https://github.com/llvm/llvm-project/commit/7c872e96aa71e406e479e6f95901c72eef79da97
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/operand-reorder-with-copyables.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the reordering of the RHS/LHS operands for copyables, NFC



Reviewers: 

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


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

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/test/CodeGen/X86/prefalign.ll

  Log Message:
  -----------
  [AsmPrinter] Fix redundant/weaker .prefalign when IR align attr >= prefalign (#191675)

PR #155529 (only fired with -ffunction-sections, then modified by PR
184032) compared `MF->getAlignment()` (the backend's minimum function
alignment) against `MF->getPreferredAlignment()` to decide whether to
emit `.prefalign`. This ignored the IR function's own align attribute,
which `emitAlignment` picks up later via `getGVAlignment`, so the
comparison was against the wrong minimum.

Consequences on x86 (backend min = 1, target pref = 16):

* `[[gnu::aligned(32)]] void g(){}` lowers to `align 32 prefalign(32)`.

      .p2align 5
      .prefalign 5, .Lfunc_end, nop

  The .prefalign is fully redundant: .p2align 5 already forces the
  desired 32-byte alignment.

* `define void @f4() align 32 prefalign(16)`.

      .p2align 5
      .prefalign 4, .Lfunc_end, nop

  Here .prefalign with a weak alignment is harmless but the assembly
  output is nonsensical.

This patch updates `emitAlignment` to return the effective alignment it
emits and use that as the true minimum in `emitFunctionHeader`.


  Commit: 56775ba553bf47bf14cbf4d3ec1ea3619d4f6356
      https://github.com/llvm/llvm-project/commit/56775ba553bf47bf14cbf4d3ec1ea3619d4f6356
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/tools/llubi/lib/Library.cpp

  Log Message:
  -----------
  [llubi] Fix invalid printf format specifier for %c (#191713)

Fix ASAN warning about unexpected format specifier %llc introduced
in commit f149ab665a4b. The 'c' format specifier should not have the
'll' length modifier. Separated the 'c' case to use the correct format
without the length modifier, casting to int as required by the standard.


  Commit: 5b1b0efbaa97c43a6cd32df37eaa0ea7f282aeec
      https://github.com/llvm/llvm-project/commit/5b1b0efbaa97c43a6cd32df37eaa0ea7f282aeec
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M clang/tools/diagtool/ShowEnabledWarnings.cpp

  Log Message:
  -----------
  [Clang][diagtool] Fix memory leak in ShowEnabledWarnings (#191711)

Fix 136-byte memory leak introduced in commit 6dc059ac3c7c. Before
that commit, the TextDiagnosticBuffer was passed to DiagnosticsEngine
constructor which took ownership and managed its lifetime. After the
refactoring, the buffer is no longer passed to DiagnosticsEngine, so
it becomes an orphaned allocation that is never freed. Changed to use
std::unique_ptr for automatic cleanup.


  Commit: 029e5b017bfd5a564a664a6f6a8d40bda40125bf
      https://github.com/llvm/llvm-project/commit/029e5b017bfd5a564a664a6f6a8d40bda40125bf
  Author: Eugene Shalygin <eugene.shalygin at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/ContinuationIndenter.h
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/unittests/Format/AlignmentTest.cpp

  Log Message:
  -----------
  [clang-format] treat continuation as indent for aligned lines (#191217)

This allows to inherit tabbed indent from the lines we break by the
lines we want to align. Thus in the AlignWithSpaces mode aligned lines
do not generate smaller indent than those they are aligned to.


  Commit: 717ba7c3107dc7ebc41feaaedf1d8eaf89306e04
      https://github.com/llvm/llvm-project/commit/717ba7c3107dc7ebc41feaaedf1d8eaf89306e04
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

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

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

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: c0fbdb21bb23554a662cff743fddf5721a14102f
      https://github.com/llvm/llvm-project/commit/c0fbdb21bb23554a662cff743fddf5721a14102f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Stop using QualTypes when checking evaluation results (#191732)

They might not match the descriptor contents exactly, so just look at
the descriptors.


  Commit: d946ac356897e863392d1454607889166ae74cc0
      https://github.com/llvm/llvm-project/commit/d946ac356897e863392d1454607889166ae74cc0
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/CallGraphUpdater.cpp
    A llvm/test/Transforms/Inline/inline-history-dead-function.ll

  Log Message:
  -----------
  [CallGraphUpdater] Replace dead function in metadata with null instead of poison (#191729)

Assisted-by: claude-4.6-opus


  Commit: e62acf49a636a1014e991d75dfa49f0a7cf7951f
      https://github.com/llvm/llvm-project/commit/e62acf49a636a1014e991d75dfa49f0a7cf7951f
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/IRBuilder.cpp

  Log Message:
  -----------
  [NFC][LLVM] Rename IRBuilder/LLVM C API params for overload types (#191674)

Rename IRBuilder and LLVM C API function params for overload types to
use names to better reflect their meaning.


  Commit: 2c28158cb74a78226e95b8bc90c88154eb56a742
      https://github.com/llvm/llvm-project/commit/2c28158cb74a78226e95b8bc90c88154eb56a742
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/IR/Intrinsics.cpp
    M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp

  Log Message:
  -----------
  [LLVM][Intrinsics] Eliminate range check for IIT table in `DecodeIITType` (#190260)

`DecodeIITType` does a range check each time the next entry from the IIT
encoding table is read. This is required to handle IIT encodings that
are in-lined into the `IIT_Table` entries, since the `IITEntries` array
in `getIntrinsicInfoTableEntries` is terminated after the last non-zero
nibble is seen in the inlined encoding (but that may not be the actual
end). Change this code to instead have the `IITEntries` array for the
inlined case point to the full `IITValues` array payload + a IIT_Done
terminator, so that such entries look exactly like they would if they
were encoded in the long encoding table and then remove the range check
in `DecodeIITType` to streamline that code a bit.

Additionally, change some use if 0s (in loop conditions and default
constructed terminator in the IIT long encoding table) to explicitly use
IIT_Done to clarify the code better.

Also use `consume_front()` in a few places instead of `front()` followed
by `slice(1)`.


  Commit: 00328f10ac90d4d254efed0af5bd193ff731841b
      https://github.com/llvm/llvm-project/commit/00328f10ac90d4d254efed0af5bd193ff731841b
  Author: 🍌Shawn <m18824909883 at 163.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp

  Log Message:
  -----------
  [flang][NFC] Fix typo in comment for multi-image environment (#191722)


  Commit: 7b94b9ae13c69075a85d3af8b987a38610fbce5a
      https://github.com/llvm/llvm-project/commit/7b94b9ae13c69075a85d3af8b987a38610fbce5a
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M libclc/clc/lib/generic/workitem/clc_get_sub_group_size.cl

  Log Message:
  -----------
  [libclc] Refine generic __clc_get_sub_group_size with fast full sub-group path (#188895)

Add a fast path for the common case that total work-group size is
multiple of max sub-group size.

The fallback path is ported from amdgpu/workitem/clc_get_sub_group_size.cl.

Compiler can generate predicated instructions for the fallback path to
avoid branches.


  Commit: 507d82339230990d65ccfe753d0fd3e620c82b71
      https://github.com/llvm/llvm-project/commit/507d82339230990d65ccfe753d0fd3e620c82b71
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/CodeGen/X86/AMX/amx-across-func.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution-dbg-msg.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2011-11-29-postincphi.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/postinc-iv-used-by-urem-and-udiv.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/pr62660-normalization-failure.ll
    M llvm/test/Transforms/LoopStrengthReduce/duplicated-phis.ll

  Log Message:
  -----------
  [LSR] Use TTI to check if zero-start IV is free in getSetupCost (#190587)

This avoids a downstream regression where LSR prefers {-1,+1}.
When constant zero typically doesn't require preheader initialization
(queried via TTI::getIntImmCost), consider it as free in getSetupCost.

Three test changes are improvements: amx-across-func.ll,
2011-11-29-postincphi.ll and pr62660-normalization-failure.ll.
Other test changes are neutral.


  Commit: 121f5a96ff38ec0c5d5f7274b1b0ca0df26a1cee
      https://github.com/llvm/llvm-project/commit/121f5a96ff38ec0c5d5f7274b1b0ca0df26a1cee
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M libclc/CMakeLists.txt
    M libclc/README.md
    M libclc/test/CMakeLists.txt
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [libclc] Enable LLVM_RUNTIME_TARGETS in build system (#189892)

libclc target is now passed in from LLVM_RUNTIME_TARGETS.

The old configure flow based on `-DLLVM_ENABLE_RUNTIMES=libclc` is
deprecated because libclc no longer has a default target.
`-DLLVM_ENABLE_RUNTIMES=libclc -DLLVM_RUNTIME_TARGETS="<target-triple>"`
still works but it is considered legacy.

The new standard build requires:
Each target must now be selected explicitly on the CMake command line
through the runtimes target-specific cache entry and
LLVM_RUNTIME_TARGETS.
For example:
-DRUNTIMES_amdgcn-amd-amdhsa-llvm_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="amdgcn-amd-amdhsa-llvm"
-DRUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="nvptx64-nvidia-cuda"
-DRUNTIMES_clspv--_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="clspv--"
-DRUNTIMES_clspv64--_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="clspv64--"
-DRUNTIMES_spirv-mesa3d-_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="spirv-mesa3d-"
-DRUNTIMES_spirv64-mesa3d-_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="spirv64-mesa3d-"

To build multiple targets, pass them as a semicolon-separated list in
`LLVM_RUNTIME_TARGETS` and provide a matching
`RUNTIMES_<target-triple>_LLVM_ENABLE_RUNTIMES=libclc` entry for each
target.

Updated README.md to document the new build flow.

---------

Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>


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

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

  Log Message:
  -----------
  [AArch64] Skip non-pseudo instructions in AArch64ExpandPseudoInsts (#191395)

AArch64::getSVEPseudoMap calls are visible in compile-time profiles even on
non-SVE targets. I think CodeGenMapTable could be improved, it's currently
emitting a constexpr array sorted by opcode and a hand-rolled binary search
over that array, however the AArch64ExpandPseudoInsts pass is missing a simple
check for pseudo instructions before expanding. This avoids the compile-time
cost.

https://llvm-compile-time-tracker.com/compare.php?from=0d42811ea4658b3e86a3801b3bc848324f8540f8&to=9e2434de84577ca1c5e6de8fe8d75c6b8e282b3f&stat=instructions%3Au


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/RISCV/split-udiv-by-constant.ll
    M llvm/test/CodeGen/RISCV/split-urem-by-constant.ll
    M llvm/test/CodeGen/X86/i128-udiv.ll

  Log Message:
  -----------
  [TargetLowering] Support larger divisors in expandDIVREMByConstant. (#191119)

Instead of bailing out if the original divisor exceeds HBitWidth,
allow divisors that fit in HBitWidth after removing trailing zeros.

PartialRem now needs a low and high part. Shifting RemL left
now needs to handle shifting into RemH.

Assisted-by: Claude Sonnet 4.5


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

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

  Log Message:
  -----------
  [SLP] Fix handling of strided loads during re-vectorization (#191294)

Fixes #191292


  Commit: 682ae8b626393ad77afebebda912f14f3c55a003
      https://github.com/llvm/llvm-project/commit/682ae8b626393ad77afebebda912f14f3c55a003
  Author: Arun Thangamani <arun.thangamani at intel.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
    M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir

  Log Message:
  -----------
  [mlir][x86] Lower packed type vector.contract to AMX dot-product (online-packing) (#188192)

A transform pass to lower flat layout `vector.contract` operation to (a)
amx.tile_mulf for BF16, or (b) amx.tile_muli for Int8 packed types via
`online` packing.

TODOs: On an another `patch` planned to re-factor this pass + retiring
`convert-vector-to-amx` pass.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll

  Log Message:
  -----------
  [RISCV] Remove codegen for vp_{u,s}{add,sub}sat (#191639)

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

This splits off 4 intrinsics from #179622.


  Commit: 1d18740d307bb30cca9e9c8b2dc15e161d8e10f0
      https://github.com/llvm/llvm-project/commit/1d18740d307bb30cca9e9c8b2dc15e161d8e10f0
  Author: Amit Tiwari <amtiwari at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/AST/ast-dump-openmp-split.c
    A clang/test/Analysis/split_analyze.c
    A clang/test/Index/openmp-split.c
    A clang/test/OpenMP/split_ast_print.cpp
    A clang/test/OpenMP/split_codegen.cpp
    A clang/test/OpenMP/split_composition.cpp
    A clang/test/OpenMP/split_compound_associated.cpp
    A clang/test/OpenMP/split_counts_constexpr.cpp
    A clang/test/OpenMP/split_counts_ice.c
    A clang/test/OpenMP/split_counts_verify.c
    A clang/test/OpenMP/split_diag_errors.c
    A clang/test/OpenMP/split_distribute_inner_split.cpp
    A clang/test/OpenMP/split_driver_smoke.c
    A clang/test/OpenMP/split_iv_types.c
    A clang/test/OpenMP/split_loop_styles.cpp
    A clang/test/OpenMP/split_member_ctor.cpp
    A clang/test/OpenMP/split_messages.cpp
    A clang/test/OpenMP/split_nested_outer_only.c
    A clang/test/OpenMP/split_offload_codegen.cpp
    A clang/test/OpenMP/split_omp_fill.c
    A clang/test/OpenMP/split_openmp_version.cpp
    A clang/test/OpenMP/split_opts_simd_debug.cpp
    A clang/test/OpenMP/split_parallel_split.cpp
    A clang/test/OpenMP/split_pch_codegen.cpp
    A clang/test/OpenMP/split_range_for_diag.cpp
    A clang/test/OpenMP/split_serialize_module.cpp
    A clang/test/OpenMP/split_teams_nesting.cpp
    A clang/test/OpenMP/split_template_nttp.cpp
    A clang/test/OpenMP/split_templates.cpp
    A clang/test/OpenMP/split_trip_volatile.c
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    A openmp/runtime/test/transform/split/fill_first.c
    A openmp/runtime/test/transform/split/foreach.cpp
    A openmp/runtime/test/transform/split/intfor.c
    A openmp/runtime/test/transform/split/intfor_negstart.c
    A openmp/runtime/test/transform/split/iterfor.cpp
    A openmp/runtime/test/transform/split/leq_bound.c
    A openmp/runtime/test/transform/split/lit.local.cfg
    A openmp/runtime/test/transform/split/negative_incr.c
    A openmp/runtime/test/transform/split/nonconstant_incr.c
    A openmp/runtime/test/transform/split/parallel-split-intfor.c
    A openmp/runtime/test/transform/split/single_fill.c
    A openmp/runtime/test/transform/split/three_segments.c
    A openmp/runtime/test/transform/split/trip_one.c
    A openmp/runtime/test/transform/split/unsigned_iv.c
    A openmp/runtime/test/transform/split/zero_first_segment.c

  Log Message:
  -----------
  [Clang][OpenMP] Implement Loop splitting `#pragma omp split` directive (#190397)

Implement Loop-splitting #pragma omp split construct with counts clause.
Posting this PR after the revert of PR
([#183261](https://github.com/llvm/llvm-project/pull/183261))

Changes: 

1. Added `openmp/runtime/test/transform/split/lit.local.cfg`
2. Enforced ICE for `counts` clause items in `SemaOpenMP.cpp` (minor
change)
3. Updated tests `split_messages.cpp`, `split_omp_fill.cpp`,
`split_diag_errors.c`.
4. Removed `nonconstant_count.cpp`


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

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

  Log Message:
  -----------
  [AArch64] Fix legalization of bf16 ldexp. (#190805)

Similar to fp16 ldexp, we cannot create illegal types for bf16 during
lowering so should promote.


  Commit: c76cb2ba3c43d09d4a273bf0fe14be55789d9370
      https://github.com/llvm/llvm-project/commit/c76cb2ba3c43d09d4a273bf0fe14be55789d9370
  Author: Chandana Mudda <quic_csinderi at quicinc.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    A clang/test/Analysis/regionstore-zero-init.cpp

  Log Message:
  -----------
  [analyzer] Refine default binding preservation in RegionStore (#189319)

Narrow the new setImplicitDefaultValue() guard so existing default
bindings are preserved only for aggregate-like cases.

The previous change was too broad and regressed normal
zero-initialization, causing new int[10]{} to be modeled as undefined
and emit a garbage-value warning instead of the expected analyzer
reports.


  Commit: fe74f12a9e71abb89f2732bb50df4a8271f9d1a1
      https://github.com/llvm/llvm-project/commit/fe74f12a9e71abb89f2732bb50df4a8271f9d1a1
  Author: Tomer Shafir <tomer.shafir8 at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/ScheduleDAG.h
    M llvm/lib/CodeGen/ScheduleDAG.cpp

  Log Message:
  -----------
  [MISched] Extract `isClustered()` method on SUnit (NFC) (#191700)

This patch encapsulates the check for wether a `SUnit` is clustered,
rather than letting it scatter across call sites. Currently there is
only a single user, but more users can show up, and I think it provides
a cleaner API even for that single user.


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

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

  Log Message:
  -----------
  [VPlan] Assert ComputeReductionResult isn't predicated in middle block. NFC (#191767)


  Commit: 53e01f1f6471d0d7c6db3b793e1005386d09e8c2
      https://github.com/llvm/llvm-project/commit/53e01f1f6471d0d7c6db3b793e1005386d09e8c2
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [mlir][tosa] Improve matmul verifier to check shape information (#191300)

Updates the matmul verifier to check input and output shapes are valid.

Also adds some tests for verifier failures which were previously not
covered.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    A llvm/test/Transforms/LoopVectorize/tail-folding-constant-trip-counts.ll

  Log Message:
  -----------
  [VPlan] Directly check if middle block is pred of scalar preheader. (#191768)

hasScalarTail currently returns incorrect results when queried after
runtime checks have been added. Generalize and harden by checking if the
middle block is a predecessor of the scalar preheader.


  Commit: abece588672ebf849e393077ded2daa88be06802
      https://github.com/llvm/llvm-project/commit/abece588672ebf849e393077ded2daa88be06802
  Author: Mao Chuanjun <10255501521 at stu.ecnu.edu.cn>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp

  Log Message:
  -----------
  [clang-tidy] Fix a false positive when converting a bool to a signed integer type (#191696)

Fix #191337


  Commit: 923340b3786470c140598fa7203050786957c484
      https://github.com/llvm/llvm-project/commit/923340b3786470c140598fa7203050786957c484
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/placement-new.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix placement new on multidimensional array elements (#191766)

The direct base of those pointers is not a union, i.e. `getRecord()`
returns `nullptr`.


  Commit: 9a5bc720257024b44cf9f4c63741be53c4fba4c2
      https://github.com/llvm/llvm-project/commit/9a5bc720257024b44cf9f4c63741be53c4fba4c2
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/test/CodeGen/AArch64/sme-remarks.c
    M llvm/docs/AArch64SME.rst
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/lib/Target/AArch64/AArch64SMEAttributes.cpp
    M llvm/lib/Target/AArch64/AArch64SMEAttributes.h
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.h
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
    R llvm/lib/Target/AArch64/SMEABIPass.cpp
    M llvm/test/CodeGen/AArch64/aarch64-sme-za-call-lowering.ll
    M llvm/test/CodeGen/AArch64/sme-abi-save-call-remarks.ll
    M llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
    M llvm/test/CodeGen/AArch64/sme-dynamic-tls.ll
    M llvm/test/CodeGen/AArch64/sme-lazy-save-call.ll
    M llvm/test/CodeGen/AArch64/sme-lazy-save-windows.ll
    M llvm/test/CodeGen/AArch64/sme-lazy-sve-nzcv-live.mir
    M llvm/test/CodeGen/AArch64/sme-new-za-function.ll
    R llvm/test/CodeGen/AArch64/sme-new-zt0-function.ll
    M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
    M llvm/test/CodeGen/AArch64/sme-shared-za-interface.ll
    M llvm/test/CodeGen/AArch64/sme-za-control-flow.ll
    M llvm/test/CodeGen/AArch64/sme-za-exceptions.ll
    M llvm/test/CodeGen/AArch64/sme-za-function-with-many-blocks.ll
    M llvm/test/CodeGen/AArch64/sme-za-lazy-save-buffer.ll
    M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
    M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
    M llvm/test/Verifier/sme-attributes.ll
    M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
    M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn

  Log Message:
  -----------
  [AArch64][SME] Remove SelectionDAG SME ABI lowering (#190950)

This patch removes the `-aarch64-new-sme-abi=<true/false>` option (which
has been defaulted to "true" since LLVM 22), and removes the Selection
DAG lowering for the SME ABI.

There should be no functional changes for the default path
(`-aarch64-new-sme-abi=true`).


  Commit: ec944346ddcb560f6d5dbb0faa5850f9baed0476
      https://github.com/llvm/llvm-project/commit/ec944346ddcb560f6d5dbb0faa5850f9baed0476
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/log2p1f16.h
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Fix: add log2p1f16 to shared math (#189179)

This PR intends to add the log2p1f16 function to shared math, along with
adding tests for it and bazel which was missed in
[f0ce26d](https://github.com/llvm/llvm-project/commit/f0ce26d06d822fd6985d227dc1be9d218977e334).


  Commit: bdc11929aa0b4dbcd0f06ade1bc54b45b5b8bf8b
      https://github.com/llvm/llvm-project/commit/bdc11929aa0b4dbcd0f06ade1bc54b45b5b8bf8b
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/log10p1f16.h
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Fix: add log10p1f16 to shared math (#189185)

This PR intends to add the log10p1f16 function to shared math, along
with adding tests for it and Bazel which was missed in
[a7d1a87](https://github.com/llvm/llvm-project/commit/a7d1a87b30ce626678d33fe1c12e647f7ce4fb20).


  Commit: f65301d637076db2232ca6c6d569cc0674e5858a
      https://github.com/llvm/llvm-project/commit/f65301d637076db2232ca6c6d569cc0674e5858a
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp

  Log Message:
  -----------
  [Clangd] Don't traverse ConceptDecl in typeForNode (#191654)

ConceptDecl doesn't have an associated template declaration, and it
doesn't introduce a type either.

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


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/SelfExecutorProcessControl.h
    M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp

  Log Message:
  -----------
  [ORC] Forward declare DylibManager in ExecutorProcessControl.h. (#191771)


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

  Changed paths:
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/test/std/containers/views/mdspan/mdspan/element_type.verify.cpp

  Log Message:
  -----------
  [libc++] Fix the mdspan ElementType complete object type mandate (#191703)

Fixes: #191688


  Commit: 75ca0f71d209058d1f565d7529e6d1b117129911
      https://github.com/llvm/llvm-project/commit/75ca0f71d209058d1f565d7529e6d1b117129911
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll

  Log Message:
  -----------
  [AArch64] Don't forcefully add ORE to O0 pipeline (#191476)

Construct the OptimizationRemarkEmitter in AArch64StackTagging on demand
if not available and requires, this avoids computing several analysis in
all pipelines.


  Commit: 358f3d7402cd3e4849f771abb4448411b76d21ec
      https://github.com/llvm/llvm-project/commit/358f3d7402cd3e4849f771abb4448411b76d21ec
  Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [libc][bazel][math][NFC] Fix deps (#191785)


  Commit: d043b9e38dd9494c3c56018b2cbaf44fe205b110
      https://github.com/llvm/llvm-project/commit/d043b9e38dd9494c3c56018b2cbaf44fe205b110
  Author: Matthew Nagy <matthew.nagy at sony.com>
  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

  Log Message:
  -----------
  [TySan][Sanitizer Common] Make TySan compatible with sanitizer common… (#183310)

… features and test suite
This involved:
- Implementing the `__sanitizer_print_stack_trace` interface
- Adding the common signal handlers
- Correctly set the tool name
- Cache the binary name before running


  Commit: 200e8c589e41f561b8dd7ed7c9b5e5ba26ab8300
      https://github.com/llvm/llvm-project/commit/200e8c589e41f561b8dd7ed7c9b5e5ba26ab8300
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
    M mlir/test/Interfaces/InferShapedTypeOpInterface/resolve-shaped-type-result-dims.mlir

  Log Message:
  -----------
  [MLIR][MemRef] Fix DimOfReifyRankedShapedTypeOpInterface IR-change on failure (#188973)

DimOfReifyRankedShapedTypeOpInterface::matchAndRewrite called
reifyDimOfResult via the PatternRewriter. Some implementations delegate
to the coarse-grained reifyResultShapes, which creates ops for ALL
dimensions (e.g. a tensor.dim) before discovering that a specific
dimension is not reifiable (signalled by an empty OpFoldResult).

The pattern then returned failure() once it saw the empty OpFoldResult,
but the newly created ops were already in the IR. Under
MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS this triggered "pattern
returned failure but IR did change".

Fix: record the op immediately before the matched dim op, so we can
identify ops inserted during the reification attempt. If reification
returns an empty (unreifiable) OpFoldResult, erase those newly created
ops before returning failure, restoring the IR to its original state.

Assisted-by: Claude Code


  Commit: 91c0ba6de8e742fc92bf166f508157c6fe8b9df4
      https://github.com/llvm/llvm-project/commit/91c0ba6de8e742fc92bf166f508157c6fe8b9df4
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Transforms/ACCLoopTiling.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsTiling.cpp
    M mlir/test/Dialect/OpenACC/acc-loop-tiling.mlir

  Log Message:
  -----------
  [OpenACC] Fix pattern API check failures in acc-loop-tiling pass (#188968)

Two bugs were introduced/revealed by
MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS:

1. `ACCLoopTilingImpl::matchAndRewrite` returned `success()` for loops
with no tile values, triggering "pattern returned success but IR did not
change". Fixed by returning `failure()` instead.

2. `moveOpsAndReplaceIVs` moved ops between blocks via `splice()` and
updated operands via `replaceAllUsesInRegionWith()` without notifying
the rewriter. This caused "operation fingerprint changed" errors since
the moved ops' parent op and operands changed without
`startOpModification`/ `finalizeOpModification`. Fixed by wrapping all
moved ops (and their nested ops) with rewriter modification
notifications.

Assisted-by: Claude Code


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

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/bitcast.ll

  Log Message:
  -----------
  [AArch64][GISel] Clamp bitcast to v2i64 (#191360)

This helps to not lower, improving the number of nodes that we expand
into and improving the quality of the generated code.

Originally a part of #177158 by Ryan Cowan


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp

  Log Message:
  -----------
  [ORC] Forward declare MemoryAccess in ExecutorProcessControl.h. (#191778)


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

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

  Log Message:
  -----------
  [NFC][SPIR-V] Use PatternMatch combinators in SPIRVEmitIntrinsics (#189554)

Replace `dyn_cast<IntrinsicInst> + getIntrinsicID()` chains with
PatternMatch combinators where applicable


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/SPIRV/SPIRVTypeInst.cpp
    M llvm/lib/Target/SPIRV/SPIRVTypeInst.h
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bindless_images/bindless_images_generic.ll

  Log Message:
  -----------
  [SPIR-V] Add Int64ImageEXT capability for OpTypeImage with 64-bit integer sampled type (#190742)

Fix spirv-val failure:
```
error: line 20: Capability Int64ImageEXT is required when using Sampled Type of 64-bit int
  %spirv_Image = OpTypeImage %ulong 3D 0 0 0 0 Unknown ReadOnly
```

Detect when OpTypeImage uses a 64-bit integer as its sampled type and
automatically add the Int64ImageEXT capability and
SPV_EXT_shader_image_int64 extension

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


  Commit: 8dcd4713550e0e8ceffad49674499672a92069f1
      https://github.com/llvm/llvm-project/commit/8dcd4713550e0e8ceffad49674499672a92069f1
  Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Correct description of predicate.enable MD (#191496)

The documentation incorrectly stated that this metadata enables/disables
vectorization, but it actually controls predication. 
Also clarify that enabling predication implicitly enables vectorization.


  Commit: 137c53cbc844c2e643825e430bd9aa84b117f8bd
      https://github.com/llvm/llvm-project/commit/137c53cbc844c2e643825e430bd9aa84b117f8bd
  Author: Fady Farag <com.webkit.iidmsa at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/test/CodeGen/2004-02-13-Memset.c

  Log Message:
  -----------
  [clang][test] Fix 32-bit bot failures after cc419f185e13 (#191551)

Use `{{.*}}` instead of `i64` for `memset` size type, as 32-bit
platforms use `i32`.


  Commit: 55d7a0575a70322b535ec81c1840508042e52297
      https://github.com/llvm/llvm-project/commit/55d7a0575a70322b535ec81c1840508042e52297
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
    M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir

  Log Message:
  -----------
  [MLIR][SPIRV] Deduce Shader capability for DescriptorSet/Binding decorations (#188743)

UpdateVCEPass only queried capabilities via QueryCapabilityInterface and
SPIRV type capabilities, but did not check capabilities implied by
decoration attributes on ops. Specifically, the DescriptorSet and
Binding decorations—represented by the `binding` and `descriptor_set`
attributes on `spirv.GlobalVariable`—require the `Shader` capability per
the SPIR-V spec Decoration table, but this was not deduced.

Add an explicit check in UpdateVCEPass: when a `spirv.GlobalVariable`
has a `binding` or `descriptor_set` attribute, require the `Shader`
capability.

Part of #168357

Assisted-by: Claude Code


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

  Changed paths:
    M openmp/runtime/src/kmp_alloc.cpp

  Log Message:
  -----------
  [openmp] Silence warnings when building on Windows (#191556)

Fixes unused-but-set globals on non-Unix paths in kmp_alloc.cpp


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

  Changed paths:
    M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/interception/CMakeLists.txt
    M compiler-rt/lib/ubsan/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] clang-cl: skip MSVC external-header probe; -std=c++ for unit-test compiles (#191564)

1. `check_cxx_compiler_flag` marked `COMPILER_RT_HAS_EXTERNAL_FLAG` true
for clang-cl, so `/experimental:external` and `/external:anglebrackets`
were passed and clang-cl warned they were unused. Now only probe with
real MSVC (not Clang); set the flag false otherwise; rely on that in
asan/interception/ubsan.

2. Custom compile lines for unit tests didn’t get C++17, so headers hit
`-Wc++17-extensions` (e.g. `constexpr if` / message-less `static_assert`
in FuzzedDataProvider / asan_fake_stack). Now append
`-std=c++${CMAKE_CXX_STANDARD}` or `-std=c++17` for C++ sources in
`clang_compile()` for both standalone and non-standalone builds.


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

  Changed paths:
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp

  Log Message:
  -----------
  [GSYM] Silence cast warning (#191561)

Previously clang-cl was generating "warning: comparison of integers of
different signs".


  Commit: 73dd62d41ff6caee880582e4ce11188e4460e9b8
      https://github.com/llvm/llvm-project/commit/73dd62d41ff6caee880582e4ce11188e4460e9b8
  Author: Minsoo Choo <minsoochoo0122 at proton.me>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp

  Log Message:
  -----------
  [lldb][Process/FreeBSDKernelCore] Improve error handling (#191423)

Improve error handling with the following changes:

- If `kvm_open2()` fails in `DoLoadCore()`, log error with a message
obtained from the function.
- Return false or continue for loop if memory read fails.
- Rename `!error.Success()` to `error.Fail()` for readability (NFC).

Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>


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

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/Makefile
    R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/TestCppNonTypeTemplateParamPtrToMember.py
    R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/main.cpp

  Log Message:
  -----------
  Revert "[lldb][DWARFASTParserClang] Handle pointer-to-member-data non-type te…" (#191798)

Reverts llvm/llvm-project#189510

Crashes lldb on certain type of debug info. See
https://github.com/llvm/llvm-project/pull/189510#issuecomment-4235929442
for more details.


  Commit: f3fce677f2a06e857433b42c5b5a38d554d79699
      https://github.com/llvm/llvm-project/commit/f3fce677f2a06e857433b42c5b5a38d554d79699
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/test/mlir-tblgen/op-format-invalid.td
    M mlir/test/mlir-tblgen/op-format-spec.td
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  [MLIR][ODS] Error on optional attribute used outside optional group in assemblyFormat (#188726)

Using an optional attribute directly in assemblyFormat (e.g., `$attr
attr-dict`) without wrapping it in an optional group causes the
generated printer to call `printAttribute` with a null `Attribute` when
the attribute is absent. This leads to a crash in the alias initializer
when it calls `getAlias` on a null attribute.

Add a validation check in `OpFormatParser::verifyAttributes` that
detects this pattern and emits a diagnostic error with a helpful note
pointing users to the correct `($attr^)?` syntax.

Fixes #58064

Assisted-by: Claude Code


  Commit: 65f4e709e1e0edb650a5ff5263afcd5012d04228
      https://github.com/llvm/llvm-project/commit/65f4e709e1e0edb650a5ff5263afcd5012d04228
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/docs/dil-expr-lang.ebnf
    M lldb/include/lldb/ValueObject/DILAST.h
    M lldb/include/lldb/ValueObject/DILEval.h
    M lldb/include/lldb/ValueObject/DILLexer.h
    M lldb/include/lldb/ValueObject/DILParser.h
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/ValueObject/DILAST.cpp
    M lldb/source/ValueObject/DILEval.cpp
    M lldb/source/ValueObject/DILLexer.cpp
    M lldb/source/ValueObject/DILParser.cpp
    M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py

  Log Message:
  -----------
  [lldb] Add binary multiplication, division, remainder to DIL (#187281)

Add binary arithmetic multiplication, division, remainder to DIL.
This patch also passes DILMode to the parser to check if binary
multiplication is allowed by the mode. This cannot be done in the lexer
alone, because it allows token `*` as a dereference operator for legacy
mode, but that token could also be a binary multiplication allowed only
in full mode.


  Commit: 1c1d0cd30edf8134585ab914efdb7bf2f781958c
      https://github.com/llvm/llvm-project/commit/1c1d0cd30edf8134585ab914efdb7bf2f781958c
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Target/LLVMIR/Import/module-flags.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [MLIR][LLVMIR] Handle MDTuple-of-MDStrings module flags (e.g. riscv-isa) (#188741)

The "riscv-isa" LLVM module flag stores its value as an MDTuple
containing MDStrings (e.g. `\!{\!"rv64i2p1", \!"m2p0"}`). Previously,
this fell through the unrecognized-key path in
`convertModuleFlagValueFromMDTuple`, which emitted a warning and dropped
the flag during import.

This patch adds generic handling for MDTuples whose operands are all
MDStrings:
- Import: convert to `ArrayAttr<StringAttr>` in
`convertModuleFlagValueFromMDTuple`
- Export: convert `ArrayAttr<StringAttr>` back to an MDTuple of
MDStrings in `convertModuleFlagValue`, enabling a lossless round-trip
- Verifier: allow `ArrayAttr<StringAttr>` as a valid `ModuleFlagAttr`
value for keys not otherwise handled by specific verifier branches

Fixes #188122

Assisted-by: Claude Code


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

  Changed paths:
    M flang/test/Lower/Intrinsics/transpose.f90
    M flang/test/Lower/Intrinsics/transpose_opt.f90
    M flang/test/Lower/Intrinsics/trim.f90
    M flang/test/Lower/Intrinsics/ubound.f90
    M flang/test/Lower/Intrinsics/ubound01.f90

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

Tests converted from test/Lower/Intrinsics: transpose.f90,
transpose_opt.f90, trim.f90, ubound.f90, ubound01.f90


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

  Changed paths:
    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:
  -----------
  [TySan][Sanitizer Common] Enable TySan testing in the sanitizer commo… (#191385)

…n test suite

Secondary pr to enable tests after
https://github.com/llvm/llvm-project/pull/183310 enables the features


  Commit: e455e6c9ecae01da8c2959d7dfefa7631373efcb
      https://github.com/llvm/llvm-project/commit/e455e6c9ecae01da8c2959d7dfefa7631373efcb
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/darwin/aarch64/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/config/gpu/spirv/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/fuzzing/string/CMakeLists.txt
    A libc/fuzzing/string/strnlen_s_differential_fuzz.cpp
    M libc/include/CMakeLists.txt
    M libc/include/string.yaml
    M libc/src/string/CMakeLists.txt
    M libc/src/string/string_utils.h
    M libc/src/string/strnlen.cpp
    A libc/src/string/strnlen_s.cpp
    A libc/src/string/strnlen_s.h
    M libc/test/src/string/CMakeLists.txt
    A libc/test/src/string/strnlen_s_test.cpp
    M libc/utils/docgen/string.yaml

  Log Message:
  -----------
  [libc] Add Annex K strnlen_s function (#186112)

This patch adds the `strnlen_s` function from Annex K.

In order to reduce duplication between `strnlen` and `strnlen_s`, the
common logic has been extracted to a new internal function which both
now call.

In addition to the function definition, the patch adds a unit test and a
fuzzing test.


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

  Changed paths:
    M llvm/test/CodeGen/SPIRV/logical-struct-access.ll

  Log Message:
  -----------
  [NFC][SPIR-V] Fix logical-struct-access.ll to pass spirv-val validation (#191792)

OpReturnValue with a pointer type is invalid in SPIR-V Logical
addressing model (Vulkan). The functions in the test return
OpAccessChain results, which are pointers

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


  Commit: f9c9f94f13c88be0626d5a4e453f5494de0e106a
      https://github.com/llvm/llvm-project/commit/f9c9f94f13c88be0626d5a4e453f5494de0e106a
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
    A llvm/test/CodeGen/AArch64/sign-return-address-pauthlr-slh.ll

  Log Message:
  -----------
  [AArch64] Mark X16 as clobbered in PAUTH_EPILOGUE for hint-based PAuthLR (#175991)

When users request branch protection with PAuthLR on targets that do not
support the PAuthLR instructions, the PAUTH_EPILOGUE falls back to using
hint-space instructions. This fallback sequence uses X16 as a temporary
register, but X16 was not listed in the clobber set.

Because Speculative Load Hardening uses X16, this omission made SLH
incompatible with this PAUTH_EPILOGUE path.

Mark X16 as clobbered so the compiler does not assume X16 is preserved
across the epilogue, restoring compatibility with Speculative Load
Hardening and avoiding incorrect register liveness assumptions. The
clobber is added in C++ rather than TableGen, as X16 is only clobbered
when PAuthLR is requested as a branch protection variation and should
not be treated as clobbered unconditionally.


  Commit: e572b0c1e3d494d4fd44a76dc903a15bd559b40d
      https://github.com/llvm/llvm-project/commit/e572b0c1e3d494d4fd44a76dc903a15bd559b40d
  Author: ShashwathiNavada <shashwathinavada at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Fir/dispatch.f90
    M flang/test/Lower/CUDA/cuda-allocatable-device.cuf
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    M flang/test/Lower/CUDA/cuda-gpu-managed.cuf
    M flang/test/Lower/CUDA/cuda-mod.cuf
    M flang/test/Lower/CUDA/cuda-pointer-sync.cuf
    M flang/test/Lower/HLFIR/procedure-pointer-in-generics.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/OpenMP/block-use-predetermined-privatization.f90
    M flang/test/Lower/OpenMP/cray-pointers01.f90
    M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
    M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association.f90
    M flang/test/Lower/allocatable-globals.f90
    M flang/test/Lower/array-elemental-calls-char-dynamic.f90
    M flang/test/Lower/c-interoperability.f90
    M flang/test/Lower/dense-attributed-array.f90
    M flang/test/Lower/dispatch.f90
    A flang/test/Lower/extrn_subp.f90
    M flang/test/Lower/pointer-default-init.f90
    M flang/test/Lower/polymorphic.f90

  Log Message:
  -----------
  [Flang] External subprograms should be allowed as proc_target in procedure pointers. (#183268)

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

This patch updates an existing external procedure symbol with the
correct function signature and argument attributes, so it can be safely
used as a proc_target without signature conflicts.

---------

Co-authored-by: jeanPerier <jean.perier.polytechnique at gmail.com>


  Commit: b9d6efebf9c6527c389868caa4dfcbdc0b8078a5
      https://github.com/llvm/llvm-project/commit/b9d6efebf9c6527c389868caa4dfcbdc0b8078a5
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.cpp
    M clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.h
    A clang-tools-extra/clang-tidy/utils/CheckUtils.h
    A clang-tools-extra/test/clang-tidy/checkers/fuchsia/temporary-objects-deprecated-alias.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp

  Log Message:
  -----------
  [clang-tidy] Emit warning when user is using deprecated `zircon` checks (#189522)

Add `utils::diagDeprecatedCheckAlias` so checks can detect whether they
are running under a deprecated name without enabling the new names.

This commit also comes with an example with `zircon` module. It is
deprecated in 22 release but we didn't provide a note for it before.


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

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

  Log Message:
  -----------
  [ORC] Sink a #include in SimpleRemoteEPC.h, and remove another. (#191797)

These #includes are only needed in the SimpleRemoteEPC.cpp
implementation.


  Commit: 80d72ae2cec9b7625e537a917d11af04c50699a6
      https://github.com/llvm/llvm-project/commit/80d72ae2cec9b7625e537a917d11af04c50699a6
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Target/ExecutionContext.h

  Log Message:
  -----------
  [lldb] Remove declarations of two non-existent constructors (NFC) (#191622)

They have never existed since the initial public checkin.


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

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/test/AST/ByteCode/placement-new.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix activating primitive array elements (#191772)

For primitive array elements, we would accidentally activate the element
and then immediate de-activate the array root, which is wrong. Ignore
the element from the beginning to the later check never even compares
with the element.


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

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

  Log Message:
  -----------
  [clang][bytecode] Don't check anonymous union in memcpy op (#191783)

It's fine if they are uninitialized.


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

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Linux/internal_symbolizer.cpp
    M compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cpp

  Log Message:
  -----------
  XFAIL symbolizer test for TySan (#191810)


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    A llvm/test/Transforms/LoopVectorize/epilog-vectorization-fixed-order-recurrences.ll
    A llvm/test/Transforms/LoopVectorize/epilog-vectorization-fmaxnum-reductions.ll

  Log Message:
  -----------
  [LV] Extend epilogue vectorization test coverage with dead FORs/FMinMax. (#191799)

Extend test coverage with dedicated epilogue vectorization tests for
dead first-order recurrences and FMinMaxNum reductions.

Add users to FORs in existing tests where the dead FORs appeared
unintentional.


  Commit: a0427859fb701039445e3da7eaab0b5aa97cbbf2
      https://github.com/llvm/llvm-project/commit/a0427859fb701039445e3da7eaab0b5aa97cbbf2
  Author: Amit Tiwari <amtiwari at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [CIR][NFC] Add NYI for OMPSplitDirective stmt (#191791)

As requested by @erichkeane here:
https://github.com/llvm/llvm-project/pull/190329#issuecomment-4183615635


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/test/CodeGen/SPIRV/transcoding/ldexp.ll
    A llvm/test/CodeGen/SPIRV/transcoding/pown.ll
    A llvm/test/CodeGen/SPIRV/transcoding/rootn.ll

  Log Message:
  -----------
  [SPIR-V] Fix type mismatch in scalar-to-vector promotion for mixed-type builtins (#190969)

When promoting scalar arguments to vectors for builtins like `ldexp`,
`pown`, and `rootn`, use the correct vector type matching the argument
element type instead of always using the return type: these builtins
take an integer argument but at the same time have floating point return
type

Fix `ldexp` test that does not pass spirv-val and add similar tests for
`pown` and `rootn`

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


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

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/reverse-load-scatter.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/reverse-load-scatter.ll

  Log Message:
  -----------
  [LV] Add test for reverse load with scatter store. nfc (#189928)


  Commit: d012e0380a8f1e16b2720d98b96197084f2e1207
      https://github.com/llvm/llvm-project/commit/d012e0380a8f1e16b2720d98b96197084f2e1207
  Author: Tim Gymnich <tim at gymni.ch>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/test/CodeGen/AArch64/known-never-nan.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-minmax-const-combine.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/known-fpclass-phi.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-clamp-minmax-const.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-fmed3-minmax-const.mir
    M llvm/test/CodeGen/AMDGPU/fmed3.ll
    M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp

  Log Message:
  -----------
  [GISel] Use GISelValueTracking in isKnownNeverNaN (#190542)

Pass GISelValueTracking* through isKnownNeverNaN and isKnownNeverSNaN so
that the implementation can call computeKnownFPClass to derive NaN
information from value tracking, rather than only looking at flags and
direct constant definitions. Update all callers.

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


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

  Changed paths:
    M bolt/lib/Core/AddressMap.cpp
    M bolt/lib/Rewrite/GNUPropertyRewriter.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M lldb/source/DataFormatters/FormatterSection.cpp
    M llvm/include/llvm/DebugInfo/DWARF/LowLevel/DWARFDataExtractorSimple.h
    M llvm/include/llvm/Object/BBAddrMap.h
    M llvm/include/llvm/Support/DataExtractor.h
    M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
    M llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
    M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
    M llvm/lib/Object/ELF.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/obj2yaml/dwarf2yaml.cpp
    M llvm/tools/obj2yaml/elf2yaml.cpp
    M llvm/unittests/Support/DataExtractorTest.cpp

  Log Message:
  -----------
  [Support] Remove address-extraction methods from DataExtractor (NFC) (#190519)

Most clients don't have a notion of "address" and pass arbitrary values
(including `0` and `sizeof(void *)`) to `DataExtractor` constructors.
This makes address-extraction methods dangerous to use.

Those clients that do have a notion of address can use other methods
like `getUnsigned()` to extract an address, or they can derive from
`DataExtractor` and add convenience methods if extracting an address is
routine. `DWARFDataExtractor` is an example, where the removed methods
were actually moved.

This does not remove `AddressSize` argument of `DataExtractor`
constructors yet, but makes it unused and overloads constructors in
preparation for their deletion. I'll be removing uses of the
to-be-deleted constructors in follow-up patches.


  Commit: a2bf43d6b18d6a0614b685c8c72432fc90f6dc1c
      https://github.com/llvm/llvm-project/commit/a2bf43d6b18d6a0614b685c8c72432fc90f6dc1c
  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/unittests/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/unittests/ExecutionEngine/Orc/MachOBuilderTest.cpp

  Log Message:
  -----------
  [ORC] Add MachOBuilder support for LC_UUID load commands. (#191807)

Enables LC_UUID load commands to be added with the addLoadCommand
method.

This will be used in future MachOPlatform changes to add support for
adding UUIDs to MachO JITDylibs.


  Commit: 5afba800906a5e69518abfb1995567c6186cfd6d
      https://github.com/llvm/llvm-project/commit/5afba800906a5e69518abfb1995567c6186cfd6d
  Author: Princeton Ferro <pferro at nvidia.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/IR/ValueHandle.h
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/unittests/IR/ValueHandleTest.cpp

  Log Message:
  -----------
  [GVN] use `AssertingVH` for leaders to improve compilation time (#175870)

Replace the manual check in `verifyRemoved()` with `AssertingVH`
instrumentation. For cases where the leader table becomes very large,
this is a cheaper way to verify we don't have dangling entries in the
leader table.

For this change, we must implement a move constructor for `AssertingVH`
so that we can keep the first entry as an inline-allocated node that
will be handled correctly as the table grows.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/pr171231.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll

  Log Message:
  -----------
  [RISCV] Expand vp.fma, fp.fmuladd, vp.fneg, vp.fpext (#190589)

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

This PR expands four intrinsics before codegen, but doesn't remove the
codegen handling yet as both DAGCombiner and type legalization can
create these nodes.

vp.fneg and vp.fpext are expanded in lockstep with the fma/fmuladd
intrinsics since some test cases for vfmacc etc. also use these
intrinsics, and mixing dynamic and constant vls causes some of the more
complex patterns to be missed.

The fixed-length VP vfmacc, vfmsac, vfnmacc and vfnmsac tests also need
to replace the EVL of the vp.merge/vp.select with an immediate otherwise
the resulting vmerge.vvm can't be folded into them. This only happens
for fixed vector intrinsics with no passthru, since we end up with a
constant vl from the fixed vector and dynamic vl from the vp.merge that
prevents folding.

As far as I'm aware we don't emit fixed length vp.merges in practice,
since we only emit vp.merge in the loop vectorizer, and we only use it
with EVL tail folding which requires a scalable VF.


  Commit: 86e790076ab022573705aafae552ec3a3e2032a7
      https://github.com/llvm/llvm-project/commit/86e790076ab022573705aafae552ec3a3e2032a7
  Author: Georgiy Samoylov <Ignitor21838 at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/source/Host/common/Socket.cpp
    M lldb/unittests/Host/SocketTest.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationServerLLGSTest.cpp

  Log Message:
  -----------
  [lldb] Fix lldb-server host and port address parsing (#191414)

This patch fixes 2 problems in lldb-server argument parser:

1. Let's try to start lldb-server with incorrect arguments

```
./lldb-server platform --listen *:1111--server
```
Current behavior
 * lldb-server run in gdbserver mode with port 1111

Expected behavior
 * fail, as `1111–server` is not a number

2. And try to start lldb-server with host:port specification without
colon
```
./lldb-server gdbserver 1111 ./test 
Launched './test' as process 186...
lldb-server-local_build
lldb-server: llvm-project/lldb/source/Host/common/TCPSocket.cpp:245: virtual Status lldb_private::TCPSocket::Listen(llvm::StringRef, int): Assertion `error.Fail()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: ./lldb-server gdbserver 1111 ./test
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  lldb-server     0x0000002ab86d0ca2
1  lldb-server     0x0000002ab86ced06
2  lldb-server     0x0000002ab86d1428
3  linux-vdso.so.1 0x0000003f8e7fd800 __vdso_rt_sigreturn + 0
4  libc.so.6       0x0000003f8e2b264a
5  libc.so.6       0x0000003f8e27b1ac gsignal + 18
6  libc.so.6       0x0000003f8e26c14c abort + 180
7  libc.so.6       0x0000003f8e2760cc
8  libc.so.6       0x0000003f8e27610e __assert_perror_fail + 0
9  lldb-server     0x0000002ab86eb628
10 lldb-server     0x0000002ab86f1010
11 lldb-server     0x0000002ab86eeee0
12 lldb-server     0x0000002ab86eee5c
13 lldb-server     0x0000002ab863ef3a
14 lldb-server     0x0000002ab864067c
15 lldb-server     0x0000002ab86438da
16 libc.so.6       0x0000003f8e26c476
17 libc.so.6       0x0000003f8e26c51e __libc_start_main + 116
18 lldb-server     0x0000002ab863ce64
Aborted
```

We expect to see an error instead of lldb-server crash in this case


  Commit: 52a250ea1b8d6b34da4e437d89dda246d5e87e6f
      https://github.com/llvm/llvm-project/commit/52a250ea1b8d6b34da4e437d89dda246d5e87e6f
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/ValueObject/ValueObject.cpp
    M llvm/include/llvm/Support/Error.h
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [NFC] Replace `expectedToStdOptional` with `expectedToOptional` (#191359)

Both implementations are currently equivalent. This is likely a leftover
from the past, when `llvm::Optional` existed.


  Commit: 91c0fdfe13928838864d9618ea28dcbe9a112b8c
      https://github.com/llvm/llvm-project/commit/91c0fdfe13928838864d9618ea28dcbe9a112b8c
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/pthread.yaml
    M libc/src/__support/threads/mutex.h
    M libc/src/pthread/CMakeLists.txt
    A libc/src/pthread/pthread_mutex_trylock.cpp
    A libc/src/pthread/pthread_mutex_trylock.h
    M libc/test/integration/src/pthread/CMakeLists.txt
    M libc/test/integration/src/pthread/pthread_mutex_test.cpp

  Log Message:
  -----------
  [libc] add posix_mutex_trylock support (#191531)

Expose existing trylock internal operation to posix interface.
POSIX.1-2024 only specifies the `EBUSY` error case.

Assisted-by: Codex with gpt-5.4 default fast


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll

  Log Message:
  -----------
  [RISCV] Remove codegen for vp_{u,s}{max,min} (#191640)

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

This splits off 4 intrinsics from #179622.


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

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

  Log Message:
  -----------
  [ORC] Add MachOPlatform::HeaderOptions customization callback. (#191819)

This change aims to make it easier for MachOPlatform clients to
customize JITDylib MachO headers.

At MachOPlatform construction time clients can now supply a
MachOPlatform::HeaderOptionsBuilder. The supplied callback will be
called by setupJITDylib to create the HeaderOptions for the JITDylib
being set up.

No testcase: Constructing a MachOPlatform instance requires the ORC
runtime, which we can't require for LLVM unit or regression suite tests.
We should look at testing this functionality in the new ORC runtime once
it's ready.


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

  Changed paths:
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Semantics/openmp-utils.cpp

  Log Message:
  -----------
  [flang][OpenMP] Implement GetGeneratedNestDepthWithReason (#191718)

For a loop-nest-generating construct this function returns the number of
loops in the generated loop nest.

A loop-nest-transformation construct can be thought of as replacing N
nested loops with K nested loops, where
  N = GetAffectedNestDepthWithReason
  K = GetGeneratedNestDepthWithReason


  Commit: 386e67da649161349cea2fba7401c0829f248bc1
      https://github.com/llvm/llvm-project/commit/386e67da649161349cea2fba7401c0829f248bc1
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Suggest/infer annotation in constructors (#191699)

This change improves the lifetime safety checker to detect when
constructor parameters escape to class fields and suggest appropriate
`[[clang::lifetimebound]]` annotations.

```cpp
struct A {
  View v;
  A(const MyObj& obj) : v(obj) {} // Now suggests [[clang::lifetimebound]]
};
```


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

  Changed paths:
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
    M llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp

  Log Message:
  -----------
  [ORC] Fix examples after 6dbf9d1ac5e (forward declaration of MemoryAc… (#191834)

…cess).

6dbf9d1ac5e forward declared the MemoryAccess class in
ExecutorProcessControl.h, breaking some examples that were depending on
the transitive include. (See e.g.
https://lab.llvm.org/buildbot/#/builders/80/builds/21875).

This commit adds the missing #includes to the broken examples.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rv32p.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
    A llvm/test/MC/RISCV/rv32p-aliases-valid.s
    M llvm/test/MC/RISCV/rv32p-valid.s
    A llvm/test/MC/RISCV/rv64p-aliases-valid.s

  Log Message:
  -----------
  [RISCV] Add an initial set of InstAliases for P extension. (#180315)

These are now listed in the asciidoc spec here
https://github.com/riscv/riscv-p-spec

I got some help on this from AI, but I reviewed it. Test cases were
fully generated with AI.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/test/MC/AArch64/armv9.7a-gcie.s

  Log Message:
  -----------
  [AArch64][llvm] Add GICv5 ICH_PPI_HVIR{0,1}_EL2 system registers (#191818)

Add GICv5 `ICH_PPI_HVIR{0,1}_EL2` system registers (Interrupt
Controller PPI Hide Virtual Interrupt Registers). These registers
are added because a hypervisor may want to only expose a subset of the
PPIs to the virtual machine and hide the remaining PPIs.

The only way the hypervisor can do this is by trapping all the PPI ICV
registers which leads to additional code complexity and adds performance
overhead especially for nested virtualization.

These are documented here:

https://developer.arm.com/documentation/111107/latest/AArch64-Registers/ICH-PPI-HVIR-n--EL2--Interrupt-Controller-PPI-Hide-Virtual-Interrupt-Registers


  Commit: f058eaa7c56e1a23c69815ca89ad8148c6e84ebe
      https://github.com/llvm/llvm-project/commit/f058eaa7c56e1a23c69815ca89ad8148c6e84ebe
  Author: Pankaj Dwivedi <pankajkumar.divedi at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ADT/GenericUniformityImpl.h
    M llvm/include/llvm/Analysis/UniformityAnalysis.h
    M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
    M llvm/lib/Analysis/UniformityAnalysis.cpp
    M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp

  Log Message:
  -----------
  [NFC][UniformityAnalysis] Rename variables in uniformity analysis to follow LLVM conventions (#191134)

Follow-up to
#[189948](https://github.com/llvm/llvm-project/pull/189948#discussion_r3027394937).
Addresses review feedback

Co-authored-by: padivedi <padivedi at amd.com>


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

  Changed paths:
    M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
    M offload/test/offloading/ompx_bare_multi_dim.cpp

  Log Message:
  -----------
  [OFFLOAD][L0] Handle group sizes correctly for multidimensional bare kernels (#191770)

Don't use the L0 heuristics if all the dimensions are specified by the
user code.


  Commit: 212d612bae9542cc404491336ef79d7ea27f470f
      https://github.com/llvm/llvm-project/commit/212d612bae9542cc404491336ef79d7ea27f470f
  Author: Chi-Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-iterator.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [mlir][llvm][OpenMP] Support iterator modifier in depend clause (#190026)

Add translation from the MLIR OpenMP depend clause with iterator
modifier to LLVM IR. `buildDependData` (in OpenMPToLLVMIRTranslation)
allocates a single `kmp_depend_info` array sized to hold both locator
(non-iterated) and iterated entries. Locator dependencies use the
existing static path (a vector of `DependData`), while iterated
dependencies use a dynamically-sized path (`DepArray`, `NumDeps`).

The reason both paths are not unified under the dynamic allocation is
that the existing locator path emits actual `kmp_depend_info` entries
inside OMPIRBuilder methods (`createTask`, `createTarget`), whereas the
iterator path must emit the iterator loop in OpenMPToLLVMIRTranslation
(since the convention is to not pass MLIR ops into the OMPIRBuilder).
Unifying them would require modifying existing depend clause tests.

The `OMPIRBuilder::DependenciesInfo` struct is extended to hold either a
`SmallVector<DependData>` (locator path) or a pre-built `{DepArray,
NumDeps}` pair (iterator path). The single-entry `emitTaskDependency`
helper is made public so the translation layer can fill individual
`kmp_depend_info` entries inside the iterator loop body.

This patch is part of the feature work for #188061.

Assisted with copilot.


  Commit: 22e6a261fae1eb57105cc131592026701f283e0e
      https://github.com/llvm/llvm-project/commit/22e6a261fae1eb57105cc131592026701f283e0e
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.h
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/Serialize.h
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp
    M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
    M clang-tools-extra/unittests/clang-doc/GeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
    M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
    M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp

  Log Message:
  -----------
  Revert clang-doc arena merging patches (#191668)

This is a set of squashed reverts of recent clang doc patches, since its
breaking something on Darwin builders:
https://lab.llvm.org/buildbot/#/builders/23/builds/19172

Revert "[clang-doc][nfc] Default initialize all StringRef members
(#191641)"

This reverts commit 155b9b354c1d91661be9f6d0432a96e47cfc2700.

Revert "[clang-doc] Initialize StringRef members in Info types
(#191637)"

This reverts commit 489dab3827b255d21ea38b1e3f45ddb08bd10a87.

Revert "[clang-doc] Initialize member variable (#191570)"

This reverts commit 5d64a44a84af31f9e99d42cccffa4f01c0be2e0b.

Revert "[clang-doc] Merge data into persistent memory (#190056)"

This reverts commit 21e0034c69489eff3b09929e5e13ea34b3dd0e5a.

Revert "[clang-doc] Support deep copy between arenas for merging
(#190055)"

This reverts commit c70dae8b0cee46af1411bc4e4ba6fc28e2babf3e.


  Commit: 7b4c9bb2069536e0df18597795b858e18a1cbaaf
      https://github.com/llvm/llvm-project/commit/7b4c9bb2069536e0df18597795b858e18a1cbaaf
  Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    A mlir/cmake/modules/Findocloc.cmake
    M mlir/include/mlir/Target/LLVM/XeVM/Utils.h
    M mlir/lib/Target/LLVM/CMakeLists.txt
    M mlir/lib/Target/LLVM/XeVM/Target.cpp

  Log Message:
  -----------
  [mlir][XeVM] Use libocloc API for binary generation. (#188353)

This PR improves native binary generation by avoiding
`llvm::sys::ExecuteAndWait` call for ocloc and instead
leveraging `oclocInvoke()` that consumes an in-memory SPIR-V string.

Co-authored-by: Artem Kroviakov <artem.kroviakov at intel.com>


  Commit: 058d80d814f45f98c7a16d93b85136426d5cdd1b
      https://github.com/llvm/llvm-project/commit/058d80d814f45f98c7a16d93b85136426d5cdd1b
  Author: Alexis Perry-Holby <aperry at lanl.gov>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    A flang/docs/MeetingNotes/2026/2026-04-08.md

  Log Message:
  -----------
  [flang] Adding meeting notes for the April 8, 2026 Flang call (#191003)


  Commit: 23361e18ac41c3460e0cf79d0cd58beafd5c0a84
      https://github.com/llvm/llvm-project/commit/23361e18ac41c3460e0cf79d0cd58beafd5c0a84
  Author: hulxv <hulxxv at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/copysign.h
    A libc/shared/math/copysignbf16.h
    A libc/shared/math/copysignf.h
    A libc/shared/math/copysignf128.h
    A libc/shared/math/copysignf16.h
    A libc/shared/math/copysignl.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/copysign.h
    A libc/src/__support/math/copysignbf16.h
    A libc/src/__support/math/copysignf.h
    A libc/src/__support/math/copysignf128.h
    A libc/src/__support/math/copysignf16.h
    A libc/src/__support/math/copysignl.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/copysign.cpp
    M libc/src/math/generic/copysignbf16.cpp
    M libc/src/math/generic/copysignf.cpp
    M libc/src/math/generic/copysignf128.cpp
    M libc/src/math/generic/copysignf16.cpp
    M libc/src/math/generic/copysignl.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Refactor copysign family to header-only (#182137)

Refactors the copysign math family to be header-only.

Closes https://github.com/llvm/llvm-project/issues/182136

Target Functions:
  - copysign
  - copysignbf16
  - copysignf
  - copysignf128
  - copysignf16
  - copysignl

---------

Co-authored-by: bassiounix <muhammad.m.bassiouni at gmail.com>


  Commit: 05411b993108a5125c04cf4e3792c1061fb5b050
      https://github.com/llvm/llvm-project/commit/05411b993108a5125c04cf4e3792c1061fb5b050
  Author: Snehasish Kumar <mail at snehasish.net>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [SamplePGO] Optimize the basename matching logic for matching unused profiles (#191523)

This change optimizes the basename matching logic in
`SampleProfileMatcher::matchFunctionsWithoutProfileByBasename` by
replacing the existing O(N*M) nested loop with an O(N+M) hash-based
lookup, while strictly preserving the original matching semantics. The
previous implementation relied on a substring heuristic
(`ProfName.contains(BaseName)`) to bypass expensive demangling
operations during the nested iteration; however, in codebases with
common or overlapping function names, this heuristic frequently
evaluated to true, resulting in redundant demangling and quadratic time
complexity. The updated approach demangles each profile name exactly
once and utilizes a `StringMap` to perform O(1) lookups against the
orphan functions. This eliminates the need for the substring pre-check
while maintaining the exact same constraints: establishing a strict 1:1
mapping between orphaned IR functions and profile entries, and correctly
identifying and rejecting ambiguous matches where multiple entities
share the same demangled basename.

Results in a 9x speedup on a large module with common basenames.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-stur.ll
    M llvm/test/CodeGen/AArch64/merge-store.ll
    M llvm/test/CodeGen/AArch64/st1-lane.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll

  Log Message:
  -----------
  [AArch64] Add tablegen patterns for store of high-half. (#190320)

This helps remove the extract but mean less efficient addressing modes.


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

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/test/Transforms/licm.fir

  Log Message:
  -----------
  [flang] Make more [HL]FIR operations Pure. (#191309)

This patch addresses cases where an operation seems obviously Pure to me.

Made-with: Cursor


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

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    A flang/test/Transforms/licm-non-addressable-resource.mlir

  Log Message:
  -----------
  [flang] Recognize non-addressable resources in FIR AA. (#191577)

Same as in #187423 change for CSE, we can assume that an effect
on a non-addressable resource cannot affect memory pointed to
by 'location'.


  Commit: 68c10f601b596385d2c8dd73c7b542be3b87a244
      https://github.com/llvm/llvm-project/commit/68c10f601b596385d2c8dd73c7b542be3b87a244
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Support/BranchProbability.h
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp

  Log Message:
  -----------
  [LoopUnroll] Record conditional latch info (#182403)

This patch makes no functional change and so introduces no new tests or
documentation, but it is not merely refactoring.

This patch gathers conditional latch info needed for PR #179520, which
fixes block frequencies when LoopUnroll converts a conditional latch in
an unrolled loop iteration to unconditional. Without PR #179520, this
patch is useless and should not land.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll

  Log Message:
  -----------
  [RISCV] Remove codegen for vp_bitreverse, vp_bswap (#191643)

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

This splits off 2 intrinsics from #179622.


  Commit: a20fea899e2adb34f604ef7e81e408701cba109b
      https://github.com/llvm/llvm-project/commit/a20fea899e2adb34f604ef7e81e408701cba109b
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-select.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.ll
    M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
    M llvm/test/CodeGen/AMDGPU/freeze-binary.ll
    M llvm/test/CodeGen/AMDGPU/repeated-divisor.ll
    M llvm/test/CodeGen/AMDGPU/rsq.f32-safe.ll
    M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
    A llvm/test/CodeGen/AMDGPU/schedmodel-dummywrite.mir
    M llvm/test/tools/llvm-mca/AMDGPU/gfx10-double.s
    M llvm/test/tools/llvm-mca/AMDGPU/gfx11-double.s

  Log Message:
  -----------
  [AMDGPU] Use WriteSALUDummy for v_div_scale* (#191670)

This uses the new HWWriteRes for v_div_scale*

For an explanation of why we want to do this , see
https://github.com/llvm/llvm-project/pull/190095 . In short, the
scheduler will not try to cover the full latency of the instructions
without this new modelling.

For a clear example of this, see the changes to
llvm/test/CodeGen/AMDGPU/schedmodel-dummywrite.mir in the git log of
this PR.


  Commit: 1b2ccc16ce90b52ebd1f1629e5a95bc4203c1dc1
      https://github.com/llvm/llvm-project/commit/1b2ccc16ce90b52ebd1f1629e5a95bc4203c1dc1
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    A llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-complete.ll
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-epilog.ll
    A llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-partial-unconditional-latch.ll
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-partial.ll
    M llvm/test/Transforms/LoopUnroll/loop-probability-one.ll

  Log Message:
  -----------
  [LoopUnroll] Fix freqs for unconditional latches: introduce tests (#191008)

This patch introduces all tests for PR #179520 but with current results
so that it is easier to see which results PR #179520 improves. This
patch should not land without PR #179520.


  Commit: b25ecac3c3cc759f100d2c9b2b8379f9eb76241b
      https://github.com/llvm/llvm-project/commit/b25ecac3c3cc759f100d2c9b2b8379f9eb76241b
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    A flang/test/Lower/HLFIR/conditional-expr.f90

  Log Message:
  -----------
  [flang] Implement conditional expressions lowering (F2023) (#186490)

## Implement Lowering for Fortran 2023 Conditional Expressions (R1002)

***This PR contains the lowering steps only for ease of review. DO NOT
MERGE until #186489 is merged.***

Implements Fortran 2023 conditional expressions with syntax: `result =
(condition ? value1 : condition2 ? value2 : ... : elseValue)`

Issue: #176999
Discourse:
https://discourse.llvm.org/t/rfc-adding-conditional-expressions-in-flang-f2023/89869/1
-- note that some of the details provided in the RFC post are no longer
accurate

### Implementation Details
**Lowering to HLFIR:**
- Lazy evaluation via nested if-then-else control flow
- Only the selected branch is evaluated
- Temporary allocation with proper cleanup
- Special handling for:
    - CHARACTER types with deferred length
    - Arrays (shape determined by selected branch per F2023 10.1.4(7))
    - Derived types

**LIT Testing:**
- Lowering tests: HLFIR code generation verification
- Note: Executable tests will be added to the llvm-test-suite repo
(https://github.com/llvm/llvm-test-suite/pull/369)

**Limitations**
- Conditional arguments are not yet supported. This work is planned 
    - #180592
- Polymorphic types (CLASS) not yet supported in lowering
- Both limitations will emit clear error message if encountered

### Examples
```
! Simple conditional
x = (flag ? 10 : 20)

! Chained
result = (x > 0 ? 1 : x < 0 ? -1 : 0)

! Examples from F2023
( ABS (RESIDUAL)<=TOLERANCE ? ’ok’ : ’did not converge’ )
( I>0 .AND. I<=SIZE (A) ? A (I) : PRESENT (VAL) ? VAL : 0.0 )
```

AI Usage Disclosure: AI tools (Claude Sonnet 4.5) were used to assist
with implementation of this feature and test code generation. I have
reviewed, modified, and tested all AI-generated code.


  Commit: cd773a64de9a90756f652e1092ea490ba4275dc3
      https://github.com/llvm/llvm-project/commit/cd773a64de9a90756f652e1092ea490ba4275dc3
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/Transforms/ACCSpecializePatterns.h

  Log Message:
  -----------
  [OpenACC] Fix IR verification failures in acc-specialize passes (#188961)

When MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS is enabled, the greedy
driver verifies the IR after each pattern application. The specialize
passes failed because ACCOpReplaceWithVarConversion would run on a data
entry op (e.g. acc.create) before container ops that use it in their
dataOperands were processed. After replacement, the container op held a
non-data-entry operand (e.g. a func arg), failing the acc dialect's
dataOperands verifier.

Fix: in ACCOpReplaceWithVarConversion, defer by returning failure() when
any user of the data entry op's result is a container op that validates
its operands as data entry ops (acc.data, acc.parallel, acc.serial,
acc.kernels, acc.host_data, acc.kernel_environment, acc.declare_enter,
acc.enter_data). The greedy driver will process the container op first
(via ACCRegionUnwrapConversion or ACCDeclareEnterOpConversion), removing
the use, after which the data entry op can be safely replaced.

Assisted-by: Claude Code
Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.


  Commit: 8c60833132e75b9ef50f9497ab0de0cfd1c5f5f5
      https://github.com/llvm/llvm-project/commit/8c60833132e75b9ef50f9497ab0de0cfd1c5f5f5
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Target/LLVMIR/openmp-taskloop-local-bounds.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Support pure taskloop-local loop bounds (#190992)

Follow up to https://github.com/llvm/llvm-project/pull/190827

Assisted-by: codex


  Commit: a60d6982cd0a495d2d5e2c0a219f63de289cc1c9
      https://github.com/llvm/llvm-project/commit/a60d6982cd0a495d2d5e2c0a219f63de289cc1c9
  Author: David Tenty <daltenty at ibm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/test/Driver/aix-ld.c
    M compiler-rt/lib/profile/InstrProfilingPlatformAIX.c
    M compiler-rt/test/profile/instrprof-merge-entry-cover.c
    M compiler-rt/test/profile/instrprof-merge.c
    M compiler-rt/test/profile/instrprof-write-file-atexit-explicitly.c
    M compiler-rt/test/profile/profile_test.h

  Log Message:
  -----------
  [clang][driver][AIX] Change linker bcdtor mode to default to mbr (#191265)

The bcdtor mode affects how the AIX linker choose to pull in static
constructors and destructors
(https://www.ibm.com/docs/en/aix/7.2.0?topic=l-ld-command) to the link.
    
The current setting of `all` makes static init in archive members live
regardless of if the archive member would be otherwise referenced,
causing that whole archive member to become part of the link.
    
This default was initially retained for compatibility purposes with
historical compilers on the platform which defaulted to this setting.
Unfortunately this greedy pulling in of static init can have unintended
consequences for applications, for example for programs linked against
parts of compiler-rt which contain optional instrumentation (containing
static initializers) which may be unused as these now become live in all
programs regardless of use.
    
For that reason and similar reasons, this PR switches the default to
`mbr`, which only extracts static init from archive members which would
otherwise be referenced. This gives a behaviour very consistent with
linkers on other platforms (e.g. Linux).
    
Users requiring the old default behaviour can manually pass
`-bcdtors:all` on the link step which will override any default we pass
here.


  Commit: 465673edc3abdb7f0fc595dc790ad421cc022513
      https://github.com/llvm/llvm-project/commit/465673edc3abdb7f0fc595dc790ad421cc022513
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [CFG] Fix cleanup ordering for CXXDefaultInitExpr
 (#191786)

Fixes CFG construction for default member initializers when
`AddCXXDefaultInitExprInCtors` is enabled by correcting the execution
order of cleanups.

E.g., in 

```cpp
struct H { 
  std::string_view v = std::string("x");
  H() {}
}; 
```

Previously, destructors for temporaries in default initializers
for`std::string("x")` was sequenced _before_ the member initialization,
causing false negatives in lifetime safety analysis because the
temporary appeared to be destroyed prematurely before making to a
origin.

Resolved this by modifying `CFGBuilder::addInitializer` to defer these
cleanups to the end of the initialization full-expression.

_(AI-assisted with HITL)_


  Commit: 46fd15a21ad90b463747452e7e68c669a30dbd52
      https://github.com/llvm/llvm-project/commit/46fd15a21ad90b463747452e7e68c669a30dbd52
  Author: Kai <47328809+kcloudy0717 at users.noreply.github.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/test/CodeGenHLSL/builtins/QuadReadAcrossX.hlsl
    M clang/test/SemaHLSL/BuiltIns/QuadReadAcrossX-errors.hlsl

  Log Message:
  -----------
  [CodeGen][HLSL] Improved QuadReadAcrossX CodeGen test (#188488)

This PR improves CodeGenHLSL tests for QuadReadAcrossX. It should cover
all supported types along with 16-bit types. Using regex captures to
simplify writing checks for subsequent test cases.


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

  Changed paths:
    M lld/ELF/AArch64ErrataFix.h

  Log Message:
  -----------
  [lld] Add missing include in AArch64ErrataFix (NFC) (#190664)

This header assumed SmallVector would be included before it


  Commit: 1b275a177fe7c2f74c3575bce2932ba37086a507
      https://github.com/llvm/llvm-project/commit/1b275a177fe7c2f74c3575bce2932ba37086a507
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/test/Driver/fintegrated-as.f90

  Log Message:
  -----------
  [flang] -fno-integrated-as: set DisableIntegratedAS (#191346)

https://reviews.llvm.org/D124669 added -fno-integrated-as driver option
but not the fc1 option.
As a result, the backend kept MCAsmInfo::useIntegratedAssembler() set
and emitted LLVM-only directives such as `.prefalign`
(https://github.com/llvm/llvm-project/pull/155529), which GNU as
rejects:

```
a.s: Assembler messages:
a.s: Error: unknown pseudo-op: `.prefalign'
```

Follow clang and introduce fc1 -no-integrated-as to set
`CodeGenOpts.DisableIntegratedAS` and
llvm::TargetOptions::DisableIntegratedAS.


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

  Changed paths:
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    A llvm/test/CodeGen/DirectX/is_nonuniform_within_loop.ll
    A llvm/test/CodeGen/DirectX/is_nonuniform_within_loop_nuri.ll

  Log Message:
  -----------
  [HLSL][DirectX] Avoid visited values when searching in `hasNonUniformIndex` (#189498)

This patch fixes `hasNonUniformIndex` search so that it accounts for any
path that connects nuri to index access to return true

fix:  https://github.com/llvm/llvm-project/issues/189438

---------

Co-authored-by: Joao Saffran <jderezende at microsoft.com>


  Commit: 13d91555bce09cd666853443bebe81b3183eeec6
      https://github.com/llvm/llvm-project/commit/13d91555bce09cd666853443bebe81b3183eeec6
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-complete.ll
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-epilog.ll
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-partial-unconditional-latch.ll

  Log Message:
  -----------
  [LoopUnroll] Fix freqs for unconditional latches: N<=2 (#179520)

As another step in issue #135812, this patch fixes block frequencies
when LoopUnroll converts a conditional latch in an unrolled loop
iteration to unconditional. It thus includes complete loop unrolling
(the conditional backedge becomes an unconditional loop exit), which
might be applied to the original loop or to its remainder loop.

As explained in detail in the header comments on the
fixProbContradiction function that this patch introduces, these
conversions mean LoopUnroll has proven that the original uniform latch
probability is incorrect for the original loop iterations associated
with the converted latches. However, LoopUnroll often is able to perform
these corrections for only some iterations, leaving other iterations
with the original latch probability, and thus corrupting the aggregate
effect on the total frequency of the original loop body.

This patch ensures that the total frequency of the original loop body,
summed across all its occurrences in the unrolled loop after the
aforementioned conversions, is the same as in the original loop. Unlike
other patches in this series, this patch cannot derive the required
latch probabilities directly from the original uniform latch probability
because it has been proven incorrect for some original loop iterations.
Instead, this patch computes entirely new probabilities for the
remaining N conditional latches in the unrolled loop.

This patch only handles N <= 2, for which it uses simple formulas to
compute a single uniform probability across the latches. Future patches
will handle N > 2.

This patch series does not consider the presence of non-latch loop
exits, and I do not have a solid plan for that case. See fixme comments
this patch introduces.

This patch depends on PR #182403 and PR #191008.


  Commit: aea7db5a70c3ada06974059fa4ea4d9b590e2166
      https://github.com/llvm/llvm-project/commit/aea7db5a70c3ada06974059fa4ea4d9b590e2166
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
    M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Detect dangling field of base class (#191831)

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


  Commit: 82c7192a0874017a391ccfde44b0a2e4e07ca4c1
      https://github.com/llvm/llvm-project/commit/82c7192a0874017a391ccfde44b0a2e4e07ca4c1
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [MLIR][Vector] Fix multi_reduction fold to handle empty reduction dims for any rank (#188983)

The fold for `vector.multi_reduction` only handled the rank-1 case with
no reduction dimensions. For higher-rank vectors (e.g.,
`vector<2x3xf32>`) with empty reduction dims `[]`, the fold returned
null, allowing `ElideUnitDimsInMultiDimReduction` to fire incorrectly.
That canonicalization pattern checks that all *reduced* dims have size
1, but with zero reduction dims the check trivially passes, and the
pattern then computes `acc op source` (e.g., `acc + source`) instead of
the correct no-op result (`source`).

This caused `--canonicalize` to produce a different value than
`--lower-vector-multi-reduction` for the same program:

  vector.mask %m { vector.multi_reduction <add>, %src, %src [] :
vector<3x3xi32> to vector<3x3xi32> } : vector<3x3xi1> -> vector<3x3xi32>

  * Without --lower-vector-multi-reduction: `src + src` (e.g., 2)
  * With    --lower-vector-multi-reduction: `src` (e.g., 1)

Fix the fold to return `source` for any rank when `reduction_dims` is
empty. This makes the empty-dims case consistent: the operation is a
noop regardless of rank, and `ElideUnitDimsInMultiDimReduction` no
longer gets a chance to mishandle it.

Fixes #129415

Assisted-by: Claude Code


  Commit: 2f51a1664da90ae5be3f9c8532d59517a67829e3
      https://github.com/llvm/llvm-project/commit/2f51a1664da90ae5be3f9c8532d59517a67829e3
  Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    A llvm/test/CodeGen/Hexagon/hvx-concat-scalar-preds.ll

  Log Message:
  -----------
  [Hexagon] Fix inner CONCAT_VECTORS type in combineConcatOfScalarPreds (#191756)

The inner CONCAT_VECTORS result type was hardcoded to MVT::v8i1, which
is only correct when BitBytes == 1. Otherwise, the inner concat produces
fewer elements than 8, causing an assertion failure:

Assertion `(Ops[0].getValueType().getVectorElementCount() * Ops.size())
  == VT.getVectorElementCount() && "Incorrect element count in vector
  concatenation!"' failed.

Fix by computing the inner vector type dynamically based on BitBytes.


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

  Changed paths:
    M flang/test/Lower/Intrinsics/storage_size.f90
    M flang/test/Lower/Intrinsics/sum.f90
    M flang/test/Lower/Intrinsics/system_clock.f90
    M flang/test/Lower/Intrinsics/trailz.f90
    M flang/test/Lower/Intrinsics/transfer.f90

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

Tests converted from test/Lower/Intrinsics: storage_size.f90, sum.f90,
system_clock.f90, trailz.f90, transfer.f90


  Commit: e28704544f6a62f63488196d3e9de206c4f1c998
      https://github.com/llvm/llvm-project/commit/e28704544f6a62f63488196d3e9de206c4f1c998
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
    M mlir/test/Dialect/Shard/resharding-partition.mlir

  Log Message:
  -----------
  [MLIR][Shard] Fix three bugs in ND mesh resharding in Partition pass (#189241)

A new MoveLastSplitAxisPattern class handles the case where the last
grid axis of one tensor dimension is moved to the front of another
tensor dimension's split axes, e.g. [[0, 1], [2]] -> [[0], [1, 2]].

The three bugs fixed are:

1. detectMoveLastSplitAxisInResharding: compared source.back() with
target.back() instead of target.front(), preventing the pattern from
being detected for resharding like [[0,1],[2]] -> [[0],[1,2]].

2. targetShardingInMoveLastAxis: axes were appended with push_back but
should be inserted at the front, producing wrong split_axes order.

3. handlePartialAxesDuringResharding: a copy_if wrote results into the
wrong output variable (addressed structurally by the clean
implementation).

Fixes #136117

Assisted-by: Claude Code


  Commit: 3bf9639ec04544902670ab4199401ac470c1fcca
      https://github.com/llvm/llvm-project/commit/3bf9639ec04544902670ab4199401ac470c1fcca
  Author: Thurston Dang <thurston at google.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

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

Reverts llvm/llvm-project#190681 due to buildbot breakage
(https://github.com/llvm/llvm-project/pull/190681#issuecomment-4234999482).


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

  Changed paths:
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp

  Log Message:
  -----------
  Revert "[GSYM] Silence cast warning" (#191853)

Reverts llvm/llvm-project#191561

This is not required anymore.


  Commit: dd0c7f1f344f22a29d3c483966f89ffb5f70850e
      https://github.com/llvm/llvm-project/commit/dd0c7f1f344f22a29d3c483966f89ffb5f70850e
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/test/Dialect/Linalg/tile-to-forall.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Fix crash in tileToForallOpImpl for rank-0 ops (#189000)

When tiling a rank-0 linalg.generic op, tileUsingSCF returns an empty
loops vector (rank-0 ops have no parallel dimensions and produce no
scf.forall). Two call sites unconditionally accessed
tilingResult.loops.front(), causing a crash:

- tileToForallOpImpl: the loop normalization block was entered whenever
mixedNumThreads was empty, regardless of whether any loops exist. Guard
it with \!tilingResult.loops.empty().

- TileUsingForallOp::apply: tileOps.push_back was called
unconditionally. Guard it with \!tilingResult.loops.empty().

Add regression tests for both the tile_sizes and num_threads paths,
verifying that the linalg.generic is preserved and no scf.forall is
emitted.

Fixes #187073

Assisted-by: Claude Code


  Commit: 42804379944cd0b221f9557ce219d4dc77a6055a
      https://github.com/llvm/llvm-project/commit/42804379944cd0b221f9557ce219d4dc77a6055a
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/source/Host/common/Terminal.cpp
    M lldb/test/API/terminal/hidden_frame_markers/TestHiddenFrameMarkers.py

  Log Message:
  -----------
  [lldb][windows] re-enable unicode tests on Windows (#190828)

This patch re-enables unicode tests on Windows by improving the
`Terminal::SupportsUnicode` check.

Checking that the stdout handle is a `FILE_TYPE_CHAR` is a better
heuristic than always returning true, which assumed we were always using
a terminal and never piping the output.


  Commit: 2244ccb244affa5d291f63f6f1c17b98358cb89b
      https://github.com/llvm/llvm-project/commit/2244ccb244affa5d291f63f6f1c17b98358cb89b
  Author: Chenguang Wang <w3cing at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [bazel][mlir] Fix OpenMP compilation. (#191866)

Broken by #190992.


  Commit: 8a59ab1c8a80443590cf9cb43fb44d2022a1d5a1
      https://github.com/llvm/llvm-project/commit/8a59ab1c8a80443590cf9cb43fb44d2022a1d5a1
  Author: Guo Chen <guochen2 at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll

  Log Message:
  -----------
  Revert "[AMDGPU][True16] add true16 pattern for cvt_pk_fp32_f8 (#1800… (#191835)

an issue reported with this patch
https://github.com/llvm/llvm-project/issues/191241. Revert for now and
reenable later

This reverts commit e71da01f0f908417723a54cf8829a734a37fa173.


  Commit: 4440e87baef3b28d1c6b06c389a861174c670b8d
      https://github.com/llvm/llvm-project/commit/4440e87baef3b28d1c6b06c389a861174c670b8d
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/test/python/dialects/python_test.py
    M mlir/test/python/lib/PythonTestModuleNanobind.cpp

  Log Message:
  -----------
  [mlir:python] Fix crash in from_python in type casters. (#191764)

This PR fixes a crash due to a failed assertion in the `from_python`
implementations of the type casters. The assertion obviously only
triggers if assertions are enabled, which isn't the case for many Python
installations, *and* if a Python capsule of the wrong type is attempted
to be used, so this this isn't triggered easily. The problem is that the
conversion from Python capsules may set the Python error indicator but
the callers of the type casters do not expect that. In fact, if there
are several operloads of a function, the first may cause the error
indicator to be set and the second runs into the assertion. The fix is
to unset the error indicator after a failed capsule conversion, which is
indicated with the return value of the function anyways.

In alternative fix would be to unset the error indicator *inside* the
`mlirPythonCapsuleTo*` functions; however, their documentations does say
that the Python error indicator is set, so I assume that some callers
may *want* to see the indicator and that the responsibility to handle it
is on them.

Signed-off-by: Ingo Müller <ingomueller at google.com>


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

  Changed paths:
    M llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp

  Log Message:
  -----------
  [ORC] Fix include order in example. (#191869)


  Commit: 7725b6f4729ef06f2e55d3269ab7096b2e49d55e
      https://github.com/llvm/llvm-project/commit/7725b6f4729ef06f2e55d3269ab7096b2e49d55e
  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/SPIRVLogicalOps.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinition.cpp

  Log Message:
  -----------
  [NFC][mlir][SPIR-V] Rename getUnaryOpResultType to getMatchingBoolType (#191773)

The old name was misleading because this function is not specific to
unary ops

suggested in
https://github.com/llvm/llvm-project/pull/189099#discussion_r3051945317


  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: c1d6f7609e16d16864063c6d98feed1a9cdc3270
      https://github.com/llvm/llvm-project/commit/c1d6f7609e16d16864063c6d98feed1a9cdc3270
  Author: Nick Begg <nick at stunttruck.net>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/docs/CommandGuide/lit.rst
    M llvm/utils/lit/lit/ProgressBar.py
    M llvm/utils/lit/lit/cl_arguments.py
    M llvm/utils/lit/lit/display.py

  Log Message:
  -----------
  [lit] Add an option to lit which ratelimits progressbar output. (#186479)

Add a new option --min-output-interval, which ratelimits updates to the
progress bar.

When running Lit with the full curses progressbar, it updates both the
bar, and the status text below on every test completion. Running
check-llvm on my laptop runs about 44k tests and takes about 260 seconds
for a release build. Or about 171 tests/second on average.

Moreover, when ssh'd to another host, this generates quite a bit of
traffic. Using tcpdump, I measured the traffic for a run of check-llvm
and -clang. With all updates, its about 8.7 megabytes. With a rate limit
of 5 update/sec, this came down to 175 kilobytes. This can be
significant on slow/metered connections.

This patch adds an option to limit lit's output to once per a given
interval. This only affects the progressbar and status message below,
not any log messages above. It also does not affect anything when not
running with the full progressbar (eg outputting to a logfile).

---------

Co-authored-by: Nick Begg <neek78 at users.noreply.github.com>
Co-authored-by: Alexander Richardson <mail at alexrichardson.me>


  Commit: 1bc571918422612d2ce4e3621955d94eca37aa24
      https://github.com/llvm/llvm-project/commit/1bc571918422612d2ce4e3621955d94eca37aa24
  Author: David Green <david.green at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/fptoi_sat.ll
    A llvm/test/Analysis/CostModel/AArch64/sve-fptoi_sat.ll

  Log Message:
  -----------
  [AArch64] Add additional cost coverage for SVE fptosi.sat and fptoui.sat. NFC (#192095)


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

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

  Log Message:
  -----------
  [AArch64] Check Subtarget via STI in getInstSizeInBytes (#192089)

The InstSizes test (`llvm/unittests/Target/AArch64/InstSizes.cpp`)
destroys the Subtarget field early (`ST` created on the stack in
[`createInstrInfo`](https://github.com/llvm/llvm-project/blob/40a585e742ed6b28306d7511380079325ba1a003/llvm/unittests/Target/AArch64/InstSizes.cpp#L32)),
causing a use-after-free if it is used in `getInstSizeInBytes`. This
causes a failure when running the test with hwasan (reported by build
bot). To fix this, this PR switches to using `STI` instead of
`Subtarget` in `getInstSizeInBytes` for checking `isLFI`, which survives
for the lifetime of the test.

I think fixing the test itself (the root of the issue, as far as I can
tell) would be more involved. Perhaps I should open an issue for it
though?

I have tested the fix on an AArch64 machine with hwasan to confirm that
it resolves the issue.


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/MCTargetDesc/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 3fe0bdfaa592 (#192096)

[gn build] Port 3fe0bdfaa592


  Commit: 585a4a22e1ded03123a13823b1bed6790107dc59
      https://github.com/llvm/llvm-project/commit/585a4a22e1ded03123a13823b1bed6790107dc59
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port 472aa4e326be (#192098)

[gn build] Port 472aa4e326be


  Commit: 7b4c8215b4e4837c2371d984cbc924c905867d44
      https://github.com/llvm/llvm-project/commit/7b4c8215b4e4837c2371d984cbc924c905867d44
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port a2bf43d6b18d (#192100)

[gn build] Port a2bf43d6b18d


  Commit: 51822a6dd975c510694ade81d8f1fb47eee7bfa6
      https://github.com/llvm/llvm-project/commit/51822a6dd975c510694ade81d8f1fb47eee7bfa6
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port fc12e59d1d8b (#192101)

[gn build] Port fc12e59d1d8b


  Commit: 11f3a56938b9eba5e0ccabda2984cae4b052dfe7
      https://github.com/llvm/llvm-project/commit/11f3a56938b9eba5e0ccabda2984cae4b052dfe7
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/HLSLIntrinsics.td

  Log Message:
  -----------
  Use ascii for dashes (#191892)

Use the standard ascii character for the dashes.


  Commit: 4326a54708ffe72a223c4fa831b5f4e6e10d8aa7
      https://github.com/llvm/llvm-project/commit/4326a54708ffe72a223c4fa831b5f4e6e10d8aa7
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [GVN] Clean up `reportMayClobberedLoad` to use the dependency instruction (NFC) (#192103)

Minor opportunity to clean `reportMayClobberedLoad` routine, which was
previously receiving the entire `MemDepResult` object, though only using
the dependency instruction.

Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>


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

  Changed paths:
    M lldb/cmake/modules/AddLLDB.cmake
    M lldb/docs/CMakeLists.txt
    A lldb/docs/_ext/build_include.py
    A lldb/docs/_ext/lldb_setting.py
    A lldb/docs/_static/lldb-setting.css
    M lldb/docs/conf.py
    M lldb/docs/index.rst
    A lldb/docs/use/settings.md
    A lldb/scripts/gen-property-docs-from-json.py
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Interpreter/CMakeLists.txt
    M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/CMakeLists.txt
    M lldb/source/Plugins/JITLoader/GDB/CMakeLists.txt
    M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
    M lldb/source/Plugins/ObjectFile/PECOFF/CMakeLists.txt
    M lldb/source/Plugins/Platform/Android/CMakeLists.txt
    M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
    M lldb/source/Plugins/Platform/QemuUser/CMakeLists.txt
    M lldb/source/Plugins/Platform/WebAssembly/CMakeLists.txt
    M lldb/source/Plugins/Process/CMakeLists.txt
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
    M lldb/source/Plugins/Process/MacOSX-Kernel/CMakeLists.txt
    M lldb/source/Plugins/Process/gdb-remote/CMakeLists.txt
    M lldb/source/Plugins/StructuredData/DarwinLog/CMakeLists.txt
    M lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
    M lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt
    M lldb/source/Plugins/SymbolLocator/Debuginfod/CMakeLists.txt
    M lldb/source/Plugins/Trace/CMakeLists.txt
    M lldb/source/Plugins/Trace/intel-pt/CMakeLists.txt
    M lldb/source/Target/CMakeLists.txt

  Log Message:
  -----------
  [LLDB][Docs] List available settings (#168245)

This PR adds a documentation page that lists all available settings. The
page is automatically generated.

Having the settings listed in the online documentation makes it easier
to search for users. It also has the advantage of being indexed by
search engines.

To generate the docs, we first generate JSON out of the TableGen
definitions with `-dump-json`.

Once all properties are available as JSON, a Markdown file with the
merged documentation (`settings.md`) is generated. I chose Markdown over
RST, because some descriptions already use backticks, which would become
references in RST.

Currently, enum names/descriptions are not visible, because they're
defined in C++. In the future, these could be moved to TableGen as well.


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

  Changed paths:
    M clang/test/Driver/serenity.cpp

  Log Message:
  -----------
  [clang] Attempt to unbreak clang/test/Driver/serenity.cpp on bots (#192105)

The c++/v1 paths aren't found on bots, so remove them for now until this
is analyzed.

Match on `-isysroot` to get SYSROOT var instead.

Also remove what looks like one unintentional SYSROOT: capture for
crt0.o.


  Commit: 6d11ac44f27476b7cab311eb3cfb0ef30d6cd27a
      https://github.com/llvm/llvm-project/commit/6d11ac44f27476b7cab311eb3cfb0ef30d6cd27a
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port 934f795064ab (#192107)


  Commit: 838bf51cc242dcfdbb5a82ada1aaedf84a70a22c
      https://github.com/llvm/llvm-project/commit/838bf51cc242dcfdbb5a82ada1aaedf84a70a22c
  Author: Paweł Bylica <pawel at hepcolgum.band>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_haiku.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_netbsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_solaris.cpp

  Log Message:
  -----------
  [sanitizer] Make internal_close_range available on all POSIX platforms (#191971)

Make internal_close_range available on all POSIX platforms so callers
can use it without platform-specific #if guards. Platforms without
close_range return -1, letting callers fall back gracefully.

Currently only FreeBSD has a real implementation. A TODO is left for
adding Linux support (__NR_close_range, kernel 5.9+).

The Linux support will be added in
https://github.com/llvm/llvm-project/pull/191450.


  Commit: 01a83d3405f3745f2da80ec797aa30b35dc5861a
      https://github.com/llvm/llvm-project/commit/01a83d3405f3745f2da80ec797aa30b35dc5861a
  Author: Björn Schäpers <bjoern at hazardy.de>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [clang-format][NFC] Remove superflous checks (#191872)

Doesn't change anything, must be a leftover now handled by some other
code.


  Commit: 1c46118228527a406362952cade120f380190ef9
      https://github.com/llvm/llvm-project/commit/1c46118228527a406362952cade120f380190ef9
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/FileManager.h
    M clang/lib/Basic/Module.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ModuleManager.cpp

  Log Message:
  -----------
  Load AST files as binary on z/OS (#191840)

The ast files need to be loaded as binary on z/OS to avoid translation.
Add the `IsText=false` option to all of the relevant file open calls.


  Commit: ae0c5dc04f44e4ab69f3eb3a5eb959478d44372e
      https://github.com/llvm/llvm-project/commit/ae0c5dc04f44e4ab69f3eb3a5eb959478d44372e
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/test/CodeGen/2006-01-23-FileScopeAsm.c
    M clang/test/CodeGen/asm_incbin.c

  Log Message:
  -----------
  Mark tests as unsupported on z/OS (#191843)

z/OS has a platform specific requirement to not allow asm statements at
file scope. These tests generate that message rather than the expected
IR. Mark the tests as unsupported on z/OS.


  Commit: 9c94881fade218ffdc64407c04db8c963571366f
      https://github.com/llvm/llvm-project/commit/9c94881fade218ffdc64407c04db8c963571366f
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/test/Driver/serenity.cpp

  Log Message:
  -----------
  [clang] Attempt to unbreak clang/test/Driver/serenity.cpp on bots more (#192113)

This snippet fails on (at least) this bot:
https://lab.llvm.org/buildbot/#/builders/10/builds/26512


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/thunks.cpp

  Log Message:
  -----------
  [CIR] Add musttail thunks and covariant return null-check (#191255)

Implement variadic thunk emission via musttail and null-check
pointer returns in covariant thunk adjustment, matching classic
codegen behavior.

Adds musttail UnitAttr to cir.call/cir.try_call with lowering
to LLVM::MustTail.

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


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/test/CIR/CodeGen/bitint.c
    M clang/test/CIR/IR/bitint.cir

  Log Message:
  -----------
  [CIR] Raise IntType max bitwidth to match LLVM IR (#191499)

Follow-up to #188113 per @erichkeane's feedback about the 128-bit cap.

CIR's IntType was hard-limited to 128 bits, which meant any _BitInt
wider than that hit an errorNYI. LLVM IR goes up to 2^23 (about 8
million bits), and there are real tests/users at those sizes. This
raises CIR's limit to match and drops the guard that was working around
it.

Tests: added a _BitInt(256) global to bitint.c and a 1024-bit round-trip
to bitint.cir.

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


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

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/CUDA/cuda-code-gen.mlir

  Log Message:
  -----------
  [flang][cuda] Fix invalid address space in addressof op conversion (#192111)

The change in lowering order introduced in
https://github.com/llvm/llvm-project/pull/183268 exposed an issue when
converting addressof op pointing to globals with different address
space. Look at the fir::GlobalOp when it has not been converted.


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

  Changed paths:
    M clang/test/CodeGen/amdgpu-builtin-is-invocable.c
    M clang/test/CodeGen/amdgpu-builtin-processor-is.c
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M llvm/lib/TargetParser/TargetParser.cpp

  Log Message:
  -----------
  [NFC][SPIRV] Re-factor feature map initialisation for AMDGCN flavoured SPIR-V (#192067)

AMDGCN flavoured SPIR-V must support the union of all AMDGCN features,
as we cannot early adjudicate on this or that feature's availability. We
were hand filling in the feature map, which was error prone and led to
constant grind as new features were added. This patch moves to a
programmatic approach where we iterate through all AMDGCN GPUs and
collect features, thus establishing the union. With this change AMDGCN
flavoured SPIR-V will automatically pick up new features as they come
along.


  Commit: 6cf19c6b200804c0c453108e44617ca0c9a0679e
      https://github.com/llvm/llvm-project/commit/6cf19c6b200804c0c453108e44617ca0c9a0679e
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [clang][cmake] Add check-clang-extra to bootstrap targets for Fuchsia (#192104)

Not having these prevents us from testing the clang-tool-extra targets
in our CI and multi stage builds.


  Commit: 152592b346a8edddd4b6d6ac59494f81fdb7eb2c
      https://github.com/llvm/llvm-project/commit/152592b346a8edddd4b6d6ac59494f81fdb7eb2c
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/lib/Semantics/definable.cpp
    A flang/test/Semantics/cuf26.cuf

  Log Message:
  -----------
  [flang][cuda] Allow host variables to be defined in device subprograms under -gpu=unified (#192118)

When `-gpu=unified` (or `-gpu=mem:unified`) is enabled, host variables
should be definable in device subprograms because HMM/ATS makes all host
memory accessible from the GPU.

The definability check in `WhyNotDefinableBase` was unconditionally
rejecting host variables in device contexts. This fix skips that check
when `CudaUnified` is enabled.


  Commit: 214f2de6b61919ca76f7cb7769cd98031de25431
      https://github.com/llvm/llvm-project/commit/214f2de6b61919ca76f7cb7769cd98031de25431
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] Fix assertion crash in CTAD for alias templates with non-dependent type (#191885)

When building deduction guides, clang assumes that the return type of
the deduction guide would always be a dependent type
(`TemplateSpecializationType`), but this is not true for invalid case,
where the alias RHS is a non-dependent class template specialization, it
is represented as a `RecordType` instead.

Fixes #190517.


  Commit: 4d33826d60acf6cc95a52b380954556a84c9cbb7
      https://github.com/llvm/llvm-project/commit/4d33826d60acf6cc95a52b380954556a84c9cbb7
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
    M flang/test/Transforms/CUF/cuf-kernel-licm.fir

  Log Message:
  -----------
  [flang] Fixed issues in nested LICM. (#192117)

First change is to check the hoisting safety for all nested
operations of the candidate. This prevents hoistings of
region operations as in the added test.

When hoisting operations from nested regions we have to
check every parent region for `canMoveOutOf`, otherwise,
illegal hoisting may happen. This second change is NFC,
because all operations that support `OperationMoveOpInterface`
currently also support `LoopLikeOpInterface` and their regions
are not considered for nested hoisting. Anyway, it is worth
fixing it.


  Commit: 08932ddde177a7f9dacf5d34e209c48f3d52800e
      https://github.com/llvm/llvm-project/commit/08932ddde177a7f9dacf5d34e209c48f3d52800e
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.h
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-bit.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-bit.cpp

  Log Message:
  -----------
  [clang-tidy] Detect std::rot[lr] pattern within modernize.use-std-bit (#186324)

Basically turning `x << N | x >> (64 - N)` into `std::rotl(x, N)`.


  Commit: 2fe82e377f890d11e5915526f97ef7dce8a2d1d4
      https://github.com/llvm/llvm-project/commit/2fe82e377f890d11e5915526f97ef7dce8a2d1d4
  Author: Stanley Gambarin <stanley.gambarin at intel.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp

  Log Message:
  -----------
  [GlobalISel] use constexpr LLT types when creating ISel data (#191574)

The GlobalISel uses a lookup table to map LLTs which is constructed
prior to initialization of extended LLT functionality, resulting in
ANY_SCALAR entries. During instruction selection, a hash-based
lookup is done on actual INTEGER/FLOAT LLTs. But hash values of
ANY_SCALAR do not match those of INTEGER/FLOAT, causing a failure.

Workaround is the use constexpr LLT, which encodes INTEGER/FLOAT LLT.

Assisted-by: Claude Opus 4.6


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

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

  Log Message:
  -----------
  [AArch64] Cleanup of fptosi costs. NFC (#192144)

This contains some minor formatting changes, along with moving some code
closer
to where it belongs - keeping fixed length costs together, moving a
WideTy
block before the definition and use of ConversionTbl.


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

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp

  Log Message:
  -----------
  [CIR] Fix heap-use-after-free in IndirectBrOp lowering (#191949)

The previous code called op->getBlock()->eraseArgument(0) to remove a
block argument when the poison attribute was set (unreachable block with
no predecessors). This directly mutated the IR, freeing the
BlockArgument while the MLIR dialect conversion framework still held
references to it. When the framework later replayed changes in
applyRewrites(), it dereferenced the freed BlockArgument, causing a
heap-use-after-free detected by ASAN.

Found by running check-clang-cir under ASAN
(test: clang/test/CIR/CodeGen/label-values.c).

The fix removes the eraseArgument call entirely. The MLIR conversion
framework tracks block arguments and handles their lifecycle. A block
with no predecessors naturally produces no PHI node in LLVM IR, so
manual removal was unnecessary.

Additional cleanup:
- Use adaptor.getAddr() directly instead of creating an unnecessary
BitcastOp (CIR ptr already converts to LLVM ptr).
- Use adaptor.getSuccOperands() instead of op.getSuccOperands() to
ensure successor operands go through type conversion.
- Use replaceOpWithNewOp instead of separate create + replaceOp.


  Commit: 8b054e8669d2f2eebe688392d2f01ea8ebb9677f
      https://github.com/llvm/llvm-project/commit/8b054e8669d2f2eebe688392d2f01ea8ebb9677f
  Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/lib/Lower/ConvertVariable.cpp
    A flang/test/Lower/OpenACC/acc-declare-use-associated.f90

  Log Message:
  -----------
  [flang][OpenACC] Propagate acc.declare attribute to fir.global for USEd module variables (#192141)

When a module with `!$acc declare` is compiled separately from the
program that USEs it, `declareGlobal()` creates `fir.global` without the
`acc.declare` attribute. This causes implicit data mappings to override
device data that should already be present via `acc declare`.

The fix reads the symbol's `AccDeclare`/`AccCreate`/`AccCopyIn`/etc.
flags (already set from the `.mod` file by semantics) and attaches the
`acc.declare` attribute to the `fir.global`.


  Commit: 8d734fdae5f55add3dcc67f6ad4ce8d6d8f7af69
      https://github.com/llvm/llvm-project/commit/8d734fdae5f55add3dcc67f6ad4ce8d6d8f7af69
  Author: Stefan Mada <smada at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  Added better datalayout incompatible error message (#191862)

The existing datalayout incompatible error assert does not help with
debugging, as it does not print the datalayouts in question.

This change makes this failure give more useful information.


  Commit: 3b4731fed7abbb91b6789ce6ebb597fbf441edbd
      https://github.com/llvm/llvm-project/commit/3b4731fed7abbb91b6789ce6ebb597fbf441edbd
  Author: Iñaki V Arrechea <inakiarrechea at google.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
    M llvm/include/llvm/Analysis/InstCount.h

  Log Message:
  -----------
  Make Passes Required - func-properties-stats and instcount (#192130)

These passes count different types of instructions and we want to see
them even though optnone is enabled


  Commit: c24bb1cd59ff1418cfaeb521d4e7b7f5610ddba3
      https://github.com/llvm/llvm-project/commit/c24bb1cd59ff1418cfaeb521d4e7b7f5610ddba3
  Author: Paweł Bylica <pawel at hepcolgum.band>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [sanitizer] Generalize FD closing in StartSubprocess (#192114)

Use internal_close_range with a fallback to the sysconf(_SC_OPEN_MAX)
loop. This removes the platform-specific #if and lets all platforms
benefit from close_range when supported.

Follow-up to #191971.


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

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
    M llvm/test/CodeGen/RISCV/rv32p.ll
    M llvm/test/CodeGen/RISCV/rv64p.ll
    M llvm/test/MC/RISCV/rv32p-aliases-valid.s
    M llvm/test/MC/RISCV/rv64p-aliases-valid.s

  Log Message:
  -----------
  [RISCV][P-ext] Support plui.h/w in generateInstSeqImpl. (#192137)

There's some overlap in the pli/plui encodings. I've modified the code
to prefer pli.b over pli.h and to prefer pli.h over plui.h. This matches
what we do in the splat_vector path in RISCVISelDAGToDAG.


  Commit: 5d7a143ec677353ba45e1233494a67fbd9e0bf90
      https://github.com/llvm/llvm-project/commit/5d7a143ec677353ba45e1233494a67fbd9e0bf90
  Author: Alex <filaka771 at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
    A clang/unittests/StaticAnalyzer/AnalyzerFormattingTest.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt

  Log Message:
  -----------
  [analyzer] Fix alignment of entries in -analyzer-help (#190570)

Fix a formatting bug in `AnalyzerOptions::printFormattedEntry` (used by
`clang -cc1 -print-analyzer-options`), which led to misalignment of a
checker description.

This commit ensures that `printFormattedEntry` inserts a newline in the
corner case when the length of the name of a checker is exactly equal to
`EntryWidth`. (In this situation the old code inserted a space between
the name and the description, so this description was not aligned with
the other descriptions.)

Additionally this commit also fixes the corner case where the pad before
the checker name (specified by `InitialPad`) is 0. Before the fix, due
to `llvm::raw_formatted_ostream::PadToColumn` logic, `InitialPad = 0`
still added one space character as padding before the checker name.
Fortunately `InitialPad = 0` was never used in the program, so this bug
was not visible to the user.

These changes are both tested by the freshly added unit tests.


  Commit: 392f76ac68c0d2e0c0eb8aa1907329f5a94db29d
      https://github.com/llvm/llvm-project/commit/392f76ac68c0d2e0c0eb8aa1907329f5a94db29d
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Support/Utils.cpp
    M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
    A flang/test/Transforms/licm-allocmem-cufaloc.mlir

  Log Message:
  -----------
  [flang] Recognize generic allocations in Flang LICM. (#191923)

Instead of matching particular operations like `fir.alloca`
we can use `MemoryEffectOpInterface` to figure out if a location
is a new allocation.


  Commit: 18519f34650db7fc8e1885ac0293c1e9a5f1b071
      https://github.com/llvm/llvm-project/commit/18519f34650db7fc8e1885ac0293c1e9a5f1b071
  Author: Ashlyn <pale.auraaaa at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M lld/COFF/DriverUtils.cpp
    M lld/test/COFF/subsystem.test
    M llvm/test/tools/llvm-objcopy/COFF/subsystem.test
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp

  Log Message:
  -----------
  [lld][llvm-objcopy] Enable Xbox subsystem for PE images. (#191779)

This patch enables selecting the Xbox subsystem (IMAGE_SUBSYSTEM_XBOX)
for PE images. Certain existing tools used in the Xbox homebrew scene
expect images to use the Xbox subsystem, so it's nice to be able to set
this within the LLVM toolchain instead of invoking yet another tool or
manually patching the binaries.


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    A clang/test/CIR/CodeGen/cast-cxx20.cpp

  Log Message:
  -----------
  [CIR] Implement array-to-incomplete-array cast (#192138)

This is a noop cast that is allowed in some situations in C++20, and is
validated with one of the test suites. This patch adds a very defensive
NYI diagnostic to replace the other one, plus implements the array decay
case.


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

  Changed paths:
    M llvm/lib/Target/BPF/BPFISelLowering.cpp
    M llvm/lib/Target/BPF/BTFDebug.cpp
    A llvm/test/CodeGen/BPF/BTF/array-no-dimension.ll
    A llvm/test/CodeGen/BPF/BTF/char-utf.ll
    M llvm/test/CodeGen/BPF/warn-call.ll

  Log Message:
  -----------
  Fixes for compile rust code (#192134)

Signed-off-by: Alexei Starovoitov <ast at kernel.org>
Co-authored-by: Alexei Starovoitov <ast at kernel.org>


  Commit: 8d0997fb84d6b3fd8818e2c81b812a0dfc4e0b8f
      https://github.com/llvm/llvm-project/commit/8d0997fb84d6b3fd8818e2c81b812a0dfc4e0b8f
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [lldb][debugserver] Fix lldb testsuite routine parsing logs (#192157)

I changed how lldb and debugserver fetch binaries when attaching to a
process (only fetching the addresses of binaries, not the detailed
information) but a utility function was parsing the log file and
expected the detailed information in the initial response. Updated it to
expect detailed information in the initial response, or in the
subsequent query when the first response is addresses-only.


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

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/CUDA/cuda-code-gen.mlir

  Log Message:
  -----------
  [flang][CodeGen] Fix address space mismatch for CUF globals in AddrOfOpConversion (#190408)

AddrOfOpConversion in CodeGen.cpp only handled `LLVM::GlobalOp` when
determining the address space for `llvm.mlir.addressof`. When the global
was still a `fir::GlobalOp` (not yet converted), it fell back to address
space 0, breaking CUF constant globals (addr_space 4) and AMDGPU targets
(global addr_space 1).

This extends the upstream fix (#192111, which only covered Constant) to
also handle Shared and Managed CUF data attributes, and returns
`std::nullopt` instead of 0 for non-CUF globals so the target's default
address space is preserved.


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

  Changed paths:
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/utils/release/build_llvm_release.bat

  Log Message:
  -----------
  [CMake] Pass ZLIB_LIBRARY_* to runtimes bootstrap (#191555)

Runtimes external project (compiler-rt / combined runtimes) reconfigures
with an initial cache that did not propagate `ZLIB_LIBRARY_RELEASE`.
CMake 4.x `FindZLIB` may leave `ZLIB_LIBRARY` unset while finding
headers, leading to:
```
   -- Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "...")
```
and later when loading LLVM exports from the main build:
```
   The link interface of target "LLVMSupport" contains: ZLIB::ZLIB
   but the target was not found.
```
This was found by building the Windows installer with:
```
llvm\utils\release\build_llvm_release.bat --x64 --version 23.0.0 --skip-checkout --local-python
```


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve2-histcnt-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/phi-with-fastflags-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-iv-transforms.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge-vf1.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll

  Log Message:
  -----------
  [LV][VPlan] Print VPlan after construction and initial optimizations. NFC (#187443)

This patch add a helper pass `printOptimizedVPlan` to print the plan at
the end of the VPlan construction and optimize pipeline.

This patch enables the opportunity that we can further clamp and attach
VF range after `VPlanTransforms::optimize` and not changing the test
printing (#172799).


  Commit: 3a4d1c7e77cbb2138478b7ce1f2473d18bbb7d1d
      https://github.com/llvm/llvm-project/commit/3a4d1c7e77cbb2138478b7ce1f2473d18bbb7d1d
  Author: Jim Lin <jim at andestech.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-fcmp.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-fcmp.ll

  Log Message:
  -----------
  [RISCV][GISel] Use a single FEQ for fcmp ord/uno x, x (#192022)

When both operands of an ORD/UNO compare are the same register,
the double-FEQ + AND sequence is redundant: a single FEQ x, x
gives the same result. Addresses the FIXME in selectFCmp.


  Commit: 1a3934365c9b59d00f47db06202b34c62d4b1794
      https://github.com/llvm/llvm-project/commit/1a3934365c9b59d00f47db06202b34c62d4b1794
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    A llvm/test/CodeGen/AMDGPU/lds-link-time-named-barrier.ll
    A llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-classify.ll
    A llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-global-scope.ll
    A llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-internal-func.ll
    A llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-internal-multi-user.ll

  Log Message:
  -----------
  [AMDGPU] Add object linking support for LDS and named barrier lowering in the middle end (#191645)

This is the first patch in a series introducing object linking support
for AMDGPU.

This PR adds the `-amdgpu-enable-object-linking` flag to enable object
linking in the backend. It also updates the `AMDGPULowerModuleLDSPass`
and `AMDGPULowerExecSync` passes to support lowering LDS and named
barrier globals when object linking is enabled.


  Commit: 348061d58dfe5e59027a0d6d51f916197cdd8d68
      https://github.com/llvm/llvm-project/commit/348061d58dfe5e59027a0d6d51f916197cdd8d68
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Thread.cpp
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/Makefile
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/TestWasHitWithFrameProviderDeadlock.py
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/bkpt_resolver.py
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/frame_provider.py
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/main.c

  Log Message:
  -----------
  [lldb] Fix deadlock when scripted frame providers load on private state thread (#191913)

Frame providers are an overlay on top of the parent reality (the
unwinder stack). The private state thread (PST) manages the stop of that
parent reality, so the correct view for PST logic IS the parent --
providers should only be applied once the process has settled and
clients query the stopped state.

When a scripted breakpoint's `was_hit` callback calls
`EvaluateExpression` on the PST, `RunThreadPlan` spawns an override PST
(Thread B) and reassigns `m_current_private_state_thread_sp` to it. Two
threads then need to see parent frames:

- Thread B (override PST): processes stop events via
`HandlePrivateEvent` -> `ShouldStop` -> `GetStackFrameList`. If it loads
a provider, the provider's Python code can acquire locks held by Thread
A, causing a deadlock.

- Thread A (original PST): processes events inline via
`FindNextEventInternal` -> `DoOnRemoval` -> `GetStackFrameList`. After
the override is created, `CurrentThreadIsPrivateStateThread` no longer
recognizes Thread A (it checks against
`m_current_private_state_thread_sp`, which now points to Thread B).

The existing re-entrancy guard in `GetStackFrameList` (e1cd558) only
triggers when a provider is already active. In the deadlock scenario,
provider loading is being initiated for the first time, so the guard
does not trigger.

This patch introduces `PrivateStateThreadGuard`, an RAII guard that sets
a `thread_local` flag checked by `GetStackFrameList` to return parent
frames instead of loading providers. The guard is activated in two
places:

- `RunPrivateStateThread`: for override PSTs only (identified via a new
`is_override` flag on `PrivateStateThread`). The original PST does not
set the guard here, so normal stepping still sees provider-augmented
frames.

- `RunThreadPlan`: for the original PST, scoped to the event processing
window when an override has been spawned.

rdar://174679105

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


  Commit: 18f63d1375d00fa8cac9951340e2ca0f68b4b6fa
      https://github.com/llvm/llvm-project/commit/18f63d1375d00fa8cac9951340e2ca0f68b4b6fa
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M libclc/README.md
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [runtimes] Aggregate per-target runtime checks in top-level check-${runtime_name} (#191743)

When a per-target runtime build exports a
check-${runtime_name}-${target} proxy, make the top-level
check-${runtime_name} target depend on it, creating
check-${runtime_name} on demand (it may not exist).

This applies regardless of whether the runtime comes from the default
LLVM_ENABLE_RUNTIMES set or from a target-specific
RUNTIMES_<target>_LLVM_ENABLE_RUNTIMES override.

This allows a single `check-${runtime_name}` command to trigger all
per-target tests for that runtime.


  Commit: 19d1b348f02f21fba5ca17bef5001d2a063ee430
      https://github.com/llvm/llvm-project/commit/19d1b348f02f21fba5ca17bef5001d2a063ee430
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M libclc/CMakeLists.txt

  Log Message:
  -----------
  [libclc][CMake][NFC] Delete dead code LLVM_PACKAGE_VERSION (#191943)

Use of LLVM_PACKAGE_VERSION in AddLibclc.cmake was dropped by e20ae16ce672.


  Commit: c1fc739b5d6b731bf0fb4477d4605102407a933b
      https://github.com/llvm/llvm-project/commit/c1fc739b5d6b731bf0fb4477d4605102407a933b
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M libclc/CMakeLists.txt

  Log Message:
  -----------
  [libclc] Only add test folder when LLVM_INCLUDE_TESTS is ON (#191948)


  Commit: 9f6f26f86cf1899402da83a9b35e0fab55fa2a4f
      https://github.com/llvm/llvm-project/commit/9f6f26f86cf1899402da83a9b35e0fab55fa2a4f
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [LSR][IndVarSimplify] Update assertion message (#192168)

rewriteLoopExitValues is called by both LSR and IndVarSimplify. Update
the assertion message to match this reality rather than only mentioning
IndVarSimplify.


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv64p.ll

  Log Message:
  -----------
  [RISCV] Add test showing constant materialization using pli.h/pli.w+srli/slli. NFC (#192159)


  Commit: c3650687e0b7317b686b9187d15d2c4c63e05f8b
      https://github.com/llvm/llvm-project/commit/c3650687e0b7317b686b9187d15d2c4c63e05f8b
  Author: Roy Shi <royitaqi at users.noreply.github.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/include/llvm/DebugInfo/GSYM/CallSiteInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/ExtractRanges.h
    M llvm/include/llvm/DebugInfo/GSYM/FileEntry.h
    M llvm/include/llvm/DebugInfo/GSYM/FileWriter.h
    M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
    A llvm/include/llvm/DebugInfo/GSYM/GlobalData.h
    M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymCreatorV1.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymCreatorV2.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymDataExtractor.h
    M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymReaderV1.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymReaderV2.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymTypes.h
    M llvm/include/llvm/DebugInfo/GSYM/Header.h
    A llvm/include/llvm/DebugInfo/GSYM/HeaderV2.h
    M llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/LineTable.h
    M llvm/include/llvm/DebugInfo/GSYM/MergedFunctionsInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/StringTable.h
    M llvm/lib/DebugInfo/GSYM/CMakeLists.txt
    M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
    M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
    M llvm/lib/DebugInfo/GSYM/ExtractRanges.cpp
    M llvm/lib/DebugInfo/GSYM/FileWriter.cpp
    M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
    A llvm/lib/DebugInfo/GSYM/GlobalData.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    A llvm/lib/DebugInfo/GSYM/GsymCreatorV1.cpp
    A llvm/lib/DebugInfo/GSYM/GsymCreatorV2.cpp
    M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
    A llvm/lib/DebugInfo/GSYM/GsymReaderV1.cpp
    A llvm/lib/DebugInfo/GSYM/GsymReaderV2.cpp
    M llvm/lib/DebugInfo/GSYM/Header.cpp
    A llvm/lib/DebugInfo/GSYM/HeaderV2.cpp
    M llvm/lib/DebugInfo/GSYM/InlineInfo.cpp
    M llvm/lib/DebugInfo/GSYM/LineTable.cpp
    M llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
    M llvm/tools/llvm-gsymutil/Opts.td
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/unittests/DebugInfo/GSYM/CMakeLists.txt
    M llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
    A llvm/unittests/DebugInfo/GSYM/GSYMV2Test.cpp
    A llvm/unittests/DebugInfo/GSYM/GsymDataExtractorTest.cpp

  Log Message:
  -----------
  Make GSYM 64 bit safe and add a new version 2 of the GSYM files (#190353)

# Motivation

GSYM files are approaching the need for 64 bit offsets in the GSYM
files. We also want to add more global data to GSYM files. Right now the
GSYM file format is:
```
Header
AddressOffsets
AddressInfoOffsets
FileTable
StringTable
FunctionInfos
```
The location of the `AddressOffsets`, `AddressInfoOffsets` and
`FileTable` are always immediately following the Header. The
`StringTable` is pointed to by the header and the header uses 32 bit
integers for the string table file offset and file size. The
`AddressInfoOffsets` are fixed at 32 bits as well. So with the current
format, we can't have any string or function info with an offset >= 4G.

# GSYM V2 design (64 bit safe and extensible)

This new design increments the GSYM version to 2 and we are adding a new
`GlobalInfoType` enum which allows us to specify the file offset and
file size of all of the things in the global data table to be 64 bit
safe. Everything is now in the global info data (listed below). The new
design is extensible: new global info types can be added in the future,
and the order that they appear in the file can be changed/optimized.

* UUID (optional)
* AddressOffsets table
* AddressInfoOffsets table
* File table
* String table
* FunctionInfo data

We are also adding a new `StringTableEncoding` enum so that new string
table encodings can be added in the future.

GSYM V2 files can be produced by using the new `--oputput-version=2`
option. For example:
```
llvm-gsymutil --convert my.dSYM -o my.gSYM --output-version=2
```


# Tests

**Unit tests**: Extended existing tests (`GSYMTests.cpp`) to cover both
v1 and v2. Added new V2 tests (`GSYMV2Tests.cpp`).
```
ninja DebugInfoGSYMTests SupportTests
unittests/DebugInfo/GSYM/DebugInfoGSYMTests
unittests/Support/SupportTests --gtest_filter='*DataExtractor*'
bin/llvm-lit \
  ../llvm-project/llvm/test/tools/llvm-gsymutil/X86/elf-dwarf.yaml \
  ../llvm-project/llvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml
```

**Parity tests to V1 (manual)**:
* All tests were conducted on a very large DSYM (9.24 GB) and the GSYMs
generated from it (3.42~3.57 GB).
* All correctness tests were conducted on both little-endian and
big-endian machines.
* **Data parity (on-par)**: The new gsymutil [generates the exact same
GSYM v1 file as the baseline
gsymutil](https://gist.github.com/royitaqi/746c15ec22725cf89a1f5c6d9fb396aa),
both using a single thread.
* **Performance parity/improvement (on-par; v2 convert is 2.8x
faster)**:
* **Parse + lookup**: The new gsymutil is [2% (GSYM v1 file) and 3%
(GSYM v2 file) slower than the baseline
gsymutil](https://gist.github.com/royitaqi/9789b92d63ae74a806c776f32a33e4fb)
(1.56s vs. 1.52s).
* **Convert**: The new gsymutil is [on par (GSYM v1 file) and 2.8x
faster (GSYM v2 file) than the baseline
gsymutil](https://gist.github.com/royitaqi/17aa69408bc5a3416fae9e192b1dc1ce)
(102s vs. 288s).
* **Memory footprint parity (on-par)**:
* **Convert**: The new gsymutil uses the same amount of memory as the
base line gsymutil (13 GB when converting a 2.52 GB DSYM; 42 GB when
converting a 9.24 GB DSYM) since the memory peak is in `finalize()`
which is before `encode()`.
* **Segment correctness (on-par)**: The new gsymutil [generates
segmented GSYM v2
files](https://gist.github.com/royitaqi/9bea5b3d50f13247d577ea91fbc6368a),
whose content
([seg1](https://gist.github.com/royitaqi/5b95a793b548f2f44edca250d64366b4),
[seg2](https://gist.github.com/royitaqi/f64730cbd1885ac9c0b9136e03e7742e),
[seg3](https://gist.github.com/royitaqi/2ce585fae910c57784cafafe4fb4cdcb))
match that of a [single GSYM v2
file](https://gist.github.com/royitaqi/475499477b9dbb1dea81f5d653ec39bf).


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop-vk.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop.ll

  Log Message:
  -----------
  [SPIRV]Implementing PopCount for 16 and 64 bits (#191283)

`OpBitCount` only supports 32bit types. So this patch modifies the
codegen to follow a similar pattern as `firstbithigh` and `firstbitlow`.
On 8 and 16 bits, the parameters are zero-extended to 32 bits. With 64
bits it is bitcasting into 2xi32 types. The logic is adapted to larger
component counts as well.

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

---------

Co-authored-by: Joao Saffran <jderezende at microsoft.com>


  Commit: 1e311716785daee38da0e6418d93ee6557a2585f
      https://github.com/llvm/llvm-project/commit/1e311716785daee38da0e6418d93ee6557a2585f
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp

  Log Message:
  -----------
  [NFC][AMDGPU] clang-format AMDGPUAsmPrinter.cpp (#192176)


  Commit: 9b8611b1c5b3d454b2c5e052c00f7285d733d496
      https://github.com/llvm/llvm-project/commit/9b8611b1c5b3d454b2c5e052c00f7285d733d496
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M openmp/CMakeLists.txt

  Log Message:
  -----------
  [OpenMP] Create check-openmp target for device targets (#192175)

offload/cmake/caches/AMDGPUBot.cmake enables
RUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES="openmp". In that
sub-build, check-openmp target doesn't exist and there is build error
`unknown target 'check-openmp'` after 18f63d1375d0, which makes
top-level check-openmp depend on check-openmp-amdgcn-amd-amdhsa.

In openmp, the device targets only call add_subdirectory(device), which
doesn't calls construct_check_openmp_target() and check-openmp target
doesn't exist. `ninja check-openmp-amdgcn-amd-amdhsa` also fails with
the same error before 18f63d1375d0.

Fix by adding construct_check_openmp_target() for device targets as well.

Assisted-by: Claude Sonnet 4.6


  Commit: 5f62bae5666c3cad5439587fa0f330b92467241a
      https://github.com/llvm/llvm-project/commit/5f62bae5666c3cad5439587fa0f330b92467241a
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/docs/Directives.md
    M flang/include/flang/Support/Fortran.h
    M flang/lib/Support/Fortran.cpp
    M flang/test/Semantics/cuf10.cuf

  Log Message:
  -----------
  [flang][cuda] Fix ignore_tkr(m) to also cover CUDA unified attribute (#192131)

The ignore_tkr(m) directive suppresses CUDA managed attribute checking
on dummy arguments, but it was not covering the unified attribute. This
caused a spurious error when passing a plain host array to a unified
dummy with ignore_tkr(m):
```
error: dummy argument 'x=' has ATTRIBUTES(UNIFIED) but its associated actual argument has no CUDA data attribute
```
Extend the IgnoreTKR::Managed check in AreCompatibleCUDADataAttrs to
accept Unified in addition to Managed and no-attribute.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-splice-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-splice.ll
    A llvm/test/CodeGen/RISCV/rvv/vp-splice-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll

  Log Message:
  -----------
  [RISCV] Enable use of vfslide1up in lowerVPSpliceExperimental for bf16 vectors with Zvfbfa (#192169)


  Commit: c9f09d305b555d0312cc76e665ba919be2d78236
      https://github.com/llvm/llvm-project/commit/c9f09d305b555d0312cc76e665ba919be2d78236
  Author: Jiaqi He <heturing at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    A clang-tools-extra/clang-tidy/bugprone/SignedBitwiseCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/SignedBitwiseCheck.h
    M clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt
    M clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
    R clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
    R clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-bitwise.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/signed-bitwise.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-bug34747.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-integer-literals.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-standard-types.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-standard-types.h
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-bug34747.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-standard-types.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-standard-types.h
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise.cpp

  Log Message:
  -----------
  [clang-tidy] Rename hicpp-signed-bitwise to bugprone-signed-bitwise (#190449)

Part of https://github.com/llvm/llvm-project/issues/183462.

Closes https://github.com/llvm/llvm-project/issues/183465.

---------

Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>


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

  Changed paths:
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Driver/hexagon-toolchain-linux.c

  Log Message:
  -----------
  [Hexagon] Add LTO options to Hexagon driver link args (#191336)

The Hexagon driver's constructHexagonLinkArgs() was not calling
addLTOOptions(). This meant that LTO plugin options weren't forwarded to
the linker.

This caused a crash when using ThinLTO with -fenable-matrix on
llvm-test-suite/SingleSource/UnitTests/matrix-types-spec.cpp:
LowerMatrixIntrinsicsPass did not run in the LTO backend because
-enable-matrix was not forwarded via -plugin-opt.

Add the addLTOOptions() call to both the musl and bare-metal code paths
in constructHexagonLinkArgs().


  Commit: 3ecf8724de1744f92e311115d4f3834a49a15b7b
      https://github.com/llvm/llvm-project/commit/3ecf8724de1744f92e311115d4f3834a49a15b7b
  Author: Björn Schäpers <bjoern at hazardy.de>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [clang-format] Detect language for file templates (#191502)

Fixes #191295.


  Commit: 4720d95026c7ef71e9743135d58fd6cdb06988e7
      https://github.com/llvm/llvm-project/commit/4720d95026c7ef71e9743135d58fd6cdb06988e7
  Author: Jan Voung <jvoung at google.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/unchecked-optional-access/std/types/optional.h
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unchecked-optional-access.cpp
    M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp

  Log Message:
  -----------
  Fix registered matcher for bugprone-unchecked-optional-access (recent changes to libcxx) (#191681)

Further fix for #187788. Previous attempt in PR #188044 only updated the
model and model tests, but forgot to update the registered matcher.


  Commit: 63febe07c8878a0695cdbc5551df8cd854828cf3
      https://github.com/llvm/llvm-project/commit/63febe07c8878a0695cdbc5551df8cd854828cf3
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [GISel][CallLowering] Improve arg flags setting compile-time (#191761)

addFlagsUsingAttrFn is hot and showing up in compile-time profiles via
llvm::CallLowering::lowerCall. The culprit is std::function callback.
Switching to set flags based on AttributeSet directly is a -0.25%
compile-time improvement on CTMark AArch64 O0.

https://llvm-compile-time-tracker.com/compare.php?from=d35cd21a3757ab6028024f0b47bc9d802d06eae6&to=e717c7017faf2cb386f0d02715fb55d252b3ae42&stat=instructions%3Au


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

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

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFContext (#191983)

This relates to #35980.

Co-authored-by: Sergei Barannikov <barannikov88 at gmail.com>


  Commit: 7ae5fe63dd979eae13ea04e166f94056ec1306ca
      https://github.com/llvm/llvm-project/commit/7ae5fe63dd979eae13ea04e166f94056ec1306ca
  Author: Paweł Bylica <pawel at hepcolgum.band>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [sanitizer] Use close_range on Linux to close FDs in StartSubprocess (#191450)

Enable the close_range syscall on Linux when __NR_close_range is
available in kernel headers (Linux 5.9+). On older kernels, the
syscall returns ENOSYS and callers fall back gracefully.

This fixes the slow FD closing loop in StartSubprocess when
RLIMIT_NOFILE is high (e.g. 1B in Docker environments).

Fixes https://github.com/llvm/llvm-project/issues/63297.
Fixes https://github.com/llvm/llvm-project/issues/152459.


  Commit: 7145f8986a82df677e67493b47243fd65aac8653
      https://github.com/llvm/llvm-project/commit/7145f8986a82df677e67493b47243fd65aac8653
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.cpp
    A clang-tools-extra/test/clang-tidy/checkers/performance/prefer-single-char-overloads-alias.cpp

  Log Message:
  -----------
  [clang-tidy] Emit deprecation warning for preformance-faster-string-find (#191922)

Related discussion in:
https://github.com/llvm/llvm-project/pull/186946#discussion_r2983649044


  Commit: 738ead2c739a6b1999db63a187185d00e534c747
      https://github.com/llvm/llvm-project/commit/738ead2c739a6b1999db63a187185d00e534c747
  Author: Evan Wilde <ewilde at apple.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
    M lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp

  Log Message:
  -----------
  [lldb] Fix FreeBSD/NetBSD plugin build after AsCString API change (#192110)

The argument to `AsCString` was made explicit in
116b045b1e2bff462afff0dc0b06218e6074f427.

```
/home/ewilde/llvm-project/freebsd-lldb-build/lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp:754:48: error: too few arguments to function call, single argument 'value_if_empty' was not specified
  754 |       module_file_spec.GetFilename().AsCString());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/home/ewilde/llvm-project/freebsd-lldb-build/lldb/include/lldb/Utility/ConstString.h:183:15: note: 'AsCString' declared here
  183 |   const char *AsCString(const char *value_if_empty) const {
      |               ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
```

Not all use-sites were updated to pass an argument resulting in build
failures. I'm updating the errors in the FreeBSD and NetBSD plugins to
use formatv instead of expanding the C String, like what is done on
Linux, avoiding the issue entirely.

rdar://174675042


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

  Changed paths:
    M lldb/source/Plugins/SymbolLocator/Debuginfod/CMakeLists.txt
    M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
    M lldb/source/Plugins/SymbolLocator/SymStore/CMakeLists.txt
    M lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.cpp
    M llvm/include/llvm/Debuginfod/Debuginfod.h
    A llvm/include/llvm/HTTP/HTTPClient.h
    A llvm/include/llvm/HTTP/HTTPServer.h
    A llvm/include/llvm/HTTP/StreamedHTTPResponseHandler.h
    R llvm/include/llvm/Support/HTTP/HTTPClient.h
    R llvm/include/llvm/Support/HTTP/HTTPServer.h
    R llvm/include/llvm/Support/HTTP/StreamedHTTPResponseHandler.h
    M llvm/lib/CMakeLists.txt
    M llvm/lib/Debuginfod/CMakeLists.txt
    M llvm/lib/Debuginfod/Debuginfod.cpp
    A llvm/lib/HTTP/CMakeLists.txt
    A llvm/lib/HTTP/HTTPClient.cpp
    A llvm/lib/HTTP/HTTPServer.cpp
    A llvm/lib/HTTP/StreamedHTTPResponseHandler.cpp
    M llvm/lib/Support/CMakeLists.txt
    R llvm/lib/Support/HTTP/CMakeLists.txt
    R llvm/lib/Support/HTTP/HTTPClient.cpp
    R llvm/lib/Support/HTTP/HTTPServer.cpp
    R llvm/lib/Support/HTTP/StreamedHTTPResponseHandler.cpp
    M llvm/tools/llvm-cov/CMakeLists.txt
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-debuginfod-find/CMakeLists.txt
    M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
    M llvm/tools/llvm-debuginfod/CMakeLists.txt
    M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
    M llvm/tools/llvm-objdump/CMakeLists.txt
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-profdata/CMakeLists.txt
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/tools/llvm-symbolizer/CMakeLists.txt
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
    M llvm/unittests/CMakeLists.txt
    M llvm/unittests/Debuginfod/CMakeLists.txt
    M llvm/unittests/Debuginfod/DebuginfodTests.cpp
    A llvm/unittests/HTTP/CMakeLists.txt
    A llvm/unittests/HTTP/HTTPServerTests.cpp
    M llvm/unittests/Support/CMakeLists.txt
    R llvm/unittests/Support/HTTP/CMakeLists.txt
    R llvm/unittests/Support/HTTP/HTTPServerTests.cpp

  Log Message:
  -----------
  [llvm] Move libSupportHTTP to top-level libHTTP (NFC) (#191202)

The HTTP implementation depends on CURL and would preferably not be part
of the LLVM dylib. This was not possible as a nested library under
libSupport, because libSupport itself is part of the LLVM dylib. This
patch moves the HTTP code into a separate top-level library that is
independent from libSupport and excluded from the LLVM dylib.


  Commit: 72e666d290a96fe8b286a7f668641ef377c4ea73
      https://github.com/llvm/llvm-project/commit/72e666d290a96fe8b286a7f668641ef377c4ea73
  Author: Minsoo Choo <minsoochoo0122 at proton.me>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [lldb][FreeBSDKernel] Add release notes for refresh-threads (#191399)

Fixes: 9116344c02bf0b9ec037451d12935d7539c48679 (#188692)

Assisted-by: Claude

---------

Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>


  Commit: 257aa195199cb10e5f4559399f91bbb6713ea93b
      https://github.com/llvm/llvm-project/commit/257aa195199cb10e5f4559399f91bbb6713ea93b
  Author: Minsoo Choo <minsoochoo0122 at proton.me>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.cpp

  Log Message:
  -----------
  [lldb][FreeBSDKernel] Supply values for CS/SS registers (#192207)

These two values ensure that CPU was in kernel privilege at the time of
crash. This change is from KGDB's `amd64fbsd-kern.c`.

Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>


  Commit: 120cbbd88bf6b6c723176684a12c64393abe7e95
      https://github.com/llvm/llvm-project/commit/120cbbd88bf6b6c723176684a12c64393abe7e95
  Author: Kunqiu Chen <camsyn at foxmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/fold-fcmp-trunc.ll
    M llvm/test/Transforms/InstCombine/known-never-nan.ll

  Log Message:
  -----------
  [InstCombine] Fold `fptrunc(x) ord/uno [ C | fptrunc(y) ]` to `x ord/uno [ C | y ]` (#185844)

Recognize TWO new patterns and fold them as follows:
```
fptrunc(x) ord/uno C           -->  x ord/uno 0
fptrunc(x) ord/uno fptrunc(y)  -->  x ord/uno y
```

Fixes #185698
Alive2: https://alive2.llvm.org/ce/z/YvXnBJ
IR diff: https://github.com/dtcxzyw/llvm-opt-benchmark/pull/3551
CompTime impact: https://github.com/dtcxzyw/llvm-opt-benchmark/pull/3552


  Commit: cee66b7a4bd7597061e880a3dd3a218167787710
      https://github.com/llvm/llvm-project/commit/cee66b7a4bd7597061e880a3dd3a218167787710
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp

  Log Message:
  -----------
  [AMDGPU]Refactor `lowerWaveReduce` for maintainability (#189223)

The function to lower wave reduce pseudos is already quite
large ,and there are yet a few more operations to support.
Refactoring some of the code to make it more manageable.
Summary of changes:
1. Moved the expansion for `V_CNDMASK_B64_PSEUDO` to a
separate function. It's needed for 64 bit dpp operations.

2. Collapsed `getIdentityValueFor32BitWaveReduction` and
`getIdentityValueFor64BitWaveReduction` into a single
function which returns a 64 bit unsigned value.

3. Modified `getDPPOpcForWaveReduction` to also return
the `Clamp` opcode.

4. Added a lambda: `BuildRegSequence` and a static function
`ExtractSubRegs` as those code blocks are repeated with
little variation.

5. Moved logic for setting identity value in inactive lanes
to `BuildSetInactiveInstr`.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/LoongArch/loongarch-interleaved.ll
    M llvm/test/Transforms/LoopVectorize/X86/slm-no-vectorize.ll
    M llvm/test/Transforms/LoopVectorize/optsize.ll
    M llvm/test/Transforms/LoopVectorize/pr31190.ll
    M llvm/test/Transforms/LoopVectorize/tripcount.ll

  Log Message:
  -----------
  [LV][NFC] Remove "REQUIRES: asserts" line from some tests (#191795)

Several tests seemed to require asserts despite not testing any debug
output so I have removed the line.


  Commit: 15ce7e18295a972c9ab13046f371ed808b3a6e53
      https://github.com/llvm/llvm-project/commit/15ce7e18295a972c9ab13046f371ed808b3a6e53
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.max.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.min.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll

  Log Message:
  -----------
  [AMDGPU] DPP wave reduction for long types - 1 (#189224)

Supported Ops: `min`, `max`, `umin`, `umax`


  Commit: 66b946d23c667138e9cb3e024eeba01df464b096
      https://github.com/llvm/llvm-project/commit/66b946d23c667138e9cb3e024eeba01df464b096
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.add.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.sub.ll

  Log Message:
  -----------
  [AMDGPU] DPP wave reduction for long types - 2 (#189225)

Supported Ops: `add`, `sub`


  Commit: ed1199a9d452bd31df3b20a8e8a9d2e00632f823
      https://github.com/llvm/llvm-project/commit/ed1199a9d452bd31df3b20a8e8a9d2e00632f823
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.and.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.or.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.xor.ll

  Log Message:
  -----------
  [AMDGPU] DPP wave reduction for long types - 3 (#189226)

Supported Ops: `and`, `or`, `xor`


  Commit: bc54a63e37ad81941bc68813bbf7badd5f24d60d
      https://github.com/llvm/llvm-project/commit/bc54a63e37ad81941bc68813bbf7badd5f24d60d
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmin.ll

  Log Message:
  -----------
  [AMDGPU] DPP wave reduction for double types - 1 (#189390)

Supported Ops: `fmin` and `fmax`


  Commit: b05b77a830f68894b67480bdf42d737bb046c19d
      https://github.com/llvm/llvm-project/commit/b05b77a830f68894b67480bdf42d737bb046c19d
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll

  Log Message:
  -----------
  [AMDGPU] DPP wave reduction for double types - 2 (#189391)

Supported Ops: `fadd` and `fsub`


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/test/CodeGen/SPIRV/transcoding/OpAllAny.ll

  Log Message:
  -----------
  [SPIR-V] Convert integer vector to bool vector for OpAny/OpAll (#191804)

OpenCL any()/all() builtins receive integer vectors, but OpAny/OpAll
require boolean vector inputs per the SPIR-V spec

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


  Commit: 3cc9f63d81eb85f9f5ed5161b565871e0785511f
      https://github.com/llvm/llvm-project/commit/3cc9f63d81eb85f9f5ed5161b565871e0785511f
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/list.rst

  Log Message:
  -----------
  [clang-tidy][NFC] Mark cert-err33-c as alias in check list (#192224)


  Commit: 0563360ae1ac21b278b307a6b34f3f0cea023949
      https://github.com/llvm/llvm-project/commit/0563360ae1ac21b278b307a6b34f3f0cea023949
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Passes/TargetPassRegistry.inc
    A llvm/test/CodeGen/AMDGPU/new-pm-machine-analysis.mir

  Log Message:
  -----------
  [NewPM] Teach llc -passes to handle target machine analysis (#191704)


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

  Changed paths:
    M llvm/unittests/Debuginfod/CMakeLists.txt

  Log Message:
  -----------
  [llvm] Fix: DebuginfodTests must link libHTTP after 789f30c73ef4 (#192225)


  Commit: 40690e55a8bac17d71604b651562985051a05cd9
      https://github.com/llvm/llvm-project/commit/40690e55a8bac17d71604b651562985051a05cd9
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M openmp/runtime/src/kmp_alloc.cpp

  Log Message:
  -----------
  [openmp] Fix Darwin after 988e00e (#192135)

As per
https://github.com/llvm/llvm-project/pull/191556#issuecomment-4246459320


  Commit: b78e9faa702604a92af207f2f1b51c6984e33667
      https://github.com/llvm/llvm-project/commit/b78e9faa702604a92af207f2f1b51c6984e33667
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/LLJITWithCustomObjectLinkingLayer.cpp
    M llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/LLJITWithGDBRegistrationListener.cpp
    M llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp
    M llvm/include/llvm-c/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
    M llvm/tools/lli/lli.cpp
    M mlir/lib/ExecutionEngine/ExecutionEngine.cpp

  Log Message:
  -----------
  [ORC] Add MemMgr arg to LLJITBuilder::ObjectLinkingLayerCreator. (#192214)

LinkGraphLinkingLayer and ObjectLinkingLayer will start requiring a
jitlink::JITLinkMemoryManager argument in an upcoming commit. In
preparation for that, this patch threads a MemMgr argument through the
LLJITBuilder::ObjectLinkingLayerCreator factory type.

Note: This patch does not thread the argument through the C API
(LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction) yet so as to not
break compatibility. All current users of the C API construct
RuntimeDyld instances, which would have to ignore this argument anyway.
If we don't update the
LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction type before
RuntimeDyld is removed then that will be a good time to update it, since
all existing users were going to have to rewrite their code anyway.


  Commit: 6b6461ccdedd344a3ba90bb4ae0283f6db7741d2
      https://github.com/llvm/llvm-project/commit/6b6461ccdedd344a3ba90bb4ae0283f6db7741d2
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    A llvm/test/CodeGen/AArch64/vector-absolute-difference.ll

  Log Message:
  -----------
  [AArch64] Add a few tests showing vector absolute differences (NFC) (#191383)


  Commit: 8a12039aa538b13451b1864e7eafbbe04d58b6f3
      https://github.com/llvm/llvm-project/commit/8a12039aa538b13451b1864e7eafbbe04d58b6f3
  Author: Roy Shi <royitaqi at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [llvm adt] Use `__builtin_bswap16` in `byteswap()` when available (#190002)

The 32-bit and 64-bit branch of the code has the same pattern of using
`__builtin_bswapXX` when available (before trying to use
`_byteswap_XXXXX`). But the 16-bit branch doesn't do this (it only tries
to use the latter).

It seems `__builtin_bswap16` is a thing (see
[doc](https://gcc.gnu.org/onlinedocs/gcc/Byte-Swapping-Builtins.html)),
so I wonder if we just forgot to use it in the 16-bit branch.

Adding it and hope it helps (i.e. faster than the default shift-and-or
approach).


  Commit: 0b3afd35c41d5424e8a0e156f78f8a293934b6a5
      https://github.com/llvm/llvm-project/commit/0b3afd35c41d5424e8a0e156f78f8a293934b6a5
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/test/Dialect/LLVMIR/sroa-intrinsics.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Fix non-deterministic alloca order in SROA under LLVM_REVERSE_ITERATION (#192087)

AllocaOp::destructure iterated over usedIndices (SmallPtrSet) whose
order depends on pointer values, causing allocas for destructured
subslots to be emitted in a non-deterministic order when
LLVM_REVERSE_ITERATION is enabled. Sort indices ascending by integer
value before creating allocas to guarantee a stable output order. Update
four test cases in sroa-intrinsics.mlir whose CHECK patterns relied on
the old non-deterministic ordering.

Assisted-by: Claude Code

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


  Commit: 156494bf18eb0f6eed5b3788f671b5515c516b45
      https://github.com/llvm/llvm-project/commit/156494bf18eb0f6eed5b3788f671b5515c516b45
  Author: Jacques Pienaar <jacques+gh at japienaar.info>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
    M mlir/test/Bytecode/uselist_orders.mlir

  Log Message:
  -----------
  [mlirbc] Fix use-list ordering during deserialization (#191942)

This patch fixes an issue in the MLIR bytecode reader where use-lists
were incorrectly reconstructed when they had permutations that are not
own inverse. Fixed the use-list reconstruction mapping logic in to
correctly restore the stable memory order of uses, both full shuffle and
index-pair encodings consistently.

Gemini/LLM assisted.


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

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

  Log Message:
  -----------
  [llvm][DebugInfo] Add more format/formatv equivalence tests (#191980)

The idea for this commit is to show how `formatv()` format strings need
to be constructed in order to achieve the same output as with
`format()`.

This relates to #35980.

Co-authored-by: Sergei Barannikov <barannikov88 at gmail.com>


  Commit: 5cc6df520eef0ca9ab329a2eb6f14cf0c3717b22
      https://github.com/llvm/llvm-project/commit/5cc6df520eef0ca9ab329a2eb6f14cf0c3717b22
  Author: zackc6 <112835067+zackc6 at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [mlir][FuncToLLVM][NFC] Refactor convertFuncOpToLLVMFuncOp into helpers (#192218)

Split convertFuncOpToLLVMFuncOp into focused helper functions for
signature conversion, llvm.func creation, attribute propagation, and
C-wrapper handling.

This reduces nesting and improves readability while preserving existing
lowering behavior.


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Debuginfod/BUILD.gn
    A llvm/utils/gn/secondary/llvm/lib/HTTP/BUILD.gn
    R llvm/utils/gn/secondary/llvm/lib/Support/HTTP/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-cov/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-debuginfod-find/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-debuginfod/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-objdump/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-profdata/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-symbolizer/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
    A llvm/utils/gn/secondary/llvm/unittests/HTTP/BUILD.gn
    R llvm/utils/gn/secondary/llvm/unittests/Support/HTTP/BUILD.gn

  Log Message:
  -----------
  [gn] port 789f30c73ef4e6a2 (llvm/lib/HTTP) (#192248)


  Commit: 13e0f6c411fc0e284db2dac838aa9a9065d72a7f
      https://github.com/llvm/llvm-project/commit/13e0f6c411fc0e284db2dac838aa9a9065d72a7f
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port c9f09d305b55 (#192251)

[gn build] Port c9f09d305b55


  Commit: 36034461747dad3c3d74285bf6d7e5ffd1ef889e
      https://github.com/llvm/llvm-project/commit/36034461747dad3c3d74285bf6d7e5ffd1ef889e
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port c3650687e0b7 (#192250)

[gn build] Port c3650687e0b7


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

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

  Log Message:
  -----------
  [gn build] Port 5d7a143ec677 (#192249)

[gn build] Port 5d7a143ec677


  Commit: 6ec03a7fea2103ac103b767c03ed3065d3922356
      https://github.com/llvm/llvm-project/commit/6ec03a7fea2103ac103b767c03ed3065d3922356
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/test/CIR/CodeGen/array-init-loop-exprs.cpp

  Log Message:
  -----------
  [CIR] Implement 'ArrayInitLoopExpr lowering' in ExprAgg. (#192053)

This ended up being a fairly common pattern: a copy operation on a
structure with an array inside of it. Classic-Codegen has a few
different ways of initializing/copying an array, of which this is one.
However, this patch uses the array-init functionality we already have.

This ends up being a bit verbose, but will make sure we don't have to
worry about separately handling throwing types/etc for this AST node.

Additionally, this has to handle the ArrayInitIndexExpr, but that is as
simple as making sure we properly cache the index value when doing our
initialization.


  Commit: 95b8fb64c5b102ee92d6c0229f8762be84ab1668
      https://github.com/llvm/llvm-project/commit/95b8fb64c5b102ee92d6c0229f8762be84ab1668
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/test/CIR/CodeGen/cast-cxx20.cpp

  Log Message:
  -----------
  [CIR] Handle scalar lowering of qualification-changes (#192152)

Similar to the previous Expr-change that I made, this does the same with
pointers-to-arrays (and other types). The new implementation is
effectively a copy/paste of the classic-codegen, so it maintains our
current invariants/assumptions about changes via emitLoadOfLValue.


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/test/CIR/CodeGen/three-way-cmp.cpp

  Log Message:
  -----------
  [CIR] Lower PsuedoObjectExpr LValues (#192108)

This ends up being pretty much copy/paste from classic-codegen, so it
doesn't have anything particularly novel.

I DID switch the return type of the helper function to be a variant
instead of a manually-put-together pair, and switched to range-for, but
otherwise it should be identical.

However, I was uanble to reproduce a few of the branches, so NYIs were
left in place until we can figure them out. At least some of them are
going to be for RValue versions.


  Commit: f7464cbdea73a337ee285e119023673249d5600e
      https://github.com/llvm/llvm-project/commit/f7464cbdea73a337ee285e119023673249d5600e
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir

  Log Message:
  -----------
  [MLIR][Bufferization] Fix foldMemRefCasts dropping ranked return type for unranked->ranked cast (#189249)

When one-shot-bufferize with bufferize-function-boundaries is used and a
function returns a ranked tensor that is produced by casting from an
unranked intermediate (e.g. a call to a function returning
tensor<*xf32>), the foldMemRefCasts post-processing step incorrectly
unpacked the memref.cast from unranked to ranked memref, downgrading the
function return type to the unranked memref type and using the unranked
value as the return operand.

The fix is in unpackCast(): do not unpack a cast whose source is an
unranked memref and whose result is a ranked memref, since doing so
would lose type specificity.

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

Assisted-by: Claude Code


  Commit: 8a42e2ffc5ffb756ad838db297ac23d4fa78a05f
      https://github.com/llvm/llvm-project/commit/8a42e2ffc5ffb756ad838db297ac23d4fa78a05f
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/Math/Transforms/AlgebraicSimplification.cpp

  Log Message:
  -----------
  [MLIR][Math] Move exponent threshold check before IR creation in PowIStrengthReduction (#188955)

PowIStrengthReduction::matchAndRewrite was creating the `one` constant
(using complex::ConstantOp::create for complex::PowiOp) before the
threshold check that guards whether the rewrite is profitable. When the
exponent exceeds the threshold, the pattern returned failure() after IR
was already modified, violating
MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS.

Fix: reorder so the abs(exponent) computation and threshold check occur
before any IR creation.

Assisted-by: Claude Code
Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.


  Commit: 7a48740f3c122a9e45172f609ef22335962248e3
      https://github.com/llvm/llvm-project/commit/7a48740f3c122a9e45172f609ef22335962248e3
  Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/stmt-func02.f90
    A flang/test/Semantics/stmt-func03.f90

  Log Message:
  -----------
  [Flang] Fix statement-function shadowing to avoid false unresolved-symbol internal error (#189360)

When a statement function shadows a host-associated internal procedure
name, HandleStmtFunction creates a local symbol but leaves name.symbol
pointing to the host SubprogramNameDetails.

Because of that stale pointer, AnalyzeStmtFunctionStmt exits early (it
expects SubprogramDetails), so the RHS is never resolved and flang emits
a false `internal error: "Internal: no symbol found".` Clearing
name.symbol after creating the local shadow symbol lets it re-resolve
correctly and fixes the issue.

---------

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


  Commit: 3d40731f4d20b43cd5668aa0d5b34607996c4182
      https://github.com/llvm/llvm-project/commit/3d40731f4d20b43cd5668aa0d5b34607996c4182
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [MLIR] Fix a mismatch between the function return type and the returned value type (NFC) (#192258)

This fixes the build on some platform where the inferred count differs.


  Commit: 75d74ee6d59cdb667d2cd490c52e42efec2ce850
      https://github.com/llvm/llvm-project/commit/75d74ee6d59cdb667d2cd490c52e42efec2ce850
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [llvm][DebugInfo] Use formatv in LVReader (#192007)

This relates to #35980.


  Commit: 3174b3d61617b1d5766eb5ca14a3025af6d972e6
      https://github.com/llvm/llvm-project/commit/3174b3d61617b1d5766eb5ca14a3025af6d972e6
  Author: Christian Sigg <csigg at google.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/Bytecode/BUILD.bazel

  Log Message:
  -----------
  [bazel] Port 789f30c (#192261)


  Commit: 18021237534da5efd9ae6bd9f1b79243d608b58f
      https://github.com/llvm/llvm-project/commit/18021237534da5efd9ae6bd9f1b79243d608b58f
  Author: Zhijie Wang <yesterda9 at gmail.com>
  Date:   2026-04-15 (Wed, 15 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.cpp

  Log Message:
  -----------
  [LifetimeSafety] Propagate origins through explicit cast expressions (#192180)

Before this PR, `FactsGenerator` handled cast nodes with
`VisitImplicitCastExpr` (`CastKind` switch case) and
`VisitCXXFunctionalCastExpr` (handle`gsl::Pointer` types). Other
explicit casts (`CStyleCastExpr`, `CXXStaticCastExpr`, ...) had no
handler, so origin was silently dropped. This is the root cause of
#190912: the dangle in `a = StringView(s);` is missed even though the
equivalent `StringView tmp(s); a = tmp;` is reported.

The policy for "does this cast propagate origin?" is a function of
`CastKind`, independent of whether the cast is implicit or explicit.
This PR replaces `VisitImplicitCastExpr` with a generic `VisitCastExpr`.
`VisitCXXFunctionalCastExpr` is retained only to preserve the
`handleTestPoint` logic, then delegates to `VisitCastExpr`.

This mirrors `clang/lib/AST/ExprConstant.cpp`, where each evaluator
implements only `VisitCastExpr` and switches on `CastKind`; the few
ExprClass-specific overrides (e.g., `VisitCXXDynamicCastExpr`) exist
solely to attach constexpr-validity diagnostics before delegating back.

Scope: the set of `CastKind`s that propagate origin is unchanged.

Fixes: #190912


  Commit: d87e2eadbb124e34537df1e75c73b71dd09a7a30
      https://github.com/llvm/llvm-project/commit/d87e2eadbb124e34537df1e75c73b71dd09a7a30
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/SemaCXX/coroutines.cpp

  Log Message:
  -----------
  [Clang] Diagnose `co_await` expressions in default arguments of nested functions (#191817)

co_await/co_yield expressions are not allowed in default arguments. We
were checking they do not appear outside of function contexts, which
include default arguments of the corresponding function, but it missed
default arguments of functions declared in the body of another
functions.

Because parsing default argument isn't done in a dedicated scope, we do
additional checks in `ActOnParamDefaultArgument`. Because the checks is
done in two places, we cannot introduce a more precise diagnostic.

It might be worth considering a parse scope for default arguments in the
future.

Fixes #98923


  Commit: b9077c8e6aaa6c23c0735977fb52a264c6709071
      https://github.com/llvm/llvm-project/commit/b9077c8e6aaa6c23c0735977fb52a264c6709071
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M lldb/docs/_ext/build_include.py
    M lldb/docs/_ext/lldb_setting.py
    M lldb/scripts/gen-property-docs-from-json.py

  Log Message:
  -----------
  [lldb][Docs] Fix presentation of some default values (#192239)

There were two bugs with the display of default values:

1. If a default value contains a backtick, that would render
incorrectly. For example
[`disassembly-format`](https://lldb.llvm.org/use/settings.html#disassembly-format).
Fixed by doing the wrapping when we generate the Markdown instead of
when parsing the directive. MyST will already parse the content of the
directive as Markdown. We can escape backticks inside the string by
changing the fence. Markdown can take any number of backticks at the
start as long as they match the amount at the end
([spec](https://spec.commonmark.org/0.31.2/#code-spans)).
2. When the docs were built on Windows, UTF-8 was not correctly picked
up, because the default encoding isn't utf8 there.
[`separator`](https://lldb.llvm.org/use/settings.html#separator) was one
example (renders correctly on the Website but not on my machine).


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

  Changed paths:
    M clang/test/Analysis/bstring.c

  Log Message:
  -----------
  [analyzer] Fix 'bstring.c' test on Mingw (#192252)

Addresses
https://github.com/llvm/llvm-project/pull/191061#issuecomment-4250948488

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


  Commit: f194504eff0e64022a95f9e92ca0babb17415b8e
      https://github.com/llvm/llvm-project/commit/f194504eff0e64022a95f9e92ca0babb17415b8e
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/trunc-brc.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Implement missing rules for G_TRUNC legalization (#180647)

Implement G_TRUNC (result, source) register bank rules for sizes {32,
64, 96, 128, 160, 256, 512} with two generic wildcard rules using
UniBRC/DivBRC predicates and SgprBRC/VgprBRC apply IDs.


  Commit: 0bced2162c78a4f7d3d13c78a524ba5d1be98f89
      https://github.com/llvm/llvm-project/commit/0bced2162c78a4f7d3d13c78a524ba5d1be98f89
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/tools/llvm-jitlink/llvm-jitlink-statistics.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h

  Log Message:
  -----------
  [llvm-jitlink] Hold Session::ObjLayer by unique_ptr. (#192253)

This will simplify the Session construction process when we remove
jitlink::JITLinkMemoryManager ownership from ExecutorProcessControl in
an upcoming patch.

(Reason: ObjectLinkingLayer's constructor will require a
JITLinkMemoryManager, which we'll want to cerate after the
ExecutionSession has been initialized. Creating a JITLinkMemoryManager
is generally a fallible operation, so we want to be able to bail on
construction of the ObjectLinkingLayer entirely if we can't create a
memory manager for it).


  Commit: e0f5ad74be2b2f127442f721c70c6753c41e6d8c
      https://github.com/llvm/llvm-project/commit/e0f5ad74be2b2f127442f721c70c6753c41e6d8c
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/CXX/drs/cwg24xx.cpp

  Log Message:
  -----------
  [Clang] Fix handling of overloads differing only by constraints and ref-qualifiers (#192018)

We should only error about inconsistent qualifiers if the functions are
actually overloads.

Fixes #120812


  Commit: 54ae11d3f096732d826aa89a71e3b7ceca811f2d
      https://github.com/llvm/llvm-project/commit/54ae11d3f096732d826aa89a71e3b7ceca811f2d
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    A clang/test/CXX/drs/cwg31xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang][NFC] Mark 3106 as implemented. (#192256)

This was a wording clarification, but we add a test nonetheless.


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

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/SemaOpenACC/routine-construct-clauses.cpp

  Log Message:
  -----------
  [OpenACC] Fix invalid routine case where 'bind' didn't exist (#192270)

For some reason I'd failed to check the result of `find_if` and just
assumed that the `bind` clause must exist! Looking through my other
tests, I've validated every other combination other than this one for
some reason.

Fixes: #192245


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

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

  Log Message:
  -----------
  [llvm][DebugInfo] Use formatv in LVCompare (#192001)

This relates to #35980.


  Commit: cb961d331f40368d1856ad2dc00fde7ef3deb9e2
      https://github.com/llvm/llvm-project/commit/cb961d331f40368d1856ad2dc00fde7ef3deb9e2
  Author: Max Graey <maxgraey at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/Support/KnownFPClass.cpp
    M llvm/test/Transforms/Attributor/nofpclass-powi.ll
    M llvm/unittests/Analysis/ValueTrackingTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp

  Log Message:
  -----------
  [ValueTracking][KnownFPClass] Cover known no-infinity cases for powi (#191736)

Teach `computeKnownFPClass` to infer non-infinity cass for `powi`.

Rules out `inf` for `powi(x, exp)` when:
- `x ?= inf` && `exp > 0`
- `x ?= +/-0` && `exp < 0`
- `x ?= finite` && `|exp| > 1`
- `x ?= subnormal` && `exp ?= -1` (special asym case after |exp| > 1)

where `?=` is maybe equal.

It's a bit conservative, and we could refine it further, but I'd take an
iterative improvement.


  Commit: 4e3a074501cae5f132293d56f9987ded94ee72be
      https://github.com/llvm/llvm-project/commit/4e3a074501cae5f132293d56f9987ded94ee72be
  Author: 8051Enthusiast <8051Enthusiast at protonmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    A llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-comdat.ll

  Log Message:
  -----------
  [SimplifyCFG] Reuse function comdat for switch lookup table (#190995)

Fixes #190994.

As the switch table is extracted from the function, the table should be
removed when the function is removed, and therefore inherits the comdat
of the function.


  Commit: cd0f775fbc9075897475e4b4cdf56be4a7148d43
      https://github.com/llvm/llvm-project/commit/cd0f775fbc9075897475e4b4cdf56be4a7148d43
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/test/CIR/CodeGen/partial-array-cleanup.cpp

  Log Message:
  -----------
  [CIR] Handle irregular partial init destroy (#192158)

This implements CIR handling for the case where an array of a destructed
type is being initialized using an initializer list and therefore the
address of the last successfully constructed element must be loaded from
a temporary variable before the partial array destroy loop can begin.

In classic codegen this shares its implementation with the general array
ctor/dtor handling, but in CIR we have dedicated operations to abstract
array ctors/dtors, so the implementation of the irregular partial
destruction happens in a different place in codegen.

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


  Commit: 70e5ec47d2bdd8f54f5c2df3ec8b606d42f11804
      https://github.com/llvm/llvm-project/commit/70e5ec47d2bdd8f54f5c2df3ec8b606d42f11804
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    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/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    A clang/test/CIR/CodeGen/cleanup-conditional-eh.cpp
    A clang/test/CIR/CodeGen/cleanup-conditional.cpp

  Log Message:
  -----------
  [CIR] Handle full expression cleanups in conditional branches (#191479)

This adds CIR support for handling full expression cleanups in
conditional branches. Because CIR uses structured control flow, it was
necessary to handle these cleanups differently than is done in classic
codegen. CIR speculatively creates a cleanup scope when an
ExprWithCleanups contains a conditional operator and maintains a
dedicated stack of these deferred cleanups, which is added to the
cleanup scope at the end of the full expression with an active flag used
to control whether the cleanup should be executed based on any branches
that may have been taken during the conditional expression evaluation.
This is similar to the mechanism used for lifetime extended cleanups,
but the timing of when the cleanups are moved to the main EH stack is
different, so we need to maintain two different pending cleanup stacks.
We are able to use the same PendingCleanupEntry class for both.

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


  Commit: 150e62532fd3b063f80626dbcebf0aa131a5b1c6
      https://github.com/llvm/llvm-project/commit/150e62532fd3b063f80626dbcebf0aa131a5b1c6
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/OpenMP/RegisterOpenMPExtensions.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/Lowering/omp-target-map.cir

  Log Message:
  -----------
  [CIR][OpenMP] Add OpenMP-to-LLVM type conversion for CIR-to-LLVM lowering (#190063)

Register OpenMP conversion legality and patterns in the CIR-to-LLVM pass
so that OpenMP operations (e.g. omp.map.info, omp.target) have their CIR
types converted to LLVM types during lowering. Without this,
the conversion leaves behind unrealized_conversion_cast ops that cause
translation to LLVM IR to fail.

Also registers omp::PointerLikeType on cir::PointerType so that CIR
pointers are accepted as operands in OpenMP map operations.

Assised-by: Cursor / Claude Opus 4.6


  Commit: 7f521050d2c4141200b5f7cd75f81db99d26bcad
      https://github.com/llvm/llvm-project/commit/7f521050d2c4141200b5f7cd75f81db99d26bcad
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
    M llvm/test/CodeGen/AMDGPU/indirect-reg-read-imm-idx.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for G_INSERT_VECTOR_ELT (#191296)


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

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

  Log Message:
  -----------
  [mlir][OpenMP] Fix teams reduction assert with sibling distributes (#191475)

Avoid double-mapping teams reduction block arguments when multiple
sibling `omp.distribute` ops appear under the same `omp.teams`.

Replace `teamsReductionContainedInDistribute` with
`getDistributeCapturingTeamsReduction`, which returns the unique
`omp::DistributeOp` containing all non-debug uses of the teams reduction
block arguments, or null if no such distribute exists. In that case,
reduction setup falls back to the teams op.

This ensures only the owning distribute handles reduction setup and
prevents `moduleTranslation.mapValue()` from being called multiple times
for the same block arguments.

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

Assisted with Copilot and GPT-5.4


  Commit: f6dcdbe1561b9c4eb492902b207c86ce103b5353
      https://github.com/llvm/llvm-project/commit/f6dcdbe1561b9c4eb492902b207c86ce103b5353
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/returnaddress.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for returnaddress (#191318)


  Commit: 5043d096b00f0782e60834271fe67f164a1e85a3
      https://github.com/llvm/llvm-project/commit/5043d096b00f0782e60834271fe67f164a1e85a3
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp

  Log Message:
  -----------
  [MLIR][Vector] Fix WarpOpScfForOp and WarpOpScfIfOp leaving invalid ops after region moves (#188951)

WarpOpScfForOp::matchAndRewrite called mergeBlocks() to move forOp's
body block into the inner WarpOp. mergeBlocks() erases the source block,
leaving forOp with an empty body region (0 blocks). Since scf.for
requires exactly 1 body block, IR verification fails with "region with 1
blocks" after the pattern succeeds. Additionally, when forOp had no init
args, the pattern was missing the scf.yield terminator in the new ForOp.

WarpOpScfIfOp::matchAndRewrite had the same issue: takeBody() emptied
the ifOp's then/else regions, leaving scf.if with 0 blocks.

Fix:
- Restore the conditional scf.yield creation (only when newForOp has
results).
- After merging/taking the regions, replace the remaining op's results
with ub.poison and erase the now-invalid op from the new WarpOp's body.

Assisted-by: Claude Code
Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.


  Commit: 70cf763a42d55dcf89687c9e84478eb007561654
      https://github.com/llvm/llvm-project/commit/70cf763a42d55dcf89687c9e84478eb007561654
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

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

This applies a fix for windows not discovering libxml

This reverts commit 2a9c32496b5e8e63844597f638bdf67e4732fd35.


  Commit: d1fd44fac1bb2fb344fa48cbdc372b86e3516d58
      https://github.com/llvm/llvm-project/commit/d1fd44fac1bb2fb344fa48cbdc372b86e3516d58
  Author: michaelselehov <michael.selehov at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    A llvm/test/CodeGen/AMDGPU/machine-scheduler-revert-slot-monotonicity.mir

  Log Message:
  -----------
  [AMDGPU][Scheduler] Fix non-monotonic SlotIndex after schedule revert (#192039)

modifyRegionSchedule restores the original instruction order by splicing
MIs before RegionEnd. When an MI is already at the expected position
(MII == RegionEnd) its SlotIndex was left unchanged, even though earlier
splices may have shifted neighboring indices. This could leave a stale,
lower-numbered slot on a non-moved MI, breaking SlotIndex monotonicity
and corrupting LiveIntervals.

The corruption surfaced as a "register isn't live" assertion in
GCNDownwardRPTracker when PreRARematStage's finalizeGCNSchedStage
globally reverted regions that were already locally reverted by
checkScheduling.

Fix by calling LIS->handleMove for non-moved MIs whose SlotIndex has
become non-monotonic (PrevIdx >= MI_Idx). Additionally, track whether
checkScheduling already reverted a region and skip the redundant global
revert in finalizeGCNSchedStage.

Assisted-by: Claude Opus


  Commit: 33a1181470db75e284b091267d431ed15e12843c
      https://github.com/llvm/llvm-project/commit/33a1181470db75e284b091267d431ed15e12843c
  Author: Florian Mayer <fmayer at google.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp

  Log Message:
  -----------
  [NFC] [FlowSensitive] [StatusOr] add test for co_return (#192160)


  Commit: 60246dc28d170447299babf2f14706a2156b5488
      https://github.com/llvm/llvm-project/commit/60246dc28d170447299babf2f14706a2156b5488
  Author: Maiowaa <soodkushagar387 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] Generalize zext(add X, -C) + C folding (#191723)

This patch generalizes an existing InstCombine optimization:

  zext(X - 1) + 1 → zext(X)

to support arbitrary constants C:

  zext(X - C) + C → zext(X)

when X is known to be >= C using KnownBits analysis.

This avoids missed simplifications for non-unit constants while ensuring
correctness under wrap semantics.

Includes test coverage for:
- Positive case where the fold applies
- Negative case where the fold must not apply


### Correctness Proof

We consider the transform:

  zext(add(X, -C)) + C → zext(X)

under the conditions:
  1) X u>= C (unsigned comparison)
  2) C fits in the bitwidth of X (i.e., representable in NarrowBW bits)

The inner operation is performed in the narrower bitwidth n:

  add(X, -C) = (X - C) mod 2^n

Since X u>= C, the subtraction does not underflow, so:

  (X - C) mod 2^n = X - C

Applying zero extension:

  zext(X - C) + C = (X - C) + C = X

Thus:
  = zext(X)

---

### Alive2 Validation

The transform was validated using Alive2 with symbolic C.
The constraint that C fits in NarrowBW bits is modeled using llvm.ctlz,
and the precondition X u>= C is enforced via llvm.assume.

Alive2 verifies the transformation under these conditions:

https://alive2.llvm.org/ce/z/jCVPWr


  Commit: 158434ae5e2d6bece6db4a1447eee2df6380321b
      https://github.com/llvm/llvm-project/commit/158434ae5e2d6bece6db4a1447eee2df6380321b
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M lldb/source/Host/windows/PseudoConsole.cpp

  Log Message:
  -----------
  [lldb][windows] use a marker to drain the ConPTY's init sequence (#191472)

This patch improves the ConPTY method that drains the init sequence. It
uses a string marker to ensure that the init sequence has been received.
The previous implementation was prone to race condition, because the
method could return before all the init sequence was received.

This only seems to reproduce on windows-server-2019.


  Commit: d05b3e0489070ea4e45676ede0159b299a9b030c
      https://github.com/llvm/llvm-project/commit/d05b3e0489070ea4e45676ede0159b299a9b030c
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.signal.isfirst.ll
    M llvm/test/CodeGen/AMDGPU/s-barrier.ll
    M llvm/test/CodeGen/AMDGPU/s-wakeup-barrier.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for split barrier intrinsics (#192170)

Add RegBankLegalize rules for the following split barrier intrinsics:
llvm.amdgcn.s.barrier.init
llvm.amdgcn.s.barrier.join
llvm.amdgcn.s.barrier.leave
llvm.amdgcn.s.barrier.signal.isfirst
llvm.amdgcn.s.barrier.signal.var
llvm.amdgcn.s.get.barrier.state
llvm.amdgcn.s.get.named.barrier.state
llvm.amdgcn.s.wakeup.barrier


  Commit: 55f40c851b0e647a4476e5db8be45958f7ef2ffc
      https://github.com/llvm/llvm-project/commit/55f40c851b0e647a4476e5db8be45958f7ef2ffc
  Author: Ryan Mansfield <ryan_mansfield at apple.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-otool.rst
    M llvm/test/tools/llvm-objdump/MachO/archive-headers.test
    M llvm/tools/llvm-objdump/MachODump.cpp
    M llvm/tools/llvm-objdump/OtoolOpts.td
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [llvm-otool] Add -a option to print archive headers (#189411)

Wire up llvm-otool's -a to the existing --archive-headers machinery with
a default of displaying all architectures to match classic otool
behaviour.


  Commit: d0b78277f0322b627e192324ac77274ebfedc210
      https://github.com/llvm/llvm-project/commit/d0b78277f0322b627e192324ac77274ebfedc210
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineScheduler.h
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp

  Log Message:
  -----------
  [MachineScheduler] Improve handling of phys regs in GenericScheduler. (NFC). (#187572)

Factor out the handling of coalesced preg COPYs from SystemZMachineScheduler.cpp into MachineScheduler.cpp. 

This extends the handling to other types of instructions than COPYs or immediate
loads, such as Load Address and takes care of maintaining the original input
order if both SUs are biased the same way in the same zone.

Another target that uses GenericScheduler can enable this by setting the new
MachineSchedPolicy member BiasPRegsExtra to true (default false). In a derived
scheduling strategy, this could be used either by passing /*BiasPRegsExtra=*/true
to biasPhysReg() (extra instruction detection), or by calling tryBiasPhysRegs()
instead which also preserves the original order if biased the same way.


  Commit: 7aee3933330033040ffc3edc75d752f6431c8dd7
      https://github.com/llvm/llvm-project/commit/7aee3933330033040ffc3edc75d752f6431c8dd7
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/include/clang/Serialization/ModuleCache.h
    M clang/lib/Serialization/ModuleCache.cpp
    A clang/test/Modules/prune-no-toplevel.m
    M clang/tools/libclang/BuildSystem.cpp

  Log Message:
  -----------
  [clang][modules] Don't prune the top level module cache for implicitly built modules (#192171)

There are build systems that put explicitly built modules in the same
module cache directory as implicitly built modules. Pruning those in an
implicit build can cause the build to fail due to missing modules.

rdar://174790709


  Commit: da09b04cf166ccc2fb50217649c54960a2753cfe
      https://github.com/llvm/llvm-project/commit/da09b04cf166ccc2fb50217649c54960a2753cfe
  Author: 8051Enthusiast <8051Enthusiast at protonmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    R llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-comdat.ll

  Log Message:
  -----------
  Revert "[SimplifyCFG] Reuse function comdat for switch lookup table (#190995)" (#192294)

This reverts commit 4e3a074501cae5f132293d56f9987ded94ee72be.

CI broke with errors that look very much like they're caused by #190995.
I can't merge, so someone else will have to.

https://lab.llvm.org/buildbot/#/builders/94/builds/16933
https://lab.llvm.org/buildbot/#/builders/55/builds/26779


  Commit: 19474da20b879ea67bb839120e13323671de5e1d
      https://github.com/llvm/llvm-project/commit/19474da20b879ea67bb839120e13323671de5e1d
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    M llvm/test/CodeGen/AMDGPU/hsa.ll
    M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll

  Log Message:
  -----------
  [AMDGPU] Fix .Lfunc_end label placement (#191526)

Now it is placed after the kernel descriptor, even the section is
.rodata, which is wrong. This allows proper code size calculation in MC.


  Commit: 1f0ded8b123789d8056e8429c92f3dad51935565
      https://github.com/llvm/llvm-project/commit/1f0ded8b123789d8056e8429c92f3dad51935565
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M lldb/cmake/modules/FindPythonAndSwig.cmake
    M lldb/docs/resources/build.rst
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [lldb][windows] recommend building with Python 3.11 (#191159)

As of https://github.com/llvm/llvm-project/pull/176387 and release 22,
official builds of lldb on Windows use Python 3.11 both on x64 and
arm64.

The Windows lldb build bots use 3.11+ versions of Python:

[lldb-x86_64-win](https://lab.llvm.org/buildbot/#/builders/211) -
`3.12.7`
[lldb-remote-linux-win](https://lab.llvm.org/buildbot/#/builders/197) -
`3.12.7`
[lldb-aarch64-windows](https://lab.llvm.org/buildbot/#/builders/141) -
`3.11.9`

This patch changes the cmake config and documentation to recommend
building lldb on Windows with Python 3.11 or more recent.

In the future, given the reduced number of lldb maintainers on Windows
compared to other platforms, bumping the Python version on Windows would
help reduce the surface area of Python related bugs.


  Commit: c4865380622f229188f29ef23d09eb3a564762ca
      https://github.com/llvm/llvm-project/commit/c4865380622f229188f29ef23d09eb3a564762ca
  Author: Lei Huang <lei at ca.ibm.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsPPC.def
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    A clang/test/CodeGen/PowerPC/builtins-ecc.c
    A clang/test/Sema/PowerPC/builtins-ecc-error.c
    M llvm/include/llvm/IR/IntrinsicsPowerPC.td
    M llvm/lib/Target/PowerPC/PPCInstrFuture.td
    M llvm/lib/Target/PowerPC/PPCInstrP10.td
    A llvm/test/CodeGen/PowerPC/builtins-ecc.ll

  Log Message:
  -----------
  [PowerPC] Implement Elliptic Curve Cryptography Builtins (#184681)

Add support for the following ISA Future elliptic curve cryptograpy
builtins.

* Builtins with immediate parameters:
vector unsigned char __builtin_xxmulmul(vector unsigned char, vector
unsigned char, unsigned int);
vector unsigned char __builtin_xxmulmulhiadd(vector unsigned char,
vector unsigned char, unsigned int, unsigned int, unsigned int); vector
unsigned char __builtin_xxmulmulloadd(vector unsigned char, vector
unsigned char, unsigned int, unsigned int); vector unsigned char
__builtin_xxssumudm(vector unsigned char, vector unsigned char, unsigned
int);
vector unsigned char __builtin_xxssumudmc(vector unsigned char, vector
unsigned char, unsigned int);
vector unsigned char __builtin_xxssumudmcext(vector unsigned char,
vector unsigned char, vector unsigned char, unsigned int);

* Builtins with two vector parameters (no immediates):
vector unsigned char __builtin_xsaddadduqm(vector unsigned char, vector
unsigned char);
vector unsigned char __builtin_xsaddaddsuqm(vector unsigned char, vector
unsigned char);
vector unsigned char __builtin_xsaddsubuqm(vector unsigned char, vector
unsigned char);
vector unsigned char __builtin_xsaddsubsuqm(vector unsigned char, vector
unsigned char);
vector unsigned char __builtin_xsmerge2t1uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsmerge2t2uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsmerge2t3uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsmerge3t1uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsrebase2t1uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsrebase2t2uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsrebase2t3uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsrebase2t4uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsrebase3t1uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsrebase3t2uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsrebase3t3uqm(vector unsigned char,
vector unsigned char);

Assisted by AI.


  Commit: d0f8d719b58aaf422b8a31edd423ee27b746aaf0
      https://github.com/llvm/llvm-project/commit/d0f8d719b58aaf422b8a31edd423ee27b746aaf0
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td

  Log Message:
  -----------
  [AMDGPU] Enable real true16 on gfx1250 (#190452)


  Commit: 83a0866d0faf96fd1e4bf2526acd9afdcb231a69
      https://github.com/llvm/llvm-project/commit/83a0866d0faf96fd1e4bf2526acd9afdcb231a69
  Author: Deric C. <cheung.deric at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/Sema/SemaExprCXX.cpp
    A clang/test/AST/HLSL/hlsl-constructors-template.hlsl

  Log Message:
  -----------
  [HLSL] Mark vector and matrix constructor-turned-InitListExprs as ListInitializations (#192151)

Fixes #189086

This PR fixes a bug for HLSL where vector and matrix constructors that
have been turned into initializer lists via
https://github.com/llvm/llvm-project/blob/18519f34650db7fc8e1885ac0293c1e9a5f1b071/clang/lib/Sema/SemaInit.cpp#L6993-L7000
were not marked with ListInitialization = true, which causes template
re-instantiation to fail because the initialization with a InitListExpr
gets classified as a InitializationKind::IK_Direct instead of a
InitializationKind::IK_DirectList when ListInitialization is false.

Assisted-by: Claude Opus 4.6


  Commit: 92421023db331cbecfda066c8180892f19f77568
      https://github.com/llvm/llvm-project/commit/92421023db331cbecfda066c8180892f19f77568
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [lldb] Declare return type of lldbutil.run_to_source_breakpoint (#190028)

Helpful for remembering the types of the four return values (and their
order).


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

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

  Log Message:
  -----------
  [llvm][DebugInfo] Use formatv in DWARFExpressionPrinter (#191993)

This relates to #35980.


  Commit: 9663ef399f327106f6c7307d08490c958db5c091
      https://github.com/llvm/llvm-project/commit/9663ef399f327106f6c7307d08490c958db5c091
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M flang/test/Lower/io-statement-2.f90
    M flang/test/Lower/io-statement-3.f90
    M flang/test/Lower/io-statement-big-unit-checks.f90
    M flang/test/Lower/io-statement-open-options.f90
    M flang/test/Lower/io-write.f90

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

Tests converted from test/Lower: io-statement-2.f90, io-statement-3.f90,
io-statement-big-unit-checks.f90, io-statement-open-options.f90,
io-write.f90


  Commit: 5e928acc511b93dd74c38d19d5e8c84b23f0c5cf
      https://github.com/llvm/llvm-project/commit/5e928acc511b93dd74c38d19d5e8c84b23f0c5cf
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/test/SemaTemplate/concepts.cpp

  Log Message:
  -----------
  [Clang] Add default arguments to the parameter mapping (#192071)

We were not adding default argument to the parameter mapping as such,
two constraint which only differed by the mapping of a parameter only
referenced in a default argument were considered identical.

Fixes #188640


  Commit: 4d41344c7995f213e176136cc27afc794a68b0f2
      https://github.com/llvm/llvm-project/commit/4d41344c7995f213e176136cc27afc794a68b0f2
  Author: Aviral Goel <aviralg at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/tools/clang-ssaf-format/CMakeLists.txt

  Log Message:
  -----------
  [clang][ssaf] Fix plugin crash on AIX by adding `SUPPORT_PLUGINS` to `clang-ssaf-format` (#192292)

This change fixes a crash when running the `with-plugin.test` lit tests
on AIX. The crash is caused by a missing `-Wl, -brtl` linker flag.
Without this flag, the dynamic linker cannot resolve symbols from the
host executable when loading shared libraries via `dlopen`. So when the
plugin's static initializer runs and tries to register into the
`llvm::Registry` (calling `getRegistryLinkListInstance` defined in the
host via `LLVM_INSTANTIATE_REGISTRY`), the symbol resolves to `null`,
crashing the process.

The fix is to use `SUPPORT_PLUGINS` flag in `add_llvm_executable`, like
other tools in llvm. For AIX, this flag adds `-Wl, -brtl` to enable
runtime linking; for Non-AIX platforms, it sets `LLVM_NO_DEAD_STRIP` to
prevent the linker from stripping symbols that plugins reference at load
time.


  Commit: 09bd12cccbc0dc1b66d482a62f56e8ddc5aa1e7c
      https://github.com/llvm/llvm-project/commit/09bd12cccbc0dc1b66d482a62f56e8ddc5aa1e7c
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/test/CIR/CodeGen/fp-math-precision-opts.c
    A clang/test/CIR/CodeGen/nofpclass.c

  Log Message:
  -----------
  [CIR] Add nofpclass for fast-math flags (#191455)

When `-menable-no-infs` or `-menable-no-nans` is set, OGCG adds
`nofpclass(nan inf)` to FP arguments and return values. CIR was missing
this.

Adds the check in `constructFunctionReturnAttributes` and
`constructFunctionArgumentAttributes`, gated on
`hasFloatingRepresentation()` (same condition classic codegen uses in
`canApplyNoFPClass`).

The MLIR LLVM dialect already has `llvm.nofpclass` from #188374, so only
the CIRGen side is needed here.

Test covers float, double, `_Complex double`, and a non-FP control case.

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


  Commit: 75b9b7197dee865e8ca73ed26373d944c837ed09
      https://github.com/llvm/llvm-project/commit/75b9b7197dee865e8ca73ed26373d944c837ed09
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Skip protected data blocks in Verilog (#190695)

A Verilog file can have encrypted stuff (sections 34 and O in the spec).
This patch makes the formatter skip it. Previously the formatter could
mess it up by treating it as ordinary code.

Now the entire block following the `pragma protect` line is treated as a
single token.

The keywords added in this patch only mean special things in the pragma
lines. Thus they are not added to `VerilogExtraKeywords`.

While the files containing the stuff are machine generated, it is a bad
idea for a formatter to break code. For example, one may wish to run the
formatter on an entire project containing both ordinary and encrypted
files. Another use case is formatting the prototypes in files that
contain clear text prototypes in and encrypted implementation.


  Commit: e47cbe9d046cc16cd113eeb56e4157558d649aae
      https://github.com/llvm/llvm-project/commit/e47cbe9d046cc16cd113eeb56e4157558d649aae
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    A clang/test/CIR/CodeGen/paren-init-list-eh.cpp
    M clang/test/CIR/CodeGen/paren-init-list.cpp

  Log Message:
  -----------
  [CIR] Implement cleanup handling for destructor ILE initializers (#192172)

This adds EH cleanup handling for C++ initializer list expressions
containing destructed types. The necessary support for deferred
deactivation cleanups was already in place, so this just needed to push
the deferred destroy cleanup when the init list element is constructed.


  Commit: a152ed4369a43751087979d69d316b7e4cf190f1
      https://github.com/llvm/llvm-project/commit/a152ed4369a43751087979d69d316b7e4cf190f1
  Author: Zachary Yedidia <zyedidia at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [LFI][NFC] Mark lfi-enable-rewriter flag as hidden (#192143)

This flag is meant for debugging so it should be hidden.


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

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/CUDA/cuda-code-gen.mlir

  Log Message:
  -----------
  [flang][cuda] Fix managed address space mismatch on host side (#192304)

Managed should not map to global


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

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
    M mlir/test/Dialect/XeGPU/resolve-layout-conflicts.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Add propagation support for convert_layout op (#191598)

As title


  Commit: c0f73c807ddad11f5262f570fee25479226b3fd3
      https://github.com/llvm/llvm-project/commit/c0f73c807ddad11f5262f570fee25479226b3fd3
  Author: Colin He <50345320+CPlusMinus2000 at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/test-legalize-type-conversion.mlir

  Log Message:
  -----------
  [mlir] Use a container with deterministic iteration order for unrealized materializations (#191323)

Iteration over unrealized materializations in DialectConversion is
non-deterministic as the materialization metadata is stored in a
DenseMap. Replacing with a Vector-backed `llvm::MapVector` restores
deterministic behaviour.

This container is iterated for example here:
https://github.com/llvm/llvm-project/blob/main/mlir/lib/Transforms/Utils/DialectConversion.cpp#L3250


  Commit: 444d1cd76a34cceaf73712e9a5ed5c5bcb92b9ce
      https://github.com/llvm/llvm-project/commit/444d1cd76a34cceaf73712e9a5ed5c5bcb92b9ce
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp

  Log Message:
  -----------
  [clang-format][NFC] Update comment (#192301)

The code changed in adba2aadf2.


  Commit: 02fdc8f8de83e11785102c2972503c50252a9760
      https://github.com/llvm/llvm-project/commit/02fdc8f8de83e11785102c2972503c50252a9760
  Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [lldb] Fix stale Symbol pointer crash in statusline after 'target symbols add' (#188377)

Context: 
lldb might crash when running to a debuggee crashing state and do a
target symbols add command.
Backtrace: 
```
 #0 0x000055ca6790dc65 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/hyubo/osmeta/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:848:11
 #1 0x000055ca6790e434 PrintStackTraceSignalHandler(void*) /home/hyubo/osmeta/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:931:1
 #2 0x000055ca6790b839 llvm::sys::RunSignalHandlers() /home/hyubo/osmeta/external/llvm-project/llvm/lib/Support/Signals.cpp:104:5
 #3 0x000055ca6790ff6b SignalHandler(int, siginfo_t*, void*) /home/hyubo/osmeta/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:430:38
 #4 0x00007fe9e5e44560 __restore_rt /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/signal/../sysdeps/unix/sysv/linux/libc_sigaction.c:13:0
 #5 0x00007fe9e5f25649 syscall /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/misc/../sysdeps/unix/sysv/linux/x86_64/syscall.S:38:0
 #6 0x00007fe9ec649170 SignalHandler(int, siginfo_t*, void*) /home/hyubo/osmeta/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:429:7
 #7 0x00007fe9e5e44560 __restore_rt /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/signal/../sysdeps/unix/sysv/linux/libc_sigaction.c:13:0
 #8 0x00007fe9ebb77bf0 lldb_private::operator<(lldb_private::StackID const&, lldb_private::StackID const&) /home/hyubo/osmeta/external/llvm-project/lldb/source/Target/StackID.cpp:99:16
 #9 0x00007fe9ebb6863d CompareStackID(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&) /home/hyubo/osmeta/external/llvm-project/lldb/source/Target/StackFrameList.cpp:683:3
#10 0x00007fe9ebb6d049 bool __gnu_cxx::__ops::_Iter_comp_val<bool (*)(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&)>::operator()<__gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, lldb_private::StackID const>(__gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, lldb_private::StackID const&) /mnt/gvfs/third-party2/libgcc/d1129753c8361ac8e9453c0f4291337a4507ebe6/11.x/platform010/5684a5a/include/c++/11.x/bits/predefined_ops.h:196:4
#11 0x00007fe9ebb6cefe __gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>> std::__lower_bound<__gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, lldb_private::StackID, __gnu_cxx::__ops::_Iter_comp_val<bool (*)(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&)>>(__gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, __gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, lldb_private::StackID const&, __gnu_cxx::__ops::_Iter_comp_val<bool (*)(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&)>) /mnt/gvfs/third-party2/libgcc/d1129753c8361ac8e9453c0f4291337a4507ebe6/11.x/platform010/5684a5a/include/c++/11.x/bits/stl_algobase.h:1464:8
#12 0x00007fe9ebb6cdfc __gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>> std::lower_bound<__gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, lldb_private::StackID, bool (*)(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&)>(__gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, __gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, lldb_private::StackID const&, bool (*)(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&)) /mnt/gvfs/third-party2/libgcc/d1129753c8361ac8e9453c0f4291337a4507ebe6/11.x/platform010/5684a5a/include/c++/11.x/bits/stl_algo.h:2062:14
#13 0x00007fe9ebb685fa auto llvm::lower_bound<std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>&, lldb_private::StackID const&, bool (*)(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&)>(std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>&, lldb_private::StackID const&, bool (*)(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&)) /home/hyubo/osmeta/external/llvm-project/llvm/include/llvm/ADT/STLExtras.h:2001:10
#14 0x00007fe9ebb68441 lldb_private::StackFrameList::GetFrameWithStackID(lldb_private::StackID const&) /home/hyubo/osmeta/external/llvm-project/lldb/source/Target/StackFrameList.cpp:697:11
#15 0x00007fe9ebbee395 lldb_private::Thread::GetFrameWithStackID(lldb_private::StackID const&) /home/hyubo/osmeta/external/llvm-project/lldb/include/lldb/Target/Thread.h:459:7
#16 0x00007fe9ebac7cf7 lldb_private::ExecutionContextRef::GetFrameSP() const /home/hyubo/osmeta/external/llvm-project/lldb/source/Target/ExecutionContext.cpp:643:25
#17 0x00007fe9ebac80e1 lldb_private::GetStoppedExecutionContext(lldb_private::ExecutionContextRef const*) /home/hyubo/osmeta/external/llvm-project/lldb/source/Target/ExecutionContext.cpp:164:34
#18 0x00007fe9eb8903fa lldb_private::Statusline::Redraw(std::optional<lldb_private::ExecutionContextRef>) /home/hyubo/osmeta/external/llvm-project/lldb/source/Core/Statusline.cpp:139:7
#19 0x00007fe9eb7ac8be lldb_private::Debugger::RedrawStatusline(std::optional<lldb_private::ExecutionContextRef>) /home/hyubo/osmeta/external/llvm-project/lldb/source/Core/Debugger.cpp:1233:3
#20 0x00007fe9eb804d1e lldb_private::IOHandlerEditline::RedrawCallback() /home/hyubo/osmeta/external/llvm-project/lldb/source/Core/IOHandler.cpp:446:3
#21 0x00007fe9eb80aa81 lldb_private::IOHandlerEditline::IOHandlerEditline(lldb_private::Debugger&, lldb_private::IOHandler::Type, std::shared_ptr<lldb_private::File> const&, std::shared_ptr<lldb_private::LockableStreamFile> const&, std::shared_ptr<lldb_private::LockableStreamFile> const&, unsigned int, char const*, llvm::StringRef, llvm::StringRef, bool, bool, unsigned int, lldb_private::IOHandlerDelegate&)::$_2::operator()() const /home/hyubo/osmeta/external/llvm-project/lldb/source/Core/IOHandler.cpp:262:73
#22 0x00007fe9eb80aa5d void llvm::detail::UniqueFunctionBase<void>::CallImpl<lldb_private::IOHandlerEditline::IOHandlerEditline(lldb_private::Debugger&, lldb_private::IOHandler::Type, std::shared_ptr<lldb_private::File> const&, std::shared_ptr<lldb_private::LockableStreamFile> const&, std::shared_ptr<lldb_private::LockableStreamFile> const&, unsigned int, char const*, llvm::StringRef, llvm::StringRef, bool, bool, unsigned int, lldb_private::IOHandlerDelegate&)::$_2>(void*) /home/hyubo/osmeta/external/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:213:5
#23 0x00007fe9eb93bfbf llvm::unique_function<void ()>::operator()() /home/hyubo/osmeta/external/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:365:5
#24 0x00007fe9eb93bb80 lldb_private::Editline::GetCharacter(wchar_t*) /home/hyubo/osmeta/external/llvm-project/lldb/source/Host/common/Editline.cpp:0:5
#25 0x00007fe9eb941a18 lldb_private::Editline::ConfigureEditor(bool)::$_0::operator()(editline*, wchar_t*) const /home/hyubo/osmeta/external/llvm-project/lldb/source/Host/common/Editline.cpp:1287:5
#26 0x00007fe9eb9419e2 lldb_private::Editline::ConfigureEditor(bool)::$_0::__invoke(editline*, wchar_t*) /home/hyubo/osmeta/external/llvm-project/lldb/source/Host/common/Editline.cpp:1286:27
#27 0x00007fe9f3384e26 el_getc /home/engshare/third-party2/libedit/3.1/src/libedit/src/read.c:439:14
#28 0x00007fe9f3384e26 el_getc /home/engshare/third-party2/libedit/3.1/src/libedit/src/read.c:400:1
#29 0x00007fe9f3384f90 read_getcmd /home/engshare/third-party2/libedit/3.1/src/libedit/src/read.c:247:14
#30 0x00007fe9f3384f90 el_gets /home/engshare/third-party2/libedit/3.1/src/libedit/src/read.c:586:14
#31 0x00007fe9eb9409f3 lldb_private::Editline::GetLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, bool&) /home/hyubo/osmeta/external/llvm-project/lldb/source/Host/common/Editline.cpp:1636:16
#32 0x00007fe9eb8044d7 lldb_private::IOHandlerEditline::GetLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, bool&) /home/hyubo/osmeta/external/llvm-project/lldb/source/Core/IOHandler.cpp:339:5
#33 0x00007fe9eb805609 lldb_private::IOHandlerEditline::Run() /home/hyubo/osmeta/external/llvm-project/lldb/source/Core/IOHandler.cpp:600:11
#34 0x00007fe9eb7b214c lldb_private::Debugger::RunIOHandlers() /home/hyubo/osmeta/external/llvm-project/lldb/source/Core/Debugger.cpp:1280:16
#35 0x00007fe9eb98f00f lldb_private::CommandInterpreter::RunCommandInterpreter(lldb_private::CommandInterpreterRunOptions&) /home/hyubo/osmeta/external/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:3620:16
#36 0x00007fe9eb4f0e09 lldb::SBDebugger::RunCommandInterpreter(bool, bool) /home/hyubo/osmeta/external/llvm-project/lldb/source/API/SBDebugger.cpp:1234:42
#37 0x000055ca6788d6b0 Driver::MainLoop() /home/hyubo/osmeta/external/llvm-project/lldb/tools/driver/Driver.cpp:677:3
#38 0x000055ca6788e226 main /home/hyubo/osmeta/external/llvm-project/lldb/tools/driver/Driver.cpp:887:17
#39 0x00007fe9e5e2c657 __libc_start_call_main /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#40 0x00007fe9e5e2c718 call_init /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/csu/../csu/libc-start.c:128:20
#41 0x00007fe9e5e2c718 __libc_start_main at GLIBC_2.2.5 /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/csu/../csu/libc-start.c:379:5
#42 0x000055ca67889a11 _start /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/csu/../sysdeps/x86_64/start.S:118:0
Segmentation fault (core dumped)
```

When `target symbols add` is run, `Symtab::AddSymbol()` can reallocate
the underlying `std::vector<Symbol>` and resize it, invalidating all
existing Symbol* pointers. While `Process::Flush()` clears stale stack
frames, the statusline caches its own `ExecutionContextRef` containing a
`StackID` with a `SymbolContextScope*` (which can be a `Symbol*`). This
cached reference is not cleared by `Process::Flush()`, so the next
statusline redraw accesses a dangling pointer and crashes.

Fix this by adding `Statusline::Flush()` which clears the cached frame,
`Debugger::Flush()` which forwards to it under the statusline mutex, and
calling `Debugger::Flush()` from `Process::Flush()` so that all flush
paths (symbol add, exec, module load) also invalidate the statusline's
stale state.

After this fix, lldb is not crashing anymore, new symbols from a symbol
file are correctly loaded

---------

Co-authored-by: George Hu <georgehuyubo at gmail.com>


  Commit: 27ff65192c0d4f3c5a6585d49da3ddb138a811b6
      https://github.com/llvm/llvm-project/commit/27ff65192c0d4f3c5a6585d49da3ddb138a811b6
  Author: Pekka Jääskeläinen <pekka.jaaskelainen at tuni.fi>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/TCE.cpp
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/TCE.cpp
    M clang/lib/Driver/ToolChains/TCE.h
    M clang/test/CodeGen/target-data.c
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/TargetParser/TargetDataLayout.cpp
    M llvm/lib/TargetParser/Triple.cpp

  Log Message:
  -----------
  [OpenASIP] Update the TCE target defs for OpenASIP 2.2 (#176698)

OpenASIP (ex. TCE*) is a special target which has only a stub target
definition in the LLVM side that has resided in LLVM for over 15 years.
I'm the original contributors of this stub.

Due to needing various other patches to LLVM that were not nicely
upstreamable, the upstream TCE target defs have long been unupdated.
However, with the recent changes to the vectorization types etc. I
managed to minimize the required LLVM TCE patch to this one and with
this patch OpenASIP can be (finally!) used without a patched LLVM for
VLIW/TTA customization. RISC-V operation set customization still
requires a patch to polish and upstream (TBD).

This patch:

* Introduces a 64b variant of an OpenASIP target.
* Unifies the datalayouts of the different target variants to make it
compatible with OpenASIP v2.2 and above.
* Updates the OpenCL address space IDs to be compatible with the latest
PoCL backends.
* Implements Triple::computeDataLayout() for completeness.

The patch is very unintrusive and I'd love to backport it in the LLVM 22
release as well.

[*] More info:
https://blog.llvm.org/2010/06/tce-project-co-design-of-application.html
https://openasip.org

The actual backends for the customized processors are generated on the
fly with a backend generator of the OpenASIP project based on a target
definition file and loaded as plugins to the LLVM framework. This
mechanism enables fast "design space exploration" of
application-specific processors designed with the toolset as only a
small part of the compiler has to be regenerated for new design
candidates.


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

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
    M mlir/test/Dialect/XeGPU/invalid.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
    M mlir/test/Dialect/XeGPU/transform-ops.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Refactor isEvenlyDistributable() to Layout attribute interface (#191945)

This PR refactor isEvenlyDistributable() to layout attribute interface
isDistributable(), and used them in all anchor operations to check the
shape can be ditributed with the anchor layout.


  Commit: 9fb6c65cbb89339f61ce94d25eefa09443ef5eef
      https://github.com/llvm/llvm-project/commit/9fb6c65cbb89339f61ce94d25eefa09443ef5eef
  Author: Maryam Moghadas <maryammo at ca.ibm.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/test/CodeGen/PowerPC/amo-enable.ll

  Log Message:
  -----------
  [PowerPC] Rework AMO load with Compare and Swap Not Equal to use post-RA pseudo expansion (#190698)

Replace the dummy call lowering with a PPCPostRAExpPseudo that hardcodes
X8/X9/X10 post-RA to satisfy the 3 consecutive register constraint for
lwat/ldat FC=16, addressing reviewer feedback.


  Commit: cdfd0b60d2f30d91087227ea90f16e43af3ff875
      https://github.com/llvm/llvm-project/commit/cdfd0b60d2f30d91087227ea90f16e43af3ff875
  Author: Corentin Kerisit <corentin.kerisit at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/Headers/__clang_cuda_runtime_wrapper.h

  Log Message:
  -----------
  [CUDA] Change __CUDACC__ definition to 1 (#189457)

I recently encountered an issue where `nccl` used `#if __CUDACC__` ,
assuming `__CUDACC__` is not only defined but having a #if-able value.


https://github.com/NVIDIA/nccl/blob/v2.28.3-1/src/include/nccl_device/coop.h#L18

Looking at nvcc invocation, I see that:
```
echo "" | nvcc -x cu -E -Xcompiler -dM - | grep __CUDACC__
#define __CUDACC__ 1
```

Changing __CUDACC__ to 1 to match what NVIDIA downstream code
assumptions.


  Commit: 89e736d1df16ee8aea85eb22eb625482e7e9eae2
      https://github.com/llvm/llvm-project/commit/89e736d1df16ee8aea85eb22eb625482e7e9eae2
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    A flang/test/Analysis/AliasAnalysis/modref-call-memory-effects.fir
    M flang/test/lib/Analysis/AliasAnalysis/TestAliasAnalysis.cpp

  Log Message:
  -----------
  [flang][test] Experimental support of MemoryEffectOpInterface for fir.call. (#191580)

I would like to experiment with `fir.call` implementing
`MemoryEffectOpInterface`. So the main change is the fall-through
path in FIR AA. It should be NFC for Flang.


  Commit: e540f8006fb1902671d80308fa6ebd79b6231d4b
      https://github.com/llvm/llvm-project/commit/e540f8006fb1902671d80308fa6ebd79b6231d4b
  Author: Moazin K. <moazinkhatri at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    A flang/test/Fir/box-elesize-canonicalize.fir
    M flang/test/Lower/volatile-string.f90

  Log Message:
  -----------
  [flang] implements a rewrite pattern to constant fold fir::BoxEleSizeOp (#192320)

Implements a rewrite pattern to constant fold an `fir::BoxEleSizeOp`
when possible.


  Commit: 35dcb5c1303b251d8728bd4f8ed93ff4316eea3a
      https://github.com/llvm/llvm-project/commit/35dcb5c1303b251d8728bd4f8ed93ff4316eea3a
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/test/CIR/CodeGen/cleanup-automatic-eh.cpp

  Log Message:
  -----------
  [CIR] Add EH handling for lifetime extended cleanups (#192305)

This adds code to call pushDestroyAndDeferDeactivation from the
pushLifetimeExtendedDestroy function. This was needed to generate the
correct code for lifetime extended cleanups when exceptions are enabled.
An extended version of the cleanup with automatic storage duration is
used as a test case.

To make this work correctly, I had to add a CleanupDeactivationScope to
RunCleanupsScope and force deactivation when forceCleanup is called.
This matches the corresponding code in classic codegen.

I surveyed other places where classic codegen is using
CleanupDeactivationScope and added a MissingFeatures marker in one
location where it was not previously marked. Other places where it was
missing were already marked in this way.


  Commit: 7c08b8ea10d87988f070b12afa873ccb14bb1e9f
      https://github.com/llvm/llvm-project/commit/7c08b8ea10d87988f070b12afa873ccb14bb1e9f
  Author: PiJoules <leonardchan at google.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_mapping.h

  Log Message:
  -----------
  [compiler-rt][Fuchsia] Use dynamic shadow global in hwasan runtime (#192148)

For now, the global is still default initialized to zero.


  Commit: 957f6f6e791b8e12abd91ef1e8815d69dc360a70
      https://github.com/llvm/llvm-project/commit/957f6f6e791b8e12abd91ef1e8815d69dc360a70
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.prefetch.data.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for G_AMDGPU_S_BUFFER_PREFETCH (#191315)


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

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

  Log Message:
  -----------
  [llvm][DebugInfo] Use formatv in DWARFAcceleratorTable (#191981)

This relates to #35980.


  Commit: 1202ddcfe067d5ceab199266e98c098c06ce98a3
      https://github.com/llvm/llvm-project/commit/1202ddcfe067d5ceab199266e98c098c06ce98a3
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/always_uniform.ll

  Log Message:
  -----------
  [AMDGPU] Mark s_get_*_barrier_state intrinsics always uniform (#192190)

Both intrinsics return a 32-bit SGPR value containing the barrier's
member count and signal count.


  Commit: 5c928535c0ae18f37e47faa9bb265ea75f1700c4
      https://github.com/llvm/llvm-project/commit/5c928535c0ae18f37e47faa9bb265ea75f1700c4
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/include/clang/Serialization/InMemoryModuleCache.h
    M clang/include/clang/Serialization/ModuleCache.h
    M clang/include/clang/Serialization/ModuleManager.h
    M clang/lib/DependencyScanning/InProcessModuleCache.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/InMemoryModuleCache.cpp
    M clang/lib/Serialization/ModuleCache.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    M clang/unittests/Serialization/InMemoryModuleCacheTest.cpp

  Log Message:
  -----------
  [clang] Store size & mtime in in-memory module cache (#190207)

In this PR, the in-memory module cache now stores the size and
modification time of PCM files. This is needed so that the
`ModuleManager` doesn't need to consult the file system to obtain this
information, which _might_ be in a different state than when we stored
the PCM file buffer into the in-memory cache.


  Commit: ae4a02f9a8815b1a342bb83f3a6eb1bb177a6b40
      https://github.com/llvm/llvm-project/commit/ae4a02f9a8815b1a342bb83f3a6eb1bb177a6b40
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.async.to.lds.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for async LDS loads (#192179)

Add RegBankLegalize rules for async LDS load intrinsics:
llvm.amdgcn.asyncmark
llvm.amdgcn.wait.asyncmark
llvm.amdgcn.global.load.async.to.lds.b8
llvm.amdgcn.global.load.async.to.lds.b32
llvm.amdgcn.global.load.async.to.lds.b64
llvm.amdgcn.global.load.async.to.lds.b128


  Commit: cbe64931e791ba565b4dea3eab30135326531777
      https://github.com/llvm/llvm-project/commit/cbe64931e791ba565b4dea3eab30135326531777
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw-bf16-gfx11plus.ll
    M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
    M llvm/test/CodeGen/AMDGPU/bf16-math.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
    M llvm/test/CodeGen/AMDGPU/fabs.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.bf16.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/fmax3-maximumnum.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
    M llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
    M llvm/test/CodeGen/AMDGPU/fptoui-sat-vector.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp2.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
    M llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
    M llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
    M llvm/test/CodeGen/AMDGPU/minmax3-tree-reduction.ll

  Log Message:
  -----------
  [AMDGPU] Enable true16 pattern to build vectors (0, vgpr) (#191896)

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


  Commit: 66432130ac1cd4be97772cd6455bd433dd35a179
      https://github.com/llvm/llvm-project/commit/66432130ac1cd4be97772cd6455bd433dd35a179
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Reject initializer on Import-linkage GlobalVariable (#192302)

Per the SPIR-V spec, a module-scope OpVariable with Import linkage must
not have an initializer


  Commit: 76d7fddd411c58510f93ef246b2b22cc45c5f120
      https://github.com/llvm/llvm-project/commit/76d7fddd411c58510f93ef246b2b22cc45c5f120
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/test/CIR/CodeGen/abstract-cond.c
    M clang/test/CIR/CodeGen/cleanup-conditional-eh.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional.cpp
    M clang/test/CIR/CodeGen/coro-task.cpp
    M clang/test/CIR/CodeGen/dtors.cpp
    M clang/test/CIR/CodeGen/initializer-list-two-pointers.cpp
    M clang/test/CIR/CodeGen/instantiate-init.cpp
    M clang/test/CIR/CodeGen/lambda-dtor-field.cpp
    M clang/test/CIR/CodeGen/lambda.cpp
    M clang/test/CIR/CodeGen/new-delete-deactivation.cpp
    M clang/test/CIR/CodeGen/paren-init-list-eh.cpp
    M clang/test/CIR/CodeGen/paren-init-list.cpp
    M clang/test/CIR/CodeGen/statement-exprs.c
    M clang/test/CIR/CodeGen/trivial-ctor-const-init.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-bit-cast.cpp

  Log Message:
  -----------
  [CIR] Simplify expr with cleanup scopes (#192344)

This change simplifies the level of scopes we build around aggregate
expressions with cleanups and return values involving expressions with
cleanups. This removes unnecessary scopes and lexical scopes that were
created around the expressions and brings the code back into alignment
with the corresponding classic codegen implementation of these handlers.


  Commit: 151d5366b66d273f1fccbc9a977aeecd04718c48
      https://github.com/llvm/llvm-project/commit/151d5366b66d273f1fccbc9a977aeecd04718c48
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [VPlan] Remove VPConstantInt restriction for epilogue fold (NFC) (#192345)

The restriction is not needed currently. Removing it generalizes the
pattern in preparation of future changes.


  Commit: d1e1d54befaa58fd969edb106712eb6fb8944ff3
      https://github.com/llvm/llvm-project/commit/d1e1d54befaa58fd969edb106712eb6fb8944ff3
  Author: Jasmine Tang <jjasmine at igalia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fexp2.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp2.ll

  Log Message:
  -----------
  [AMDGPU]: Add regbank legalize rules for amdgcn exp2 intrinsics (#191953)


  Commit: 925e2c67831d47b69dcd50d6c4de4e0442b33e53
      https://github.com/llvm/llvm-project/commit/925e2c67831d47b69dcd50d6c4de4e0442b33e53
  Author: Ryan Mansfield <ryan_mansfield at apple.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/tools/libclang/CMakeLists.txt

  Log Message:
  -----------
  [Clang][CMake] Fix libclang.dylib not relinking when libclang.map changes (#189698)


  Commit: bbc6a54f54467de1a459298d8a8390307223f3df
      https://github.com/llvm/llvm-project/commit/bbc6a54f54467de1a459298d8a8390307223f3df
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
    M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
    M mlir/test/Dialect/XeGPU/invalid.mlir
    M mlir/test/Dialect/XeGPU/ops.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout.mlir
    M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
    M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
    M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp

  Log Message:
  -----------
  [MLIR][XeGPU] Remove create tdesc & update offset op from xegpu dialect (#182804)

This PR removes create_tdesc and update_offset ops from the XeGPU
dialect, as scatter load/store/prefetch now accept memref+offsets
directly.


  Commit: 5dc1fd4c3cee70cbace96ba085abeccae7c67c22
      https://github.com/llvm/llvm-project/commit/5dc1fd4c3cee70cbace96ba085abeccae7c67c22
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    A clang/test/CIR/CodeGen/amdgpu-call-addrspace-cast.cpp

  Log Message:
  -----------
  [CIR] Add address space casts for pointer arguments when creating a call (#192303)

This patch checks if the expected type for an argument is the same as
the actual type. If types are pointers but with different address spaces
then add an address space cast to make the pointer types match.

Assised-by: Cursor / Claude Opus 4.6


  Commit: d430d89d5550e2e5aa1a72c7e5e1232ef1766da6
      https://github.com/llvm/llvm-project/commit/d430d89d5550e2e5aa1a72c7e5e1232ef1766da6
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [CIR][CUDA] Do Runtime Kernel Registration (#188926)

Related:
https://github.com/issues/assigned?issue=llvm%7Cllvm-project%7C179278,
https://github.com/llvm/llvm-project/issues/175871

More registration shenanigans -> Generates `__cuda_register_globals`
that associates the fatbin with kernels that contain `__global__`
qualifiers with the runtime.

Generated equivalent runtime code:

``` C
  // Called once per kernel to register it with the CUDA runtime.
  void __cuda_register_globals(void **fatbinHandle) {
      __cudaRegisterFunction(
          fatbinHandle,
          (const char *)&_Z25__device_stub__kernelfunciii, // host-side stub ptr
          (char *)__cuda_kernelname_str,                   // device-side mangled name
          (char *)__cuda_kernelname_str,                   // device-side mangled name
          -1,      // thread limit (-1 = no limit)
          NULL, NULL, NULL, NULL, NULL
      );
  }

  void __cuda_module_ctor() {
      __cuda_gpubin_handle = __cudaRegisterFatBinary(&__cuda_fatbin_wrapper);
      __cuda_register_globals(__cuda_gpubin_handle); // ==== NEW
      // TODO: Register shadow variables
      __cudaRegisterFatBinaryEnd(__cuda_gpubin_handle); // CUDA >= 10.1
      atexit(__cuda_module_dtor);
  }
```


  Commit: eab567a3eac0a8e3a565dd40159632ee9f569538
      https://github.com/llvm/llvm-project/commit/eab567a3eac0a8e3a565dd40159632ee9f569538
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/build_vector.gfx11plus.ll
    M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
    M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/true16-imm-folded-to-0-regression.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll

  Log Message:
  -----------
  [AMDGPU] Add true16 patterns for build_vector (vgpr, 0) (#192147)

It is shorter than VOP3 `and` instruction and in some cases
can save a second move.


  Commit: 5b979f51e38b50d57c370c0c9b27688c032f6570
      https://github.com/llvm/llvm-project/commit/5b979f51e38b50d57c370c0c9b27688c032f6570
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M bolt/lib/Passes/Instrumentation.cpp

  Log Message:
  -----------
  [BOLT][Passes] use ADT containers for instrumentation spanning tree. (#192289)

Swap `std::unordered_map<…, std::set<…>>` for
`DenseMap<…, SmallVector<…>>` in `Instrumentation::instrumentFunction`
and switch read paths from `STOutSet[&BB]` to `find()`. This removes
per-set heap allocations, stops inserting empty buckets on every probe,
and replaces linear `is_contained()` scans over a red-black tree with
linear scans over inline `SmallVector` storage (most basic blocks have
at most a couple of spanning-tree out-edges). NFC.


  Commit: b2af653a88756b23071f68447bc5c8aba564f9a7
      https://github.com/llvm/llvm-project/commit/b2af653a88756b23071f68447bc5c8aba564f9a7
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp

  Log Message:
  -----------
  [CIR][NFC] Convert MissingFeatures::requiresCleanups to errorNYI (#192350)

This change adds errorNYI calls in two places that we previously had
requiresCleanups() missing features markers, adds a more specific
missing feature marker for loops, removes one requiresCleanups() where
the handling was already implemented, and deletes a bunch of missing
feature markers there were never used.


  Commit: 0a4d3b3543053d90de46d97bc60cfcc9b92abd35
      https://github.com/llvm/llvm-project/commit/0a4d3b3543053d90de46d97bc60cfcc9b92abd35
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    A clang/test/CIR/CodeGen/attr-noundef.cpp
    A clang/test/CIR/CodeGenCXX/uncopyable-args.cpp
    A clang/test/CIR/CodeGenCXX/x86_64-arguments.cpp

  Log Message:
  -----------
  [CIR][ABI][NFC] Add x86_64 ABI parity tests (#191259)

Add three test files for CIR ABI parity on x86_64, all with
CIR/LLVM/OGCG checks:

- uncopyable-args.cpp — 24 functions covering non-copyable and
  move-only types (trivial, default-ctor, move-ctor, etc.)
- x86_64-arguments.cpp — 26 functions covering C++ struct passing,
  inheritance, member pointers, empty bases, packed structs
- attr-noundef.cpp — 26 functions covering noundef placement on
  structs, unions, vectors, member pointers, _BitInt

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


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    A clang/test/CIR/CodeGen/trivial-abi.cpp

  Log Message:
  -----------
  [CIR][ABI] Handle callee-destructed params for trivial_abi (#191257)

Replace errorNYI for isParamDestroyedInCallee with working
implementation: create aggregate temp, mark externally destructed,
emit expr.  Unblocks [[trivial_abi]] types on Itanium ABI.

Adds trivial-abi.cpp test covering 17 cases from
CodeGenCXX/trivial_abi.cpp with CIR/LLVM/OGCG checks.

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


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

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Avoid false positive on multi device symbol with components (#192177)

Semantic was wrongly flagging derived-type components as two device
resident object. Update how we collect symbols and count the number of
device resident object.


  Commit: 561cf0c4f5f7c48b434c6c363c233a1b97b0ee63
      https://github.com/llvm/llvm-project/commit/561cf0c4f5f7c48b434c6c363c233a1b97b0ee63
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CodeGen/CodeGenAction.cpp
    M flang/lib/Frontend/CompilerInstance.cpp
    M llvm/include/llvm/IR/PassTimingInfo.h
    M llvm/include/llvm/Pass.h
    M llvm/lib/CodeGen/RegAllocBase.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/IRReader/IRReader.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    M llvm/unittests/IR/TimePassesTest.cpp

  Log Message:
  -----------
  [NFC] Move TimePasses globals from Pass.h to PassTimingInfo.h (#192352)

They don't belong in the legacy pass manager-specific header, they apply
to both pass managers, plus the pass manager isn't the right layer to
put the bools anyway.


  Commit: 2537596d2292d32e029dbccf4ecee55202c8ec64
      https://github.com/llvm/llvm-project/commit/2537596d2292d32e029dbccf4ecee55202c8ec64
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/Module.h
    M clang/include/clang/Lex/ModuleMap.h
    M clang/lib/Lex/ModuleMap.cpp
    A clang/test/Modules/duplicate-header-ownership.c

  Log Message:
  -----------
  [clang][modules] Diagnose headers owned by multiple modules (#188538)

Add -Wduplicate-header-ownership, an off by default warning that fires
at include time when a header is owned by multiple top-level modules.
This helps catch overlapping module maps that can cause confusing module
resolution.

Assisted-by: claude-opus-4.6


  Commit: e0e2c8d9e065df78c17c4ed34a8133e2a863d94f
      https://github.com/llvm/llvm-project/commit/e0e2c8d9e065df78c17c4ed34a8133e2a863d94f
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    A clang/test/CIR/CodeGen/base-init-eh.cpp

  Log Message:
  -----------
  [CIR] Implement EH handling for base class initializer (#192358)

This implements exception handling when a base class initializer is
called from a dervied class' constructor. The cleanup handler to call
the base class dtor was already implemented. We just needed to push the
cleanup on the EH stack.


  Commit: cf536231f0be2cdc3d57172a4dfa6e116c550fb6
      https://github.com/llvm/llvm-project/commit/cf536231f0be2cdc3d57172a4dfa6e116c550fb6
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/test/Modules/lookup.cpp
    M clang/test/Modules/no-stale-modtime.m
    A clang/test/Modules/objc-at-import.m
    M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
    M clang/utils/ClangVisualizers/clang.natvis
    M lldb/test/Shell/Expr/TestClangModuleLoadError_FromExpression.test

  Log Message:
  -----------
  Reapply "[ObjC][Preprocessor] Handle @import directive as a pp-directive" (#189174)

This PR reapply https://github.com/llvm/llvm-project/pull/157726.

Depends: https://github.com/llvm/llvm-project/pull/107168
This patch handle `@import` as a preprocessing directive, and since this
patch, the following import directive will be ill-formed:
```
@import Foo\n;
```

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: 18bed37e5ddadb1bf7a3439b746deb43a23699d5
      https://github.com/llvm/llvm-project/commit/18bed37e5ddadb1bf7a3439b746deb43a23699d5
  Author: Kevin Sala Penades <salapenades1 at llnl.gov>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/test/CMakeLists.txt
    M offload/unittests/CMakeLists.txt
    M openmp/docs/Building.md

  Log Message:
  -----------
  [offload][OpenMP] Require CUDA 11.8 (#191100)


  Commit: 75143099f9c8f56a799c1c89f225debb9caf20f0
      https://github.com/llvm/llvm-project/commit/75143099f9c8f56a799c1c89f225debb9caf20f0
  Author: Yonah Goldberg <ygoldberg at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/test/CodeGen/AMDGPU/unsupported-atomics.ll
    A llvm/test/CodeGen/NVPTX/atomic-alignment.err.ll
    M llvm/test/CodeGen/NVPTX/atomicrmw-expand.err.ll
    M llvm/test/CodeGen/NVPTX/atomics-b128.ll
    M llvm/test/CodeGen/NVPTX/load-store-atomic.err.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/unaligned-atomic.ll

  Log Message:
  -----------
  [AtomicExpandPass] Improve atomic expand error messages (#188380)

AtomicExpandPass tells you that an operation is not supported but not why.


  Commit: 326a9fa5631ebb497c1137d28469186a76f583ed
      https://github.com/llvm/llvm-project/commit/326a9fa5631ebb497c1137d28469186a76f583ed
  Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M lld/MachO/Arch/ARM64.cpp
    M lld/MachO/ConcatOutputSection.cpp
    M lld/MachO/ConcatOutputSection.h
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/Target.h
    A lld/test/MachO/arm64-thunk-branch-addend.s

  Log Message:
  -----------
  [lld][MachO] Key branch-extension thunks on (referent, addend) (#191808)

TextOutputSection::finalize ignored branch relocation addends. Two call
sites branching to the same symbol with different addends therefore
collapsed onto a single thunk.

Key thunkMap on (isec, value, addend) so two call sites with different
addends get independent thunks. The addend is encoded in the thunk's
relocs and is zeroed at the call site after the callee is redirected to
the thunk. Thunk names carry a `+N` suffix when the addend is non-zero.


  Commit: 7780e546771cc9a206590c802a9f1b4e4cbd08f6
      https://github.com/llvm/llvm-project/commit/7780e546771cc9a206590c802a9f1b4e4cbd08f6
  Author: Jim Lin <jim at andestech.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinterAnalysis.h

  Log Message:
  -----------
  [AsmPrinter] Fix AsmPrinterAnalysis::Result::invalidate to take PreservedAnalyses by const reference (#191742)

The invalidate method was taking PreservedAnalyses by value instead of
by const reference, causing an unnecessary copy on every invalidation
query. All other analysis invalidate methods in LLVM use const
reference.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>


  Commit: 4a24c685fe4433e86c1022c7fd0b5d5fa3c40e18
      https://github.com/llvm/llvm-project/commit/4a24c685fe4433e86c1022c7fd0b5d5fa3c40e18
  Author: Jim Lin <jim at andestech.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/ARM/setcc-logic.ll

  Log Message:
  -----------
  [DAGCombiner] Fold (or (seteq X, 0), (seteq X, -1)) to (setult (add X, 1), 2) (#192183)

This is the De Morgan dual of the existing fold:
    (and (setne X, 0), (setne X, -1)) --> (setuge (add X, 1), 2)

The or-of-equalities version checks if X is either 0 or -1, which is
equivalent to (X+1) < 2 (unsigned). This reduces two comparisons and
an or to one add and one comparison.

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>


  Commit: 12a4adf6f2c3d4748a58fd89fcc210d820073c85
      https://github.com/llvm/llvm-project/commit/12a4adf6f2c3d4748a58fd89fcc210d820073c85
  Author: Kevin Sala Penades <salapenades1 at llnl.gov>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M offload/cmake/OpenMPTesting.cmake
    M offload/include/omptarget.h
    M offload/libomptarget/device.cpp
    M offload/libomptarget/interface.cpp
    M offload/libomptarget/omptarget.cpp
    M offload/libomptarget/private.h
    M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
    M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
    M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/common/include/PluginInterface.h
    A offload/plugins-nextgen/common/include/RecordReplay.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    A offload/plugins-nextgen/common/src/RecordReplay.cpp
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    A offload/test/tools/omp-kernel-replay/record-replay-advanced.cpp
    A offload/test/tools/omp-kernel-replay/record-replay-basic.cpp
    M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp

  Log Message:
  -----------
  [offload] Fix kernel record/replay and add extensible mechanism (#190588)

This commit fixes the kernel record replay on both AMD and CUDA devices. It
also re-organizes the record replay code, moves the whole code to separate
files, and makes it extensible to support other record formats (potentially in
the future). The environment variables for controlling the recording have also
been modified.


  Commit: 47b5ad2bdb1a8ea0840fb671ae57c128292eb34c
      https://github.com/llvm/llvm-project/commit/47b5ad2bdb1a8ea0840fb671ae57c128292eb34c
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M mlir/lib/Transforms/CSE.cpp

  Log Message:
  -----------
  [mlir][CSE] Fix dominanceInfo analysis preservation (#192279)

The CSE pass calls `markAnalysesPreserved<DominanceInfo,
PostDominanceInfo>()` at the end. While CSE erases operations, it does
not remove their corresponding dominator trees, causing them to be
unnecessarily preserved in memory. This PR addresses the issue by
explicitly calling invalidate within CSE to clean up the dominator trees
for those erased operations.


  Commit: 3089120f0cd2fe78911d1bc9703764a07fa7eb32
      https://github.com/llvm/llvm-project/commit/3089120f0cd2fe78911d1bc9703764a07fa7eb32
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/AttrImpl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Index/CommentToXML.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/Index/annotate-comments-availability-anyappleos.cpp
    M clang/test/Sema/attr-availability-anyappleos-ast.c
    M clang/test/Sema/attr-availability-anyappleos.c
    M clang/tools/libclang/CIndex.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  Redesign handling of anyAppleOS availability attribute (#190817)

Previously, when processing an anyAppleOS availability attribute, clang
replaced it with an implicit platform-specific attribute (e.g., ios,
macos) inferred for the current target. Only the introduced version of
the original anyAppleOS attribute was preserved (as a field on the
inferred attr). This was insufficient for clients such as Swift that
need access to the full original attribute, including deprecated,
obsoleted, and message fields.

This patch preserves the original anyAppleOS attribute on the decl and
attaches the inferred platform-specific attribute to it as a child via
the new InferredAttr field. Most callers use getEffectiveAttr() to
transparently get the inferred attr when present, preserving existing
behavior. Fix-it hints use the presence of an inferred attr to decide
whether to emit "anyAppleOS" or a platform-specific name in the
@available expression. The one behavioral change is in documentation
XML, where availability info is now emitted for both the anyAppleOS attr
and the inferred platform-specific attr.

When an explicit platform-specific attribute (e.g. ios(introduced=26.0))
conflicts with an anyAppleOS-derived attribute for the same platform,
the explicit attribute wins: the anyAppleOS attribute is erased from the
decl so only the explicit one is used.


  Commit: dea55c9b0b244d4cbd06d2427b26942608db300c
      https://github.com/llvm/llvm-project/commit/dea55c9b0b244d4cbd06d2427b26942608db300c
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
    M mlir/test/Dialect/NVGPU/invalid.mlir

  Log Message:
  -----------
  [mlir][NVGPU] Validate mmaShape has 3 elements in MmaSyncOp/MmaSparseSyncOp (#190928)

Add validation in MmaSyncOp::verify and MmaSparseSyncOp::verify to
ensure `mmaShape` contains exactly 3 elements before calling
getMmaShapeAsArray() to avoid crash. Fixes
https://github.com/llvm/llvm-project/issues/173378.


  Commit: 53cf0d5b9c348bc44def48baf7bf70adc8ff58e6
      https://github.com/llvm/llvm-project/commit/53cf0d5b9c348bc44def48baf7bf70adc8ff58e6
  Author: Lucas Chollet <lucas.chollet at serenityos.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/test/Driver/serenity.cpp

  Log Message:
  -----------
  [clang] Make serenity.cpp tests pass on clang-with-thin-lto-ubuntu (#192231)

LTO_FULL-NOT was definitely too generic and prone to matching unrelated
content. It would, as an example, match against the build path on
clang-with-thin-lto-ubuntu builder [1].

Making the match more restrictive should avoid this kind of issues.

[1] https://lab.llvm.org/buildbot/#/builders/127/builds/6956


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

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
    M llvm/test/MC/RISCV/rv32p-aliases-valid.s

  Log Message:
  -----------
  [RISCV] Prefer LUI over PLUI.H on RV32. (#192340)

I don't think any of the cases PLUI.H can handle would be eligible for
C.LUI, but still figured it was best to use base ISA instructions when
possible.


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

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

  Log Message:
  -----------
  [RISCV] Replace Unsigned flag in generateInstSeqImpl with ShiftOpc. NFC (#192363)

Changed ShiftAmount from int to unsigned.


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

  Changed paths:
    M offload/libomptarget/omptarget.cpp
    M offload/plugins-nextgen/common/src/RecordReplay.cpp

  Log Message:
  -----------
  [offload] Fix asserts in kernel record replay (#192379)

This commit fixes issues introduced in PR #190588


  Commit: 0e5e9758388e3092a8cd6a0cb1b596039f80743a
      https://github.com/llvm/llvm-project/commit/0e5e9758388e3092a8cd6a0cb1b596039f80743a
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/LiveRangeEdit.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/test/CodeGen/X86/apx/add.ll
    M llvm/test/CodeGen/X86/apx/sub.ll

  Log Message:
  -----------
  [X86][APX] Reset SubReg for dst and check isVirtual before getInterval/getPhys (#191765)

We have made sure dst operand never has a SubReg. We need to make sure
register is virtual when calling getInterval/getPhys.


  Commit: 98449cb8dd7f79a9eade62b5ecb1fa8c614c3a0e
      https://github.com/llvm/llvm-project/commit/98449cb8dd7f79a9eade62b5ecb1fa8c614c3a0e
  Author: Florian Mayer <fmayer at google.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_allocator.cpp
    M compiler-rt/lib/hwasan/hwasan_flags.inc
    A compiler-rt/test/hwasan/TestCases/tag_mask_smoke.c

  Log Message:
  -----------
  [HWASan] [compiler-rt] Add tag_bits option to HWASan alloc (#192386)

This can be used to make sure the allocator 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: 13cae27e9e99ab2ca865e9670c9aaa6106d87cb7
      https://github.com/llvm/llvm-project/commit/13cae27e9e99ab2ca865e9670c9aaa6106d87cb7
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  Revert "[flang][cuda] Avoid false positive on multi device symbol with components" (#192393)

Reverts llvm/llvm-project#192177

this breaks some downstream testing


  Commit: 72a3cd9e54f16d87f47bc984672999a9b67cd4f4
      https://github.com/llvm/llvm-project/commit/72a3cd9e54f16d87f47bc984672999a9b67cd4f4
  Author: Tomer Shafir <tomer.shafir8 at gmail.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/MacroFusion.cpp
    A llvm/test/CodeGen/AArch64/macro-fusion-cluster-conflict.mir

  Log Message:
  -----------
  [MacroFusion] Early return when insts already clustered (#191710)

This patch adds an early return to `fuseInstructionPair()` when macro
fused instructions are already clustered, either by an earlier fusion or
another clustering like ld/st clustering, removing the assert.
    
The assert is generally wrong - there are edge cases where an earlier
ld/st clustering (before macro fusion) reached the assert because it
sets `ParentClusterIdx` and fails. For example, ADRP+LOAD/STORE on
AArch64, thought it seems to be a rare case because the addresses are
ususally unkown at compile time.
    
It doesn't effectively change how fusions are prioritized - early
fusions still win on fusion-fusion conflicts, like before. But it
changes how we resolve the edge case of ld/st-fusion conflicts:
    
Previously, fusions would effectively override ld/st clustering in this
case, given that we currently limits instruction membership to at most a
single cluster through `ParentClusterIdx`. Macro fusion runs after ld/st
clustering in the pipelines.
    
Here we inverse the priorities from MacroFusion's perspective and prefer
earlier ld/st clustering. I think they should be generally preferred
over fusions, because they not only save dispatch and execution slots,
but they also should decrease code size. Of course this heuristic can
fail in some cases. If a new clustering algorithm is added, it would
have to inspect ordering and be placed correctly.
    
I have inspected several internal workloads, and ld/st-fusion conflicts
very rarely appear.


  Commit: ad2bf491badb3c9d58591cf271aff94384e2ede6
      https://github.com/llvm/llvm-project/commit/ad2bf491badb3c9d58591cf271aff94384e2ede6
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/unittests/Serialization/CMakeLists.txt
    A clang/unittests/Serialization/CommentsTest.cpp
    R clang/unittests/Serialization/NoCommentsTest.cpp

  Log Message:
  -----------
  [C++20] [Modules] Write comments in C++20 modules' module file (#192398)

Previously we avoid writing the comments in C++20 modules' module file.

But this prevents LSP tools to read the comments in it. Although we
thought to add a new option for it and ask LSP to use the new option,
the cost of comments seems to be low and new option raises complexity,
so I prefer to write comments in C++20 modules' module file by default
now.


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

  Changed paths:
    A llvm/test/CodeGen/Thumb2/mve-clmul.ll

  Log Message:
  -----------
  [ARM][MVE] Add a MVE clmul tests. NFC (#192403)

Taken from the equivalent AArch64 fixed width tests.


  Commit: 6279043b5b2613282d68818485b10e4038a511a7
      https://github.com/llvm/llvm-project/commit/6279043b5b2613282d68818485b10e4038a511a7
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M llvm/lib/MC/MCAssembler.cpp
    A llvm/test/MC/ELF/prefalign-internal-align.s

  Log Message:
  -----------
  [MC] Fix .prefalign oscillation when body contains a .p2align (#192402)

The intervening FT_Align's padding depends on where this prefalign
lands, so body_size can oscillate across relaxOnce iterations.  When a
downstream section reacts (e.g. .debug_line DWARF deltas crossing a
special-opcode boundary), the outer loop never terminates -- originally
reported as a hang with -O1 -g on
https://github.com/llvm/llvm-project/pull/184032#issuecomment-4235991852

```
static int a;
void b() {}
int c() { for (;;) { int d; for (; a;) return 0; } }
void e() { for (;;) ; }
```

X86 sets both the preferred function alignment
and the loop-header alignment to 16 (X86ISelLowering
setPrefLoopAlignment),
so any function containing a small loop whose first BB gets .p2align 4
lands a same-alignment .p2align inside the prefalign body.

Fix: never decrease ComputedAlign across iterations.


  Commit: 982f736c852c06e8ad58300980c8a7b4a79045ff
      https://github.com/llvm/llvm-project/commit/982f736c852c06e8ad58300980c8a7b4a79045ff
  Author: Aleksandr Platonov <platonov.aleksandr at huawei.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/Compiler.h
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/ModulesBuilder.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/Preamble.h
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp

  Log Message:
  -----------
  [clangd] Introduce --skip-preamble-build command line option (#189284)

This option allows to disable preamble optimization in clangd. By
default it's false, but became true for TUs which import modules (and
experimental modules support is enabled).

This PR is a try to address C++20 modules problems described here
https://github.com/llvm/llvm-project/pull/187432
Fixes https://github.com/llvm/llvm-project/issues/181770


  Commit: d8f63bbc8e20a68e764852a15d67a06fcd14c5bd
      https://github.com/llvm/llvm-project/commit/d8f63bbc8e20a68e764852a15d67a06fcd14c5bd
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Lex/Lexer.cpp
    A clang/test/Parser/macro-braces-recovery.cpp

  Log Message:
  -----------
  [clang] Fix crash in isAtEndOfMacroExpansion at FileID boundary. (#191734)

During error recovery, a synthetic token (whose length is 0) can be
inserted past the end of a FileID, e.g. inserting ")" when a macro-arg
containing a comma should be guarded by parentheses.

When calculating the location after this token, the calculated
`AfterLoc` can point exactly to the start of the next FileID
(`NextLocalOffset`), any source manager operations on the `AfterLoc` are
invalid.
  
This patch adds a safe guard in `Lexer::isAtEndOfMacroExpansion` to
prevent passing this invalid location to `SourceManager`.

 Fixes #115007
 Fixes #21755


  Commit: eb8324a472ff720c90fe4d90214c330d4daa1750
      https://github.com/llvm/llvm-project/commit/eb8324a472ff720c90fe4d90214c330d4daa1750
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/Parser.cpp
    A clang/test/AST/ast-dump-decl-recovery.cpp
    M clang/test/Parser/recovery.cpp

  Log Message:
  -----------
  [clang][Parser] Improve error recovery for missing semicolons in class members. (#190744)

This is something I discovered when doing the investigation for
https://github.com/llvm/llvm-project/pull/188123#issuecomment-4162665482.

This patch improves recovery when a semicolon is missing after a class
member declarations.

When the parser expects a semicolon but encounters a token that is at
the start of a line and is a valid declaration specifier, it injects a
`;` instead of skipping tokens, this allows us to preserve the
declaration after the missing ";" instead of discarding it.


  Commit: 882be8f173d49fbbb58660fa556d782947bba33f
      https://github.com/llvm/llvm-project/commit/882be8f173d49fbbb58660fa556d782947bba33f
  Author: Varad Rahul Kamthe <133588066+varadk27 at users.noreply.github.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/movmatrix.ll

  Log Message:
  -----------
  [LLVM][NVPTX] Add movmatrix intrinsic and PTX instruction support (#190109)

This change adds NVVM intrinsic and NVPTX backend support for the movmatrix PTX instruction. Tests are added in `movmatrix.ll` and verified through `ptxas-13.1`.

PTX Spec Reference: https://docs.nvidia.com/cuda/parallel-thread-execution/#warp-level-matrix-instructions-movmatrix

Assisted-by: Cursor


  Commit: ec1e3aef9a153d71441fe7214151272929b066e1
      https://github.com/llvm/llvm-project/commit/ec1e3aef9a153d71441fe7214151272929b066e1
  Author: Farid Zakaria <fmzakari at fb.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    A bolt/test/X86/lsda-encoding.s

  Log Message:
  -----------
  [BOLT] Update LSDA encoding for x86-64 large code model (#190685)

BOLT hardcoded 4-byte LSDA (exception table) encoding for x86-64. This
is insufficient for large code model binaries where functions in .ltext
sections may be placed at addresses above 2GB, exceeding the range of
DW_EH_PE_udata4/DW_EH_PE_sdata4 encodings.

Detect large code model by checking for .ltext sections
(SHF_X86_64_LARGE) and update LSDAEncoding to use 8-byte pointers:
- Non-PIC: DW_EH_PE_absptr (8-byte absolute)
- PIC: DW_EH_PE_pcrel | DW_EH_PE_sdata8 (8-byte PC-relative)

This was pulled out from
https://github.com/llvm/llvm-project/pull/190637


  Commit: 0d277d676c6b624e94f661709377ab3a6660a629
      https://github.com/llvm/llvm-project/commit/0d277d676c6b624e94f661709377ab3a6660a629
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    M .ci/green-dragon/lldb-ubuntu.groovy
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M .ci/premerge_advisor_explain.py
    M .github/new-prs-labeler.yml
    A .github/workflows/libc-shared-tests.yml
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/libcxx-build-containers.yml
    A .github/workflows/release-llvm-testing-tools.yml
    M .mailmap
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Passes/DataflowAnalysis.h
    M bolt/include/bolt/Passes/LivenessAnalysis.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Core/AddressMap.cpp
    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/Passes/AllocCombiner.cpp
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Passes/TailDuplication.cpp
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/DataReader.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/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/AArch64/CMakeLists.txt
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    M bolt/runtime/common.h
    M bolt/runtime/instr.cpp
    M bolt/runtime/sys_riscv64.h
    M bolt/test/AArch64/compare-and-branch-inversion.S
    M bolt/test/AArch64/compare-and-branch-reorder-blocks.S
    M bolt/test/AArch64/compare-and-branch-split-functions.S
    M bolt/test/AArch64/compare-and-branch-unsupported.S
    A bolt/test/AArch64/tail-duplication-cache.s
    A bolt/test/AArch64/tail-duplication-pass.s
    A bolt/test/Inputs/elf32-basic.yaml
    M bolt/test/RISCV/call-annotations.s
    M bolt/test/RISCV/relax.s
    A bolt/test/X86/Inputs/pre-aggregated-buildid-empty.txt
    A bolt/test/X86/lsda-encoding.s
    M bolt/test/X86/pre-aggregated-perf-buildid.test
    A bolt/test/X86/pre-aggregated-perf-shlib.test
    M bolt/test/X86/tail-duplication-pass.s
    A bolt/test/elf32-basic.test
    A bolt/test/empty-fdata-file.test
    M bolt/unittests/Core/MCPlusBuilder.cpp
    M bolt/unittests/Passes/CMakeLists.txt
    A bolt/unittests/Passes/LivenessAnalysis.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.h
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp
    M clang-tools-extra/clang-doc/ClangDoc.cpp
    M clang-tools-extra/clang-doc/ClangDoc.h
    M clang-tools-extra/clang-doc/Generators.cpp
    M clang-tools-extra/clang-doc/Generators.h
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/Serialize.h
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp
    M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.h
    A clang-tools-extra/clang-tidy/bugprone/AssignmentInSelectionStatementCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/AssignmentInSelectionStatementCheck.h
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h
    M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/SignedBitwiseCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/SignedBitwiseCheck.h
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h
    M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidCapturingLambdaCoroutinesCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidCapturingLambdaCoroutinesCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccessCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
    M clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.cpp
    M clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.h
    M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h
    M clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt
    M clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
    R clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
    R clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.h
    M clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
    M clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
    A clang-tools-extra/clang-tidy/llvm/RedundantCastingCheck.cpp
    A clang-tools-extra/clang-tidy/llvm/RedundantCastingCheck.h
    M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.h
    M clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.cpp
    M clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.h
    M clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h
    M clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MisleadingBidirectionalCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
    M clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.h
    M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStringViewCheck.cpp
    M clang-tools-extra/clang-tidy/performance/CMakeLists.txt
    R clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp
    R clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.h
    M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
    A clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.cpp
    A clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.h
    M clang-tools-extra/clang-tidy/performance/TriviallyDestructibleCheck.cpp
    M clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
    M clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.h
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
    M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
    A clang-tools-extra/clang-tidy/utils/CheckUtils.h
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
    M clang-tools-extra/clang-tidy/utils/HeaderGuard.h
    M clang-tools-extra/clang-tidy/utils/Matchers.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/Compiler.h
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/ModulesBuilder.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/Preamble.h
    M clang-tools-extra/clangd/TidyFastChecks.inc
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/Contributing.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/assignment-in-selection-statement.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-bitwise.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/exp45-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-capturing-lambda-coroutines.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/signed-bitwise.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/llvm/redundant-casting.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-bit.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-string-view.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/faster-string-find.rst
    A clang-tools-extra/docs/clang-tidy/checks/performance/prefer-single-char-overloads.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-member-init.rst
    M clang-tools-extra/include-cleaner/lib/Types.cpp
    M clang-tools-extra/include-cleaner/lib/TypesInternal.h
    M clang-tools-extra/include-cleaner/unittests/TypesTest.cpp
    M clang-tools-extra/test/CMakeLists.txt
    M clang-tools-extra/test/Unit/CMakeLists.txt
    A clang-tools-extra/test/clang-doc/Inputs/enum.cpp
    M clang-tools-extra/test/clang-doc/enum.cpp
    R clang-tools-extra/test/clang-doc/json/enum.cpp
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/cstddef
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/stddef.h
    M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-accept.cpp
    M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-accept4.cpp
    M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-memfd-create.cpp
    M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-pipe2.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/unchecked-optional-access/std/types/optional.h
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/assignment-in-selection-statement.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/assignment-in-selection-statement.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-treat-functions-without-specification-as-throwing.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-if.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-bug34747.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-integer-literals.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-standard-types.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-standard-types.h
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.c
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unchecked-optional-access.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
    A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-capturing-lambda-coroutines-allow-explicit-object-parameters.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-capturing-lambda-coroutines.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/rvalue-reference-param-not-moved.cpp
    A clang-tools-extra/test/clang-tidy/checkers/fuchsia/temporary-objects-deprecated-alias.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-bug34747.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-standard-types.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-standard-types.h
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise.cpp
    A clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-casting.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module-implementation.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module-partition.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.c
    M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-basic.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-c23.c
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.c
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-bit.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-macro.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view.cpp
    R clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
    A clang-tools-extra/test/clang-tidy/checkers/performance/prefer-single-char-overloads-alias.cpp
    A clang-tools-extra/test/clang-tidy/checkers/performance/prefer-single-char-overloads.cpp
    A clang-tools-extra/test/clang-tidy/checkers/performance/trivially-destructible-module.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/delete-null-pointer.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-template-method-default.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-allow-logical-operators.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-cxx98.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init-ignore-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get-msvc.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/cxx20-modules.cppm
    M clang-tools-extra/test/lit.cfg.py
    M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
    M clang-tools-extra/unittests/clang-doc/GeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
    M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
    M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-tidy/CMakeLists.txt
    M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
    R clang-tools-extra/unittests/clang-tidy/ObjCModuleTest.cpp
    M clang/CMakeLists.txt
    M clang/Maintainers.md
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_version.py
    M clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Fuchsia.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
    M clang/docs/ClangFormatStyleOptions.rst
    R clang/docs/ClangIRABILowering.md
    R clang/docs/ClangIRCleanupAndEHDesign.md
    R clang/docs/ClangIRCodeDuplication.rst
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/InternalsManual.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LifetimeSafety.rst
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/docs/analyzer/developer-docs/PerformanceInvestigation.rst
    M clang/docs/analyzer/user-docs/Annotations.rst
    M clang/docs/conf.py
    M clang/docs/index.rst
    M clang/include/clang-c/BuildSystem.h
    M clang/include/clang-c/Index.h
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/ASTConcept.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Availability.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclContextInternals.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/ExprObjC.h
    M clang/include/clang/AST/Mangle.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/AST/TemplateName.h
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/AST/VTableBuilder.h
    M clang/include/clang/ASTMatchers/ASTMatchFinder.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.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/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
    M clang/include/clang/Analysis/Analyses/PostOrderCFGView.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/AnalysisDeclContext.h
    M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
    M clang/include/clang/Basic/AMDGPUTypes.def
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/BuiltinHeaders.def
    M clang/include/clang/Basic/Builtins.def
    M clang/include/clang/Basic/Builtins.td
    R clang/include/clang/Basic/BuiltinsAArch64.def
    A clang/include/clang/Basic/BuiltinsAArch64.td
    A clang/include/clang/Basic/BuiltinsAArch64Base.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/include/clang/Basic/BuiltinsARM.def
    M clang/include/clang/Basic/BuiltinsBase.td
    M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
    M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
    M clang/include/clang/Basic/BuiltinsPPC.def
    R clang/include/clang/Basic/BuiltinsSystemZ.def
    A clang/include/clang/Basic/BuiltinsSystemZ.td
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/CMakeLists.txt
    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/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticCrossTUKinds.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/HLSLIntrinsics.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/Module.h
    M clang/include/clang/Basic/ObjCRuntime.h
    M clang/include/clang/Basic/OffloadArch.h
    A clang/include/clang/Basic/OptionalUnsigned.h
    M clang/include/clang/Basic/SourceManager.h
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/TargetBuiltins.h
    R clang/include/clang/Basic/UnsignedOrNone.h
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    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.h
    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
    A clang/include/clang/CIR/Dialect/OpenMP/RegisterOpenMPExtensions.h
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/CodeGen/CodeGenABITypes.h
    M clang/include/clang/CrossTU/CrossTranslationUnit.h
    M clang/include/clang/Driver/CommonArgs.h
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/DependencyOutputOptions.h
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/Frontend/Utils.h
    M clang/include/clang/Lex/HeaderSearch.h
    M clang/include/clang/Lex/ModuleMap.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Parse/Parser.h
    A clang/include/clang/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphSummary.h
    A clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.h
    A clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/DerivedAnalysis.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/WPASuite.h
    M clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Tool/Utils.h
    M clang/include/clang/Sema/ExternalSemaSource.h
    M clang/include/clang/Sema/Initialization.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaAMDGPU.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Sema/TypoCorrection.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/InMemoryModuleCache.h
    M clang/include/clang/Serialization/ModuleCache.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/Serialization/ModuleManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/include/module.modulemap
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesTypes.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/AttrImpl.cpp
    M clang/lib/AST/ByteCode/Boolean.h
    A clang/lib/AST/ByteCode/Char.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/IntegralAP.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpStack.cpp
    M clang/lib/AST/ByteCode/InterpStack.h
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/PrimType.cpp
    M clang/lib/AST/ByteCode/PrimType.h
    M clang/lib/AST/ByteCode/Primitives.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Program.h
    M clang/lib/AST/ByteCode/Record.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ExprObjC.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Mangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/ASTMatchers/ASTMatchFinder.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/AnalysisDeclContext.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
    M clang/lib/Analysis/LifetimeSafety/Checker.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/Analysis/LiveVariables.cpp
    M clang/lib/Analysis/PostOrderCFGView.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Basic/OffloadArch.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.cpp
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    A clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
    M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
    M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
    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/CIRGenCleanup.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenException.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    M clang/lib/CIR/CodeGen/CIRGenValue.h
    M clang/lib/CIR/CodeGen/CIRGenerator.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/CodeGen/EHScopeStack.h
    M clang/lib/CIR/CodeGen/TargetInfo.cpp
    M clang/lib/CIR/CodeGen/TargetInfo.h
    A clang/lib/CIR/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CIR/Dialect/CMakeLists.txt
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    A clang/lib/CIR/Dialect/OpenMP/CMakeLists.txt
    A clang/lib/CIR/Dialect/OpenMP/RegisterOpenMPExtensions.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
    M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
    M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.h
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/AMDGPU.cpp
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/NVPTX.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMIR.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGLoopInfo.h
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    A clang/lib/CodeGen/CGObjCMacConstantLiteralUtil.h
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGObjCRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGVTables.h
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/CodeGenTypeCache.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/CrossTU/CrossTranslationUnit.cpp
    M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/InProcessModuleCache.cpp
    M clang/lib/DependencyScanning/ModuleDepCollector.cpp
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ModulesDriver.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    A clang/lib/Driver/ToolChains/Arch/AMDGPU.cpp
    A clang/lib/Driver/ToolChains/Arch/AMDGPU.h
    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/Flang.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Hexagon.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/Driver/ToolChains/TCE.cpp
    M clang/lib/Driver/ToolChains/TCE.h
    M clang/lib/Driver/ToolChains/UEFI.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/ContinuationIndenter.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/lib/FrontendTool/CMakeLists.txt
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/__clang_cuda_intrinsics.h
    M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
    M clang/lib/Headers/__clang_hip_math.h
    A clang/lib/Headers/__clang_spirv_libdevice_declares.h
    M clang/lib/Headers/avx512bwintrin.h
    M clang/lib/Headers/avx512fintrin.h
    M clang/lib/Headers/avx512vlbwintrin.h
    M clang/lib/Headers/avx512vlintrin.h
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/gpuintrin.h
    M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/nvptxintrin.h
    M clang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h
    M clang/lib/Headers/wasm_simd128.h
    M clang/lib/Index/CommentToXML.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/InterpreterUtils.cpp
    M clang/lib/Interpreter/InterpreterValuePrinter.cpp
    M clang/lib/Interpreter/OrcIncrementalExecutor.cpp
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/InitHeaderSearch.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Lex/TokenLexer.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Rewrite/Rewriter.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractor.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphJSONFormat.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
    A clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/WPASuite.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Plugins/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/AnalysisResults.h
    A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/PairsAnalysis.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/TagsAnalysis.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/TagsPairsAnalysis.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Tool/Utils.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaFunctionEffects.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaObjC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/lib/Serialization/GlobalModuleIndex.cpp
    M clang/lib/Serialization/InMemoryModuleCache.cpp
    M clang/lib/Serialization/ModuleCache.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
    M clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
    M clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/Environment.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/lib/Tooling/JSONCompilationDatabase.cpp
    A clang/test/APINotes/Inputs/Headers/BoundsUnsafe.apinotes
    A clang/test/APINotes/Inputs/Headers/BoundsUnsafe.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/bounds-safety.c
    M clang/test/APINotes/templates.cpp
    A clang/test/AST/ByteCode/addr-label-diff.c
    A clang/test/AST/ByteCode/addr-label-diff.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    M clang/test/AST/ByteCode/builtins.c
    M clang/test/AST/ByteCode/c.c
    M clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
    M clang/test/AST/ByteCode/const-eval.c
    M clang/test/AST/ByteCode/cxx11.cpp
    M clang/test/AST/ByteCode/cxx17.cpp
    M clang/test/AST/ByteCode/cxx26.cpp
    A clang/test/AST/ByteCode/int-as-ptr-arith.c
    M clang/test/AST/ByteCode/placement-new.cpp
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/Texture2D-scalar-AST.hlsl
    M clang/test/AST/HLSL/Texture2D-vector-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/AST/HLSL/ast-dump-SpirvType.hlsl
    A clang/test/AST/HLSL/hlsl-constructors-template.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
    A clang/test/AST/ast-dump-decl-recovery.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
    A clang/test/AST/ast-dump-openmp-split.c
    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/ASTMerge/generic-selection-expr/Inputs/generic-type.c
    A clang/test/ASTMerge/generic-selection-expr/test-type.c
    R clang/test/Analysis/Inputs/ctu-chain.cpp
    R clang/test/Analysis/Inputs/ctu-cxxdefaultinitexpr-import.cpp
    R clang/test/Analysis/Inputs/ctu-cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt
    R clang/test/Analysis/Inputs/ctu-import.c
    R clang/test/Analysis/Inputs/ctu-import.c.externalDefMap.ast-dump.txt
    R clang/test/Analysis/Inputs/ctu-inherited-default-ctor-other.cpp
    R clang/test/Analysis/Inputs/ctu-lookup-name-with-space.cpp
    R clang/test/Analysis/Inputs/ctu-onego-existingdef-other.cpp
    R clang/test/Analysis/Inputs/ctu-onego-existingdef-other.cpp.externalDefMap.ast-dump.txt
    R clang/test/Analysis/Inputs/ctu-onego-indirect-other.cpp
    R clang/test/Analysis/Inputs/ctu-onego-indirect-other.cpp.externalDefMap.ast-dump.txt
    R clang/test/Analysis/Inputs/ctu-onego-small-other.cpp
    R clang/test/Analysis/Inputs/ctu-onego-small-other.cpp.externalDefMap.ast-dump.txt
    R clang/test/Analysis/Inputs/ctu-onego-toplevel-other.cpp
    R clang/test/Analysis/Inputs/ctu-onego-toplevel-other.cpp.externalDefMap.ast-dump.txt
    R clang/test/Analysis/Inputs/ctu-other.c
    R clang/test/Analysis/Inputs/ctu-other.c.externalDefMap.ast-dump.txt
    R clang/test/Analysis/Inputs/ctu-other.cpp
    R clang/test/Analysis/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt
    R clang/test/Analysis/Inputs/ctu-test-import-failure-import.cpp
    R clang/test/Analysis/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt
    A clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
    A clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
    A clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
    A clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
    A clang/test/Analysis/Scalable/UnsafeBufferUsage/tu-summary-serialization.test
    A clang/test/Analysis/Scalable/call-graph.cpp
    A clang/test/Analysis/Scalable/extraction-works-alongside-compilation.cpp
    A clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
    A clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
    A clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
    A clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
    A clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
    A clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
    A clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
    A clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
    A clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/duplicate-analysis-name.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/missing-results.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-count.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-pair-counts.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-entry-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-missing-entity-id.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-analysis-name-not-string.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-deserializer-error.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-analysis-name.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-result-field.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-no-format-info.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-result-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/results-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-all-results.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-multiple-results.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-bad-element.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-missing-tags.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-bad-field-type.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-missing-field.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/with-plugin.test
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/without-plugin.test
    A clang/test/Analysis/Scalable/ssaf-format/call-graph-invalid-json-format.test
    M clang/test/Analysis/Scalable/ssaf-format/list.test
    A clang/test/Analysis/Scalable/ssaf-format/lit.local.cfg
    M clang/test/Analysis/Scalable/ssaf-linker/help.test
    M clang/test/Analysis/Scalable/ssaf-linker/io.test
    M clang/test/Analysis/Scalable/ssaf-linker/validation-errors-permissions.test
    M clang/test/Analysis/Scalable/ssaf-linker/validation-errors.test
    M clang/test/Analysis/atomics.c
    M clang/test/Analysis/bstring.c
    M clang/test/Analysis/bstring.cpp
    R clang/test/Analysis/ctu-cxxdefaultinitexpr.cpp
    R clang/test/Analysis/ctu-different-triples.cpp
    R clang/test/Analysis/ctu-hdr.h
    R clang/test/Analysis/ctu-implicit.c
    R clang/test/Analysis/ctu-import-threshold.c
    R clang/test/Analysis/ctu-import-type-decl-definition.c
    R clang/test/Analysis/ctu-inherited-default-ctor.cpp
    R clang/test/Analysis/ctu-lookup-name-with-space.cpp
    R clang/test/Analysis/ctu-main.c
    R clang/test/Analysis/ctu-main.cpp
    R clang/test/Analysis/ctu-on-demand-parsing.c
    R clang/test/Analysis/ctu-on-demand-parsing.cpp
    R clang/test/Analysis/ctu-onego-existingdef.cpp
    R clang/test/Analysis/ctu-onego-indirect.cpp
    R clang/test/Analysis/ctu-onego-small.cpp
    R clang/test/Analysis/ctu-onego-toplevel.cpp
    R clang/test/Analysis/ctu-test-import-failure.cpp
    R clang/test/Analysis/ctu-unknown-parts-in-triples.cpp
    A clang/test/Analysis/ctu/Inputs/chain.cpp
    A clang/test/Analysis/ctu/Inputs/cxxdefaultinitexpr-import.cpp
    A clang/test/Analysis/ctu/Inputs/cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt
    A clang/test/Analysis/ctu/Inputs/import.c
    A clang/test/Analysis/ctu/Inputs/import.c.externalDefMap.ast-dump.txt
    A clang/test/Analysis/ctu/Inputs/inherited-default-ctor-other.cpp
    A clang/test/Analysis/ctu/Inputs/invalid-ast-other.cpp
    A clang/test/Analysis/ctu/Inputs/invalid-ast-other.cpp.externalDefMap.ast-dump.txt
    A clang/test/Analysis/ctu/Inputs/lookup-name-with-space.cpp
    A clang/test/Analysis/ctu/Inputs/missing-ast.cpp.externalDefMap.ast-dump.txt
    A clang/test/Analysis/ctu/Inputs/onego-existingdef-other.cpp
    A clang/test/Analysis/ctu/Inputs/onego-existingdef-other.cpp.externalDefMap.ast-dump.txt
    A clang/test/Analysis/ctu/Inputs/onego-indirect-other.cpp
    A clang/test/Analysis/ctu/Inputs/onego-indirect-other.cpp.externalDefMap.ast-dump.txt
    A clang/test/Analysis/ctu/Inputs/onego-small-other.cpp
    A clang/test/Analysis/ctu/Inputs/onego-small-other.cpp.externalDefMap.ast-dump.txt
    A clang/test/Analysis/ctu/Inputs/onego-toplevel-other.cpp
    A clang/test/Analysis/ctu/Inputs/onego-toplevel-other.cpp.externalDefMap.ast-dump.txt
    A clang/test/Analysis/ctu/Inputs/other.c
    A clang/test/Analysis/ctu/Inputs/other.c.externalDefMap.ast-dump.txt
    A clang/test/Analysis/ctu/Inputs/other.cpp
    A clang/test/Analysis/ctu/Inputs/other.cpp.externalDefMap.ast-dump.txt
    A clang/test/Analysis/ctu/Inputs/test-import-failure-import.cpp
    A clang/test/Analysis/ctu/Inputs/test-import-failure-import.cpp.externalDefMap.ast-dump.txt
    A clang/test/Analysis/ctu/cxxdefaultinitexpr.cpp
    A clang/test/Analysis/ctu/diag/Inputs/bar.cpp
    A clang/test/Analysis/ctu/diag/Inputs/simple-extern-c.cpp
    A clang/test/Analysis/ctu/diag/Inputs/simple.cpp
    A clang/test/Analysis/ctu/diag/Inputs/third.cpp
    A clang/test/Analysis/ctu/diag/invalid-index.cpp
    A clang/test/Analysis/ctu/diag/invlist-ambiguous.cpp
    A clang/test/Analysis/ctu/diag/invlist-empty.cpp
    A clang/test/Analysis/ctu/diag/invlist-lookup-miss.cpp
    A clang/test/Analysis/ctu/diag/invlist-missing.cpp
    A clang/test/Analysis/ctu/diag/invlist-wrong-format-late.cpp
    A clang/test/Analysis/ctu/diag/invlist-wrong-format.cpp
    A clang/test/Analysis/ctu/diag/lang-dialect-mismatch.cpp
    A clang/test/Analysis/ctu/diag/lang-mismatch.c
    A clang/test/Analysis/ctu/diag/load-threshold.cpp
    A clang/test/Analysis/ctu/diag/missing-index.cpp
    A clang/test/Analysis/ctu/different-triples.cpp
    A clang/test/Analysis/ctu/hdr.h
    A clang/test/Analysis/ctu/implicit.c
    A clang/test/Analysis/ctu/import-threshold.c
    A clang/test/Analysis/ctu/import-type-decl-definition.c
    A clang/test/Analysis/ctu/inherited-default-ctor.cpp
    A clang/test/Analysis/ctu/invalid-ast.cpp
    A clang/test/Analysis/ctu/lookup-name-with-space.cpp
    A clang/test/Analysis/ctu/main.c
    A clang/test/Analysis/ctu/main.cpp
    A clang/test/Analysis/ctu/missing-ast.cpp
    A clang/test/Analysis/ctu/on-demand-parsing.c
    A clang/test/Analysis/ctu/on-demand-parsing.cpp
    A clang/test/Analysis/ctu/onego-existingdef.cpp
    A clang/test/Analysis/ctu/onego-indirect.cpp
    A clang/test/Analysis/ctu/onego-small.cpp
    A clang/test/Analysis/ctu/onego-toplevel.cpp
    A clang/test/Analysis/ctu/test-import-failure.cpp
    A clang/test/Analysis/ctu/unknown-parts-in-triples.cpp
    M clang/test/Analysis/malloc.c
    A clang/test/Analysis/regionstore-zero-init.cpp
    A clang/test/Analysis/split_analyze.c
    M clang/test/Analysis/switch-basics.c
    M clang/test/C/C23/n3006.c
    M clang/test/C/C23/n3007.c
    M clang/test/C/C2y/n3622.c
    M clang/test/CIR/CodeGen/abstract-cond.c
    A clang/test/CIR/CodeGen/agg-init-constexpr.cpp
    A clang/test/CIR/CodeGen/aggregate-copy-overlap.cpp
    A clang/test/CIR/CodeGen/amdgpu-address-spaces.cpp
    A clang/test/CIR/CodeGen/amdgpu-call-addrspace-cast.cpp
    A clang/test/CIR/CodeGen/amdgpu-target-lowering-as.cpp
    M clang/test/CIR/CodeGen/array-ctor.cpp
    M clang/test/CIR/CodeGen/array-dtor.cpp
    A clang/test/CIR/CodeGen/array-init-loop-exprs.cpp
    M clang/test/CIR/CodeGen/assign-operator.cpp
    M clang/test/CIR/CodeGen/atomic-scoped.c
    M clang/test/CIR/CodeGen/atomic.c
    A clang/test/CIR/CodeGen/attr-noundef.cpp
    A clang/test/CIR/CodeGen/attr-retain.c
    A clang/test/CIR/CodeGen/attr-used.c
    A clang/test/CIR/CodeGen/attribute-visibility.c
    A clang/test/CIR/CodeGen/base-init-eh.cpp
    M clang/test/CIR/CodeGen/binop.c
    A clang/test/CIR/CodeGen/bitint.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-cxx20.cpp
    A clang/test/CIR/CodeGen/cast.c
    A clang/test/CIR/CodeGen/cleanup-automatic-eh.cpp
    A clang/test/CIR/CodeGen/cleanup-conditional-eh.cpp
    A clang/test/CIR/CodeGen/cleanup-conditional.cpp
    A clang/test/CIR/CodeGen/cleanup-throwing-dtor.cpp
    M clang/test/CIR/CodeGen/cleanup.cpp
    M clang/test/CIR/CodeGen/clear-cache.c
    A clang/test/CIR/CodeGen/copy-constructor-memcpy.cpp
    M clang/test/CIR/CodeGen/coro-task.cpp
    A clang/test/CIR/CodeGen/ctor-alias-prev-decl.cpp
    A clang/test/CIR/CodeGen/ctor-try-body.cpp
    M clang/test/CIR/CodeGen/cxx-special-member-attr.cpp
    A clang/test/CIR/CodeGen/delegating-ctor-exceptions.cpp
    M clang/test/CIR/CodeGen/delete-array.cpp
    M clang/test/CIR/CodeGen/destructors.cpp
    A clang/test/CIR/CodeGen/dtor-alias-prev-decl.cpp
    M clang/test/CIR/CodeGen/dtors.cpp
    M clang/test/CIR/CodeGen/empty.cpp
    A clang/test/CIR/CodeGen/export-decl.cppm
    M clang/test/CIR/CodeGen/expressions.cpp
    M clang/test/CIR/CodeGen/forward-enum.c
    M clang/test/CIR/CodeGen/fp-math-precision-opts.c
    M clang/test/CIR/CodeGen/global-array-dtor.cpp
    A clang/test/CIR/CodeGen/global-decomp-decls.cpp
    M clang/test/CIR/CodeGen/global-init.cpp
    A clang/test/CIR/CodeGen/global-ptr-init.cpp
    A clang/test/CIR/CodeGen/global-section.c
    A clang/test/CIR/CodeGen/inherited-ctors.cpp
    M clang/test/CIR/CodeGen/initializer-list-two-pointers.cpp
    M clang/test/CIR/CodeGen/instantiate-init.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/lambda.cpp
    A clang/test/CIR/CodeGen/long-double-inc-dec.cpp
    A clang/test/CIR/CodeGen/mem-expr-fn.cpp
    M clang/test/CIR/CodeGen/ms-intrinsics.c
    A clang/test/CIR/CodeGen/new-delete-deactivation.cpp
    M clang/test/CIR/CodeGen/new.cpp
    A clang/test/CIR/CodeGen/no-proto-fn-ptr-global-init.c
    A clang/test/CIR/CodeGen/no-unique-address.cpp
    A clang/test/CIR/CodeGen/nofpclass.c
    A clang/test/CIR/CodeGen/non-scalar-lval-return.cpp
    M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
    M clang/test/CIR/CodeGen/nrvo.cpp
    A clang/test/CIR/CodeGen/paren-init-list-eh.cpp
    M clang/test/CIR/CodeGen/paren-init-list.cpp
    A clang/test/CIR/CodeGen/partial-array-cleanup.cpp
    M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
    A clang/test/CIR/CodeGen/record-type-metadata.cpp
    A clang/test/CIR/CodeGen/return-in-if-with-cleanups.cpp
    M clang/test/CIR/CodeGen/statement-exprs.c
    M clang/test/CIR/CodeGen/static-local.cpp
    M clang/test/CIR/CodeGen/static-vars.c
    M clang/test/CIR/CodeGen/three-way-cmp.cpp
    M clang/test/CIR/CodeGen/throws.cpp
    M clang/test/CIR/CodeGen/thunks.cpp
    A clang/test/CIR/CodeGen/trivial-abi.cpp
    M clang/test/CIR/CodeGen/trivial-ctor-const-init.cpp
    A clang/test/CIR/CodeGen/try-catch-all-with-cleanup.cpp
    M clang/test/CIR/CodeGen/try-catch.cpp
    A clang/test/CIR/CodeGen/union-agg-init.c
    A clang/test/CIR/CodeGen/union-agg-init.cpp
    A clang/test/CIR/CodeGen/vtable-null-func-ptr.cpp
    A clang/test/CIR/CodeGen/vtable-nyi-nonconvertible-functype.cpp
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zihintpause.c
    M clang/test/CIR/CodeGenBuiltins/builtin-bit-cast.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-fpclassify.c
    M clang/test/CIR/CodeGenBuiltins/builtin-memchr.c
    A clang/test/CIR/CodeGenBuiltins/builtin-signbit.c
    M clang/test/CIR/CodeGenBuiltins/builtins-floating-point.c
    M clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
    M clang/test/CIR/CodeGenBuiltins/builtins.cpp
    M clang/test/CIR/CodeGenCUDA/address-spaces.cu
    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/CodeGenCXX/global-refs.cpp
    A clang/test/CIR/CodeGenCXX/uncopyable-args.cpp
    A clang/test/CIR/CodeGenCXX/x86_64-arguments.cpp
    A clang/test/CIR/CodeGenHIP/amdgpu-attrs.hip
    A clang/test/CIR/CodeGenHIP/hip-cuid.hip
    M clang/test/CIR/CodeGenHIP/simple.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause-templates.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
    A clang/test/CIR/CodeGenOpenMP/omp-module-attrs.c
    A clang/test/CIR/Driver/clangir.c
    M clang/test/CIR/IR/array-ctor.cir
    M clang/test/CIR/IR/array-dtor.cir
    M clang/test/CIR/IR/atomic.cir
    A clang/test/CIR/IR/attribute-visibility.cir
    A clang/test/CIR/IR/bitint.cir
    M clang/test/CIR/IR/copy.cir
    M clang/test/CIR/IR/eh-inflight.cir
    A clang/test/CIR/IR/invalid-array-structor.cir
    A clang/test/CIR/IR/invalid-bitint.cir
    M clang/test/CIR/IR/invalid-copy.cir
    A clang/test/CIR/IR/string-trailing-zeros.cir
    A clang/test/CIR/Lowering/address-space.cir
    M clang/test/CIR/Lowering/eh-inflight.cir
    R clang/test/CIR/Lowering/global-address-space.cir
    A clang/test/CIR/Lowering/omp-target-map.cir
    M clang/test/CIR/Lowering/poison.cir
    A clang/test/CIR/Transforms/canonicalize-cleanup-scope.cir
    A clang/test/CIR/Transforms/cxx-abi-lowering-attrs.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-itanium.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
    A clang/test/CIR/Transforms/flatten-throwing-in-cleanup.cir
    M clang/test/CIR/Transforms/flatten-try-op.cir
    A clang/test/CIR/Transforms/omp-mark-declare-target.cir
    M clang/test/CIR/global-var-simple.cpp
    M clang/test/CMakeLists.txt
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-generic-lambda-1y.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    A clang/test/CXX/drs/cwg31xx.cpp
    M clang/test/CXX/module/module.interface/p1.cpp
    M clang/test/ClangScanDeps/generate-modules-path-args.c
    A clang/test/ClangScanDeps/modules-byname-dup-module-decl-diag.c
    A clang/test/ClangScanDeps/modules-mmap-redef.c
    A clang/test/ClangScanDeps/modules-pch-signature-mismatch.c
    A clang/test/ClangScanDeps/p1689-suppress-warnings-no-eol.cppm
    A clang/test/ClangScanDeps/p1689-suppress-warnings.cppm
    M clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c
    M clang/test/CodeGen/2004-02-13-Memset.c
    M clang/test/CodeGen/2006-01-23-FileScopeAsm.c
    M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_untyped.c
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon/bf16-getset.c
    A clang/test/CodeGen/AArch64/neon/f16-getset.c
    M clang/test/CodeGen/AArch64/neon/fullfp16.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c
    M clang/test/CodeGen/AArch64/poly64.c
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ld1.c
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ld1_vnum.c
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ldr.c
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_st1.c
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_st1_vnum.c
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_str.c
    M clang/test/CodeGen/AArch64/sme-remarks.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_ldr_str_zt.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ro.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1rq.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sb.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sh.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sw.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ub.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1uh.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1uw.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld2.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld3.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld4.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1sb.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1sh.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1sw.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1ub.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1uh.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1uw.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1sb.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1sh.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1sw.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1ub.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1uh.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1uw.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnt1.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfb.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfd.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfh.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfw.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1b.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1h.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1w.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st2.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st3.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st4.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_stnt1.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1sb.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1sh.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1sw.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1ub.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1uh.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1uw.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1b.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1h.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1w.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ld1.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ld1_single.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ldnt1.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_load_struct.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_loads.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1_single.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_stnt1.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store_struct.c
    M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
    M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-generic.c
    A clang/test/CodeGen/AMDGPU/sanitizer.c
    A clang/test/CodeGen/LoongArch/lasx/lasxintrin-lax-vector-conversions.c
    A clang/test/CodeGen/LoongArch/lsx/lsxintrin-lax-vector-conversions.c
    A clang/test/CodeGen/PowerPC/builtins-ecc.c
    R clang/test/CodeGen/PowerPC/builtins-ppc-error.c
    R clang/test/CodeGen/PowerPC/builtins-ppc-p10vector-error.c
    R clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-cas-error.c
    R clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-error.c
    R clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-fetch-error.c
    R clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-pwr9-error.c
    R clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-pwr9-warning.c
    R clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-vec-error.c
    M clang/test/CodeGen/RISCV/bitint.c
    A clang/test/CodeGen/RISCV/riscv-fpcc-struct.c
    M clang/test/CodeGen/RISCV/riscv64-abi.c
    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 clang/test/CodeGen/X86/avx512bw-builtins.c
    M clang/test/CodeGen/X86/avx512f-builtins.c
    M clang/test/CodeGen/X86/avx512vl-builtins.c
    M clang/test/CodeGen/X86/avx512vlbw-builtins.c
    A clang/test/CodeGen/amdgpu-builtin-is-invocable.c
    A clang/test/CodeGen/amdgpu-builtin-processor-is.c
    A clang/test/CodeGen/amdgpu-feature-builtins-invalid-use.cpp
    M clang/test/CodeGen/asm_incbin.c
    A clang/test/CodeGen/async-exceptions.c
    A clang/test/CodeGen/attr-ms-forceinline.cpp
    M clang/test/CodeGen/auto.c
    A clang/test/CodeGen/availability-check-anyappleos.c
    M clang/test/CodeGen/builtins-x86.c
    A clang/test/CodeGen/cfguard-mechanism.c
    M clang/test/CodeGen/clear_cache.c
    M clang/test/CodeGen/complex.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/const-label-addr.c
    M clang/test/CodeGen/ext-int-cc.c
    A clang/test/CodeGen/ext-vector-bool-read.cpp
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGen/overflow-behavior-types-scl.c
    M clang/test/CodeGen/overflow-behavior-types.c
    M clang/test/CodeGen/ptrauth-module-flags.c
    M clang/test/CodeGen/regcall.c
    M clang/test/CodeGen/regcall4.c
    M clang/test/CodeGen/stack-protector-guard.c
    M clang/test/CodeGen/statements.c
    M clang/test/CodeGen/staticinit.c
    M clang/test/CodeGen/struct-passing.c
    M clang/test/CodeGen/target-data.c
    A clang/test/CodeGen/tbaa-matrix.c
    A clang/test/CodeGen/ubsan-aggregate-null-align.c
    M clang/test/CodeGenCUDA/builtins-spirv-amdgcn.cu
    M clang/test/CodeGenCUDA/fp-contract.cu
    M clang/test/CodeGenCXX/2008-05-07-CrazyOffsetOf.cpp
    A clang/test/CodeGenCXX/bad-codegen-for-constexpr-structured-bindings.cpp
    M clang/test/CodeGenCXX/cfi-icall.cpp
    M clang/test/CodeGenCXX/const-init-cxx11.cpp
    M clang/test/CodeGenCXX/const-init.cpp
    A clang/test/CodeGenCXX/dead-on-return-deleting-destructor.cpp
    M clang/test/CodeGenCXX/destructor-dead-on-return.cpp
    A clang/test/CodeGenCXX/dtor-local-lambda-mangle.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/ext-int.cpp
    M clang/test/CodeGenCXX/mangle-ms.cpp
    M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
    M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
    M clang/test/CodeGenCXX/ms-vdtors-devirtualization.cpp
    A clang/test/CodeGenCXX/musttail-noexcept-error.cpp
    A clang/test/CodeGenCXX/musttail-noexcept.cpp
    M clang/test/CodeGenCXX/pfp-load-store.cpp
    A clang/test/CodeGenCXX/pragma-loop-licm.cpp
    M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
    M clang/test/CodeGenCXX/reference-temporary-ms.cpp
    A clang/test/CodeGenCXX/reference-temporary-mutable.cpp
    A clang/test/CodeGenCXX/reference-temporary-subobject.cpp
    M clang/test/CodeGenCXX/regcall.cpp
    M clang/test/CodeGenCXX/regcall4.cpp
    M clang/test/CodeGenCXX/static-local-in-local-class.cpp
    M clang/test/CodeGenCXX/temporaries.cpp
    M clang/test/CodeGenCoroutines/coro-elide.cpp
    M clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
    A clang/test/CodeGenHIP/amdgcnspirv-visibility.cpp
    A clang/test/CodeGenHIP/atomic-deprecated-fixit.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-wmma-f16.hip
    M clang/test/CodeGenHIP/spirv-amdgcn-dpp-const-fold.hip
    M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
    A clang/test/CodeGenHLSL/builtins/GroupMemoryBarrier.hlsl
    M clang/test/CodeGenHLSL/builtins/QuadReadAcrossX.hlsl
    A clang/test/CodeGenHLSL/builtins/QuadReadAcrossY.hlsl
    M clang/test/CodeGenHLSL/builtins/dst.hlsl
    A clang/test/CodeGenHLSL/builtins/fma.hlsl
    M clang/test/CodeGenHLSL/builtins/ldexp.hlsl
    M clang/test/CodeGenHLSL/builtins/splitdouble.hlsl
    A clang/test/CodeGenHLSL/debug/source-language.hlsl
    M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl
    M clang/test/CodeGenHLSL/resources/NonUniformResourceIndex.hlsl
    M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl
    M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl
    A clang/test/CodeGenHLSL/resources/Texture2D-CalculateLevelOfDetail.hlsl
    M clang/test/CodeGenHLSL/resources/Texture2D-Gather.hlsl
    A clang/test/CodeGenHLSL/resources/Texture2D-GetDimensions.hlsl
    A clang/test/CodeGenHLSL/resources/Texture2D-Mips.hlsl
    M clang/test/CodeGenHLSL/resources/Texture2D-Sample.hlsl
    M clang/test/CodeGenHLSL/resources/Texture2D-SampleBias.hlsl
    M clang/test/CodeGenHLSL/resources/Texture2D-SampleCmp.hlsl
    M clang/test/CodeGenHLSL/resources/Texture2D-SampleGrad.hlsl
    M clang/test/CodeGenHLSL/resources/Texture2D-SampleLevel.hlsl
    M clang/test/CodeGenHLSL/resources/Texture2D-default-explicit-binding.hlsl
    M clang/test/CodeGenHLSL/resources/Texture2D-default.hlsl
    M clang/test/CodeGenHLSL/resources/Texture2D-shorthand-contexts.hlsl
    M clang/test/CodeGenHLSL/resources/TypedBuffers-methods.hlsl
    M clang/test/CodeGenHLSL/semantics/SV_Position.ps.hlsl
    M clang/test/CodeGenHLSL/semantics/SV_Position.vs.hlsl
    M clang/test/CodeGenHLSL/semantics/SV_Target.ps.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic.arbitrary.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic.array.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic.array.output.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic.explicit-location-output-struct.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic.explicit-location.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic.explicit-mix-builtin.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic.explicit-mix.lib.hlsl
    M clang/test/CodeGenHLSL/vk-features/vk.pushconstant.anon-struct.hlsl
    M clang/test/CodeGenHLSL/vk-input-builtin.hlsl
    A clang/test/CodeGenHLSL/vk-output-builtin.hlsl
    A clang/test/CodeGenObjC/Inputs/constant-literal-support.h
    A clang/test/CodeGenObjC/arc-constant-literals.m
    M clang/test/CodeGenObjC/constant-string-class-1.m
    M clang/test/CodeGenObjC/direct-method-ret-mismatch.m
    M clang/test/CodeGenObjC/exceptions.m
    A clang/test/CodeGenObjC/expose-direct-method-linkedlist.m
    A clang/test/CodeGenObjC/expose-direct-method-varargs.m
    A clang/test/CodeGenObjC/expose-direct-method-visibility-linkage.m
    A clang/test/CodeGenObjC/expose-direct-method.m
    A clang/test/CodeGenObjC/no-nsconstant-literals.m
    A clang/test/CodeGenObjC/objc2-constant-collection-literals.m
    A clang/test/CodeGenObjC/objc2-constant-literal-custom-class.m
    A clang/test/CodeGenObjC/objc2-constant-number-literal.m
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/bool_cast.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx10.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-mfma-gfx908-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
    M clang/test/CodeGenOpenCL/kernel-attributes.cl
    M clang/test/CodeGenOpenCL/kernel-metadata.cl
    M clang/test/CodeGenOpenCL/kernel-param-alignment.cl
    M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
    M clang/test/CodeGenOpenCL/opencl-kernel-call.cl
    M clang/test/CodeGenOpenCL/pipe_types.cl
    M clang/test/CodeGenOpenCL/pipe_types_mangling.cl
    M clang/test/CodeGenOpenCL/sampler.cl
    M clang/test/DebugInfo/CXX/hotpatch.cpp
    A clang/test/Driver/Inputs/fake_ld/ld
    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/Ofast.c
    M clang/test/Driver/aarch64-fixed-x-register.c
    M clang/test/Driver/aix-ld.c
    M clang/test/Driver/amdgpu-features.c
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Driver/amdgpu-toolchain.c
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/cl-outputs.c
    M clang/test/Driver/coverage-ld.c
    M clang/test/Driver/cuda-arch-translation.cu
    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/fsanitize-memtag.c
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Driver/hexagon-toolchain-linux.c
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    M clang/test/Driver/hipspv-toolchain.hip
    M clang/test/Driver/incremental-linker-compatible.c
    M clang/test/Driver/instrprof-ld.c
    M clang/test/Driver/linux-ld.c
    A clang/test/Driver/linux-multilib.yaml
    A clang/test/Driver/memtag-android.c
    R clang/test/Driver/memtag-ld.c
    A clang/test/Driver/memtag.c
    A clang/test/Driver/mingw-multilib.yaml
    M clang/test/Driver/mingw.cpp
    A clang/test/Driver/module-file-direct-deps.c
    A clang/test/Driver/modules-driver-clang-modules-only.cpp
    M clang/test/Driver/modules-driver-dep-graph.cpp
    M clang/test/Driver/modules-driver-manifest-input-args.cpp
    A clang/test/Driver/offload-arch-translation-amdgpu.cu
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/pch-deps.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/pseudo-probe.c
    M clang/test/Driver/sanitizer-ld.c
    A clang/test/Driver/serenity.cpp
    M clang/test/Driver/solaris-ld-sld.c
    M clang/test/Driver/stack-protector-guard.c
    M clang/test/Driver/uefi-constructed-args.c
    M clang/test/ExtractAPI/availability.c
    M clang/test/ExtractAPI/objc_property.m
    A clang/test/ExtractAPI/type-alias.cpp
    A clang/test/FixIt/fixit-availability-anyappleos.m
    A clang/test/FixIt/fixit-defaulted-comparison.cpp
    A clang/test/Format/dont-crash-on-nul.cpp
    A clang/test/Frontend/backend-attribute-inlining-cross-tu.c
    A clang/test/Frontend/backend-attribute-inlining-debug-vs-heuristic.cpp
    A clang/test/Frontend/backend-attribute-inlining-modes.c
    A clang/test/Frontend/backend-attribute-inlining.c
    M clang/test/Frontend/fixed_point_sub_const.c
    M clang/test/Headers/Inputs/include/stdint.h
    M clang/test/Headers/__clang_hip_math.hip
    A clang/test/Headers/cuda_intrinsics.cu
    M clang/test/Headers/gpuintrin.c
    M clang/test/Headers/gpuintrin_lang.c
    M clang/test/Headers/hip-header.hip
    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
    A clang/test/Index/annotate-comments-availability-anyappleos.cpp
    M clang/test/Index/extract-api-cursor-cpp.cpp
    A clang/test/Index/openmp-split.c
    M clang/test/Interpreter/pretty-print.c
    M clang/test/Interpreter/pretty-print.cpp
    A clang/test/Lexer/backslash-include-win.c
    M clang/test/Lexer/gnu-flags.c
    A clang/test/Lexer/gnu-zero-variadic-macro-argument-fixit.c
    M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
    M clang/test/Misc/noexecstack.c
    M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c
    M clang/test/Misc/warning-wall.c
    A clang/test/Modules/callable-require-clause-merge.cppm
    M clang/test/Modules/cxx-templates.cpp
    A clang/test/Modules/dependency-gen-direct-module-deps.m
    M clang/test/Modules/dependency-gen-pch.m
    A clang/test/Modules/duplicate-header-ownership.c
    M clang/test/Modules/explicit-build.cpp
    A clang/test/Modules/implicit-module-redefinition-same-file.c
    A clang/test/Modules/implicit-module-redefinition.c
    A clang/test/Modules/include-between-imports-enums.cppm
    M clang/test/Modules/invalid-module-dep.c
    M clang/test/Modules/lookup.cpp
    M clang/test/Modules/merge-target-features.cpp
    M clang/test/Modules/no-stale-modtime.m
    A clang/test/Modules/objc-at-import.m
    M clang/test/Modules/polluted-operator.cppm
    A clang/test/Modules/pr189415.cppm
    A clang/test/Modules/prune-no-toplevel.m
    A clang/test/Modules/symlink-to-modular-header.c
    M clang/test/OpenMP/cancel_codegen.cpp
    A clang/test/OpenMP/declare_target_local_map_messages.cpp
    M clang/test/OpenMP/for_non_rectangular_codegen.c
    M clang/test/OpenMP/for_private_reduction_codegen.cpp
    M clang/test/OpenMP/for_reduction_codegen_UDR.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/loop_collapse_codegen.cpp
    M clang/test/OpenMP/nested_loop_codegen.cpp
    A clang/test/OpenMP/scan_inscan_template_nondependent.cpp
    A clang/test/OpenMP/split_ast_print.cpp
    A clang/test/OpenMP/split_codegen.cpp
    A clang/test/OpenMP/split_composition.cpp
    A clang/test/OpenMP/split_compound_associated.cpp
    A clang/test/OpenMP/split_counts_constexpr.cpp
    A clang/test/OpenMP/split_counts_ice.c
    A clang/test/OpenMP/split_counts_verify.c
    A clang/test/OpenMP/split_diag_errors.c
    A clang/test/OpenMP/split_distribute_inner_split.cpp
    A clang/test/OpenMP/split_driver_smoke.c
    A clang/test/OpenMP/split_iv_types.c
    A clang/test/OpenMP/split_loop_styles.cpp
    A clang/test/OpenMP/split_member_ctor.cpp
    A clang/test/OpenMP/split_messages.cpp
    A clang/test/OpenMP/split_nested_outer_only.c
    A clang/test/OpenMP/split_offload_codegen.cpp
    A clang/test/OpenMP/split_omp_fill.c
    A clang/test/OpenMP/split_openmp_version.cpp
    A clang/test/OpenMP/split_opts_simd_debug.cpp
    A clang/test/OpenMP/split_parallel_split.cpp
    A clang/test/OpenMP/split_pch_codegen.cpp
    A clang/test/OpenMP/split_range_for_diag.cpp
    A clang/test/OpenMP/split_serialize_module.cpp
    A clang/test/OpenMP/split_teams_nesting.cpp
    A clang/test/OpenMP/split_template_nttp.cpp
    A clang/test/OpenMP/split_templates.cpp
    A clang/test/OpenMP/split_trip_volatile.c
    A clang/test/OpenMP/strided_update_messages_from.c
    A clang/test/OpenMP/strided_update_messages_to.c
    A clang/test/OpenMP/strided_update_multiple_messages_from.c
    A clang/test/OpenMP/strided_update_multiple_messages_to.c
    A clang/test/OpenMP/strided_update_partial_messages_from.c
    A clang/test/OpenMP/strided_update_partial_messages_to.c
    A clang/test/OpenMP/strided_update_ptr_messages_from.c
    A clang/test/OpenMP/strided_update_ptr_messages_to.c
    A clang/test/OpenMP/strided_update_ptr_multiple_messages_from.c
    A clang/test/OpenMP/strided_update_ptr_multiple_messages_to.c
    A clang/test/OpenMP/strided_update_ptr_partial_messages_from.c
    A clang/test/OpenMP/strided_update_ptr_partial_messages_to.c
    A clang/test/OpenMP/strided_update_ptr_variable_count_and_stride_messages.c
    A clang/test/OpenMP/strided_update_ptr_variable_count_messages.c
    A clang/test/OpenMP/strided_update_ptr_variable_stride_messages.c
    A clang/test/OpenMP/strided_update_struct_messages_from.c
    A clang/test/OpenMP/strided_update_struct_messages_to.c
    A clang/test/OpenMP/strided_update_struct_multiple_messages_from.c
    A clang/test/OpenMP/strided_update_struct_multiple_messages_to.c
    A clang/test/OpenMP/strided_update_struct_partial_messages_from.c
    A clang/test/OpenMP/strided_update_struct_partial_messages_to.c
    A clang/test/OpenMP/strided_update_struct_ptr_messages_from.c
    A clang/test/OpenMP/strided_update_struct_ptr_messages_to.c
    A clang/test/OpenMP/strided_update_struct_ptr_multiple_messages_from.c
    A clang/test/OpenMP/strided_update_struct_ptr_multiple_messages_to.c
    A clang/test/OpenMP/strided_update_struct_ptr_partial_messages_from.c
    A clang/test/OpenMP/strided_update_struct_ptr_partial_messages_to.c
    A clang/test/OpenMP/strided_update_struct_variable_count_and_stride_messages.c
    A clang/test/OpenMP/strided_update_variable_count_and_stride_messages.c
    A clang/test/OpenMP/strided_update_variable_stride_codegen.c
    M clang/test/OpenMP/target_update_codegen.cpp
    M clang/test/OpenMP/target_update_count_expression_codegen.c
    M clang/test/OpenMP/target_update_messages.cpp
    R clang/test/OpenMP/target_update_strided_messages_from.c
    R clang/test/OpenMP/target_update_strided_messages_to.c
    R clang/test/OpenMP/target_update_strided_multiple_messages_from.c
    R clang/test/OpenMP/target_update_strided_multiple_messages_to.c
    R clang/test/OpenMP/target_update_strided_partial_messages_from.c
    R clang/test/OpenMP/target_update_strided_partial_messages_to.c
    R clang/test/OpenMP/target_update_strided_ptr_messages_from.c
    R clang/test/OpenMP/target_update_strided_ptr_messages_to.c
    R clang/test/OpenMP/target_update_strided_ptr_multiple_messages_from.c
    R clang/test/OpenMP/target_update_strided_ptr_multiple_messages_to.c
    R clang/test/OpenMP/target_update_strided_ptr_partial_messages_from.c
    R clang/test/OpenMP/target_update_strided_ptr_partial_messages_to.c
    R clang/test/OpenMP/target_update_strided_ptr_variable_count_and_stride_messages.c
    R clang/test/OpenMP/target_update_strided_ptr_variable_count_messages.c
    R clang/test/OpenMP/target_update_strided_ptr_variable_stride_messages.c
    R clang/test/OpenMP/target_update_strided_struct_messages_from.c
    R clang/test/OpenMP/target_update_strided_struct_messages_to.c
    R clang/test/OpenMP/target_update_strided_struct_multiple_messages_from.c
    R clang/test/OpenMP/target_update_strided_struct_multiple_messages_to.c
    R clang/test/OpenMP/target_update_strided_struct_partial_messages_from.c
    R clang/test/OpenMP/target_update_strided_struct_partial_messages_to.c
    R clang/test/OpenMP/target_update_strided_struct_ptr_messages_from.c
    R clang/test/OpenMP/target_update_strided_struct_ptr_messages_to.c
    R clang/test/OpenMP/target_update_strided_struct_ptr_multiple_messages_from.c
    R clang/test/OpenMP/target_update_strided_struct_ptr_multiple_messages_to.c
    R clang/test/OpenMP/target_update_strided_struct_ptr_partial_messages_from.c
    R clang/test/OpenMP/target_update_strided_struct_ptr_partial_messages_to.c
    R clang/test/OpenMP/target_update_strided_struct_variable_count_and_stride_messages.c
    R clang/test/OpenMP/target_update_variable_count_and_stride_messages.c
    R clang/test/OpenMP/target_update_variable_stride_codegen.c
    A clang/test/PCH/Inputs/pragma-diag-push.h
    A clang/test/PCH/objc2_constant_literals.m
    A clang/test/PCH/pragma-diag-push-pop-across-pch.c
    A clang/test/PCH/pragma-redefine-extname.c
    A clang/test/PCH/pragma-redefine-extname.h
    M clang/test/Parser/c2x-auto.c
    A clang/test/Parser/decltype-gh188014.cpp
    A clang/test/Parser/macro-braces-recovery.cpp
    M clang/test/Parser/recovery.cpp
    M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
    M clang/test/Preprocessor/bpf-predefined-macros.c
    A clang/test/Preprocessor/dump-tokens.cpp
    A clang/test/Preprocessor/init-serenityos.c
    M clang/test/Preprocessor/macro_fn.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Sema/Inputs/lifetime-analysis.h
    A clang/test/Sema/PowerPC/aix-attr-align.c
    A clang/test/Sema/PowerPC/aix-attr-aligned-vector-warn.c
    A clang/test/Sema/PowerPC/aix-attr-aligned-vector-warn.cpp
    A clang/test/Sema/PowerPC/aix-attr-tls_model.c
    A clang/test/Sema/PowerPC/aix-builtin-cpu-unsupports.c
    A clang/test/Sema/PowerPC/aix-pragma-align-packed-warn.c
    A clang/test/Sema/PowerPC/aix-pragma-pack-and-align.c
    A clang/test/Sema/PowerPC/altivec-generic-overload.c
    A clang/test/Sema/PowerPC/altivec-init.c
    A clang/test/Sema/PowerPC/builtin-cpu-unsupports-AIX-Os.c
    A clang/test/Sema/PowerPC/builtins-bcd-format-conversion.c
    A clang/test/Sema/PowerPC/builtins-bcd-transform.c
    A clang/test/Sema/PowerPC/builtins-ecc-error.c
    A clang/test/Sema/PowerPC/builtins-ppc-error.c
    A clang/test/Sema/PowerPC/builtins-ppc-p10vector-error.c
    A clang/test/Sema/PowerPC/builtins-ppc-xlcompat-cas-error.c
    A clang/test/Sema/PowerPC/builtins-ppc-xlcompat-error.c
    A clang/test/Sema/PowerPC/builtins-ppc-xlcompat-fetch-error.c
    A clang/test/Sema/PowerPC/builtins-ppc-xlcompat-pwr9-error.c
    A clang/test/Sema/PowerPC/builtins-ppc-xlcompat-pwr9-warning.c
    A clang/test/Sema/PowerPC/builtins-ppc-xlcompat-vec-error.c
    A clang/test/Sema/PowerPC/builtins-ppc.c
    A clang/test/Sema/PowerPC/float128-ld-incompatibility.cpp
    A clang/test/Sema/PowerPC/libbuiltins-ctype-powerpc64.c
    A clang/test/Sema/PowerPC/ppc-attr-target-inline.c
    A clang/test/Sema/PowerPC/ppc-bool.c
    A clang/test/Sema/PowerPC/ppc-dmf-types.c
    A clang/test/Sema/PowerPC/ppc-pair-mma-types.c
    A clang/test/Sema/PowerPC/varargs-aix.c
    R clang/test/Sema/aix-attr-align.c
    R clang/test/Sema/aix-attr-aligned-vector-warn.c
    R clang/test/Sema/aix-attr-aligned-vector-warn.cpp
    R clang/test/Sema/aix-attr-tls_model.c
    R clang/test/Sema/aix-builtin-cpu-unsupports.c
    R clang/test/Sema/aix-pragma-align-packed-warn.c
    R clang/test/Sema/aix-pragma-pack-and-align.c
    R clang/test/Sema/altivec-generic-overload.c
    R clang/test/Sema/altivec-init.c
    M clang/test/Sema/array-init.c
    A clang/test/Sema/attr-availability-anyappleos-ast.c
    A clang/test/Sema/attr-availability-anyappleos-builtin.m
    A clang/test/Sema/attr-availability-anyappleos.c
    A clang/test/Sema/attr-ms-forceinline.c
    A clang/test/Sema/attr-ms-forceinline.cpp
    M clang/test/Sema/auto-type.c
    R clang/test/Sema/builtin-cpu-unsupports-AIX-Os.c
    R clang/test/Sema/builtins-bcd-format-conversion.c
    R clang/test/Sema/builtins-bcd-transform.c
    R clang/test/Sema/builtins-ppc.c
    M clang/test/Sema/c2x-auto.c
    M clang/test/Sema/compound-literal.c
    M clang/test/Sema/const-ptr-int-ptr-cast.c
    M clang/test/Sema/constexpr.c
    R clang/test/Sema/float128-ld-incompatibility.cpp
    R clang/test/Sema/gh183974.c
    A clang/test/Sema/implicit-cast-complex-to-vector.c
    M clang/test/Sema/init.c
    R clang/test/Sema/libbuiltins-ctype-powerpc64.c
    R clang/test/Sema/ppc-attr-target-inline.c
    R clang/test/Sema/ppc-bool.c
    R clang/test/Sema/ppc-dmf-types.c
    R clang/test/Sema/ppc-pair-mma-types.c
    A clang/test/Sema/redefine_extname.cpp
    R clang/test/Sema/varargs-aix.c
    M clang/test/Sema/warn-fortify-source.c
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    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
    M clang/test/Sema/warn-unused-but-set-static-global.c
    M clang/test/Sema/warn-unused-but-set-static-global.cpp
    M clang/test/SemaCXX/auto-cxx0x.cpp
    M clang/test/SemaCXX/blocks.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/constant-expression-p2280r4.cpp
    M clang/test/SemaCXX/constexpr-string.cpp
    M clang/test/SemaCXX/coroutines.cpp
    M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    A clang/test/SemaCXX/cxx23-builtin-subscript.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaCXX/cxx2b-overloaded-operator.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    A clang/test/SemaCXX/gh135694.cpp
    A clang/test/SemaCXX/gh185341.cpp
    M clang/test/SemaCXX/source_location.cpp
    A clang/test/SemaCXX/void-lambda-return-init.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-default-arg-uninstantiated-crash.cpp
    A clang/test/SemaHIP/amdgpu-feature-builtins-cant-jump.hip
    A clang/test/SemaHIP/amdgpu-feature-builtins-return-type-deduction.hip
    A clang/test/SemaHIP/amdgpu-feature-predicate.hip
    A clang/test/SemaHIP/amdgpu-feature-predicates-guard-use.hip
    A clang/test/SemaHIP/amdgpu-is-invocable.hip
    A clang/test/SemaHIP/amdgpu-processor-is.hip
    A clang/test/SemaHIP/atomic-deprecated.hip
    A clang/test/SemaHIP/incorrect-atomic-scope.hip
    M clang/test/SemaHLSL/BuiltIns/D3DCOLORtoUBYTE4-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/GroupMemoryBarrier-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/QuadReadAcrossX-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/QuadReadAcrossY-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/cross-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/distance-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/dot2add-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/f16tof32-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/f32tof16-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/faceforward-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/fma-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/fmod-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/ldexp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/reflect-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/refract-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl
    M clang/test/SemaHLSL/Language/InitListAST.hlsl
    A clang/test/SemaHLSL/Resources/Texture2D-CalculateLevelOfDetail.hlsl
    A clang/test/SemaHLSL/Resources/Texture2D-GetDimensions.hlsl
    A clang/test/SemaHLSL/Resources/resources-in-struct-array-error.hlsl
    A clang/test/SemaHLSL/Texture2D-mips-errors.hlsl
    A clang/test/SemaHLSL/Types/InitListConstantExpr.hlsl
    M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl
    A clang/test/SemaHLSL/vk-ext-output-builtin.hlsl
    A clang/test/SemaObjC/objc-constant-literal-collections.m
    A clang/test/SemaObjCXX/crash-dict-literal-template.mm
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/routine-construct-clauses.cpp
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
    A clang/test/SemaOpenCL/incorrect-atomic-scope.cl
    A clang/test/SemaTemplate/GH187909.cpp
    A clang/test/SemaTemplate/GH188759.cpp
    M clang/test/SemaTemplate/address_space-dependent.cpp
    M clang/test/SemaTemplate/concepts.cpp
    A clang/test/SemaTemplate/gh183983.cpp
    M clang/test/SemaTemplate/make_integer_seq.cpp
    M clang/test/SemaTemplate/stack-exhaustion.cpp
    M clang/test/TableGen/hlsl-intrinsics.td
    A clang/test/VFS/Inputs/invalid-key.yaml
    A clang/test/VFS/Inputs/invalid-top-level-key.yaml
    M clang/test/VFS/parse-errors.c
    M clang/test/lit.cfg.py
    M clang/test/utils/update_cc_test_checks/Inputs/explicit-template-instantiation.cpp.expected
    M clang/tools/cir-opt/CMakeLists.txt
    M clang/tools/cir-opt/cir-opt.cpp
    M clang/tools/cir-translate/CMakeLists.txt
    M clang/tools/cir-translate/cir-translate.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-format/git-clang-format
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/clang-ssaf-format/CMakeLists.txt
    M clang/tools/clang-ssaf-format/SSAFFormat.cpp
    M clang/tools/clang-ssaf-linker/CMakeLists.txt
    M clang/tools/clang-ssaf-linker/SSAFLinker.cpp
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M clang/tools/diagtool/CMakeLists.txt
    M clang/tools/diagtool/ShowEnabledWarnings.cpp
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/driver/cc1gen_reproducer_main.cpp
    M clang/tools/libclang/BuildSystem.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CMakeLists.txt
    M clang/tools/libclang/CXCursor.cpp
    M clang/tools/libclang/CXIndexDataConsumer.cpp
    M clang/tools/libclang/CXIndexDataConsumer.h
    M clang/tools/libclang/Indexing.cpp
    M clang/tools/libclang/libclang.map
    M clang/unittests/AST/ByteCode/Descriptor.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
    M clang/unittests/Basic/CharInfoTest.cpp
    M clang/unittests/Basic/DiagnosticTest.cpp
    M clang/unittests/CIR/CMakeLists.txt
    A clang/unittests/CIR/RecordTypeMetadataTest.cpp
    A clang/unittests/CIR/UnionTypeSizeTest.cpp
    M clang/unittests/CrossTU/CrossTranslationUnitTest.cpp
    A clang/unittests/Format/AlignmentTest.cpp
    M clang/unittests/Format/CMakeLists.txt
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Frontend/CompilerInstanceTest.cpp
    M clang/unittests/Frontend/FrontendActionTest.cpp
    M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
    M clang/unittests/Rewrite/RewriterTest.cpp
    A clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/CMakeLists.txt
    M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.h
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TestFixture.h
    M clang/unittests/Serialization/CMakeLists.txt
    A clang/unittests/Serialization/CommentsTest.cpp
    M clang/unittests/Serialization/InMemoryModuleCacheTest.cpp
    R clang/unittests/Serialization/NoCommentsTest.cpp
    A clang/unittests/StaticAnalyzer/AnalyzerFormattingTest.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    M clang/unittests/libclang/LibclangTest.cpp
    M clang/utils/ClangVisualizers/clang.natvis
    M clang/utils/TableGen/CIRLoweringEmitter.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp
    M clang/utils/TableGen/HLSLEmitter.cpp
    M clang/www/c_status.html
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    A cmake/Modules/GetToolchainDirs.cmake
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/Modules/CheckAssemblerFlag.cmake
    M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M compiler-rt/cmake/base-config-ix.cmake
    A compiler-rt/cmake/caches/AMDGPU.cmake
    R compiler-rt/cmake/caches/GPU.cmake
    A compiler-rt/cmake/caches/NVPTX.cmake
    M compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/include/profile/InstrProfData.inc
    M compiler-rt/include/sanitizer/common_interface_defs.h
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/asan/asan_allocator.cpp
    M compiler-rt/lib/asan/asan_allocator.h
    M compiler-rt/lib/asan/asan_errors.cpp
    M compiler-rt/lib/asan/asan_errors.h
    M compiler-rt/lib/asan/asan_flags.inc
    M compiler-rt/lib/asan/asan_malloc_linux.cpp
    M compiler-rt/lib/asan/asan_report.cpp
    M compiler-rt/lib/asan/asan_report.h
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/arm/adddf3.S
    A compiler-rt/lib/builtins/arm/crt_endian.h
    A compiler-rt/lib/builtins/arm/dnan2.c
    A compiler-rt/lib/builtins/arm/dnorm2.c
    A compiler-rt/lib/builtins/arm/dunder.c
    M compiler-rt/lib/builtins/cpu_model/riscv.c
    M compiler-rt/lib/builtins/emutls.c
    M compiler-rt/lib/builtins/int_math.h
    M compiler-rt/lib/builtins/muldc3.c
    M compiler-rt/lib/fuzzer/CMakeLists.txt
    M compiler-rt/lib/gwp_asan/common.h
    M compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
    M compiler-rt/lib/hwasan/hwasan_allocator.cpp
    M compiler-rt/lib/hwasan/hwasan_flags.inc
    M compiler-rt/lib/hwasan/hwasan_mapping.h
    M compiler-rt/lib/interception/CMakeLists.txt
    M compiler-rt/lib/interception/interception.h
    M compiler-rt/lib/interception/interception_linux.cpp
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_linux_test.cpp
    M compiler-rt/lib/lsan/lsan_common.cpp
    M compiler-rt/lib/msan/msan.h
    M compiler-rt/lib/msan/msan_allocator.cpp
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/lib/msan/msan_linux.cpp
    M compiler-rt/lib/profile/CMakeLists.txt
    M compiler-rt/lib/profile/InstrProfiling.h
    M compiler-rt/lib/profile/InstrProfilingPlatformAIX.c
    M compiler-rt/lib/profile/InstrProfilingPlatformGPU.c
    M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
    M compiler-rt/lib/profile/InstrProfilingPlatformOther.c
    M compiler-rt/lib/sanitizer_common/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_common.h
    M compiler-rt/lib/sanitizer_common/sanitizer_haiku.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
    M compiler-rt/lib/sanitizer_common/sanitizer_netbsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_solaris.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_unwind_aix.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/common.h
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
    M compiler-rt/lib/scudo/standalone/wrappers_c.cpp
    M compiler-rt/lib/scudo/standalone/wrappers_c.h
    R compiler-rt/lib/scudo/standalone/wrappers_c.inc
    R compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp
    M compiler-rt/lib/scudo/standalone/wrappers_cpp.cpp
    M compiler-rt/lib/tysan/tysan.cpp
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.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/lib/xray/xray_hexagon.cpp
    M compiler-rt/lib/xray/xray_init.cpp
    M compiler-rt/lib/xray/xray_interface.cpp
    M compiler-rt/lib/xray/xray_trampoline_hexagon.S
    M compiler-rt/test/CMakeLists.txt
    A compiler-rt/test/asan/TestCases/Linux/free_aligned_sized_mismatch.cpp
    A compiler-rt/test/asan/TestCases/Linux/free_sized_mismatch.cpp
    A compiler-rt/test/asan/TestCases/disable_container_overflow_checks.c
    R compiler-rt/test/asan/TestCases/disable_container_overflow_checks.cpp
    A compiler-rt/test/asan/TestCases/stack_container_dynamic_lib.c
    R compiler-rt/test/asan/TestCases/stack_container_dynamic_lib.cpp
    M compiler-rt/test/builtins/CMakeLists.txt
    A compiler-rt/test/builtins/Unit/adddf3new_test.c
    M compiler-rt/test/builtins/Unit/lit.cfg.py
    M compiler-rt/test/builtins/Unit/lit.site.cfg.py.in
    A compiler-rt/test/builtins/Unit/subdf3new_test.c
    A compiler-rt/test/hwasan/TestCases/tag_mask_smoke.c
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/profile/instrprof-merge-entry-cover.c
    M compiler-rt/test/profile/instrprof-merge.c
    M compiler-rt/test/profile/instrprof-write-file-atexit-explicitly.c
    M compiler-rt/test/profile/profile_test.h
    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/internal_symbolizer.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cpp
    M compiler-rt/test/ubsan_minimal/CMakeLists.txt
    M compiler-rt/test/ubsan_minimal/TestCases/local_bounds.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/const-branch.c
    M cross-project-tests/debuginfo-tests/dexter-tests/nrvo.cpp
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/forward-declare-class.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/nested-struct.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/nrvo-string.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/sret.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member-2.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member.cpp
    M cross-project-tests/debuginfo-tests/llvm-prettyprinters/gdb/llvm-support.cpp
    M cross-project-tests/debuginfo-tests/llvm-prettyprinters/gdb/llvm-support.gdb
    M cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-union.cpp
    M cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-union.test
    M cross-project-tests/intrinsic-header-tests/wasm_simd128.c
    M cross-project-tests/lit.cfg.py
    M flang-rt/CMakeLists.txt
    M flang-rt/README.md
    M flang-rt/cmake/modules/AddFlangRT.cmake
    R flang-rt/cmake/modules/GetToolchainDirs.cmake
    M flang-rt/include/flang-rt/runtime/environment.h
    M flang-rt/lib/CMakeLists.txt
    M flang-rt/lib/cuda/allocator.cpp
    M flang-rt/lib/cuda/kernel.cpp
    M flang-rt/lib/cuda/registration.cpp
    M flang-rt/lib/runtime/CMakeLists.txt
    M flang-rt/lib/runtime/environment.cpp
    M flang-rt/lib/runtime/io-api-minimal.cpp
    M flang-rt/lib/runtime/io-api-server.cpp
    A flang-rt/lib/runtime/stl-overrides.cpp
    A flang-rt/lib/runtime/stl-overrides.h
    M flang-rt/lib/runtime/time-intrinsic.cpp
    M flang-rt/lib/runtime/trampoline.cpp
    M flang-rt/test/lit.site.cfg.py.in
    M flang/docs/C++style.md
    M flang/docs/Directives.md
    M flang/docs/Extensions.md
    M flang/docs/F202X.md
    A flang/docs/MeetingNotes/2026/2026-03-25.md
    A flang/docs/MeetingNotes/2026/2026-04-08.md
    A flang/docs/OpenMP-extensions.md
    M flang/docs/OpenMPSupport.md
    M flang/docs/index.md
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Common/windows-include.h
    M flang/include/flang/Evaluate/expression.h
    M flang/include/flang/Evaluate/fold.h
    M flang/include/flang/Evaluate/shape.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Evaluate/traverse.h
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/include/flang/Lower/OpenACC.h
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIRDialect.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.h
    M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCUtils.h
    M flang/include/flang/Optimizer/Passes/Pipelines.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Parser/characters.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Runtime/CUDA/registration.h
    M flang/include/flang/Semantics/dump-expr.h
    M flang/include/flang/Semantics/expression.h
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/include/flang/Support/Fortran.h
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/expression.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/IterationSpace.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/Support/ReductionProcessor.cpp
    M flang/lib/Lower/Support/Utils.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Analysis/CMakeLists.txt
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/Dialect/FIRDialect.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCUtils.cpp
    M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
    M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
    M flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
    M flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Support/Utils.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFComputeSharedMemoryOffsetsAndSize.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFGPUToLLVMConversion.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversionLate.cpp
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
    M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
    M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/lib/Optimizer/Transforms/VScaleAttr.cpp
    M flang/lib/Parser/expr-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/lib/Semantics/check-acc-structure.h
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/check-directive-structure.h
    M flang/lib/Semantics/check-omp-atomic.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/definable.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/lib/Support/Fortran.cpp
    M flang/module/cudadevice.f90
    A flang/test/Analysis/AliasAnalysis/alias-analysis-acc.mlir
    A flang/test/Analysis/AliasAnalysis/alias-analysis-access-path.fir
    A flang/test/Analysis/AliasAnalysis/alias-analysis-derived-type-box-load.fir
    M flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir
    A flang/test/Analysis/AliasAnalysis/modref-call-memory-effects.fir
    M flang/test/Analysis/AliasAnalysis/ptr-component.fir
    A flang/test/Driver/Inputs/pgo-sample.prof
    A flang/test/Driver/fdebug-info-for-profiling.f90
    M flang/test/Driver/fintegrated-as.f90
    A flang/test/Driver/fprofile-sample-use.f90
    M flang/test/Driver/save-mlir-temps.f90
    A flang/test/Evaluate/fold-conditional-expr.f90
    M flang/test/Fir/CUDA/cuda-code-gen.mlir
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    M flang/test/Fir/CUDA/cuda-device-address.mlir
    M flang/test/Fir/CUDA/cuda-shared-offset.mlir
    M flang/test/Fir/CUDA/cuda-shared-to-llvm.mlir
    A flang/test/Fir/MIF/change_team2.mlir
    M flang/test/Fir/OpenACC/recipe-populate-firstprivate.mlir
    A flang/test/Fir/box-elesize-canonicalize.fir
    M flang/test/Fir/dispatch.f90
    A flang/test/Fir/dso-local-macho.fir
    A flang/test/Fir/dso-local.fir
    M flang/test/Fir/fir-ops.fir
    M flang/test/Fir/invalid.fir
    M flang/test/Fir/logical-convert.fir
    A flang/test/Fir/logical-ops-fold.fir
    A flang/test/HLFIR/bufferize-associate-block-ordering.fir
    M flang/test/HLFIR/simplify-hlfir-intrinsics-count.fir
    A flang/test/Integration/OpenMP/taskloop-alloca-placement.f90
    A flang/test/Integration/OpenMP/taskloop-bounds-cast.f90
    A flang/test/Integration/OpenMP/workshare-ident-flag.f90
    A flang/test/Integration/debug-info-for-profiling.f90
    A flang/test/Integration/inputs/pgo-sample.prof
    A flang/test/Integration/profile-sample-use.f90
    M flang/test/Integration/unroll-loops.f90
    M flang/test/Lower/CUDA/cuda-allocatable-device.cuf
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/CUDA/cuda-device-proc.cuf
    M flang/test/Lower/CUDA/cuda-gpu-managed.cuf
    M flang/test/Lower/CUDA/cuda-intrinsic.cuf
    M flang/test/Lower/CUDA/cuda-libdevice.cuf
    M flang/test/Lower/CUDA/cuda-mod.cuf
    M flang/test/Lower/CUDA/cuda-pointer-sync.cuf
    M flang/test/Lower/CUDA/cuda-program-global.cuf
    A flang/test/Lower/CUDA/cuda-unified.cuf
    M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
    M flang/test/Lower/HLFIR/binary-ops.f90
    A flang/test/Lower/HLFIR/conditional-expr.f90
    A flang/test/Lower/HLFIR/elemental-character-min-max.f90
    M flang/test/Lower/HLFIR/expr-box.f90
    M flang/test/Lower/HLFIR/procedure-pointer-in-generics.f90
    M flang/test/Lower/HLFIR/unroll-loops.fir
    M flang/test/Lower/HLFIR/user-defined-assignment.f90
    A flang/test/Lower/Intrinsics/product-kind-10.f90
    M flang/test/Lower/Intrinsics/product.f90
    M flang/test/Lower/Intrinsics/random.f90
    M flang/test/Lower/Intrinsics/real.f90
    M flang/test/Lower/Intrinsics/repeat.f90
    M flang/test/Lower/Intrinsics/reshape.f90
    M flang/test/Lower/Intrinsics/same_type_as.f90
    M flang/test/Lower/Intrinsics/scan.f90
    M flang/test/Lower/Intrinsics/secnds.f90
    M flang/test/Lower/Intrinsics/selected_int_kind.f90
    M flang/test/Lower/Intrinsics/selected_real_kind.f90
    M flang/test/Lower/Intrinsics/shifta.f90
    M flang/test/Lower/Intrinsics/shiftl.f90
    M flang/test/Lower/Intrinsics/shiftr.f90
    M flang/test/Lower/Intrinsics/size.f90
    M flang/test/Lower/Intrinsics/spread.f90
    M flang/test/Lower/Intrinsics/storage_size.f90
    M flang/test/Lower/Intrinsics/sum.f90
    M flang/test/Lower/Intrinsics/system_clock.f90
    M flang/test/Lower/Intrinsics/trailz.f90
    M flang/test/Lower/Intrinsics/transfer.f90
    M flang/test/Lower/Intrinsics/transpose.f90
    M flang/test/Lower/Intrinsics/transpose_opt.f90
    M flang/test/Lower/Intrinsics/trim.f90
    M flang/test/Lower/Intrinsics/ubound.f90
    M flang/test/Lower/Intrinsics/ubound01.f90
    M flang/test/Lower/Intrinsics/verify.f90
    M flang/test/Lower/MIF/change_team2.f90
    A flang/test/Lower/OpenACC/Todo/acc-goto-multi-level-exit.f90
    A flang/test/Lower/OpenACC/acc-data-operands-remapping-selector.f90
    A flang/test/Lower/OpenACC/acc-declare-use-associated.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    A flang/test/Lower/OpenACC/acc-do-concurrent-locality.f90
    A flang/test/Lower/OpenACC/acc-firstprivate-optional.f90
    M flang/test/Lower/OpenACC/acc-reduction.f90
    M flang/test/Lower/OpenACC/acc-unstructured.f90
    R flang/test/Lower/OpenMP/Todo/depend-clause.f90
    R flang/test/Lower/OpenMP/Todo/omp-declarative-allocate-align.f90
    R flang/test/Lower/OpenMP/Todo/omp-declarative-allocate.f90
    M flang/test/Lower/OpenMP/atomic-update-reassoc-logical.f90
    M flang/test/Lower/OpenMP/block-use-predetermined-privatization.f90
    A flang/test/Lower/OpenMP/common-block-target-update.f90
    M flang/test/Lower/OpenMP/composite_simd_linear.f90
    M flang/test/Lower/OpenMP/cray-pointers01.f90
    M flang/test/Lower/OpenMP/declare-mapper.f90
    M flang/test/Lower/OpenMP/declare-simd.f90
    A flang/test/Lower/OpenMP/declare-target-named-main-interface.f90
    A flang/test/Lower/OpenMP/depend-iterator.f90
    M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
    M flang/test/Lower/OpenMP/distribute-simd.f90
    M flang/test/Lower/OpenMP/if-clause.f90
    M flang/test/Lower/OpenMP/implicit-dsa.f90
    A flang/test/Lower/OpenMP/linear_modifier.f90
    M flang/test/Lower/OpenMP/loop-pointer-variable.f90
    M flang/test/Lower/OpenMP/masked_taskloop.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/ordered-simd.f90
    M flang/test/Lower/OpenMP/parallel-masked-taskloop.f90
    M flang/test/Lower/OpenMP/real10.f90
    A flang/test/Lower/OpenMP/requires-usm.f90
    M flang/test/Lower/OpenMP/simd-linear.f90
    R flang/test/Lower/OpenMP/target-motion-skip-implicit-mapper.f90
    M flang/test/Lower/OpenMP/taskloop-cancel.f90
    M flang/test/Lower/OpenMP/taskloop-collapse.f90
    M flang/test/Lower/OpenMP/taskloop-grainsize.f90
    A flang/test/Lower/OpenMP/taskloop-inreduction.f90
    M flang/test/Lower/OpenMP/taskloop-numtasks.f90
    A flang/test/Lower/OpenMP/taskloop-reduction.f90
    M flang/test/Lower/OpenMP/taskloop.f90
    M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
    M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association.f90
    M flang/test/Lower/OpenMP/wsloop-linear.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-simd.f90
    M flang/test/Lower/allocatable-globals.f90
    M flang/test/Lower/array-elemental-calls-2.f90
    M flang/test/Lower/array-elemental-calls-char-dynamic.f90
    M flang/test/Lower/c-interoperability.f90
    M flang/test/Lower/common-block.f90
    M flang/test/Lower/dense-attributed-array.f90
    M flang/test/Lower/dispatch.f90
    A flang/test/Lower/extrn_subp.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
    M flang/test/Lower/io-statement-2.f90
    M flang/test/Lower/io-statement-3.f90
    M flang/test/Lower/io-statement-big-unit-checks.f90
    M flang/test/Lower/io-statement-open-options.f90
    M flang/test/Lower/io-write.f90
    M flang/test/Lower/pointer-default-init.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Lower/select-type.f90
    A flang/test/Lower/target-features-ppc.f90
    R flang/test/Lower/taskloop-inreduction.f90
    R flang/test/Lower/taskloop-reduction.f90
    M flang/test/Lower/volatile-allocatable.f90
    M flang/test/Lower/volatile-string.f90
    R flang/test/Parser/OpenMP/interchange-fail.f90
    R flang/test/Parser/OpenMP/tile-fail.f90
    A flang/test/Parser/conditional-expr.f90
    M flang/test/Semantics/OpenACC/acc-branch.f90
    A flang/test/Semantics/OpenACC/acc-loop-routine-call.f90
    M flang/test/Semantics/OpenACC/acc-parallel.f90
    A flang/test/Semantics/OpenMP/assumed-size-array-dsa.f90
    M flang/test/Semantics/OpenMP/cray-pointer-usage.f90
    M flang/test/Semantics/OpenMP/do-collapse.f90
    A flang/test/Semantics/OpenMP/do-concurrent-collapse-60.f90
    M flang/test/Semantics/OpenMP/do-concurrent-collapse.f90
    M flang/test/Semantics/OpenMP/do08.f90
    M flang/test/Semantics/OpenMP/do09.f90
    M flang/test/Semantics/OpenMP/do13.f90
    M flang/test/Semantics/OpenMP/do15.f90
    M flang/test/Semantics/OpenMP/do16.f90
    M flang/test/Semantics/OpenMP/do21.f90
    M flang/test/Semantics/OpenMP/do22.f90
    M flang/test/Semantics/OpenMP/fuse1.f90
    A flang/test/Semantics/OpenMP/interchange-fail.f90
    M flang/test/Semantics/OpenMP/interchange01.f90
    M flang/test/Semantics/OpenMP/loop-association.f90
    M flang/test/Semantics/OpenMP/loop-transformation-clauses01.f90
    M flang/test/Semantics/OpenMP/loop-transformation-construct01.f90
    M flang/test/Semantics/OpenMP/loop-transformation-construct02.f90
    M flang/test/Semantics/OpenMP/loop-transformation-construct04.f90
    A flang/test/Semantics/OpenMP/tile-fail.f90
    M flang/test/Semantics/OpenMP/tile02.f90
    M flang/test/Semantics/OpenMP/tile03.f90
    M flang/test/Semantics/OpenMP/tile06.f90
    M flang/test/Semantics/OpenMP/tile07.f90
    M flang/test/Semantics/OpenMP/tile08.f90
    A flang/test/Semantics/OpenMP/tile09.f90
    A flang/test/Semantics/conditional-expr.f90
    M flang/test/Semantics/cuf04.cuf
    M flang/test/Semantics/cuf09.cuf
    M flang/test/Semantics/cuf10.cuf
    A flang/test/Semantics/cuf25.cuf
    A flang/test/Semantics/cuf26.cuf
    M flang/test/Semantics/stmt-func02.f90
    A flang/test/Semantics/stmt-func03.f90
    M flang/test/Transforms/CUF/cuf-kernel-licm.fir
    M flang/test/Transforms/DoConcurrent/reduce_device.mlir
    A flang/test/Transforms/DoConcurrent/reduce_device_min.f90
    M flang/test/Transforms/FIRToMemRef/array-coor-block-arg.mlir
    M flang/test/Transforms/FIRToMemRef/array-coor-slice-shift.mlir
    M flang/test/Transforms/FIRToMemRef/logical.mlir
    A flang/test/Transforms/FIRToMemRef/slice-projected.mlir
    M flang/test/Transforms/FIRToMemRef/slice.mlir
    M flang/test/Transforms/OpenACC/acc-implicit-firstprivate.fir
    A flang/test/Transforms/OpenACC/optional-firstprivate-recipe.fir
    A flang/test/Transforms/OpenACC/optional-firstprivate.fir
    M flang/test/Transforms/OpenMP/lower-workshare-thread-local.mlir
    M flang/test/Transforms/debug-imported-entity.fir
    M flang/test/Transforms/debug-line-table-inc-file.fir
    M flang/test/Transforms/debug-line-table.fir
    A flang/test/Transforms/licm-acc-compute-region.fir
    A flang/test/Transforms/licm-allocmem-cufaloc.mlir
    A flang/test/Transforms/licm-nested-hoist-aggressive.fir
    A flang/test/Transforms/licm-nested-hoist-disabled.fir
    A flang/test/Transforms/licm-non-addressable-resource.mlir
    M flang/test/Transforms/licm.fir
    A flang/test/Transforms/stack-arrays-block-cfg-scope.fir
    A flang/test/Transforms/stack-arrays-nested-scope.fir
    A flang/test/Transforms/stack-arrays-scope.f90
    A flang/test/Transforms/tbaa-derived-type-records.fir
    M flang/test/Transforms/vscale-attr.fir
    M flang/test/lib/Analysis/AliasAnalysis/TestAliasAnalysis.cpp
    M flang/tools/bbc/bbc.cpp
    M flang/unittests/CMakeLists.txt
    A flang/unittests/Semantics/CMakeLists.txt
    A flang/unittests/Semantics/OpenMPUtils.cpp
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCArchitectures.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/config.json
    M libc/config/darwin/aarch64/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/amdgpu/headers.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/config/gpu/nvptx/headers.txt
    M libc/config/gpu/spirv/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/i386/headers.txt
    A libc/config/linux/power/config.json
    A libc/config/linux/power/entrypoints.txt
    A libc/config/linux/power/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/config/windows/entrypoints.txt
    M libc/docs/CMakeLists.txt
    M libc/docs/build_and_test.rst
    M libc/docs/dev/cmake_build_rules.rst
    M libc/docs/dev/entrypoints.rst
    M libc/docs/dev/fuzzing.rst
    M libc/docs/dev/implementation_standard.rst
    A libc/docs/dev/implementing_a_function.rst
    M libc/docs/dev/index.rst
    M libc/docs/dev/source_tree_layout.rst
    M libc/docs/dev/undefined_behavior.rst
    M libc/docs/full_cross_build.rst
    M libc/docs/full_host_build.rst
    M libc/docs/gpu/building.rst
    M libc/docs/gpu/testing.rst
    M libc/docs/headers/index.rst
    M libc/docs/headers/math/index.rst
    M libc/docs/porting.rst
    M libc/fuzzing/string/CMakeLists.txt
    A libc/fuzzing/string/strnlen_s_differential_fuzz.cpp
    M libc/hdr/math_function_macros.h
    M libc/hdr/sys_epoll_macros.h
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/VISIT.h
    M libc/hdr/types/char32_t.h
    M libc/hdr/types/dl_info.h
    A libc/hdr/types/posix_tnode.h
    M libc/hdr/types/rsize_t.h
    A libc/hdr/types/siginfo_t.h
    M libc/hdr/types/suseconds_t.h
    M libc/include/CMakeLists.txt
    R libc/include/arpa/inet.h.def
    M libc/include/arpa/inet.yaml
    R libc/include/complex.h.def
    M libc/include/complex.yaml
    A libc/include/cpio.yaml
    R libc/include/elf.h.def
    M libc/include/elf.yaml
    R libc/include/endian.h.def
    M libc/include/endian.yaml
    M libc/include/errno.h.def
    R libc/include/fcntl.h.def
    M libc/include/fcntl.yaml
    R libc/include/features.h.def
    M libc/include/features.yaml
    R libc/include/float.h.def
    M libc/include/float.yaml
    R libc/include/inttypes.h.def
    M libc/include/inttypes.yaml
    R libc/include/limits.h.def
    M libc/include/limits.yaml
    M libc/include/llvm-libc-macros/linux/sys-stat-macros.h
    M libc/include/llvm-libc-macros/pthread-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    M libc/include/llvm-libc-types/Elf32_Phdr.h
    M libc/include/llvm-libc-types/Elf64_Off.h
    A libc/include/llvm-libc-types/__action_closure_fn_t.h
    A libc/include/llvm-libc-types/__action_fn_t.h
    A libc/include/llvm-libc-types/__free_fn_t.h
    M libc/include/llvm-libc-types/__futex_word.h
    M libc/include/llvm-libc-types/imaxdiv_t.h
    A libc/include/llvm-libc-types/mcontext_t.h
    A libc/include/llvm-libc-types/posix_tnode.h
    M libc/include/llvm-libc-types/pthread_rwlock_t.h
    M libc/include/llvm-libc-types/rsize_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
    R libc/include/locale.h.def
    M libc/include/locale.yaml
    M libc/include/math.yaml
    R libc/include/netinet/in.h.def
    M libc/include/netinet/in.yaml
    R libc/include/poll.h.def
    M libc/include/poll.yaml
    M libc/include/pthread.yaml
    R libc/include/sched.h.def
    M libc/include/sched.yaml
    M libc/include/search.yaml
    R libc/include/signal.h.def
    M libc/include/signal.yaml
    R libc/include/stdckdint.h.def
    M libc/include/stdckdint.yaml
    R libc/include/stdint.h.def
    M libc/include/stdint.yaml
    R libc/include/stdio.h.def
    M libc/include/stdio.yaml
    M libc/include/stdlib-malloc.yaml
    R libc/include/stdlib.h.def
    M libc/include/stdlib.yaml
    M libc/include/string.yaml
    R libc/include/sys/auxv.h.def
    M libc/include/sys/auxv.yaml
    R libc/include/sys/epoll.h.def
    M libc/include/sys/epoll.yaml
    R libc/include/sys/ioctl.h.def
    M libc/include/sys/ioctl.yaml
    R libc/include/sys/mman.h.def
    M libc/include/sys/mman.yaml
    R libc/include/sys/random.h.def
    M libc/include/sys/random.yaml
    R libc/include/sys/resource.h.def
    M libc/include/sys/resource.yaml
    R libc/include/sys/select.h.def
    M libc/include/sys/select.yaml
    R libc/include/sys/socket.h.def
    M libc/include/sys/socket.yaml
    R libc/include/sys/stat.h.def
    M libc/include/sys/stat.yaml
    R libc/include/sys/time.h.def
    M libc/include/sys/time.yaml
    R libc/include/sys/types.h.def
    R libc/include/sys/wait.h.def
    M libc/include/sys/wait.yaml
    A libc/include/syscall.h
    R libc/include/sysexits.h.def
    M libc/include/sysexits.yaml
    R libc/include/termios.h.def
    M libc/include/termios.yaml
    R libc/include/time.h.def
    M libc/include/time.yaml
    A libc/include/ucontext.h.def
    A libc/include/ucontext.yaml
    R libc/include/unistd.h.def
    M libc/include/unistd.yaml
    R libc/include/wchar.h.def
    M libc/include/wchar.yaml
    A libc/shared/CMakeLists.txt
    M libc/shared/math.h
    A libc/shared/math/asinbf16.h
    A libc/shared/math/asinpi.h
    M libc/shared/math/bf16addl.h
    M libc/shared/math/bf16divl.h
    M libc/shared/math/bf16fmal.h
    M libc/shared/math/bf16mull.h
    M libc/shared/math/canonicalizel.h
    A libc/shared/math/cbrtbf16.h
    M libc/shared/math/ceill.h
    A libc/shared/math/copysign.h
    A libc/shared/math/copysignbf16.h
    A libc/shared/math/copysignf.h
    A libc/shared/math/copysignf128.h
    A libc/shared/math/copysignf16.h
    A libc/shared/math/copysignl.h
    M libc/shared/math/cospif16.h
    M libc/shared/math/daddl.h
    M libc/shared/math/dfmal.h
    M libc/shared/math/dsqrtl.h
    A libc/shared/math/erfcf16.h
    M libc/shared/math/f16addl.h
    M libc/shared/math/f16divl.h
    M libc/shared/math/f16fmal.h
    M libc/shared/math/f16mull.h
    M libc/shared/math/f16sqrtl.h
    M libc/shared/math/f16subl.h
    M libc/shared/math/faddl.h
    M libc/shared/math/fdiml.h
    M libc/shared/math/ffmal.h
    M libc/shared/math/floorl.h
    M libc/shared/math/fmaxl.h
    M libc/shared/math/fsqrtl.h
    M libc/shared/math/getpayloadl.h
    M libc/shared/math/ilogbl.h
    M libc/shared/math/llogbl.h
    A libc/shared/math/log10p1f16.h
    A libc/shared/math/log2p1f16.h
    M libc/shared/math/logbl.h
    M libc/shared/math/nextafterl.h
    M libc/shared/math/nextdownl.h
    M libc/shared/math/nexttoward.h
    M libc/shared/math/nexttowardbf16.h
    M libc/shared/math/nexttowardf.h
    M libc/shared/math/nexttowardf16.h
    M libc/shared/math/nexttowardl.h
    M libc/shared/math/nextupl.h
    M libc/shared/math/setpayloadl.h
    M libc/shared/math/setpayloadsigl.h
    M libc/shared/rpc.h
    M libc/shared/rpc_server.h
    M libc/shared/rpc_util.h
    M libc/src/CMakeLists.txt
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/new.h
    M libc/src/__support/CPP/string_view.h
    M libc/src/__support/CPP/type_traits/is_constant_evaluated.h
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/multiply_add.h
    M libc/src/__support/FPUtil/sqrt.h
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h
    M libc/src/__support/File/linux/file.cpp
    M libc/src/__support/GPU/utils.h
    M libc/src/__support/HashTable/CMakeLists.txt
    M libc/src/__support/OSUtil/darwin/aarch64/syscall.h
    M libc/src/__support/OSUtil/linux/aarch64/syscall.h
    M libc/src/__support/OSUtil/linux/arm/syscall.h
    M libc/src/__support/OSUtil/linux/i386/syscall.h
    M libc/src/__support/OSUtil/linux/riscv/syscall.h
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/accept.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/connect.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/listen.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/raise.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/utimensat.h
    M libc/src/__support/OSUtil/linux/x86_64/syscall.h
    R libc/src/__support/RPC/rpc_server.h
    M libc/src/__support/arg_list.h
    M libc/src/__support/common.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/frac128.h
    M libc/src/__support/libc_assert.h
    M libc/src/__support/macros/CMakeLists.txt
    M libc/src/__support/macros/attributes.h
    M libc/src/__support/macros/config.h
    A libc/src/__support/macros/is_defined.h
    A libc/src/__support/macros/macro-utils.h
    M libc/src/__support/math/CMakeLists.txt
    M libc/src/__support/math/acosf.h
    M libc/src/__support/math/acosf16.h
    M libc/src/__support/math/acosh_float_constants.h
    M libc/src/__support/math/acoshf.h
    M libc/src/__support/math/acoshf_utils.h
    M libc/src/__support/math/asin_utils.h
    A libc/src/__support/math/asinbf16.h
    M libc/src/__support/math/asinhf.h
    A libc/src/__support/math/asinpi.h
    M libc/src/__support/math/atanhf.h
    A libc/src/__support/math/cbrtbf16.h
    A libc/src/__support/math/copysign.h
    A libc/src/__support/math/copysignbf16.h
    A libc/src/__support/math/copysignf.h
    A libc/src/__support/math/copysignf128.h
    A libc/src/__support/math/copysignf16.h
    A libc/src/__support/math/copysignl.h
    M libc/src/__support/math/cos_integer_eval.h
    M libc/src/__support/math/cospif.h
    M libc/src/__support/math/cospif16.h
    A libc/src/__support/math/erfcf16.h
    M libc/src/__support/math/exp10_float16_constants.h
    M libc/src/__support/math/fmabf16.h
    M libc/src/__support/math/inv_trigf_utils.h
    M libc/src/__support/math/log1pf.h
    A libc/src/__support/math/log2p1f16.h
    M libc/src/__support/threads/CMakeLists.txt
    M libc/src/__support/threads/CndVar.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    R libc/src/__support/threads/linux/rwlock.h
    M libc/src/__support/threads/mutex.h
    A libc/src/__support/threads/raw_rwlock.h
    M libc/src/__support/threads/unix_mutex.h
    A libc/src/__support/threads/unix_rwlock.h
    M libc/src/__support/time/CMakeLists.txt
    M libc/src/__support/wchar/CMakeLists.txt
    M libc/src/__support/wchar/character_converter.h
    M libc/src/__support/wchar/mbrtowc.cpp
    M libc/src/__support/wchar/mbrtowc.h
    M libc/src/__support/wchar/mbsnrtowcs.h
    M libc/src/__support/wchar/string_converter.h
    M libc/src/__support/wchar/wcrtomb.h
    M libc/src/__support/wchar/wcsnrtombs.h
    M libc/src/__support/weak_avl.h
    M libc/src/assert/generic/CMakeLists.txt
    M libc/src/assert/generic/__assert_fail.cpp
    M libc/src/assert/gpu/CMakeLists.txt
    M libc/src/assert/gpu/__assert_fail.cpp
    M libc/src/compiler/generic/CMakeLists.txt
    M libc/src/compiler/generic/__stack_chk_fail.cpp
    M libc/src/math/CMakeLists.txt
    A libc/src/math/asinbf16.h
    A libc/src/math/asinpi.h
    A libc/src/math/erfcf16.h
    M libc/src/math/fminimum_mag_num.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/asinbf16.cpp
    A libc/src/math/generic/asinpi.cpp
    M libc/src/math/generic/cbrtbf16.cpp
    M libc/src/math/generic/copysign.cpp
    M libc/src/math/generic/copysignbf16.cpp
    M libc/src/math/generic/copysignf.cpp
    M libc/src/math/generic/copysignf128.cpp
    M libc/src/math/generic/copysignf16.cpp
    M libc/src/math/generic/copysignl.cpp
    A libc/src/math/generic/erfcf16.cpp
    A libc/src/math/generic/log2p1f16.cpp
    A libc/src/math/log2p1f16.h
    M libc/src/math/powi.h
    M libc/src/math/powif.h
    M libc/src/math/setpayloadsigl.h
    M libc/src/math/totalordermagl.h
    M libc/src/mathvec/generic/CMakeLists.txt
    M libc/src/mathvec/generic/expf.cpp
    M libc/src/pthread/CMakeLists.txt
    M libc/src/pthread/pthread_attr_getschedparam.cpp
    M libc/src/pthread/pthread_attr_setschedparam.cpp
    A libc/src/pthread/pthread_mutex_trylock.cpp
    A libc/src/pthread/pthread_mutex_trylock.h
    M libc/src/pthread/pthread_rwlock_clockrdlock.cpp
    M libc/src/pthread/pthread_rwlock_clockwrlock.cpp
    M libc/src/pthread/pthread_rwlock_destroy.cpp
    M libc/src/pthread/pthread_rwlock_init.cpp
    M libc/src/pthread/pthread_rwlock_rdlock.cpp
    M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
    M libc/src/pthread/pthread_rwlock_timedwrlock.cpp
    M libc/src/pthread/pthread_rwlock_tryrdlock.cpp
    M libc/src/pthread/pthread_rwlock_trywrlock.cpp
    M libc/src/pthread/pthread_rwlock_unlock.cpp
    M libc/src/pthread/pthread_rwlock_wrlock.cpp
    M libc/src/search/CMakeLists.txt
    A libc/src/search/tdelete.cpp
    A libc/src/search/tdelete.h
    A libc/src/search/tdestroy.cpp
    A libc/src/search/tdestroy.h
    A libc/src/search/tfind.cpp
    A libc/src/search/tfind.h
    A libc/src/search/tsearch.cpp
    A libc/src/search/tsearch.h
    A libc/src/search/twalk.cpp
    A libc/src/search/twalk.h
    A libc/src/search/twalk_r.cpp
    A libc/src/search/twalk_r.h
    A libc/src/semaphore/CMakeLists.txt
    A libc/src/semaphore/posix_semaphore.h
    M libc/src/setjmp/aarch64/CMakeLists.txt
    M libc/src/signal/linux/CMakeLists.txt
    M libc/src/signal/linux/raise.cpp
    M libc/src/signal/linux/sigaction.cpp
    M libc/src/signal/linux/signal_utils.h
    M libc/src/spawn/linux/CMakeLists.txt
    M libc/src/spawn/linux/posix_spawn.cpp
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/generic/CMakeLists.txt
    M libc/src/stdio/generic/fflush.cpp
    A libc/src/stdio/generic/rewind.cpp
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/float_dec_converter_limited.h
    M libc/src/stdio/printf_core/float_hex_converter.h
    M libc/src/stdio/printf_core/float_inf_nan_converter.h
    M libc/src/stdio/printf_core/parser.h
    A libc/src/stdio/rewind.h
    M libc/src/stdio/scanf_core/CMakeLists.txt
    M libc/src/stdio/scanf_core/converter_utils.h
    M libc/src/stdlib/CMakeLists.txt
    A libc/src/stdlib/abort.cpp
    A libc/src/stdlib/abort_utils.h
    M libc/src/stdlib/baremetal/CMakeLists.txt
    R libc/src/stdlib/baremetal/abort.cpp
    A libc/src/stdlib/baremetal/abort_utils.h
    M libc/src/stdlib/gpu/CMakeLists.txt
    R libc/src/stdlib/gpu/abort.cpp
    A libc/src/stdlib/gpu/abort_utils.h
    M libc/src/stdlib/linux/CMakeLists.txt
    R libc/src/stdlib/linux/abort.cpp
    A libc/src/stdlib/linux/abort_utils.h
    M libc/src/stdlib/memalignment.h
    M libc/src/string/CMakeLists.txt
    M libc/src/string/memory_utils/CMakeLists.txt
    M libc/src/string/memory_utils/arm/inline_memset.h
    M libc/src/string/memory_utils/op_aarch64.h
    M libc/src/string/memory_utils/op_x86.h
    M libc/src/string/memory_utils/x86_64/inline_memcpy.h
    M libc/src/string/memory_utils/x86_64/inline_memset.h
    M libc/src/string/string_utils.h
    M libc/src/string/strnlen.cpp
    A libc/src/string/strnlen_s.cpp
    A libc/src/string/strnlen_s.h
    M libc/src/sys/socket/CMakeLists.txt
    A libc/src/sys/socket/accept.h
    A libc/src/sys/socket/connect.h
    M libc/src/sys/socket/linux/CMakeLists.txt
    A libc/src/sys/socket/linux/accept.cpp
    A libc/src/sys/socket/linux/connect.cpp
    A libc/src/sys/socket/linux/listen.cpp
    A libc/src/sys/socket/listen.h
    M libc/src/sys/stat/CMakeLists.txt
    M libc/src/sys/stat/linux/CMakeLists.txt
    A libc/src/sys/stat/linux/utimensat.cpp
    A libc/src/sys/stat/utimensat.h
    M libc/src/sys/time/linux/CMakeLists.txt
    M libc/src/sys/time/linux/utimes.cpp
    M libc/src/time/linux/CMakeLists.txt
    M libc/src/unistd/CMakeLists.txt
    M libc/src/unistd/fpathconf.h
    M libc/src/unistd/linux/pathconf_utils.h
    M libc/src/unistd/pathconf.h
    M libc/test/CMakeLists.txt
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/TestLogger.cpp
    M libc/test/include/CMakeLists.txt
    M libc/test/integration/CMakeLists.txt
    M libc/test/integration/src/pthread/CMakeLists.txt
    M libc/test/integration/src/pthread/pthread_mutex_test.cpp
    M libc/test/integration/src/pthread/pthread_rwlock_test.cpp
    M libc/test/integration/src/stdio/gpu/printf_test.cpp
    M libc/test/integration/src/stdlib/CMakeLists.txt
    A libc/test/integration/src/stdlib/abort_test.cpp
    M libc/test/lit.site.cfg.py.in
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    A libc/test/shared/shared_rpc_test.cpp
    A libc/test/shared/shared_str_to_num_test.cpp
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/threads/linux/CMakeLists.txt
    A libc/test/src/__support/threads/linux/raw_rwlock_test.cpp
    M libc/test/src/__support/weak_avl_test.cpp
    M libc/test/src/assert/assert_test.cpp
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/acoshf_test.cpp
    A libc/test/src/math/asinbf16_test.cpp
    M libc/test/src/math/asinhf_test.cpp
    A libc/test/src/math/asinpi_test.cpp
    A libc/test/src/math/erfcf16_test.cpp
    M libc/test/src/math/log1pf_test.cpp
    A libc/test/src/math/log2p1f16_test.cpp
    M libc/test/src/math/performance_testing/Timer.h
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/asinbf16_test.cpp
    A libc/test/src/math/smoke/asinpi_test.cpp
    A libc/test/src/math/smoke/erfcf16_test.cpp
    A libc/test/src/math/smoke/log2p1f16_test.cpp
    M libc/test/src/search/CMakeLists.txt
    A libc/test/src/search/tsearch_test.cpp
    A libc/test/src/semaphore/CMakeLists.txt
    A libc/test/src/semaphore/semaphore_test.cpp
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/fileop_test.cpp
    A libc/test/src/stdio/rewind_test.cpp
    M libc/test/src/stdio/scanf_core/CMakeLists.txt
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/string/CMakeLists.txt
    A libc/test/src/string/strnlen_s_test.cpp
    M libc/test/src/sys/socket/linux/CMakeLists.txt
    A libc/test/src/sys/socket/linux/connect_accept_test.cpp
    A libc/test/src/sys/socket/linux/listen_test.cpp
    M libc/test/src/sys/stat/CMakeLists.txt
    A libc/test/src/sys/stat/utimensat_test.cpp
    M libc/utils/MPFRWrapper/MPCommon.cpp
    M libc/utils/MPFRWrapper/MPCommon.h
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h
    M libc/utils/docgen/docgen.py
    A libc/utils/docgen/fcntl.yaml
    M libc/utils/docgen/header.py
    M libc/utils/docgen/string.yaml
    A libc/utils/docgen/sys/socket.yaml
    M libc/utils/hdrgen/hdrgen/header.py
    A libc/utils/hdrgen/tests/expected_output/macro_only.h
    A libc/utils/hdrgen/tests/input/macro_only.yaml
    M libc/utils/hdrgen/tests/test_integration.py
    M libclc/CMakeLists.txt
    M libclc/README.md
    A libclc/clc/include/clc/clc_target_defines.h
    A libclc/clc/include/clc/collective/clc_work_group_scan.h
    A libclc/clc/include/clc/collective/clc_work_group_scan_decl.inc
    M libclc/clc/include/clc/math/clc_atan_helpers_decl.inc
    M libclc/clc/include/clc/math/gentype.inc
    M libclc/clc/include/clc/math/math.h
    M libclc/clc/include/clc/subgroup/clc_sub_group_broadcast.h
    A libclc/clc/include/clc/subgroup/clc_sub_group_non_uniform_reduce.h
    A libclc/clc/include/clc/subgroup/clc_sub_group_non_uniform_reduce_decl.inc
    A libclc/clc/include/clc/subgroup/clc_sub_group_scan.h
    A libclc/clc/include/clc/subgroup/clc_sub_group_scan.inc
    M libclc/clc/lib/amdgpu/CMakeLists.txt
    A libclc/clc/lib/amdgpu/subgroup/clc_amdgpu_ds_swizzle.inc
    M libclc/clc/lib/amdgpu/subgroup/clc_sub_group_broadcast.cl
    A libclc/clc/lib/amdgpu/subgroup/clc_sub_group_non_uniform_reduce.cl
    M libclc/clc/lib/amdgpu/subgroup/clc_sub_group_reduce.cl
    A libclc/clc/lib/amdgpu/subgroup/clc_sub_group_reduce.inc
    A libclc/clc/lib/amdgpu/subgroup/clc_sub_group_scan.cl
    A libclc/clc/lib/amdgpu/subgroup/clc_sub_group_scan.inc
    M libclc/clc/lib/generic/CMakeLists.txt
    M libclc/clc/lib/generic/async/clc_prefetch.inc
    A libclc/clc/lib/generic/collective/clc_work_group_scan.cl
    A libclc/clc/lib/generic/collective/clc_work_group_scan.inc
    M libclc/clc/lib/generic/math/clc_acospi.cl
    M libclc/clc/lib/generic/math/clc_acospi.inc
    M libclc/clc/lib/generic/math/clc_asinpi.cl
    M libclc/clc/lib/generic/math/clc_asinpi.inc
    M libclc/clc/lib/generic/math/clc_atan2.cl
    M libclc/clc/lib/generic/math/clc_atan2.inc
    M libclc/clc/lib/generic/math/clc_atan2pi.cl
    M libclc/clc/lib/generic/math/clc_atan2pi.inc
    M libclc/clc/lib/generic/math/clc_atan_helpers.inc
    M libclc/clc/lib/generic/math/clc_atanpi.cl
    M libclc/clc/lib/generic/math/clc_atanpi.inc
    M libclc/clc/lib/generic/math/clc_ep.cl
    M libclc/clc/lib/generic/math/clc_ep.inc
    M libclc/clc/lib/generic/math/clc_erf.cl
    A libclc/clc/lib/generic/math/clc_erf.inc
    M libclc/clc/lib/generic/math/clc_erfc.cl
    A libclc/clc/lib/generic/math/clc_erfc.inc
    M libclc/clc/lib/generic/math/clc_flush_if_daz.inc
    M libclc/clc/lib/generic/math/clc_fract.inc
    M libclc/clc/lib/generic/math/clc_sincos_helpers.cl
    M libclc/clc/lib/generic/math/clc_sincos_helpers.inc
    M libclc/clc/lib/generic/workitem/clc_get_sub_group_id.cl
    M libclc/clc/lib/generic/workitem/clc_get_sub_group_size.cl
    M libclc/cmake/modules/AddLibclc.cmake
    M libclc/cmake/modules/CMakeCLCInformation.cmake
    M libclc/cmake/modules/CMakeDetermineCLCCompiler.cmake
    M libclc/opencl/lib/generic/CMakeLists.txt
    M libclc/opencl/lib/generic/atomic/atomic_fetch_add.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_sub.cl
    A libclc/opencl/lib/generic/collective/work_group_scan.cl
    A libclc/opencl/lib/generic/collective/work_group_scan.inc
    A libclc/opencl/lib/generic/subgroup/sub_group_non_uniform_reduce.cl
    A libclc/opencl/lib/generic/subgroup/sub_group_non_uniform_reduce.inc
    A libclc/opencl/lib/generic/subgroup/sub_group_scan_exclusive.cl
    A libclc/opencl/lib/generic/subgroup/sub_group_scan_exclusive.inc
    A libclc/opencl/lib/generic/subgroup/sub_group_scan_inclusive.cl
    A libclc/opencl/lib/generic/subgroup/sub_group_scan_inclusive.inc
    M libclc/test/CMakeLists.txt
    M libcxx/CMakeLists.txt
    M libcxx/cmake/caches/AMDGPU.cmake
    M libcxx/cmake/caches/NVPTX.cmake
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/TestingLibcxx.rst
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__atomic/contention_t.h
    M libcxx/include/__bit_reference
    M libcxx/include/__config
    M libcxx/include/__config_site.in
    M libcxx/include/__configuration/attributes.h
    M libcxx/include/__cxx03/__atomic/contention_t.h
    M libcxx/include/__cxx03/__functional/operations.h
    M libcxx/include/__cxx03/stdatomic.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__iterator/wrap_iter.h
    M libcxx/include/__mdspan/layout_left.h
    M libcxx/include/__mdspan/layout_right.h
    M libcxx/include/__mdspan/layout_stride.h
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/include/__memory/is_sufficiently_aligned.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__new/placement_new_delete.h
    M libcxx/include/__numeric/saturation_arithmetic.h
    M libcxx/include/__ranges/iota_view.h
    M libcxx/include/__split_buffer
    M libcxx/include/__type_traits/is_trivially_relocatable.h
    M libcxx/include/__vector/vector.h
    M libcxx/include/ext/hash_map
    M libcxx/include/format
    M libcxx/include/mdspan
    M libcxx/include/new
    M libcxx/include/numeric
    M libcxx/include/typeinfo
    M libcxx/include/version
    M libcxx/modules/std/format.inc
    M libcxx/modules/std/numeric.inc
    M libcxx/src/atomic.cpp
    R libcxx/test/extensions/gnu/hash_map/non_standard_layout.pass.cpp
    R libcxx/test/extensions/gnu/hash_multimap/non_standard_layout.pass.cpp
    A libcxx/test/libcxx/containers/associative/lookup_with_transparently_comparable.pass.cpp
    R libcxx/test/libcxx/diagnostics/ranges.nodiscard.verify.cpp
    M libcxx/test/libcxx/numerics/nodiscard.verify.cpp
    A libcxx/test/libcxx/ranges/range.utility/range.utility.conv/nodiscard.verify.cpp
    A libcxx/test/requirements.txt
    A libcxx/test/selftest/filecheck.negative.sh.cpp
    A libcxx/test/selftest/filecheck.sh.cpp
    A libcxx/test/selftest/splitfile.sh.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/address.pass.cpp
    A libcxx/test/std/containers/sequences/vector.bool/reference/builtin_address_of.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/element_type.verify.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new_array.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.assert.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_add.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_add.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.assert.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_mul.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_mul.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_sub.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_sub.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/ctor.view_pred.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.iota.view/size.pass.cpp
    M libcxx/test/std/thread/futures/futures.async/thread_create_failure.pass.cpp
    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/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared.array.unbounded.pass.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.array.unbounded.pass.cpp
    A libcxx/test/std/utilities/template.bitset/bitset.members/reference.builtin_address_of.pass.cpp
    M libcxx/utils/ci/docker/docker-compose.yml
    M libcxx/utils/ci/docker/linux-builder-base.dockerfile
    M libcxx/utils/ci/images/libcxx_runners.txt
    M libcxx/utils/ci/lnt/README.md

  Log Message:
  -----------
  Merge branch 'main' into users/zhaoqi5/test-vextrins


Compare: https://github.com/llvm/llvm-project/compare/04c12cac7c65...0d277d676c6b

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