LLVM/project 0379e6bllvm/include/llvm/Support KnownFPClass.h, llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

InstCombine: Handle multiple use fneg(fabs(x)) in SimplifyDemandedFPClass

This ends up being smarter than the single use case, so these should
be merged at some point.
DeltaFile
+169-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+43-10llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+6-0llvm/include/llvm/Support/KnownFPClass.h
+218-103 files

LLVM/project 2622087clang/docs MSVCCompatibility.rst

Fix typo in MSVCCompatibility.rst (#176057)

DeltaFile
+1-1clang/docs/MSVCCompatibility.rst
+1-11 files

LLVM/project 0c5c920llvm/lib/Target/SPIRV SPIRVLegalizerInfo.cpp SPIRVPostLegalizer.cpp, llvm/test/CodeGen/SPIRV/legalization vector-index-scalarization.ll spv-extractelt-legalization.ll

[SPIRV] Improve vector legalization and type deduction (#175067)

This patch adds support for scalarizing vector loads in the legalizer
and
implements legalization for the spv_const_composite intrinsic. It also
refactors stack temporary creation for vector operations to ensure
correct
SPIR-V types are assigned. Additionally, type deduction in the
PostLegalizer is improved to handle GEP and Load instructions.

Fixes https://github.com/llvm/llvm-project/issues/170534
DeltaFile
+170-0llvm/test/CodeGen/SPIRV/legalization/vector-index-scalarization.ll
+129-30llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
+84-1llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
+6-8llvm/test/CodeGen/SPIRV/legalization/spv-extractelt-legalization.ll
+389-394 files

LLVM/project 425e6bdclang/lib/Analysis/LifetimeSafety FactsGenerator.cpp, clang/unittests/Analysis LifetimeSafetyTest.cpp

[LifetimeSafety] Handle GSL pointer construction from raw pointers (#175963)

DeltaFile
+9-0clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+2-3clang/unittests/Analysis/LifetimeSafetyTest.cpp
+11-32 files

LLVM/project b36d30eopenmp/runtime CMakeLists.txt, openmp/runtime/cmake LibompGetArchitecture.cmake

[openmp] Add support for arm64ec to libomp

This patch adds arm64ec support to libomp.
Note that this support isn't entirely usable on Windows hosts as libomp
requires LLVM_PER_TARGET_RUNTIME_DIR=On for to work correctly when
multiple runtimes are built, which is unsupported on Windows. A
following patch will add arm64x support to the build to rectify this.
DeltaFile
+5-3openmp/runtime/src/z_Windows_NT-586_util.cpp
+5-3openmp/runtime/src/kmp_os.h
+6-2openmp/runtime/src/kmp_platform.h
+5-1openmp/runtime/CMakeLists.txt
+2-1openmp/runtime/src/kmp.h
+3-0openmp/runtime/cmake/LibompGetArchitecture.cmake
+26-104 files not shown
+32-1210 files

LLVM/project 8b03b37llvm/include/llvm/Support KnownFPClass.h, llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

InstCombine: Handle multiple uses fabs in SimplifyDemandedFPClass
DeltaFile
+85-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+28-0llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+6-0llvm/include/llvm/Support/KnownFPClass.h
+119-03 files

LLVM/project 6977e68lldb/test/API/tools/lldb-dap/attach TestDAP_attach.py, lldb/test/API/tools/lldb-dap/startDebugging TestDAP_startDebugging.py

[lldb-dap] Move targetId and debuggerId into a session property (#175930)

This makes it clear the fields required for attaching to an existing
debug session.

It also makes it easier to check mutually exclusive fields required to
attach.
DeltaFile
+13-11lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
+15-3lldb/tools/lldb-dap/extension/package.json
+8-9lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
+9-8lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
+11-5lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
+7-5lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
+63-415 files not shown
+86-6011 files

LLVM/project 86b1412flang/include/flang/Optimizer/Support Utils.h

[flang][NFC] fix typo in mlirTypeToIntrinsicFortran (#175762)

Fix pretty printing of complex function types in the error messages when
no runtime function is found to implement some intrinsic in lowering.
DeltaFile
+1-1flang/include/flang/Optimizer/Support/Utils.h
+1-11 files

LLVM/project ab6b6c9llvm/lib/Target/X86 X86Combine.td, llvm/test/CodeGen/X86/GlobalISel add-ext.ll ptr-add.ll

[X86][GISEL] Enable Combines for constants and undef (#175711)

This patch supports combines for constants and undef. Primary motive is
to fold muls and remove undef chains from final outputs.
DeltaFile
+24-20llvm/test/CodeGen/X86/GlobalISel/add-ext.ll
+7-7llvm/test/CodeGen/X86/GlobalISel/ptr-add.ll
+0-9llvm/test/CodeGen/X86/GlobalISel/undef.ll
+1-1llvm/lib/Target/X86/X86Combine.td
+1-1llvm/test/CodeGen/X86/GlobalISel/pr49087.ll
+33-385 files

LLVM/project dc5e1d0libcxx CMakeLists.txt, libcxx/include __config

[libc++] Provide flag for RUNTIMES_USE_LIBC=llvm-libc (#174967)

There was no flag added for llvm-libc when picolibc and newlib were
provided in https://github.com/llvm/llvm-project/pull/147956 - the
missing flag breaks libc++ iostream support now because this check
https://github.com/llvm/llvm-project/blob/9a8421fa6191d2e1047e3dc8c72a22fa810f9aee/libcxx/include/__config#L719
fails unless an LLVM libc header is included.
DeltaFile
+1-1libcxx/include/__config
+2-0libcxx/CMakeLists.txt
+1-1libcxx/src/filesystem/filesystem_clock.cpp
+1-1libcxx/src/include/config_elast.h
+1-1libcxx/include/__random/binomial_distribution.h
+1-1libcxx/src/chrono.cpp
+7-51 files not shown
+8-57 files

LLVM/project 4eb674cclang/test/Sema warn-lifetime-analysis-nocfg.cpp, clang/test/Sema/Inputs lifetime-analysis.h

[LifetimeSafety] Test lifetime safety on stmt-local analysis test suite
DeltaFile
+217-55clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
+10-1clang/test/Sema/Inputs/lifetime-analysis.h
+227-562 files

LLVM/project a60c9a9llvm/lib/CodeGen CFIInstrInserter.cpp

[CFIInstrInserter] Add `dump` method to `CSRSavedLocation`. (#176054)

This is to reduce the diff for the future commit where we plan to use
this for reporting errors.
DeltaFile
+13-0llvm/lib/CodeGen/CFIInstrInserter.cpp
+13-01 files

LLVM/project 1457732llvm/lib/CodeGen CFIInstrInserter.cpp

[CFIInstrInserter][NFC] Remove useless `#define`. (#176051)

DeltaFile
+0-2llvm/lib/CodeGen/CFIInstrInserter.cpp
+0-21 files

LLVM/project de4f431llvm/test/CodeGen/RISCV cfi-multiple-locations.mir

[CFIInstrInserter] Fix a test. (#176048)

In the test `cfi-multiple-locations.mir` the block `bb.1` was
unreachable.
DeltaFile
+1-2llvm/test/CodeGen/RISCV/cfi-multiple-locations.mir
+1-21 files

LLVM/project f6270bbclang/lib/Serialization TemplateArgumentHasher.cpp

[Serialization] Remove bail-out logic in TemplateArgumentHasher

While it is correct to assign a single fixed hash to all template
arguments, it can reduce the effectiveness of lazy loading and is
not actually needed: we are allowed to ignore parts that cannot be
handled because they will be analogously ignored by all hashings.

Reviewed as part of https://github.com/llvm/llvm-project/pull/133057
DeltaFile
+3-33clang/lib/Serialization/TemplateArgumentHasher.cpp
+3-331 files

LLVM/project 6a69145clang/lib/Basic/Targets LoongArch.cpp, clang/lib/Driver/ToolChains Gnu.cpp Linux.cpp

[clang][LoongArch] Add support for LoongArch32

This patch adds support for LoongArch32, as introduced in
la-toolchain-conventions v1.2.

Co-authored-by: Sun Haiyong <sunhaiyong at zdbr.net>
Link: https://github.com/loongson/la-toolchain-conventions/releases/tag/releases%2Fv1.2
Link: https://gcc.gnu.org/pipermail/gcc-patches/2025-December/703312.html
DeltaFile
+89-0clang/test/CodeGen/LoongArch/targetattr-la64.c
+0-89clang/test/CodeGen/LoongArch/targetattr.c
+35-0clang/test/CodeGen/LoongArch/targetattr-la32.c
+16-2clang/lib/Basic/Targets/LoongArch.cpp
+16-2clang/lib/Driver/ToolChains/Gnu.cpp
+13-0clang/lib/Driver/ToolChains/Linux.cpp
+169-9311 files not shown
+209-11417 files

LLVM/project 16f690ellvm/include/llvm/ExecutionEngine/JITLink loongarch.h

[JITLink][LoongArch][NFC] Fix Call30PCRel range docs
DeltaFile
+1-1llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
+1-11 files

LLVM/project 019bf03lld/ELF InputSection.cpp, lld/ELF/Arch LoongArch.cpp

[lld][LoongArch] Support reloc types for LA32R/LA32S (#172618)

This patch adds support for processing the relocation types introduced
in la-abi-specs v2.50.

Link: https://github.com/loongson/la-abi-specs/pull/16
Link:
https://sourceware.org/pipermail/binutils/2025-December/146091.html
DeltaFile
+136-0lld/test/ELF/loongarch-relax-call30.s
+70-31lld/test/ELF/loongarch-relax-emit-relocs.s
+70-0lld/ELF/InputSection.cpp
+64-5lld/ELF/Arch/LoongArch.cpp
+65-0lld/test/ELF/loongarch-relax-call30-2.s
+64-0lld/test/ELF/loongarch-call30.s
+469-367 files not shown
+524-6513 files

LLVM/project c322a0cllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 split-node-throttled.ll

[SLP]Do not throttle nodes with split parents, if any of scalars is used in more than one split nodes

If the the node to throttle is a vector node, which is used in split
node, and at least one scalar of such a node is used in many split
nodes, such vector node should be throttled. otherise there might be
wrong def-use chain, which crashes the compiler.

Fixes #175967
DeltaFile
+147-0llvm/test/Transforms/SLPVectorizer/X86/split-node-throttled.ll
+9-1llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+156-12 files

LLVM/project dc03657llvm/test/Transforms/InstCombine simplify-demanded-fpclass-sqrt.ll simplify-demanded-fpclass-frexp.ll

InstCombine: Fold known-qnan results to a literal nan

Previously we only considered fcNan to fold to qnan for canonicalizing
results, ignoring the simpler case where we know the nan is already
quiet.
DeltaFile
+3-9llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-sqrt.ll
+3-4llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll
+3-4llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-insertelement.ll
+3-4llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-shufflevector.ll
+2-4llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fmul.ll
+1-2llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc.ll
+15-2712 files not shown
+28-4718 files

LLVM/project 872574dllvm/include/llvm/Support KnownFPClass.h, llvm/lib/Analysis ValueTracking.cpp

InstCombine: Implement SimplifyDemandedFPClass for frexp
DeltaFile
+16-38llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll
+49-0llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+27-0llvm/lib/Support/KnownFPClass.cpp
+3-21llvm/lib/Analysis/ValueTracking.cpp
+4-0llvm/include/llvm/Support/KnownFPClass.h
+99-595 files

LLVM/project bc5e781lld/ELF InputSection.cpp

Address wanglei's comments
DeltaFile
+9-2lld/ELF/InputSection.cpp
+9-21 files

LLVM/project b2828bdllvm/test/CodeGen/X86 combine-pclmul.ll

[X86] combine-pclmul.ll - add demanded elts test coverage (#176132)

Based off the equivalent instcombine test coverage - but we can now create X86ISD::PCLMULQDQ nodes in the DAG as well
DeltaFile
+246-0llvm/test/CodeGen/X86/combine-pclmul.ll
+246-01 files

LLVM/project 18e6245llvm/test/MC/AMDGPU gfx8_asm_vop3.s gfx7_asm_vop3.s, llvm/test/MC/Disassembler/AMDGPU gfx9_vop3.txt

Merge branch 'main' into users/rovka/alloc-vgpr-intrinsic
DeltaFile
+42,349-42,348llvm/test/MC/AMDGPU/gfx8_asm_vop3.s
+41,419-41,418llvm/test/MC/AMDGPU/gfx7_asm_vop3.s
+36,428-36,427llvm/test/MC/AMDGPU/gfx9_asm_vop3.s
+28,175-28,174llvm/test/MC/AMDGPU/gfx9_asm_vopc.s
+22,711-22,884llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
+22,276-22,275llvm/test/MC/AMDGPU/gfx8_asm_vopc.s
+193,358-193,5263,671 files not shown
+1,243,002-1,145,6763,677 files

LLVM/project ed5e927bolt/include/bolt/Passes PAuthGadgetScanner.h, bolt/include/bolt/Utils CommandLineOpts.h

[BOLT] Gadget scanner: implement finer-grained --scanners option

Add separate options to enable each of the available gadget detectors.
Furthermore, add two meta-options enabling all PtrAuth scanners and all
available scanners of any type (which is only PtrAuth for now, though).

This commit renames `pacret` option to `ptrauth-pac-ret` and `pauth` to
`ptrauth-all`.
DeltaFile
+124-0bolt/test/binary-analysis/AArch64/gs-pauth-scanners.s
+31-15bolt/lib/Passes/PAuthGadgetScanner.cpp
+22-15bolt/lib/Rewrite/RewriteInstance.cpp
+19-2bolt/include/bolt/Utils/CommandLineOpts.h
+12-7bolt/include/bolt/Passes/PAuthGadgetScanner.h
+9-4bolt/test/binary-analysis/AArch64/cmdline-args.test
+217-4310 files not shown
+234-7116 files

LLVM/project 314769fllvm/test/CodeGen/X86 clmul.ll

[X86] clmul.ll - add missing clmulr_i64 test coverage (#176131)

DeltaFile
+814-0llvm/test/CodeGen/X86/clmul.ll
+814-01 files

LLVM/project dd947ebllvm/docs AMDGPUUsage.rst, llvm/test/CodeGen/AMDGPU global-atomicrmw-fadd.ll memory-legalizer-flat-system.ll

[AMDGPU] Update gfx1250 memory model for global acquire/release (#175865)

Inserts required waits around GLOBAL_INV/GLOBAL_WBINV for
agent scope and above.
DeltaFile
+464-41llvm/docs/AMDGPUUsage.rst
+224-0llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
+184-18llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
+184-18llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
+182-18llvm/test/CodeGen/AMDGPU/memory-legalizer-private-agent.ll
+170-18llvm/test/CodeGen/AMDGPU/memory-legalizer-private-system.ll
+1,408-11314 files not shown
+2,057-16320 files

LLVM/project 59c2600llvm/test/Transforms/InstCombine simplify-demanded-fpclass-frexp.ll

InstCombine: Add baseline frexp test for SimplifyDemandedFPClass
DeltaFile
+594-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll
+594-01 files

LLVM/project 1416724openmp/runtime/src kmp_traits.h kmp_traits.cpp, openmp/runtime/unittests/Traits TestOMPTraits.cpp TestOMPTraitParser.cpp

[libomp] OpenMP 6.0: Add device trait parser

OpenMP 6.0 introduced a device trait specification language for the
environment variables OMP_AVAILABLE_DEVICES (4.3.7) and
OMP_DEFAULT_DEVICE (4.3.8).

This commit defines a grammar for that language and implements a parser
for a large part of this grammar.
It also already does the parsing of OMP_DEFAULT_DEVICE, but in a
backward compatible manner, not yet exposing the new capabilities to the
user (this will come in a follow-up commit).
DeltaFile
+1,132-0openmp/runtime/unittests/Traits/TestOMPTraits.cpp
+1,038-0openmp/runtime/unittests/Traits/TestOMPTraitParser.cpp
+436-0openmp/runtime/src/kmp_traits.h
+306-0openmp/runtime/src/kmp_traits.cpp
+24-0openmp/runtime/unittests/Traits/MockOMP.cpp
+6-0openmp/runtime/unittests/Traits/CMakeLists.txt
+2,942-04 files not shown
+2,952-210 files

LLVM/project 31a5ac6openmp/runtime/src kmp_adt.h, openmp/runtime/unittests/ADT TestVector.cpp CMakeLists.txt

[libomp] Add kmp_vector (ADT 2/2)

See rationale in the commit adding kmp_str_ref.

This commit introduces kmp_vector, a class intended primarily for small
vectors. It currently only includes methods I need at the moment, but
it's easily extensible.
DeltaFile
+580-0openmp/runtime/unittests/ADT/TestVector.cpp
+182-0openmp/runtime/src/kmp_adt.h
+1-0openmp/runtime/unittests/ADT/CMakeLists.txt
+763-03 files