LLVM/project 9168af9llvm/test/tools/llvm-readobj/ELF many-segments.test file-headers.test, llvm/tools/llvm-readobj ELFDumper.cpp

fixup! [Object,ELF] Implement PN_XNUM extension for program headers (#162288)
DeltaFile
+12-47llvm/test/tools/llvm-readobj/ELF/many-segments.test
+7-4llvm/test/tools/llvm-readobj/ELF/file-headers.test
+6-4llvm/test/tools/llvm-readobj/ELF/invalid-e_phnum.test
+1-2llvm/tools/llvm-readobj/ELFDumper.cpp
+1-0llvm/test/tools/llvm-readobj/ELF/many-sections.s
+27-575 files

LLVM/project 7040648llvm/test/tools/llvm-readobj/ELF many-sections.s

fixup! [llvm-readobj, ELF] Support reading binary with more than PN_XNUM segments.
DeltaFile
+6-6llvm/test/tools/llvm-readobj/ELF/many-sections.s
+6-61 files

LLVM/project c9a4ee2llvm/test/tools/llvm-readobj/ELF many-segments.test file-headers.test, llvm/test/tools/llvm-readobj/ELF/Inputs many-segments.o.gz

fixup! [llvm-readobj, ELF] Support reading binary with more than PN_XNUM segments.
DeltaFile
+45-60llvm/test/tools/llvm-readobj/ELF/many-segments.test
+34-33llvm/tools/llvm-readobj/ELFDumper.cpp
+8-8llvm/test/tools/llvm-readobj/ELF/file-headers.test
+7-7llvm/test/tools/llvm-readobj/ELF/many-sections.s
+8-4llvm/test/tools/llvm-readobj/ELF/invalid-e_phnum.test
+0-0llvm/test/tools/llvm-readobj/ELF/Inputs/many-segments.o.gz
+102-1126 files

LLVM/project 5c17fe9llvm/test/tools/llvm-readobj/ELF many-segments.test invalid-e_phnum.test, llvm/test/tools/llvm-readobj/ELF/Inputs many-segments.o.gz

[llvm-readobj, ELF] Support reading binary with more than PN_XNUM segments.

FreeBSD coredump uses program headers to store mmap information. It is possible
for program to use more than PN_XNUM mmaps. Therefore, we implement the support
of PN_XNUM in readelf.
DeltaFile
+79-0llvm/test/tools/llvm-readobj/ELF/many-segments.test
+51-23llvm/tools/llvm-readobj/ELFDumper.cpp
+39-0llvm/test/tools/llvm-readobj/ELF/invalid-e_phnum.test
+0-0llvm/test/tools/llvm-readobj/ELF/Inputs/many-segments.o.gz
+169-234 files

LLVM/project 6dc68bfllvm/include/llvm/Object ELF.h

fixup! [Object][ELF] Fix section header zero check
DeltaFile
+5-2llvm/include/llvm/Object/ELF.h
+5-21 files

LLVM/project 72dc04allvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 v2i64-min-max.ll

[AArch64] Fold MIN/MAX(Vec[0], Vec[1]) to VECREDUCE_MIN/MAX(Vec) (#181162)

If we have a lowering for `VECREDUCE_MIN/MAX` this is generally more
efficient than the scalar expansion.
DeltaFile
+114-0llvm/test/CodeGen/AArch64/v2i64-min-max.ll
+47-10llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+161-102 files

LLVM/project 28d564bclang-tools-extra/clangd Protocol.cpp XRefs.cpp, clang-tools-extra/clangd/unittests FindSymbolsTests.cpp

[Index] Reflect in SymbolSubKind whether a typedef points to a struct or a class (#181967)

Typedefs don't have their own symbol kind in the Language Server
Protocol, the choices are Struct or Class. For clangd to be able to
represent typedefs accurately in response to requests such as
`workspace/symbol`, it needs this information surfaced in
index::SymbolInfo.

Fixes https://github.com/clangd/clangd/issues/2253
DeltaFile
+37-6clang/lib/Index/IndexSymbol.cpp
+22-0clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
+12-4clang-tools-extra/clangd/Protocol.cpp
+2-2clang-tools-extra/clangd/XRefs.cpp
+2-2clang-tools-extra/clangd/FindSymbols.cpp
+2-2clang/test/Index/Core/index-source.cpp
+77-162 files not shown
+80-178 files

LLVM/project 5b9b25blibcxx/include/__stop_token atomic_unique_lock.h

[libc++][NFC] Use std::has_single_bit instead of std::popcount(v) == 1 (#181787)

We have a function that specifically checks if a single bit is set. Use
that instad of a `popcount`.
DeltaFile
+2-2libcxx/include/__stop_token/atomic_unique_lock.h
+2-21 files

LLVM/project 1d9bff7llvm/lib/Target/Mips MipsSEInstrInfo.cpp, llvm/test/CodeGen/MIR/Mips mips32r6-copyPhysReg-fcmp-f64-to-gpr.mir

MIPS: readsWritesFloatRegister, inc Idx for continue (#179932)

Otherwise, the input register will also be treat as write.

(cherry picked from commit c7e3bddbfd3451cf5138ec94e00eae45ab9c4b7a)
DeltaFile
+18-0llvm/test/CodeGen/MIR/Mips/mips32r6-copyPhysReg-fcmp-f64-to-gpr.mir
+2-2llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
+20-22 files

LLVM/project 61fa74bllvm/lib/Target/AMDGPU EXPInstructions.td, llvm/lib/Target/AMDGPU/Utils AMDGPUBaseInfo.cpp

[AMDGPU] Add VEXPORT encoding for gfx13 (#181788)

Co-authored-by: Jay Foad <jay.foad at amd.com>
DeltaFile
+66-0llvm/test/MC/AMDGPU/gfx13_asm_vexport.s
+10-13llvm/lib/Target/AMDGPU/EXPInstructions.td
+1-1llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+1-0llvm/test/MC/AMDGPU/exp.s
+78-144 files

LLVM/project 8a1dff7libc/test/src/math CMakeLists.txt ceilf128_test.cpp

[libc][math][test] add missed mpfr test for `ceilf128` (#182201)

This PR adds an MPFR test for `ceilf128` that was missed.
DeltaFile
+15-0libc/test/src/math/CMakeLists.txt
+13-0libc/test/src/math/ceilf128_test.cpp
+28-02 files

LLVM/project 53bf028lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust grammar.js, llvm/lib/Transforms/Scalar DeadStoreElimination.cpp

Merge remote-tracking branch 'external-upstream/main' into users/mariusz-sikora-at-amd/gfx13/add-vexport
DeltaFile
+8,874-0llvm/test/CodeGen/PowerPC/clmul-vector.ll
+1,325-1,258llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
+1,690-0lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust/grammar.js
+1,628-0llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_wmma_w32.txt
+1,628-0llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_wmma_w64.txt
+1,529-0llvm/test/MC/AMDGPU/gfx1170_asm_wmma_w64.s
+16,674-1,2581,341 files not shown
+55,149-19,0041,347 files

LLVM/project ccd9712flang/test/Integration/OpenMP map-types-and-sizes.f90, mlir/lib/Target/LLVMIR/Dialect/OpenMP OpenMPToLLVMIRTranslation.cpp

[OpenMP][MLIR] Modify lowering OpenMP Dialect lowering to support attach mapping

This PR adjusts the LLVM-IR lowering to support the new attach map type that the runtime
uses to link data and pointer together, this swaps the mapping from the older
OMP_MAP_PTR_AND_OBJ map type in most cases and allows slightly more complicated ref_ptr/ptee
and attach semantics.
DeltaFile
+335-234mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+279-0mlir/test/Target/LLVMIR/omptarget-host-ref-semantics.mlir
+122-129flang/test/Integration/OpenMP/map-types-and-sizes.f90
+26-66mlir/test/Target/LLVMIR/omptarget-record-type-with-ptr-member-host.mlir
+70-0offload/test/offloading/fortran/map_attach_always.f90
+55-0offload/test/offloading/fortran/map_attach_never.f90
+887-42912 files not shown
+1,034-51118 files

LLVM/project fe0fb80flang/lib/Optimizer/OpenMP MapInfoFinalization.cpp, flang/test/Lower/OpenMP use-device-ptr-to-use-device-addr.f90 attach-and-ref-modifier.f90

[Flang][OpenMP][Offload] Modify MapInfoFinalization to handle attach mapping and 6.1's ref_* and attach map keywords

This PR is one of four required to implement the attach mapping semantics in Flang, alongside the
ref_ptr/ref_ptee/ref_ptr_ptee map modifiers and the attach(always/never/auto) modifiers.

This PR is the MapInfoFinalization changes required to support these features, it mainly deals with
applying the correct attach map type and manipulating the descriptor types maps for base address
and descriptor so that when we specify ref_ptr/ref_ptee we emit one of the two maps and when we
emit ref_ptr_ptee we emit our usual default maps. In all cases we add the "glue" of an new
attach map except in cases where a user has provided attach never. In cases where we are
provided an always, we apply the always map type to our attach maps.

It's important to note the runtime has a toggle for the auto map behaviour, which will flip the
attach behaviour to the newer semantics or the older semantics for backwards compatability (outside
the purview of this PR but good to mention).
DeltaFile
+518-247flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
+43-44flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
+51-7flang/test/Lower/OpenMP/attach-and-ref-modifier.f90
+32-21flang/test/Transforms/omp-map-info-finalization.fir
+19-19flang/test/Lower/OpenMP/optional-argument-map-2.f90
+18-12flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
+681-35013 files not shown
+760-39319 files

LLVM/project 449debfclang/include/clang/CIR/Dialect/IR CIROpsEnums.h CIROps.td, clang/lib/CIR/Lowering/DirectToLLVM LowerToLLVM.cpp

[CIR] Enable AppendingLinkage in GlobalLinkage enum
DeltaFile
+8-0clang/test/CIR/IR/invalid-linkage.cir
+4-0clang/include/clang/CIR/Dialect/IR/CIROpsEnums.h
+1-2clang/include/clang/CIR/Dialect/IR/CIROps.td
+2-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+15-24 files

LLVM/project 944ef9fllvm/test/CodeGen/WebAssembly load-ext.ll

[NFC][WebAssembly] Add Fast-ISel test for load-ext (#181480)

Update load-ext.ll to enable testing of Fast-isel.

Related: #179672
DeltaFile
+62-22llvm/test/CodeGen/WebAssembly/load-ext.ll
+62-221 files

LLVM/project 5d56516llvm/lib/Target/NVPTX NVPTXIntrinsics.td NVPTXInstrInfo.td, llvm/test/CodeGen/NVPTX convert_s2f6x2_sm_100a.ll convert_fp6x2_sm_100f.ll

[NVPTX] Add intrinsics for new narrow FP conversions (#173954)

This change adds intrinsics for the following new narrow FP conversions
introduced in PTX 9.1:
- `bf16x2` to `f8x2`
- `(b)f16x2` to `f6x2`
- `(b)f16x2` to `f4x2`
- All `s2f6x2` conversions.

PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt
DeltaFile
+151-0llvm/test/CodeGen/NVPTX/convert_s2f6x2_sm_100a.ll
+137-0llvm/test/CodeGen/NVPTX/convert_fp6x2_sm_100f.ll
+89-0llvm/test/CodeGen/NVPTX/convert_fp4x2_sm_100f.ll
+72-0llvm/test/CodeGen/NVPTX/convert_fp8x2_sm_100f.ll
+64-0llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
+55-3llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
+568-33 files not shown
+613-49 files

LLVM/project fafedcdllvm/lib/Target/AMDGPU AMDGPUGlobalISelDivergenceLowering.cpp

[AMDGPU][GlobalISel][NFC] Filter getCandidatesForLowering to only process G_PHI (#181814)

The divergence-lowering pass runs in three stages:
1. lowerTemporalDivergence()
2. lowerTemporalDivergenceI1() — creates PHI instructions via SSAUpdater
3. lowerPhis() — lowers divergent i1 G_PHIs into lane mask PHIs

getCandidatesForLowering() in stage 3 iterates over all PHIs via
MBB.phis() and checks isDivergent() on their destination registers. This
includes PHI instructions already created by stage 2, whose registers
were never part of the original uniformity analysis.

Today, this works by accident — isDivergent() returns false for unknown
registers, so these PHIs are skipped. But this relies on isDivergent()
behavior for unanalyzed registers, which is not guaranteed. If
isDivergent() were to return true for unknown registers (e.g., as a
conservative default), lowerPhis() would re-process already-lowered
PHIs, adding redundant COPY instructions(EX:
https://github.com/llvm/llvm-project/pull/180509). This would not be a

    [2 lines not shown]
DeltaFile
+5-1llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
+5-11 files

LLVM/project 3e3713cllvm/lib/CodeGen/GlobalISel LegalizerHelper.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-ctlz-zero-undef.mir

[GlobalIsel] Use aext in ctlz_zero_undef widenScalar expansion (#181506)

Use `G_ANYEXT` instead of `G_ZEXT` when widening the source of
`G_CTLZ_ZERO_UNDEF`. The extended upper bits are immediately shifted out
by the subsequent left-shift, so zero-extending is unnecessarily
constraining.

Before:
```
    %wide = G_ZEXT %src
    %shifted = G_SHL %wide, sizeDiff
    %result = G_CTLZ_ZERO_UNDEF %shifted
```
After:
```
    %wide = G_ANYEXT %src
    %shifted = G_SHL %wide, sizeDiff
    %result = G_CTLZ_ZERO_UNDEF %shifted
```
DeltaFile
+13-15llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
+1-3llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-bitcounts.mir
+1-1llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
+1-0llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+16-194 files

LLVM/project 1010e4allvm/include/llvm/Frontend/OpenMP OMPIRBuilder.h, llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

[mlir][llvmir][OpenMP] Translate affinity clause in task construct to llvmir

Translate affinity entries to LLVMIR by passing affinity information to
createTask (__kmpc_omp_reg_task_with_affinity is created inside PostOutlineCB).
DeltaFile
+92-0llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
+59-13mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+19-3llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+12-6llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+2-0mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
+184-225 files

LLVM/project 16d1631llvm/include/llvm/Frontend/OpenMP OMPIRBuilder.h, llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

Implement lowering for omp.iterator in affinity
DeltaFile
+158-22mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+82-0llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+27-0llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+1-0mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
+268-224 files

LLVM/project 8fdddc7mlir/test/Target/LLVMIR openmp-todo.mlir

Fix LLVMIR openmp todo test for affinity clause
DeltaFile
+6-4mlir/test/Target/LLVMIR/openmp-todo.mlir
+6-41 files

LLVM/project 31c9176flang/test/Lower/OpenMP task-affinity.f90, flang/test/Lower/OpenMP/Todo affinity-clause.f90

Add iterator test and remove redundant check lines
DeltaFile
+53-35flang/test/Lower/OpenMP/task-affinity.f90
+53-0mlir/test/Dialect/OpenMP/ops.mlir
+0-10flang/test/Lower/OpenMP/Todo/affinity-clause.f90
+106-453 files

LLVM/project b640119flang/lib/Lower/OpenMP Utils.cpp ClauseProcessor.cpp, flang/test/Lower/OpenMP task-affinity.f90

[Flang][mlir][OpenMP] Support affinity clause codegen in Flang

This patch translate flang ast to OpenMP dialect for affinity clause
including the iterator modifier.
DeltaFile
+103-0flang/lib/Lower/OpenMP/Utils.cpp
+52-14flang/test/Lower/OpenMP/task-affinity.f90
+64-2flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+31-19mlir/test/Dialect/OpenMP/ops.mlir
+17-0mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+9-0flang/lib/Lower/OpenMP/Utils.h
+276-352 files not shown
+285-368 files

LLVM/project 9605493flang/lib/Lower/OpenMP ClauseProcessor.cpp Utils.cpp, mlir/include/mlir/Dialect/OpenMP OpenMPClauses.td

Emit omp.iterator in affinity clause from Flang
DeltaFile
+143-20flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+70-18mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+83-0flang/lib/Lower/OpenMP/Utils.cpp
+16-0flang/lib/Lower/OpenMP/Utils.h
+4-2mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
+316-405 files

LLVM/project 182a567mlir/include/mlir/Dialect/OpenMP OpenMPOps.td OpenMPOpBase.td, mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

[mlir][OpenMP] Introduce 'omp.iterators' for OpenMP iterator modifiers

`omp.iterators` provides information of induction variables and iterator
range in OpenMP iterator modifier.

Example:
```
  %it = omp.iterators(%i0: index, %i1: index) =
        (%lb0 to %ub0 step %st0,
         %lb1 to %ub1 step %st1) {
    omp.yield(%i0, %i1 : index, index)
  } -> !omp.iterated<!llvm.struct<(!llvm.ptr, i64)>>
```

Here's how we can use the omp.iteraters to generate multi-dimensional
loop in llvm ir:
```
  // Induction variables can be translated from the block arguments
  // in omp.iterators.

    [8 lines not shown]
DeltaFile
+108-0mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+42-5mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+29-0mlir/test/Dialect/OpenMP/ops.mlir
+20-0mlir/test/Dialect/OpenMP/invalid.mlir
+7-0mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
+206-55 files

LLVM/project 7c445dbclang/include/clang/Frontend ASTUnit.h

[NFC][Clang] Apply Rule of Three to classes in ASTUnit.h (#182198)

Static analysis flagged that some classes in ASTUnit.h defined a
destructor but did not also define a copy constructor or copy
assignment. This is a bug and I am defining them as deleted to prevent
accidently copy or assigns.
DeltaFile
+5-0clang/include/clang/Frontend/ASTUnit.h
+5-01 files

LLVM/project d15c6eellvm/lib/Target/AMDGPU AMDGPULowerVGPREncoding.cpp, llvm/test/CodeGen/AMDGPU vgpr-lowering-gfx1250.mir

[AMDGPU] Commute instructions to avoid VGPR MSB changes (#181918)

DeltaFile
+25-18llvm/test/CodeGen/AMDGPU/vgpr-lowering-gfx1250.mir
+22-0llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
+47-182 files

LLVM/project a0e9061flang/docs/MeetingNotes/2025 2025-12-03.md 2025-12-17.md, flang/docs/MeetingNotes/2026 2026-01-28.md 2026-02-11.md

[flang] Add Flang Call Notes documents (#180287)

This PR is the result of discussion in
https://discourse.llvm.org/t/rfc-what-to-do-regarding-the-flang-call-notes-document/89450.
The intent with this PR is to move away from the former Google Doc in
favor of keeping the call notes in the primary repository. This PR has
the boilerplate and the notes from the last few meetings. In future,
notes from previous calls could be added in as well, once recovered from
the corrupted document.

The intended flow going forward would be for the call organizer to draft
the meeting's agenda in the working Google Doc referenced in
MeetingNotes/README.md, post it on Slack the day before the meeting,
take notes in the document during the call, then translate those notes
into a new notes document in the correct folder after the call is
completed and create a PR.
DeltaFile
+75-0flang/docs/MeetingNotes/2026/2026-01-28.md
+74-0flang/docs/MeetingNotes/2026/2026-02-11.md
+70-0flang/docs/MeetingNotes/2026/2026-01-14.md
+65-0flang/docs/MeetingNotes/2026/2026-01-21.md
+56-0flang/docs/MeetingNotes/2025/2025-12-03.md
+53-0flang/docs/MeetingNotes/2025/2025-12-17.md
+393-03 files not shown
+440-59 files

LLVM/project a0df62blldb/test/API/tools/lldb-server TestGdbRemoteCompletion.py

[lldb] Disable shared build for TestGdbRemoteCompletion.py (#182196)

Follow up to #181720. Based on [this
failure](https://lab.llvm.org/buildbot/#/builders/162/builds/41328)
DeltaFile
+2-0lldb/test/API/tools/lldb-server/TestGdbRemoteCompletion.py
+2-01 files