[all-commits] [llvm/llvm-project] f7fb8f: [RISCV][P-ext] Add mul*.h00 and mul*.w00 patterns....

Ziqing Luo via All-commits all-commits at lists.llvm.org
Mon Apr 13 12:16:55 PDT 2026


  Branch: refs/heads/users/ziqingluo/PR-172429193-pre-2
  Home:   https://github.com/llvm/llvm-project
  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: 0b8f8e7afa7bfc0bc83f313f55db5756c5031c4e
      https://github.com/llvm/llvm-project/commit/0b8f8e7afa7bfc0bc83f313f55db5756c5031c4e
  Author: Ziqing Luo <ziqing_luo at apple.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 bolt/include/bolt/Passes/DataflowAnalysis.h
    M bolt/lib/Core/AddressMap.cpp
    M bolt/lib/Passes/AllocCombiner.cpp
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Passes/TailDuplication.cpp
    M bolt/lib/Rewrite/GNUPropertyRewriter.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/test/RISCV/call-annotations.s
    M bolt/test/RISCV/relax.s
    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/YAMLGenerator.cpp
    M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.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/fuchsia/TemporaryObjectsCheck.cpp
    M clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.h
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.h
    A clang-tools-extra/clang-tidy/utils/CheckUtils.h
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-member-init.rst
    M clang-tools-extra/test/Unit/CMakeLists.txt
    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/incorrect-enable-if.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
    A clang-tools-extra/test/clang-tidy/checkers/fuchsia/temporary-objects-deprecated-alias.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-template-method-default.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/infrastructure/custom-query-check.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
    M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
    M clang/bindings/python/clang/cindex.py
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Release.cmake
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    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/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Basic/StmtNodes.td
    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/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/Serialization/ModuleManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
    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/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/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/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/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/Analysis/CFG.cpp
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ModulesDriver.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/ContinuationIndenter.h
    M clang/lib/Format/FormatToken.cpp
    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/lib/Parse/ParseOpenMP.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Plugins/CMakeLists.txt
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.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/Serialization/ModuleManager.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.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
    M clang/test/AST/ByteCode/cxx17.cpp
    A clang/test/AST/ByteCode/int-as-ptr-arith.c
    M clang/test/AST/ByteCode/placement-new.cpp
    A clang/test/AST/ast-dump-openmp-split.c
    A clang/test/Analysis/regionstore-zero-init.cpp
    A clang/test/Analysis/split_analyze.c
    A clang/test/CIR/CodeGen/global-ptr-init.cpp
    A clang/test/CIR/CodeGen/record-type-metadata.cpp
    A clang/test/CIR/Lowering/address-space.cir
    M clang/test/CMakeLists.txt
    A clang/test/ClangScanDeps/modules-pch-signature-mismatch.c
    M clang/test/CodeGen/2004-02-13-Memset.c
    M clang/test/CodeGen/AArch64/sme-remarks.c
    M clang/test/CodeGen/RISCV/bitint.c
    R clang/test/CodeGen/X86/pr190962.ll
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/const-label-addr.c
    M clang/test/CodeGen/ext-int-cc.c
    M clang/test/CodeGen/ptrauth-module-flags.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/CodeGenHLSL/builtins/QuadReadAcrossX.hlsl
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/bool_cast.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-mfma-gfx908-err.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/Driver/Ofast.c
    M clang/test/Driver/aix-ld.c
    M clang/test/Driver/amdgpu-features.c
    M clang/test/Driver/amdgpu-toolchain.c
    M clang/test/Driver/openmp-offload-gpu.c
    A clang/test/Index/openmp-split.c
    M clang/test/Misc/noexecstack.c
    M clang/test/Modules/explicit-build.cpp
    M clang/test/Modules/invalid-module-dep.c
    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
    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/pragma-diag-push-pop-across-pch.c
    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/implicit-cast-complex-to-vector.c
    M clang/test/Sema/init.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-suggestions.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp
    M clang/test/SemaCXX/constexpr-string.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    A clang/test/SemaCXX/gh185341.cpp
    M clang/test/SemaHLSL/BuiltIns/QuadReadAcrossX-errors.hlsl
    M clang/tools/diagtool/CMakeLists.txt
    M clang/tools/diagtool/ShowEnabledWarnings.cpp
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/unittests/AST/ByteCode/Descriptor.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/Basic/CharInfoTest.cpp
    M clang/unittests/CIR/CMakeLists.txt
    A clang/unittests/CIR/RecordTypeMetadataTest.cpp
    M clang/unittests/Format/AlignmentTest.cpp
    M clang/unittests/Frontend/CompilerInstanceTest.cpp
    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/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/profile/InstrProfilingPlatformAIX.c
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/tysan/tysan.cpp
    M compiler-rt/lib/tysan/tysan_interceptors.cpp
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/test/asan/TestCases/disable_container_overflow_checks.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/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/internal_symbolizer.cpp
    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/print-stack-trace.cpp
    M compiler-rt/test/sanitizer_common/TestCases/reallocarray-overflow.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_symbolize.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-dso.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
    M compiler-rt/test/sanitizer_common/lit.common.cfg.py
    M flang-rt/lib/runtime/environment.cpp
    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/include/flang/Frontend/CodeGenOptions.def
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
    M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Driver/fintegrated-as.f90
    M flang/test/Driver/save-mlir-temps.f90
    M flang/test/Fir/OpenACC/recipe-populate-firstprivate.mlir
    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
    A flang/test/Lower/HLFIR/conditional-expr.f90
    M flang/test/Lower/HLFIR/procedure-pointer-in-generics.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/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
    M flang/test/Semantics/OpenMP/fuse1.f90
    M flang/test/Semantics/OpenMP/loop-transformation-clauses01.f90
    M flang/test/Transforms/CUF/cuf-kernel-licm.fir
    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
    A flang/test/Transforms/licm-acc-compute-region.fir
    A flang/test/Transforms/licm-non-addressable-resource.mlir
    M flang/test/Transforms/licm.fir
    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/docs/full_host_build.rst
    M libc/docs/gpu/building.rst
    M libc/fuzzing/string/CMakeLists.txt
    A libc/fuzzing/string/strnlen_s_differential_fuzz.cpp
    M libc/include/CMakeLists.txt
    M libc/include/pthread.yaml
    M libc/include/stdio.yaml
    M libc/include/string.yaml
    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
    A libc/shared/math/log10p1f16.h
    A libc/shared/math/log2p1f16.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/accept.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/__support/threads/mutex.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/src/pthread/CMakeLists.txt
    A libc/src/pthread/pthread_mutex_trylock.cpp
    A libc/src/pthread/pthread_mutex_trylock.h
    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/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/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/integration/src/pthread/CMakeLists.txt
    M libc/test/integration/src/pthread/pthread_mutex_test.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M libc/test/src/stdio/CMakeLists.txt
    A libc/test/src/stdio/rewind_test.cpp
    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
    R libc/test/src/sys/socket/linux/connect_test.cpp
    M libc/utils/docgen/string.yaml
    M libclc/CMakeLists.txt
    M libclc/README.md
    M libclc/clc/lib/generic/workitem/clc_get_sub_group_size.cl
    M libclc/test/CMakeLists.txt
    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/include/__atomic/atomic_ref.h
    M libcxx/include/__format/format_functions.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/__numeric/saturation_arithmetic.h
    M libcxx/include/__ranges/iota_view.h
    M libcxx/include/format
    M libcxx/include/mdspan
    M libcxx/include/numeric
    M libcxx/include/version
    M libcxx/modules/std/format.inc
    M libcxx/modules/std/numeric.inc
    M libcxx/test/libcxx/numerics/nodiscard.verify.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
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/element_type.verify.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.factories/range.iota.view/size.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/utils/conformance
    M libcxx/utils/generate_feature_test_macro_components.py
    M lld/ELF/AArch64ErrataFix.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lldb/docs/dil-expr-lang.ebnf
    M lldb/docs/resources/test.rst
    M lldb/examples/python/templates/scripted_process.py
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/include/lldb/Target/ExecutionContext.h
    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/packages/Python/lldbsuite/test/decorators.py
    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/DataFormatters/FormatterSection.cpp
    M lldb/source/Host/common/Socket.cpp
    M lldb/source/Host/common/Terminal.cpp
    M lldb/source/Host/windows/ProcessLauncherWindows.cpp
    M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    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/Symbol/Variable.cpp
    M lldb/source/Target/Platform.cpp
    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/source/ValueObject/ValueObject.cpp
    M lldb/test/API/CMakeLists.txt
    M lldb/test/API/commands/breakpoint/set/func-regex/TestBreakpointRegexError.py
    M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
    M lldb/test/API/commands/help/TestHelp.py
    M lldb/test/API/commands/memory/read/TestMemoryRead.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
    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
    M lldb/test/API/lit.cfg.py
    M lldb/test/API/lit.site.cfg.py.in
    M lldb/test/API/terminal/hidden_frame_markers/TestHiddenFrameMarkers.py
    M lldb/test/Shell/Commands/command-type-synthetic-add.test
    M lldb/test/Shell/ObjectFile/ELF/minidebuginfo-corrupt-xz.yaml
    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
    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
    M lldb/tools/lldb-dap/RunInTerminal.cpp
    M lldb/unittests/Host/SocketTest.cpp
    M lldb/unittests/Platform/PlatformDarwinTest.cpp
    M lldb/unittests/Platform/PlatformTest.cpp
    M lldb/unittests/Platform/TestUtils.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationServerLLGSTest.cpp
    M lldb/utils/lldb-dotest/lldb-dotest.in
    M llvm/CMakeLists.txt
    M llvm/cmake/config-ix.cmake
    M llvm/cmake/modules/AddLLVM.cmake
    A llvm/cmake/modules/FindLibXml2.cmake
    M llvm/docs/AArch64SME.rst
    A llvm/docs/AMDGPU/AMDGPUAsmGFX950.rst
    A llvm/docs/AMDGPU/gfx950_operands.rst
    M llvm/docs/AMDGPUModifierSyntax.rst
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/CommandGuide/llvm-dwarfdump.rst
    M llvm/docs/CommandGuide/opt.rst
    M llvm/docs/Extensions.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.md
    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-c/Core.h
    M llvm/include/llvm/ADT/GenericUniformityImpl.h
    M llvm/include/llvm/ADT/PostOrderIterator.h
    M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
    M llvm/include/llvm/Analysis/InlineCost.h
    M llvm/include/llvm/Analysis/InstCount.h
    M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
    M llvm/include/llvm/Analysis/UniformityAnalysis.h
    M llvm/include/llvm/BinaryFormat/GOFF.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    A llvm/include/llvm/CodeGen/AsmPrinterAnalysis.h
    M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    A llvm/include/llvm/CodeGen/InsertCodePrefetch.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/CodeGen/ScheduleDAG.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/DebugInfo/DWARF/LowLevel/DWARFDataExtractorSimple.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
    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/MachOBuilder.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/SelfExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/IR/ValueHandle.h
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/include/llvm/MC/MCContext.h
    M llvm/include/llvm/MC/MCObjectStreamer.h
    M llvm/include/llvm/MC/MCSection.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/Object/BBAddrMap.h
    M llvm/include/llvm/ObjectYAML/DWARFYAML.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/include/llvm/Support/BranchProbability.h
    M llvm/include/llvm/Support/DataExtractor.h
    M llvm/include/llvm/Support/Error.h
    A llvm/include/llvm/Support/PatternMatchHelpers.h
    M llvm/include/llvm/Support/UniqueBBID.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
    M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/InstCount.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/UniformityAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/BasicBlockSections.cpp
    M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
    M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/InsertCodePrefetch.cpp
    M llvm/lib/CodeGen/LiveRangeEdit.cpp
    M llvm/lib/CodeGen/MachineModuleInfo.cpp
    M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
    M llvm/lib/CodeGen/PeepholeOptimizer.cpp
    M llvm/lib/CodeGen/ScheduleDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.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/DebugInfo/GSYM/FileWriter.cpp
    M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    M llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
    M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Intrinsics.cpp
    M llvm/lib/IR/RuntimeLibcalls.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/GOFFObjectWriter.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCContext.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
    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/lib/ObjectYAML/DWARFEmitter.cpp
    M llvm/lib/ObjectYAML/DWARFYAML.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Support/Windows/Path.inc
    M llvm/lib/Support/Windows/Threading.inc
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    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/AArch64MachineFunctionInfo.h
    M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
    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/AArch64StackTagging.cpp
    M llvm/lib/Target/AArch64/AArch64SystemOperands.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/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
    R llvm/lib/Target/AArch64/SMEABIPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    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
    M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/R600TargetMachine.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SISchedule.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchMachineFunctionInfo.h
    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/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
    M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    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/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    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/WebAssemblyCFGStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.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/X86FastISel.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/Target/X86/X86TargetMachine.h
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Utils/CallGraphUpdater.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/WindowsManifest/CMakeLists.txt
    M llvm/runtimes/CMakeLists.txt
    M llvm/test/Analysis/CostModel/AArch64/ldexp.ll
    A llvm/test/Analysis/CostModel/AArch64/masked-divrem.ll
    A llvm/test/Analysis/CostModel/RISCV/masked-divrem.ll
    A llvm/test/Analysis/CostModel/SystemZ/fold-rmw-cost.ll
    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
    M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
    M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
    A llvm/test/CodeGen/AArch64/GlobalISel/arm64-this-return.ll
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/aarch64-sme-za-call-lowering.ll
    M llvm/test/CodeGen/AArch64/arm64-stur.ll
    M llvm/test/CodeGen/AArch64/arm64-this-return.ll
    M llvm/test/CodeGen/AArch64/bf16-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/itofp-bf16.ll
    M llvm/test/CodeGen/AArch64/known-never-nan.ll
    M llvm/test/CodeGen/AArch64/ldexp.ll
    M llvm/test/CodeGen/AArch64/merge-store.ll
    M llvm/test/CodeGen/AArch64/preferred-function-alignment.ll
    A llvm/test/CodeGen/AArch64/sign-return-address-pauthlr-slh.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/st1-lane.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-minmax-const-combine.ll
    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/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/llvm.amdgcn.div.scale.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    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/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/agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-metadata-agpr-register-count.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/attr-amdgpu-flat-work-group-size-vgpr-limit.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/bypass-div.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/carryout-selection.ll
    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/dagcombine-select.ll
    M llvm/test/CodeGen/AMDGPU/div-rem-by-constant-64.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/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.ll
    M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.ll
    M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/fract-match.ll
    M llvm/test/CodeGen/AMDGPU/freeze-binary.ll
    M llvm/test/CodeGen/AMDGPU/freeze.ll
    M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
    M llvm/test/CodeGen/AMDGPU/hazard-setreg-vgpr-msb-gfx1250.mir
    M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
    M llvm/test/CodeGen/AMDGPU/kernel-args.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dead.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.mulo.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/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
    M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
    M llvm/test/CodeGen/AMDGPU/min3.ll
    A llvm/test/CodeGen/AMDGPU/minmax3-tree-reduction.ll
    M llvm/test/CodeGen/AMDGPU/mul.ll
    M llvm/test/CodeGen/AMDGPU/multi-call-resource-usage-mcexpr.ll
    M llvm/test/CodeGen/AMDGPU/naked-fn-with-frame-pointer.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
    M llvm/test/CodeGen/AMDGPU/recursion.ll
    M llvm/test/CodeGen/AMDGPU/recursive-resource-usage-mcexpr.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/AMDGPU/repeated-divisor.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/rsq.f32-safe.ll
    M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
    M llvm/test/CodeGen/AMDGPU/s-barrier-lowering.ll
    A llvm/test/CodeGen/AMDGPU/schedmodel-dummywrite.mir
    M llvm/test/CodeGen/AMDGPU/srem.ll
    M llvm/test/CodeGen/AMDGPU/unnamed-function-resource-info.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.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
    M llvm/test/CodeGen/AMDGPU/vgpr-setreg-mode-swar.mir
    M llvm/test/CodeGen/ARM/preferred-function-alignment.ll
    A llvm/test/CodeGen/DirectX/is_nonuniform_within_loop.ll
    A llvm/test/CodeGen/DirectX/is_nonuniform_within_loop_nuri.ll
    A llvm/test/CodeGen/Hexagon/hvx-concat-scalar-preds.ll
    R llvm/test/CodeGen/LoongArch/issue187832.ll
    M llvm/test/CodeGen/LoongArch/linker-relaxation.ll
    R llvm/test/CodeGen/LoongArch/musttail.ll
    M llvm/test/CodeGen/LoongArch/tail-calls.ll
    M llvm/test/CodeGen/PowerPC/code-align.ll
    M llvm/test/CodeGen/PowerPC/ppc64-calls.ll
    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
    A llvm/test/CodeGen/RISCV/bitint-fp-conv-200.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/test/CodeGen/RISCV/fp128.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.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/rv32p.ll
    M llvm/test/CodeGen/RISCV/rv64p.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/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
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
    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
    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/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/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/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/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
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.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
    R llvm/test/CodeGen/RISCV/spir-kernel-cc.ll
    M llvm/test/CodeGen/RISCV/split-udiv-by-constant.ll
    M llvm/test/CodeGen/RISCV/split-urem-by-constant.ll
    M llvm/test/CodeGen/RISCV/tail-calls.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bindless_images/bindless_images_generic.ll
    M llvm/test/CodeGen/SPIRV/logical-struct-access.ll
    M llvm/test/CodeGen/SPIRV/transcoding/ldexp.ll
    A llvm/test/CodeGen/SPIRV/transcoding/pown.ll
    A llvm/test/CodeGen/SPIRV/transcoding/rootn.ll
    M llvm/test/CodeGen/SystemZ/vec-perm-14.ll
    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
    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
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
    M llvm/test/CodeGen/WebAssembly/function-info.mir
    M llvm/test/CodeGen/X86/AMX/amx-across-func.ll
    M llvm/test/CodeGen/X86/apx/or.ll
    A llvm/test/CodeGen/X86/apx/pr191368.ll
    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
    M llvm/test/CodeGen/X86/eh-label.ll
    M llvm/test/CodeGen/X86/empty-function.ll
    M llvm/test/CodeGen/X86/gfni-lzcnt.ll
    M llvm/test/CodeGen/X86/gfni-tzcnt.ll
    M llvm/test/CodeGen/X86/i128-udiv.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/srem-seteq-vec-nonsplat.ll
    M llvm/test/CodeGen/X86/statepoint-invoke.ll
    A llvm/test/DebugInfo/AMDGPU/bitcast-store-combine-debugloc.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/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
    M llvm/test/Examples/lit.local.cfg
    M llvm/test/ExecutionEngine/lit.local.cfg
    M llvm/test/MC/AArch64/armv9.7a-gcie.s
    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
    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
    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
    M llvm/test/Transforms/Inline/ML/Inputs/test-module.ll
    M llvm/test/Transforms/Inline/ML/interactive-mode.ll
    M llvm/test/Transforms/Inline/ML/ml-test-development-mode.ll
    M llvm/test/Transforms/Inline/always-inline-phase-ordering.ll
    A llvm/test/Transforms/Inline/inline-history-dead-function.ll
    M llvm/test/Transforms/InstCombine/fneg.ll
    M llvm/test/Transforms/InstCombine/fold-inc-of-add-of-not-x-and-y-to-sub-x-from-y.ll
    M llvm/test/Transforms/InstCombine/fp-floor-ceil.ll
    A llvm/test/Transforms/InstCombine/icmp-umax-notx.ll
    A llvm/test/Transforms/InstCombine/known-range-frexp-exp.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
    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
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/reverse-load-scatter.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
    M llvm/test/Transforms/LoopVectorize/Hexagon/minimum-vf.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/reverse-load-scatter.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-interleaved.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/cost-model-assert.ll
    M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-ordered-reduction.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.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/outer_loop_test1_no_explicit_vect_width.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/vect.omp.force.small-tc.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/dbg-outer-loop-vect.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
    A llvm/test/Transforms/LoopVectorize/epilog-vectorization-fixed-order-recurrences.ll
    A llvm/test/Transforms/LoopVectorize/epilog-vectorization-fmaxnum-reductions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-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/find-last-iv-sinkable-expr.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/fix-reduction-dbg.ll
    M llvm/test/Transforms/LoopVectorize/incorrect-dom-info.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll
    M llvm/test/Transforms/LoopVectorize/middle-block-dbg.ll
    M llvm/test/Transforms/LoopVectorize/mixed-precision-remarks.ll
    M llvm/test/Transforms/LoopVectorize/nested-outer-loop-vect.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/outer-loop-wide-phis.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
    M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
    A llvm/test/Transforms/LoopVectorize/tail-folding-constant-trip-counts.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-div.ll
    A llvm/test/Transforms/LoopVectorize/tail-folding-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/unsafe-dep-remark.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-call-instruction.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-select-instruction.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/extracts-from-scalarizable-vector.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/AArch64/vectorizable-selects-min-max.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remarks-insert-into-small-vector.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/c-ray.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cmp-as-alternate-ops.ll
    A llvm/test/Transforms/SLPVectorizer/X86/copyable-phi-used-non-copyable.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/identity-match-splat-less-defined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/inversed-icmp-to-gather.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/non-load-reduced-as-part-of-bv.ll
    A llvm/test/Transforms/SLPVectorizer/X86/operand-reorder-with-copyables.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.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/reduced-value-stored.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_external_users.ll
    A llvm/test/Transforms/SLPVectorizer/X86/revec-scalar-insertelement.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
    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
    M llvm/test/Verifier/sme-attributes.ll
    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/test/tools/llvm-dwarfdump/X86/coverage.test
    M llvm/test/tools/llvm-mca/AMDGPU/gfx10-double.s
    M llvm/test/tools/llvm-mca/AMDGPU/gfx11-double.s
    M llvm/test/tools/llvm-nm/X86/demangle.ll
    M llvm/test/tools/llvm-objdump/X86/source-interleave-function-from-debug.test
    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/test/tools/llvm-symbolizer/wasm-basic.s
    A llvm/test/tools/opt/mtune.ll
    A llvm/test/tools/yaml2obj/ELF/DWARF/debug-line-v5.yaml
    M llvm/tools/llc/NewPMDriver.cpp
    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
    M llvm/tools/llvm-dwarfdump/Coverage.cpp
    M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
    M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.h
    M llvm/tools/llvm-dwp/llvm-dwp.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-profgen/CMakeLists.txt
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/obj2yaml/dwarf2yaml.cpp
    M llvm/tools/obj2yaml/elf2yaml.cpp
    M llvm/tools/opt/optdriver.cpp
    M llvm/unittests/ADT/SmallVectorTest.cpp
    M llvm/unittests/Analysis/PluginInlineAdvisorAnalysisTest.cpp
    M llvm/unittests/Analysis/PluginInlineOrderAnalysisTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp
    M llvm/unittests/CodeGen/MachineInstrTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
    A llvm/unittests/ExecutionEngine/Orc/MachOBuilderTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/IR/PatternMatch.cpp
    M llvm/unittests/IR/ValueHandleTest.cpp
    M llvm/unittests/MC/SystemZ/SystemZAsmLexerTest.cpp
    M llvm/unittests/Object/ELFObjectFileTest.cpp
    M llvm/unittests/Support/DataExtractorTest.cpp
    M llvm/unittests/Support/ErrorTest.cpp
    M llvm/unittests/Support/raw_sha1_ostream_test.cpp
    M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
    M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/llvm/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Core/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/CIR/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn
    M llvm/utils/gn/secondary/lldb/test/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/JITLink/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Object/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Support/HTTP/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llubi/lib/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn
    M llvm/utils/profcheck-xfail.txt
    A mlir/cmake/modules/Findocloc.cmake
    M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
    M mlir/include/mlir/Dialect/OpenACC/Transforms/ACCSpecializePatterns.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h
    M mlir/include/mlir/IR/Visitors.h
    M mlir/include/mlir/Target/LLVM/XeVM/Utils.h
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
    M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
    M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/ACCLoopTiling.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsTiling.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinition.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
    M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
    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/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
    M mlir/lib/Dialect/X86/Transforms/VectorContractToPackedTypeDotProduct.cpp
    M mlir/lib/Dialect/X86/Utils/X86Utils.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
    M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
    M mlir/lib/Target/LLVM/CMakeLists.txt
    M mlir/lib/Target/LLVM/ROCDL/Target.cpp
    M mlir/lib/Target/LLVM/XeVM/Target.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/CAPI/ir.c
    M mlir/test/Conversion/XeVMToLLVM/legalize_large_vector.mlir
    A mlir/test/Conversion/XeVMToLLVM/xevm_mx-to-llvm.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
    M mlir/test/Dialect/Linalg/tile-to-forall.mlir
    M mlir/test/Dialect/OpenACC/acc-loop-tiling.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Dialect/Quant/Bytecode/types.mlir
    M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
    M mlir/test/Dialect/Shard/resharding-partition.mlir
    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
    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/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
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
    M mlir/test/Dialect/X86/vector-contract-to-packed-type-dotproduct.mlir
    M mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
    M mlir/test/Dialect/XeGPU/sg-to-wi-experimental.mlir
    M mlir/test/Integration/Dialect/XeVM/GPU/gpu_printf.mlir
    A mlir/test/Integration/Dialect/XeVM/GPU/xevm_block_scaled_dpas_bf8.mlir
    M mlir/test/Interfaces/InferShapedTypeOpInterface/resolve-shaped-type-result-dims.mlir
    M mlir/test/Target/LLVMIR/Import/module-flags.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/Target/LLVMIR/nvvm/mbar_arrive.mlir
    M mlir/test/Target/LLVMIR/openmp-iterator.mlir
    A mlir/test/Target/LLVMIR/openmp-taskloop-local-bounds.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    M mlir/test/mlir-tblgen/op-format-invalid.td
    M mlir/test/mlir-tblgen/op-format-spec.td
    M mlir/test/python/dialects/nvvm.py
    M mlir/test/python/dialects/python_test.py
    M mlir/test/python/lib/PythonTestModuleNanobind.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M offload/plugins-nextgen/common/src/Utils/ELF.cpp
    M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
    M offload/test/offloading/ompx_bare_multi_dim.cpp
    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
    M openmp/runtime/src/kmp_alloc.cpp
    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
    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
    A openmp/runtime/test/worksharing/for/omp_scan_inscan_template.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

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


Compare: https://github.com/llvm/llvm-project/compare/d44fad76c701...0b8f8e7afa7b

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