[all-commits] [llvm/llvm-project] 59238f: [mlir] Fix #180988: Add GPUDialect and DataLayoutI...
Peter Collingbourne via All-commits
all-commits at lists.llvm.org
Thu Feb 19 14:29:18 PST 2026
Branch: refs/heads/users/pcc/spr/codegen-introduce-machinefunctiongetpreferredalignment
Home: https://github.com/llvm/llvm-project
Commit: 59238f6d7668c8e3fb0ac79f6c48d8ec26e83d1c
https://github.com/llvm/llvm-project/commit/59238f6d7668c8e3fb0ac79f6c48d8ec26e83d1c
Author: Lance Wang <lancewang at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] Fix #180988: Add GPUDialect and DataLayoutInterfaces to OpenACC related dependencies (#181027)
Commit: 5c114d80f88ef418b5f3ba3c919d300e21c4e677
https://github.com/llvm/llvm-project/commit/5c114d80f88ef418b5f3ba3c919d300e21c4e677
Author: Dunbobbin <Ben.Dunbobbin at sony.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M cross-project-tests/dtlto/path.test
Log Message:
-----------
[TEST][FIX] Fix typo in tool name: 'llvm-ar'
Commit: a816f922fa73828b24008a8cdd0a28448eed68ef
https://github.com/llvm/llvm-project/commit/a816f922fa73828b24008a8cdd0a28448eed68ef
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/common.h
M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c.inc
Log Message:
-----------
[scudo] Add new fast purge option. (#175266)
This adds a new option to do a faster of a purge.
When doing a release to OS due to a purge call, if another thread is
also doing a release, the call can be blocked while that operation
concludes. In some cases, code wants a fast version that releases as
fast as possible and the call will not block.
For example, on Android, when destroying a Bitmap a purge occurs to save
memory. But this can cause some jank if the purge takes too long.
In the future, I envision that this option will also do a calculation to
stop purging after some cutoff value to avoid being blocked in this call
for too long.
Commit: c4f74a19940cbc551cca15a8b4ed0cb55785c297
https://github.com/llvm/llvm-project/commit/c4f74a19940cbc551cca15a8b4ed0cb55785c297
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/source/Host/windows/PythonPathSetup/CMakeLists.txt
Log Message:
-----------
[lldb][windows] fix link issue when building with dylibs (#180976)
Fix a link issue which was introduced by
https://github.com/llvm/llvm-project/pull/179306 when building with
dylibs (with MinGW).
LLVMSupport is not needed by `PythonPathSetup`. It's safe to remove it.
Commit: e22db5cf61652dcde73f3f93dff1ee753dca8e15
https://github.com/llvm/llvm-project/commit/e22db5cf61652dcde73f3f93dff1ee753dca8e15
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
A mlir/lib/Bindings/Python/stubgen_runner.py
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
R utils/bazel/llvm-project-overlay/mlir/stubgen_runner.py
Log Message:
-----------
[MLIR] [Bazel] Moved stubgen_runner.py out of llvm-project-overlay (#181029)
It was checked into the overlay by accident.
Commit: 0991d7b8fd01546aaf537a6238227100570f8236
https://github.com/llvm/llvm-project/commit/0991d7b8fd01546aaf537a6238227100570f8236
Author: Martin Storsjö <martin at martin.st>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libunwind/src/Unwind-seh.cpp
Log Message:
-----------
[libunwind] Fix building with EXCEPTION_DISPOSITION as enum (#180513)
On Windows, libunwind is normally only built in mingw mode; it's not
relevant for MSVC targets. (Attempting to build it is entirely blocked
in CMake, see [1]).
In mingw headers, the type EXCEPTION_DISPOSITION is defined as an int
while it is an enum in the MSVC vcruntime headers.
However, in addition to the canonical enum members, we also use a value
which has no assigned enum member. In older mingw-w64 headers, there was
a define for this value, 4, with the name ExceptionExecuteHandler, but
that was removed in [2]. The libunwind code reference this value just by
the literal value 4, with a comment referencing it as
ExceptionExecuteHandler.
This extra enum value isn't passed to the outside Microsoft runtime, but
is only used to pass values from one part of libunwind to another; this
handling is necessary for the forced_unwind{1-3}.pass.cpp tests to
succeed.
If the mingw-w64 headers would define EXCEPTION_DISPOSITION as an enum,
just like the MSVC vcruntime headers, then we'd run into build errors
and warnings like this:
llvm-project/libunwind/src/Unwind-seh.cpp:166:14: error: cannot initialize return object of type 'EXCEPTION_DISPOSITION' (aka 'enum _EXCEPTION_DISPOSITION') with an rvalue of type 'int'
166 | return 4 /* ExceptionExecuteHandler in mingw */;
| ^
llvm-project/libunwind/src/Unwind-seh.cpp:185:14: error: cannot initialize return object of type 'EXCEPTION_DISPOSITION' (aka 'enum _EXCEPTION_DISPOSITION') with an rvalue of type 'int'
185 | return 4 /* ExceptionExecuteHandler in mingw */;
| ^
llvm-project/libunwind/src/Unwind-seh.cpp:272:8: warning: case value not in enumerated type 'EXCEPTION_DISPOSITION' (aka 'enum _EXCEPTION_DISPOSITION') [-Wswitch]
272 | case 4 /*ExceptionExecuteHandler*/:
| ^
Fix these cases by adding explicit casts between EXCEPTION_DISPOSITION
and int.
A (partial) similar change was proposed in [3], but the author never
followed up on the discussion, and the PR was later closed.
[1] b0b546d44777eb1fa25995384876bd14a006a929
[2] https://github.com/mingw-w64/mingw-w64/commit/2de6703961c0d519046b841f7b392a040e1e5b55
[3] https://github.com/llvm/llvm-project/pull/159293
Commit: 9f85fa2a529e9246f2cf16b092c68d9a2243d53a
https://github.com/llvm/llvm-project/commit/9f85fa2a529e9246f2cf16b092c68d9a2243d53a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/libflang_rt.runtime.a
A clang/test/Driver/offload.f90
Log Message:
-----------
[Flang] Fix finding the Flang runtime for the GPU (#180971)
Summary:
We were looking for `flang_rt.builtins` instead of `flang_rt.runtime`.
Also adds a test so we know that it actually works.
Commit: 39f2ce368593e05dfc7411a65cf6073dcea4da64
https://github.com/llvm/llvm-project/commit/39f2ce368593e05dfc7411a65cf6073dcea4da64
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libc/docs/configure.rst
M libc/shared/rpc.h
M libc/shared/rpc_dispatch.h
M libc/shared/rpc_util.h
Log Message:
-----------
[libc] Cleanup RPC helpers and comments
Summary:
Mostly NFC, replaced some inconsistent comments and replaces `class`
with `typename` to be consistent. Also fix incomplete type detection I
forgot to merge in the RPC helper PR.
Commit: d4c7d5be340d1eb78b55bd86b6c041d123cba1b1
https://github.com/llvm/llvm-project/commit/d4c7d5be340d1eb78b55bd86b6c041d123cba1b1
Author: woruyu <1214539920 at qq.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
Log Message:
-----------
[CIR] X86 vector masked load builtins (#169464)
Add a new CIR masked load operation and use it to handle X86 masked load builtins.
Part of https://github.com/llvm/llvm-project/issues/167752
Commit: 9a496ddca3a23101d27531345901c42366d2ed45
https://github.com/llvm/llvm-project/commit/9a496ddca3a23101d27531345901c42366d2ed45
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rv64p.ll
Log Message:
-----------
[RISC] Rename the P extensions srx/slx tests and add fshl/fshr intrinsic tests. NFC (#180984)
I plan to change to the i64 shift lowering on RV32 to use nsrl/nsra
instead of srx. Only fshr will use srx.
We now have shift tests with constant shift amount < XLEN and >= XLEN,
and non-constant shift amount that is fully unknown, known < XLEN, and
known >= XLEN
Assisted-by: claude
Commit: 716bd041fb1f244daad8860d8c613c9746a1e9b3
https://github.com/llvm/llvm-project/commit/716bd041fb1f244daad8860d8c613c9746a1e9b3
Author: Priyanshu Kumar <10b.priyanshu at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
A clang/test/CIR/CodeGen/builtins-x86.c
A clang/test/CIR/CodeGenBuiltins/X86/rd-builtins.c
Log Message:
-----------
[CIR]Upstream generic intrinsic emission path (#179098)
This PR upstreams the generic intrinsic emission path and tests it for
the rdpmc builtin. The incubator has llvm_unreachable("NYI") when the
intrinsic return type doesn't match. This PR adds the type coercion to
handle that case.
Commit: b0dce9ef48b770d7223f300c7bb32b473f42d7dd
https://github.com/llvm/llvm-project/commit/b0dce9ef48b770d7223f300c7bb32b473f42d7dd
Author: Fedor Sergeev <fedor.v.sergeev at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/SmallSet.h
M llvm/unittests/ADT/SmallSetTest.cpp
Log Message:
-----------
[ADT] use correct iterator_facade_base for SmallSetIterator (#180967)
SmallSetIterator is inherently constant. Now it is properly expressed
through passing const to PointerT/ReferenceT parameters of its base
class. This way wrappers like make_filter_range do not try to treat
SmallSetIterator as non-constant.
Fixes #179139
Commit: 6503bdce13f48f62ab3dff235b3725b21c786f14
https://github.com/llvm/llvm-project/commit/6503bdce13f48f62ab3dff235b3725b21c786f14
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/include/llvm/Support/JSON.h
Log Message:
-----------
[Support][NFC] Use direct initialization for JSON deserialization result (#181034)
The previous initialization forces the struct to have non explicit
constructor
Commit: 31f31dd9d0460834f2ae67247d3886fec4931d6d
https://github.com/llvm/llvm-project/commit/31f31dd9d0460834f2ae67247d3886fec4931d6d
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M .github/workflows/issue-subscriber.yml
M .github/workflows/new-issues.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-asset-audit.yml
Log Message:
-----------
workflows: Use main-branch-only environment when using ISSUE_SUBSCRIBER_TOKEN (#179990)
This way we can prevent the secret from being used in user branches.
Commit: 79640967dd75739c097a928663fbcf726985d65e
https://github.com/llvm/llvm-project/commit/79640967dd75739c097a928663fbcf726985d65e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Semantics/OpenMP/compiler-directive.f90
M flang/test/Semantics/ignore_tkr01.f90
Log Message:
-----------
[flang] Downgrade error to warning for IGNORE_TKR case (#180994)
The IGNORE_TKR directive has meaning only in the specification part of a
subroutine or function subprogram or interface. Presently, it is an
error when the directive appears elsewhere.
At user request, this patch softens the error to a warning for when this
directive appears in a program unit other than a subroutine or function,
and when it appears in a subroutine or function subprogram outside the
specification part of its top scope.
Commit: dc2fc9e10bd6d8d93d91f18a60e6cd7d24ffadb9
https://github.com/llvm/llvm-project/commit/dc2fc9e10bd6d8d93d91f18a60e6cd7d24ffadb9
Author: Shunsuke Watanabe <watanabe.shu-06 at fujitsu.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M flang/docs/FlangDriver.md
Log Message:
-----------
[flang][docs] Update the `-Ofast` description in `FlangDriver.md` (#180138)
After #170505, `-fno-protect-parens` is now required for flang to behave
the same as `-Ofast`. This patch adds that information to the
description of `-Ofast` in `FlangDriver.md`.
Commit: 6ffbb320d7578f0bed137a75e6d50ca0eb1e5ab4
https://github.com/llvm/llvm-project/commit/6ffbb320d7578f0bed137a75e6d50ca0eb1e5ab4
Author: cmtice <cmtice at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/test/API/commands/frame/var-dil/expr/Casts/TestFrameVarDILCast.py
M lldb/test/API/commands/frame/var-dil/expr/Casts/main.cpp
Log Message:
-----------
[LLDB] Add type casting to DIL, part 3 of 3 (#175061)
This PR updates type parsing in DIL to recognize user-defined types
(classes, namespaces, etc.), and allows this to be used in type casting.
Commit: 0a966ff4e20396206c2f2e054961c2995dcbd7d4
https://github.com/llvm/llvm-project/commit/0a966ff4e20396206c2f2e054961c2995dcbd7d4
Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.integer-minmax.ll
Log Message:
-----------
[AMDGPU][NFC] Fix test by removing debug flag in llvm.amdgcn.raw.buffer.atomic.integer-minmax.ll (#181044)
This patch is a NFC that removes debug flag from the test
llvm.amdgcn.raw.buffer.atomic.integer-minmax.ll
Commit: eeb2a20a1cccbd5727194d46588c5d794b267e5f
https://github.com/llvm/llvm-project/commit/eeb2a20a1cccbd5727194d46588c5d794b267e5f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Add LowerMatrixIntrinsic test to xfail list
To get the buildbot back to green. We have not started working on
LowerMatrixIntrinsic tests yet.
Commit: ee4d7f27b7d53f8b6967d754d26ecb52f2903e82
https://github.com/llvm/llvm-project/commit/ee4d7f27b7d53f8b6967d754d26ecb52f2903e82
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libcxx/utils/ci/lnt/run-benchmarks
Log Message:
-----------
[libc++] Improve the logging story in run-benchmarks
This allows diagnosing issues when a command fails.
Commit: 9e905d1d64ab8636a70069b596030dc757f428a3
https://github.com/llvm/llvm-project/commit/9e905d1d64ab8636a70069b596030dc757f428a3
Author: Justice Adams <jadams23 at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
A .ci/green-dragon/relay-clang-stage2-thinlto.groovy
Log Message:
-----------
[green dragon] check in stage2 thinlto relay pipeline (#180997)
* Add a definition for the relay thinlto job
Commit: 7cc7a94128931891b7f00414edcf01c76e255483
https://github.com/llvm/llvm-project/commit/7cc7a94128931891b7f00414edcf01c76e255483
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
A llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
Log Message:
-----------
[AMDGPU][Scheduler] Fix inconsistent MI slots after rematerialization revert (#180646)
This fixes an issue in the scheduler's rematerialization stage wherein
slot indices could end up being inconsistent with respect to MI order
following a scheduling revert coupled with rematerialization rollbacks.
When a region's schedule is reverted, instructions are re-ordered into
the region's original instruction order. Furthermore, non-debug
instructions have their slot moved if necessary to maintain consistency
between MI and slot order. Importantly, the rematerialization stage
marks rematerialized MIs as debug during re-scheduling. When reverting
the schedule of regions that have had some of their MIs rematerialized,
the latter are still marked debug, and therefore maintain their
pre-re-scheduling slot even if it no longer is consistent with MI order.
This fixes the issue by restoring the original state of rematerialized
MIs before reverting region schedules, ensuring they are moved if
necessary. An EXPENSIVE_CHECK is added to check that slot order
makes sense with respect to MI order in re-scheduled regions.
Fixes SWDEV-579187.
Commit: ce036c9a2959904108349707b1986c542b16ec18
https://github.com/llvm/llvm-project/commit/ce036c9a2959904108349707b1986c542b16ec18
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libcxx/utils/ci/lnt/schema.yaml
Log Message:
-----------
[libc++] Rename LNT schema for libc++
Sadly, I made an earlier test to create a schema named libcxx which
doesn't have the same contents as this one. And for the time being,
we don't have any way to remove these schemas.
To unblock LNT testing, we'll start populating the libcxx2 test
suite instead and we can clean this up in the future.
Commit: e2297da21660a0c9f3db90c3effd18f6c17e38e9
https://github.com/llvm/llvm-project/commit/e2297da21660a0c9f3db90c3effd18f6c17e38e9
Author: KAWASHIMA Takahiro <t-kawashima at fujitsu.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Driver/func-attr.f90
Log Message:
-----------
[flang] Fix -fno-omit-frame-pointer (#180507)
The PR #163775 added `FramePointerKind::NonLeafNoReserve`. However it
seems it forgot to update some codes in Flang. By this bug,
`frame-pointer` attribute in IR was not set even if
`-fno-omit-frame-pointer` is specified.
Fixes #180118
Commit: 473e8189c4d3b19932da8027104cf33996193775
https://github.com/llvm/llvm-project/commit/473e8189c4d3b19932da8027104cf33996193775
Author: Jim Lin <jim at andestech.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedAndes45.td
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-arithmetic.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-bitwise.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-mul-div.s
Log Message:
-----------
[RISCV] Update Andes45 vector fixed-point arithmetic scheduling info (#180451)
This PR adds latency/throughput for all RVV fixed-point arithmetic to
the andes45 series scheduling model.
Commit: d063dc6e6140e8554d85fb4410f77e79850b0f1a
https://github.com/llvm/llvm-project/commit/d063dc6e6140e8554d85fb4410f77e79850b0f1a
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-goto.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-goto.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/braces-around-statements.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/deprecated-headers.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/exception-baseclass.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/explicit-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/function-size.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/ignored-remove-result.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/invalid-access-moved.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/move-const-arg.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/multiway-paths-covered.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/named-parameter.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/new-delete-operators.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-array-decay.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-assembler.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/noexcept-move.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/signed-bitwise.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/special-member-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/static-assert.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/undelegated-constructor.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/uppercase-literal-suffix.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-auto.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-emplace.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-default.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-delete.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-noexcept.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-nullptr.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-override.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/vararg.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.rst
Log Message:
-----------
[clang-tidy][NFC] Update broken HICPP documentation links (#180525)
The original links to the High Integrity C++ Coding Standard now
redirects to an [irrelevant page](https://www.perforce.com/resources)
because Perforce made the document private (it now requires email to
apply).
This PR updates all HICPP-related documentation links to point to the
application form, ensuring users can still find the official source for
these rules.
Commit: 0377416e36784c86db0566550773851995f13edf
https://github.com/llvm/llvm-project/commit/0377416e36784c86db0566550773851995f13edf
Author: Zhihui Yang <youngwisdm at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
A clang/test/CIR/CodeGenBuiltins/X86/cmp-builtins.c
Log Message:
-----------
[CIR][X86] Add support for cmp builtins (#174318)
Part of https://github.com/llvm/llvm-project/issues/167765
Add support for cmp builtins
Commit: 2ada4b8fb0914ebdddc386130db24bcc074b3554
https://github.com/llvm/llvm-project/commit/2ada4b8fb0914ebdddc386130db24bcc074b3554
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][ROCDL] Wrap asyncmark and wait.asyncmark intrinsics (#181054)
(see op-level and LLVM documentation for details so I'm not repeating
myself, but these are the general operations for compiler-operated
asynchronous operation tracking, which frees programmers from having to
deal with all the different counters, allows certain optimization, and
doesn't require precise alias analysis)
-----
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: 2e870e615d42b487e039873bdacbcd2bc94f7fb4
https://github.com/llvm/llvm-project/commit/2e870e615d42b487e039873bdacbcd2bc94f7fb4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libc/shared/rpc_dispatch.h
M libc/shared/rpc_util.h
Log Message:
-----------
[libc] Fix incorrect element type in RPC handler
Commit: 46283ad29542fcb00f3c35c0d211ad0d4d648ea7
https://github.com/llvm/llvm-project/commit/46283ad29542fcb00f3c35c0d211ad0d4d648ea7
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[NFC][HLSL] Remove Dead code (#181060)
Commit: dde762afb92be5206254af898558662ab9a55f7f
https://github.com/llvm/llvm-project/commit/dde762afb92be5206254af898558662ab9a55f7f
Author: iLeGend <youzhi.jin at intel.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/f16sqrtf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/f16sqrtf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/f16sqrtf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor `f16sqrtf` to Header Only. (#180749)
fix https://github.com/llvm/llvm-project/issues/175329
Commit: 477e73f5347489895d076bfc810a30bf34ec8cd0
https://github.com/llvm/llvm-project/commit/477e73f5347489895d076bfc810a30bf34ec8cd0
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/include/clang/Options/Options.td
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/module-fgen-reduced-bmi-precompile.cppm
Log Message:
-----------
[C++20] [Modules] Support to generate reduced BMI only (#181081)
Introduced --precompile-reduced-bmi. This allows users to generate
Reduced BMI only.
Previously, users can only generate the reduced BMI as a by product of
other process (e.g, generating an object file or a full BMI). This is
not ideal.
Commit: e2ac2e0af6f4778ad3724f28105d4d3d029ea9f5
https://github.com/llvm/llvm-project/commit/e2ac2e0af6f4778ad3724f28105d4d3d029ea9f5
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel][lldb] Port #179832 (#181087)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: 0319d8ddbefcb578f2358e99a59d5af471b09e31
https://github.com/llvm/llvm-project/commit/0319d8ddbefcb578f2358e99a59d5af471b09e31
Author: gulfemsavrun <gulfem at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/test/tools/llvm-cov/mcdc-macro.test
Log Message:
-----------
Revert "[MC/DC] Make covmap tolerant of nested Decisions (#125407)" (#181069)
This reverts commit 8f690ec7ffd8d435a0212a191634b544b0741c4f because it
caused errors in collecting coverage.
Commit: 526dc256b5763b46d502d58f834bfd520147eaab
https://github.com/llvm/llvm-project/commit/526dc256b5763b46d502d58f834bfd520147eaab
Author: Riyaz Ahmad <69200125+riyaz86a at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/test/Driver/aix-as.c
Log Message:
-----------
[AIX] [PowerPC] Auto-enable modern-aix-as feature by default with integrated assembler. (#180778)
**Issue**:
Certain instruction aliases (e.g. `mfsprg`) defined in PowerPC tablegen
as InstAlias are gated behind the ModernAs predicate as InstAlias.
Without the `+modern-aix-as` target feature enabled, the `ModernAs`
predicate is not satisfied and these instructions aliases are
unavailable. This caused assembly failures on AIX unless user manually
specify below options.
`-Xclang -target-feature -Xclang +modern-aix-as`
**Solution**:
Automatically enable the` +modern-aix-as` target feature when:
- The target triple is AIX.
- The integrated assembler is being used (default or -`fintegrated-as`).
This feature is not enabled when `-fno-integrated-as` is specified.
Co-authored-by: Riyaz Ahmad <riyaz.ahmad at ibm.com>
Commit: 2ff93109daf7ff72f384b90f4dfc9a6cfe823aed
https://github.com/llvm/llvm-project/commit/2ff93109daf7ff72f384b90f4dfc9a6cfe823aed
Author: Nishant Sachdeva <32475507+nishant-sachdeva at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/test/tools/llvm-ir2vec/bindings/ir2vec-bindings.py
M llvm/tools/llvm-ir2vec/Bindings/PyIR2Vec.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.h
Log Message:
-----------
[llvm-ir2vec] Adding BB Embeddings Map API to ir2vec python bindings (#180135)
Returns a BB Embedding Map based on the input function name
`getBBEmbMap(funcName) -> Map<BB name, Embedding>`
Commit: 8a3b830c94575a97c40c8b8f4a23f910fab5f0f5
https://github.com/llvm/llvm-project/commit/8a3b830c94575a97c40c8b8f4a23f910fab5f0f5
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF] Add target-specific relocation scanning for x86 (#178846)
Implement scanSection/scanSectionImpl for i386 and x86-64 to
* enable devirtualization of getRelExpr calls
* eliminate abstraction overhead for PLT-to-PCRel optimization, TLS
relocations
* optimize for R_X86_64_PC32 and R_X86_64_PLT32: they consist of 95%
relocations in `lld/ELF/**/*.o` files.
at the cost of more code.
TLS relocation handling is inlined into scanSectionImpl. Also,
- Remove getTlsGdRelaxSkip
- Replace TLS-optimization-specific expressions:
- R_RELAX_TLS_GD_TO_LE, R_RELAX_TLS_LD_TO_LE, R_RELAX_TLS_IE_TO_LE →
R_TPREL
- R_RELAX_TLS_GD_TO_IE → R_GOT_PC
This follows the pattern established for MIPS and PPC64 in `#163138`.
getRelExpr is simplified to only handle relocations needed for
relocateNonAlloc and relocateEH.
Average "Scan relocations" time (measured by --time-trace) decreases
from 110078 to 101585.
(
```
ruby -rjson -e 't=[]; 50.times { system("numactl -C 0-7 /t/lld1 -flavor gnu --threads=8 @response.txt -o a.out --time-trace"); t << JSON.parse(File.read("a.out.time-trace"))["traceEvents"].find { |e| e["name"] == "Scan relocations" }["dur"] }; puts "Average: #{t.sum / t.size}"'
```
)
Commit: 0675fa48f6001385faf2774d27a7413267fd736a
https://github.com/llvm/llvm-project/commit/0675fa48f6001385faf2774d27a7413267fd736a
Author: Liu Ke <liuke.gehry at bytedance.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
A llvm/test/tools/llvm-dwp/X86/prioritize_discard_path_soft_stop.test
M llvm/tools/llvm-dwp/Opts.td
M llvm/tools/llvm-dwp/llvm-dwp.cpp
Log Message:
-----------
[llvm-dwp] Adds --prioritize-discard-path to explicitly control dwp overflow order. (#180909)
Adds `--prioritize-discard-path` for llvm-dwp to explicitly specify the
path of DWO files to be prioritized for discarding when dwp overflows.
As described in [[this
RFC](https://discourse.llvm.org/t/rfc-debuginfo-mitigating-non-deterministic-dwp-overflow/89587)].
Commit: e710ff28456c1accbeb3a7e503163233bc615b16
https://github.com/llvm/llvm-project/commit/e710ff28456c1accbeb3a7e503163233bc615b16
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
Log Message:
-----------
[ELF] Simplify AArch64::relocateAlloc. NFC
Commit: 3ed9bd6df8167c9b09fc76f4667e20e4a363105c
https://github.com/llvm/llvm-project/commit/3ed9bd6df8167c9b09fc76f4667e20e4a363105c
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Use std::move to avoid copy (#180775)
Commit: 80743bd43fd5b38fedc503308e7a652e23d3ec93
https://github.com/llvm/llvm-project/commit/80743bd43fd5b38fedc503308e7a652e23d3ec93
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
A lld/test/ELF/linkerscript/discard-eh-frame.s
R lld/test/ELF/linkerscript/pt_gnu_eh_frame.s
Log Message:
-----------
[ELF] Fix /DISCARD/ .eh_frame regression after #179089
When .eh_frame is discarded while .eh_frame_hdr is not, #179089 caused a
crash for `/DISCARD/ : { *(.eh_frame) }`.
Simplify the PT_GNU_EH_FRAME condition from https://reviews.llvm.org/D30885 (2017).
Commit: 10ef3d6639bcbe0cab484cd06b6198bb8ea906ca
https://github.com/llvm/llvm-project/commit/10ef3d6639bcbe0cab484cd06b6198bb8ea906ca
Author: Aditi Medhane <aditimedhane73 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaPPC.cpp
M clang/test/Sema/builtins-bcd-format-conversion.c
Log Message:
-----------
[PowerPC] Align bcdsetsign Sema validation with other BCD builtins (#178121)
`__builtin_ppc_bcdsetsign` currently uses standalone argument checks due
to the `"t"` option. This change brings it in line with the helper-based
validation used by other BCD builtins and adds Sema coverage.
Commit: 4323b3604cf6a26afbefcdb79edbd4a9a2e0a000
https://github.com/llvm/llvm-project/commit/4323b3604cf6a26afbefcdb79edbd4a9a2e0a000
Author: pkarveti <quic_pkarveti at quicinc.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
A llvm/test/CodeGen/Hexagon/hvx-predicate-store-load.ll
Log Message:
-----------
[Hexagon] Add support for V128i1/V64i1/V32i1 predicate store/load in HVX (#180701)
Commit: db588931c5bca3f09965689b883a56abf322bbd4
https://github.com/llvm/llvm-project/commit/db588931c5bca3f09965689b883a56abf322bbd4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV] Use NSRL/NSRA for legalizing i64 shifts with P extension on RV32. (#181040)
If the shift amount might be in the range [0, 31], we can use
NSRL/NSRA to shift the i64 value to compute the lower 32 bits of
the result.
If the shift amount is >= 32, the high half of the result is all
zeros or sign bits. Otherwise it is a srl/sra of the high bits.
I've handled the constant case in ReplaceNodeResults but deferred
the non-constant case to lowerShiftRightParts. This function is
not called for constants. This gives the opportunity for DAGCombine to
optimize the SRL_PARTS/SRA_PARTS if the shift amount can be proven
to be >= 32 or < 32.
Sequences were also discussed on the P extension mailing list here
https://lists.riscv.org/g/tech-p-ext/message/861
Assisted-by: claude
Commit: 199d83b0fa72dd94d1945d107a63917b680c7a0a
https://github.com/llvm/llvm-project/commit/199d83b0fa72dd94d1945d107a63917b680c7a0a
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[doc] [C++20] [Modules] Update the doc for ABI-breaking style (#181098)
Update more information about the ABI breaking style.
Commit: f7c5316468ec077157c70252c5bf97ab50b3dbd8
https://github.com/llvm/llvm-project/commit/f7c5316468ec077157c70252c5bf97ab50b3dbd8
Author: Gergely Bálint <gergely.balint at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/Hugify.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/AArch64/bti-inline-dbg.s
A bolt/test/AArch64/bti-inline.s
A bolt/test/AArch64/bti-long-jmp-ignored.s
A bolt/test/AArch64/bti-long-jmp.s
A bolt/test/AArch64/bti-note-unused.test
A bolt/test/AArch64/bti-patch-entries.s
R bolt/test/AArch64/inline-bti-dbg.s
R bolt/test/AArch64/inline-bti.s
R bolt/test/AArch64/long-jmp-bti-ignored.s
R bolt/test/AArch64/long-jmp-bti.s
R bolt/test/AArch64/no-bti-note.test
A bolt/test/runtime/AArch64/bti-hugify.c
A bolt/test/runtime/AArch64/bti-instrumentation-ind-call.c
A bolt/test/runtime/AArch64/bti-long-jmp-plt.c
R bolt/test/runtime/AArch64/instrumentation-ind-call-bti.c
R bolt/test/runtime/AArch64/long-jmp-bti-plt.c
Log Message:
-----------
[BOLT][BTI] Refactor: move applyBTIFixup under MCPlusBuilder (#177164)
This patch moves the applyBTIFixup from LongJmp pass to MCPlusBuilder.
This refactor allows applyBTIFixup to be called from other passes
inserting indirect branches, such as:
- Hugify,
- PatchEntries.
As different passes have different information about their targets (e.g.
target BasicBlock, target Symbol, target Function), specialized versions
are created (applyBTIFixupToSymbol, applyBTIFixupToTarget), and each
calls
applyBTIFixupCommon, which implements the original logic from before.
Names of related lit tests are updated to have the "bti" prefix.
Commit: 664663cbbf7ed3e2c5d00a7d0d94f0862463d789
https://github.com/llvm/llvm-project/commit/664663cbbf7ed3e2c5d00a7d0d94f0862463d789
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rv64p.ll
Log Message:
-----------
[RISCV] Improve 2*XLEN SHL legalization with P extension. (#181056)
For an i64 shift by a constant < 32 on RV32, we can use NSRLI
with 32-ShAmt to calculate the high half of the result.
For non-constant shifts, we can use SLX and some bit tricks to
avoid branches. I wanted to use the target independent code from
TargetLowering, but it currently produces worse code.
Assisted-by: claude
Commit: aa0e429576cfb496e66f6bbe76df8982aab6b083
https://github.com/llvm/llvm-project/commit/aa0e429576cfb496e66f6bbe76df8982aab6b083
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libc/docs/full_host_build.rst
Log Message:
-----------
[libc] Rewrite "Full Host Build" instructions (#180439)
This commit restructures the full_host_build.rst documentation to better
serve two use cases:
1. Standard Building and Testing: Add a new introductory section with
simplified instructions for local development. This covers basic build
configuration, building/testing without a full sysroot, and
documentation generation.
2. Building a Sysroot: Reorganize the comprehensive sysroot setup
instructions into a clear 5-step guide:
- Step 1: Preparation (environment variables)
- Step 2: Linux Headers (copying headers into sysroot)
- Step 3: Build and Install Runtimes (cmake configuration and ninja
build)
- Step 4: Configure the Compiler Wrapper (creating clang config file)
- Step 5: Verification (testing with sample C program)
Key improvements:
- Restructure content to lead with simpler development workflow
- Replace bootstrapping build instructions with clearer sysroot
instructions
- Fix typo: "non-triivial" -> "non-trivial"
- Remove directory changes that can be confusing. All commands are run
from the root of the llvm tree
- Improve code block formatting and add complete working examples
- Make it easy to cut and paste shell commands
- Simplify "Hello, World!" example
- Simplify and clarify assumptions and requirements
- Remove obsolete notes about C++ standard library support
Tested:
* Built runtimes build and tests
* Built sysroot and verified with sample C program
* Verified document builds and looks right in VSCode browser
Commit: 5ec5701db3cfb44fd125413f9a246f6e2d80ac84
https://github.com/llvm/llvm-project/commit/5ec5701db3cfb44fd125413f9a246f6e2d80ac84
Author: sstipano <sstipano7 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/docs/HowToUseInstrMappings.rst
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/MC/MCInstrDesc.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/MCA/InstrBuilder.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.h
M llvm/lib/Target/AMDGPU/R600InstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.h
M llvm/test/TableGen/get-named-operand-idx.td
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/CodeGenMapTable.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
Reapply "[MC][TableGen] Expand Opcode field of MCInstrDesc" (#180321) (#180954)
Difference from the previous version is that this one doesn't actually
encode opcodes in matcher tables as 32 bits, but still as 16 bits.
Commit: c774bed9e6153916ff714d62515686a59722068d
https://github.com/llvm/llvm-project/commit/c774bed9e6153916ff714d62515686a59722068d
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[doc] [C++20] [Modules] Fix StandardCPlusPlusModules.rst failure (#181101)
Commit: 5fe60e91e509b0ec574c80ac470a13fb0f277670
https://github.com/llvm/llvm-project/commit/5fe60e91e509b0ec574c80ac470a13fb0f277670
Author: David Green <david.green at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
Log Message:
-----------
[SDAG] Copy flags in convertMask when legalizing vselect/setcc (#180979)
This helps keep the flags around, making sure we correctly lower a
vector setcc with nnan. Fixes a regression from #180462.
Commit: 36dbe537c4ab22f638e2f55e48d6af58414a6d3e
https://github.com/llvm/llvm-project/commit/36dbe537c4ab22f638e2f55e48d6af58414a6d3e
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/clmul-scalable.ll
Log Message:
-----------
[AArch64][ISel] Add clmul to pmullb/t lowering (#180568)
Commit: efab96c6e9175af88666f6d8d7f7bf4c327d71b6
https://github.com/llvm/llvm-project/commit/efab96c6e9175af88666f6d8d7f7bf4c327d71b6
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
Log Message:
-----------
[AMDGPU] Add missing assert requirement to unit test (#181102)
`-debug-only` is only available when asserts are enabled. The test
currently fails on builds without asserts.
Commit: ddaa590ace950e62014e7628336354a924d407db
https://github.com/llvm/llvm-project/commit/ddaa590ace950e62014e7628336354a924d407db
Author: David Stenberg <david.stenberg at ericsson.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[cross-project-tests] Fix lldb version regex (#180204)
The get_lldb_version_string function in the lit config used a greedy
regex that could, if using a lldb binary built with git revision output,
using a SHA that starts with a digit, result in the first digits of the
SHA being interpreted as the lldb version.
For example, if lldb emits:
$ lldb --version
lldb version 23.0.0git \
(https://github.com/dstenb/llvm-project.git revision \
7e565729e33d19d468520e7bfbb8b23a918adc9c)
the version would be interpreted as 7 rather than 23.0.0:
Marking some LLDB LLVM data-formatter tests as unsupported: using
version 7 whereas a version >= 1900 is required
(That check should compare towards 19.0.0, but that issue is addressed
in an other patch.)
Resolve this by using a non-greedy matcher.
Also, include a drive-by fix of some typos.
Commit: 389c1ea44b0fbe295ebf816c8839fd2d839ffda8
https://github.com/llvm/llvm-project/commit/389c1ea44b0fbe295ebf816c8839fd2d839ffda8
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
Log Message:
-----------
[CIR][NFC] Group related "creation" helpers + add comments (#180921)
Commit: ce5fb1b501f4713665561740b9df67293bf94767
https://github.com/llvm/llvm-project/commit/ce5fb1b501f4713665561740b9df67293bf94767
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
R clang/test/CIR/CodeGenBuiltins/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
Log Message:
-----------
[CIR][NFC] Consolidate AArch64 tests (#180919)
As initiated in #180597 (*), ensure that CIR tests reuse the default
Clang lowering tests. To this end, consolidate the AArch64 tests for
unconstrained -fullfp16 builtins into:
* clang/test/CodeGen/AArch64/neon/fullfp16.c
(*) See also https://github.com/llvm/llvm-project/issues/179952 for
more context.
Commit: f6f0503673b746a2e43a995006ced39c5c7e412e
https://github.com/llvm/llvm-project/commit/f6f0503673b746a2e43a995006ced39c5c7e412e
Author: fogsong233 <fogsong233 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/Parse/ParseTentative.cpp
A clang/test/Interpreter/access.cpp
M clang/test/Interpreter/disambiguate-decl-stmt.cpp
Log Message:
-----------
[clang-repl] Fix disambiguation of out-of-line member with private types (#178842)
This patch fixes a bug in clang-repl where out-of-line member function
definitions were incorrectly identified as statements when they involved
private type aliases.
The issue occurred because `isCXXDeclarationStatement` would trigger
immediate access checks during tentative parsing. Since the context of
an out-of-line definition isn't fully established during this phase,
Sema would incorrectly flag private members as inaccessible, causing
the parser to fail the declaration check and fall back to statement
parsing.
Changes:
- In `isCXXDeclarationStatement`, use `TentativeParsingAction` to
ensure the token stream is fully restored.
- Use `SuppressAccessChecks` during the tentative disambiguation phase
to prevent premature access errors.
- Ensure that formal access verification still occurs during the
actual parsing phase in `ParseDeclarationOrFunctionDefinition`.
- Add tests and resolve a FIXME in
clang/test/Interpreter/disambiguate-decl-stmt.cpp.
Fixes llvm#164885.
See also jank-lang/jank#609.
Commit: c6bb1afbc5086c3f483921c575262bd95c346e5b
https://github.com/llvm/llvm-project/commit/c6bb1afbc5086c3f483921c575262bd95c346e5b
Author: Ayush Kumar Gaur <132849148+Ayush3941 at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/test/Dialect/Math/canonicalize.mlir
Log Message:
-----------
[mlir][Math] Fix IPowIOp folding crash for i1 (#179684)
Fixes #179380: an assertion/crash in math.ipowi constant folding when the result type is i1.
`IPowIOp::fold` constructed `APInt(width=1, val=1, isSigned=true)`. Signed i1 cannot represent +1 (range [-1, 0]), so APInt asserts (isIntN).
This commit deactivates folding for `i1`.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: b20d7d0278059735bb8eb538ac51e13b58895c1a
https://github.com/llvm/llvm-project/commit/b20d7d0278059735bb8eb538ac51e13b58895c1a
Author: AidinT <at.aidin at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/include/mlir/Interfaces/CMakeLists.txt
A mlir/include/mlir/Interfaces/DialectFoldInterface.td
M mlir/include/mlir/Interfaces/FoldInterfaces.h
M mlir/lib/IR/CMakeLists.txt
Log Message:
-----------
[MLIR][IR] Convert `DialectFoldInterface` to ODS (#180833)
This PR converts `DialectFoldInterface` to ODS.
Commit: 6117bdd90324af22a920d56d673acff21342a1cb
https://github.com/llvm/llvm-project/commit/6117bdd90324af22a920d56d673acff21342a1cb
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/ARM/stlf-vector-extract.ll
M llvm/test/CodeGen/X86/avx512-shuffles/shuffle-chained-bf16.ll
Log Message:
-----------
[DAGCombiner] Fix subvector extraction index for big-endian STLF (#180795)
This PR fixes a big-endian regression in `ForwardStoreValueToDirectLoad`
where the wrong subvector was being extracted. In big-endian, memory
offset 0 corresponds to the high bits, so the extraction index needs to
be adjusted.
As suggested by @KennethHilmersson, calculate the extraction index as
the difference between the number of elements in the intermediate vector
and the load vector when in big-endian mode.
Special thanks to Kenneth Hilmersson for providing the fix logic and the
ARM regression test.
https://github.com/llvm/llvm-project/pull/172523#issuecomment-3878065191
https://github.com/llvm/llvm-project/pull/172523#issuecomment-3879575092
Commit: d49060a72d3fcfea210b293dcbca008b74908614
https://github.com/llvm/llvm-project/commit/d49060a72d3fcfea210b293dcbca008b74908614
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/test/API/functionalities/data-formatter/compactvectors/TestCompactVectors.py
Log Message:
-----------
[lldb][test] TestCompactVectors.py: skip for older Clang
Was failing on the Clang 17 green dragon matrix bot:
```
/Applications/Xcode_26.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/vecLib.framework/Headers/Sparse/SolveImplementationTyped.h:678:9: error: use of undeclared identifier '__builtin_verbose_trap'
07:28:37 678 | __builtin_verbose_trap("unsupported", "LU factorization is not supported on this OS version");
07:28:37 | ^
07:28:37 /Applications/Xcode_26.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/vecLib.framework/Headers/Sparse/SolveImplementationTyped.h:888:95: error: unrecognized platform name visionOS
07:28:37 888 | if(__builtin_available(macOS 15.5, macCatalyst 18.5, iOS 18.5, watchOS 11.5, tvOS 18.5, visionOS 2.5, *)) {
07:28:37 |
```
Commit: 22985fe1f9395e3d3d83879b82158a5cc4fe7759
https://github.com/llvm/llvm-project/commit/22985fe1f9395e3d3d83879b82158a5cc4fe7759
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
Log Message:
-----------
[clang][Builtins][ARM] NFC updates in ARM.cpp (#180966)
Updates the logic in `CodeGenFunction::EmitAArch64BuiltinExpr` so that
we always start with the general code and we only fall-back to
specialised cases (i.e. `switch` stmts) for intrinsics for which the
general code does no apply.
BEFORE (only high-level:
```cpp
Value *CodeGenFunction::EmitAArch64BuiltinExpr() {
(...)
/// 1. SWITCH STMT FOR NON-OVERLOADED INTRINSIS
switch (BuiltinID) {
default break:
case NEON::BI__builtin_neon_vabsh_f16:
(...)
}
/// 2. GENERAL CODE
Builtin = findARMVectorIntrinsicInMap(AArch64SIMDIntrinsicMap, BuiltinID,
AArch64SIMDIntrinsicsProvenSorted);
if (Builtin)
return EmitCommonNeonBuiltinExpr(
Builtin->BuiltinID, Builtin->LLVMIntrinsic, Builtin->AltLLVMIntrinsic,
Builtin->NameHint, Builtin->TypeModifier, E, Ops,
/*never use addresses*/ Address::invalid(), Address::invalid(), Arch);
if (Value *V = EmitAArch64TblBuiltinExpr(*this, BuiltinID, E, Ops, Arch))
return V;
/// 3. SWITCH STMT FOR THE REMAINING INTRINSIS
switch (BuiltinID) {
default return nullptr:
case NEON::BI__builtin_neon_vbsl_v:
(...)
}
}
```
AFTER:
```cpp
Value *CodeGenFunction::EmitAArch64BuiltinExpr() {
/// 1. GENERAL CODE
Builtin = findARMVectorIntrinsicInMap(AArch64SIMDIntrinsicMap, BuiltinID,
AArch64SIMDIntrinsicsProvenSorted);
if (Builtin)
return EmitCommonNeonBuiltinExpr(
Builtin->BuiltinID, Builtin->LLVMIntrinsic, Builtin->AltLLVMIntrinsic,
Builtin->NameHint, Builtin->TypeModifier, E, Ops,
/*never use addresses*/ Address::invalid(), Address::invalid(), Arch);
if (Value *V = EmitAArch64TblBuiltinExpr(*this, BuiltinID, E, Ops, Arch))
return V;
/// 2. SWITCH STMT FOR NON-OVERLOADED INTRINSIS
switch (BuiltinID) {
default break:
case NEON::BI__builtin_neon_vabsh_f16:
(...)
}
/// 3. SWITCH STMT FOR THE REMAINING INTRINSIS
switch (BuiltinID) {
default return nullptr:
case NEON::BI__builtin_neon_vbsl_v:
(...)
}
}
```
In addition:
* Remove `vaddq_p128+ vcvtq_high_bf16_f32 + vcvtq_low_bf16_f32` from
`AArch64SIMDIntrinsicMap`. Those were not required
there (it's an array for intrinsics for which the general code-gen
works, but that's not the case for those).
* Extracted the declaration of `Int` so that it can be re-used.
Commit: a43780973dfa7e9861a62b269eaaf00863335032
https://github.com/llvm/llvm-project/commit/a43780973dfa7e9861a62b269eaaf00863335032
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/include/__filesystem/path.h
M libcxx/include/iomanip
Log Message:
-----------
[libc++][NFC] Use std::quoted in fs::path and remove the private __quoted (#181043)
We've provided `std::filesystem` before C++17 in the past, but we don't
anymore, so we can use `std::quoted`.
Commit: 847558e7feb4647f82cd3846ec4eef70b0b24f82
https://github.com/llvm/llvm-project/commit/847558e7feb4647f82cd3846ec4eef70b0b24f82
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/include/__filesystem/path.h
Log Message:
-----------
[libc++][NFC] use void_t instead of a custom implementation in fs::path (#181050)
Commit: 6420099bcc62a09e002e500870216b2dd9d256a9
https://github.com/llvm/llvm-project/commit/6420099bcc62a09e002e500870216b2dd9d256a9
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/LoongArch/lasx/vxi1-masks.ll
M llvm/test/CodeGen/X86/insertelement-zero.ll
M llvm/test/CodeGen/X86/pr134602.ll
M llvm/test/CodeGen/X86/pr173924.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-512.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-512.ll
M llvm/test/CodeGen/X86/vector-fshr-512.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-512.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
M llvm/test/CodeGen/X86/vector-rotate-512.ll
Log Message:
-----------
[SelectionDAG] Make sure demanded lanes for AND/MUL-by-zero are frozen (#180727)
DAGCombiner can fold a chain of INSERT_VECTOR_ELT into a vector AND/OR
operation. This patch adds protection to avoid that we end up making the
vector more poisonous by freezing the source vector when the elements
that should be set to 0/-1 may be poison in the source vector.
The patch also fixes a bug in SimplifyDemandedVectorElts for
MUL/MULHU/MULHS/AND that could result in making the vector more
poisonous. Problem was that we skipped demanding elements from Op0 that
were known to be zero in Op1. But that could result in elements being
simplified into poison when simplifying Op0, and then the result would
be poison and not zero after the MUL/MULHU/MULHS/AND. The solution is to
defensively make sure that we demand all the elements originally
demanded also when simplifying Op0.
This bugs were found when analysing the miscompiles in
https://github.com/llvm/llvm-project/issues/179448
Main culprit in #179448 seems to have been the bug in DAGCombiner. The
bug in SimplifyDemandedVectorElts surfaced when fixing the DAGCombiner,
as that fix typically introduce the (AND (FREEZE x), y) pattern that
wasn't handled correctly in SimplifyDemandedVectorElts.
Also fixes #180409.
Also fixes #176682.
Commit: 8d63e8995b91c707dee41983f0feac8dddc4817e
https://github.com/llvm/llvm-project/commit/8d63e8995b91c707dee41983f0feac8dddc4817e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/include/__functional/hash.h
Log Message:
-----------
[libc++] Avoid including pair in <__functional/hash.h> (#179635)
We already have `_PairT`, which is just a pair of two `size_t`s, so we
might as well use that throughout the file. This avoids the `pair`
include altogether, reducing header parse times a bit in some cases.
Commit: 907eb11cc128630c52cd2191b925873b6ee56d6e
https://github.com/llvm/llvm-project/commit/907eb11cc128630c52cd2191b925873b6ee56d6e
Author: Volodymyr Turanskyy <vturanskyy at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/src/stdio/baremetal/CMakeLists.txt
A libc/src/stdio/baremetal/fflush.cpp
A libc/src/stdio/baremetal/file_internal.cpp
M libc/src/stdio/baremetal/file_internal.h
M libc/src/stdio/baremetal/getc.cpp
A libc/src/stdio/baremetal/ungetc.cpp
M libc/src/stdio/baremetal/vfscanf_internal.h
Log Message:
-----------
[libc] Add getc, ungetc, fflush to enable libc++ iostream on baremetal (#175530)
After https://github.com/llvm/llvm-project/pull/168931 landed getc,
ungetc and fflush are still missing at link time while trying to make
libc++ std::cout work with LLVM libc on baremetal.
ungetc implementation is very minimal only to cover the current standard
streams implementation from the patch above.
Commit: 9eed43b3868c64d3b83c91fe9600862aa2c447ef
https://github.com/llvm/llvm-project/commit/9eed43b3868c64d3b83c91fe9600862aa2c447ef
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/examples/python/templates/scripted_frame_provider.py
Log Message:
-----------
[lldb][doc] Improve documentation for `ScriptedFrameProvider` (#179996)
* Provide a minimal, working example
* Document the instance variables
* Remove mention of `thread.SetScriptedFrameProvider` (which doesn't exist)
* add missing `@staticmethod` annotation
* fix rendering of bullet-pointed lists
Commit: ce6dd9ca1912c63ad947523eee173ea78121cceb
https://github.com/llvm/llvm-project/commit/ce6dd9ca1912c63ad947523eee173ea78121cceb
Author: David Green <david.green at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/switch-cases-to-branch-and.ll
Log Message:
-----------
[AArch64][GlobalISel] Update and regnerate switch-cases-to-branch-and.ll. NFC
Commit: db26124d80b3550be4cf95ca5b402671c5a29797
https://github.com/llvm/llvm-project/commit/db26124d80b3550be4cf95ca5b402671c5a29797
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
A llvm/test/MC/AArch64/armv9.7-scr2.s
Log Message:
-----------
[AArch64]Add SCR2_EL3 system register (#180918)
The link to the system register:
https://developer.arm.com/documentation/111107/2025-12/AArch64-Registers/SCR2-EL3--Secure-Configuration-Register?lang=en
Commit: 3c8016c6371e36972f1b2b6e47a017d6f3bf9961
https://github.com/llvm/llvm-project/commit/3c8016c6371e36972f1b2b6e47a017d6f3bf9961
Author: Guy David <guyda96 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/vec-combine-trunc-dup-ext.ll
Log Message:
-----------
[AArch64] Eliminate XTN/SSHLL for vector splats (#180913)
Combine:
sext(duplane(insert_subvector(undef, trunc(X), 0), idx))
Into:
duplane(X, idx)
This avoids XTN/SSHLL instruction sequences that occur when splatting
elements from boolean vectors after type legalization, which is common
when using shufflevector with comparison results.
Commit: 79ec0ce5d8b72d26bb25c48083b693b15b53da55
https://github.com/llvm/llvm-project/commit/79ec0ce5d8b72d26bb25c48083b693b15b53da55
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/constant.ll
Log Message:
-----------
[MLIR][LLVMIR] Add support for importing ConstantInt/FP vector splats. (#180946)
Updates LLVM IR importing to remove the assumption that
ConstantInt/ConstantFP are always scalar.
Commit: 8111a6cb61ee7700be33c341078cccfd673f625e
https://github.com/llvm/llvm-project/commit/8111a6cb61ee7700be33c341078cccfd673f625e
Author: David Green <david.green at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/qmovn.ll
M llvm/test/CodeGen/AArch64/qshrn.ll
Log Message:
-----------
[AArch64][GlobalISel] Add some extra sqxtn test coverage. NFC
Commit: 838be78e44cd1f70006eb508bfc925e3e56aac03
https://github.com/llvm/llvm-project/commit/838be78e44cd1f70006eb508bfc925e3e56aac03
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/clmul-fixed.ll
Log Message:
-----------
[AArch64][ISel] Lower fixed-width i64 vector CLMUL intrinsics (#178876)
NEON's PMULL/PMULL2 can be used and its lower bits taken to lower CLMUL
intrinsics, so long as +aes is present.
Commit: 82447b92c37842b33e708146ba4ec794bb9fae98
https://github.com/llvm/llvm-project/commit/82447b92c37842b33e708146ba4ec794bb9fae98
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
M clang/test/CIR/CodeGen/atomic-scoped.c
Log Message:
-----------
[CIR] Add cir.atomic.xchg to target lowering (#180744)
This patch adds the `cir.atomic.xchg` operation to the TargetLowering
pass. The synchronization scope attached to the operation will be
canonicalized there.
Commit: 760f70711a7a6347aaa85df7d5e398f373ccac16
https://github.com/llvm/llvm-project/commit/760f70711a7a6347aaa85df7d5e398f373ccac16
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
Log Message:
-----------
[MLIR][XeGPU] Use the `setupDpasLayout` utility for dpas layout propagation (#180937)
Commit: 47331ae73555b68535546170a76de2829b00d8a2
https://github.com/llvm/llvm-project/commit/47331ae73555b68535546170a76de2829b00d8a2
Author: Artemiy Bulavin <artemiyb at graphcore.ai>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/misc-other.mlir
Log Message:
-----------
Fix ownership based deallocation pass crash (#179357)
The `OwnershipBasedBufferDeallocation` pass crashes when the IR contains
memrefs that are live in the same Block but are defined in different
Blocks. During this pass, live memrefs in a given block are sorted
according to the comparison function `ValueComparator`. This causes an
assertion to be triggered when sorting memref values using
`ValueComparator` as the comparison function. The assertion triggered is
found in `Operation::isBeforeInBlock`, which requires `this` and `other`
to reside in the same block. (See the definition
[here](https://github.com/llvm/llvm-project/blob/main/mlir/lib/IR/Operation.cpp#L385-L386).)
The fix is to handle values from different blocks in the
`ValueComparator` by sorting based on Block number if the compared ops
aren't in the same block. While `computeBlockNumber` is intended for
debugging and error messages, it is a convenient utility that can
provide a sufficient weak ordering for `llvm::sort` while handling
operations from different parent blocks. I'm not aware of another
ordering relation for Blocks that would be appropriate as well as cheap
to compute here.
I've added a test to exercise this that would fail otherwise. As I was
already editing the test file, I thought I would refactor it according
to the recommendations of the [MLIR Testing
Guide](https://mlir.llvm.org/getting_started/TestingGuide/#contributor-guidelines)
Fixes #137342
Fixes #116363
Commit: 0c70489533fde533ef632333acf589ea522913b8
https://github.com/llvm/llvm-project/commit/0c70489533fde533ef632333acf589ea522913b8
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
Log Message:
-----------
[NFC][AMDGPU] Remove unused/unimplemented `getWavesPerEU` variants (#181131)
Commit: 4fef5e4b4c3c0855a37c813e73da6ef641cb638a
https://github.com/llvm/llvm-project/commit/4fef5e4b4c3c0855a37c813e73da6ef641cb638a
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
Log Message:
-----------
[NFC][AMDGPU] Remove unused `getLDSSize` (#181133)
`getLDSSize` becomes unused after removing `getWavesPerEU` from the
attributor in https://github.com/llvm/llvm-project/pull/181131
Commit: 2223b931c5c350cdac38e377f166d69760a15676
https://github.com/llvm/llvm-project/commit/2223b931c5c350cdac38e377f166d69760a15676
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/constant-fold-commutative-and.ll
Log Message:
-----------
[VPlan] Introduce m_c_Logical(And|Or) (#180048)
Commit: 75eecd27eb432ef8085c2f7733d067de80afa894
https://github.com/llvm/llvm-project/commit/75eecd27eb432ef8085c2f7733d067de80afa894
Author: RattataKing <amilywu2 at amd.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/include/mlir-c/Support.h
M mlir/include/mlir/Bindings/Python/Globals.h
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/CAPI/IR/Support.cpp
Log Message:
-----------
[MLIR][Python] Remove partial LLVM APIs in python bindings (6/6) (#180986)
This PR completed work from
https://github.com/llvm/llvm-project/pull/178290.
Switched the last few python bindings that still relied on LLVM over to
the C API, and dropped `LLVMsupport` dependency from MLIR cmake.
Commit: f32bd391ec6917c269a76d9d8f27079abea9e559
https://github.com/llvm/llvm-project/commit/f32bd391ec6917c269a76d9d8f27079abea9e559
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[Hexagon] Update maintainers (#177935)
It looks like SundeepKushwaha hasn't been active in LLVM for the past
year, so move them to the inactive maintainers list.
Instead add androm3da, iajbar and aankit-ca as Hexagon maintainers.
Commit: dcb38a4ef788be1276ac1aee5b48a400dd18013f
https://github.com/llvm/llvm-project/commit/dcb38a4ef788be1276ac1aee5b48a400dd18013f
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[ReleaseNotes] Create subheader for LLDB/FreeBSD (#181000)
Since there will be many changes to LLDB on FreeBSD support in 23,
create subheaders for FreeBSD to separate related changes into relevant
subheaders.
This also adds #178069 and #178306 in the release note.
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: 4167b285e228ee1cfff77f30eee66cbc7b4dd3db
https://github.com/llvm/llvm-project/commit/4167b285e228ee1cfff77f30eee66cbc7b4dd3db
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/X86/store-merge.ll
Log Message:
-----------
[AggressiveInstCombine] Create zext during store merge (#181125)
The top extracted value can include shifted-in zero bits. In that case
we should emit a zext before the new store.
Fixes https://github.com/llvm/llvm-project/issues/181117.
Commit: f35c0cc61b2489fdb1af7ae622dae168943154e0
https://github.com/llvm/llvm-project/commit/f35c0cc61b2489fdb1af7ae622dae168943154e0
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/test/API/driver/batch_mode/TestBatchMode.py
Log Message:
-----------
[lldb][test] TestBatchMode.py: don't load lldbinit in --batch test (#181128)
This test was failing locally for me because I command script import
statements in my `~/.lldibinit` which print to `stdout`. E.g.,:
```
Traceback (most recent call last):
File "/Users/michaelbuch/Git/llvm-worktrees/main/lldb/test/API/driver/batch_mode/TestBatchMode.py", line 33, in test_batch_mode_no_commands_quits
self.assertEqual(proc.stdout, "")
AssertionError: 'The "bt" python commands have been instal[326 chars]p.\n' != ''
- The "bt" python commands have been installed and are ready for use.
- The "sd" python command has been installed and is ready for use.
- The "expr" python aliases have been installed and are ready for use.
- "malloc_info", "ptr_refs", "cstr_refs", "find_variable", and "objc_refs" commands have been installed, use the "--help" options on these commands for detailed help.
```
I guess we could have a separate test for `--batch` with a test-local
`.lldibinit` that confirms we actually load the lldbinit before
quitting. Not sure how much value that would be. For now I just added
the `--no-lldbinit` to the test
Commit: cb6dd90d28717017e2ce088e8ea8230656177aa2
https://github.com/llvm/llvm-project/commit/cb6dd90d28717017e2ce088e8ea8230656177aa2
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/unittests/Target/MemoryTest.cpp
Log Message:
-----------
[lldb][test] Make MemoryTest use the threadsafe gtest death-test style (#181127)
The `ASSERT_DEBUG_DEATH` in `MemoryTest` would occasionally crash on
macOS CI with following stacktrace:
```
06:53:31 Death test: { read_results = process_sp->ReadMemoryRanges(ranges, buffer); }
06:53:31 Result: died but not with expected error.
06:53:31 Expected: contains regular expression "read more than requested bytes"
06:53:31 Actual msg:
06:53:31 [ DEATH ] 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):
06:53:31 [ DEATH ] 0 TargetTests 0x000000010055bb80 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
06:53:31 [ DEATH ] 1 TargetTests 0x0000000100559778 llvm::sys::RunSignalHandlers() + 64
06:53:31 [ DEATH ] 2 TargetTests 0x000000010055c668 SignalHandler(int, __siginfo*, void*) + 344
06:53:31 [ DEATH ] 3 libsystem_platform.dylib 0x0000000196993744 _sigtramp + 56
06:53:31 [ DEATH ] 4 libsystem_trace.dylib 0x00000001966b5180 _os_log_preferences_refresh + 36
06:53:31 [ DEATH ] 5 libsystem_trace.dylib 0x00000001966b5740 os_signpost_enabled + 300
06:53:31 [ DEATH ] 6 TargetTests 0x0000000100500930 llvm::SignpostEmitter::startInterval(void const*, llvm::StringRef) + 68
06:53:31 [ DEATH ] 7 TargetTests 0x0000000100782c24 lldb_private::Timer::Timer(lldb_private::Timer::Category&, char const*, ...) + 168
06:53:31 [ DEATH ] 8 TargetTests 0x000000010069cd44 lldb_private::Process::ReadMemoryFromInferior(unsigned long long, void*, unsigned long, lldb_private::Status&) + 100
06:53:31 [ DEATH ] 9 TargetTests 0x000000010069cf68 lldb_private::Process::ReadMemoryRanges(llvm::ArrayRef<lldb_private::Range<unsigned long long, unsigned long>>, llvm::MutableArrayRef<unsigned char>) + 300
06:53:31 [ DEATH ] 10 TargetTests 0x000000010045482c MemoryDeathTest_TestReadMemoryRangesReturnsTooMuch_Test::TestBody() + 1748
```
By default, Google death-tests execute the code under test in a
sub-process (e.g., via `fork`, see [official
docs](https://google.github.io/googletest/reference/assertions.html#death)).
However, the os_log APIs are not safe across forks, and using the os_log
handles of a parent process is not guaranteed to work (read undefined).
This is why we sometimes non-deterministically crash.
On Darwin we compile with signposts enabled, and there's no mechanism of
avoiding calling into os_log once you've compiled with them enabled
(e.g., in our case we just check the runtime `os_signpost_enabled`). And
we seemingly seem to call into the signpost infrastructure from
arbitrary points in LLDB (wherever we use `Timer`s for example).
GoogleTest provides an alternative mechanism to spawn the death tests.
It "re-executes the unit binary but only runs the death tests". This
should avoid sharing the os_log handles with the parent. This mode is
called "threadsafe".
This patch sets this style for the only 2 death-tests currently in the
LLDB test-suite.
Since this is quite the foot-gun we should disable it for the entire
LLDB unit-test suite (or rethink the way we set up the signposts for
tests/llvm/etc.). But to make CI less flakey for now, do this for only
the tests in question.
Commit: 74bd92d6e2e5d8f1c541564bfc51d423001ba033
https://github.com/llvm/llvm-project/commit/74bd92d6e2e5d8f1c541564bfc51d423001ba033
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
R llvm/test/Transforms/IndVarSimplify/scev-update-loop-opt.ll
Log Message:
-----------
Revert "[IndVarSimplify] Add safety check for getTruncateExpr in genLoopLimit (#172234)"
This reverts commit 4f551b55aeb316cd2d8f8f911908ea5bd4ced16b.
This change reformatted the file.
Commit: 5ce73627973e2303779af850468b846ecb67166d
https://github.com/llvm/llvm-project/commit/5ce73627973e2303779af850468b846ecb67166d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/utils/ci/lnt/run-benchmarks
Log Message:
-----------
[libc++] Disable commit information in LNT runs
For now, production instances of LNT don't accept strings longer than
256 characters: they crash above that. In order to unblock uploading
results to LNT as soon as possible, disable that information for now.
Note that the commit SHA is still included in the run information, so
it is still possible to correlate orders back to their commit.
Commit: 49ef440525f3902bb62ca5c198f1a1309fede033
https://github.com/llvm/llvm-project/commit/49ef440525f3902bb62ca5c198f1a1309fede033
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/test/API/functionalities/disassembler-variables/Makefile
M lldb/test/API/functionalities/module_cache/bsd/Makefile
M lldb/test/API/linux/sepdebugsymlink/Makefile
Log Message:
-----------
[lldb] replace usage of $(RM) in Makefile (#180755)
This patch replaces the usages of `$(RM)` with cross platform `$(call
RM,...)` calls which was added in
https://github.com/llvm/llvm-project/pull/180224.
Commit: 8e1d5ec534a68a5a1c0667dfe9e4333143e07888
https://github.com/llvm/llvm-project/commit/8e1d5ec534a68a5a1c0667dfe9e4333143e07888
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
R llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
R llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
R llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
R llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
R llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vplan-riscv-vector-reverse.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/lit.local.cfg
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve-tail-folding-forced.ll
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve2-histcnt-vplan.ll
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-printing.ll
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/widen-call-with-intrinsic-or-libfunc.ll
A llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/lit.local.cfg
A llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
A llvm/test/Transforms/LoopVectorize/VPlan/RISCV/lit.local.cfg
A llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll
A llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
A llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
A llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
A llvm/test/Transforms/LoopVectorize/VPlan/X86/lit.local.cfg
A llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
A llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
A llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-chains-vplan.ll
A llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
A llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
A llvm/test/Transforms/LoopVectorize/VPlan/interleave-and-scalarize-only.ll
A llvm/test/Transforms/LoopVectorize/VPlan/lit.local.cfg
A llvm/test/Transforms/LoopVectorize/VPlan/phi-with-fastflags-vplan.ll
A llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-dot-printing.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-force-tail-with-evl.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-iv-transforms.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-predicate-switch.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-outer-loop.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge-vf1.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-stress-test-no-explict-vf.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-unused-interleave-group.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-widen-struct-return.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan_hcfg_stress_test.ll
R llvm/test/Transforms/LoopVectorize/X86/vplan-vp-intrinsics.ll
R llvm/test/Transforms/LoopVectorize/conditional-scalar-assignment-vplan.ll
R llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
R llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
R llvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
R llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
R llvm/test/Transforms/LoopVectorize/phi-with-fastflags-vplan.ll
R llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
R llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
R llvm/test/Transforms/LoopVectorize/vplan-force-tail-with-evl.ll
R llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
R llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
R llvm/test/Transforms/LoopVectorize/vplan-print-after-all.ll
R llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
R llvm/test/Transforms/LoopVectorize/vplan-printing-metadata.ll
R llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
R llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
R llvm/test/Transforms/LoopVectorize/vplan-printing.ll
R llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
R llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
R llvm/test/Transforms/LoopVectorize/vplan-stress-test-no-explict-vf.ll
R llvm/test/Transforms/LoopVectorize/vplan-unused-interleave-group.ll
R llvm/test/Transforms/LoopVectorize/vplan-widen-struct-return.ll
R llvm/test/Transforms/LoopVectorize/vplan_hcfg_stress_test.ll
Log Message:
-----------
[LV] Add LoopVectorize/VPlan subdirectory for VPlan printing tests. (#180611)
Add a new VPlan subdirectory as common place for tests checking VPlan
printing. It contains a lit.local.cfg that only runs the tests when
assertions are enabled.
This removes the need to add explicit REQUIRES: asserts to VPlan tests.
PR: https://github.com/llvm/llvm-project/pull/180611
Commit: a1d7cda1d7ca4983e02727f589952b02626d2dc8
https://github.com/llvm/llvm-project/commit/a1d7cda1d7ca4983e02727f589952b02626d2dc8
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/include/mlir-c/Dialect/Transform.h
M mlir/include/mlir-c/IR.h
M mlir/include/mlir-c/Interfaces.h
M mlir/include/mlir/Bindings/Python/IRCore.h
A mlir/include/mlir/CAPI/Dialect/Transform.h
M mlir/include/mlir/CAPI/Interfaces.h
M mlir/lib/Bindings/Python/DialectTransform.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
A mlir/lib/Bindings/Python/IRInterfaces.h
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/Rewrite.h
M mlir/lib/CAPI/Dialect/Transform.cpp
M mlir/lib/CAPI/IR/IR.cpp
M mlir/lib/CAPI/Interfaces/Interfaces.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/_mlir_libs/__init__.py
M mlir/python/mlir/dialects/ext.py
A mlir/test/python/dialects/transform_op_interface.py
Log Message:
-----------
[MLIR][Python] Impl XOpInterface(s) from Python, with X=Transform and X=MemoryEffects (#176920)
Provides the infrastructure for implementing and late-binding
OpInterfaces from Python.
* On the mlir-c API declaration side, each `XOpInterface` has a callback
struct, with a callback for each method and a userdata member (provided
as an arg to each method), and a
`mlirXOpInterfaceAttachFallbackModel(ctx, op_name, callbacks)` func.
* This CAPI is implemented by defining a subclass of
`XOpInterface::FallbackModel` that holds the callback struct and has
each method call the corresponding callback (with userdata as an arg).
Given a callback struct, a new `FallbackModel` is created and attached,
i.e. late bound, to the named op. (MLIR's interface infrastructure is
such that the thus registered `FallbackModel` will be returned in case
the op gets cast to the `XOpInterface`.)
* On the Python side, we expose a stand-in `XOpInterface` base class
which has one (class)method: `XOpInterface.attach(cls, op_name, ctx)`.
Python users subclass this class (`class MyInterfaceImpl(XOpInterface):
...`) and implement the interface's methods (with the right names and
signatures). The user calls `attach` on the subclass
(`MyInterfaceImpl.attach("my_dialect.my_op", ctx)`) which prepares the
callbacks struct _with userdata set to the subclass_ (as we use it to
lookup methods). These callbacks (and userdata) are then registered as
an `XOpInterface::FallbackModel` by
`mlirXOpInterfaceAttachFallbackModel(...)`. From then on the Python
methods will be used to respond to calls to the interface methods
(originating in C++).
This PR enables implementing the TransformOpInterface and the
MemoryEffectsOpInterface, both of which are required for making an op
into a transform op.
Everything besides the above linked code is there to facilitate exposing
the interfaces: the right types for the arguments of the methods are
exposed as are functions/methods for manipulating these arguments (e.g.
specifying side effects on `OpOperand`s and `OpResult`s and being able
to access and set the transform handles associated with args and
results).
Commit: 6da74dded02d9fc06fab99fc8fb99a3e6a1f21c3
https://github.com/llvm/llvm-project/commit/6da74dded02d9fc06fab99fc8fb99a3e6a1f21c3
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/atomic-scoped.c
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/IR/atomic.cir
Log Message:
-----------
[CIR] Add scoped atomic compare-and-exchange (#180412)
This patch adds synchronization scopes to the atomic
compare-and-exchange operation.
Commit: 4c08780e7c5b7db8ab8c888fe7f97039b44f3c77
https://github.com/llvm/llvm-project/commit/4c08780e7c5b7db8ab8c888fe7f97039b44f3c77
Author: Leonard Grey <leonard at leonardgrey.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
A lldb/test/Shell/SymbolFile/NativePDB/local-constant.test
Log Message:
-----------
[LLDB][NativePDB] Add local constant support (#180612)
This is mostly to support Swift `let`, but I found a way to get MSVC to
emit a local `S_CONSTANT` (see test).
I saw the note about `MakeConstantLocalExpression` at
https://github.com/llvm/llvm-project/blob/2e34fecf02962e4c8477ca88cc5ac9386a0f76bb/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp#L2177
but couldn't repro with local or global (emitted as `S_LDATA32` in both
cases).
Commit: 5fef36767fe8d852a65ef3a4c020c677bc80799b
https://github.com/llvm/llvm-project/commit/5fef36767fe8d852a65ef3a4c020c677bc80799b
Author: Leonard Grey <leonard at leonardgrey.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp
Log Message:
-----------
[LLDB][NativePDB] Use pointer and not pointee size for pointer constants (#180987)
Follow-up from
https://github.com/llvm/llvm-project/pull/180612#pullrequestreview-3780142672
This was introduced in 2af3416618e6 and not fundamentally changed since.
The review (https://reviews.llvm.org/D54452) doesn't mention any
motivation for why we would want the pointee size/signedness here. As
@Nerixyz points out, only a null pointer can be `S_CONSTANT` anyway.
Commit: 8a2255fc420621e7a4bfa4ebce50a58c0fb99cf5
https://github.com/llvm/llvm-project/commit/8a2255fc420621e7a4bfa4ebce50a58c0fb99cf5
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/VFABIDemangler.h
Log Message:
-----------
[IR] Change getParamIndexForOptionalMask to assume masked parameter is last (#180558)
At the moment all code in LLVM seems to explicitly assume that the
masked parameter passed to vector math functions always lives at the end
of the parameter list. See VFShape::get as an example. It seems odd then
for getParamIndexForOptionalMask to walk the parameter list looking for
the mask. Indeed, the loop vectoriser would break if the mask was passed
in any other argument position. For example, if the masked parameter
position was 1 for a vector version of powf it would end up over-writing
the exponent.
Commit: abf036ba49c27f143ea4903f9e4e2a7435b4b4f1
https://github.com/llvm/llvm-project/commit/abf036ba49c27f143ea4903f9e4e2a7435b4b4f1
Author: Björn Svensson <bjorn.a.svensson at est.tech>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-c23.c
Log Message:
-----------
[clang-tidy] Correcting fix suggestion in `readability-simplify-boolean-expr` (#178392)
When the checker `readability-simplify-boolean-expr` is used on C23
code, where the `bool` type is provided but not `static_cast`, the fixer
suggests faulty code.
```
bool negative_condition_conditional_return_statement(int i) {
if (!(i == 0)) return false; else return true;
}
/xx/llvm-project/build/../clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-c23.c:323:25: warning: redundant boolean literal in conditional return statement [readability-simplify-boolean-expr]
323 | if (!(i == 0)) return false; else return true;
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
| return static_cast<bool>(i == 0)
```
Let's skip the use of `static_cast` for C code where a cast is not
needed.
---------
Signed-off-by: Björn Svensson <bjorn.a.svensson at est.tech>
Commit: f748c718a809873d52efbb540d866d6e2d3b03c5
https://github.com/llvm/llvm-project/commit/f748c718a809873d52efbb540d866d6e2d3b03c5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/test/AST/ByteCode/cxx26.cpp
M clang/test/AST/ByteCode/placement-new.cpp
Log Message:
-----------
[clang][bytecode] Don't use throw as invalid in c++26 (#181150)
Don't pass a combination of `-std=c++26` and `-fcxx-exceptions` to tests
and then try to use `throw` as an invalid statement. C++26 actually has
working exceptions at compile time, even if that is currently not
implemented.
Commit: 3482a9c6cba57b4e605c2b99fb6d90a023439f9b
https://github.com/llvm/llvm-project/commit/3482a9c6cba57b4e605c2b99fb6d90a023439f9b
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
Log Message:
-----------
[VPlan] Explicitly reassociate header mask in logical and (#180898)
We reassociate ((x && y) && z) -> (x && (y && z)) if x has more than
use, in order to allow simplifying the header mask further. However this
is somewhat unreliable as there are times when it doesn't have more than
one use, e.g. see the case we run into in
https://github.com/llvm/llvm-project/pull/173265/changes#r2769759907.
This moves it into a separate transformation that always reassociates
the header mask regardless of the number of uses, which prevents some
fragile test changes in #173265.
We need to run it before both calls to simplifyRecipes in optimize. I
considered putting it in simplifyRecipes itself but simplifyRecipes is
also called after unrolling and when the loop region is dissolved which
causes vputils::findHeaderMask to assert.
There isn't really any benefit to reassociating masks that aren't the
header mask so the existing simplification was removed.
Commit: 00a8cb4a6be8854408014eeac690b9aaf98cabff
https://github.com/llvm/llvm-project/commit/00a8cb4a6be8854408014eeac690b9aaf98cabff
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Move NSRL/NSRA isel to tablegen. NFC (#181096)
These nodes produce a single result so we can handle them in tablegen.
Assisted-by: claude
Commit: 574d799052f7a60388ccdede8904c496516b5196
https://github.com/llvm/llvm-project/commit/574d799052f7a60388ccdede8904c496516b5196
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp
M llvm/unittests/Support/FormatVariadicTest.cpp
Log Message:
-----------
[DebugInfo] DWARFFormValue use formatv instead of format (#180498)
This relates to #35980 and is a follow up for #179194
Commit: 3d8d73a7f98aabd23b02e8ebe1a2bcf9dce3752e
https://github.com/llvm/llvm-project/commit/3d8d73a7f98aabd23b02e8ebe1a2bcf9dce3752e
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/AST/StmtOpenACC.cpp
Log Message:
-----------
[NFC] Fix the unreachable 'return' in OpenACC Stmt handling (#181153)
A result of various cleanups, reimplementations/etc, I ended up with a
return after an if/else branch where each returned in #168422.
This patch removes the 'else' after a return, and removes the
unreachable return.
Commit: 1c6278198dad571687c60feae5526cb8825f21cb
https://github.com/llvm/llvm-project/commit/1c6278198dad571687c60feae5526cb8825f21cb
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
Log Message:
-----------
[llvm-mc-assemble-fuzzer] Fix Triple passing (#181135)
The following PR removed deprecated `StringRef` triple APIs, that broke
`llvm-mc-assemble-fuzzer`:
https://github.com/llvm/llvm-project/pull/180448
Commit: 97bd838eead62836cd07dcf0c68dba636cbe7bea
https://github.com/llvm/llvm-project/commit/97bd838eead62836cd07dcf0c68dba636cbe7bea
Author: Tom Tromey <tromey at adacore.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/IR/DIBuilder.cpp
A llvm/test/DebugInfo/Generic/anonymous-base-type.ll
Log Message:
-----------
[llvm][DebugInfo] Allow anonymous basic types (#180016)
For the Ada compiler, it is sometimes useful to emit an anonymous basic
type. Currently, this is prohibited by DIBuilder, but there doesn't seem
to be a deep reason for this prohibition -- DWARF allows anonymous base
types, and the LLVM DWARF writer also accounts for this possibility.
Commit: 1116d0388cc02d8444521155e02ccdae3a52f8c0
https://github.com/llvm/llvm-project/commit/1116d0388cc02d8444521155e02ccdae3a52f8c0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.h
Log Message:
-----------
[clang][bytecode] Fix debug-printing one-past-the-end pointers (#181149)
Can't call `getIndex()` on those.
Commit: 3a658906efa605fb71e46a8a1b52c6ac6081bc3c
https://github.com/llvm/llvm-project/commit/3a658906efa605fb71e46a8a1b52c6ac6081bc3c
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
Log Message:
-----------
[lldb][windows] add STDIN and STDOUT forwarding support (#180561)
Commit: 846e61c0fb5161a16c5719211f74bb784ffa005b
https://github.com/llvm/llvm-project/commit/846e61c0fb5161a16c5719211f74bb784ffa005b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libc/shared/rpc_dispatch.h
M libc/shared/rpc_util.h
M offload/test/libc/rpc_callback.cpp
Log Message:
-----------
[libc] Small change to accept lambda types in rpc::dispatch
Summary:
This change allows lambdas to be used in the RPC dispatching functions.
Just requires an extra function trait to convert a lambda with no
captures into a function pointer. Also rearranged where the `Port` lives
because it looks better no that we may use a lambda and it's more
consistent with the dispatch usage (putting the client at the start).
Commit: 2d53aab859de707d332119a910440169a518062f
https://github.com/llvm/llvm-project/commit/2d53aab859de707d332119a910440169a518062f
Author: Matt Davis <mattd at nvidia.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
In-class initialize DenseMapBase members. (#177168)
I've seen a number of false positive defects in Coverity regarding
uninitialized instances of some of these members. I've decided to
in-class initialize 3 scalar members of `DenseMapBase` to hopefully
silence Coverity.
Since the initialization is performed through `initWithExactBucketCount`
I think it makes sense to just zero init them. I assume the original
intent was to avoid some initialization overhead; however, that seems
negligible from my last compile-time tracker results (If I'm reading the
results correctly).
I do see some of the insn size percentages jump around but that might be
noise. I had run an earlier compile time tracker on the same data, and I
think the timing results were a bit different, the most recent run
information is below.
Compile time tracker is showing the following output:
Metric | Old | New
-- | -- | --
instructions:u | 35718151M | 35718325M (+0.00%)
wall-time | 614.01s | 613.82s (-0.03%)
size-file | 132278KiB | 132278KiB (+0.00%)
size-file (stage1) | 151065KiB | 151065KiB (-0.00%)
clang build:
Metric Old New
[instructions:u](https://llvm-compile-time-tracker.com/compare_clang.php?from=f97f53e1d925fe702c23ad3a120ad3ab40b4eb51&to=d925643ace32566ea76a60d0642180d077f476f5&stat=instructions%3Au)
35718151M 35718325M (+0.00%)
[wall-time](https://llvm-compile-time-tracker.com/compare_clang.php?from=f97f53e1d925fe702c23ad3a120ad3ab40b4eb51&to=d925643ace32566ea76a60d0642180d077f476f5&stat=wall-time)
614.01s 613.82s (-0.03%)
[size-file](https://llvm-compile-time-tracker.com/compare_clang.php?from=f97f53e1d925fe702c23ad3a120ad3ab40b4eb51&to=d925643ace32566ea76a60d0642180d077f476f5&stat=size-file)
132278KiB 132278KiB (+0.00%)
size-file (stage1) 151065KiB 151065KiB (-0.00%)`
Commit: 14f20ce79508e7639bc1dbe890cd97be5a955015
https://github.com/llvm/llvm-project/commit/14f20ce79508e7639bc1dbe890cd97be5a955015
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
Log Message:
-----------
[MLIR][XeGPU] Remove layout attribute from scf ops after wg to sg (#180771)
Commit: ee9263bc7fdb8ae14a279998781adb25639c5f98
https://github.com/llvm/llvm-project/commit/ee9263bc7fdb8ae14a279998781adb25639c5f98
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/atomic-scoped.c
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/IR/invalid-atomic.cir
Log Message:
-----------
[CIR] Add sync scope to atomic fetch-and-update operation (#180770)
This patch adds synchronization scope support to the `cir.atomic.fetch`
operation.
Most of the new test code in `atomic-scoped.c` is generated by an AI
agent. The generated tests are manually reviewed and verified.
Assisted-by: Copilot with GPT-5.2-Codex
Commit: ab7a6e6b4e7e898832555d1a72d4ee56806af7c2
https://github.com/llvm/llvm-project/commit/ab7a6e6b4e7e898832555d1a72d4ee56806af7c2
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
Log Message:
-----------
[lldb][test] Fix TestTlsGlobals.py for remote Linux runs (#181078)
The dynamic library must be transferred to the server; otherwise, the
test will fail because the inferior process will not launch.
Commit: 0584699c119ae0d71177d6c3c414c54bb00ddf96
https://github.com/llvm/llvm-project/commit/0584699c119ae0d71177d6c3c414c54bb00ddf96
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/AArch64/compare-and-branch-inversion.S
A bolt/test/AArch64/compare-and-branch-reorder-blocks.S
A bolt/test/AArch64/compare-and-branch-split-functions.S
A bolt/test/AArch64/compare-and-branch-unsupported.S
Log Message:
-----------
[BOLT][AArch64] Support FEAT_CMPBR branch instructions. (#174972)
The Armv9.6-A compare-and-branch instructions use a short range 9-bit
immediate value. They do not have a corresponding relocation type in the
ABI. For now we only support them in compact code model, with
diagnostics added in the LongJmp pass to ensure this condition. Some
interesting edge cases we cover:
- function splitting works when target is within or beyond the 1KB range
of those instructions,
- but doesn't work beyond the 128MB limit of the compact code model
- branch inversion works with block reordering so long as the immediate
value adjustments remain in bounds
Commit: 9c9fff983fff3b92406065e33468234b28278b11
https://github.com/llvm/llvm-project/commit/9c9fff983fff3b92406065e33468234b28278b11
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
Log Message:
-----------
[clang][Sema] Split a err_typecheck_assign_const diagnostic into a separate tablegen entry (#179895)
As of recently, in LLDB, when trying to mutate an object in a const
method, we emit a hint about why we failed to run the expression (with
an associated hint on how to fix it). This relies on the diagnostic ID
that Clang told us about. However, we only want to emit this message
when we assign to a member in a const method. But not all the other
situations that `err_typecheck_assign` gets used in. We currently work
around this by grepping the error message, but it would be nice if we
could just rely on the diagnostic ID.
This patch splits out the relevant diagnostic.
This isn't urgent and we can live with the "grep the error message"
approach. But if the Clang maintainers don't feel strongly about keeping
the tablegen as-is, it'd be nice to clean up from LLDB's perspective.
Commit: e9d3dd2f5aff9e7fc50396c89c510300fcc3dc58
https://github.com/llvm/llvm-project/commit/e9d3dd2f5aff9e7fc50396c89c510300fcc3dc58
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-cvt-simd-fptoi.ll
M llvm/test/CodeGen/AArch64/arm64-cvtf-simd-itofp.ll
Log Message:
-----------
[AArch64][llvm] Preserve FP_TO_*_SAT VT operand in SVE scalar-combine (#177333)
Updated RUN lines and generated new `CHECK‑SME`/`CHECK‑SVE` lines in:
llvm/test/CodeGen/AArch64/arm64-cvt-simd-fptoi.ll
llvm/test/CodeGen/AArch64/arm64-cvtf-simd-itofp.ll
by adding `-force-streaming` and `-force-streaming-compatible` runs,
as pre-commit tests for change #177334 to enable FPRCVT streaming.
This triggers a SVE scalar-combine path which requires a code update.
FP_TO_*_SAT nodes require operand 1 (the saturation VT) to be present.
Without it the node is malformed and hits the SelectionDAG assertion
“Invalid child # of SDNode!”.
See also #177334
Commit: 85e07bad936360c52599863f0700008f9f304246
https://github.com/llvm/llvm-project/commit/85e07bad936360c52599863f0700008f9f304246
Author: Kunqiu Chen <camsyn at foxmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
A llvm/test/Transforms/InstSimplify/icmp-equiv-zero.ll
M llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
Log Message:
-----------
[InstructionSimplify] Extend simplifyICmpWithZero to handle equivalent zero RHS (#179055)
Add a new helper function `matchEquivZeroRHS()` that recognizes
comparisons with constants that are equivalent to comparisons with zero,
and transforms the predicate accordingly.
This handles the following transformations:
- icmp sgt X, -1 --> icmp sge X, 0
- icmp sle X, -1 --> icmp slt X, 0
- icmp [us]ge X, 1 --> icmp [us]gt X, 0
- icmp [us]lt X, 1 --> icmp [us]le X, 0
This enables more optimization opportunities in `simplifyICmpWithZero`,
such as folding icmp sgt X, -1 when X is known to be non-negative.
---
- IR Impact: https://github.com/dtcxzyw/llvm-opt-benchmark/pull/3414
Commit: bec8fff25116fc63764e260cdbc815ee1ffca3a3
https://github.com/llvm/llvm-project/commit/bec8fff25116fc63764e260cdbc815ee1ffca3a3
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/init-variables.cpp
Log Message:
-----------
[clang-tidy] Add support for member pointers in cppcoreguidelines-init-variables (#180973)
Closes #180894
Commit: d8ebb80e9419645fa647e1f40da1cc828a3047a6
https://github.com/llvm/llvm-project/commit/d8ebb80e9419645fa647e1f40da1cc828a3047a6
Author: Bertik23 <39457484+Bertik23 at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/lib/AsmParser/LLParser.cpp
Log Message:
-----------
[AsmParserContext] Fix regression after #174566 (#180068)
This fixes the regressions after merging #174566
The problem was, that the lookup of the location takes logarithmic time
as a function of the number of lines, and a large number of lines causes
the slowdowns. Now all the lookups are guarded with checks if the
AsmParserContext was passed in, to not waste time on information, that
isn't requested.
Commit: b4e4616342ca4c7a3c53b99d8d082fd17bfbbb10
https://github.com/llvm/llvm-project/commit/b4e4616342ca4c7a3c53b99d8d082fd17bfbbb10
Author: Jueon Park <79134656+JueonPark at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] Return null from DenseElementsAttr::get on unsupported attribute types (#181159)
`DenseElementsAttr::get(ShapedType, ArrayRef<Attribute>)` crashed with an unconditional `cast<IntegerAttr>` when encountering attribute types that are neither `FloatAttr` nor `IntegerAttr` (e.g. `ub.poison`). This can happen when folding ops like `tensor.from_elements` whose operands include poison values.
This patch fixes the issue at the `DenseElementsAttr::get` level rather than in individual op folders. The `cast<IntegerAttr>` is replaced with `dyn_cast<IntegerAttr>`, and when the attribute is neither `FloatAttr` nor `IntegerAttr`, a null `DenseElementsAttr` is returned. This is a more robust fix because it prevents the same class of crashes in any caller that passes unsupported attributes to `DenseElementsAttr::get`.
Fixes #178209.
---------
Co-authored-by: rebel-jueonpark <jueonpark at rebellions.ai>
Commit: 16ef4ed48fd751c33bbb0cbca42b448991b0391f
https://github.com/llvm/llvm-project/commit/16ef4ed48fd751c33bbb0cbca42b448991b0391f
Author: Twice <twice at apache.org>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/python/mlir/dialects/ext.py
Log Message:
-----------
[MLIR][Python] Ensure traits are attached when `load(register=False)` (#181174)
Currently, when calling `.load(register=False)`, `op._attach_traits()`
isn’t executed. This PR ensures traits are attached regardless of
whether `register` is `True` or `False`.
Commit: 2de6d980dec4ebbbd422b2db3104b01c60f7ea99
https://github.com/llvm/llvm-project/commit/2de6d980dec4ebbbd422b2db3104b01c60f7ea99
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-cvt-simd-fptoi.ll
M llvm/test/CodeGen/AArch64/arm64-cvtf-simd-itofp.ll
Log Message:
-----------
[AArch64][llvm] Allow FPRCVT insns to run in streaming mode if safe (#177334)
For FEAT_FPRCVT instructions, allow them to run in streaming mode if safe
Commit: 827b5d9423083da6111ddc382c9d4449ff853949
https://github.com/llvm/llvm-project/commit/827b5d9423083da6111ddc382c9d4449ff853949
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningService.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
Log Message:
-----------
[clang][deps] Parallelize module compilations (#180047)
In a typical build, the build system schedules many TUs from the same
target to be scanned/compiled at the same time. These TUs tend to depend
on a similar set of modules, and they usually keep their imports
alphabetically sorted. The nature of implicit modules then means that
scanning these TUs reduces into a single-threaded computation, since
only one TU wins the race to compile the common dependency module, and
the same thread/process keeps being responsible for compiling all
transitive dependencies of such module.
This PR makes use of the single-module-parse-mode in a new scanning step
that runs at the start of each TU scan. In this step, the scanner
quickly discovers unconditional module dependencies of the TU without
blocking on its compile. This typically discovers plenty of work to keep
the available threads busy and compile modules in more parallel fashion.
Modules discovered here are compiled on separate threads right away in
the same two-step fashion.
The second step then performs the regular dependency scan of the TU
where each module import is a blocking operation. However, by this time,
the first scanning step most likely already compiled the majority of
modules, so there's actually little to no waiting happening here. The
compiler only deserializes previously-built modules.
This is a barebones implementation with some known quirks marked in
FIXME comments. I will continue working on performance and polish once
this lands.
Commit: beac6260c41975d4b7677872a8456737a5b35e6f
https://github.com/llvm/llvm-project/commit/beac6260c41975d4b7677872a8456737a5b35e6f
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.h
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-floating-point.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer.cpp
Log Message:
-----------
[clang-tidy] Speed up `readability-uppercase-literal-suffix` (#178149)
As usual, this is one of our most expensive checks according to
`--enable-check-profile`.
Measuring overall runtime:
```sh
hyperfine \
--shell=none \
--prepare='cmake --build build/release --target clang-tidy' \
'./build/release/bin/clang-tidy --checks=-*,readability-uppercase-literal-suffix all_headers.cpp -header-filter=.* -system-headers -- -std=c++23 -fno-delayed-template-parsing'
```
Status quo:
```txt
Time (mean ± σ): 4.435 s ± 0.012 s [User: 4.158 s, System: 0.275 s]
Range (min … max): 4.409 s … 4.455 s 10 runs
```
With this change:
```txt
Time (mean ± σ): 3.549 s ± 0.010 s [User: 3.328 s, System: 0.223 s]
Range (min … max): 3.540 s … 3.569 s 10 runs
```
Measuring with `--enable-check-profile`:
Status quo:
```txt
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
1.1875 (100.0%) 0.1406 (100.0%) 1.3281 (100.0%) 1.3147 (100.0%) readability-uppercase-literal-suffix
```
With this change:
```txt
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
0.2500 (100.0%) 0.0469 (100.0%) 0.2969 (100.0%) 0.2904 (100.0%) readability-uppercase-literal-suffix
```
However, subtracting 200 ms to account for the "[`hasParent`
tax](https://github.com/llvm/llvm-project/pull/178149#discussion_r2736652174)",
the "true" numbers are probably closer to:
```
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
Status quo: 0.9875 (100.0%) 0.1406 (100.0%) 1.1281 (100.0%) 1.1147 (100.0%) readability-uppercase-literal-suffix
With this change: 0.0500 (100.0%) 0.0469 (100.0%) 0.0969 (100.0%) 0.0904 (100.0%) readability-uppercase-literal-suffix
Commit: 5e2518f2cc54de788f3afcff5c334c7c8b79f476
https://github.com/llvm/llvm-project/commit/5e2518f2cc54de788f3afcff5c334c7c8b79f476
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/include/lldb/Core/Highlighter.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/Core/Highlighter.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Plugins/CMakeLists.txt
A lldb/source/Plugins/Highlighter/CMakeLists.txt
A lldb/source/Plugins/Highlighter/Clang/CMakeLists.txt
A lldb/source/Plugins/Highlighter/Clang/ClangHighlighter.cpp
A lldb/source/Plugins/Highlighter/Clang/ClangHighlighter.h
A lldb/source/Plugins/Highlighter/Default/CMakeLists.txt
A lldb/source/Plugins/Highlighter/Default/DefaultHighlighter.cpp
A lldb/source/Plugins/Highlighter/Default/DefaultHighlighter.h
M lldb/source/Plugins/Language/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
R lldb/source/Plugins/Language/ClangCommon/CMakeLists.txt
R lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.cpp
R lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.h
M lldb/source/Plugins/Language/ObjC/CMakeLists.txt
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
M lldb/source/Plugins/Language/ObjCPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.h
M lldb/source/Plugins/REPL/Clang/CMakeLists.txt
M lldb/unittests/CMakeLists.txt
A lldb/unittests/Highlighter/CMakeLists.txt
A lldb/unittests/Highlighter/HighlighterTest.cpp
M lldb/unittests/Language/CMakeLists.txt
R lldb/unittests/Language/Highlighting/CMakeLists.txt
R lldb/unittests/Language/Highlighting/HighlighterTest.cpp
Log Message:
-----------
[lldb] Convert highlighters to plugins (#181026)
This PR converts the syntax highlighters to plugins. Previously, the
highlighters were part of the Language plugin, using a library shared by
the C-like languages. The Highlighters already had a plugin-like design,
with a clang and default highlighter. This PR takes them out of the
language plugin and into their own highlighter plugin. They are still
accessed thought he HighlightManager.
This change is motivated by #170250. It will allow us to have both a
clang and tree-sitter based highlighter, as well as make it possible to
have a highlighter for a language that doesn't have an upstream language
plugin, like Swift or Rust.
Commit: e4bbd9b1dca7f8aa62851f363aea5e405fad8ae1
https://github.com/llvm/llvm-project/commit/e4bbd9b1dca7f8aa62851f363aea5e405fad8ae1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/docs/use/symbols.rst
Log Message:
-----------
[lldb] Document DBGSearchPaths (#178634)
Document DBGSearchPaths on the Symbols on macOS page.
rdar://169137293
Commit: b4e9cf03a608f18d610ad4ad8ef7826bb9418039
https://github.com/llvm/llvm-project/commit/b4e9cf03a608f18d610ad4ad8ef7826bb9418039
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M flang/docs/GettingInvolved.md
Log Message:
-----------
[flang][docs] Correct time of Flang OpenMP call and add link to calendar
The time in flang/docs/GettingInvolved.md says 8:00 a.m. Pacific, but
the scheduled meeting occurs at 7:30 a.m. Pacific. A link to the LLVM
community calendar was also added to both this and the entry for the
main biweekly flang call since it is not clear when the calls actually
happen.
Commit: 95ef1a5c3139c44bb171df225cb2b0aa17b50f1d
https://github.com/llvm/llvm-project/commit/95ef1a5c3139c44bb171df225cb2b0aa17b50f1d
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyable-child-node-used-outside.ll
A llvm/test/Transforms/SLPVectorizer/semanticly-same.ll
Log Message:
-----------
[SLP] Use the correct identity when combining binary opcodes with AND/MUL (#180457)
Fixes #180456
Fix bug in the following SLP lowering:
```
define void @sub_mul(ptr %p, ptr %s) {
entry:
%p1 = getelementptr i16, ptr %p, i64 1
%l0 = load i16, ptr %p
%l1 = load i16, ptr %p1
%mul0 = sub i16 %l0, 0
%mul1 = mul i16 %l1, 5
%s1 = getelementptr i16, ptr %s, i64 1
store i16 %mul0, ptr %s
store i16 %mul1, ptr %s1
ret void
}
```
to
```
define void @sub_mul(ptr %p, ptr %s) {
entry:
%tmp0 = load <2 x i16>, ptr %p, align 2
%tmp1 = mul <2 x i16> %tmp0, <i16 0, i16 5> -> updates to <i16 1, i16 5>
store <2 x i16> %tmp1, ptr %s, align 2
ret void
}
```
Commit: 5d057a125cba60736cddcf579811af0324cbb47b
https://github.com/llvm/llvm-project/commit/5d057a125cba60736cddcf579811af0324cbb47b
Author: Madhur Kumar <152476790+MadhurKumar004 at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/CodeGen/builtins.c
M clang/test/CodeGenCXX/builtins.cpp
M clang/test/Sema/constant-builtins-2.c
A clang/test/SemaCXX/builtin-bitreverseg.cpp
Log Message:
-----------
[clang] Add __builtin_bitreverseg (#179126)
fixes #177125
Commit: 2a560a86456fa8923cf348c99993028cd56bb8fe
https://github.com/llvm/llvm-project/commit/2a560a86456fa8923cf348c99993028cd56bb8fe
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang-tools-extra/Maintainers.rst
Log Message:
-----------
Move Chris Bieneman to the inactive maintainers list (#181192)
While reaching out to folks for a maintainers list refresh, Chris asked
to step down due to other commitments. Thank you for all your help!
Commit: 79a63fbb97b0b742e238b6a00cb32ceadb4f745e
https://github.com/llvm/llvm-project/commit/79a63fbb97b0b742e238b6a00cb32ceadb4f745e
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
Log Message:
-----------
[NFC] [FlowSensitive] [StatusOr] remove unneeded NOLINT (#181032)
This was for cpplint, a leftover from when this model was downstream.
Commit: 647fcc9a6515d6426235c1bd069166052dd964b0
https://github.com/llvm/llvm-project/commit/647fcc9a6515d6426235c1bd069166052dd964b0
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h
Log Message:
-----------
[XeGPU] Add missing StoreMatrix and LoadMatrix entries for bmg uArch. (#181006)
uArch for bmg was missing entries for StoreMatrix and LoadMatrix
instruction.
Commit: 63826ea33e14745d29c2b7a2e51db448169da595
https://github.com/llvm/llvm-project/commit/63826ea33e14745d29c2b7a2e51db448169da595
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M flang/docs/Directives.md
M flang/lib/Lower/Bridge.cpp
M flang/test/Integration/ivdep.f90
M flang/test/Lower/HLFIR/ivdep-elemental.f90
M flang/test/Lower/HLFIR/ivdep-where.f90
M flang/test/Lower/ivdep-array.f90
M flang/test/Lower/ivdep.f90
Log Message:
-----------
[flang] still apply vectorization cost model with IVDEP (#180760)
The current implementation of `!DIR IVDEP` leads flang to bypass LLVM
cost model and always vectorize the loop carrying `!DIR$ IVDEP`.
IVDEP is an extension and its documentation varies, and while it usually
leads to vectorization because it is added on loops where it is usually
profitable, its documentation only tells it is meant to tell the
compiler that there are no loop carried dependencies and that the loop
is safe to vectorize.
In some application, such directive may have been added to help the
compiler proving it is safe to vectorize, but vectorizing is not always
the best choice for all architectures. The cost model should still be
applied. This is at least the case for classic flang.
When users want vectorization to happen, they should use `!DIR$ VECTOR
ALWAYS`.
This patch updates flang to not emit `llvm.loop.vectorize.enable` just
because IVDEP was seen. Instead, IVDEP now only controls the emissions
of the access groups to translate the independence of the accesses and
leave the vectorization decision up to the cost model. `!DIR$ VECTOR
ALWAYS` can be used in combination with IVDEP to force vectorization (it
causes the emission of `llvm.loop.vectorize.enable`).
Commit: 4baab258b877b2df50bedffe364cbc2a06d644ae
https://github.com/llvm/llvm-project/commit/4baab258b877b2df50bedffe364cbc2a06d644ae
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/docs/resources/formatterbytecode.rst
M lldb/examples/python/formatter_bytecode.py
M lldb/include/lldb/DataFormatters/FormatterBytecode.def
M lldb/source/DataFormatters/FormatterBytecode.cpp
Log Message:
-----------
[lldb] Add Get(Non)SyntheticValue formatter bytecodes (#174839)
`GetSyntheticValue` in synthetic providers which need to operate on raw
root values, but will often want to use the synthetic value of children,
or nested children.
Commit: 783fd2f9d583850ecacdf93cd65f903b64d0cf4d
https://github.com/llvm/llvm-project/commit/783fd2f9d583850ecacdf93cd65f903b64d0cf4d
Author: h-vetinari <h.vetinari at gmx.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/include/__configuration/availability.h
Log Message:
-----------
[libc++] Sort `_LIBCPP_INTRODUCED_IN_LLVM_<X>` usages in reverse chronological order (#176857)
I noticed that the various `_LIBCPP_INTRODUCED_IN_LLVM_<ver>` usages in
`availability.h` were defined a bit all over the place. I think it'd
make the most sense to sort them in reverse chronological order (like
their definitions).
Commit: e087d428823e1d1d4c00c895bc3b637989764104
https://github.com/llvm/llvm-project/commit/e087d428823e1d1d4c00c895bc3b637989764104
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/aix.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/newlib.h
M libcxx/include/__locale_dir/support/no_locale/characters.h
M libcxx/include/__locale_dir/support/windows.h
Log Message:
-----------
[libc++] Add __strftime__ formatting attribute to locale base API __strftime (#179545)
Tip-of-trunk Clang seems to have started complaining about the missing
attribute.
Commit: f724d867e3a397f0ec00a30d74171cdb74f863f9
https://github.com/llvm/llvm-project/commit/f724d867e3a397f0ec00a30d74171cdb74f863f9
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[clang][modules] Don't rely on `std::vector` CTAD (#181182)
Commit: 1de1a76dc9042ffc8026217cf0b105f0b86c16fb
https://github.com/llvm/llvm-project/commit/1de1a76dc9042ffc8026217cf0b105f0b86c16fb
Author: Dmitrii Makarenko <devjiu at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/unittests/ADT/ArrayRefTest.cpp
Log Message:
-----------
[ADT] Add const check to MutableArrayRef constructor (#181190)
Fixes #181176
Commit: d18f6d086e5e12040559f5e0a5efccb801357843
https://github.com/llvm/llvm-project/commit/d18f6d086e5e12040559f5e0a5efccb801357843
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/source/DataFormatters/FormatterSection.cpp
M lldb/unittests/DataFormatter/CMakeLists.txt
A lldb/unittests/DataFormatter/FormatterSectionTest.cpp
Log Message:
-----------
[lldb] Limit formatter-section extractor range (#140139)
The formatter extraction would look at too much data for one type -
possibly reading data outside the section.
This PR limits the size of the `DataExtractor` to the one specified in
the record size before - previously, the whole section was looked at.
Similarly, `ForEachFormatterInModule` skipped zero-bytes but didn't stop
when reaching the end of the extractor.
I added a test for both cases.
Commit: 4b109dc5ac0b53d3c459c25324c41ae1e8a4583b
https://github.com/llvm/llvm-project/commit/4b109dc5ac0b53d3c459c25324c41ae1e8a4583b
Author: Caroline Newcombe <caroline.newcombe at hpe.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/__fortran_builtins.f90
M flang/module/iso_c_binding.f90
A flang/test/Lower/Intrinsics/c_f_strpointer.f90
A flang/test/Semantics/c_f_strpointer.f90
Log Message:
-----------
[flang] Implement C_F_STRPOINTER (Fortran 2023) (#176973)
Implement C_F_STRPOINTER to associate a Fortran character pointer with a
C string.
This intrinsic has two forms:
C_F_STRPOINTER(CSTRARRAY, FSTRPTR [,NCHARS]): Associates FSTRPTR with a
C string array
C_F_STRPOINTER(CSTRPTR, FSTRPTR, NCHARS): Associates FSTRPTR with a
C_PTR pointing to a character string
Implementation includes semantic validation, FIR lowering, and
associated tests.
F2023 Standard: 18.2.3.5
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: a289341dedf4d73955faefbb0b3c13881e13dd06
https://github.com/llvm/llvm-project/commit/a289341dedf4d73955faefbb0b3c13881e13dd06
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .github/workflows/prune-branches.yml
Log Message:
-----------
[Github] Run prune-branches workflow on changes to python script
This allows in-environment testing without needing to deploy to main.
Commit: 06f97167626218cfa38e430098c83e4c58a909ae
https://github.com/llvm/llvm-project/commit/06f97167626218cfa38e430098c83e4c58a909ae
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/src/hash.cpp
Log Message:
-----------
[libcxx] Use a table for the offsets in __next_prime (#180651)
This reduces the size of __next_prime on armv8m baremetal from 1.4KB to
about 276B. Ideally there would be something that rolls up the if chain
into a single loop but there doesn't seem to be anything that does that
in llvm. Conversely, we should expect an unroller to be able to unroll
this loop in something like a -O3 build, but we unfortunately don't see
that either. I suspect perf might not be as much of a concern here since
this function is already called in a slow path when rehashing might be
done.
---------
Co-authored-by: Nikolas Klauser <nikolasklauser at berlin.de>
Commit: 6f51f8e0f93e6ff2baf0ed2f60021308920a557f
https://github.com/llvm/llvm-project/commit/6f51f8e0f93e6ff2baf0ed2f60021308920a557f
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
Log Message:
-----------
[Docs] Improve Target TableGen Docs (#178518)
This change adds documentation for some of the advanced parts of the
TableGen Selection structures:
- The `set`, `node` and `srcvalue` special DAG nodes
- The `SDNodeXForm` C++ snippet.
- The `PatFrags` predicate C++ snippet, and documentation for how the
`OperandTransform` item works in a little more detail.
- The `ImmLeaf` predicate code.
This also adds documentation for the many C++ callbacks for Targets
associated with Decoding, Encoding, Parsing and Printing Operands and
Instructions, including Predicates.
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 1f404ec04d88dda3f263cd69f6015e3b7238614c
https://github.com/llvm/llvm-project/commit/1f404ec04d88dda3f263cd69f6015e3b7238614c
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/ADT/SmallVectorExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
M llvm/unittests/ADT/SmallVectorExtrasTest.cpp
Log Message:
-----------
[ADT] Allow member pointers in map_range and map_to_vector (#181154)
This is for when all we need is to access a field or call a getter: no
need to write a lambda just to extract these.
Assisted-by: claude
Commit: a1c4c1de051974a6fea4e9eda0f5df1c4fab462e
https://github.com/llvm/llvm-project/commit/a1c4c1de051974a6fea4e9eda0f5df1c4fab462e
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
M clang/lib/Analysis/Scalable/CMakeLists.txt
R clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
R clang/lib/Analysis/Scalable/TUSummary/EntitySummary.cpp
M clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
Log Message:
-----------
[clang][ssaf] Drop llvm-RTTI support for now (#181198)
We discussed internally, and for now we will focus on an MVP and try to
not complicate APIs unless that is strictly necessary.
Commit: 155beb97492e14e29ab7af3a805bbfb97bee1e6b
https://github.com/llvm/llvm-project/commit/155beb97492e14e29ab7af3a805bbfb97bee1e6b
Author: Hui <hui.xie1990 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/include/__atomic/atomic_waitable_traits.h
M libcxx/src/atomic.cpp
A libcxx/test/libcxx/atomics/atomics.syn/wait.native.compile.pass.cpp
Log Message:
-----------
[libc++] Fix native wait alignment (#180928)
This PR fixes two issues regarding the alignment of native wait:
- In the internal platform call, the local variable is copied from a
potentially non-aligned buffer
- Under the unstable ABI, the predicate to test eligibility of a type
being able to do native wait is purely on size. We should test also the
alignment of such type is qualified for platform call
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: ad14100f6afb8da2b933b4f9ef875487f10f0b83
https://github.com/llvm/llvm-project/commit/ad14100f6afb8da2b933b4f9ef875487f10f0b83
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/xsfvcp.s
Log Message:
-----------
[RISCV] Update sched resources used by XSfvcp instructions (#181206)
VCIX instructions should only use the first vector pipe. This patch also
adds a MCA test for VCIX instructions.
Commit: 6072e4006fb1c66331372fd11205e034dafe0ca3
https://github.com/llvm/llvm-project/commit/6072e4006fb1c66331372fd11205e034dafe0ca3
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
Log Message:
-----------
[MLIR][XeGPU] Preserve leading unit dimension during blocking (#180884)
This PR preserve leading dimension during blocking. This ensures the
blocking process avoid generating unnecessary
insert/extract_strided_slice, which under certain condition becomes
difficult to be canceled, and creates extra burden in lane layout
propagation and subgroup distribution.
This PR also extended subgroup distribution so load and store can
support payload/mask/offsets with leading unit dimension. The
distributed load/store works on 1d only, but shapecast is inserted to
remove and add the leading dimension for the input/output vectors.
Comparing to the insert/extract inserted at subgroup level, the
shapecast inserted at lane level handling leading unit dimension is
essentially a nop and can be processed lightly.
Commit: e93829e8079f04b0d1cfe7c5a3272004dadb6bfb
https://github.com/llvm/llvm-project/commit/e93829e8079f04b0d1cfe7c5a3272004dadb6bfb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyables-with-parent-scalars-in-phis.ll
A llvm/test/Transforms/SLPVectorizer/X86/deleted-node-with-copyable-operands.ll
A llvm/test/Transforms/SLPVectorizer/X86/external-bin-op-user.ll
Log Message:
-----------
[SLP]Fix crash with deleted non-copyable node in scheduling copyables
If the copyables are parts of the deleted nodes, need to check the
actual tree to correctly handling the scheduling of copyables
Commit: 6179d279fb5f9e148c241df5ba811b0e9b9076a2
https://github.com/llvm/llvm-project/commit/6179d279fb5f9e148c241df5ba811b0e9b9076a2
Author: Eric Christopher <echristo at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .gitignore
Log Message:
-----------
[llvm][.gitignore] Add instructions.md to coding assistants section (#181211)
Similar to CLAUDE.md and GEMINI.md, instructions.md is a local guidance
file used by AI coding assistants. Add it to the existing "Coding
assistants' stuff" section to prevent accidental commits.
Commit: b1624fca5a4a70b0ae4a654359259370e6b4c4e5
https://github.com/llvm/llvm-project/commit/b1624fca5a4a70b0ae4a654359259370e6b4c4e5
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/include/mlir/IR/Remarks.h
M mlir/lib/IR/Remarks.cpp
M mlir/test/Pass/remarks.mlir
M mlir/test/lib/Pass/TestRemarksPass.cpp
M mlir/unittests/IR/RemarkTest.cpp
Log Message:
-----------
[MLIR][Remark] Add remark linking and remarkID (#180953)
Add RemarkId and relatedTo support to the MLIR Remarks infrastructure.
*Example*
```
remark1 = remark::analyzed(...)
remark::passed(loc, ... .relatedTo(remark1))
```
Commit: 8512f6d3320c2418b6aebf0e392a6e30a4498034
https://github.com/llvm/llvm-project/commit/8512f6d3320c2418b6aebf0e392a6e30a4498034
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
libclc: Stop building amdgpu targets all as tahiti (#181107)
It is wrong to compile as tahiti, and then treat everything
else as an alias. The IR is tainted with "target-cpu"="tahiti".
Optimizations on the libclc build can break the program, even if
the target-cpu is ultimately overridden by -mlink-builtin-bitcode.
The main risk of doing this is if mesa is still relying on finding
the subtarget suffixed bc file. As far as I can tell clover has been
removed, and rusticl only uses the spirv versions.
Commit: 42f37175ede308405d5fe09a65d0c13e32f744aa
https://github.com/llvm/llvm-project/commit/42f37175ede308405d5fe09a65d0c13e32f744aa
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/test/Instrumentation/HWAddressSanitizer/fuchsia.ll
M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
Log Message:
-----------
[HWASan][Fuchsia] Have Fuchsia use a dynamic shadow start (#180881)
The dynamic shadow global is still set to zero, but this will change in
the future. This only contains the llvm-side changes which is all that's
needed for now.
Commit: d905e19f63d7b5fd032dd8cf91c7e088c39c2a9a
https://github.com/llvm/llvm-project/commit/d905e19f63d7b5fd032dd8cf91c7e088c39c2a9a
Author: DeanSturtevant1 <dsturtevant at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix Bazel build for b20d7d0 (#181164)
Commit: 8e335d533682b46289058958456c521df0c8fe32
https://github.com/llvm/llvm-project/commit/8e335d533682b46289058958456c521df0c8fe32
Author: Andrei Elovikov <andrei.elovikov at sifive.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-print-after.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/vplan.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/vplan.ll.expected
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/update_analyze_test_checks.py
Log Message:
-----------
[UTC][VPlan] Use `-vplan-print-after` for VPlan-dump-based tests (#178736)
Switch tests from using `-debug[-only=LoopVectorize]` to
`-vplan-print-after` as that provides better control at what step in the
pipeline we want to check the VPlan (I'm using `optimize$` for now to
preserve previous state).
Then, update `-vplan-print-after*` to print what function the loop
belongs to. That enables us to simplify VPlan UTC support as the output
of the updated tests contains the VPlan dump only - no special
filtering/extraction is necessary anymore.
Commit: cdcf0337cea45e5b49dc771f0a571d916ce23167
https://github.com/llvm/llvm-project/commit/cdcf0337cea45e5b49dc771f0a571d916ce23167
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .github/workflows/prune-branches.yml
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Make prune-unused-branches workflow save branch list (#181194)
So that we can retrieve it later to only download branches that are more
than a day old. This prevents unlikely but potential race conditions for
tools like spr and graphite, but more importantly for people manually
creating user branches where there branch getting deleted by the
workflow would be surprising.
Commit: 6be4745eda7306b78f60fe253c09fae66ae7a50f
https://github.com/llvm/llvm-project/commit/6be4745eda7306b78f60fe253c09fae66ae7a50f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Use format-patch instead of diff in prune-unused-branches (#181200)
This preserves commit messages which some people said they would prefer
in the discourse post announcing this.
Commit: a3de2d1b7b39c5e04b86a1c2dcaec3a0e89d15a0
https://github.com/llvm/llvm-project/commit/a3de2d1b7b39c5e04b86a1c2dcaec3a0e89d15a0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Do not fail on unknown branches (#181227)
If someone creates user branches and a PR after we start cloning the
repository, but before we collect PRs, we can end up with branches that
do not exist in the repository. In one case this was causing workflow
failures because we expected this to be an invariant.
Commit: 6be2e8902951dabfc15a0c6f0bb872742a959aa3
https://github.com/llvm/llvm-project/commit/6be2e8902951dabfc15a0c6f0bb872742a959aa3
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/test/Transforms/PGOProfile/memprof.ll
Log Message:
-----------
[MemProf] Emit richer optimization remarks for single-type allocations (#181089)
Emit per-context optimization remarks, when we apply a hint
unambiguously to an allocation, including the full allocation context
hash and total profiled size. When no context size information is
available, we fall back to a single remark per allocation. While this is
somewhat redundant with the message emitted for
-memprof-report-hinted-sizes, the latter enables emitting additional
messages, and so it is left in for now.
To support this consistently, added a new internal option
-memprof-keep-context-size-info that ensures context size information
is tracked and available for these remarks even when hinted size
reporting isn't fully enabled. This also will be useful for providing
this additional information to the LTO link for remarks there (in a
subsequent PR).
Updated memprof.ll to verify both the detailed per-context remarks
(when size info is kept) and the original per-allocation remarks (when
it is not).
Commit: e66574702479f8ecd7f2bef3e70acdb215e19cc9
https://github.com/llvm/llvm-project/commit/e66574702479f8ecd7f2bef3e70acdb215e19cc9
Author: Daniil Dudkin <unterumarmung at yandex.ru>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/unittests/clang-tidy/CMakeLists.txt
A clang-tools-extra/unittests/clang-tidy/LexerUtilsTest.cpp
Log Message:
-----------
[clang-tidy] [NFC] Move comment scanning to `LexerUtils` and add tests (#180371)
Commit: 06282d9c46264c358b6e7ecc301305cdd7049e59
https://github.com/llvm/llvm-project/commit/06282d9c46264c358b6e7ecc301305cdd7049e59
Author: Adel Ejjeh <adel.ejjeh at amd.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/amdgpu-large-lds-offset.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Update splitGEP to handle case where including base offset results in an offset that's too large (#177653)
Currently, separate-const-offset-from-gep tries to combine both the
offsets on the base address and the offsets on the current GEP itself
when it tries to separate constant offsets. This results in the pass
failing to separate the offset in cases where the base address has a
large offset that would cause the total offset to be larger than what
the back-end can represent for the respective addressing mode. However,
in many cases we can still benefit from extracting the offset of the GEP
without including the offset from the base-address-GEP when the
base-address is used in multiple different places to help reduce
register pressure and recalculating the base address.
This PR addresses the above by re-trying without accumulating the offset
from the base-address GEP included if isLegalAddressingMode returns
false the first time.
Commit: 05e2c37cdf689f399da5d93d502fd014736f2ccd
https://github.com/llvm/llvm-project/commit/05e2c37cdf689f399da5d93d502fd014736f2ccd
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .github/workflows/commit-access-review.py
Log Message:
-----------
workflows/commit-access-reivew: Use concurrency to speed up script (#181204)
Making some of the graphql queries in parallel cuts the runtime of the
script from ~60 minutes to ~40 minutes.
Commit: 4210e4c76a5c19e1a8178e37af257c65c220eb4c
https://github.com/llvm/llvm-project/commit/4210e4c76a5c19e1a8178e37af257c65c220eb4c
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
Log Message:
-----------
[RISCV][NFC] Remove redundant defvar in SiFive7 SchedModel (#181218)
The defvar `SiFive7VA` inside `SiFive7SchedResources` is never used.
More surprisingly, `NAME # SiFive7VA` -- the record it's supposed to
point at -- is not even _defined_ when there are two VALUs (i.e.
`dualVALU` is true). But I guess since that defvar is never used,
TableGen parser simply ignores it and thus we never saw any error
message.
NFC.
Commit: a8be67e6f3da18b70961a72c56a3f802b4ab4da9
https://github.com/llvm/llvm-project/commit/a8be67e6f3da18b70961a72c56a3f802b4ab4da9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
Log Message:
-----------
clang: Use VFS for libclc existence check (#181236)
Commit: c1e90fa663ca46c70d079503b83340d5e38105a4
https://github.com/llvm/llvm-project/commit/c1e90fa663ca46c70d079503b83340d5e38105a4
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj-alloca.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj.ll
A llvm/test/CodeGen/WebAssembly/lower-wasm-sjlj-no-eh-feature.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-sjlj.ll
M llvm/test/CodeGen/WebAssembly/wasm-eh-sjlj-setjmp-within-catch.ll
Log Message:
-----------
[WebAssembly] Error on Wasm SjLj if +exception-handling is missing (#181070)
This checks every user function of `setjmp` or `longjmp` and if any of
them does not have `+exception-handling` target feature, errors out.
Hopefully this gives a clearer error message to the users in case they
do not provide consistent SjLj flags at compile time vs. link time.
Closes #178135 and closes
https://github.com/emscripten-core/emscripten/issues/26165.
Commit: ee2ebaf0d454902d9bdfcd353e7b37574ee742c9
https://github.com/llvm/llvm-project/commit/ee2ebaf0d454902d9bdfcd353e7b37574ee742c9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
libclc: Fix broken symlinks (#181247)
Commit: 68cc809581539e58faeb33bf0841fd1ccbaa7a6d
https://github.com/llvm/llvm-project/commit/68cc809581539e58faeb33bf0841fd1ccbaa7a6d
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/source/ValueObject/ValueObject.cpp
Log Message:
-----------
[lldb] Flatten GetCompilerType-MaybeCalculateCompleteType (NFC) (#181215)
`MaybeCalculateCompleteType` is not overridden anywhere, and is called
only from `GetCompilerType`.
Commit: 96c7a1148dbbaf2d907b3c56de59164f36f31ae3
https://github.com/llvm/llvm-project/commit/96c7a1148dbbaf2d907b3c56de59164f36f31ae3
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes-qc.ll
Log Message:
-----------
[RISCV] Combine Xqci Extensions in Arch Strings (#181033)
There are no instructions in the Xqci extension itself, it is just an
alias of a group. If we have all the items in the group, then we should
add `xqci` to the list of extensions we have.
This helps with multilib matching.
Commit: 0338ffcb0934210f05bf337c33e6d5ba2607dfa8
https://github.com/llvm/llvm-project/commit/0338ffcb0934210f05bf337c33e6d5ba2607dfa8
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
Log Message:
-----------
[CIR] Implement flattening for cleanup scopes with multiple exits (#180627)
This implements CFG flattening for cir.cleanup.scope operations where
the scope body has multiple exits that must all branch through the
cleanup region.
This uses the same strategy that Clang uses when generating LLVM IR for
equivalent cases -- a cleanup destination slot is allocated on the
stack, and a value is stored to this slot before each branch to the
cleanup, indicating where control must go after the cleanup is executed.
Substantial amounts of this PR were created using agentic AI tools, but
I have carefully reviewed the code, comments, and tests and made changes
as needed.
Commit: a00278632dfed7b856a0ac11a58423cb6b14a8c1
https://github.com/llvm/llvm-project/commit/a00278632dfed7b856a0ac11a58423cb6b14a8c1
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.lds.err.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.lds.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.lds.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.lds.ll
Log Message:
-----------
AMDGPU/GlobalISel: Regbanklegalize rules for buffer load lds intrinsics (#180998)
Commit: b7e1922ca15935342f9570ddbb7b61c8164115d5
https://github.com/llvm/llvm-project/commit/b7e1922ca15935342f9570ddbb7b61c8164115d5
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lld/ELF/InputSection.h
M lld/ELF/OutputSections.cpp
M lld/test/ELF/linkorder-group.test
Log Message:
-----------
[lld] Fix undefined behavior with misaligned SHT_GROUP section. (#180848)
read32() allows misaligned values, but a `uint32_t &` must be properly
aligned even if it isn't directly read. ubsan detects this. To fix the
issue, replace the `uint32_t &` with a value that doesn't require
alignment.
Also added an assertion to catch similar misuse of getDataAs().
(Alternatively, we could make the input validation more strict, and
reject files with a misaligned SHT_GROUP, but I don't see any obvious
reason to require that.)
Commit: 2b2582cd3b9ef6132a73881ebd10f846ee018dda
https://github.com/llvm/llvm-project/commit/2b2582cd3b9ef6132a73881ebd10f846ee018dda
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
Log Message:
-----------
[VPlan] Update isUniformAcrossVFsAndUFs to account for sinking.
Recipes can be sunk now. In those cases, the sunk recipes are outside
the loop region, but may not be uniform across VF and UF.
Update the code to only exit early if the recipe is defined before the
region. Without DT available, the easiest way to check is just if it is
in the entry/preheader block.
Fixes https://github.com/llvm/llvm-project/issues/181002.
Fixes https://github.com/llvm/llvm-project/issues/180781.
Commit: e3af9aae6902ae444e1da5f0844248a57d5046fe
https://github.com/llvm/llvm-project/commit/e3af9aae6902ae444e1da5f0844248a57d5046fe
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Add isel helper functions for building a GPRPair or extract from a GPRPair. NFC (#181245)
Commit: d4cac78250cea841d63c2f2be868f1bb29a973a3
https://github.com/llvm/llvm-project/commit/d4cac78250cea841d63c2f2be868f1bb29a973a3
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/module.modulemap
Log Message:
-----------
[clang] Mark `PrivateFieldNames.def` as textual header in module map (#181250)
When building with modules enabled (`LLVM_ENABLE_MODULES=ON`), the
module system attempts to transform the inclusion of
`PrivateFieldNames.def` into a module import. Since this `#include`
appears inside the `SerializationFormat` class definition (to generate
accessor methods via macros), the resulting module import violates C++
modules rules that imports must appear at file scope. The fix is to mark
`PrivateFieldNames.def` as a textual header in the `Clang_Analysis`
module to ensure the file is processed as a traditional textual include.
rdar://170257449
Commit: d0ff94fdeb0732124e163a68f821a8fe2e81013e
https://github.com/llvm/llvm-project/commit/d0ff94fdeb0732124e163a68f821a8fe2e81013e
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .github/workflows/release-documentation.yml
M .github/workflows/release-tasks.yml
Log Message:
-----------
workflows/release-documentation: Add release environment (#181063)
This way we can limit access to the secrets to the main and release
branches.
This is a partial re-commit of b6ee085068972a41f3b2735a9f7e3ca48eab0f00
Commit: ef85b0c454e62e2236ce04fcd0ffec793190cbbf
https://github.com/llvm/llvm-project/commit/ef85b0c454e62e2236ce04fcd0ffec793190cbbf
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
Log Message:
-----------
[VPlan] Check scalar VF in removeRedundantCanonicalIVs.
When the plan has only a scalar VF, we never generate vectors for IVs,
so we can always perform the replacement.
Commit: 22a3f7b568a24b60062e9b27dad30a98687463ac
https://github.com/llvm/llvm-project/commit/22a3f7b568a24b60062e9b27dad30a98687463ac
Author: DeanSturtevant1 <dsturtevant at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Fix after #181026 (#181260)
Commit: 382697a6f0c10fcf2d0f3c679747c42be7d16821
https://github.com/llvm/llvm-project/commit/382697a6f0c10fcf2d0f3c679747c42be7d16821
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/CAS/ObjectStore.h
M llvm/lib/CAS/ObjectStore.cpp
M llvm/lib/CAS/OnDiskCAS.cpp
M llvm/lib/CAS/OnDiskCommon.cpp
M llvm/lib/CAS/OnDiskCommon.h
M llvm/lib/CAS/OnDiskGraphDB.cpp
M llvm/unittests/CAS/CMakeLists.txt
M llvm/unittests/CAS/ObjectStoreTest.cpp
A llvm/unittests/CAS/OnDiskCommonUtils.cpp
M llvm/unittests/CAS/OnDiskCommonUtils.h
M llvm/unittests/CAS/OnDiskGraphDBTest.cpp
Log Message:
-----------
[llvm/CAS] Add file-based APIs to `ObjectStore` (#180657)
Also add optimized implementations for `OnDiskCAS` that can take
advantage of file cloning.
Commit: e7715584c75c67468cbdbf1e48ac4c0c8b3965de
https://github.com/llvm/llvm-project/commit/e7715584c75c67468cbdbf1e48ac4c0c8b3965de
Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/test/Dialect/Tensor/bubble-up-extract-slice-op.mlir
Log Message:
-----------
[mlir][tensor]-Handle Dynamic Offset in BubbleUpSliceOpThroughCollapse (#178921)
This patch extends the `BubbleUpExtractSliceThroughCollapseShape`
pattern to handle cases where `tensor.extract_slice` has a dynamic
offset.
During tile and fuse transformations, it is common to encounter IR where
`tensor.extract_slice` operations appear after `tensor.collapse_shape`.
These patterns are used as cleanup transformations to canonicalize the
IR by bubbling up the slice operation before the reshape. This enables
further optimizations and simplifications downstream.
Previously, the pattern only handled:
1. Static offsets and sizes.
2. Dynamic sizes with a single non-unit expanded dimension.
This left a gap for additional common cases where we may have:
- Dynamic offsets with size == 1 (single element extraction).
- Size greater than 1 but the offset is computed dynamically.
Regarding the first case, It's always legal to perform such a
transformation.
Regarding the second case (i.e. dynamic offset with static
size > 1) we can guarantee contiguity by more restricted
conditions:
1. The innermost expanded dimension is divisible by the slice size
(ensures the slice fits within a single "row")
2. The offset is probably a multiple of the slice size (ensures the
slice starts at an aligned boundary)
For example, given:
- collapse_shape: tensor<6x10xf32> -> tensor<60xf32>
- extract_slice at offset with size
If 10 % size == 0 and offset % 5 == 0, the slice is guaranteed
contiguous. The transformation delinearizes the offset to get [row, col]
indices and extracts [1, size] from the expanded 6x10 shape.
The offset divisibility check uses affine analysis to statically verify
that affine expressions (e.g., `idx * 5`) are multiples of the slice
size.
Commit: c6f24719afa3d76f12a26604936898cbfc4568a5
https://github.com/llvm/llvm-project/commit/c6f24719afa3d76f12a26604936898cbfc4568a5
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
Log Message:
-----------
[RISCV] Fix ordering of CHECK prefixes in some tests to mitigate UTC bug. NFCI (#181259)
This patch fixes the exact same problem as #173125 . Where certain order
of CHECK prefixes will somehow causing UTC to incorrectly (re)generate
surplus check lines and failed the tests.
Commit: ac974fddb9f2cd268036f686cf5052b409f1164d
https://github.com/llvm/llvm-project/commit/ac974fddb9f2cd268036f686cf5052b409f1164d
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/test/Transforms/IndVarSimplify/unreachable-exit.ll
Log Message:
-----------
[NFC] [IndVars] fix typo in test (#181262)
Commit: 7487c7581ea288d004328ae385bf60675a0d6892
https://github.com/llvm/llvm-project/commit/7487c7581ea288d004328ae385bf60675a0d6892
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
A clang/test/CodeGenOpenCL/.gdb_history
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.index.gfx1250.w32.ll
Log Message:
-----------
[AMDGPU] Change 9 SWMMAC builtins to use 64-bit index (#181246)
There 9 gfx1250 instructions have 64-bit packed index:
- v_swmmac_f16_16x16x128_bf8_bf8
- v_swmmac_f16_16x16x128_bf8_fp8
- v_swmmac_f16_16x16x128_fp8_bf8
- v_swmmac_f16_16x16x128_fp8_fp8
- v_swmmac_f32_16x16x128_bf8_bf8
- v_swmmac_f32_16x16x128_bf8_fp8
- v_swmmac_f32_16x16x128_fp8_bf8
- v_swmmac_f32_16x16x128_fp8_fp8
- v_swmmac_i32_16x16x128_iu8
Intrinsics accept anyint, but builtins are defined with i32 argument.
Fixes: SWDEV-579843
Commit: a3d8e35137bfebe9be3277347cc8684215aa0552
https://github.com/llvm/llvm-project/commit/a3d8e35137bfebe9be3277347cc8684215aa0552
Author: OverMighty <its.overmighty at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/SubTest.h
Log Message:
-----------
[libc][math] Fix result sign logic in fputil::generic::add_or_sub (#181231)
Fixes #181121.
Commit: 90cc8c0081c42ac14be007505b61724a245083a5
https://github.com/llvm/llvm-project/commit/90cc8c0081c42ac14be007505b61724a245083a5
Author: Andrew Lazarev <alazarev at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/unittests/Dialect/CMakeLists.txt
R mlir/unittests/Dialect/Linalg/CMakeLists.txt
R mlir/unittests/Dialect/Linalg/InferConvolutionDimsTest.cpp
Log Message:
-----------
Revert "[mlir][linalg] Make conv dim inference return pairing (outputImage, filterLoop)" (#181272)
Reverts llvm/llvm-project#180859
Brakes buildbots:
https://lab.llvm.org/buildbot/#/builders/24/builds/17467
https://lab.llvm.org/buildbot/#/builders/52/builds/14978
Commit: d55219bbe34806bfa735193507ddf95fed7b1504
https://github.com/llvm/llvm-project/commit/d55219bbe34806bfa735193507ddf95fed7b1504
Author: Nico Weber <thakis at chromium.org>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
A llvm/utils/gn/secondary/lldb/source/Plugins/Highlighter/Clang/BUILD.gn
A llvm/utils/gn/secondary/lldb/source/Plugins/Highlighter/Default/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
R llvm/utils/gn/secondary/lldb/source/Plugins/Language/ClangCommon/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/ObjC/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/ObjCPlusPlus/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/REPL/Clang/BUILD.gn
Log Message:
-----------
[gn] port 5e2518f2cc54de7 (lldb highlight plugins)
The GN build doesn't have unittests for lldb, so nothing depends
on these new targets. But it at least gets the build building again.
Commit: 77efa4af205f29cd4c5f73e896becaa830f3d337
https://github.com/llvm/llvm-project/commit/77efa4af205f29cd4c5f73e896becaa830f3d337
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/test/CodeGen/RISCV/sifive7-enable-intervals.mir
M llvm/test/tools/llvm-mca/RISCV/SiFive7/instruction-tables-tests.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/mask.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/scalar-load-store.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/vector-fp.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/vmv.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/vrgather-vcompress.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/xsfvfnrclip.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/xsfvfwmacc.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/xsfvqmacc.s
Log Message:
-----------
[RISCV][NFC] Simplify the vector pipe names in SiFive7 sched model (#181268)
Instead of creating a `VA` for single vector pipe configuration (e.g.
X280) and `VA1` + `VA2` for dual vector pipes ones (e.g. X390), we could
have just use `VA1` in the former case to simplify the related name
aliases.
NFC.
Commit: 0d5eebc22d11455f43b636ac7f4502ba82ab2a08
https://github.com/llvm/llvm-project/commit/0d5eebc22d11455f43b636ac7f4502ba82ab2a08
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CAS/BUILD.gn
Log Message:
-----------
[gn build] Port 382697a6f0c1
Commit: 968b544ebed874a4af85e6de4c7425dbfebb9ff9
https://github.com/llvm/llvm-project/commit/968b544ebed874a4af85e6de4c7425dbfebb9ff9
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/Scalable/BUILD.gn
Log Message:
-----------
[gn build] Port a1c4c1de0519
Commit: ef0386eaec6efe8b51ad24a6fb2e63a196126593
https://github.com/llvm/llvm-project/commit/ef0386eaec6efe8b51ad24a6fb2e63a196126593
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-tidy/BUILD.gn
Log Message:
-----------
[gn build] Port e66574702479
Commit: bb716c7d606934255366c3fdf4e335e868e2532c
https://github.com/llvm/llvm-project/commit/bb716c7d606934255366c3fdf4e335e868e2532c
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
Log Message:
-----------
gn build: Port d090311aa7df
e60a69ab8a9e created a dependency on clangFrontend from clangDriver.
This broke the build of clang-offload-bundler because it only depends
on Driver (and only in debug builds, probably because the dependency was
dead code in clang-offload-bundler). Add the dependency to fix the build,
which also ports d090311aa7df from CMake.
Commit: 127d77f7abe0b9c54562ee37ce474d99effa09c1
https://github.com/llvm/llvm-project/commit/127d77f7abe0b9c54562ee37ce474d99effa09c1
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Pass missing release-version input to upload-release-artifact (#180879)
This was causing the 22.1.0-rc3 uploads to fail.
Commit: a3b51529d1948dee37b5bb44d49fa82b9ea37157
https://github.com/llvm/llvm-project/commit/a3b51529d1948dee37b5bb44d49fa82b9ea37157
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
M clang/test/CodeGenCXX/template-cxx20.cpp
Log Message:
-----------
[clang] CodeGen: fix ConstantExpr LValue emission (#181057)
This fixes a regression introduced in #161029, though not the fault of
that patch, only by incidental changes regarding the preservation of
constant expression nodes.
The LValue emission of ConstantExpr was doing strange things with
regards to what type corresponds to the result of the constant
expression, which are not justified by any tests or in the discussions
of the relevant patches.
See
https://github.com/llvm/llvm-project/commit/09669e6c5fa1e8db9c1091cc264640fb0377d6b6
and https://github.com/llvm/llvm-project/pull/78041 and
https://github.com/llvm/llvm-project/commit/51e4aa87e05c45bebf9658a47980b1934c88be31
This simplifies it to just use the expression type.
Since this regression was never released, there are no release notes.
Fixes #177807
Commit: 1923fa0da14ef883a0e94fc0e30f1d35fba6a152
https://github.com/llvm/llvm-project/commit/1923fa0da14ef883a0e94fc0e30f1d35fba6a152
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
A clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.h
A clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.td
M clang/include/clang/CIR/Interfaces/CMakeLists.txt
A clang/lib/CIR/Interfaces/ASTAttrInterfaces.cpp
M clang/lib/CIR/Interfaces/CMakeLists.txt
Log Message:
-----------
[CIR] Add ASTVarDeclInterface for AST attribute access (#179825)
Add the ASTVarDeclInterface which provides methods to access clang AST
VarDecl information from CIR attributes. This interface enables:
- mangleStaticGuardVariable: Mangle guard variable names using clang's
MangleContext
- isLocalVarDecl: Check if a variable is function-local
- getTLSKind: Get thread-local storage kind
- isInline: Check if the variable is inline
- getTemplateSpecializationKind: Get template specialization info
- getVarDecl: Direct access to the underlying VarDecl pointer
This infrastructure is needed for proper handling of static local
variables with guard variables in LoweringPrepare.
Commit: 708d1c1b8c2468a366f6914b88eaa3f3a4c932b0
https://github.com/llvm/llvm-project/commit/708d1c1b8c2468a366f6914b88eaa3f3a4c932b0
Author: Jim Lin <jim at andestech.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Gnu.cpp
Log Message:
-----------
[RISCV] Simply add the march/mabi strings to Flags for multilib selection (#180104)
It does't need to compare the march/mabi with multilib's before adding
such string into Flags. The negative one (!march/!mabi) has no effect
during multilib selection. We can select either a multilib with
identical march and mabi, or one with a subset of march and the same
mabi.
Commit: 75f738b0b2a15281c6f285380ea947e973a6e02f
https://github.com/llvm/llvm-project/commit/75f738b0b2a15281c6f285380ea947e973a6e02f
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/IR/invalid-static-local.cir
A clang/test/CIR/IR/static-local.cir
Log Message:
-----------
[CIR] Add static_local attribute to GlobalOp and GetGlobalOp (#179826)
This attribute marks function-local static variables that require
guarded initialization (e.g., C++ static local variables with
non-constant initializers).
It will be used by CIRGen to communicate to LoweringPrepare which globals need guard variable emission.
This PR only adds the attribute and tests, CIRGen is in the next one.
Commit: 448e49423509a7f7e4f19378e0568e83cd7218bc
https://github.com/llvm/llvm-project/commit/448e49423509a7f7e4f19378e0568e83cd7218bc
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/tools/c-index-test/BUILD.gn
M llvm/utils/gn/secondary/clang/tools/diagtool/BUILD.gn
Log Message:
-----------
gn build: Add missing deps to c-index-test and diagtool.
Exposed by bb716c7d6069.
Commit: b5c41b4bdef7faaaf49125b41fdee0116824e73a
https://github.com/llvm/llvm-project/commit/b5c41b4bdef7faaaf49125b41fdee0116824e73a
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-init.cpp
A clang/test/CIR/CodeGen/static-local.cpp
Log Message:
-----------
[CIR] Add CIRGen support for static local variables with non-constant initializers (#179827)
This adds CIRGen infrastructure for C++ function-local static variables
that require guarded initialization (Itanium C++ ABI).
Changes:
- Add ASTVarDeclAttr to carry VarDecl AST through the pipeline
- Add emitGuardedInit() to CIRGenCXXABI for guarded initialization
- Add emitCXXGuardedInit() to CIRGenFunction
- Replace NYI in addInitializerToStaticVarDecl() with ctor region emission
- Set static_local attribute on GlobalOp and GetGlobalOp
This doesn't unwrap the high level constructs just yet - The global's ctor region contains the initialization code, which will be lowered by LoweringPrepare to emit the actual guard variable pattern with __cxa_guard_acquire/__cxa_guard_release calls.
Commit: 685507d9beefce91a59591795a54bf92b66c8de7
https://github.com/llvm/llvm-project/commit/685507d9beefce91a59591795a54bf92b66c8de7
Author: Andrew Lazarev <alazarev at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
Log Message:
-----------
Revert "[ELF] Add target-specific relocation scanning for x86" (#181274)
Reverts llvm/llvm-project#178846
Brakes buildbot:
https://lab.llvm.org/buildbot/#/builders/25/builds/15566
Commit: 792ac8e94cdb1d8685d52cced32fcd513c0aec57
https://github.com/llvm/llvm-project/commit/792ac8e94cdb1d8685d52cced32fcd513c0aec57
Author: Zhen Wang <37195552+wangzpgi at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/cuf17.cuf
Log Message:
-----------
[flang][cuda] Resolve generic tie‑breaks using per‑arg CUDA distance (#181038)
Switch CUDA generic resolution to compare per‑argument CUDA matching
distances lexicographically instead of summing them. This prevents
ambiguous matches when different specifics yield the same total
distance.
Commit: e777fe2a6fdd5d59f23eebeddedf29925fdc8952
https://github.com/llvm/llvm-project/commit/e777fe2a6fdd5d59f23eebeddedf29925fdc8952
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpFrame.h
Log Message:
-----------
[clang][bytecode][NFC] Add InterpFrame::getName() (#181158)
Commit: 24fbf9deb002ef0f0f35527bbafb8e84ef6dc148
https://github.com/llvm/llvm-project/commit/24fbf9deb002ef0f0f35527bbafb8e84ef6dc148
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/MemberPointer.cpp
M clang/lib/AST/ByteCode/MemberPointer.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/PrimType.h
M clang/test/AST/ByteCode/memberpointers.cpp
M clang/unittests/AST/ByteCode/toAPValue.cpp
Log Message:
-----------
[clang][bytecode] Add a path to MemberPointers (#179050)
Add a path and an `IsDerivedMember` member to our `MemberPointer` class.
Fix base-to-derived/derived-to-base casts. Add tests and unit tests,
since regular tests allow a lot and we want to check the path size
exactly.
Commit: da9c513c87b2fbd32e32e4122dec9ce437f0b9b6
https://github.com/llvm/llvm-project/commit/da9c513c87b2fbd32e32e4122dec9ce437f0b9b6
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.h
M clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/test/CIR/CodeGen/static-local.cpp
M clang/test/CIR/IR/invalid-static-local.cir
M clang/test/CIR/IR/static-local.cir
Log Message:
-----------
[CIR][LoweringPrepare] Emit guard variables for static local initialization (#179828)
This implements the lowering of static local variables with the Itanium C++ ABI
guard variable pattern in LoweringPrepare. This is initial support, errorNYI covering all that hasn't been added just yet.
When a GlobalOp has the static_local attribute and a ctor region, this pass:
1. Creates a guard variable global (mangled name from AST)
2. Inserts the guard check pattern at each GetGlobalOp use site:
- Load guard byte with acquire ordering
- If zero, call __cxa_guard_acquire
- If acquire returns non-zero, inline the ctor region code
- Call __cxa_guard_release
3. Clears the static_local attribute and ctor region from the GlobalOp
Once the new design doc lands I'll add more information over there.
Commit: 48566b21a48573e0b2dcc67936ea8fdb7c40974a
https://github.com/llvm/llvm-project/commit/48566b21a48573e0b2dcc67936ea8fdb7c40974a
Author: Tuomas Kärnä <tuomas.karna at intel.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/TransformOps/XeGPUTransformOps.td
M mlir/lib/Dialect/XeGPU/TransformOps/XeGPUTransformOps.cpp
M mlir/python/mlir/dialects/transform/xegpu.py
M mlir/test/Dialect/XeGPU/transform-ops-invalid.mlir
M mlir/test/Dialect/XeGPU/transform-ops.mlir
M mlir/test/python/dialects/transform_xegpu_ext.py
Log Message:
-----------
[MLIR][XeGPU][TransformOps] set_op_layout_attr supports setting anchor layout (#172542)
Changes `transform.xegpu.set_op_layout_attr` to support xegpu anchor
layouts. By default, if `result` and `operand` bool arguments are unset,
this transform op sets the op's anchor layout, if the op supports it
(otherwise emits a silenceable failure).
In contrast to the earlier implementation, setting the operand layout
now requires setting the new `operand` argument.
Commit: a89e766ca63d61874138dd84b0e2eaf1f9d73d51
https://github.com/llvm/llvm-project/commit/a89e766ca63d61874138dd84b0e2eaf1f9d73d51
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
A llvm/test/Transforms/IndVarSimplify/scev-update-loop-opt.ll
Log Message:
-----------
[IndVarSimplify] Add safety check for getTruncateExpr in genLoopLimit (#181296)
getTruncateExpr may not always return a SCEVAddRecExpr when truncating
loop bounds. Add a check to verify the result type before casting, and
bail out of the transformation if the cast would be invalid.
This prevents potential crashes from invalid casts when dealing with
complex loop bounds.
Co-authored by Michael Rowan
Resolves
[https://github.com/llvm/llvm-project/issues/153090](https://github.com/llvm/llvm-project/issues/153090)
Commit: a809d6409f7a4785d0301bddea8a1ce6713c6179
https://github.com/llvm/llvm-project/commit/a809d6409f7a4785d0301bddea8a1ce6713c6179
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Remove RISCVISD::WMACC*. Match during isel. NFC (#181197)
I think we may want to be able to fold ADDD nodes independent of the MUL
in some cases. For example turning NSRAI into NSRARI.
If we fold ADDD into WMACC we would need to be able to extract it again.
Keep the nodes separate avoids this.
Code change was assisted by AI.
Commit: 4b887533389c78e3e678b3af85d1dc8e3bf59e83
https://github.com/llvm/llvm-project/commit/4b887533389c78e3e678b3af85d1dc8e3bf59e83
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF] Add target-specific relocation scanning for x86 (#178846)
Implement scanSection/scanSectionImpl for i386 and x86-64 to
* enable devirtualization of getRelExpr calls
* eliminate abstraction overhead for PLT-to-PCRel optimization, TLS
relocations
* optimize for R_X86_64_PC32 and R_X86_64_PLT32: they consist of 95%
relocations in `lld/ELF/**/*.o` files.
* enable future optimization to remove `loc` from `getRelExpr` (only
used by X86.cpp `R_386_GOT32[X]`)
at the cost of more boilerplate.
TLS relocation handling is inlined into scanSectionImpl. Also,
- Remove getTlsGdRelaxSkip
- Replace TLS-optimization-specific expressions:
- R_RELAX_TLS_GD_TO_LE, R_RELAX_TLS_LD_TO_LE, R_RELAX_TLS_IE_TO_LE →
R_TPREL
- R_RELAX_TLS_GD_TO_IE → R_GOT_PC
This follows the pattern established for MIPS and PPC64 in `#163138`.
getRelExpr is simplified to only handle relocations needed for
relocateNonAlloc and relocateEH.
Average "Scan relocations" time (measured by --time-trace) decreases
from 110078 to 101585.
(
```
ruby -rjson -e 't=[]; 50.times { system("numactl -C 0-7 /t/lld1 -flavor gnu --threads=8 @response.txt -o a.out --time-trace"); t << JSON.parse(File.read("a.out.time-trace"))["traceEvents"].find { |e| e["name"] == "Scan relocations" }["dur"] }; puts "Average: #{t.sum / t.size}"'
```
)
Commit: 5ab9cbe41b7fd8367ebd8f29ad11b6fe4fe2b579
https://github.com/llvm/llvm-project/commit/5ab9cbe41b7fd8367ebd8f29ad11b6fe4fe2b579
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
A llvm/test/CodeGen/ARM/fp-intrinsics-vector-v8.ll
A llvm/test/CodeGen/Thumb2/mve-intrinsics/strict-round.ll
Log Message:
-----------
[ARM] Precommit tests: strictfp rounding vector intrinsics (#180479)
Commit: 655b6fbd5c3431fecff5055614686b0b3f141456
https://github.com/llvm/llvm-project/commit/655b6fbd5c3431fecff5055614686b0b3f141456
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/include/lldb/API/SBProcessInfoList.h
M lldb/include/lldb/Breakpoint/StoppointHitCounter.h
M lldb/include/lldb/Core/AddressRangeListImpl.h
M lldb/include/lldb/Core/DebuggerEvents.h
M lldb/include/lldb/Core/Declaration.h
M lldb/include/lldb/Core/SourceLocationSpec.h
M lldb/include/lldb/Host/common/DiagnosticsRendering.h
M lldb/include/lldb/Host/common/ZipFileResolver.h
M lldb/include/lldb/Host/posix/Support.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h
M lldb/include/lldb/Symbol/SaveCoreOptions.h
M lldb/include/lldb/Symbol/SymbolLocator.h
M lldb/include/lldb/Target/RegisterTypeBuilder.h
M lldb/include/lldb/Target/TraceCursor.h
M lldb/include/lldb/Target/TraceDumper.h
M lldb/include/lldb/Target/TraceExporter.h
M lldb/include/lldb/Utility/AppleUuidCompatibility.h
M lldb/include/lldb/Utility/ErrorMessages.h
M lldb/include/lldb/Utility/FileSpecList.h
M lldb/include/lldb/Utility/ScriptedMetadata.h
M lldb/include/lldb/Utility/StreamBuffer.h
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/include/lldb/ValueObject/ValueObjectSynthetic.h
M lldb/source/Commands/CommandObjectProtocolServer.h
M lldb/source/Commands/CommandObjectRegexCommand.h
M lldb/source/Commands/CommandObjectScripting.h
M lldb/source/Host/macosx/objcxx/PosixSpawnResponsible.h
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.h
M lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.h
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h
M lldb/source/Plugins/Highlighter/Clang/ClangHighlighter.h
M lldb/source/Plugins/Highlighter/Default/DefaultHighlighter.h
M lldb/source/Plugins/Instruction/RISCV/RISCVCInstructions.h
M lldb/source/Plugins/Instruction/RISCV/RISCVInstructions.h
M lldb/source/Plugins/InstrumentationRuntime/BoundsSafety/InstrumentationRuntimeBoundsSafety.h
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/VerboseTrapFrameRecognizer.h
M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.h
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
M lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.h
M lldb/source/Plugins/Platform/WebAssembly/PlatformWasmRemoteGDBServer.h
M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_ppc64.h
M lldb/source/Plugins/Process/mach-core/RegisterContextUnifiedCore.h
M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
M lldb/source/Plugins/Process/scripted/ScriptedThread.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Plugins/Protocol/MCP/Resource.h
M lldb/source/Plugins/Protocol/MCP/Tool.h
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.h
M lldb/source/Plugins/ScriptInterpreter/Lua/Lua.h
M lldb/source/Plugins/ScriptInterpreter/Lua/SWIGLuaBridge.h
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
M lldb/source/Plugins/SyntheticFrameProvider/ScriptedFrameProvider/ScriptedFrameProvider.h
M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.h
M lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.h
M lldb/source/Plugins/TraceExporter/common/TraceHTR.h
M lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h
M lldb/source/Plugins/TraceExporter/ctf/TraceExporterCTF.h
M lldb/source/Utility/WasmVirtualRegisters.h
Log Message:
-----------
[lldb] Fix LLDB header guards (NFC) (#181312)
Fix LLDB header guards using clang-tidy's llvm-header-guard check. A
bunch of headers have been moved or renamed and we often forget to
update the header guard.
Commit: da6851f9ef365a87951a4a4306705e30f5ee62a2
https://github.com/llvm/llvm-project/commit/da6851f9ef365a87951a4a4306705e30f5ee62a2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lldb/source/API/SBFile.cpp
Log Message:
-----------
[lldb] Fix typo: transfer_owndership -> transfer_ownership (NFC) (#181314)
Commit: 54c080da2ccaf59f0636d2e7d6c789a634a5c47e
https://github.com/llvm/llvm-project/commit/54c080da2ccaf59f0636d2e7d6c789a634a5c47e
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/tools/mlir-tblgen/DialectGen.cpp
Log Message:
-----------
[MLIR][ODS] Make dialect attribute helper member functions const (NFC) (#181111)
This commit marks member functions of dialect attribute helpers as
constant. This ensures that these helpers can be used as members of
rewrite patterns, whose `matchAndRewrite` functions are marked as const
as well.
Commit: 29b363ea640f7a02987e3786d26538af14428c24
https://github.com/llvm/llvm-project/commit/29b363ea640f7a02987e3786d26538af14428c24
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
Log Message:
-----------
[clang][bytecode] Don't check lvalue expressions for initialization (#181309)
We're not reading from them, so they don't need to be fully initialized.
Commit: 8d5a58ee8567df51db9c9a3d2c30c2af105ef3fd
https://github.com/llvm/llvm-project/commit/8d5a58ee8567df51db9c9a3d2c30c2af105ef3fd
Author: David Green <david.green at arm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
Log Message:
-----------
[AArch64] Even more fcmp+select tests. NFC
This time from known bits.
Commit: b9f4c7887380ea52c0ce101548db584d329fdd70
https://github.com/llvm/llvm-project/commit/b9f4c7887380ea52c0ce101548db584d329fdd70
Author: Hugo Rambure <32395687+Nodli at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Log Message:
-----------
[clangd] Respect ArgumentLists setting for lambdas (#181009)
Fixes https://github.com/clangd/clangd/issues/1861
Commit: 25a56fbd15dfbd4954ae168a8ce656823d76d3f8
https://github.com/llvm/llvm-project/commit/25a56fbd15dfbd4954ae168a8ce656823d76d3f8
Author: Alex Wang <yesterda9 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy] Fix bugprone-bad-signal-to-kill-thread not working in clangd (#180711)
After preamble deserialization, `Token::getLiteralData()` returns
`nullptr` for macro tokens defined in headers. Fall back to
`SourceManager` to retrieve the token text from the source buffer.
Fixes https://github.com/clangd/clangd/issues/2473
Commit: 420047c4cc90508614ff88c7e8defd7967ef9274
https://github.com/llvm/llvm-project/commit/420047c4cc90508614ff88c7e8defd7967ef9274
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
Log Message:
-----------
[AArch64] Fix active.lane.mask(0, cttz.elts(x)) -> 'brkb' transform (#180177)
If the result type and mask don't match, the transform is not valid.
Commit: 5629f4e9d10e5ffe65e52057a02b984012b4abf9
https://github.com/llvm/llvm-project/commit/5629f4e9d10e5ffe65e52057a02b984012b4abf9
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port a1d7cda.
Commit: e2cc034ba7716478b5555090a2990294e3cec479
https://github.com/llvm/llvm-project/commit/e2cc034ba7716478b5555090a2990294e3cec479
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Fix 22a3f7b.
Commit: 25ea9206993134e1e93e840f3391aa35204a5204
https://github.com/llvm/llvm-project/commit/25ea9206993134e1e93e840f3391aa35204a5204
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/complex.cpp
Log Message:
-----------
[clang][bytecode] Fix already initializing _Complex UO_Not (#181323)
We'd accidentally leave the subexpr pointer on the stack.
Commit: 8f22e431476698197ddc13d3caa87e7b84254667
https://github.com/llvm/llvm-project/commit/8f22e431476698197ddc13d3caa87e7b84254667
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/complex.c
Log Message:
-----------
[clang][bytecode] Fix multi-word complex division (#181325)
Looks like I forgot about `isZero()` when writing this.
Commit: eb30b5cf0b38828090f61f00adb4a7144ddc4231
https://github.com/llvm/llvm-project/commit/eb30b5cf0b38828090f61f00adb4a7144ddc4231
Author: David Green <david.green at arm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
Log Message:
-----------
[AArch64] Lower SETLE and SETLT vector CondCodes to FCMGT/FCMGE directly.
We previously checked that the compare was NoNan, but the "don't care"
condition codes can be set from known-values as well as nnan instructions.
Lower the vector condition codes directly so that they do not get scalarized
into many scalar instructions.
Commit: 6906c5c0338b74750bba745725a1254d918620f0
https://github.com/llvm/llvm-project/commit/6906c5c0338b74750bba745725a1254d918620f0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Fix __builtin_nan* for non-primitive arrays (#181326)
They might've been casted, so we need t check for it, not assert.
Commit: ac6382425e6c9849387ae0fc4bbaa6127c458af0
https://github.com/llvm/llvm-project/commit/ac6382425e6c9849387ae0fc4bbaa6127c458af0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Check for invalid call expressions (#181327)
Commit: ca8082f3564a3274094aa9eb4c3997142f8df2f9
https://github.com/llvm/llvm-project/commit/ca8082f3564a3274094aa9eb4c3997142f8df2f9
Author: hanbeom <kese111 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/and-xor-merge.ll
Log Message:
-----------
[InstCombine] Fold ((X + AddC) & Mask) ^ Mask to (~AddC - X) & Mask (#174278)
This patch optimizes specific pattern.
((X + AddC) & Mask) ^ Mask
-> (~AddC - X) & Mask
Proof: https://alive2.llvm.org/ce/z/XFHfnD
Fixed: https://github.com/llvm/llvm-project/issues/128475
Commit: 2435a6856b92fad20e8e121c0e1e0270180b9e06
https://github.com/llvm/llvm-project/commit/2435a6856b92fad20e8e121c0e1e0270180b9e06
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/test/AST/ByteCode/vectors.cpp
Log Message:
-----------
[clang][bytecode] Strip atomicity in Descriptor::getElemQualType() (#181328)
The later check for VectorType fails otherwise.
Commit: 0f8325c9a9647e9c97bc81e368767fb21ee25ccf
https://github.com/llvm/llvm-project/commit/0f8325c9a9647e9c97bc81e368767fb21ee25ccf
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
A llvm/test/Analysis/CostModel/WebAssembly/extract-last-active.ll
Log Message:
-----------
Revert "[WebAssembly] Mark extract.last.active as having invalid cost." (#180942)
The failures should have been resolved with #180290 (which also added
WebAssembly tests).
This reverts commit 811fb223af2b3e2d68c99b346f4b75dcf3de3417.
Commit: b58a31d3cec8f42d8222ff86e8340c9a926f5224
https://github.com/llvm/llvm-project/commit/b58a31d3cec8f42d8222ff86e8340c9a926f5224
Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M offload/CMakeLists.txt
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/unittests/OffloadAPI/CMakeLists.txt
A offload/unittests/OffloadAPI/device/olGetHostInfo.cpp
Log Message:
-----------
[OFFLOAD] Add support for host offloading device (#177307)
The purpose of this PR is to add support of host as an offloading device
to liboffload. Both OpenMP and sycl support offloading to a host as
their normal workflow and therefore would require such capability from
liboffload library.
Commit: 900fac763f65774042502d62b80233fb107c65b4
https://github.com/llvm/llvm-project/commit/900fac763f65774042502d62b80233fb107c65b4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Check strlen element size (#181333)
We're otherwise running into an assertion later, so do the check early.
Commit: a7a249f072461bbb2a429848bb31682d0b9a93a4
https://github.com/llvm/llvm-project/commit/a7a249f072461bbb2a429848bb31682d0b9a93a4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libcxx/include/__filesystem/path.h
Log Message:
-----------
[libc++][NFC] Simplify some overloads in fs::path a bit (#181053)
We can use `if constexpr` instead, removing a bit of code and making
things easier to read.
Commit: 0ad941a98b69b9581f1f1663b088d4fa16960606
https://github.com/llvm/llvm-project/commit/0ad941a98b69b9581f1f1663b088d4fa16960606
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
R llvm/test/Analysis/CostModel/WebAssembly/extract-last-active.ll
Log Message:
-----------
Revert "Revert "[WebAssembly] Mark extract.last.active as having invalid cost."" (#181342)
Reverts llvm/llvm-project#180942
Looks like something changed the cost model. Will investigate later.
Commit: d7d4e4ace55cb6f1f727d1053e9d409882453b20
https://github.com/llvm/llvm-project/commit/d7d4e4ace55cb6f1f727d1053e9d409882453b20
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libcxx/include/__charconv/from_chars_integral.h
Log Message:
-----------
[libc++][NFC] Don't use copy_n to copy a single integer in __sign_combinator (#181119)
We can just assign the integer directly.
Commit: c2b69b1a173704e246f7501f8e87268ff6afcd01
https://github.com/llvm/llvm-project/commit/c2b69b1a173704e246f7501f8e87268ff6afcd01
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Do a full CheckLoad in builtin_memcmp() (#181337)
This handles unknown size arrays as well and prints the expected
diagnostics.
Commit: e0182ebd40066fedc282f9cb06cbec48b6f827dc
https://github.com/llvm/llvm-project/commit/e0182ebd40066fedc282f9cb06cbec48b6f827dc
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M offload/CMakeLists.txt
Log Message:
-----------
[OFFLOAD] Fix issue where host plugin is added twice to the plugin list (#181346)
Commit: fe413f70fe594fcc53519fc685a0de36a8cbcb36
https://github.com/llvm/llvm-project/commit/fe413f70fe594fcc53519fc685a0de36a8cbcb36
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Transforms/IndVarSimplify/turn-to-invariant.ll
Log Message:
-----------
[SCEV] Discard samesign when analyzing loop invariant exits (#181171)
If the predicate has samesign set, we could either perform the checks
with the unsigned predicate and return and unsigned invariant predicate,
or we could perform them with the signed predicate and return a signed
invariant predicate. The current implementation can end up mixing both,
using a signed predicate for one check and an unsigned one for the
other.
Avoid this by dropping the samesign flag.
Fixes https://github.com/llvm/llvm-project/issues/180870.
Commit: a55fbab0cffc9b4af497b9e4f187b61143743e06
https://github.com/llvm/llvm-project/commit/a55fbab0cffc9b4af497b9e4f187b61143743e06
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/pr141968-instsimplifyfolder.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/pr154045-dont-fold-extractelement-livein.ll
M llvm/test/Transforms/LoopVectorize/select-neg-cond.ll
Log Message:
-----------
[VPlan] Run initial recipe simplification on VPlan0. (#176828)
In some cases, LV gets simplifyable IR as input. Directly apply
simplifications on the initial VPlan0 to avoid vectorization in cases
where the loop body can be folded away.
Using the end-to-end pipeline, this is relatively rare, but when
reducing test cases, the reduction often ends up with cases with trivial
folds. Rejecting those will result in more robust & realistic test
cases.
As follow-up, I also plan to add initial dead recipe removal.
Depends on https://github.com/llvm/llvm-project/pull/176795.
PR: https://github.com/llvm/llvm-project/pull/176828
Commit: 7f932c24ad3ca5d961a3608151798d6828983e8c
https://github.com/llvm/llvm-project/commit/7f932c24ad3ca5d961a3608151798d6828983e8c
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
Log Message:
-----------
[OffloadWrapper] Avoid unnecessary zero-index GEPs
These are no-ops that will get optimized away.
Commit: cf95ad190e0d12d93d756556864fedda1a0d7ade
https://github.com/llvm/llvm-project/commit/cf95ad190e0d12d93d756556864fedda1a0d7ade
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
A llvm/test/tools/llubi/divrem_ub1.ll
A llvm/test/tools/llubi/divrem_ub2.ll
A llvm/test/tools/llubi/divrem_ub3.ll
A llvm/test/tools/llubi/divrem_ub4.ll
A llvm/test/tools/llubi/int_arith.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.h
Log Message:
-----------
[llubi] Add support for integer arithmetic ops (#181224)
Commit: 655eddad9b135e9b51e85f3e5db646b92adf8e69
https://github.com/llvm/llvm-project/commit/655eddad9b135e9b51e85f3e5db646b92adf8e69
Author: Ryan Mansfield <ryan_mansfield at apple.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/test/tools/llvm-objdump/MachO/dis-symname.test
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/tools/llvm-objdump/MachODump.h
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-otool] Fix error messages to use -p instead of --dis-symname (#181225)
Also fixes llvm-objdump error messages to print --dis-symname instead of
single dash option.
Commit: c592866bbad0b63155612e8b9d8977e6e9db1070
https://github.com/llvm/llvm-project/commit/c592866bbad0b63155612e8b9d8977e6e9db1070
Author: Ayush Kumar Gaur <132849148+Ayush3941 at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprCXX.cpp
A clang/test/SemaCXX/address-space-new-delete.cpp
Log Message:
-----------
[clang][Sema] Avoid assert when diagnosing address-space qualified new/delete (#178424)
### Whats the error
Clang could assert when diagnosing new or delete on types in
language-specific address spaces (e.g. OpenCL __local), instead of
emitting a normal error.
### Why it happened
The diagnostics used getAddressSpaceAttributePrintValue(), which assumes
target-specific address spaces and asserts for language-defined ones
like
OpenCL.
### Whats the Fix
Explicitly check for language defined address spaces in new/delete
diagnostics and emit the error directly, avoiding the crashing path, Add
a regression test.
Fixes #178319
Commit: aac8885d323172475fca41a8c03dea495187d10f
https://github.com/llvm/llvm-project/commit/aac8885d323172475fca41a8c03dea495187d10f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaCXXScopeSpec.cpp
A clang/test/SemaCXX/GH167120.cpp
Log Message:
-----------
[clang] NestedNameSpecifier typo correction fix (#181239)
This stops typo correction from considering template parameters as
candidates for a NestedNameSpecifier when it has a prefix itself.
I think this is better than the alternative of accepting these
candidates, but otherwise droping the prefix, because it seems more
far-fetched that someone would actually try to refer to a template
parameter this way.
Since this regression was never released, there are no release notes.
Fixes #167120
Commit: 741a4daa84c602d4bdd838ad469aea95b9f1d46c
https://github.com/llvm/llvm-project/commit/741a4daa84c602d4bdd838ad469aea95b9f1d46c
Author: Tobias Ribizel <mail at ribizel.de>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/Basic/SourceLocation.h
Log Message:
-----------
[clang] Clarify SourceLocation and (Char)SourceRange docs (#177400)
The current documentation leaves some questions unanswered to me, which
I'm trying to clarify here.
1. It was unclear how SourceLocation differed when referring to the
character level vs. the token level. Turns out there is no such
difference, and SourceLocation always refers to characters. This should
be made explicit in the docs.
2. It was unclear in which cases (Char)SourceRange is inclusive
(containing the endpoint) or exclusive (ending before the endpoint).
>From my reading of the docs and investigating the behavior of different
AST nodes' `getSourceLoc()` result and `Lexer::getSourceText()`,
SourceRange is always inclusive and CharSourceRange is inclusive only as
a TokenRange, and exclusive as a CharRange. This is also consistent
matches with the documentation of the clang::transformer::after()
function in RangeSelector.h, where the question of inclusive/exclusive
ranges came up first for me.
Commit: e0293fc7a55aa880d1bb67d31775bdbe85c672d1
https://github.com/llvm/llvm-project/commit/e0293fc7a55aa880d1bb67d31775bdbe85c672d1
Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M openmp/runtime/src/include/ompx.h.var
Log Message:
-----------
[OFFLOAD] Add support for SPIRV to ompx (#179849)
After adding support to build device RTL for SPIRV, this PR will make an
ompx to use the DeviceRTL API when compiled for SPIRV
Commit: b447f5d9763010f8c6806c578533291aef2bd484
https://github.com/llvm/llvm-project/commit/b447f5d9763010f8c6806c578533291aef2bd484
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
A lldb/test/API/tools/lldb-dap/unknown/Makefile
A lldb/test/API/tools/lldb-dap/unknown/TestDAP_unknownRequest.py
A lldb/test/API/tools/lldb-dap/unknown/main.c
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
A lldb/tools/lldb-dap/Handler/UnknownRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[lldb-dap] Add unknown request handler (#181109)
Added unknown request handler to avoid crash. Returning error in this
case looks better than stopping entire debug session.
Commit: 80fffd527c20ac8970fbffc37c674caa17faa815
https://github.com/llvm/llvm-project/commit/80fffd527c20ac8970fbffc37c674caa17faa815
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lldb/include/lldb/API/SBFrame.h
M lldb/include/lldb/Target/BorrowedStackFrame.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/API/SBFrame.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
M lldb/source/Target/BorrowedStackFrame.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/test/API/commands/frame/var-dil/basics/AddressOf/TestFrameVarDILAddressOf.py
M lldb/test/API/commands/frame/var-dil/basics/ArraySubscript/TestFrameVarDILArraySubscript.py
M lldb/test/API/commands/frame/var-dil/basics/LocalVars/TestFrameVarDILLocalVars.py
M lldb/test/API/commands/frame/var-dil/basics/MemberOf/TestFrameVarDILMemberOf.py
M lldb/test/API/commands/frame/var-dil/basics/PointerDereference/TestFrameVarDILPointerDereference.py
M lldb/test/API/commands/frame/var-dil/expr/Casts/TestFrameVarDILCast.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
Log Message:
-----------
[lldb] Add evaluation modes to DIL (#178747)
Adding more supported operators to DIL breaks tests in `DWIMPrint` and
`lldb-dap`, which shouldn't be simply adjusted for new DIL capabilities.
They act as a check for the boundaries of what subset of expressions
`DWIMPrint` and `lldb-dap` expect to be evaluated when using
`GetValueForVariableExpressionPath` function. With this patch, the
caller can now pick a mode that limits the expressions DIL can evaluate,
which ensures the expected preexisting behavior. More operators can now
be safely added to DIL, which can still be evaluated by DIL when using
`frame var` command or the API call with Full mode selected (or not
specified at all).
DIL will only attempt evaluating expressions that contain operations
allowed by a selected mode:
- Simple: identifiers, operators: '.'
- Legacy: identifiers, integers, operators: '.', '->', '*', '&', '[]'
- Full: everything supported by DIL
Commit: 36a4a55f580bc6fe7a86bf4b5ea447925c100197
https://github.com/llvm/llvm-project/commit/36a4a55f580bc6fe7a86bf4b5ea447925c100197
Author: Aadarsh Keshri <120744385+Aadarsh-Keshri at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/C/C2y/n3369.c
Log Message:
-----------
[Clang] Fix crash for _Countof(void) by correcting extension handling (#181169)
Fix a crash for _Countof(void) caused by incorrect extension handling in
CheckExtensionTraitOperandType.
Fixes #180893
Commit: 0d8d421d4eff42acb880b328acdf123bea0d0838
https://github.com/llvm/llvm-project/commit/0d8d421d4eff42acb880b328acdf123bea0d0838
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/tools/bugpoint/Miscompilation.cpp
Log Message:
-----------
[bugpoint] Remove unnecessary zero-index GEP
This is a no-op.
Commit: 778948f2d6d37aad710342a8e7480999ae019175
https://github.com/llvm/llvm-project/commit/778948f2d6d37aad710342a8e7480999ae019175
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/examples/BrainF/BrainF.cpp
Log Message:
-----------
[BrainF] Remove unnecessary zero-index GEP
This is a no-op.
Commit: a93e04cf8341242c551561dc2619943e1407a87b
https://github.com/llvm/llvm-project/commit/a93e04cf8341242c551561dc2619943e1407a87b
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[AddressSanitizer] Remove unnecessary zero-index GEP
This is a no-op.
Commit: a17ffaf9d08a1a88fba522acfb6bd19b5ec90c24
https://github.com/llvm/llvm-project/commit/a17ffaf9d08a1a88fba522acfb6bd19b5ec90c24
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
Log Message:
-----------
[AMDGPU] Avoid unnecessary zero-index GEPs
These are no-ops.
Commit: b16e7de0f20756846d13b2913fd2f46b8d9c14d4
https://github.com/llvm/llvm-project/commit/b16e7de0f20756846d13b2913fd2f46b8d9c14d4
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/CIR/ABIArgInfo.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/bitfields.cpp
M clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp
M clang/test/CIR/CodeGen/cxx-special-member-attr.cpp
M clang/test/CIR/CodeGen/derived-to-base.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
M clang/test/CIR/CodeGen/forrange.cpp
M clang/test/CIR/CodeGen/goto.cpp
M clang/test/CIR/CodeGen/if.cpp
M clang/test/CIR/CodeGen/inline-attributes.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/new.cpp
M clang/test/CIR/CodeGen/no-odr-use.cpp
M clang/test/CIR/CodeGen/pack-indexing.cpp
A clang/test/CIR/CodeGen/ret-attrs.cpp
M clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGen/template-specialization.cpp
M clang/test/CIR/CodeGen/temporary-materialization.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
M clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
M clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
M clang/test/CIR/CodeGenCUDA/kernel-call.cu
M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
M clang/test/CIR/func-simple.cpp
Log Message:
-----------
[CIR] Implement func/call return-attributes (#181052)
This patch implements the infrastructure for return attributes on
function/call operations, a little of the common infrastructure for arg
attributes on the same, and 4 return attributes lowering: noundef
nonnull
dereferenceable
align
These 4 common attributes are all pretty reasonable/common, so these
will change a lot of tests.
This patch chooses to just use the LLVM-IR-Dialect variant of these
attributes (as a NamedAttr), which means no changes to the dialect or
lowering are necessary.
Commit: 32c79e0e9cc67b2f531fbcd1991d1c5a912e1313
https://github.com/llvm/llvm-project/commit/32c79e0e9cc67b2f531fbcd1991d1c5a912e1313
Author: GkvJwa <gkvjwa at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGenCXX/exceptions-seh.cpp
Log Message:
-----------
[WinEH] Only emit err_seh_object_unwinding when CXXExceptions are enabled (#180959)
Based on the PR(https://github.com/llvm/llvm-project/pull/180108)
discussion, it has been modified to check when `/EH*` is enabled.
Although `/EHsc` `/EHs` are slightly different from `/EHa`, and the
changes here have different effects than `/EHa` when these two switches
are enabled, we are still considering supporting this situation, and we
will improve support for `/EHs*` in the future.
Commit: 855be5f2fbb57ba66a0d5a14e8d87b0eab523b60
https://github.com/llvm/llvm-project/commit/855be5f2fbb57ba66a0d5a14e8d87b0eab523b60
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
Log Message:
-----------
[ShadowStackGCLowering] Remove unnecessary zero-index GEP
This is a no-op.
Commit: 5e706e1b4ba428fa21cbd51f1e41e01ade2310a7
https://github.com/llvm/llvm-project/commit/5e706e1b4ba428fa21cbd51f1e41e01ade2310a7
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaStmt.cpp
M clang/test/SemaCXX/warn-loop-analysis.cpp
Log Message:
-----------
[Clang] enhance loop analysis to handle variable changes inside lambdas (#135573)
Fixes #132038
---
This PR extends `-Wloop-analysis` to handle variable modifications
inside lambda expressions.
Commit: 05ea779fcf475b7edd7e27c11966366be1aa01f5
https://github.com/llvm/llvm-project/commit/05ea779fcf475b7edd7e27c11966366be1aa01f5
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M openmp/runtime/cmake/LibompMicroTests.cmake
Log Message:
-----------
[openmp] Remove perl mentions (#181371)
These tests were converted from Perl to Python in #95307, so there is no
perl dependency here anymore. (I omitted an explicit mention of Python
here, as that's a general dependency anyway.)
Commit: 40c778ad1d8013db79a7adcfc2db1dcdbdde5111
https://github.com/llvm/llvm-project/commit/40c778ad1d8013db79a7adcfc2db1dcdbdde5111
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libcxx/test/std/ranges/range.factories/range.iota.view/indices.pass.cpp
Log Message:
-----------
[libc++][NFC] Remove already fixed FIXME from range.iota.view/indices.pass.cpp (#181344)
Commit: a820c8b676854170f88c11560122c6fa8b67d130
https://github.com/llvm/llvm-project/commit/a820c8b676854170f88c11560122c6fa8b67d130
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port a1d7cda.
Commit: 320d0b5467b9586a188e06dd2620126f5cb99318
https://github.com/llvm/llvm-project/commit/320d0b5467b9586a188e06dd2620126f5cb99318
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/Analysis/indirect-goto-basics.c
A clang/test/Analysis/switch-basics.c
Log Message:
-----------
[NFCI][analyzer] Regularize NodeBuilder classes (#180960)
This commit removes virtual methods from the `NodeBuilder` class
hierarchy (because they were only relevant for the "enclosing builder"
feature of `StmtNodeBuilder` which was not used anywhere), then moves
the classes `IndirectGotoNodeBuilder` and `SwitchNodeBuilder` into this
hierarchy. (Previously they were independent classes with some
duplicated logic in the `generateNode()`-like functions.)
Updating `SwitchNodeBuilder` is a prerequisite for activating the
`BranchCondition` checkers on the condition of the `switch` statement
because `CheckerContext` requires the presence of a `NodeBuilder`.
Updating `IndirectGotoNodeBuilder` doesn't have any analogous goals --
I'm just doing it for the sake of consistency.
I also added some very basic tests because this area wasn't properly
covered by the old tests.
I'm planning to do more cleanup (e.g. the removal of `StmtNodeBuilder`)
in follow-up commits.
Commit: ca8a6b8cb14e7006b041da889ba16110ec2cd673
https://github.com/llvm/llvm-project/commit/ca8a6b8cb14e7006b041da889ba16110ec2cd673
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constexpr-vectors-access-elements.cpp
Log Message:
-----------
[Clang] fix crash when constexpr evaluation encounters uninitialized GCC vector (#180293)
Fixes #180044
---
This patch addresses the regression caused by
https://github.com/llvm/llvm-project/commit/77534291fcbd2c784c54e39a60895e4f60f19742.
The crash happens because
https://github.com/llvm/llvm-project/blob/85d94e17144f2ca250c91b827b59e6ddea675d31/clang/lib/AST/ExprConstant.cpp#L4294
tries to read a vector element when the `APValue` is still
`Indeterminate` or `Absent`. These changes _populate_ vector `APValue`
to ensure elements exist before access.
Commit: 637e9bdd7c2269c16cf37ea910ee6804e7d191ff
https://github.com/llvm/llvm-project/commit/637e9bdd7c2269c16cf37ea910ee6804e7d191ff
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libcxx/utils/ci/lnt/run-benchmarks
Log Message:
-----------
[libc++] Run all the microbenchmarks in run-benchmarks (#181374)
Running all the benchmarks does not significantly increase the total
time, and it ensures that what we upload to LNT corresponds exactly to
what's in the test suite.
Commit: 892ac614bf8fafd4d13381bb45b369721309785a
https://github.com/llvm/llvm-project/commit/892ac614bf8fafd4d13381bb45b369721309785a
Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/Hexagon.h
A llvm/lib/Target/Hexagon/HexagonGlobalScheduler.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/test/CodeGen/Hexagon/autohvx/hfsplat.ll
A llvm/test/CodeGen/Hexagon/avoid-debug-increment.mir
M llvm/test/CodeGen/Hexagon/cext-check.ll
A llvm/test/CodeGen/Hexagon/dbg-label-pullup.ll
A llvm/test/CodeGen/Hexagon/global-sched-skip-vsub_fake.ll
A llvm/test/CodeGen/Hexagon/pull-delayed-new.mir
A llvm/test/CodeGen/Hexagon/pull-no-comp-code.ll
A llvm/test/CodeGen/Hexagon/pull-up-dbg-label.mir
A llvm/test/CodeGen/Hexagon/pull-up-slots.mir
A llvm/test/CodeGen/Hexagon/pull-up.ll
Log Message:
-----------
Add HexagonGlobalScheduler pass (#180803)
This patch adds the HexagonGlobalScheduler, a post-packetization pass
that performs global instruction scheduling and pull-up optimizations to
improve packet density on Hexagon VLIW architecture.
The scheduler operates on scheduling regions (super-blocks with single
entry and multiple exits) and attempts to move instructions across basic
blocks to fill packet slots more efficiently. It supports both
speculative and predicative scheduling modes.
Key features:
- Global instruction scheduling across basic blocks
- Speculative scheduling with safety checks
- Predicative scheduling using predication
- Local pull-up within basic blocks
- Dual jump formation
- Branch optimizations
- Liveness preservation using HexagonLiveVariables
The pass depends on HexagonLiveVariables and HexagonGlobalRegion
infrastructure for maintaining correct liveness information when moving
instructions across basic block boundaries.
This patch also adds two helper functions to HexagonRegisterInfo that
are required by the scheduler to prevent correctness issues.
1. isGlobalReg(MCPhysReg Reg) - Returns true for reserved physical
registers (R29, R30, R31) that are live across function calls. This
prevents the scheduler from incorrectly speculating instructions that
modify the stack pointer or frame pointer.
2. isFakeReg(MCPhysReg Reg) - Returns true for fake HVX registers
(VF0-VF31, VFR0-VFR31) used as sub-registers in vector pairs. This
prevents crashes when the scheduler processes HVX vector operations by
skipping these internal bookkeeping registers.
The scheduler runs in the pre-emit pipeline after packetization and is
only active when optimizations are enabled.
Patch by Sergei Larin <slarin at qti.qualcomm.com>
Co-authored-by: Ikhlas Ajbar <iajbar at qti.qualcomm.com>
Co-authored-by: Krzysztof Parzyszek <kparzysz at codeaurora.org>
Commit: 424686a62d0e42cc44f45809684c61a4f642d49b
https://github.com/llvm/llvm-project/commit/424686a62d0e42cc44f45809684c61a4f642d49b
Author: Twice <twice at apache.org>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/docs/Bindings/Python.md
Log Message:
-----------
[MLIR][Docs] Add docs about Python-defined dialects (#181372)
This PR adds documentation to the MLIR Python bindings introducing
support for Python-defined dialects (initially introduced in #169045).
Commit: ec0b22ff472368e11de25e0f9d38527c937500f2
https://github.com/llvm/llvm-project/commit/ec0b22ff472368e11de25e0f9d38527c937500f2
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/pr44488-predication.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
Log Message:
-----------
[VPlan] Reuse introduces-broadcast logic in narrowToSingleScalars (#174444)
narrowToSingleScalarRecipes' operands check is a bit too restrictive by
permitting a single user. Factor out and reuse the existing
introduces-broadcast logic to improve results.
Commit: 0b887beebe7818cf545d0a784e1ff09675b5d6fb
https://github.com/llvm/llvm-project/commit/0b887beebe7818cf545d0a784e1ff09675b5d6fb
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port 892ac614bf8f
Commit: 04fbb1dba583919939eafeb0ec6241e062e61371
https://github.com/llvm/llvm-project/commit/04fbb1dba583919939eafeb0ec6241e062e61371
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/concat-nested-namespaces/modernize-concat-nested-namespaces.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/pass-by-value/header-with-fix.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/pass-by-value/header.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-multi-fixes.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header.h
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/duplicate-include.cpp
Log Message:
-----------
[clang-tidy] Header check support for check_clang_tidy.py (#175735)
As of AI-Usage: Gemini CLI was used for pre-commit review and finding
testcases that need to be updated.
Closes [#133515](https://github.com/llvm/llvm-project/issues/133515)
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: 94b5adc01eddc5f96aabc0c2becf39880192a4e1
https://github.com/llvm/llvm-project/commit/94b5adc01eddc5f96aabc0c2becf39880192a4e1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/utils/git/requirements_formatting.txt
M llvm/utils/git/requirements_formatting.txt.in
Log Message:
-----------
[Github] Update requirements_formatting.txt (#181184)
We should not need to be explicitly adding transitive dependencies to
requirements_formatting.txt.in to enforce a higher version is used. We
also should always be using == to ensure a strict version match, not
just a compatible version (~=). This patch removes transitive
dependencies introduced in 6fdf93c5d812197dd5dc9362f324b944105b2e8e and
updates the lockfile (although only unnecessary packages are removed).
Commit: 8c162b70ac02a9b3b7b167c5f500f4707b730baa
https://github.com/llvm/llvm-project/commit/8c162b70ac02a9b3b7b167c5f500f4707b730baa
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lldb/include/lldb/Core/SourceManager.h
M lldb/source/Core/SourceManager.cpp
M lldb/source/Target/StackFrame.cpp
Log Message:
-----------
[lldb] Pass the frame's language type to the highlighter (#181094)
This threads the frame's language type through the source manager to the
highlighter. Previously, we'd always pass "unknown" as the language type
and rely on the language plugin to figure out the language based on the
file extension.
This change is motivated by #170250. For languages like Swift or Rust
that don't have an upstream language plugin, we need the frame's
language for syntax highlighting.
Commit: ede1a9626b898b1fcddb1aa5f82755a50f16841e
https://github.com/llvm/llvm-project/commit/ede1a9626b898b1fcddb1aa5f82755a50f16841e
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
M llvm/test/Transforms/LoopVectorize/multi_early_exit.ll
M llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
M llvm/test/Transforms/LoopVectorize/unsupported_early_exit.ll
Log Message:
-----------
[LV] Vectorize early exit loops with multiple exits. (#174864)
Building on top of the recent changes to introduce BranchOnTwoConds,
this patch adds support for vectorizing loops with multiple early exits,
all dominating a countable latch. The early exits must form a
dominance chain, so we can simply check which early exit has been taken
in dominance order.
Currently LoopVectorizationLegality ensures that all exits other than
the latch must be uncountable. handleUncountableEarlyExits now collects
those uncountable exits and processes each exit.
In the vector region, we compute if any exit has been taken, by taking
the OR of all early exit conditions (EarlyExitConds) and checking if
there's
any active lane.
If the early exit is taken, we exit the loop and compute which early
exit
has been taken. The first taken early exit is the one where its exit
condition is true in the first active lane of EarlyExitConds.
We create a chain of dispatch blocks outside the loop to check this for
the early exit blocks ordered by dominance.
Depends on https://github.com/llvm/llvm-project/pull/174016.
PR: https://github.com/llvm/llvm-project/pull/174864
Commit: 9deb4fda30be47e4aea5671055a0f655a048afdc
https://github.com/llvm/llvm-project/commit/9deb4fda30be47e4aea5671055a0f655a048afdc
Author: Felipe Quezada <felipe.quezada01 at outlook.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
A llvm/test/CodeGen/AMDGPU/twoaddr-regsequence-keep-copy-on-use.mir
Log Message:
-----------
[CodeGen][AMDGPU] TwoAddress: Only skip undef COPY at REG_SEQUENCE lowering when there is Live info or no uses for subreg (#175598)
Currently, the compiler doesn't create a COPY for undef operands while
lowering REG_SEQUENCE, and only if LIS information is available, it
propagates the undef flag to the subreg uses. So, if LIS isn't
available, we can end up with some uses without def of those lanes.
Now, we check which lanes are used in a single scan of
use_nodbg_operands() per REG_SEQ, and perform the skip of the COPY only
if LIS is avaible (as undef will be propagated later) or if there are no
uses for that lane.
There is still a scan of the use list, but now it's only one per REG_SEQ
and I think it's necessary, as there is no guarantee to have LIS or
other analysis pass information at this stage.
This is a proposal fix for issue:
https://github.com/llvm/llvm-project/issues/175596
---------
Co-authored-by: Carl Ritson <critson at perlfu.co.uk>
Commit: 59553fa27a52fd95d9f5386a4554e76f3a8e5c9a
https://github.com/llvm/llvm-project/commit/59553fa27a52fd95d9f5386a4554e76f3a8e5c9a
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/Preprocessor.cpp
M clang/test/Preprocessor/embed___has_embed_parsing_errors.c
M clang/test/Preprocessor/has_include.c
Log Message:
-----------
[clang] avoid reentering header-name lexing on nested macro expansion (#179151)
Fixes #178635
---
This PR addressed the issue when header-name _lexing_ reentered on
nested macro expansion.
`__has_include`/`__has_embed` lex a header name by calling
`LexHeaderName`, and neither expects nested expansion in that context.
If `__has_include` appears inside the header name expression (e.g.,
`__has_include(__has_include)`, or `__has_embed(__has_include)`)
https://github.com/llvm/llvm-project/blob/6a18039298174562a38f28ca06d12dcbf7f14f06/clang/lib/Lex/PPMacroExpansion.cpp#L1252
macro expansion reenters `LexHeaderName` and hits the assertion
https://github.com/llvm/llvm-project/blob/6a18039298174562a38f28ca06d12dcbf7f14f06/clang/lib/Lex/PPMacroExpansion.cpp#L1898
https://github.com/llvm/llvm-project/blob/6a18039298174562a38f28ca06d12dcbf7f14f06/clang/lib/Lex/PPMacroExpansion.cpp#L1156
Commit: d521863f089a1eb7ea35a1bf73eb9fde30c2c49c
https://github.com/llvm/llvm-project/commit/d521863f089a1eb7ea35a1bf73eb9fde30c2c49c
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Add support for Convert Layout from Wg to Sg (#178922)
Commit: b217e5c5a035834a1fa11c092479a50f91d8f90d
https://github.com/llvm/llvm-project/commit/b217e5c5a035834a1fa11c092479a50f91d8f90d
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M openmp/runtime/test/tasking/issue-94260-2.c
Log Message:
-----------
[OpenMP][lit] Disable flaky test tasking/issue-94260-2.c (#176452)
The test sporadically fails on Linux. See
https://github.com/llvm/llvm-project/issues/176451 for more info.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: de9f320a3399adc49a4bf844b5ad76b873b3accc
https://github.com/llvm/llvm-project/commit/de9f320a3399adc49a4bf844b5ad76b873b3accc
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
Log Message:
-----------
[mlir][irdl] Add IsolatedFromAbove trait to irdl.operation, irdl.attribute and irdl.type (#181108)
https://github.com/llvm/llvm-project/pull/180556 depend it.Prevent CSE
from hoisting pure operations from the irdl.operation region into the
irdl.dialect region. You can see
https://github.com/llvm/llvm-project/pull/180556#issuecomment-3889133389.
Commit: 2b5eb2dde2cdc98b4265d3b9940f235b51d38638
https://github.com/llvm/llvm-project/commit/2b5eb2dde2cdc98b4265d3b9940f235b51d38638
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ClangIRCleanupAndEHDesign.md
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR][docs] Add cir.catch_param to ClangIR cleanup and EH design doc (#181284)
This updates the ClangIR cleanup and exception handling design document
to describe the requirement to use cir.catch_param operations to begin
the catch regions of a cir.try operation in the structured form of CIR.
This also includes minor changes to the descriptions in the CIROps.td
definitions of cir.try and cir.catch_param
Commit: b39ab2e0ef601f563ec0ab0ae384b9b08730073a
https://github.com/llvm/llvm-project/commit/b39ab2e0ef601f563ec0ab0ae384b9b08730073a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
Log Message:
-----------
[RISCV] Use PADD_DW instead of ADDD for GPRPair copy on RV32 with P extension (#181316)
Commit: 211314d5824498e885c7d3d4fb5a77924e064ab4
https://github.com/llvm/llvm-project/commit/211314d5824498e885c7d3d4fb5a77924e064ab4
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/unittests/ADT/STLExtrasTest.cpp
M llvm/unittests/ADT/STLForwardCompatTest.cpp
Log Message:
-----------
[ADT] Add is_sorted_constexpr, equivalent to C++20 std::is_sorted (#180867)
`std::is_sorted` is not `constexpr` until Cpp20, so need custom `is_sorted_constexpr` function.
Commit: a1d12e944e8035d17166e78385ea5180e368e3f9
https://github.com/llvm/llvm-project/commit/a1d12e944e8035d17166e78385ea5180e368e3f9
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/test/Transforms/IndVarSimplify/unreachable-exit.ll
Log Message:
-----------
[NFC] [IndVars] test for multiple bounds for predicate-loop-traps
This can come from loops like
```
for (int i = 0; i < X; ++i) {
if (i < N)
__builtin_trap();
if (i < M)
__builtin_trap();
x[i] = y[i];
}
```
Reviewers: nikic
Reviewed By: nikic
Pull Request: https://github.com/llvm/llvm-project/pull/181264
Commit: da5e298dcc1015f20ee5f6990bc88c372bd3a97f
https://github.com/llvm/llvm-project/commit/da5e298dcc1015f20ee5f6990bc88c372bd3a97f
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[Sema][NFC] simplify deduceOpenCLAddressSpace (#181253)
All callers of deduceOpenCLAddressSpace passed some sort of VarDecl
(such as a ParmVarDecl), so the dynamic cast and indentation was
unnecessary.
Commit: e4c30c15c87fb42432a614805d2e48ef39a8da00
https://github.com/llvm/llvm-project/commit/e4c30c15c87fb42432a614805d2e48ef39a8da00
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
A llvm/test/CodeGen/SPIRV/function/variadics-lowering-namespace-printf.ll
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
M llvm/test/CodeGen/SPIRV/printf.ll
Log Message:
-----------
[SPIRV] Extend lowering of variadic functions (#178980)
Variadic function lowering for SPIR-V was initially added in
https://github.com/llvm/llvm-project/pull/175076.
However, I tried a full OpenMP offloading example that includes a vararg
call and hit a few issues:
1) The OpenMP Deivce library function `ompx::printf` was incorrectly
being considered a builtin `printf` function that would be handled
specifically by the SPIR-V backend.
The fix here is to remove the `printf` special handling.
2) We were getting an assert in ModuleVerifier saying the LLVM lifetime
intrinsics were being called with an argument that was neither an
`alloca` ptr or `poison`. The problem is the `alloca` was replaced with
a SPIR-V intrinsic `alloca` in `SPIRVPrepareFunctions`, but the lifetime
intrinsic added in `ExpandVariadics` was not lowered to the SPIR-V
lifetime intrinsic since `ExpandVariadics` is run after
`SPIRVPrepareFunctions`,
The fix here is to just run `ExpandVariadics` first.
3) There were `va` intrinsics taking in a `addrspace(4)` pointer that
were not being expanded.
The fix here is to extend `ExpandVariadics` to support expanding `va`
intrinsics with target-specific address spaces.
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 41c566e9e16489d599a9cf45e32a02aace925785
https://github.com/llvm/llvm-project/commit/41c566e9e16489d599a9cf45e32a02aace925785
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Analysis/CFG.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/Analysis/auto-obj-dtors-cfg-output.cpp
M clang/test/Analysis/misc-ps-region-store.cpp
M clang/test/SemaCXX/return-noreturn.cpp
Log Message:
-----------
[Clang] eliminate -Winvalid-noreturn false positive after throw + unreachable try/catch blocks (#175443)
Fixes #174822
---
This PR fixes a false `-Winvalid-noreturn` positive when an
unconditional `throw` is followed by an unreachable `try`/`catch` block.
The false positive occurred because reachability analysis marked
`try`/`catch` regions as live even when unreachable via normal control
flow. The following logic
https://github.com/llvm/llvm-project/blob/1c0c9aeae681dbed90fcb19edd8a41e10a17f867/clang/lib/Sema/AnalysisBasedWarnings.cpp#L573-L589
that adjusted for missing `EH` call edges, treated disconnected `try` as
reachable.
CFG construction now keeps the `try` dispatch block as the join point of
the `try` statement and adds a successor for the `try` body. If the
`try` body is empty, an empty block is created and connected to the
successor. This prevents the `try` dispatch from becoming disconnected
and ensures that return paths in _function-try-blocks_
https://github.com/llvm/llvm-project/blob/1c0c9aeae681dbed90fcb19edd8a41e10a17f867/clang/test/SemaCXX/return-noreturn.cpp#L249-L264
Also, unreachable try/catch code after an unconditional `throw` is no
longer treated as reachable and no longer triggers a false positive
`-Winvalid-noreturn` warning.
Commit: 4d518e6c7a94661bc4caa8392aab08a7e41371cd
https://github.com/llvm/llvm-project/commit/4d518e6c7a94661bc4caa8392aab08a7e41371cd
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/Analysis/AliasAnalysis/modref-call-after-external-name-conversion.fir
Log Message:
-----------
[flang] Let FIR AA:getModRef recognize Fortran user procedures late. (#181295)
In order to use FIR AA::getModRef() after `ExternalNameConversion`
pass we have to teach it to recognize Fortran user procedures
that have already been renamed.
Commit: c776a52fa263999d4b14b6d7ce734384ef1c090d
https://github.com/llvm/llvm-project/commit/c776a52fa263999d4b14b6d7ce734384ef1c090d
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/CMakeLists.txt
A libc/test/lit.cfg.py
A libc/test/lit.site.cfg.py.in
A libc/utils/libctest/__init__.py
A libc/utils/libctest/format.py
Log Message:
-----------
[libc] Implement lit-based test execution for Libc (#178746)
This provides optional lit-based test execution for the LLVM Libc tests,
alongside the existing CMake-based test execution.
Usage:
ninja -C build check-libc-lit
cd build && bin/llvm-lit libc/test/src/
Partially addresses
[#118694](https://github.com/llvm/llvm-project/issues/118694). A future
PR once this lands will flip the default (per suggestion in the RFC)
Commit: b6cd2133d49c8b5e8375241cc2c101a1f1e960f8
https://github.com/llvm/llvm-project/commit/b6cd2133d49c8b5e8375241cc2c101a1f1e960f8
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/test/CIR/CodeGen/try-catch.cpp
Log Message:
-----------
[CIR] Simplify try-catch handling (#180857)
With the new exception handling device, we no longer need to track the
location of potential catch blocks, and so we no longer need to
represent catch handlers on the EH stack. This allows us to
significantly simplify the generation of try-catch blocks.
This change emits catch blocks directly when visiting the try operation
and removes unnecessary EH management code.
This is not an exhaustive cleanup of the EH management code. Some things
that may appear to be obvious simplifications (such as removing the
union of bitfields in EHScope, and possibly making EHScopeStack just a
stack of EHCleanups) are deferred until we have a better idea of how
things like EH filters will be implemented.
This change breaks lowering of cir.try operations to LLVM IR in a
somewhat trivial way. Even before this PR, lowering of `cir.try` ops
with catch handlers was not implemented. However, we had one test case
where the only call in a try-region was marked with the `noexcept`
attribute. Previously, we did not emit catch handlers in that
circumstance. Now we do. As such, nothing that previously worked is
broken by this patch, but there is one test that would now fail. I
handled this by removing the RUN line for lowering this test to LLVM IR.
I left the checks so this will be easy to re-enable when proper try-op
lowering is implemented.
Commit: 8de1a07d63ee1da54a88bf2f2d0e2bfaec39f061
https://github.com/llvm/llvm-project/commit/8de1a07d63ee1da54a88bf2f2d0e2bfaec39f061
Author: Hui <hui.xie1990 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libcxx/src/atomic.cpp
A libcxx/test/std/thread/thread.semaphore/timed.hang.pass.cpp
Log Message:
-----------
[libc++] Fix semaphore timed wait hanging on Windows (#180398)
Fixes #180334
# Problem
The semaphore timed wait test is flaky on Windows. It hangs from time to
time.
Some examples:
[windows (clang-cl-no-vcruntime, false, clang-cl,
clang-cl)](https://github.com/llvm/llvm-project/actions/runs/21737380876/job/62707542836#logs)
[windows (mingw-static, true, cc,
c++)](https://github.com/llvm/llvm-project/actions/runs/21636063482/job/62367831823?pr=179483#logs)
[windows (clang-cl-static, false, clang-cl,
clang-cl)](https://github.com/llvm/llvm-project/actions/runs/21453876753/job/61794464147#logs)
[windows (clang-cl-dll, false, clang-cl,
clang-cl)](https://github.com/llvm/llvm-project/actions/runs/21382902941/job/61556154029#logs)
[windows (mingw-static, true, cc,
c++)](https://github.com/llvm/llvm-project/actions/runs/21365713577/job/61502377123#logs)
# Root Cause
The internal dylib function takes a timeout
```cpp
static void __platform_wait_on_address(void const* __ptr, void const* __val, uint64_t __timeout_ns)
```
We followed the same convention as `__libcpp_thread_poll_with_backoff`,
where we used `0ns` to indicate wait indefinitely until being notified.
```cpp
_LIBCPP_HIDE_FROM_ABI __poll_with_backoff_results __libcpp_thread_poll_with_backoff(
_Poll&& __poll, _Backoff&& __backoff, chrono::nanoseconds __max_elapsed = chrono::nanoseconds::zero())
```
This is problematic, if the caller indeed wants to wait `0ns` and passes
`0`, the internal dylib function `__platform_wait_on_address` would wait
indefinitely
```cpp
__timeout_ns == 0 ? INFINITE : static_cast<DWORD>(__timeout_ns / 1'000'000)
```
This is what actually happened here. So the fix is to update internal
dylib function to use `optional` and use `nullopt` to indicate wait
indefinitely
```cpp
static void __platform_wait_on_address(void const* __ptr, void const* __val, optional<uint64_t> __timeout_ns)
```
Edit: after code review, the code is updated to use tag type `NoTimeout`
to indicate "wait indefinitely". this is superior because it is coded
into the type system instead of runtime check
# Why `__libcpp_thread_poll_with_backoff` never suffered from this
problem?
`__libcpp_thread_poll_with_backoff` has this " `0ns` means wait
indefinitely " semantic for years (it has always been like that), but it
never causes issues. This is because, it has
```cpp
chrono::nanoseconds const __elapsed = chrono::high_resolution_clock::now() - __start;
if (__max_elapsed != chrono::nanoseconds::zero() && __max_elapsed < __elapsed)
return __poll_with_backoff_results::__timeout;
```
`__max_elapsed` is what user passed in, let's assume the user passed in
`0ns`, and `__elapsed` is certainly a positive number so it never goes
to the backoff function and directly returned. No hanging possible
# Why Windows and we passed in `0ns` ?
So in the test, we passed wait some time, say `1ms`, from the
`semaphore` public API, which calls `__libcpp_thread_poll_with_backoff`
with `1ms` timeout. `__libcpp_thread_poll_with_backoff` will do some
polling loops and then calling into the backoff function, platform timed
wait in this case, with timeout of `1ms - elapsed` , say `950us`.
However, Windows platform wait has millisecond precision, so `950us` is
rounded down to `0ms` (`static_cast<DWORD>(__timeout_ns / 1'000'000)`),
so the function call almost immediately returns, and
`__libcpp_thread_poll_with_backoff` will keep its polling loop like
this. As time goes by in the polling loop, the timeout for platform wait
will decrease from `950us` to smaller and smaller number.
In the `__libcpp_thread_poll_with_backoff`
```cpp
if (__max_elapsed != chrono::nanoseconds::zero() && __max_elapsed < __elapsed)
return __poll_with_backoff_results::__timeout;
if (auto __backoff_res = __backoff(__elapsed); __backoff_res == __backoff_results::__continue_poll)
```
`__max_elapsed` is user requested timeout, which is `1ms` in this case,
and `__elapsed` gradually increases and eventually, if it becomes
greater than `1ms`, we have `__max_elapsed < __elapsed`, it will return
and test passes. all Good. But there is a slim chance that on one loop,
`__elapsed` is exactly the same number of the user requested
`__max_elapsed` `1ms`, so `__max_elapsed == __elapsed`, this will make
the code path go to backoff platform wait, with the timeout
`__max_elapsed - __elapsed == 0ns`. So now we are requesting
`__platform_wait_on_address` to wait exactly `0ns`, and due to our
ambiguous API, `0ns` means wait indefinitely
```cpp
__timeout_ns == 0 ? INFINITE : static_cast<DWORD>(__timeout_ns / 1'000'000)
```
The test will just hang forever.
# Why not `__max_elapsed <= __elapsed` ?
in `__libcpp_thread_poll_with_backoff`, If we check `__max_elapsed <=
__elapsed` instead of `__max_elapsed < __elapsed`, we would avoid the
call to platform wait with `0ns`. But according to the standard, I think
the current `__max_elapsed < __elapsed` is more correct
> The timeout expires
([[thread.req.timing]](https://eel.is/c++draft/thread.req.timing)) when
the current time is after abs_time (for try_acquire_until) or when at
least rel_time has passed from the start of the function (for
try_acquire_for)[.](https://eel.is/c++draft/thread.sema#cnt-18.sentence-2)
https://eel.is/c++draft/thread.sema#cnt-18.2
So this **after** means that it needs strictly greater than i think.
# The Fix
The fix is to update the internal dylib API to use `nullopt` to indicate
wait indefinitely. So a call to platform wait with `0ns` will not cause
a hang.
Edit: after code review, the code is updated to use tag type `NoTimeout`
to indicate "wait indefinitely". this is superior because it is coded
into the type system instead of runtime check
I made a small change as well. it is very easy to get into a situation
where the requested platform wait timeout is `<1ms`, we will be keep
calling Windows platform wait with `0ns` because of the rounding, and
this is effectively a spin lock . I made a change such that if the
requested timeout is between `100us to 1ms`, just rounded up to `1ms` to
wait a bit longer (which is conforming IIUC) . let me know if this
change is necessary, happy to take this part out if it is not considered
good.
Commit: 7a2a3774a6b71266b86a87afab0bb24b104d6260
https://github.com/llvm/llvm-project/commit/7a2a3774a6b71266b86a87afab0bb24b104d6260
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libcxx/test/benchmarks/adjacent_view_begin.bench.cpp
Log Message:
-----------
[libc++] Remove hardcoded -O3 from adjacent_view benchmark (#181376)
We don't hardcode optimization flags in the benchmarks, because we want
to be able to run the benchmarks with any optimization level. Instead,
we set the optimization level when running Lit via the --param
optimization=<speed|size|...> flag.
Commit: 19de5dd722a4919cf29e67aee22af006033f7f20
https://github.com/llvm/llvm-project/commit/19de5dd722a4919cf29e67aee22af006033f7f20
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang/include/flang/Runtime/CUDA/allocator.h
Log Message:
-----------
[flang][cuda] Add CUFSetAssociatedStream entry point (#181313)
Commit: 1d588c5c9b5042b1c11b9b9ce70d044fb3f750b0
https://github.com/llvm/llvm-project/commit/1d588c5c9b5042b1c11b9b9ce70d044fb3f750b0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Rename tablegen class VALU_MV_VS2->VEXT_MV_VS2. NFC
This better matches the scheduler model in the class.
Commit: f2903793debde9f41b9083df225c17491a0396c4
https://github.com/llvm/llvm-project/commit/f2903793debde9f41b9083df225c17491a0396c4
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Use static_assert to confirm SupportedOps is sorted (#181397)
Can be checked at compile time.
Commit: 620f162f8f13a6d8ee1ec19478bdd47466c5e50a
https://github.com/llvm/llvm-project/commit/620f162f8f13a6d8ee1ec19478bdd47466c5e50a
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M .github/workflows/issue-subscriber.yml
M .github/workflows/new-issues.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-asset-audit.yml
Log Message:
-----------
Revert "workflows: Use main-branch-only environment when using ISSUE_SUBSCRIBER_TOKEN (#179990)" (#181352)
This reverts commit 31f31dd9d0460834f2ae67247d3886fec4931d6d.
This commit was causing PRs to be spammed with messages like:
"llvmbot temporarily deployed to main-branch-only — with GitHub Actions
Inactive"
This was causing confusion, and is not worth the marginal security
benefit. I also think this can be avoided by using called workflows, but
I still need to investigate this.
Commit: fbf5bac1079be628111e8a3f1747d66b227017ca
https://github.com/llvm/llvm-project/commit/fbf5bac1079be628111e8a3f1747d66b227017ca
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M .github/workflows/commit-access-review.yml
Log Message:
-----------
workflows/commit-access-review: Use a GitHub App access token instead of llvmbot (#179364)
This replaces the use of an access token associated with the llvmbot
account with one that is generated by a GitHub App. This is slightly
better, because it eliminates the need to periodically rotate the
llvmbot tokens, which is difficult to do, since it requires sharing a
password and 2fa code among all the admins.
The tokens generated by the app automatically expire after an hour, and
the private key that is used to request it can be easily rotated by an
LLVM Organization owner. Also, since a single private key can be used to
generate many tokens, there is only one secret to rotate instead of
many.
Commit: de1b63ec5dad4f97368313e06edf221bd8dbf467
https://github.com/llvm/llvm-project/commit/de1b63ec5dad4f97368313e06edf221bd8dbf467
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
Log Message:
-----------
[CIR][NFC] Fix try-catch-tmp.cpp test (#181402)
This test was failing due to its CI having been run before another
change was committed that added attributes to return values. This
removes unnecessary checks to make the test pass again.
Commit: 375f1995224ce8bd52e97c7898a22564bee15056
https://github.com/llvm/llvm-project/commit/375f1995224ce8bd52e97c7898a22564bee15056
Author: Yue Huang <30948580+AdUhTkJm at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
Log Message:
-----------
[MLIR][Presburger] Fix full dimension check (#175422)
Currently, the code mistakenly thinks `(x): (1 >= 0)` as
non-full-dimensional.
The code determines full-dimensionality by testing whether an inequality
is flat, i.e. takes the same value regardless of variable assignments.
However, `1 >= 0` is obviously flat, and this case should be ignored
since it didn't involve any variables.
To remove these inequalities, we can call `removeTrivialRedundancy`.
Commit: 648bd564d0bd66b4cc1b0a6607a15e15b3171204
https://github.com/llvm/llvm-project/commit/648bd564d0bd66b4cc1b0a6607a15e15b3171204
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/test/CodeGen/SystemZ/systemz-ppa2.c
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/test/CodeGen/SystemZ/call-zos-01.ll
M llvm/test/CodeGen/SystemZ/call-zos-02.ll
M llvm/test/CodeGen/SystemZ/call-zos-i128.ll
M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
M llvm/test/CodeGen/SystemZ/llvm.sincos.ll
M llvm/test/CodeGen/SystemZ/mixed-ptr-sizes.ll
M llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
M llvm/test/CodeGen/SystemZ/zos-ada.ll
M llvm/test/CodeGen/SystemZ/zos-alias-unsupported.ll
M llvm/test/CodeGen/SystemZ/zos-dwarf.ll
M llvm/test/CodeGen/SystemZ/zos-frameaddr.ll
M llvm/test/CodeGen/SystemZ/zos-func-alias.ll
M llvm/test/CodeGen/SystemZ/zos-hlasm-out.ll
M llvm/test/CodeGen/SystemZ/zos-intrinsics.ll
M llvm/test/CodeGen/SystemZ/zos-jumptable.ll
M llvm/test/CodeGen/SystemZ/zos-landingpad.ll
M llvm/test/CodeGen/SystemZ/zos-lower-constant.ll
M llvm/test/CodeGen/SystemZ/zos-no-eh-label.ll
M llvm/test/CodeGen/SystemZ/zos-ppa1-argarea.ll
M llvm/test/CodeGen/SystemZ/zos-ppa1.ll
M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
M llvm/test/CodeGen/SystemZ/zos-ret-addr.ll
M llvm/test/CodeGen/SystemZ/zos-simple-test.ll
M llvm/test/CodeGen/SystemZ/zos-stackpointer.ll
M llvm/test/CodeGen/SystemZ/zos-symbol-1.ll
M llvm/test/CodeGen/SystemZ/zos-symbol-2.ll
M llvm/test/CodeGen/SystemZ/zos_sinit.ll
M llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
Log Message:
-----------
[SystemZ][z/OS] Migrate most test case to use HLASM syntax (#181222)
This PR migrates all but two test cases to use HLASM syntax. It also
flips the default for the command line option, making HLASM output the
default.
The missing test cases requires some more support in the HLASM streamer,
which I will add separately.
Commit: 37aaff3fef7f0344299ddbf7b19a53c25e7ca951
https://github.com/llvm/llvm-project/commit/37aaff3fef7f0344299ddbf7b19a53c25e7ca951
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
[Thread Analysis] Fix a bug in context update in alias-analysis (#178952)
[Thread Analysis] Fix a bug in context update in alias-analysis
Previously, in 'updateLocalVarMapCtx', context was updated to the one
immediately after the provided statement 'S'. It is incorrect,
because 'S' hasn't been processed at that point. This issue could
result in false positives. For example,
```
void f(Lock_t* F)
{
Lock_t* L = F; // 'L' aliases with 'F'
L->Lock(); // 'L' holds the lock
// Before the fix, the analyzer saw the definition of 'L' being cleared before 'L' was unlocked.
unlock(&L); // unlock (*L)
}
```
This commit fixes the issue.
rdar://169236809
Commit: 6b5c440a676defbbbef3f6a42404b0be2b3da54c
https://github.com/llvm/llvm-project/commit/6b5c440a676defbbbef3f6a42404b0be2b3da54c
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.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/subgroup-distribute-unit.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[mlir][xegpu] Add support for `vector.reduction` and `vector.multi_reduction` subgroup to work-item distribution. (#180308)
This PR adds support for lowering of `vector.reduction` and
`vector.multi_reduction` ops in subgroup to work-item distribution.
Following cases are considered currently (more support will be added
later):
* `vector.reduction` : This assumes the source vector is distributed to
all lanes and lanes must shuffle data to do a collaborative reduction.
result is shared among all lanes. This is done by emitting
`gpu::ShuffleOp` s and doing a butterfly reduction. Refer
`VectorDistribution` for more details.
* `vector.multi_reduction`: 2 cases are considered,
1. **Reduction is lane-local**: simply lower to a lane local multi
reduction op. each lane does its own reduction. result is distributed.
2. **Reduction is not lane-local:** This one is handled indirectly. In
this case, we rewrite the reduction in terms of `vector.reduction` ops
(plus exrtact. insert) before the WI distribution even begin. Then whole
things is distributed using `gpu::ShuffleOp` s later (not fullly
supported yet).
Commit: 5f8053b0d8953cf90368e5f447b2e58ebce297a1
https://github.com/llvm/llvm-project/commit/5f8053b0d8953cf90368e5f447b2e58ebce297a1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV] In tryWideningMulAcc, check multiple users before checking operand 1. (#181321)
If both operands are WMUL, we should still consider the second one if
the first one has multiple users.
Commit: af1a5c5c24fa7d0f6fd4445242a0d8f2ce7dd2ba
https://github.com/llvm/llvm-project/commit/af1a5c5c24fa7d0f6fd4445242a0d8f2ce7dd2ba
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctls-rv32.mir
Log Message:
-----------
[GISel][RISCV] Simplify the generated code for narrowScalarCTLS. (#180827)
Instead of trying to make CTLS work for the Lo part, conditionally
invert Lo using the Hi sign bit, then do a CTLZ. If the CTLZ is
zero, then the Lo sign bit differs from the Hi sign bit. Otherwise,
each leading zero represents an additional sign bit.
This generates better code when CTLS and CTLZ are both supported.
I've added Zbb to the P extension command line for RISC-V since
P is likely to imply Zbb when it is ratified, but that isn't written
in the spec yet. If that doesn't happen, I expect CLZ would get
added back to the P extension.
Commit: 343103a68054fe9979ac85518ecf5d9c5d703d2c
https://github.com/llvm/llvm-project/commit/343103a68054fe9979ac85518ecf5d9c5d703d2c
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
A llvm/test/CodeGen/PowerPC/ppc_test_data_class.ll
Log Message:
-----------
[NFC] Pre-Commit test case for __builtin_ppc_test_data_class (#181181)
add a pre-commit test case for __builtin_ppc_test_data_class
Commit: 8cd31aa2c6c139b5f569b94c25462d7fcecdf7aa
https://github.com/llvm/llvm-project/commit/8cd31aa2c6c139b5f569b94c25462d7fcecdf7aa
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lldb/include/lldb/Breakpoint/StopCondition.h
A lldb/test/API/functionalities/breakpoint/update_condition/Makefile
A lldb/test/API/functionalities/breakpoint/update_condition/TestUpdateBreakpointCondition.py
A lldb/test/API/functionalities/breakpoint/update_condition/main.c
Log Message:
-----------
[lldb/Breakpoint] Fix condition hash after updating condition text (#181409)
StopCondition::SetText was computing the hash from the moved-from text
parameter instead of the stored m_text member. After std::move(text),
the source parameter becomes empty, causing the hash to always be
computed from an empty string.
This caused breakpoint condition updates to fail silently. When a user
modified a condition (e.g., from "x == y" to "x > y"), the hash remained
unchanged. Breakpoint locations use this hash to detect when conditions
need re-evaluation, so with a stale hash they would continue using
cached state for the old condition, triggering at incorrect locations.
The patch fixes this issue by computing the hash from m_text after the
move operation, ensuring it reflects the actual stored condition text.
It also adds API test that updates a breakpoint condition and verifies
the new condition is properly evaluated.
rdar://170191229
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 742af32b67c0d70ced4837fbde778ee5ea6529b4
https://github.com/llvm/llvm-project/commit/742af32b67c0d70ced4837fbde778ee5ea6529b4
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaInit.cpp
A clang/test/CodeGenObjCXX/arc-lifetime-rvalue-ref-binding.mm
A clang/test/SemaObjCXX/arc-lifetime-rvalue-ref-binding.mm
Log Message:
-----------
Reapply "[clang] Fix sema on ObjCLifetime conversion (#178524)" (#180817)
Clang can't handle objc lifetime correctly when casting We reuse the
approach similar to lifetime: First remove it before the conversion,
then add it back.
Add a test
Fixes https://github.com/llvm/llvm-project/issues/177478
Commit: ecee70e210fa0a43b12d8ce7fe01f33bb8f84167
https://github.com/llvm/llvm-project/commit/ecee70e210fa0a43b12d8ce7fe01f33bb8f84167
Author: Sterling-Augustine <saugustine at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libc/src/string/memory_utils/generic/inline_strlen.h
M libc/src/string/memory_utils/x86_64/inline_strlen.h
M libc/test/src/strings/wide_read_memory_test.cpp
Log Message:
-----------
Implement vector version of memchr, and dispatch to same (#177711)
As in the description.
This implementation shares quite a bit of code with the wide-read
versions of string_length.
Commit: 43fcc262e7504f1d4219435c38e4c251199cbeb7
https://github.com/llvm/llvm-project/commit/43fcc262e7504f1d4219435c38e4c251199cbeb7
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M lld/MachO/Driver.cpp
M lld/test/MachO/platform-version.s
M llvm/include/llvm/Support/VersionTuple.h
M llvm/lib/Support/VersionTuple.cpp
M llvm/unittests/Support/VersionTupleTest.cpp
Log Message:
-----------
[Support] Support 5-component VersionTuples (#181275)
LLDB parses compiler versions out of DW_AT_producer DWARF attributes
into a VersionTuple. The Swift compiler recently switched to 5-component
version numbers. In order to support this version scheme without growing
the size of VersionTuple, this patch dedicates the last 10 bits of the
build version to a 5th "sub-build" component. The Swift compiler
currently uses 1 digit for this and promises to never use more than 3
digits for the last 3 components.
This patch still leaves 6 decimal digits for the build component for
other version schemes.
rdar://170181060
Commit: 781719778003ca298ca57e486ab629b7f384844b
https://github.com/llvm/llvm-project/commit/781719778003ca298ca57e486ab629b7f384844b
Author: Zack Johnson <zacklj89 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/asan/asan_malloc_win.cpp
M compiler-rt/test/asan/TestCases/Windows/heaprealloc_alloc_zero.cpp
A compiler-rt/test/asan/TestCases/Windows/rtlsizeheap_zero.cpp
Log Message:
-----------
[ASan][Windows] Fix false positive for zero sized rtl allocations (#181015)
This is a follow up to #155943
On Windows, ASan's allocator internally upgrades zero-size allocation
requests to size 1 (since malloc(0) must return a unique non-NULL
pointer). However, when the user queries the allocation size through
Windows heap APIs (RtlSizeHeap, HeapSize, \_msize, GlobalSize,
LocalSize), ASan reports the internal size (1) instead of the originally
requested size (0).
This causes false positive heap-buffer-overflow errors in a common
pattern:
```c++
void *buf = HeapAlloc(GetProcessHeap(), 0, 0);
SIZE_T size = HeapSize(GetProcessHeap(), 0, buf); // Returns 1, should be 0
if(size > 0) // could remove this and still be correct
memset(buf, 0, size); // ASan reports heap-buffer-overflow
```
The change adds a `from_zero_alloc` bit to `ChunkHeader` that tracks
whether an allocation was originally zero-size. This bit fits in the
existing spare capacity of the header's bitfield byte, so the 16-byte
ChunkHeader size is unchanged, but it also isn't the most elegant.
The 1-byte user region of a zero-size allocation is still poisoned, so
any actual access to it is correctly reported as an overflow.
Commit: 4c3d5618d5d2bb203a0a9ddfe9418a954438b8d0
https://github.com/llvm/llvm-project/commit/4c3d5618d5d2bb203a0a9ddfe9418a954438b8d0
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/unittests/CAS/CMakeLists.txt
Log Message:
-----------
[llvm/unittests/CAS] Fix `CASTests` compilation when `LLVM_ENABLE_ONDISK_CAS=OFF` (#181403)
Commit: b69292549552f53eeff7deebdd649a5a6522b7d0
https://github.com/llvm/llvm-project/commit/b69292549552f53eeff7deebdd649a5a6522b7d0
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
Log Message:
-----------
[NFC][analyzer] Remove NodeBuilder::iterator (#181381)
This iterator class was used only once and even there it was easily
replaced by a more appropriate solution.
This commit is motivated by the fact that my recent commit
320d0b5467b9586a188e06dd2620126f5cb99318 turned
`IndirectGotoNodeBuilder` and `SwitchNodeBuilder` into subclasses of
`NodeBuilder` and those classes have their own (slightly more useful)
`::iterator`s with very different behavior.
Commit: b3dcf485d23a574e4c377739a32468240a87c2fc
https://github.com/llvm/llvm-project/commit/b3dcf485d23a574e4c377739a32468240a87c2fc
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
Log Message:
-----------
[VPlan] Compute NumPredStores for VPReplicateRecipe costs in VPlan.
Compute the number of predicated stores directly in VPlan instead of
using CM.useEmulatedMaskMemRefHack(), which will only account for the
number of predicated stores for the last VF the legacy cost model
considered.
Fixes https://github.com/llvm/llvm-project/issues/181183
Commit: 65deb6c71e96fd7bb4a316305a522e4c604331af
https://github.com/llvm/llvm-project/commit/65deb6c71e96fd7bb4a316305a522e4c604331af
Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/Hexagon.h
R llvm/lib/Target/Hexagon/HexagonGlobalScheduler.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/test/CodeGen/Hexagon/autohvx/hfsplat.ll
R llvm/test/CodeGen/Hexagon/avoid-debug-increment.mir
M llvm/test/CodeGen/Hexagon/cext-check.ll
R llvm/test/CodeGen/Hexagon/dbg-label-pullup.ll
R llvm/test/CodeGen/Hexagon/global-sched-skip-vsub_fake.ll
R llvm/test/CodeGen/Hexagon/pull-delayed-new.mir
R llvm/test/CodeGen/Hexagon/pull-no-comp-code.ll
R llvm/test/CodeGen/Hexagon/pull-up-dbg-label.mir
R llvm/test/CodeGen/Hexagon/pull-up-slots.mir
R llvm/test/CodeGen/Hexagon/pull-up.ll
Log Message:
-----------
Revert "Add HexagonGlobalScheduler pass (#180803)" (#181418)
This reverts commit 892ac614bf8fafd4d13381bb45b369721309785a.
Commit: 75cc975c2ced20465c7bbe3d79006cc50c414c5c
https://github.com/llvm/llvm-project/commit/75cc975c2ced20465c7bbe3d79006cc50c414c5c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV] Combine ADDD(lo, hi, x, 0) -> WADDAU(lo, hi, x, 0). Combine WADDAU (WADDAU lo, hi, x, 0), y, 0 -> WADDAU lo, hi, x, y (#181396)
WADDAU is rd += zext(rs1) + zext(rs2)
If we only have 1 32-bit input can force rs2 to avoid zeroing the upper
part of a register pair to use ADDD.
Unfortunately, WADDAU clobbers rd so it might need a GPRPair copy
if we need the old value of rd. We might need to look into that in
the future. Maybe we could have convertToThreeAddress could turn
it back into ADDD+WADDU or ADDD+LI.
Assisted-by: claude
Commit: a38584e0afca6c3f3099e7ecc56a454f3a58db89
https://github.com/llvm/llvm-project/commit/a38584e0afca6c3f3099e7ecc56a454f3a58db89
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang-tools-extra/clangd/ScanningProjectModules.cpp
M clang/include/clang/DependencyScanning/DependencyScanningService.h
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningService.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/DependencyScanning/ModuleDepCollector.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
M clang/unittests/Tooling/DependencyScannerTest.cpp
Log Message:
-----------
[clang][deps] Extract service config into a struct (#181405)
Adding new configuration knobs in the scanner is fairly painful now,
especially with a diverging downstream. This patch extracts what was
previously passed into the service constructor into a struct. This
encourages one knob customization per line, reduces difficult merge
conflicts, `/*ArgName=*/`-style comments with copy-pasted defaults, etc.
Commit: fa5f4afba9d8b5eeba30ddce25043f4e818686aa
https://github.com/llvm/llvm-project/commit/fa5f4afba9d8b5eeba30ddce25043f4e818686aa
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/tools/llubi/lib/Interpreter.cpp
Log Message:
-----------
[llubi] Return void for `InstExecutor::visit*` methods. NFC. (#181421)
The status is now maintained inside of `setResult` and other helper
functions. So we don't need to propagate the error.
This patch was part of https://github.com/llvm/llvm-project/pull/181393.
Commit: d4854177dd0513a07e3f2d8b1b5642f8226cead5
https://github.com/llvm/llvm-project/commit/d4854177dd0513a07e3f2d8b1b5642f8226cead5
Author: h-vetinari <h.vetinari at gmx.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/index.rst
M libcxx/include/__configuration/availability.h
Log Message:
-----------
[libc++] Increase the minimum deployment target on macOS to 11.0 (#176094)
#166172 moved the effective minimum deployment target on macOS to 10.15
(because `aligned_alloc` is not defined before that in the C stdlib),
and indeed, it was mentioned in that PR that libc++ only supports macOS
11 and later.
This PR rectifies the documentation and the code to reflect the actually
supported deployment targets on macOS. See [1] for additional discussion
about this.
[1]: https://discourse.llvm.org/t/minimum-macos-deployment-target-increases-to-11-0-in-v22-1-visibility-discussion-on-update-policy
Commit: b703f63697167b1cc3d68e6ef101c4fc8d4241a3
https://github.com/llvm/llvm-project/commit/b703f63697167b1cc3d68e6ef101c4fc8d4241a3
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
A llvm/test/Transforms/PreISelIntrinsicLowering/looptrap.ll
Log Message:
-----------
Add llvm.looptrap intrinsic.
The '``llvm.looptrap``' intrinsic is equivalent to
``llvm.cond.loop(true)``, but is also considered to be ``noreturn``,
which enables certain optimizations by allowing the optimizer to
assume that a branch leading to a call to this intrinsic was not
taken. A late optimization pass will convert this intrinsic to either
``llvm.cond.loop(true)`` or ``llvm.cond.loop(pred)``, where ``pred``
is a predicate for a conditional branch leading to the intrinsic call,
if possible.
Reviewers: fmayer, vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/181299
Commit: 55857e14bc2261305db70dbe1f0e3af93c229aad
https://github.com/llvm/llvm-project/commit/55857e14bc2261305db70dbe1f0e3af93c229aad
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGenCXX/sanitize-trap-loop.cpp
Log Message:
-----------
CodeGen: Switch to generating llvm.looptrap instead of llvm.cond.loop.
Reviewers: fmayer, vitalybuka
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/181300
Commit: 7b099a4c53178c249043f8c477511977b4ed5ca6
https://github.com/llvm/llvm-project/commit/7b099a4c53178c249043f8c477511977b4ed5ca6
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
R llvm/test/Transforms/LowerTypeTests/cond-loop.ll
Log Message:
-----------
LowerTypeTests: Remove the optimization for llvm.cond.loop.
Because in the new IR pattern for conditional traps the llvm.cond.loop
is generated late, the LowerTypeTests pass will never see it, so we no
longer need to be able to optimize it. Therefore, remove the code for
optimizing it.
This reverts commit 1de721c414407f4b92d3e2458ce9ca38563cef9c.
Reviewers: fmayer, vitalybuka
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/181301
Commit: 29380442d27dee76a0d5859631cfc7c35c08ba40
https://github.com/llvm/llvm-project/commit/29380442d27dee76a0d5859631cfc7c35c08ba40
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Account for cross-repo PRs in prune-unused-branches (#181232)
Some users (as reported in the discourse thread) use user branches
purely as a diff base for cross repo pull requests. This patch makes it
so that we do not delete branches that are used in this way.
Commit: 6eeb03b5a28d048701313c9ec4edf4fbbbc842bb
https://github.com/llvm/llvm-project/commit/6eeb03b5a28d048701313c9ec4edf4fbbbc842bb
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/add-imm64-to-sub.ll
Log Message:
-----------
[RISCV][NFC] Fix UBSan issue in ISel (#181422)
If `int Imm` is `INT64_MIN`, then negating this value overflows, which
is undefined behaviour. This adds this case to the tests, and avoids
this case.
Co-authored-by: Sampath Vutkoori <svutkoor at qti.qualcomm.com>
Commit: 7b01c69ccd659c3df250804a213212b66ba1cc56
https://github.com/llvm/llvm-project/commit/7b01c69ccd659c3df250804a213212b66ba1cc56
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang-tools-extra/clang-doc/assets/head-template.mustache
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
Log Message:
-----------
[clang-doc] Change highlight.js theme for light or dark themes (#181317)
Adds another `<link>` tag to load in a dark theme for highlight.js. The
appropriate theme is then loaded for the current system theme. Using a
dark theme for highlight.js in dark mode makes for a much better user
experience since declaration text has a higher contrast compared to the
dark background.
Commit: 14beb294e9c90581e62dceaeede610c20fa0f099
https://github.com/llvm/llvm-project/commit/14beb294e9c90581e62dceaeede610c20fa0f099
Author: Lance Wang <lancewang at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] fix #176920 Add SideEffectInterfaces to dependencies (#181286)
#176920 adds the dependency and breaks the bazel. Fix private headers usage detected when layering check is enabled.
Commit: a8124b1628742ecc97e63b980671f2a561c06a78
https://github.com/llvm/llvm-project/commit/a8124b1628742ecc97e63b980671f2a561c06a78
Author: Lance Wang <lancewang at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Fix #181286 Remove redundant SideEffectInterfaces from CAPIIR (#181435)
Remove redundant SideEffectInterfaces from CAPIIR. It's introduced in
#181286 due to merge.
Commit: 304582cc875d5c1a19238cddc13a77d030007e74
https://github.com/llvm/llvm-project/commit/304582cc875d5c1a19238cddc13a77d030007e74
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
A .github/workflows/build-libc-container.yml
A .github/workflows/containers/libc/Dockerfile
Log Message:
-----------
[Github] Add libc container (#181434)
This will let us run the libc full build tests inside of a container
which means that we have same time by not having to install dependencies
on every run in addition to not running into issues due to dependencies
failing to install particularly around LLVM releases with the llvm.sh
script.
Commit: 4aa5573b1432d5c78b4f37ba0f6473e78c1dc8fa
https://github.com/llvm/llvm-project/commit/4aa5573b1432d5c78b4f37ba0f6473e78c1dc8fa
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Only delete branches seen previously in pruning workflow (#181430)
This eliminates any possibility of race conditions around the workflow
deleting branches that were created around when it starts.
Commit: 49fa2a4d24c6a27526cb9ad481ef32648dd58e26
https://github.com/llvm/llvm-project/commit/49fa2a4d24c6a27526cb9ad481ef32648dd58e26
Author: Aditya Trivedi <120598696+adit4443ya at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/test/CIR/CodeGenBuiltins/X86/rd-builtins.c
Log Message:
-----------
[CIR] Support x86 builtin rdtsc (#180714)
This PR implements CodeGen for rdtsc builtins in CIR upstream.
Towards #167765
Commit: c4170461d7fc5ddd0423c5f7325abd0a7dfc6277
https://github.com/llvm/llvm-project/commit/c4170461d7fc5ddd0423c5f7325abd0a7dfc6277
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang/include/flang/Optimizer/Builder/CUDAIntrinsicCall.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
A flang/module/cuda_runtime_api.f90
A flang/test/Lower/CUDA/cuda-default-stream.cuf
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang][cuda] Lower set/get default stream for arrays (#181432)
Commit: 58184dfc0a8e56adb171b77565ea0d748e3626d1
https://github.com/llvm/llvm-project/commit/58184dfc0a8e56adb171b77565ea0d748e3626d1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M .github/workflows/containers/libc/Dockerfile
Log Message:
-----------
[Github] Update libc container
Add git/cmake which are needed by the workflow. Add some comments pulled
from the libc workflow. Also use a user rather than running as root to
prevent file permissions tests from failing.
Commit: d406ce8e20600171b6030c9dcf728a23975c9eaf
https://github.com/llvm/llvm-project/commit/d406ce8e20600171b6030c9dcf728a23975c9eaf
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Host/HostInfoBase.h
M lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/ModuleList.cpp
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
M lldb/unittests/ObjectFile/MachO/TestObjectFileMachO.cpp
Log Message:
-----------
[lldb][macOS] Don't fetch settings in Host, to keep layering (#181406)
I introduced a dependency from Host on Core without realizing it in an
earlier PR, while adding a setting to disable the new shared cache
binary blob scanning/reading in HostInfoMacOSX, which caused build
problems. Thanks to Alex for figuring out the build failure I caused.
Add a bool to the methods in HostInfoMacOSX, and have the callers (in
Core and various plugins etc) all fetch the
symbols.shared-cache-binary-loading setting from ModuleList, and pass
the result in.
The least obvious part of this is in ProcessGDBRemote where we first
learn the shared cache filepath & uuid, it calls
HostInfoMacOSX::SharedCacheIndexFiles() - this is only called when the
shared cache binary loading is enabled, so I conditionalize the call to
this method based on the setting.
rdar://148939795
Commit: 2bd77c83596a5336608ba7a07810a57686222a23
https://github.com/llvm/llvm-project/commit/2bd77c83596a5336608ba7a07810a57686222a23
Author: Srividya Sundaram <srividya.sundaram at intel.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/Driver/SyclInstallationDetector.h
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/test/Driver/sycl-offload-jit.cpp
Log Message:
-----------
[SYCL][Driver] Pass path to libsycl.so by default for SYCL compilation. (#174877)
This patch updates the default behavior for `SYCL` offload compilations.
Specifically, we now pass the path to the SYCL runtime library,
`libsycl.so`, by default to the `clang-linker-wrapper` tool, which is
responsible for linking the `SYCL` runtime library. We also add the SYCL
header include paths by default to both the SYCL host and device
compilations.
Commit: edae8a448504a73ca12b4e6dd66b00d0f1b00d0b
https://github.com/llvm/llvm-project/commit/edae8a448504a73ca12b4e6dd66b00d0f1b00d0b
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
A llvm/test/CodeGen/Hexagon/udiv-vector-nonuniform.ll
Log Message:
-----------
[Hexagon] Fix APInt assertion in getBuildVectorConstInts (#181202)
Truncate the ConstantSDNode APInt value to the element bit width before
creating the ConstantInt. After type legalization, a ConstantSDNode may
have a wider type than the vector element (e.g., i32 constant for an i16
element).
Commit: 75fcaef3b60367e293e4208c8d88803f8650f3e1
https://github.com/llvm/llvm-project/commit/75fcaef3b60367e293e4208c8d88803f8650f3e1
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M libclc/opencl/lib/amdgcn/mem_fence/fence.cl
M libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
Log Message:
-----------
[libclc] Fix memory_scope and memory_order of *mem_fence builtins (#181311)
See OpenCL spec 6.15.12.5.
https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_C.html#fences
// Older syntax memory fences are equivalent to atomic_work_item_fence
with the // same flags parameter, memory_scope_work_group scope, and
ordering as follows:
void mem_fence(cl_mem_fence_flags flags) // memory_order_acq_rel
void read_mem_fence(cl_mem_fence_flags flags) // memory_order_acquire
void write_mem_fence(cl_mem_fence_flags flags) // memory_order_release
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: 560e22926804f6ca818952e815ec63c434460039
https://github.com/llvm/llvm-project/commit/560e22926804f6ca818952e815ec63c434460039
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M libclc/clc/lib/generic/math/clc_remquo.cl
M libclc/clc/lib/generic/math/clc_remquo.inc
Log Message:
-----------
Revert "[libclc] replace float remquo with amd ocml implementation" (#181443)
Reverts llvm/llvm-project#177131
It broke SPIRV target: error in backend: unable to legalize instruction:
%88:fid(s32) = G_FCANONICALIZE
Commit: 39613943855e6a82b1bb4c3d16fbaf2289a5d739
https://github.com/llvm/llvm-project/commit/39613943855e6a82b1bb4c3d16fbaf2289a5d739
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcher.cpp
M llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[TableGen] Introduce MatcherList to manage a linked list of Matchers. NFC (#177875)
The previous memory management involved passing around references to the
std::unique_ptr next pointer in each Matcher. Scopes and
SwitchOpcode/SwitchType did not use std::unique_ptr internally, but
would sometimes need to have the pointers to their children moved to
temporary std::unique_ptrs that may be modified and then put back into
the Scope/Switch. Other code used manual deletion.
This patch introduces a MatcherList object that encapsulates list
management and ownership. The interface is based on std::forward_list
using the libcxx implementation for reference.
Once a Matcher is added to a MatcherList it can only be in that list or
spliced into another list. This ensures it is always owned by a list
that will be responsible for deleting it.
Scope and SwitchOpcode/Type children are now MatcherLists rather than
Matcher*. A nice side effect of this is that we no longer need a Size
field in each Matcher to store the size of Scope/Switch children during
emission. This field was only used for the Matcher that the Scope/Switch
children pointed to. Now we can store it in the MatcherList instead.
There is no change to the generated output.
There's still a little bit of cleanup that can be done in follow ups. For example,
renaming "TheMatcher" and merging FactorScope and FactorNodes together.
Commit: 1b2196bd8234252d94851c5d98e2f4df9de9b65b
https://github.com/llvm/llvm-project/commit/1b2196bd8234252d94851c5d98e2f4df9de9b65b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/unittests/Runtime/CUDA/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/DefaultStream.cpp
M flang/include/flang/Runtime/CUDA/allocator.h
Log Message:
-----------
[flang][cuda] Add entry point for set/get default stream (#181440)
Commit: 4833c51d11e5ec0306fe0386d1be487de7a5e4b6
https://github.com/llvm/llvm-project/commit/4833c51d11e5ec0306fe0386d1be487de7a5e4b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcher.cpp
M llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
Revert "[TableGen] Introduce MatcherList to manage a linked list of Matchers. NFC (#177875)"
This reverts commit 39613943855e6a82b1bb4c3d16fbaf2289a5d739.
It's failing across multiple build bots.
Commit: bb71a33c8fe4b294c76edc3d3ebc478a0f45f469
https://github.com/llvm/llvm-project/commit/bb71a33c8fe4b294c76edc3d3ebc478a0f45f469
Author: Lance Wang <lancewang at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] Fix #176920 Add MLIRBindingsPythonLibHeaders library (#181447)
MLIRBindingsPythonLibHeaders includes internal headers.
Commit: e640d38b0d2b4691ee722738f81443e716693598
https://github.com/llvm/llvm-project/commit/e640d38b0d2b4691ee722738f81443e716693598
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Simplify Extension Predicates, Compatibility (#181255)
This pushes some of our simplifications to extension dependencies into
other parts of RISCVISAInfo and into the tablegen predicates.
The key affected pieces are:
- Error messages around Zcd incompatibilities now reference only `zcd`.
- We now have a big list of extensions that are rv32-only.
Commit: d2be26a9f2b75e87969c5943d48ea66c5f336d6d
https://github.com/llvm/llvm-project/commit/d2be26a9f2b75e87969c5943d48ea66c5f336d6d
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGen/attr-no-outline.c
A clang/test/CodeGenObjC/attr-no-outline.m
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/attr-no-outline.c
A clang/test/Sema/attr-no-outline.cpp
Log Message:
-----------
[clang] Add clang::no_outline Attribute (#163666)
This change:
- Adds a `[[clang::no_outline]]` function attribute for C and C++. There
is no equivalent GNU syntax for this attribute, so no `__attribute__`
syntax.
- Uses the presence of `[[clang::no_outline]]` to add the `nooutline`
attribute to IR function definitions.
- Adds test for the above.
The `nooutline` attribute disables both the Machine Outliner (enabled at
Oz for some targets), and the IR Outliner (disabled by default).
Fixes #144135
Commit: e003440b8e2cf0fe01515a9b957fada77cabcdf5
https://github.com/llvm/llvm-project/commit/e003440b8e2cf0fe01515a9b957fada77cabcdf5
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg30xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
Log Message:
-----------
[clang][NFC] Add missing indentation for expected-notes in C++ DR tests
Commit: 74599c69920831ff04cf13a4bab5cea40984aadb
https://github.com/llvm/llvm-project/commit/74599c69920831ff04cf13a4bab5cea40984aadb
Author: Mark Zhuang <mark.zhuang at spacemit.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
A clang/test/Driver/print-enabled-extensions/riscv-spacemit-a100.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add SpacemiT A100 processor definition (#174052)
Commit: 74be8edf939427e100b505027298d7d2552f08cd
https://github.com/llvm/llvm-project/commit/74be8edf939427e100b505027298d7d2552f08cd
Author: Eric Christopher <echristo at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Log Message:
-----------
[GlobalISel] Fix type mismatch in LegalizerHelper ternary (#180865)
### Summary
Fix type mismatch in ternary expression that causes GCC `-Werror=extra`
to fail.
### Details
GCC's `-Werror=extra` enforces stricter type consistency in ternary
expressions, in this case unsigned and an enum literal.
### Tested
- Built with ToT clang and GCC 13.3.0 on Linux x86_64 (not really
because there are other warnings, but this one is gone).
- All existing tests pass
Commit: bc50d9aa85f9ad1d8f0d389ef988cfc7996aa77f
https://github.com/llvm/llvm-project/commit/bc50d9aa85f9ad1d8f0d389ef988cfc7996aa77f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfofp8min.td
Log Message:
-----------
[RISCV] Convert some multiclasses in RISCVInstrInfoV.td to classes if they only have one child def. NFC (#181408)
The child def requires an empty string which looks odd. Use classes and
inheritance instead.
Commit: 7fd56a0d748bcda6d123f15c636b6a2912130a16
https://github.com/llvm/llvm-project/commit/7fd56a0d748bcda6d123f15c636b6a2912130a16
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
Log Message:
-----------
[RISCV] Calculate max call frame size in RISCVTargetLowering::finalizeLowering. (#181302)
I want to enable the frame pointer when the call frame size is too large
to access emergency spill slots. To do that I need to know the call
frame size early enough to reserve FP.
The code here is copied from AArch64. ARM does the same. I did not check
other targets.
Splitting this off separately because it stops us from unnecessarily
reserving the base pointer in the some RVV tests. That appears to due to
this check
(!hasReservedCallFrame(MF) && (!MFI.isMaxCallFrameSizeComputed() ||
MFI.getMaxCallFrameSize() != 0))) &&
By calculating early !MFI.isMaxCallFrameSizeComputed() is no longer true
and the size is zero.
Commit: cfc311ed789e87b9febb56095d4173a225ce7a64
https://github.com/llvm/llvm-project/commit/cfc311ed789e87b9febb56095d4173a225ce7a64
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lldb/bindings/interface/SBBreakpointListExtensions.i
M lldb/bindings/interface/SBFileSpecListExtensions.i
M lldb/bindings/interface/SBMemoryRegionInfoListExtensions.i
M lldb/bindings/interface/SBModuleSpecListExtensions.i
M lldb/bindings/interface/SBProcessInfoListExtensions.i
M lldb/bindings/interface/SBStringListExtensions.i
M lldb/bindings/interface/SBThreadCollectionExtensions.i
M lldb/bindings/interface/SBTypeExtensions.i
M lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
M lldb/test/API/functionalities/completion/TestCompletion.py
M lldb/test/API/lang/cpp/namespace/TestNamespace.py
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
M lldb/test/API/python_api/find_in_memory/TestFindInMemory.py
M lldb/test/API/python_api/sbmodule/TestSBModule.py
M lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py
M lldb/test/API/python_api/type/TestTypeList.py
Log Message:
-----------
[lldb/API] Add __getitem__ subscript support to python SBAPI list class (#181457)
This patch adds __getitem__ method to the SBAPI list classes that were
missing subscript support, enabling Pythonic index access (e.g.,
list[0], list[-1]) in Python bindings.
The implementation adds __getitem__ to the following classes:
- SBStringList
- SBFileSpecList
- SBProcessInfoList
- SBMemoryRegionInfoList
- SBThreadCollection
- SBBreakpointList
- SBModuleSpecList
- SBTypeList
Each implementation follows the same pattern:
- Type validation (raises TypeError for non-integer indices)
- Range validation with negative index support (raises IndexError for
out-of-range)
- Delegates to the appropriate Get*AtIndex() method
The changes are in SWIG interface extension files (.i), implementing the
__getitem__ method in Python bindings while maintaining compatibility
with existing Get*AtIndex() API.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 78d995758dd369cec9664863c47d2d46d459bc08
https://github.com/llvm/llvm-project/commit/78d995758dd369cec9664863c47d2d46d459bc08
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
R lld/ELF/Arch/RISCVInternalRelocations.h
M lld/ELF/Target.cpp
M lld/test/ELF/riscv-vendor-relocations.s
Log Message:
-----------
Revert "[LLD] Add support for statically resolved vendor-specific RISCV relocations. (#169273)" (#181336)
This reverts commit 0c6d7a40187e5e6cbdff1cf5dbdb6fe91054bef4 and
follow-up 7dfa132936a89a966befb6045f306cb9905c6dab.
It landed prematurely with multiple issues in the implementation and
tests.
Commit: d6dee9055dbf4bb495080b37c6f28e27062ef0b2
https://github.com/llvm/llvm-project/commit/d6dee9055dbf4bb495080b37c6f28e27062ef0b2
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
Log Message:
-----------
[ELF] Move RISCV scanSectionImpl next to getRelExpr. NFC
Move scanSectionImpl and scanSection to right after getRelExpr and
before relocate, matching the ordering used in X86_64.cpp and PPC64.cpp.
Commit: 2693adf197d778f0c0c4d05efd2d8c1419c2cc73
https://github.com/llvm/llvm-project/commit/2693adf197d778f0c0c4d05efd2d8c1419c2cc73
Author: Abhijeet <abhijeetsharma2002 at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/bf16addf128.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/bf16addf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16addf128.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor bf16addf128 to header only (#181058)
Resolves #181018
Part of #147386
Commit: 5c14267374799ca2ecb4a4965eed820ac72af786
https://github.com/llvm/llvm-project/commit/5c14267374799ca2ecb4a4965eed820ac72af786
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vwabdau.c
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvabd.td
A llvm/test/CodeGen/RISCV/rvv/vabd.ll
A llvm/test/CodeGen/RISCV/rvv/vabdu.ll
A llvm/test/CodeGen/RISCV/rvv/vabs.ll
A llvm/test/CodeGen/RISCV/rvv/vwabda.ll
A llvm/test/CodeGen/RISCV/rvv/vwabdau.ll
Log Message:
-----------
[Clang][RISCV] Add Zvabd intrinsics
Doc:
* https://github.com/riscv/integer-vector-absolute-difference
* https://github.com/riscv-non-isa/rvv-intrinsic-doc/pull/424
Authored-by: Zhenxuan Sang <sang at bytedance.com>
Co-Authored-by: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Reviewers: preames, topperc, kito-cheng
Pull Request: https://github.com/llvm/llvm-project/pull/180929
Commit: a1d856a8941abceb6683d3204cfdf53cc0291f69
https://github.com/llvm/llvm-project/commit/a1d856a8941abceb6683d3204cfdf53cc0291f69
Author: Xinlong Chen <49522466+Xinlong-Chen at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/tanhf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/tanhf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/tanhf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor tanhf implementation to header-only in src/__support/math folder. (#178554)
Part of https://github.com/llvm/llvm-project/issues/147386
closes https://github.com/llvm/llvm-project/issues/178493
Commit: bcf0ecf7865942738c180f2dbbe01cec671b4b23
https://github.com/llvm/llvm-project/commit/bcf0ecf7865942738c180f2dbbe01cec671b4b23
Author: Menace <155697298+ProfessionalMenace at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/ffma.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/ffma.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/ffma.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor ffma implementation to header-only in src/__support/math folder (#175304).
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 20605617ac69de3dad49139a3de34b4dd2609607
https://github.com/llvm/llvm-project/commit/20605617ac69de3dad49139a3de34b4dd2609607
Author: Thurston Dang <thurston at google.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/switch-icmp.ll
Log Message:
-----------
Reapply "[msan] Switch switch() from strict handling to (icmp eq)-style handling" (#180636) (#181112)
This reverts https://github.com/llvm/llvm-project/pull/180636 i.e.,
relands https://github.com/llvm/llvm-project/pull/179851.
It was originally reverted because of buildbot failures. When compiling
switch statements with many cases (e.g., AMDGPUGenMCCodeEmitter.inc has
>30,000 cases), MSan's instrumentation created an extremely long chained
expression for the shadow computation. Although that was legal LLVM IR,
it caused the subsequent JumpThreadingPass to have a stack overflow.
This reland avoids the issue by limiting the number of cases considered
(`-msan-switch-precision`), with the tradeoff of niche false negatives
(only in the case where the condition is partly uninitialized and the
first x cases still have a defined comparison, but a case # > x does not
have a fully-defined comparison).
This reland also adds some TODOs for possible improvements.
----
Original commit message:
Currently, the SwitchInst:
```
switch i32 %Val, label %else [ i32 0, label %A
i32 1, label %B
i32 2, label %C ]
```
is strictly handled i.e., MSan will check that %Val is fully
initialized. This is appropriate nearly all the time.
However, sometimes the compiler may convert (icmp + br) into a switch
statement. (icmp + br) has different semantics: MSan allows icmp eq/ne
with partly initialized inputs to still result in a fully initialized
output, if there exists a bit that is initialized in both inputs with a
differing value e.g., suppose:
```
%A = 00000000 00001010
%B = 00000000 00000110
%C = 00000000 00000011
%Val = 00000001 ???????? (where ? denotes an uninitialized bit)
```
Even though %Val has uninitialized bits, the initialized '1' bit
immediately to the left, compared to the corresponding initialized '0'
bit in %A/%B/%C suffices to prove that %Val does not match any of those
cases. This is similar to a real-world case with std::optional (where
the has_value bit may be initialized but the value is not).
This patch adds this relaxed icmp logic to the switch instrumentation as
well, to make MSan's behavior equivalent under optimization.
Note that this edge case only applies if the switch input value
definitively does not match *any* of the cases (matching any of the
cases requires an exact, fully initialized match). If it is uncertain
whether the switch input value could, depending on the uninitialized
bits, match one of the cases or not, MSan will report
use-of-uninitialized memory.
Commit: 8ccc40ee0ecfe1acb83a47539d4d824e167132cb
https://github.com/llvm/llvm-project/commit/8ccc40ee0ecfe1acb83a47539d4d824e167132cb
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/hypotf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/hypotf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/hypotf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor hypotf16 to Header Only (#180511).
closes #175337
part of #175336
Commit: ab25249e63aba72be5365e5dc08c8d3c34d23276
https://github.com/llvm/llvm-project/commit/ab25249e63aba72be5365e5dc08c8d3c34d23276
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
R libcxx/test/benchmarks/algorithms/push_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/push_heap.bench.cpp
Log Message:
-----------
[libc++] Refactor std::push_heap benchmark (#181343)
We're trying to get the time it takes to run all the benchmarks down, so
that we can run them on a regular basis. This patch saves us ~8 minutes
per run.
Fixes #177028
Commit: 84ce7b1f1d2997d1880f9b24ee6e6a75d4045e0a
https://github.com/llvm/llvm-project/commit/84ce7b1f1d2997d1880f9b24ee6e6a75d4045e0a
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/llrint-conv.ll
M llvm/test/CodeGen/X86/lrint-conv-i64.ll
M llvm/test/CodeGen/X86/vector-llrint.ll
M llvm/test/CodeGen/X86/vector-lrint.ll
Log Message:
-----------
[X86] Avoid custom lowering `llrint` on non-x87 targets (#181339)
Fixes #181265
Commit: 45e666a8531c1148bdb170b9a120f99e1500c427
https://github.com/llvm/llvm-project/commit/45e666a8531c1148bdb170b9a120f99e1500c427
Author: Bill Wendling <morbo at google.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/test/CodeGen/asm.c
R llvm/include/llvm/CodeGen/CallBrPrepare.h
A llvm/include/llvm/CodeGen/InlineAsmPrepare.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/InlineAsm.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/CallBrPrepare.cpp
M llvm/lib/CodeGen/CodeGen.cpp
A llvm/lib/CodeGen/InlineAsmPrepare.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AArch64/callbr-prepare.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/ARM/O3-pipeline.ll
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
M llvm/test/CodeGen/X86/O0-pipeline.ll
A llvm/test/CodeGen/X86/asm-constraints-rm.ll
A llvm/test/CodeGen/X86/inline-asm-prepare-memory.ll
M llvm/test/CodeGen/X86/inlineasm-sched-bug.ll
M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
M llvm/tools/opt/optdriver.cpp
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[Clang][inlineasm] Add special support for "rm" output constraints (#92040)
Clang isn't able to support multiple constraints on inputs and outputs,
like "rm". Instead, it picks the "safest" one to use, i.e. the memory
constraint for "rm". This leads to obviously horrible code:
asm __volatile__ ("pushf\n\t"
"popq %0"
: "=rm" (x));
is compiled to:
pushf
popq -8(%rsp)
movq -8(%rsp), %rax
It gets worse when inlined into other functions, because it may
introduce
a stack where none is needed.
With this change, Clang now generates IR for the more optimistic choice
("r"). All but the fast register allocator are able to fold registers if
it turns out that register pressure is too high.
This leaves the fast register allocator. The fast register allocator, as
the name suggests, is built for execution speed, not code quality. Thus,
we add special processing to convert the "optimistic" IR into the
"conservative" choice (again at the IR level), which we know it can
handle.
We focus on "rm" for the initial commit, but that can be expanded in the
future for other constraints where Clang generates ++ungood code (like
"g").
Fixes: https://github.com/llvm/llvm-project/issues/20571
Commit: 6e23353c396098bf5cedf26091179f9d8dacb2e9
https://github.com/llvm/llvm-project/commit/6e23353c396098bf5cedf26091179f9d8dacb2e9
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/dag-stlf-mismatch.ll
Log Message:
-----------
[DAGCombiner] Fix crash caused by illegal InterVT in ForwardStoreValueToDirectLoad (#181175)
This patch fixes an assertion failure in ForwardStoreValueToDirectLoad
during DAGCombine.
The crash occurs when `STLF (Store-to-Load Forwarding)` creates an
illegal intermediate bitcast type (e.g., `v128i1` when bridging a
128-bit store to a `<32 x i1>` load on X86). Since `v128i1` is not a
legal mask type for the backend, it violates the expectations of the
LegalizeDAG pass.
The fix adds a `TLI.isTypeLegal(InterVT)` check to ensure that the
intermediate type used for the transformation is supported by the
target.
Fixes #181130
Commit: 87b9805f6c9f980f77c7b605d5f06fa9acd2a573
https://github.com/llvm/llvm-project/commit/87b9805f6c9f980f77c7b605d5f06fa9acd2a573
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Use free arm Windows runners for PRs (#181477)
We are running low on budget, so we need to disable this temporarily.
Commit: a636dd4c37f12594275de2fe180ca35bc04d76ea
https://github.com/llvm/llvm-project/commit/a636dd4c37f12594275de2fe180ca35bc04d76ea
Author: Bill Wendling <morbo at google.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/InlineAsmPrepare.cpp
Log Message:
-----------
[inlineasm] The CFG is not necessarily preserved.
Commit: c4721872af5605e10f06c256aae033ef15053525
https://github.com/llvm/llvm-project/commit/c4721872af5605e10f06c256aae033ef15053525
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/test/CodeGen/asm.c
A llvm/include/llvm/CodeGen/CallBrPrepare.h
R llvm/include/llvm/CodeGen/InlineAsmPrepare.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/InlineAsm.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/CallBrPrepare.cpp
M llvm/lib/CodeGen/CodeGen.cpp
R llvm/lib/CodeGen/InlineAsmPrepare.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AArch64/callbr-prepare.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/ARM/O3-pipeline.ll
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
M llvm/test/CodeGen/X86/O0-pipeline.ll
R llvm/test/CodeGen/X86/asm-constraints-rm.ll
R llvm/test/CodeGen/X86/inline-asm-prepare-memory.ll
M llvm/test/CodeGen/X86/inlineasm-sched-bug.ll
M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
M llvm/tools/opt/optdriver.cpp
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
Revert "[Clang][inlineasm] Add special support for "rm" output constraints (#92040)"
This change landed without approval.
This reverts commit 45e666a8531c1148bdb170b9a120f99e1500c427.
This reverts commit a636dd4c37f12594275de2fe180ca35bc04d76ea.
Commit: 1ee03d1e097f05cc9811a0e4a3e7e13e35340b6d
https://github.com/llvm/llvm-project/commit/1ee03d1e097f05cc9811a0e4a3e7e13e35340b6d
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lldb/bindings/python/CMakeLists.txt
M lldb/bindings/python/python-swigsafecast.swig
M lldb/bindings/python/python-wrapper.swig
M lldb/docs/use/python-reference.rst
A lldb/docs/use/tutorials/scripted-symbol-locator.md
A lldb/examples/python/templates/scripted_symbol_locator.py
M lldb/include/lldb/API/SBFileSpec.h
M lldb/include/lldb/API/SBModule.h
M lldb/include/lldb/API/SBModuleSpec.h
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Core/PluginManager.h
A lldb/include/lldb/Interpreter/Interfaces/ScriptedSymbolLocatorInterface.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/LineEntry.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/API/SBTarget.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSymbolLocatorPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSymbolLocatorPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
A lldb/source/Plugins/SymbolLocator/Scripted/CMakeLists.txt
A lldb/source/Plugins/SymbolLocator/Scripted/SymbolLocatorScripted.cpp
A lldb/source/Plugins/SymbolLocator/Scripted/SymbolLocatorScripted.h
M lldb/source/Symbol/LineEntry.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/ThreadPlanStepRange.cpp
A lldb/test/API/functionalities/scripted_symbol_locator/Makefile
A lldb/test/API/functionalities/scripted_symbol_locator/TestScriptedSymbolLocator.py
A lldb/test/API/functionalities/scripted_symbol_locator/main.c
A lldb/test/API/functionalities/scripted_symbol_locator/source_locator.py
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
[lldb] Add ScriptedSymbolLocator plugin for source file resolution (#181334)
## Summary
Based on discussion from
[RFC](https://discourse.llvm.org/t/rfc-python-callback-for-source-file-resolution/83545),
this PR adds a new `SymbolLocatorScripted` plugin that allows Python
scripts to implement custom symbol and source file resolution logic.
This enables downstream users to build custom symbol servers, source
file remapping, and build artifact resolution entirely in Python.
### Changes
- Adds `LocateSourceFile()` to the SymbolLocator plugin interface,
called during source path resolution with a fully loaded `ModuleSP`, so
the plugin has access to the module's UUID, file paths, and symbols.
- Adds `SymbolLocatorScripted` plugin that delegates all four
SymbolLocator methods (`LocateExecutableObjectFile`,
`LocateExecutableSymbolFile`, `DownloadObjectAndSymbolFile`,
`LocateSourceFile`) to a user-provided Python class.
- Adds `ScriptedSymbolLocatorPythonInterface` to bridge C++ calls to
Python, with proper GIL management and error handling.
- Results for `LocateSourceFile` are cached per (module UUID, source
file) pair.
- The Python class is configured via: `settings set
plugin.symbol-locator.scripted.script-class module.ClassName`
### Python class interface
```python
class MyLocator:
def __init__(self, exe_ctx, args): ...
def locate_source_file(self, module, original_source_file):
...
def locate_executable_object_file(self, module_spec): ...
def locate_executable_symbol_file(self, module_spec,
default_search_paths): ...
def download_object_and_symbol_file(self, module_spec,
force_lookup, copy_executable): ...
```
### Test plan
```
Added TestScriptedSymbolLocator.py with 3 test cases:
- test_locate_source_file — verifies the locator resolves source
files, receives a valid SBModule with UUID, and remaps paths correctly
- test_locate_source_file_none_fallthrough — verifies returning
None falls through to default LLDB resolution, and that having no script
class set works normally
- test_invalid_script_class — verifies graceful handling of
invalid class names without crashing
```
Co-authored-by: Rahul Reddy Chamala <rachamal at fb.com>
Commit: 945db339632895e18721882b0a71e9d41d9c4ef7
https://github.com/llvm/llvm-project/commit/945db339632895e18721882b0a71e9d41d9c4ef7
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lldb/include/lldb/Target/Target.h
M lldb/source/Target/Target.cpp
M lldb/test/API/functionalities/scripted_symbol_locator/TestScriptedSymbolLocator.py
Log Message:
-----------
[lldb] Fix Windows build and remote test failure for ScriptedSymbolLocator (#181488)
## Summary
- Move `GetScriptedSymbolLocatorClassName()` from inline in `Target.h`
to out-of-line in `Target.cpp` to avoid collision with Windows
`winuser.h` `#define GetClassName GetClassNameW` macro.
- Replace `LaunchSimple(None, None, os.getcwd())` with
`lldbutil.run_to_breakpoint_do_run()` in `test_locate_source_file` to
fix test failure on remote platforms where the local working directory
doesn't exist.
Fixes CI failures from #181334.
## Test plan
- [ ] Windows (aarch64-windows) build passes
- [ ] remote-linux-win test passes
- [ ] Existing ScriptedSymbolLocator tests pass on local platforms
Co-authored-by: Rahul Reddy Chamala <rachamal at meta.com>
Commit: 02aa032f6ff63b9f56ff171d4984e537006b6e84
https://github.com/llvm/llvm-project/commit/02aa032f6ff63b9f56ff171d4984e537006b6e84
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
Log Message:
-----------
[lldb] Fix pid_t redefinition on Windows in ScriptInterpreterPythonInterfaces (#181492)
## Summary
- Move `#include "lldb/Core/PluginManager.h"` after `#include
"ScriptInterpreterPythonInterfaces.h"` so Python's `pyconfig.h` defines
`pid_t` before `PosixApi.h` gets included. This fixes the `C2371:
'pid_t': redefinition; different basic types` error on all Windows
builders.
Fixes CI failures from #181334 / #181488.
Co-authored-by: Rahul Reddy Chamala <rachamal at meta.com>
Commit: d7a24d30f62bc07b79f055474ecb4fe7d656e33d
https://github.com/llvm/llvm-project/commit/d7a24d30f62bc07b79f055474ecb4fe7d656e33d
Author: Hui <hui.xie1990 at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__algorithm/ranges_shift_right.h
M libcxx/include/__algorithm/shift_right.h
M libcxx/include/algorithm
M libcxx/include/module.modulemap.in
M libcxx/include/version
M libcxx/modules/std/algorithm.inc
A libcxx/test/libcxx/algorithms/alg.modifying.operations/alg.shift/assert.shift_right.pass.cpp
A libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges_shift_right.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Implement `ranges::shift_right` (#177847)
Implement the `ranges::shift_right` algorithm from
[P2440R1](https://wg21.link/P2440R1).
Fixes #134062
Fixes #105184
Commit: 0773c83e6666ac5cbd4c9b89ebb2e78e7c494821
https://github.com/llvm/llvm-project/commit/0773c83e6666ac5cbd4c9b89ebb2e78e7c494821
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
Log Message:
-----------
[lldb] Fix pid_t redefinition on Windows in ScriptInterpreterPythonInterfaces (#181493)
## Summary
Include `lldb-python.h` as the first include inside the
`LLDB_ENABLE_PYTHON` block in `ScriptInterpreterPythonInterfaces.cpp`,
matching the pattern used by every other Python interface `.cpp` file in
this directory.
On Windows, `lldb-python.h` defines `NO_PID_T` before including
`Python.h`. This prevents `PosixApi.h` (transitively included via
`lldb-private.h`) from redefining `pid_t` with a conflicting type
(`uint32_t` vs `int`).
The issue was introduced by #181334 (ScriptedSymbolLocator plugin),
which added a new header whose include chain transitively reaches
`PosixApi.h`.
Fixes Windows build failures on lldb-aarch64-windows, lldb-x86_64-win,
and lldb-remote-linux-win.
## Test plan
- [ ] lldb-aarch64-windows build passes
- [ ] lldb-x86_64-win build passes
- [ ] lldb-remote-linux-win build passes
Co-authored-by: Rahul Reddy Chamala <rachamal at meta.com>
Commit: de4f473f884e1b59378bf04d37023f6fc7f3601a
https://github.com/llvm/llvm-project/commit/de4f473f884e1b59378bf04d37023f6fc7f3601a
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
Log Message:
-----------
[lldb] Fix Windows linker error for MakeSBModuleSpec in lldb-server (#181494)
## Summary
Move the definition of `ScriptInterpreter::MakeSBModuleSpec` from
`ScriptInterpreter.cpp` to `ScriptedPythonInterface.cpp`.
`MakeSBModuleSpec` constructs an `SBModuleSpec`, whose symbols live in
the API library (`liblldb`). `ScriptInterpreter.cpp` is part of
`lldbInterpreter`, which is also linked into `lldb-server` — and
`lldb-server` does not link the API library. On Windows, this causes
`LNK2019: unresolved external symbol` for `SBModuleSpec`'s constructor
and destructor.
`ScriptedPythonInterface.cpp` is part of the Python plugin library,
which only links into `liblldb` where the API symbols are available. The
method retains friend access to `SBModuleSpec` since it is still a
member of `ScriptInterpreter` regardless of which `.cpp` file defines
it.
Fixes Windows linker failure from #181334.
## Test plan
- [ ] Existing ScriptedSymbolLocator tests pass
Co-authored-by: Rahul Reddy Chamala <rachamal at meta.com>
Commit: 7b052c4c0e00476fa8bfae72568ceeb05e75f89c
https://github.com/llvm/llvm-project/commit/7b052c4c0e00476fa8bfae72568ceeb05e75f89c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M .github/workflows/build-libc-container.yml
Log Message:
-----------
[Github][libc] Also build arm container (#181497)
Some of the libc full build tests also run on AArch64 machines. We need
to build an ARM container or otherwise the container fails to start and
we never end up running anything.
Commit: 846e022a5d145ede7d7558c03d4a1559b96b34d3
https://github.com/llvm/llvm-project/commit/846e022a5d145ede7d7558c03d4a1559b96b34d3
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
Log Message:
-----------
[lldb] NFC: Use standard comment for lldb-python.h include (#181498)
## Summary
Use the standard `// LLDB Python header must be included first.` comment
to match every other Python interface `.cpp` file in this directory, as
suggested by @JDevlieghere.
## Test plan
NFC - comment only change.
Co-authored-by: Rahul Reddy Chamala <rachamal at meta.com>
Commit: cd38f8486b58d3dc6a09dfd10bdf0a88d976f3d5
https://github.com/llvm/llvm-project/commit/cd38f8486b58d3dc6a09dfd10bdf0a88d976f3d5
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/smax-idx.ll
Log Message:
-----------
[LV] Add argmin test for epilogue vectorization w/o wide canonical IV.
Add additional epilogue vectorization test coverage for
https://github.com/llvm/llvm-project/pull/170223.
Also regenerate check lines for related tests.
Commit: aecc4997bf120f8f3d80417024decf1c3a286bc5
https://github.com/llvm/llvm-project/commit/aecc4997bf120f8f3d80417024decf1c3a286bc5
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/test/ELF/ppc64-tls-missing-gdld.s
Log Message:
-----------
[ELF] Add target-specific relocation scanning for PPC64 (#181496)
Implement PPC64::scanSectionImpl, following the pattern established for
x86. This merges the getRelExpr and TLS handling for SHF_ALLOC sections
into the target-specific scanner, enabling devirtualization and
eliminating abstraction overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic rs.scan() path.
- Use processR_PC/processR_PLT_PC for common PC-relative and PLT
relocations.
- Handle TLS GD, LD, and DTPREL directly, eliminating
handleTlsRelocation, getTlsGdRelaxSkip, and adjustTlsExpr overrides.
Use handleTlsIe for TLS IE, enabling IE-to-LE optimization even when
ppc64DisableTLSRelax is set (lifted a limitation from
the workaround patch https://reviews.llvm.org/D92959).
- Use processAux for R_PPC64_PCREL_OPT. Remove the PPC64-specific
special case from process().
- Replace RE_PPC64_RELAX_GOT_PC with R_RELAX_GOT_PC, which computes
the same value (sym + addend - PC).
- Replace RE_PPC64_RELAX_TOC with R_GOTREL, moving the
ctx.arg.tocOptimize check to relocateAlloc.
- Switch relocateAlloc from expr-based to type-based dispatch.
- Simplify getRelExpr to only handle relocations needed by
relocateNonAlloc.
Commit: caf2a4846b4f32598a74b234c2d74032210f5bde
https://github.com/llvm/llvm-project/commit/caf2a4846b4f32598a74b234c2d74032210f5bde
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/VPlan/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/VPlan/phi-with-fastflags-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Use -vplan-print-after in more VPlan tests
use vplan-print-after instead of -debug/-debug-only in more tests,
auto-generate some checks.
Commit: 1d48322502a0b6ef6e0843adb8023106a4e27840
https://github.com/llvm/llvm-project/commit/1d48322502a0b6ef6e0843adb8023106a4e27840
Author: Martin Storsjö <martin at martin.st>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M compiler-rt/test/asan/TestCases/Windows/rtlsizeheap_zero.cpp
Log Message:
-----------
[ASan] [Windows] Fix a new test in mingw mode
The new test case added in 781719778003ca298ca57e486ab629b7f384844b
didn't work in mingw mode; defines set through `/D` only works when
using the clang-cl compiler driver, not the regular clang compiler
driver.
Switch this to use `-D`, which works with both plain clang and
clang-cl, so we don't need to use a lit macro for expanding
the right option to use.
Commit: 9de9522263a0e8165a4d9f885b0ccbc3482ebb86
https://github.com/llvm/llvm-project/commit/9de9522263a0e8165a4d9f885b0ccbc3482ebb86
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg30xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Revisit tests for CWG2917 and CWG3005 after Core updates (#181513)
This patch revisits the status of tests for two aforementioned Core
issues.
I agree with the analysis in #170410, so no changes are made to CWG2917
test.
In case of CWG3005, Core approved the 2025-09-12 proposed resolution,
which the test was written against in the first place.
Fixes #170410
Commit: 052f2f8cd17f3ff8bcb7b53a777a232d9ac36965
https://github.com/llvm/llvm-project/commit/052f2f8cd17f3ff8bcb7b53a777a232d9ac36965
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Update cxx_dr_status.html
Commit: 5e87f8147d680f340948d428f44b93a239a22464
https://github.com/llvm/llvm-project/commit/5e87f8147d680f340948d428f44b93a239a22464
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M lld/ELF/Arch/PPC.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
Log Message:
-----------
[ELF] Add target-specific relocation scanning for PPC32 (#181517)
Implement PPC::scanSectionImpl, following the pattern established for
x86 (#178846) and PPC64 (#181496). This merges the getRelExpr and TLS
handling for SHF_ALLOC sections into the target-specific scanner,
enabling devirtualization and eliminating abstraction overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic rs.scan() path.
- Use processR_PC/processR_PLT_PC for common PC-relative and PLT
relocations.
- Handle R_PPC_PLTREL24 inline with addend masking via processAux,
removing the EM_PPC special case from process().
- Handle TLS GD/LD/IE directly, eliminating handleTlsRelocation,
getTlsGdRelaxSkip, and adjustTlsExpr overrides. Use handleTlsIe
for TLS IE, and handleTlsGd for R_PPC_GOT_TLSGD16.
- Use R_DTPREL unconditionally for DTPREL relocations, removing
R_RELAX_TLS_LD_TO_LE_ABS (PPC32 was the only user).
- Move TLS relaxation dispatch from relocateAlloc into relocate,
removing the relocateAlloc override.
- Simplify getRelExpr to only handle relocations needed by
relocateNonAlloc and .eh_frame.
Commit: abf1d0bea04ab5d5ed1be3708ce1cd86707d5c8f
https://github.com/llvm/llvm-project/commit/abf1d0bea04ab5d5ed1be3708ce1cd86707d5c8f
Author: Miko <110693261+mikomikotaishi at users.noreply.github.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[clang][Python] Use fstrings instead of string concatenations (#173861)
This PR replaces string concatenations and the older `%` string
interpolation with fstrings. These changes were originally part of
#173845 but have been moved to a new PR.
Commit: a4cb2b00df606a6fd42dd4a8273e61fc8696939a
https://github.com/llvm/llvm-project/commit/a4cb2b00df606a6fd42dd4a8273e61fc8696939a
Author: Xinlong Chen <49522466+Xinlong-Chen at users.noreply.github.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/tanhf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/tanhf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/tanhf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor tanhf16 implementation to header-only in src/__support/math folder. (#178645)
Part of https://github.com/llvm/llvm-project/issues/147386
closed https://github.com/llvm/llvm-project/issues/178492
Commit: 5a6f504922f9cb11f80f0c436ea203c035d92584
https://github.com/llvm/llvm-project/commit/5a6f504922f9cb11f80f0c436ea203c035d92584
Author: Atharv Mane <atharvamane19 at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/bf16add.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/bf16add.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16add.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor bf16add to header only (#181392)
Resolves #181016
Part of #147386
Commit: cfe1b46b46e7470a5f4162bfeae2440fb99cfed6
https://github.com/llvm/llvm-project/commit/cfe1b46b46e7470a5f4162bfeae2440fb99cfed6
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
Log Message:
-----------
[DAGCombiner] Fold trunc(build_vector(ext(x), ext(x)) -> build_vector(x,x) (#179857)
The original implementation performed the transformation when
isTruncateFree was true:
truncate(build_vector(x, x)) -> build_vector(truncate(x), truncate(x)).
In some cases, x comes from an ext, try to pre-truncate build_vectors
source operands
when the source operands of build_vectors comes from an ext.
Testcase from: https://gcc.godbolt.org/z/bbxbYK7dh
Commit: 35e04701dd3a0352176de6cafc6ac4e0f18b9089
https://github.com/llvm/llvm-project/commit/35e04701dd3a0352176de6cafc6ac4e0f18b9089
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/InputFiles.h
M lld/test/ELF/ppc64-tls-missing-gdld.s
Log Message:
-----------
[ELF,PPC64] Scope checkPPC64TLSRelax to section and simplify TLS markers
checkPPC64TLSRelax detects TLS GD/LD without TLSGD/TLSLD markers
(generated from old IBM XL) and disables TLS optimization. Previously it
set a per-file flag (ppc64DisableTLSRelax). Now scope it in the section
being scanned.
In addition, simplify the R_PPC64_TLSGD/R_PPC64_TLSLD marker handling:
the redundant `sym.setFlags(NEEDS_TLSIE)` is unnecessary as the
preceding GOT_TLSGD relocation already sets it.
Commit: 2dd94a48695c98f51518125f4eb9677a82911523
https://github.com/llvm/llvm-project/commit/2dd94a48695c98f51518125f4eb9677a82911523
Author: SiliconA-Z <gfunni234 at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/bitmanip.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctls-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctls-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv64.mir
Log Message:
-----------
[GlobalISel] Optimize CTPOP lowering to match SelDAG (#181499)
Prevent multiplication when only having 16 bits.
Commit: 08c5c0da6775154b3437b2548f4528f83e74f87c
https://github.com/llvm/llvm-project/commit/08c5c0da6775154b3437b2548f4528f83e74f87c
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/pass-by-value.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-ignore-macros.cpp
Log Message:
-----------
[clang-tidy] Add IgnoreMacros option to modernize-pass-by-value (#181465)
Part of #156153
Commit: 45bee6efe9d69e49ca223bdea77353753549c2c9
https://github.com/llvm/llvm-project/commit/45bee6efe9d69e49ca223bdea77353753549c2c9
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
A mlir/include/mlir/Bindings/Python/IRInterfaces.h
M mlir/lib/Bindings/Python/DialectTransform.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
R mlir/lib/Bindings/Python/IRInterfaces.h
Log Message:
-----------
[mlir][Python] fix IRInterfaces.h (#181522)
https://github.com/llvm/llvm-project/pull/176920 added `IRInterfaces.h`
but didn't include it in either the list of [installed
headers](https://github.com/llvm/llvm-project/blob/a1d7cda1d7ca4983e02727f589952b02626d2dc8/mlir/python/CMakeLists.txt#L557)
or `mlir/Bindings/Python`. This breaks downstreams. So just move the
header to `mlir/Bindings/Python`
Commit: 5548b24d18ad9e856bcb354a17b52c15fa37bf73
https://github.com/llvm/llvm-project/commit/5548b24d18ad9e856bcb354a17b52c15fa37bf73
Author: Aditya Singh <aditya26189 at kgpian.iitkgp.ac.in>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
Log Message:
-----------
[clang-tidy] Fix false positive for generic lambda parameters in readability-non-const-parameter (#179051)
Fixes #177354
### Summary
The `readability-non-const-parameter` check produces false positives on
generic lambda parameters, not fully resolved by #177345.
### Problem
Generic lambdas with explicit template parameters create dependent
contexts that cannot be analyzed at parse time:
```cpp
auto lambda = []<typename T>(int *p) {
T x(*p); // No longer warns
};
```
Commit: 02429c46330fca6d057684aa05e1efd813fe0de3
https://github.com/llvm/llvm-project/commit/02429c46330fca6d057684aa05e1efd813fe0de3
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV] Fix strict weak ordering violation in handleUncountableEarlyExits sort (#181462)
The sort comparator used VPDT.dominates() which returns true for
dominates(A, A), violating the irreflexivity requirement of strict weak
ordering. With _GLIBCXX_DEBUG enabled (LLVM_ENABLE_EXPENSIVE_CHECKS=ON),
std::sort validates this property and aborts:
Error: comparison doesn't meet irreflexive requirements, assert(!(a <
a)).
Use properlyDominates() instead, which correctly returns false for equal
inputs while preserving the intended dominance-based ordering.
This fixes a crash introduced by ede1a9626b89 ("[LV] Vectorize early
exit loops with multiple exits.").
Commit: b33350f5ff3a29508cf3ba69b10683afc378e905
https://github.com/llvm/llvm-project/commit/b33350f5ff3a29508cf3ba69b10683afc378e905
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/RadixTree.h
Log Message:
-----------
[ADT] Fix RadixTree singular iterator use in findOrCreate (#181510)
The root node's Key is initialized with default-constructed (singular)
iterators. When findOrCreate calls llvm::mismatch(Key, Curr->Key) on the
first loop iteration where Curr is the root, these singular iterators
are passed to std::mismatch. _GLIBCXX_DEBUG correctly rejects them as
not forming a valid iterator range.
Skip the mismatch when Curr is the root node since its key is
conceptually empty, making the mismatch a no-op.
Fixes a test failure in ADTTests/RadixTreeTypeTest introduced by
5fda2a5d9c1a ("[NFC][ADT] Add RadixTree (#164524)").
Commit: 104e82b75defd23ade610a5a75cd95244638ec0b
https://github.com/llvm/llvm-project/commit/104e82b75defd23ade610a5a75cd95244638ec0b
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lld/ELF/Arch/PPC64.cpp
Log Message:
-----------
[ELF,PPC64] Inline toAddr16Rel and TLS remapping into the main relocate switch
Delete the toAddr16Rel helper and the GOT_TLS-to-GOT16 remapping switch,
inlining their val adjustments as fallthrough cases in the main switch.
This reduces relocate() from 4 switches on type to 2 (TLS relaxation
pre-switch with early returns, and the unified write switch).
Commit: 8d971c0360f91729cc5120ffd361f7b55e97f2ab
https://github.com/llvm/llvm-project/commit/8d971c0360f91729cc5120ffd361f7b55e97f2ab
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcher.cpp
M llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
Reapply "[TableGen] Introduce MatcherList to manage a linked list of Matchers. NFC (#177875)"
With fixes to the slice_after functions to avoid dereferencing the
before_begin() iterator. Deferencing the iterator casts a pointer
to the BeforeBegin object to Matcher*, but the BeforeBegin object
is not a Matcher. This caused a failure when built with gcc.
Original commit message:
The previous memory management involved passing around references to the
std::unique_ptr next pointer in each Matcher. Scopes and
SwitchOpcode/SwitchType did not use std::unique_ptr internally, but
would sometimes need to have the pointers to their children moved to
temporary std::unique_ptrs that may be modified and then put back into
the Scope/Switch. Other code used manual deletion.
This patch introduces a MatcherList object that encapsulates list
management and ownership. The interface is based on std::forward_list
using the libcxx implementation for reference.
Once a Matcher is added to a MatcherList it can only be in that list or
spliced into another list. This ensures it is always owned by a list
that will be responsible for deleting it.
Scope and SwitchOpcode/Type children are now MatcherLists rather than
Matcher*. A nice side effect of this is that we no longer need a Size
field in each Matcher to store the size of Scope/Switch children during
emission. This field was only used for the Matcher that the Scope/Switch
children pointed to. Now we can store it in the MatcherList instead.
There is no change to the generated output.
There's still a little bit of cleanup that can be done in follow ups. For example,
renaming "TheMatcher" and merging FactorScope and FactorNodes together.
Commit: 4ab66e444bab26b2f018f9408282eaa8b958d785
https://github.com/llvm/llvm-project/commit/4ab66e444bab26b2f018f9408282eaa8b958d785
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[TableGen] Combine FactorNodes and FactorScope. NFC
These were separated in 31db7afacf4dae051fcd0da22e440813663b61f3
due to the complexity of the rebindable unique_ptr. With the
switch to MatcherList, the code is not as complicated.
Commit: 241b8876ddc7c8805cd0ab4f8265842c0782023e
https://github.com/llvm/llvm-project/commit/241b8876ddc7c8805cd0ab4f8265842c0782023e
Author: Jie Fu <jiefu at tencent.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[TableGen] Silence a warning (NFC)
llvm-project/llvm/utils/TableGen/DAGISelMatcherOpt.cpp:495:16:
error: unused variable 'Tmp' [-Werror,-Wunused-variable]
Matcher *Tmp =
^
1 error generated.
Commit: ee9aeb4e05aa8edd2077b79f6712ea353ef5be77
https://github.com/llvm/llvm-project/commit/ee9aeb4e05aa8edd2077b79f6712ea353ef5be77
Author: Wang Yaduo <wangyaduo at linux.alibaba.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
Log Message:
-----------
[NFC] Fix typos 'bicast' -> 'bitcast' (#180890)
Fix typos bicast -> bitcast. I find this when I'm resovling a codegen
prepare optimazation.
Commit: afd4df07ab0262482829d4410a6bae9f2809d37b
https://github.com/llvm/llvm-project/commit/afd4df07ab0262482829d4410a6bae9f2809d37b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/unittests/Target/AArch64/AArch64SelectionDAGTest.cpp
Log Message:
-----------
[DAG] isKnownToBeAPowerOfTwo - add DemandedElts, OrZero arguments and support for zero constants (#181485)
Update the signature for isKnownToBeAPowerOfTwo methods to take
DemandedElts and OrZero arguments.
So far all I've done is add OrZero support for constants
(scalars/buildvector/splat), with the intention to incrementally extend
support in the future (or spread the work as beginner GFI patches).
Similarly the DemandedElts argument is currently only used for constant
build vector tests but support can be extended in future patches.
Fixes #178938
Commit: 47abe868314d2b2d71d188723bda41ea3d4641f7
https://github.com/llvm/llvm-project/commit/47abe868314d2b2d71d188723bda41ea3d4641f7
Author: Alex Wang <yesterda9 at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/lib/Analysis/CFG.cpp
A clang/test/Analysis/cfg-assignment-eval-order.cpp
M clang/test/Analysis/missing-bind-temporary.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
Log Message:
-----------
[clang][CFG] Sequence RHS before LHS for overloaded assignment operators in CFG to match C++17 rules (#181113)
Fixes #180521
Commit: f26e8595c3073fafc822bfcdd3ca9dec32ab573b
https://github.com/llvm/llvm-project/commit/f26e8595c3073fafc822bfcdd3ca9dec32ab573b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Use VPlan::getConstantInt in a few more cases (NFC).
VPlan::getConstantInt() allows for slightly more compact creation of
VPIRValues wrapping ConstantInts.
Commit: c0c2e38d4a69e21c16a0a34ebecf888caadcb81f
https://github.com/llvm/llvm-project/commit/c0c2e38d4a69e21c16a0a34ebecf888caadcb81f
Author: AidinT <at.aidin at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M mlir/include/mlir/Interfaces/CMakeLists.txt
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
Log Message:
-----------
[MLIR] Generate DataLayoutDialectInterface using ODS (#181217)
This PR converts DataLayoutDialectInterface to a ODS dialect
interface.
Commit: f3a816598dc281666fbe799776656249f52afda3
https://github.com/llvm/llvm-project/commit/f3a816598dc281666fbe799776656249f52afda3
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
Log Message:
-----------
[VPlan] Add VPSymbolicValue for UF. (NFC)
Add a symbolic unroll factor (UF) to VPlan similar to VF & VFxUF that
gets replaced with the concrete UF during plan execution, similar to how VF
is used for the vectorization factor. This is a preparatory change that
allows transforms to use the symbolic UF before the concrete UF is
determined.
Note that the old getUF that returns the concrete UF after unrolling has
been renamed to getConcreteUF.
Split off from the re-commit of 8d29d093096
(https://github.com/llvm/llvm-project/pull/149706) as suggested.
Commit: bcbb04acf5b136b98ce1edf4cbd0de283ca24756
https://github.com/llvm/llvm-project/commit/bcbb04acf5b136b98ce1edf4cbd0de283ca24756
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/LayoutOverrideSource.cpp
Log Message:
-----------
[clang] Add explicit std::move(...) to avoid a few copies (#180478)
Moving an std::shared_ptr is always profitable (marginally).
Moving a clang::LayoutOverrideSource::Layout may be profitable depending
on the size of the underlying llvm::SmallVector.
Changes suggested by performance-use-std-move from #179467
Commit: 152d811de1c8ef450117d522696ec0271e4572e8
https://github.com/llvm/llvm-project/commit/152d811de1c8ef450117d522696ec0271e4572e8
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
Revert "[clang][Python] Use fstrings instead of string concatenations (#173861)"
This reverts commit abf1d0bea04ab5d5ed1be3708ce1cd86707d5c8f,
because its title and description are entirely wrong.
f-strings is what was initially proposed, but then it was decided
to go with `str.format`.
Commit: 0f7791e9d82d7d40981eb1a781a61c1e988997fd
https://github.com/llvm/llvm-project/commit/0f7791e9d82d7d40981eb1a781a61c1e988997fd
Author: Miko <110693261+mikomikotaishi at users.noreply.github.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[clang][Python] Use str.format instead of string concatenations (#173861)
This PR replaces string concatenations and the older `%` string
interpolation with `str.format`. Changes along those lines were
originally a part of #173845, but they were moved to a new PR,
where it was decided that `str.format` is preferable over
f-strings.
Changes in this commit are identical to
abf1d0bea04ab5d5ed1be3708ce1cd86707d5c8f, but commit title and
description were changed to correctly reflect the changes.
Commit: 70905e0afae2e2f14c405bca514494c5b1449822
https://github.com/llvm/llvm-project/commit/70905e0afae2e2f14c405bca514494c5b1449822
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/Constant.h
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/Local.cpp
M llvm/lib/Analysis/MustExecute.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/FuzzMutate/IRMutator.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/unittests/Analysis/ValueLatticeTest.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M polly/lib/Support/SCEVValidator.cpp
M polly/lib/Transform/ZoneAlgo.cpp
Log Message:
-----------
[RFC][IR] Remove `Constant::isZeroValue` (#181521)
`Constant::isZeroValue` currently behaves same as
`Constant::isNullValue` for all types except floating-point, where it
additionally returns true for negative zero (`-0.0`). However, in
practice, almost all callers operate on integer/pointer types where the
two are equivalent, and the few FP-relevant callers have no meaningful
dependence on the `-0.0` behavior.
This PR removes `isZeroValue` to eliminate the confusing API. All
callers are changed to `isNullValue` with no test failures.
`isZeroValue` will be reintroduced in a future change with clearer
semantics: when null pointers may have non-zero bit patterns,
`isZeroValue` will check for bitwise-all-zeros, while `isNullValue` will
check for the semantic null (which
may be non-zero).
Commit: e86750b29fa0ff207cd43213d66dabe565417638
https://github.com/llvm/llvm-project/commit/e86750b29fa0ff207cd43213d66dabe565417638
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
A llvm/test/tools/llubi/assume_false.ll
A llvm/test/tools/llubi/assume_poison.ll
A llvm/test/tools/llubi/br_poison.ll
A llvm/test/tools/llubi/call_mismatched_signature.ll
A llvm/test/tools/llubi/call_poison.ll
A llvm/test/tools/llubi/controlflow.ll
A llvm/test/tools/llubi/indirectbr_invalid.ll
A llvm/test/tools/llubi/indirectbr_poison.ll
A llvm/test/tools/llubi/infinite_loop.ll
M llvm/test/tools/llubi/int_arith.ll
A llvm/test/tools/llubi/invoke_poison.ll
A llvm/test/tools/llubi/stack_overflow.ll
A llvm/test/tools/llubi/switch_poison.ll
A llvm/test/tools/llubi/unreachable.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.h
M llvm/tools/llubi/llubi.cpp
Log Message:
-----------
[llubi] Add basic support for icmp, terminators and function calls (#181393)
Note: icmp with integers is also introduced in this patch, as it is
needed to compute branch conditions.
Commit: b19606721a3d29325e237b1c94efc463edae82b8
https://github.com/llvm/llvm-project/commit/b19606721a3d29325e237b1c94efc463edae82b8
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
Log Message:
-----------
[Github][libc] Use a container for fullbuild tests (#181436)
This avoids needing to set up deps every time and avoids failures due to
failed dependency installation.
Closed #150490.
Commit: c087fff25a2420ff7023445973e72f3261385b5d
https://github.com/llvm/llvm-project/commit/c087fff25a2420ff7023445973e72f3261385b5d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
A llvm/test/tools/llubi/struct.ll
A llvm/test/tools/llubi/vector.ll
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.h
Log Message:
-----------
[llubi] Add basic support for vector and aggregate ops (#181544)
Commit: 255b493673e65201986d443c64db0a251a4ddbe8
https://github.com/llvm/llvm-project/commit/255b493673e65201986d443c64db0a251a4ddbe8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/big-number-reduced-values.ll
Log Message:
-----------
[SLP]Do not overflow number of the reduced values
Need to trunc the total number of the reduced values, in case if the
number is too big
Fixes #181520
Commit: 38702e0a04319a7d7d6d46d34dde6804adeaad3a
https://github.com/llvm/llvm-project/commit/38702e0a04319a7d7d6d46d34dde6804adeaad3a
Author: Tirthankar Mazumder <tmazumder.github at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-add.ll
Log Message:
-----------
[InstCombine][NFC] Add test for existing fold (#181555)
Resolves #73417.
The fold described in #73417 is already present in LLVM `main`, but it
isn't tested for specifically. This PR adds a test for this fold, based
on the IR in the topmost comment of that issue.
Commit: ec095a5d47a4bf5cd7755d440be5431739a9244f
https://github.com/llvm/llvm-project/commit/ec095a5d47a4bf5cd7755d440be5431739a9244f
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-and-or.ll
Log Message:
-----------
[InstCombine] Optimise the expression `(C && A) || (!C && B)` with `FoldOrOfLogicalAnds` (#178438)
Commit: 7f5c1b95b9d28bd4322bc2eb0c12cc3cc59bf0d6
https://github.com/llvm/llvm-project/commit/7f5c1b95b9d28bd4322bc2eb0c12cc3cc59bf0d6
Author: Yi Zhang <cathyzhyi at google.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] fix #181217 (#181556)
fix #181217
Commit: 6f253e87ddac3c3fffd71c6c5ccfa457096bc191
https://github.com/llvm/llvm-project/commit/6f253e87ddac3c3fffd71c6c5ccfa457096bc191
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/CodeGen/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-constant-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll
Log Message:
-----------
Reapply "[VPlan] Run narrowInterleaveGroups during general VPlan optimizations. (#149706)"
This reverts commit 8d29d09309654541fb2861524276ada6a3ebf84c.
The underlying issue causing the revert has been fixed independently
as 301fa24671256734df6b7ee65f23ad885400108e.
Original message:
Move narrowInterleaveGroups to to general VPlan optimization stage.
To do so, narrowInterleaveGroups now has to find a suitable VF where all
interleave groups are consecutive and saturate the full vector width.
If such a VF is found, the original VPlan is split into 2:
a) a new clone which contains all VFs of Plan, except VFToOptimize, and
b) the original Plan with VFToOptimize as single VF.
The original Plan is then optimized. If a new copy for the other VFs has
been created, it is returned and the caller has to add it to the list of
candidate plans.
Together with https://github.com/llvm/llvm-project/pull/149702, this
allows to take the narrowed interleave groups into account when
computing costs to choose the best VF and interleave count.
One example where we currently miss interleaving/unrolling when
narrowing interleave groups is https://godbolt.org/z/Yz77zbacz
PR: https://github.com/llvm/llvm-project/pull/149706
Commit: f3b96cbf20137562ff069e315f7915524a350d08
https://github.com/llvm/llvm-project/commit/f3b96cbf20137562ff069e315f7915524a350d08
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[ScalarizeMaskedMemIntrin] Remove redundant RUN: line
5cfd815c14f378c50018f6967c027b758c3996a6 introduced redundant run lines
when doing some NewPM related cleanup. Remove them given they are
identical. LegacyPM coverage is handled through llc.
Commit: 04ef765b65040e1df4cafaf3dacc26fa5d48e519
https://github.com/llvm/llvm-project/commit/04ef765b65040e1df4cafaf3dacc26fa5d48e519
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M libcxx/include/module.modulemap.in
M libcxx/test/benchmarks/containers/sequence/sequence_container_benchmarks.h
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_iterator.compile.pass.cpp
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_iterator.compile.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/dereference.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_traits.compile.pass.cpp
M libcxx/test/libcxx/iterators/iterator_with_data.pass.cpp
M libcxx/test/libcxx/iterators/product_iterator.pass.cpp
M libcxx/test/libcxx/iterators/unwrap_iter.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_point.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_point.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_stable_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/ranges_sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/ranges_shuffle.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/ranges.reverse.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges.shift_left.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/shift_left.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/shift_right.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/binary_transform.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.binary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.unary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/unary_transform.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy_pred.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/ranges.find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/ranges.find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/ranges.is_permutation.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.starts_with/ranges.starts_with.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/ranges_equal_range.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_inplace_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/requires_forward_iterator.verify.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.nth.element/ranges_nth_element.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/includes/ranges_includes.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/ranges_set_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/ranges_set_intersection.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_complexity.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/ranges_set_symmetric_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.union/ranges_set_union.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/ranges_partial_sort_copy.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/ranges_partial_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/pstl.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/ranges.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.stable_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/ranges.stable.sort.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.operations/distance.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/lwg3664.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/indirectcallable/projected/projected.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.bidir/bidirectional_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.forward/forward_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.input/input_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.iterator/input_or_output_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/random_access_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.swap/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/arrow.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/assign.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/count.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.conv.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/decrement.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/deref.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/member_types.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.default_sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.eq.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.size.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/plus.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/subscript.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/three_way_compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/types.h
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/sized_sentinel.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_swap.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/test_neg_one.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/pstl.reduce.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce_init.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce_init_op.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
M libcxx/test/std/ranges/range.access/size.pass.cpp
M libcxx/test/std/ranges/range.access/ssize.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/adaptor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/all_t.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/data.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/empty.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.as.rvalue/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.as.rvalue/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.view.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/types.h
M libcxx/test/std/ranges/range.adaptors/range.filter/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.overview/adaptor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.view/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.view/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.split/types.h
M libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/ctor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/plus_minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/sentinel.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range_adaptor_types.h
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.utility/range.elementsof/ctad.pass.cpp
M libcxx/test/std/ranges/range.utility/range.elementsof/elements_of.pass.cpp
M libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
M libcxx/test/std/strings/basic.string/string.cons/from_range_deduction.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_iter_iter.pass.cpp
M libcxx/test/std/strings/string.view/string.view.cons/from_iterator_sentinel.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/pred.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
M libcxx/test/support/module.modulemap
M libcxx/test/support/test.support/test_proxy.pass.cpp
M libcxx/test/support/test_range.h
Log Message:
-----------
[libc++] Add test_iterators.h to the modulemap (#181351)
and fix all the missing includes found by it.
Commit: e819483c20ea502e9a0f3cc29276cc05a3f35e98
https://github.com/llvm/llvm-project/commit/e819483c20ea502e9a0f3cc29276cc05a3f35e98
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
Log Message:
-----------
[LifetimeSafety] 'erase' does not invaldiate node-based containers (#181216)
```cpp
// This pattern was previously flagged as a lifetime violation
for (auto it = my_map.begin(); it != my_map.end(); ) {
if (should_delete(*it)) {
my_map.erase(it++); // Safe in map, but flagged as invalidating 'it'
} else {
++it;
}
}
```
Commit: 8988fb751669a7e47deb4aa3f3f5fd03ccc95831
https://github.com/llvm/llvm-project/commit/8988fb751669a7e47deb4aa3f3f5fd03ccc95831
Author: edisongz <edisongz123 at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCodeComplete.cpp
A clang/test/CodeCompletion/objc-cast-parenthesized-expr.m
Log Message:
-----------
[clang][ObjC][CodeComplete] Fix crash on C-Style cast with parenthesized operand in ObjC++ (#180343)
In ObjC++ mode, code-completion after a C-style cast like
`(int*)(0x200)` crashed because the inner parenthesized expression was
parsed as a `ParenListExpr` (null type) due to `AllowTypes` propagation.
Fixes https://github.com/llvm/llvm-project/issues/180125
Commit: 6d033abb71d69e387595e7f7480ca45992e80181
https://github.com/llvm/llvm-project/commit/6d033abb71d69e387595e7f7480ca45992e80181
Author: Michal Paszkowski <michal at michalpaszkowski.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
A llvm/test/Transforms/InstCombine/phi-int2ptr-different-addrspace.ll
Log Message:
-----------
[InstCombine] Avoid invalid bitcast across address spaces in foldIntegerTypedPHI (#181064)
Only use a PtrToInt's source pointer as an available pointer value when
its pointer type exactly matches the inttoptr target type. This prevents
creating an invalid bitcast between differing address spaces during
foldIntegerTypedPHI.
Commit: 6ce9e363e0022d6f3ef42363cfb1761aaed4f77b
https://github.com/llvm/llvm-project/commit/6ce9e363e0022d6f3ef42363cfb1761aaed4f77b
Author: Aayush Sabharwal <aayush.sabharwal at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-cttz.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz-zero-undef.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz.mir
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/X86/GlobalISel/legalize-trailing-zeros-undef.mir
M llvm/test/CodeGen/X86/GlobalISel/legalize-trailing-zeros.mir
Log Message:
-----------
[GISel] handle CTTZ in `computeKnownBits` (#181474)
Addresses part of #150515. Adapted from the CTLZ code below this
Commit: 901e543c15bd5e46a33dc19354a35da0278aaf7b
https://github.com/llvm/llvm-project/commit/901e543c15bd5e46a33dc19354a35da0278aaf7b
Author: Darshan Bhat <darshanbhatsirsi at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/ExpandOps.cpp
M mlir/test/Dialect/Math/expand-math.mlir
Log Message:
-----------
[mlir][Math] Fix math-expand-ops crash on math.ctlz with index type (#181539)
Fixes #179847
math.ctlz expansion called getIntOrFloatBitWidth() on the operand type
without checking. Index type has no fixed bitwidth and is not int/float,
so the assertion in Type::getIntOrFloatBitWidth() could fire.
- In convertCtlzOp, bail out with notifyMatchFailure when the element
type is not integer or float, so expansion is only applied to types with
a defined bitwidth.
- Add a test in expand-math.mlir that math.ctlz on index is left
unchanged by the pass (no crash, op preserved).
Commit: 3ec6ca7d58c4a1a7ee68df41388d71c4e4b858d0
https://github.com/llvm/llvm-project/commit/3ec6ca7d58c4a1a7ee68df41388d71c4e4b858d0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[TableGen] Reduce number of call to FactorNodes. NFC
Previously we recursively called FactorNodes all the way down the
tree any time FactorNodes was called. Additionally, on returning
from the recursiion we would flatten any child ScopeMatchers into
the parent.
There are additional calls to FactorNodes every time a new ScopeMatcher
is created. These calls cause a lot of visiting of parts of the tree that
have already been factored as much as possible.
We can remove the primary recursion by ensuring we flatten
scopes when building a new ScopeMatcher. If the Matcher we are
going to insert into the new ScopeMatcher is itself a ScopeMatcher,
we add the children into the new ScopeMatcher instead. This makes
the FactorNodes call for the newly created scope more powerful
eliminating the need for the recursion.
Commit: 3f83bf3594fc782b36c9d1eb9e1e37c1a2886ac0
https://github.com/llvm/llvm-project/commit/3f83bf3594fc782b36c9d1eb9e1e37c1a2886ac0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
Revert "[TableGen] Reduce number of call to FactorNodes. NFC"
This reverts commit 3ec6ca7d58c4a1a7ee68df41388d71c4e4b858d0.
Failing a couple bots even though it passed locally.
Commit: 5a0261c5534d05085d4b0d969a257cb85ac9c0b4
https://github.com/llvm/llvm-project/commit/5a0261c5534d05085d4b0d969a257cb85ac9c0b4
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF] Defer ctx.hasTlsIe assignment to postScanRelocations. NFC
Move ctx.hasTlsIe stores from the relocation scan phase to
postScanRelocations. The ctx.hasTlsIe value is ignored for
`!shared` case, so we can remove some redundant assignment.
Commit: fa5c2eb8dd1d258a8f5da70dea1b8237f262eead
https://github.com/llvm/llvm-project/commit/fa5c2eb8dd1d258a8f5da70dea1b8237f262eead
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
Log Message:
-----------
[NFC][X86] Pass ConstantInt for step size in createLoop
createLoop is always called with a constant step size. Propagate the
type information so that it can be used later when deriving profile
information when possible.
Reviewers: phoebewang, RKSimon, mtrofin
Pull Request: https://github.com/llvm/llvm-project/pull/181577
Commit: ab88d9af5371ef62a636fc780c88cf6d3487c584
https://github.com/llvm/llvm-project/commit/ab88d9af5371ef62a636fc780c88cf6d3487c584
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M libcxx/include/module.modulemap.in
M libcxx/test/benchmarks/containers/sequence/sequence_container_benchmarks.h
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_iterator.compile.pass.cpp
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_iterator.compile.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/dereference.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_traits.compile.pass.cpp
M libcxx/test/libcxx/iterators/iterator_with_data.pass.cpp
M libcxx/test/libcxx/iterators/product_iterator.pass.cpp
M libcxx/test/libcxx/iterators/unwrap_iter.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_point.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_point.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_stable_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/ranges_sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/ranges_shuffle.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/ranges.reverse.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges.shift_left.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/shift_left.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/shift_right.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/binary_transform.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.binary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.unary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/unary_transform.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy_pred.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/ranges.find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/ranges.find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/ranges.is_permutation.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.starts_with/ranges.starts_with.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/ranges_equal_range.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_inplace_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/requires_forward_iterator.verify.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.nth.element/ranges_nth_element.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/includes/ranges_includes.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/ranges_set_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/ranges_set_intersection.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_complexity.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/ranges_set_symmetric_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.union/ranges_set_union.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/ranges_partial_sort_copy.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/ranges_partial_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/pstl.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/ranges.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.stable_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/ranges.stable.sort.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.operations/distance.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/lwg3664.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/indirectcallable/projected/projected.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.bidir/bidirectional_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.forward/forward_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.input/input_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.iterator/input_or_output_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/random_access_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.swap/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/arrow.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/assign.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/count.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.conv.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/decrement.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/deref.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/member_types.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.default_sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.eq.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.size.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/plus.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/subscript.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/three_way_compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/types.h
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/sized_sentinel.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_swap.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/test_neg_one.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/pstl.reduce.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce_init.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce_init_op.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
M libcxx/test/std/ranges/range.access/size.pass.cpp
M libcxx/test/std/ranges/range.access/ssize.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/adaptor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/all_t.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/data.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/empty.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.as.rvalue/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.as.rvalue/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.view.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/types.h
M libcxx/test/std/ranges/range.adaptors/range.filter/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.overview/adaptor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.view/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.view/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.split/types.h
M libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/ctor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/plus_minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/sentinel.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range_adaptor_types.h
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.utility/range.elementsof/ctad.pass.cpp
M libcxx/test/std/ranges/range.utility/range.elementsof/elements_of.pass.cpp
M libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
M libcxx/test/std/strings/basic.string/string.cons/from_range_deduction.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_iter_iter.pass.cpp
M libcxx/test/std/strings/string.view/string.view.cons/from_iterator_sentinel.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/pred.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
M libcxx/test/support/module.modulemap
M libcxx/test/support/test.support/test_proxy.pass.cpp
M libcxx/test/support/test_range.h
Log Message:
-----------
Revert "[libc++] Add test_iterators.h to the modulemap (#181351)"
This reverts commit 04ef765b65040e1df4cafaf3dacc26fa5d48e519.
This was causing buildbot failures for premerge:
1. https://lab.llvm.org/staging/#/builders/192/builds/20135
Commit: 0f517054b9bcc0a74e76b29207720eb3e87ac602
https://github.com/llvm/llvm-project/commit/0f517054b9bcc0a74e76b29207720eb3e87ac602
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M lldb/docs/CMakeLists.txt
M lldb/docs/python_extensions.rst
M lldb/docs/use/python-reference.rst
A lldb/docs/use/tutorials/hunting-down-symbols.md
R lldb/docs/use/tutorials/scripted-symbol-locator.md
Log Message:
-----------
[lldb/docs] Add Scripted Symbol Locator to website documentation (#181594)
This patch adds documentation for the Scripted Symbol Locator plugin
system, including tutorial (renamed to hunting-down-symbols.md to match
other tutorial naming conventions) and cleans up API reference for the
website.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 193c1f4af7f1bd9249c99bc3c0b7d9ebe4698d11
https://github.com/llvm/llvm-project/commit/193c1f4af7f1bd9249c99bc3c0b7d9ebe4698d11
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
Reapply "[TableGen] Reduce number of call to FactorNodes. NFC"
With a fix to avoid deferencing a before_begin iterator.
Original commit message:
Previously we recursively called FactorNodes all the way down the
tree any time FactorNodes was called. Additionally, on returning
from the recursiion we would flatten any child ScopeMatchers into
the parent.
There are additional calls to FactorNodes every time a new ScopeMatcher
is created. These calls cause a lot of visiting of parts of the tree that
have already been factored as much as possible.
We can remove the primary recursion by ensuring we flatten
scopes when building a new ScopeMatcher. If the Matcher we are
going to insert into the new ScopeMatcher is itself a ScopeMatcher,
we add the children into the new ScopeMatcher instead. This makes
the FactorNodes call for the newly created scope more powerful
eliminating the need for the recursion
Commit: badb215d0364076c7790966f5033d6d81b6da7cd
https://github.com/llvm/llvm-project/commit/badb215d0364076c7790966f5033d6d81b6da7cd
Author: yronglin <yronglin777 at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang/include/clang/Lex/Lexer.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/Token.h
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/Preprocessor.cpp
Log Message:
-----------
[clang] Optimize Lexer hot path to reduce compile time (#177153)
This patch fix this compile time regression that introduced in
https://github.com/llvm/llvm-project/pull/173789.
- Introduce a `TokenFlag::PhysicalStartOfLine` flag to replace
`IsAtPhysicalStartOfLine` in a brunch of `Lexer` member functions and
remove `ExportContextualKeywordInfo` struct.
- Handle `import`, `module` and `export` keyword in `HandleIdentifier`
instead of in a `Lexer` hot path.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 915eb46f51e92dc36a65516fc0f42f24374b6346
https://github.com/llvm/llvm-project/commit/915eb46f51e92dc36a65516fc0f42f24374b6346
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
Revert "Reapply "[TableGen] Reduce number of call to FactorNodes. NFC""
This reverts commit 193c1f4af7f1bd9249c99bc3c0b7d9ebe4698d11.
Still failing on the bots, but it doesn't show up in my local
testing with multiple compilers.
Commit: e54f838bd59abed2b35ad8c08ca5de3cb99f59cb
https://github.com/llvm/llvm-project/commit/e54f838bd59abed2b35ad8c08ca5de3cb99f59cb
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
Log Message:
-----------
[clang-tidy] Avoid assert failure on non-identifier names in `readability-container-size-empty` (#181557)
Closes https://github.com/llvm/llvm-project/issues/181552
Commit: 23374f95ed1362cfcabcb1a1a95bc81fc58b70b9
https://github.com/llvm/llvm-project/commit/23374f95ed1362cfcabcb1a1a95bc81fc58b70b9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
Reapply "[TableGen] Reduce number of call to FactorNodes. NFC"
With more fixes to avoid deferencing a before_begin iterator.
Original commit message:
Previously we recursively called FactorNodes all the way down the
tree any time FactorNodes was called. Additionally, on returning
from the recursiion we would flatten any child ScopeMatchers into
the parent.
There are additional calls to FactorNodes every time a new ScopeMatcher
is created. These calls cause a lot of visiting of parts of the tree that
have already been factored as much as possible.
We can remove the primary recursion by ensuring we flatten
scopes when building a new ScopeMatcher. If the Matcher we are
going to insert into the new ScopeMatcher is itself a ScopeMatcher,
we add the children into the new ScopeMatcher instead. This makes
the FactorNodes call for the newly created scope more powerful
eliminating the need for the recursion
Commit: 3519aaecef05ccc8eedb0854567b3685871052ec
https://github.com/llvm/llvm-project/commit/3519aaecef05ccc8eedb0854567b3685871052ec
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M libcxx/include/module.modulemap.in
M libcxx/test/benchmarks/containers/sequence/sequence_container_benchmarks.h
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_iterator.compile.pass.cpp
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_iterator.compile.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/dereference.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_traits.compile.pass.cpp
M libcxx/test/libcxx/iterators/iterator_with_data.pass.cpp
M libcxx/test/libcxx/iterators/product_iterator.pass.cpp
M libcxx/test/libcxx/iterators/unwrap_iter.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_point.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_point.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_stable_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/ranges_sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/ranges_shuffle.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/ranges.reverse.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges.shift_left.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges_shift_right.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/shift_left.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/shift_right.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/binary_transform.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.binary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.unary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/unary_transform.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy_pred.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/ranges.find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/ranges.find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/ranges.is_permutation.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.starts_with/ranges.starts_with.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/ranges_equal_range.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_inplace_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/requires_forward_iterator.verify.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.nth.element/ranges_nth_element.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/includes/ranges_includes.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/ranges_set_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/ranges_set_intersection.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_complexity.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/ranges_set_symmetric_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.union/ranges_set_union.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/ranges_partial_sort_copy.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/ranges_partial_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/pstl.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/ranges.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.stable_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/ranges.stable.sort.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.operations/distance.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/lwg3664.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/indirectcallable/projected/projected.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.bidir/bidirectional_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.forward/forward_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.input/input_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.iterator/input_or_output_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/random_access_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.swap/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/arrow.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/assign.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/count.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.conv.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/decrement.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/deref.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/member_types.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.default_sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.eq.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.size.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/plus.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/subscript.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/three_way_compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/types.h
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/sized_sentinel.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_swap.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/test_neg_one.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/pstl.reduce.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce_init.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce_init_op.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
M libcxx/test/std/ranges/range.access/size.pass.cpp
M libcxx/test/std/ranges/range.access/ssize.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/adaptor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/all_t.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/data.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/empty.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.as.rvalue/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.as.rvalue/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.view.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/types.h
M libcxx/test/std/ranges/range.adaptors/range.filter/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.overview/adaptor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.view/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.view/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.split/types.h
M libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/ctor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/plus_minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/sentinel.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range_adaptor_types.h
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.utility/range.elementsof/ctad.pass.cpp
M libcxx/test/std/ranges/range.utility/range.elementsof/elements_of.pass.cpp
M libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
M libcxx/test/std/strings/basic.string/string.cons/from_range_deduction.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_iter_iter.pass.cpp
M libcxx/test/std/strings/string.view/string.view.cons/from_iterator_sentinel.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/pred.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
M libcxx/test/support/module.modulemap
M libcxx/test/support/test.support/test_proxy.pass.cpp
M libcxx/test/support/test_range.h
Log Message:
-----------
Reapply "[libc++] Add test_iterators.h to the modulemap (#181351)"
Another test committed recently was missing an include.
This reverts commit ab88d9af5371ef62a636fc780c88cf6d3487c584.
Commit: edfe43cc9ebf207f3a1b3bbad932ba1159d5e211
https://github.com/llvm/llvm-project/commit/edfe43cc9ebf207f3a1b3bbad932ba1159d5e211
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Factor common VPDT-sort in sink-replicate (NFC) (#179214)
Commit: 12b561a5e208655f31138d314f6af52ea785ee06
https://github.com/llvm/llvm-project/commit/12b561a5e208655f31138d314f6af52ea785ee06
Author: Alexey Moksyakov <moksyakov.alexey at huawei.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/runtime/instr.cpp
M bolt/runtime/sys_aarch64.h
M bolt/test/runtime/AArch64/instrumentation-ind-call.c
Log Message:
-----------
[bolt][aarch64] Change indirect call instrumentation snippet (#180229)
Indirect call instrumentation snippet uses x16 register in exit handler
to go to destination target
__bolt_instr_ind_call_handler_func:
msr nzcv, x1
ldp x0, x1, [sp], #16
ldr x16, [sp], #16
ldp x0, x1, [sp], #16
br x16 <-----
This patch adds the instrumentation snippet by calling instrumentation
runtime library through indirect call instruction and adding the wrapper
to store/load target value and the register for original indirect
instruction.
Example:
mov x16, foo
infirectCall:
adrp x8, Label
add x8, x8, #:lo12:Label
blr x8
Before:
Instrumented indirect call:
stp x0, x1, [sp, #-16]!
mov x0, x8
movk x1, #0x0, lsl #48
movk x1, #0x0, lsl #32
movk x1, #0x0, lsl #16
movk x1, #0x0
stp x0, x1, [sp, #-16]!
adrp x0, __bolt_instr_ind_call_handler_func
add x0, x0, #:lo12:__bolt_instr_ind_call_handler_func
blr x0
__bolt_instr_ind_call_handler: (exit snippet)
msr nzcv, x1
ldp x0, x1, [sp], #16
ldr x16, [sp], #16
ldp x0, x1, [sp], #16
br x16 <- overwrites the original value in X16
__bolt_instr_ind_call_handler_func: (entry snippet)
stp x0, x1, [sp, #-16]!
mrs x1, nzcv
adrp x0, __bolt_instr_ind_call_handler
add x0, x0, x0, #:lo12:__bolt_instr_ind_call_handler
ldr x0, [x0]
cmp x0, #0x0
b.eq __bolt_instr_ind_call_handler
str x30, [sp, #-16]!
blr x0 <--- runtime lib store/load all regs
ldr x30, [sp], #16
b __bolt_instr_ind_call_handler
_________________________________________________________________________
After:
mov x16, foo
infirectCall:
adrp x8, Label
add x8, x8, #:lo12:Label
blr x8
Instrumented indirect call:
stp x0, x30, [sp, #-16]!
mov x0, callsiteid
stp x8, x0, [sp, #-16]!
adrp x8, __bolt_instr_ind_call_handler_func
add x8, x8, #:lo12:__bolt_instr_ind_call_handler_func
blr x8 <--- call trampoline instr lib
ldr x8, [sp], #16
ldp x0, x30, [sp], #16
blr x8 <--- original indirect call instruction
// don't touch regs besides x0, x1
__bolt_instr_ind_call_handler: (exit snippet)
ret <---- return to original function with indirect call
__bolt_instr_ind_call_handler_func: (entry snippet)
adrp x0, __bolt_instr_ind_call_handler
add x0, x0, #:lo12:__bolt_instr_ind_call_handler
ldr x0, [x0]
cmp x0, #0x0
b.eq __bolt_instr_ind_call_handler
str x30, [sp, #-16]!
blr x0 <--- runtime lib store/load all regs
ldr x30, [sp], #16
b __bolt_instr_ind_call_handler
Commit: 2380e12fd61b687b82a1a67cb0161c9d6a77f4f6
https://github.com/llvm/llvm-project/commit/2380e12fd61b687b82a1a67cb0161c9d6a77f4f6
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
Log Message:
-----------
[RISCV] Start zvlsseg-spill.mir test before regalloc. NFC
Currently this starts from the beginning of the codegen pipeline, but
because it has pseudos that directly define physical registers this
triggers an assertion in an upcoming change to RISCVVLOptimizer. In the
full pipeline a vector pseudo should only define virtual VR registers.
Move it to before regalloc to avoid the crash. It could probably be
moved further to just before prologepilog but we would need to change
the input to handle vsetvli insertion too.
Commit: 820d15c8e68fc6405c5ceb9e96b387013bf1f5e7
https://github.com/llvm/llvm-project/commit/820d15c8e68fc6405c5ceb9e96b387013bf1f5e7
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
Log Message:
-----------
[RISCV] Add test for reducing vl of vlseg2e32.v. NFC
Commit: 7bf2d5f14b2cd0a26f4779673dd8c51b46dea095
https://github.com/llvm/llvm-project/commit/7bf2d5f14b2cd0a26f4779673dd8c51b46dea095
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrFragments.td
A llvm/test/CodeGen/X86/fold-call-4.ll
M llvm/test/CodeGen/X86/fold-call.ll
A llvm/test/CodeGen/X86/tailcall-mem_enoughregs.ll
Log Message:
-----------
[x86] Enable indirect tail calls with more arguments (#137643)
X86ISelDAGToDAG's `isCalleeLoad` / `moveBelowOrigChain` tries to move
the load instruction next to the call so they can be folded, but it
would only allow a single CopyToReg node in between.
This patch makes it look through multiple CopyToReg, while being careful
to only perform the transformation when the load+call can be folded.
As part of that, it also replaces the `X86tcret_1reg` and `X86tcret_6regs`,
which checks that there are enough free registers to compute the call
address, with a more correct `X86tcret_enough_regs` that the
`moveBelowOrigChain` is also gated on.
Fixes #136848
Commit: 0a3db57e511d9c09d5c58847c5e0235cee894aa8
https://github.com/llvm/llvm-project/commit/0a3db57e511d9c09d5c58847c5e0235cee894aa8
Author: Alexey Moksyakov <moksyakov.alexey at huawei.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M bolt/test/runtime/AArch64/instrumentation-ind-call.c
Log Message:
-----------
[bolt][nfc] fix typo in test (#181611)
Fixed the typo in instrument-ind-call test
Commit: 074391e6a1a273fac68b705f15812465126dd83a
https://github.com/llvm/llvm-project/commit/074391e6a1a273fac68b705f15812465126dd83a
Author: Anton Sidorenko <anton.sidorenko at mail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
A llvm/test/CodeGen/RISCV/twoaddr-tied.mir
M llvm/test/CodeGen/X86/pmulh.ll
Log Message:
-----------
[TwoAddressInstruction] Iterate through tied regs when analyzing revcopy (#179940)
Reversed copy is the following chain from FromReg to ToReg:
%Tmp1 = copy %Tmp2;
%FromReg = copy %Tmp1;
%ToReg = add %FromReg ...
%Tmp2 = copy %ToReg;
TwoAddressInstruction pass tries to preserve or create (by commuting)
such chains. Otherwise, there will be unavoidable copy.
This patch considers operations with tied operand a copy-like ones (in
terms of reversed copy chain), e.g.:
%Tmp1 = copy %Tmp2;
%Tmp1 = fma %Tmp1 (tied-def 0), ...
%FromReg = copy %Tmp1;
%ToReg = add %FromReg ...
%Tmp2 = copy %ToReg;
This helps at least for RISC-V RVV where two forms of FMA exists:
1. vfmadd.vv vd, vs1, vs2, where vd is a dst and src multiplicand: vd[i]
= +(vs1[i] * vd[i]) + vs2[i]
2. vfmacc.vv vd, vs1, vs2, where vd is a dst and src addend: vd[i] =
+(vs1[i] * vs2[i]) + vd[i]
For the example above, vfmacc is a more preferable form of FMA than
vfmadd. However, without this patch twoaddress instruction pass does not
see the difference between these two instructions and might commute
vfmacc to vfmadd for the example above. This will lead to the extra
copy.
The patch also changes the default value of dataflow-edge-limit. This
option controls the depth of reverved copy search algorithm. With the
introduction of tied operands analysis I consider such a change
reasonable since the old default value = 3 effectively stops the
analysis earlier than any chain is found.
Commit: 88c0a1db8507f2014abf696da66dc0b3fe1b4be6
https://github.com/llvm/llvm-project/commit/88c0a1db8507f2014abf696da66dc0b3fe1b4be6
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
A llvm/test/Analysis/CostModel/WebAssembly/extract-last-active.ll
A llvm/test/Analysis/CostModel/WebAssembly/lit.local.cfg
Log Message:
-----------
Revert "[WebAssembly] Mark extract.last.active as having invalid cost." (#181545)
The failures should have been resolved with
https://github.com/llvm/llvm-project/pull/180290 (which also added
WebAssembly tests).
This reverts commit
https://github.com/llvm/llvm-project/commit/811fb223af2b3e2d68c99b346f4b75dcf3de3417.
---
This is the same as #180942, but with a `lit.local.cfg` added to the
CostModel test folder.
Commit: f152625bb850fe88224887eb2da2ce8c78f12abc
https://github.com/llvm/llvm-project/commit/f152625bb850fe88224887eb2da2ce8c78f12abc
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/unittests/Support/FormatVariadicTest.cpp
Log Message:
-----------
[Support] Fixup for formatting hex on 32 bit (#181338)
Without the `PRIx64`, the test won't work on 32 bit architectures.
See this comment:
https://github.com/llvm/llvm-project/pull/180498#issuecomment-3891979182
The issue is that `PRIx64` expands differently depending on the
architecture. In the original code modified in #180498 the [macro was
used](https://github.com/llvm/llvm-project/pull/180498/changes#diff-5dcf6451d2bf9e9e3a8d28b0212263a8db576045b1d4eab80cca1bfd13a3bb76L356):
```diff
- OS << format("0x%*.*" PRIx64, HexDigits, HexDigits, Address);
+ OS << formatv("0x{0:x-}",
+ fmt_align(Address, AlignStyle::Right, HexDigits, '0'));
```
I simply didn't use it in my test because on my architecture the
`PRIx64` wasn't necessary.
This is a fixup for #180498 and it should unblock the
[clang-armv7-vfpv3-2stage](https://lab.llvm.org/buildbot/#/builders/135)
builder.
Commit: e698d03ee24d93f4c316daf218f04fdbae72f0bd
https://github.com/llvm/llvm-project/commit/e698d03ee24d93f4c316daf218f04fdbae72f0bd
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolutionDivision.cpp
M llvm/test/Analysis/Delinearization/a.ll
M llvm/test/Analysis/Delinearization/divide_by_one.ll
M llvm/test/Analysis/Delinearization/fixed_size_array.ll
M llvm/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_nts_3d.ll
A llvm/test/Analysis/Delinearization/wraps.ll
M llvm/test/Analysis/DependenceAnalysis/DADelin.ll
M llvm/test/Analysis/ScalarEvolutionDivision/sdiv.ll
Log Message:
-----------
[SCEVDivision] Prevent propagating nowrap flags when numerator is an addrec (#154745)
In ScalarEvolutionDivision, when the numerator is an addrec, its nowrap
flags are unconditionally propagated to the quotient and remainder.
However, this is not always correct.
This pass is only used by Delinearization, and just dropping these flags
doesn't affect Delinearization's accuracy in almost all cases.
Therefore, this patch conservatively stop propagating the nowrap flags
from the numerator to the quotient and remainder.
Fix #152566
Commit: e316ea188a641bf90031e6ad5774b8e3eeee2c4a
https://github.com/llvm/llvm-project/commit/e316ea188a641bf90031e6ad5774b8e3eeee2c4a
Author: Marcell Leleszi <mleleszi at google.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M libc/utils/docgen/wctype.yaml
Log Message:
-----------
[libc][wctype] Add missing functions to wctype docs (#181478)
#170525
Adds missing wctype.h functions to docs.
Commit: 8153f78e7fc60418d25ede9ae46652583698e66a
https://github.com/llvm/llvm-project/commit/8153f78e7fc60418d25ede9ae46652583698e66a
Author: Marcell Leleszi <mleleszi at google.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/wctype_utils.h
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/wctype_utils_test.cpp
Log Message:
-----------
[libc][wctype] Reland internal UTF8 wctype classification functions (#181468)
Reland #174607
#174607 broke libc++ because the LIBC_CONF_WCTYPE_MODE macro wasn't
defined when called from libc++. Defaulted LIBC_CONF_WCTYPE_MODE to
LIBC_WCTYPE_MODE_ASCII when not configured
(https://github.com/llvm/llvm-project/commit/ffd355b0879066adc9889593570af8f0df85f1a8)
Commit: bde3ef4f655e83466998466df9ee2c7f541ad028
https://github.com/llvm/llvm-project/commit/bde3ef4f655e83466998466df9ee2c7f541ad028
Author: David Green <david.green at arm.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
R llvm/test/CodeGen/Thumb2/mve-intrinsics/strict-round.ll
A llvm/test/CodeGen/Thumb2/mve-strict-round.ll
Log Message:
-----------
[ARM] Move MVE test into the correct place. NFC
Commit: e6fdcf32894801af6c7cbfd0376f822635c8e6d2
https://github.com/llvm/llvm-project/commit/e6fdcf32894801af6c7cbfd0376f822635c8e6d2
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/canonicalize.h
A libc/shared/math/canonicalizebf16.h
A libc/shared/math/canonicalizef.h
A libc/shared/math/canonicalizef128.h
A libc/shared/math/canonicalizef16.h
A libc/shared/math/canonicalizel.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/canonicalize.h
A libc/src/__support/math/canonicalizebf16.h
A libc/src/__support/math/canonicalizef.h
A libc/src/__support/math/canonicalizef128.h
A libc/src/__support/math/canonicalizef16.h
A libc/src/__support/math/canonicalizel.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/canonicalize.cpp
M libc/src/math/generic/canonicalizebf16.cpp
M libc/src/math/generic/canonicalizef.cpp
M libc/src/math/generic/canonicalizef128.cpp
M libc/src/math/generic/canonicalizef16.cpp
M libc/src/math/generic/canonicalizel.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor canonicalize function family to header-only (#181467)
closes: #181466
Commit: 3f0f8349ac9dc3d1f245912121207b5465a08473
https://github.com/llvm/llvm-project/commit/3f0f8349ac9dc3d1f245912121207b5465a08473
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/select.fir
Log Message:
-----------
[flang] fix codegen of fir.select with only default case (#181373)
The case where fir.select only has a "unit" block target (i.e., it is a
switch with only the default case) was not handled correctly in codegen.
Commit: deedc7bfe3159dfe08d0a74c9822c6d5157c6fe8
https://github.com/llvm/llvm-project/commit/deedc7bfe3159dfe08d0a74c9822c6d5157c6fe8
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/DeleteUnreachableTargets.cpp
M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
A flang/test/Lower/OpenMP/target-dead-code.f90
A flang/test/Transforms/OpenMP/delete-unreachable-targets.mlir
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[Flang][OpenMP] Don't generate code for unreachable target regions. (#178937)
When a target region is placed inside a constant false condition (e.g.,
`if (.false.)`), the dead code gets eliminated on the host side,
removing the `omp.target` operation entirely. However, the device-side
compilation pipeline is unaware of this elimination and attempts to
generate kernel code. Since the host never created offload metadata for
the eliminated target, the device-side kernel function lacks the
"kernel" attribute, causing `OpenMPOpt` to fail with an assertion when
it expects all outlined kernels to have this attribute. The problem can
be seen with the following code:
```fortran
program cele
implicit none
real :: V
integer :: i
if (.false.) then
!$omp target teams distribute parallel do
do i = 1, 5
V = V * 2
end do
!$omp end target teams distribute parallel do
end if
end program
```
It currently fails with the following assertion:
```
Assertion `omp::isOpenMPKernel(*Kernel) && "Expected kernel function!"' failed.
llvm/lib/Transforms/IPO/OpenMPOpt.cpp:4291
```
This PR adds `DeleteUnreachableTargetsPass` that identifies `omp.target`
operations in unreachable code blocks and removes them.
Commit: 054021d8c0ea38e609c08e8cd97c99592bf44dac
https://github.com/llvm/llvm-project/commit/054021d8c0ea38e609c08e8cd97c99592bf44dac
Author: DannyDaoBoYang <daobo.yang41 at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/sinpif16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/sinpif16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sinpif16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor sinpif16 to header only. (#178503)
Closes #176476
Part of #147386
Commit: 2b7c1f9d82994fddac7b33a5be6c31b3e8059be2
https://github.com/llvm/llvm-project/commit/2b7c1f9d82994fddac7b33a5be6c31b3e8059be2
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dbg-tail-folding-by-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/predicated-reverse-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/induction-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/end-pointer-signed.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/induction-wrapflags.ll
M llvm/test/Transforms/LoopVectorize/interleave-with-i65-induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-gep-nowrap-flags.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr37248.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/reverse-induction-gep-nowrap-flags.ll
M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-known-true.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-needed-but-empty.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
Log Message:
-----------
[VPlan] Directly unroll VectorEndPointerRecipe (#172372)
Directly unroll VectorEndPointerRecipe following 0636225b ([VPlan]
Directly unroll VectorPointerRecipe, #168886). It allows us to leverage
existing VPlan simplifications to optimize.
Co-authored-by: Luke Lau <luke at igalia.com>
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: 3272ba7b8fd7672b92eb969e71533b4115e74ecd
https://github.com/llvm/llvm-project/commit/3272ba7b8fd7672b92eb969e71533b4115e74ecd
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M polly/lib/Pass/PhaseManager.cpp
Log Message:
-----------
[Polly] Honor 'scops' phase being disabled (#180380)
`opt -passes=polly-custom<detect>`, or `stopafter=detect` would still
run the ScopInfo analysis even though it should run when explicitly
enabled or required by another phase.
Commit: c9fa7424c71eacd2d8c20855186c070536934785
https://github.com/llvm/llvm-project/commit/c9fa7424c71eacd2d8c20855186c070536934785
Author: Alex Bradbury <asb at igalia.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang/test/CodeGenObjC/attr-no-outline.m
Log Message:
-----------
[clang][test] Set triple explicitly for attr-no-outline.m test (#181621)
The test fails on targets that have a different LLVM IR lowering (e.g.
RISC-V which produces `signext i32` for the return type). Rather than
complicate the test with more complex patterns, just set the triple
explicitly to x86-64 (as various other generic clang/test/CodeGen* tests
do).
Test was introduced by #163666.
This fixes RISC-V CI.
Commit: b205396086ef60143ba4849579c01c04241a23f6
https://github.com/llvm/llvm-project/commit/b205396086ef60143ba4849579c01c04241a23f6
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M llvm/include/llvm/IR/Constants.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/IPO/GlobalSplit.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[IR] Add ConstantExpr::getPtrAdd() (#181365)
Add a ConstantExpr::getPtrAdd() API that creates a getelementptr i8
constant expression, similar to IRBuilder::CreatePtrAdd(). In the future
this will create a ptradd expression.
Commit: 1f65d4dda14cfea4323fd7139e222d26c7dc365d
https://github.com/llvm/llvm-project/commit/1f65d4dda14cfea4323fd7139e222d26c7dc365d
Author: halbi2 <hehiralbi at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[Clang] make most enums trivially equality comparable (#169079)
std::equal(std::byte) currently has sub-optimal codegen due to enum
types not being recognized as trivially equality comparable. In order to
fix this we make them trivially comparable. In the process I factored
out into a standalone function EqualityComparisonIsDefaulted and
refactored the test cases.
Enum types cannot have operator== which is a hidden friend.
Fixes #132672
Commit: aa31013b521bcd8c14b48fb7cac723c580042e23
https://github.com/llvm/llvm-project/commit/aa31013b521bcd8c14b48fb7cac723c580042e23
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
Log Message:
-----------
[SPIRV] Rounding Mode decorations in OpenCL builtins only make sense when floating point types are involved (#181208)
The backend was adding fp-rounding mode flags to
`uchar convert_uchar_rte(uint)`. These builtins are equivalent to `uchar
convert_uchar(uint)` which simply truncates its input, since there is no
floating-point value involved.
Related to https://github.com/llvm/llvm-project/issues/180936
This is consistent with what was implemented in the translator in
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/3120 and
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/3128
Commit: a591a44653eabdb7ec0c158019f97c9b1547a5ea
https://github.com/llvm/llvm-project/commit/a591a44653eabdb7ec0c158019f97c9b1547a5ea
Author: Chris Cotter <ccotter14 at bloomberg.net>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang/docs/ThreadSanitizer.rst
M compiler-rt/lib/sanitizer_common/sanitizer_allocator.h
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/tsan/rtl/CMakeLists.txt
A compiler-rt/lib/tsan/rtl/tsan_adaptive_delay.cpp
A compiler-rt/lib/tsan/rtl/tsan_adaptive_delay.h
M compiler-rt/lib/tsan/rtl/tsan_flags.inc
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
M compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/tests/unit/CMakeLists.txt
A compiler-rt/lib/tsan/tests/unit/tsan_percent_test.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[tsan] Introduce Adaptive Delay Scheduling to TSAN (#178836)
This commit introduces an "adaptive delay" feature to the
ThreadSanitizer runtime to improve race detection by perturbing thread
schedules. At various synchronization points (atomic operations,
mutexes, and thread lifecycle events), the runtime may inject small
delays (spin loops, yields, or sleeps) to explore different thread
interleavings and expose data races that would otherwise occur only in
rare execution orders.
This change is inspired by prior work, which is discussed in more detail
on
https://discourse.llvm.org/t/rfc-tsan-implementing-a-fuzz-scheduler-for-tsan/80969.
In short, https://reviews.llvm.org/D65383 was an earlier unmerged
attempt at adding a random delays. Feedback on the RFC led to the
version in this commit, aiming to limit the amount of delay.
The adaptive delay feature uses a configurable time budget and tiered
sampling strategy to balance race exposure against performance impact.
It prioritizes high-value synchronization points with clear
happens-before relationships: relaxed atomics receive lightweight spin
delays with low sampling, synchronizing atomics (acquire / release /
seq_cst) receive moderate delays with higher sampling, and mutex and
thread lifecycle operations receive the longest delays with highest
sampling.
The feature is disabled by default and incurs minimal overhead when not
enabled. Nearly all checks are guarded by an inline check on a global
variable that is only set when enable_adaptive_delay=1. Microbenchmarks
with tight loops of atomic operations showed no meaningful performance
difference between an unmodified TSAN runtime and this version when
running with empty TSAN_OPTIONS.
An LLM assisted in writing portions of the adaptive delay logic,
including the TimeBudget class, tiering concept, address sampler, and
per-thread quota system. I reviewed the output and made amendments to
reduce duplication and simplify the behavior. I also replaced the LLM's
original double-based calculation logic with the integer-based Percent
class. The LLM also helped write unit test cases for Percent.
cc @dvyukov
## Examples
I used the delay scheduler to find novel bugs that rarely or never
occurred with the unmodified TSAN runtime. Some of the bugs below were
found with earlier versions of the delay scheduler that I iterated on,
but with this most recent implementation in this PR, I can still find
the bugs far more reliably than with the standard TSAN runtime.
- A use-after-free in the
[BlazingMQ](https://github.com/bloomberg/blazingmq) broker during
ungraceful producer disconnect.
- Race in stdexec: https://github.com/NVIDIA/stdexec/pull/1395
- Race in stdexec's MPSC queue:
https://github.com/NVIDIA/stdexec/pull/1812
- A few races in [BDE](https://github.com/bloomberg/bde) thread enabled
data structures/algorithms.
- The "Data race on variable a" test from
https://ceur-ws.org/Vol-2344/paper9.pdf is more reliably reproduced with
more aggressive adaptive scheduler options
# Outstanding work
- The
[RFC](https://discourse.llvm.org/t/rfc-tsan-implementing-a-fuzz-scheduler-for-tsan/80969)
suggests moving the scheduler to sanitizer_common, so that ASAN can
leverage this. This should be done (should it be done in this PR?).
- Missing interceptors for libdispatch
Commit: 339e2005d897c88bf857fc5f5956457411779e8c
https://github.com/llvm/llvm-project/commit/339e2005d897c88bf857fc5f5956457411779e8c
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/constrained-arithmetic.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/constrained-fmuladd.ll
Log Message:
-----------
[NFC][SPIRV] Disable spirv-val in tests for constrained intrinsics (#181516)
Currently it errors out due to FPRoundingMode misplacement.
Commit: ef864494bdfb9284a59b909421c5f839d78df1ed
https://github.com/llvm/llvm-project/commit/ef864494bdfb9284a59b909421c5f839d78df1ed
Author: stevenwdv <stevenwdv at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/tools/obj2yaml/dwarf2yaml.cpp
Log Message:
-----------
`dwarf2yaml.cpp` optimizations (#179048)
DWARF to YAML optimizations: Add a lot of vector reserves & moves.
See also https://github.com/WebAssembly/binaryen/pull/8257
---------
Co-authored-by: stevenwdv <stevenwdv at users.noreply.github.com>
Commit: 2c194a1d2269c299e8dfecd9bd3aea3e3a838fc2
https://github.com/llvm/llvm-project/commit/2c194a1d2269c299e8dfecd9bd3aea3e3a838fc2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
Log Message:
-----------
[X86] broadcast-elm-cross-splat-vec.ll - cleanup check prefixes and regnerate (#181631)
The file had missing checks due to collisions and a lot of redundancy between x86/x64 and isa levels
Commit: 37adb1dd1e0802075e9c722a50fa5f56fec372cc
https://github.com/llvm/llvm-project/commit/37adb1dd1e0802075e9c722a50fa5f56fec372cc
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
Log Message:
-----------
[GCOVProfiling] Remove unnecessary zero-index GEPs
These are no-ops.
Commit: dc34267274410e6ad4ba5a398f179095770c8bd2
https://github.com/llvm/llvm-project/commit/dc34267274410e6ad4ba5a398f179095770c8bd2
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
Log Message:
-----------
[OffloadWrapper] Remove unnecessary zero-index GEPs (#181632)
These are no-ops.
Commit: e216dc2cb068df3f556bb8c87f4cc7e75e870948
https://github.com/llvm/llvm-project/commit/e216dc2cb068df3f556bb8c87f4cc7e75e870948
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[OpenMPIRBuilderTest] Remove unnecessary zero-index GEP
This is a no-op.
Commit: 20aff2085c358d3e112b245494161ddb9ffe0410
https://github.com/llvm/llvm-project/commit/20aff2085c358d3e112b245494161ddb9ffe0410
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[DAG] isKnownToBeAPowerOfTwo - use switch() to match against each opcode. NFC. (#181637)
isKnownToBeAPowerOfTwo has gotten to a size now that we should use a general switch like other value tracking helpers.
Commit: a250eda48f4435396319e68fed148842a3692b2e
https://github.com/llvm/llvm-project/commit/a250eda48f4435396319e68fed148842a3692b2e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
Log Message:
-----------
[X86] broadcast-elm-cross-splat-vec.ll - avoid AND(ADD(X,1),1) pattern in tests (#181638)
This will fold to AND(NOT(X),1) in an upcoming fold, defeating the
purpose of the repeated constant tests
Commit: aef9959859827f2c30e0c3983253a07dd0b654a6
https://github.com/llvm/llvm-project/commit/aef9959859827f2c30e0c3983253a07dd0b654a6
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M llvm/include/llvm/IR/Constants.h
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
Log Message:
-----------
[IR] Add ConstantExpr::getInBoundsPtrAdd() (#181639)
As a followup to https://github.com/llvm/llvm-project/pull/181365, this
adds the `getInBoundsPtrAdd()` variant and updates code to use it.
Commit: e442173c8bcd138a5193890954859e4809b2d4ea
https://github.com/llvm/llvm-project/commit/e442173c8bcd138a5193890954859e4809b2d4ea
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M flang/include/flang/Parser/openmp-utils.h
M flang/lib/Parser/openmp-utils.cpp
M flang/lib/Semantics/check-omp-loop.cpp
Log Message:
-----------
[flang][OpenMP] Implement iterator that flattens BLOCK constructs (#180981)
In OpenMP a canonical loop nest may be enclosed in a BLOCK construct.
Specifically, the two loops below are considered to form a valid loop
sequence:
```f90
do i = 1, n
end do
block
do j = 1, m
end do
end block
```
Implement an extension to parser::Block::iterator that will treat the
example above as
```f90
do i = 1, n
end do
do j = 1, m
end do
```
that is, as if the BLOCK/ENDBLOCK statement were deleted. This will make
the analysis of loop nests easier, since any such code will not have to
deal with BLOCK constructs itself.
Commit: f13301084923ed131aaea7fbadb9307a76bb21f6
https://github.com/llvm/llvm-project/commit/f13301084923ed131aaea7fbadb9307a76bb21f6
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/IR/BuiltinTypeInterfaces.h
M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/IR/BuiltinTypeInterfaces.cpp
M mlir/lib/IR/BuiltinTypes.cpp
A mlir/test/IR/dense-elements-type-interface.mlir
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/test/lib/Dialect/Test/TestTypes.h
Log Message:
-----------
[mlir][IR] Generalize `DenseElementsAttr` to custom element types (#179122)
`DenseElementsAttr` supports only a hard-coded list of element types:
`int`, `index`, `float`, `complex`. This commit generalizes the
`DenseElementsAttr` infrastructure: it now supports arbitrary element
types, as long as they implement the new `DenseElementTypeInterface`.
The `DenseElementTypeInterface` has the following helper functions:
- `getDenseElementBitSize`: Query the size of an element in bits. (When
storing an element in memory, each element is padded to a full byte.
This is an existing limitation of the `DenseElementsAttr`; with an
exception for `i1`.)
- `convertToAttribute`: Attribute factory / deserializer. Converts bytes
into an MLIR attribute. The attribute provides the assembly format /
printer for a single element.
- `convertFromAttribute`: Serializer. Converts an MLIR attribute into
bytes.
Note: `convertToAttribute` / `convertFromAttribute` are mainly for
writing test cases. For performance reasons, `DenseElementsAttr` users
should work with raw bytes / elements and avoid any API that
materializes MLIR attributes. However, MLIR attributes typically have
human-readable parsers/printers, making them suitable for lit tests and
debugging.
This PR introduces an additional assembly format for
`DenseElementsAttrs`. There are now two formats. (The existing one is
kept for compatibility reasons.)
- Literal-first (existing): `dense<[1, 2, 3]> : tensor<3xi32>`
- Type-first (new): `dense<tensor<3xi32> : [1 : i32, 2 : i32, 3 : i32]>`
The new syntax is needed to disambiguate between "literal" (e.g., `1`)
and attribute (e.g., `1 : i32`) when parsing the first token. In the
literal-first syntax, we only parse literals. In the type-first syntax,
we only parse attributes.
The existing `int`, `index`, `float`, `complex` types also implement the
`DenseElementTypeInterface`. This allows us to implement
`DenseElementsAttr::get` and `AttributeElementIterator::operator*` in a
generic way.
RFC:
https://discourse.llvm.org/t/rfc-allow-custom-element-types-in-denseelementattr/89656
Commit: 3765b09d20e01976a6ab6f8b922a6b93751fbf44
https://github.com/llvm/llvm-project/commit/3765b09d20e01976a6ab6f8b922a6b93751fbf44
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/lower-module-lds-all-indirect-accesses.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-indirect-extern-uses-max-reachable-alignment.ll
Log Message:
-----------
[AMDGPU] Regenerate test checks (NFC)
Commit: fb0a3a8e9ea46053b3a70c3844163640c5c3478f
https://github.com/llvm/llvm-project/commit/fb0a3a8e9ea46053b3a70c3844163640c5c3478f
Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
Log Message:
-----------
[MemCpyOptimizer] Prevent Merging a Store Into Memset of an `undef` (#181609)
MemCopyOptimizer was merging a store instruction into a memset of an
`undef` value and emitted a large memset for the memset and store
combined.
This PR prevents MemCopyOptimizer from merging a store instruction into
a
memset of an `undef` value since it can be removed by subsequent cleanup
passes.
Helps https://github.com/rust-lang/rust/issues/152541
Commit: db19a57597c1e26ed5a6fa54fb9cfc7edaa77bd1
https://github.com/llvm/llvm-project/commit/db19a57597c1e26ed5a6fa54fb9cfc7edaa77bd1
Author: Alexey Moksyakov <moksyakov.alexey at huawei.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M bolt/test/runtime/AArch64/instrumentation-ind-call.c
Log Message:
-----------
[bolt][nfc] Exclude Call id verification from instrument-ind-call test (#181655)
The instrument-ind-call test checks the correctness of instrumented
snippet by the set of registers are used, the call id value is
meaningless (platform depend) and should be exclude from test.
Commit: 2bee460f010839ff1fe45f2391f1737b29c00439
https://github.com/llvm/llvm-project/commit/2bee460f010839ff1fe45f2391f1737b29c00439
Author: Fady Farag <com.webkit.iidmsa at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M libcxx/include/__functional/function.h
Log Message:
-----------
[libc++] Prevent ADL on _Block_copy/_Block_release (#179614)
Suppress ADL on Blocks runtime calls in std::function.
Commit: 5d5301dc0cc4a84fb91f103e4afec62de4622e33
https://github.com/llvm/llvm-project/commit/5d5301dc0cc4a84fb91f103e4afec62de4622e33
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/Target/StackFrameList.h
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/Thread.cpp
A lldb/test/API/terminal/hidden_frame_markers/Makefile
A lldb/test/API/terminal/hidden_frame_markers/TestHiddenFrameMarkers.py
A lldb/test/API/terminal/hidden_frame_markers/main.cpp
Log Message:
-----------
[lldb] add a marker around hidden frames (#181143)
This is a reland of https://github.com/llvm/llvm-project/pull/167550.
Instead of relying on libcpp for testing, we emulate our own hidden
frames. This was originally causing tests failures on Windows.
Commit: 62882485e0eb4ad600d952dc2f5fd889db1eb298
https://github.com/llvm/llvm-project/commit/62882485e0eb4ad600d952dc2f5fd889db1eb298
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
Log Message:
-----------
[NFC][SPIRV] Remove uses of `SPIRVType` in `SPIRVUtils` (#181663)
Replace them with `SPIRVTypeInst`.
Commit: 4831bf9e48553faff6095ec087557375bcaf4341
https://github.com/llvm/llvm-project/commit/4831bf9e48553faff6095ec087557375bcaf4341
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M mlir/lib/IR/AffineExpr.cpp
M mlir/test/IR/affine-map.mlir
Log Message:
-----------
[MLIR] Fix bug in AffineExpr simplifyAdd (#181613)
Fix bug in AffineExpr simplifyAdd. This was leading to an incorrect
construction of affine expressions in certain cases; the expression was
being wrongly simplified to a modulo one.
Test cases for affine expr simplification by construction in
lib/IR/AffineExpr.cpp were earlier added to a transforms pass' tests;
add basic ones to test/IR/ while on this.
Commit: 083f00b3ede46f682fd21c891b45c0db49ad95fb
https://github.com/llvm/llvm-project/commit/083f00b3ede46f682fd21c891b45c0db49ad95fb
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/IR/BuiltinTypeInterfaces.h
M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/IR/BuiltinTypeInterfaces.cpp
M mlir/lib/IR/BuiltinTypes.cpp
R mlir/test/IR/dense-elements-type-interface.mlir
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/test/lib/Dialect/Test/TestTypes.h
Log Message:
-----------
Revert "[mlir][IR] Generalize `DenseElementsAttr` to custom element types" (#181692)
Reverts llvm/llvm-project#179122.
This PR broke the Windows build:
https://lab.llvm.org/buildbot/#/builders/207/builds/13576
Commit: 67e56cf9f1f948ab0ebf4197e0cf71e2c5cf4f20
https://github.com/llvm/llvm-project/commit/67e56cf9f1f948ab0ebf4197e0cf71e2c5cf4f20
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/test/Transforms/Coroutines/ArgAddr.ll
M llvm/test/Transforms/Coroutines/coro-align16.ll
M llvm/test/Transforms/Coroutines/coro-align32.ll
M llvm/test/Transforms/Coroutines/coro-align64-02.ll
M llvm/test/Transforms/Coroutines/coro-align64.ll
M llvm/test/Transforms/Coroutines/coro-align8-02.ll
M llvm/test/Transforms/Coroutines/coro-align8.ll
M llvm/test/Transforms/Coroutines/coro-alloc-with-param-O0.ll
M llvm/test/Transforms/Coroutines/coro-alloc-with-param-O2.ll
M llvm/test/Transforms/Coroutines/coro-alloca-01.ll
M llvm/test/Transforms/Coroutines/coro-alloca-02.ll
M llvm/test/Transforms/Coroutines/coro-alloca-03.ll
M llvm/test/Transforms/Coroutines/coro-alloca-04.ll
M llvm/test/Transforms/Coroutines/coro-alloca-06.ll
M llvm/test/Transforms/Coroutines/coro-alloca-07.ll
M llvm/test/Transforms/Coroutines/coro-alloca-08.ll
M llvm/test/Transforms/Coroutines/coro-alloca-with-addrspace.ll
M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
M llvm/test/Transforms/Coroutines/coro-byval-param.ll
M llvm/test/Transforms/Coroutines/coro-catchswitch.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-01.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-arrayalloca.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-01.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-04.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-05.ll
M llvm/test/Transforms/Coroutines/coro-frame.ll
M llvm/test/Transforms/Coroutines/coro-padding.ll
M llvm/test/Transforms/Coroutines/coro-param-copy.ll
M llvm/test/Transforms/Coroutines/coro-retcon-remat.ll
M llvm/test/Transforms/Coroutines/coro-spill-after-phi.ll
M llvm/test/Transforms/Coroutines/coro-spill-corobegin.ll
M llvm/test/Transforms/Coroutines/coro-spill-defs-before-corobegin.ll
M llvm/test/Transforms/Coroutines/coro-spill-promise-02.ll
M llvm/test/Transforms/Coroutines/coro-spill-promise.ll
M llvm/test/Transforms/Coroutines/coro-spill-suspend.ll
M llvm/test/Transforms/Coroutines/coro-split-tbaa-md.ll
M llvm/test/Transforms/Coroutines/coro-zero-alloca.ll
Log Message:
-----------
[NFCI][Coroutines] update tests to autogenerated formatting (#178358)
The best practices for llvm is to use the update scripts instead of
manually writing tests, so update tests to use the script, where the
change is subjectively minor. These tests are necessary to update again
for my branch to change CoroFrame to using all opaque ptradd instead of
typed gep and alloca. Currently that pass uses whatever random type the
largest non-overlapping alloca happened to have when the other alloca
were re-written to replace be replaced by it. In this future branch, it
will all just uses simple ptrgep operations. This is part of an
on-going series of PRs to fully deprecate using getAllocatedType and
replace it with getAllocationSize, because it had no semantic meaning,
just like typed pointers were deprecated for opaque pointers.
Commit: 19149a89b233676db75ca49ba81cca6ae31ea62c
https://github.com/llvm/llvm-project/commit/19149a89b233676db75ca49ba81cca6ae31ea62c
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang/test/Driver/aarch64-v96a.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/CodeGen/AArch64/arm64-prefetch-ir.ll
M llvm/test/MC/AArch64/armv9.6a-pcdphint.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][llvm] Remove +pcdphint gating (#181633)
Remove gating of `stshh` since this is an instruction from the
HINT space, and therefore is a NOP on cores that don't implement
it, so gating is superfluous. gcc doesn't gate this, so remove
for better compatibility.
Commit: 962e60e705b411a8a5df99ef3dedae41fdf7a519
https://github.com/llvm/llvm-project/commit/962e60e705b411a8a5df99ef3dedae41fdf7a519
Author: Alexey Bader <alexey.bader at intel.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang/lib/Basic/OffloadArch.cpp
Log Message:
-----------
[NFC][Clang] Add missing LLVM license header (#181445)
Commit: d74617b06f51605bf3c12753f5dc4d10381e2337
https://github.com/llvm/llvm-project/commit/d74617b06f51605bf3c12753f5dc4d10381e2337
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[DA] Remove `DependenceInfo::removeMatchingExtensions` (#171809)
If two subscripts has same cast operation (`sext` or `zext`),
`removeMatchingExtensions` strips off them. Due to the following
reasons, remaining this function is not useful and risky:
- If the operand of the cast operation has proper nowrap properties,
SCEV usually strips off the cast operation automatically. It's not very
meaningful to do it on DA side.
- If the operand doesn't have nowrap properties, stripping off the cast
operation may lead to incorrect result. Especially, if it can be
negative, removing `zext` would change the interpretation of the value
in a signed sense.
- This function is part of the root cause of #148435.
Although I've not found any cases where incorrect results are produced
by this function, but I think it doesn't make sense to keep it. As far
as I have checked, there are no regressions after removing this
function.
Resolve #169809
Commit: f03ff95ce20f282db22b40997ee1daa01c01e581
https://github.com/llvm/llvm-project/commit/f03ff95ce20f282db22b40997ee1daa01c01e581
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
A lldb/cmake/modules/FindTreeSitter.cmake
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/include/lldb/Core/Highlighter.h
M lldb/include/lldb/Host/Config.h.cmake
M lldb/source/Plugins/Highlighter/CMakeLists.txt
A lldb/source/Plugins/Highlighter/TreeSitter/CMakeLists.txt
A lldb/source/Plugins/Highlighter/TreeSitter/TreeSitterHighlighter.cpp
A lldb/source/Plugins/Highlighter/TreeSitter/TreeSitterHighlighter.h
Log Message:
-----------
[lldb] Add tree-sitter based syntax highlighting (#181279)
This adds the necessary infrastructure to use tree-sitter for syntax
highlighting in LLDB. It provides the base class for a tree-sitter
highlighter plugin. Its primary function is interfacing with the
tree-sitter library, and converting captures to highlighting styles.
Adding a new tree-sitter highlighter consists of creating an LLDB plugin
that inherits from this class. The plugin has two core responsibilities:
1. Loading the tree-sitter grammar.
2. Specifying the tree-sitter syntax highlighting query.
Everything else is handled by the base class, making it extremely easy
to add a new language.
For more context and the motivation behind using tree-sitter for syntax
highlighting, see #170250.
Commit: 54a8b206a9d5f35c9d6cf508e30e56289e000b0c
https://github.com/llvm/llvm-project/commit/54a8b206a9d5f35c9d6cf508e30e56289e000b0c
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
Log Message:
-----------
[clang-tidy] Refactor `modernize-redundant-void-arg` (#173340)
Essentially, instead of having individual matchers for functions, and
for pointers to functions, and for casts to functions, and for typedefs
of functions, and (you get the point), this PR unifies them into one
`FunctionTypeLoc`-based matcher.
This refactor is not entirely NFC:
- First, it changes the diagnostic message. What used to be `redundant
void argument list in {function definition, lambda expression, etc.}` is
now just `redundant void argument list`. I don't think we're losing any
important information though.
- Second, it causes the check to fire in more places than it did before.
Specifically, it now removes the 2 `void`s in this test case:
https://github.com/llvm/llvm-project/blob/01effcd82dfbd3ce880a20c335334045191f217b/clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp#L434-L442
Seeing as this check does want to remove `void` in macros, I believe
this is fixing an FN. And I don't believe I'm violating the intent of
the test case, because [the intent was just to ensure the check doesn't
crash when encountering it](https://reviews.llvm.org/D14204).
Commit: fd54aa9e3aab8f682129dfc5f82dc8f8775c66bc
https://github.com/llvm/llvm-project/commit/fd54aa9e3aab8f682129dfc5f82dc8f8775c66bc
Author: Madhur Kumar <152476790+MadhurKumar004 at users.noreply.github.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
A llvm/test/Transforms/InstCombine/X86/x86-fp-minmax-negzero.ll
Log Message:
-----------
[instcombine][x86]: simplifyx86fpmaxmin - allow negzero for single operand (#180418)
Fixes #175552
Commit: f530c161a7eeabc0c4b3f0f7c95900bff3be15c5
https://github.com/llvm/llvm-project/commit/f530c161a7eeabc0c4b3f0f7c95900bff3be15c5
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.h
M llvm/lib/Frontend/OpenMP/OMP.cpp
Log Message:
-----------
[OpenMP] Make isPrivatizingClause version-sensitive (#181691)
Some pre-existing clauses (e.g. use_device_ptr) are privatizing in
OpenMP 6.0, but not in 5.2. Make the check more accurate by considering
the effective spec version.
Commit: f46c2c46d19996911271c40d4b4bc4cc6ad0e591
https://github.com/llvm/llvm-project/commit/f46c2c46d19996911271c40d4b4bc4cc6ad0e591
Author: AidinT <at.aidin at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M mlir/include/mlir/IR/Interfaces.td
M mlir/include/mlir/Reducer/CMakeLists.txt
A mlir/include/mlir/Reducer/DialectReductionPatternInterface.td
M mlir/include/mlir/Reducer/ReductionPatternInterface.h
M mlir/include/mlir/TableGen/Interfaces.h
M mlir/lib/Reducer/CMakeLists.txt
M mlir/lib/TableGen/Interfaces.cpp
M mlir/test/mlir-tblgen/dialect-interface.td
M mlir/tools/mlir-tblgen/DialectInterfacesGen.cpp
Log Message:
-----------
[MLIR] Convert DialectReductionPatternInterface using ODS (#180640)
This PR converts `DialectReductionPatternInterface` using ODS.
It also introduces a new Interface Method class:
`PureVirtualInterfaceMethod` which creates the method as pure virtual.
Commit: 36a716f3c219d7077bb041cb6477ee674137ccbd
https://github.com/llvm/llvm-project/commit/36a716f3c219d7077bb041cb6477ee674137ccbd
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
Log Message:
-----------
[lldb] fix a typo in decorator's docstring (#181697)
Commit: e6e94a64d24ad25548af4ab8949b9a39d015c19c
https://github.com/llvm/llvm-project/commit/e6e94a64d24ad25548af4ab8949b9a39d015c19c
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M lld/ELF/Config.h
Log Message:
-----------
[NFC][ELF] Remove unused Config::hasTlsIe (#181680)
This was obsoleted by Ctx::hasTlsIe when the latter was introduced, but
the old Config::hasTlsIe was not removed at the same time.
Fixes: 2b153088be4a ("[ELF] Set DF_STATIC_TLS for AArch64/PPC32/PPC64")
Commit: c69a6be4278f9b65c3e2b7536f0b04fe8d572afc
https://github.com/llvm/llvm-project/commit/c69a6be4278f9b65c3e2b7536f0b04fe8d572afc
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
Log Message:
-----------
[analyzer][Z3][NFCI] Simplify getExpr* functions by taking a RetTy reference (#180801)
Let me start by: This is some ancient code and was never really uphold
to the greatest quality standards.
It turns out the `RetTy` was almost always provided, and in the cases
when it wasn't, we could just pass a dummy and discard the result.
Probably the APIs could be refactored, but I decided not to. The code
mostly works, let's not stir up the mud.
Addresses
https://github.com/llvm/llvm-project/pull/168034#discussion_r2785236941
Commit: 21bc4aa6a305d8aacd58a99bf0a11100ec0af602
https://github.com/llvm/llvm-project/commit/21bc4aa6a305d8aacd58a99bf0a11100ec0af602
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[TableGen] Use a new helper function for -register-info-debug. NFC. (#181704)
Use a new helper function for printing things derived from InfoByHwMode.
Commit: a33db04a63f4aa03178905529e01c4dcd5412cf8
https://github.com/llvm/llvm-project/commit/a33db04a63f4aa03178905529e01c4dcd5412cf8
Author: accauble <accauble at users.noreply.github.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M lldb/unittests/Target/LanguageTest.cpp
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/lib/BinaryFormat/Dwarf.cpp
Log Message:
-----------
Add DW_LNAME_HIP (#180999)
In PR #89980, DW_LNAME_HIP was not added because of a value conflict
with DW_LNAME_Assembly. The value of DW_LNAME_HIP has been updated (see
https://dwarfstd.org/languages-v6.html). This commit adds DW_LNAME_HIP.
Tests added by that PR accommodates the new SourceLanguageName.
Commit: d7f32c28a79a6b6701e0d54791b87115bd60f125
https://github.com/llvm/llvm-project/commit/d7f32c28a79a6b6701e0d54791b87115bd60f125
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M lld/test/ELF/eh-frame-hdr-sdata8.s
Log Message:
-----------
[ELF,test] eh-frame-hdr-sdata8.s: use AT() to avoid huge PT_LOAD segments
Use AT() to ensure output sections with huge addresses are placed in separate
PT_LOAD segments. Without this, 2.lds and 3.lds created a huge PT_LOAD
segment, making the sparse file size larger than 4GiB, unsupported by
some 32-bit systems.
https://github.com/llvm/llvm-project/pull/179089#issuecomment-3908549089
Commit: 180f7823cf1952e43b5f27c2deab3318c8d96ace
https://github.com/llvm/llvm-project/commit/180f7823cf1952e43b5f27c2deab3318c8d96ace
Author: Hui <hui.xie1990 at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M libcxx/src/atomic.cpp
Log Message:
-----------
[libc++] Fix FreeBSD atomic timed wait system call (#180400)
This PR fixes atomic timed wait on FreeBSD platforms.
When we added timed wait support, on FreeBSD platform, we were looking
only the `UMTX_OP_WAIT` section of the FreeBSD doc
https://man.freebsd.org/cgi/man.cgi?query=_umtx_op&apropos=0&sektion=2&manpath=FreeBSD+16.0-CURRENT&format=html
. Somehow we missed the generic section that describes the timeout
parameter that applies to all operations. As a consequence, we missed
the part that the FreeBSD is expecting the `size` to be casted to
`uintptr_t`, then passed in to the `void*` parameter.
This PR fixes the issue by casting the type to what the system requires.
As drive by, this PR also
- uses simple `timespec` instead of the extended one
- as documentation suggests, "Interval counting is always performed by
the monotonic wall clock", and "If the flag is absent, the timeout value
is relative", which means that using the simple version is enough and
using the extended version is unnecessarily complex and might be
confusing to the people who aren't familiar with the API. And using
`timespec` is also consistent with the code in Linux case.
- directly reintepret_cast the comparison value to __cxx_contention_t
- As FreeBSD only supports the old ABI at the moment, the input is ever
going to be the exact type `__cxx_contention_t`. Copying to local buffer
is unnecessary and confusing.
Commit: 8f1f42102c975446d4fa5d105707f1cd137a33e9
https://github.com/llvm/llvm-project/commit/8f1f42102c975446d4fa5d105707f1cd137a33e9
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M lldb/docs/use/python-reference.rst
A lldb/docs/use/tutorials/custom-symbol-resolution.md
R lldb/docs/use/tutorials/hunting-down-symbols.md
Log Message:
-----------
[lldb/docs] Update Scripted Symbol Locator tutorial title (NFC) (#181717)
This patch addresses some post-merge comments from llvm-project#181594,
where the tutorial name for Scripted Symbol Locator was missing a word
and wasn't capitalized properly.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 3b732934c6e038fff061d8c4a7a5fdfe716a602e
https://github.com/llvm/llvm-project/commit/3b732934c6e038fff061d8c4a7a5fdfe716a602e
Author: Eric Christopher <echristo at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
Fix type mismatch in ARM calling convention ternary (#180872)
GCC's -Wextra flags the ternary in the ARM half-precision calling
convention setup because the branches have different types. Use
static_cast to make both sides consistent.
Built with ToT clang and GCC 13.3.0 on Linux x86_64. All existing tests
pass.
Commit: 3b2233acd49eeab9276507648315de547192fedb
https://github.com/llvm/llvm-project/commit/3b2233acd49eeab9276507648315de547192fedb
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M mlir/include/mlir-c/Dialect/SMT.h
M mlir/lib/Bindings/Python/DialectSMT.cpp
M mlir/lib/CAPI/Dialect/SMT.cpp
Log Message:
-----------
[MLIR][Python][SMT] Expose TypeIds for SMT Types (#181719)
Enables, among other things, the registration of type casters.
Commit: e559d0a97a3dcce5df1e0d64c60a8808096c4b7d
https://github.com/llvm/llvm-project/commit/e559d0a97a3dcce5df1e0d64c60a8808096c4b7d
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[TableGen] Fix -Wunused-variable in non-assertion builds
Commit: 7ec7907b80f8137f06bfb84b47f4a9b4805402ba
https://github.com/llvm/llvm-project/commit/7ec7907b80f8137f06bfb84b47f4a9b4805402ba
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/loads-with-large-distance.ll
Log Message:
-----------
[SLP] Fix a very long loads offset, being stored in DenseMap
Added a check for a very long offset to avoid a crash in the compiler
Fixes #181682
Commit: 2d70091f517c03f473f8a7f2f2960fcc9e19f0bc
https://github.com/llvm/llvm-project/commit/2d70091f517c03f473f8a7f2f2960fcc9e19f0bc
Author: moscickimilosz <Milosz.Moscicki at imgtec.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
Log Message:
-----------
[mlir][spirv][nfc] Refactor deserialization of decorations (#181700)
Move all single integer literal decorations into a common case in spirv
deserializer. There was an unnnecessary duplication of switch cases that
served the same purpose.
Change OpDecoration -> OpDecorate as that is the correct name of the op
Commit: 86f167b9dfaf31306d524e1288f50954df6a657a
https://github.com/llvm/llvm-project/commit/86f167b9dfaf31306d524e1288f50954df6a657a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
Log Message:
-----------
AMDGPU: Use promotion to f32 path for log/log10 for f16 by default (#180240)
Commit: cc67cb624de33a2e187f700eeb7ec3a1fd6756fe
https://github.com/llvm/llvm-project/commit/cc67cb624de33a2e187f700eeb7ec3a1fd6756fe
Author: Perceval Anichini <45268488+maneex at users.noreply.github.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add AfterComma option for BreakConstructorInitializers (#180541)
This patch introduces a new `AfterComma` value for the
`BreakConstructorInitializers` style option. This style keeps the
constructor initializer colon on the same line as the constructor
declaration and breaks after each comma in the initializer list.
Example formatting:
```cpp
Constructor() : initializer1(),
initializer2()
```
This style provides an alternative to the existing BeforeColon,
BeforeComma, and AfterColon options, allowing developers to maintain the
colon on the constructor line while placing each initializer on its own
line after commas.
---------
Co-authored-by: Perceval <perceval at trilogic.fr>
Commit: 792f40533b73ab165edeafe868d49e583381bc1c
https://github.com/llvm/llvm-project/commit/792f40533b73ab165edeafe868d49e583381bc1c
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[NFC][SPIRV] Rework `isConstReg` to remove `SPIRVType` (#181647)
Using `SPIRVType *` in the `Visited` set seems rather accidental, since
the instructions that this function traverses are expected to be a
constant definition.
Made the function iterative to avoid the `Visited` set declaration on
the caller.
Related to https://github.com/llvm/llvm-project/issues/180788
Commit: 4e3b4fb9b8705f824b32471395a33a6793fe7bb8
https://github.com/llvm/llvm-project/commit/4e3b4fb9b8705f824b32471395a33a6793fe7bb8
Author: Yi Zhang <cathyzhyi at google.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] fix #180640 (#181724)
fix #180640
Commit: 5460a202eae086b18a532b564633f15b221e8506
https://github.com/llvm/llvm-project/commit/5460a202eae086b18a532b564633f15b221e8506
Author: Prathamesh Tagore <63031630+meshtag at users.noreply.github.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
[mlir][remove-dead-values] Replace appropriate operation results with poison (#181013)
Before erasing the operation, replace all result values with live-uses
by
ub.poison values. This is important to maintain IR validity. For
example,
if we have an op with one of its results used by another op, erasing the
op without replacing its corresponding result would leave us with a
dangling operand in the user op. By replacing the result with a
ub.poison
value, we ensure that the user op still has a valid operand, even though
it's a poison value which will be cleaned up later if it can be cleaned
up. This keeps the IR valid for further simplification and
canonicalization while fixing a related crash in the canonicalizer.
Fixes https://github.com/llvm/llvm-project/issues/179944
Commit: f9bca14a33888e70e2f9f1aa1f4a4edd3d7e5dfd
https://github.com/llvm/llvm-project/commit/f9bca14a33888e70e2f9f1aa1f4a4edd3d7e5dfd
Author: Berkay Sahin <berkaysahindev at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation-vectorlike-classes.cpp
Log Message:
-----------
[clang-tidy] Handle inherited push_back/emplace_back in inefficient-vector-operation (#181476)
- Fix to match calls where `push_back`/`emplace_back` are inherited and
the implicit object argument is wrapped in implicit casts.
- Add a dedicated regression test for configured vector-like classes.
Fixes #181427
Commit: aec1c984266c49308f40ab2127b2e58b437fdbfe
https://github.com/llvm/llvm-project/commit/aec1c984266c49308f40ab2127b2e58b437fdbfe
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M lld/ELF/Arch/SystemZ.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/test/ELF/systemz-plt.s
M lld/test/ELF/systemz-tls-gd.s
Log Message:
-----------
[ELF] Add target-specific relocation scanning for SystemZ (#181563)
Implement SystemZ::scanSectionImpl, following the pattern established
for x86 (#178846) and PPC64 (#181496). This merges the getRelExpr and
TLS handling for SHF_ALLOC sections into the target-specific scanner,
enabling devirtualization and eliminating abstraction overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic `rs.scan()` path.
- Use processR_PC/processR_PLT_PC for common PC-relative and PLT
relocations.
- Handle TLS GD, LD, and DTPREL directly, eliminating
handleTlsRelocation, getTlsGdRelaxSkip, and adjustTlsExpr overrides.
Replace R_RELAX_TLS_GD_TO_IE_GOT_OFF with R_GOT_OFF and
R_RELAX_TLS_GD_TO_LE/R_RELAX_TLS_LD_TO_LE with R_TPREL, using
type-based dispatch in relocate() for marker relocation types.
- Handle TLS IE inline without IE-to-LE optimization. Cannot use
`handleTlsIe`.
- Remove `sortRels`: instead of sorting relocations to process GDCALL
before PLT32DBL, skip PLT32DBL by peeking ahead at the next
relocation to check for a TLS marker (GDCALL/LDCALL).
This fixes SHT_CREL as an alternative to #149640
- Simplify getRelExpr to only handle relocations needed by
relocateNonAlloc and .eh_frame.
Fix #149511
Commit: 7e653d06c1931bf9823da711d3ce3b2e2f797d9f
https://github.com/llvm/llvm-project/commit/7e653d06c1931bf9823da711d3ce3b2e2f797d9f
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/test/TableGen/ConcatenatedSubregs.td
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[TableGen] Simplify printing of simple InfoByHwModes (#181714)
For the -register-info-debug output, don't bother printing a brace
enclosed list for simple InfoByHwModes, where every entry is the
default.
Commit: 684778b71094c3a119f00aeaf423c98937f2ae57
https://github.com/llvm/llvm-project/commit/684778b71094c3a119f00aeaf423c98937f2ae57
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
Log Message:
-----------
[LifetimeSafety] Move unique_ptr::release() handling to handleMovedArgsInCall (#181005)
Commit: 650a62f970aee31de29b3e88a4c8036001659197
https://github.com/llvm/llvm-project/commit/650a62f970aee31de29b3e88a4c8036001659197
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][ROCDL] Add async variants of pre-gfx12 LDS load intrinsics (#181072)
These are MLIR wrappers around #180466.
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: e17de2ec232296f56d497b7be068b14769a89619
https://github.com/llvm/llvm-project/commit/e17de2ec232296f56d497b7be068b14769a89619
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
Log Message:
-----------
[NFC][mlir][ROCDL] Add asyncmark, wait.asyncmark examples (#181742)
Examples were requested in post-commit review, add them
Commit: 149fa17adfed7b50f456586e817c872e98f3be21
https://github.com/llvm/llvm-project/commit/149fa17adfed7b50f456586e817c872e98f3be21
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/load_lds.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][AMDGPU] Update gather_to_lds with explicit-async support (#181082)
This commit takes advantage of the new `load.async.to.lds` intrinsic in
order to add an `async` mode to `gather_to_lds`. In this mode,
completion of the load needs to be managed with `asyncmark` and
`wait.asyncmark` intrinsics instead of being implicitly derived by alias
analysis.
This commit adds the flag, a lowering for it, and updates tests.
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: c4e8adf7bbc8c1bcf2d3c8c808ca9a52677ce9c2
https://github.com/llvm/llvm-project/commit/c4e8adf7bbc8c1bcf2d3c8c808ca9a52677ce9c2
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/X86/predicated-instruction-cost.ll
Log Message:
-----------
[VPlan] Skip gather/scatters in useEmulatedMaskMemRefHack.
The legacy cost model skips gather/scatters when determining the
predicated stores in useEmulatedMaskMemRefHack. Match the behavior in
the VPlan-based implementation. This fixes a cost divergence in the
attached test.
Commit: 7c3c9c45f85da6f786858358f2643bc6f46c51b4
https://github.com/llvm/llvm-project/commit/7c3c9c45f85da6f786858358f2643bc6f46c51b4
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Model/EntityId.h
M clang/include/clang/Analysis/Scalable/Model/EntityIdTable.h
M clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
A clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/lib/Analysis/Scalable/CMakeLists.txt
A clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
M clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest.cpp
Log Message:
-----------
[clang][ssaf] Implement JSONFormat (#180021)
This PR implements JSON serialization and deserialization support for
SSAF. To enable error reporting, the interface of `SerializationFormat`
APIs has been updated to return `llvm::Expected`. Error messages
produced by the `JSONFormat` implementation include multiline context
indicating the _conceptual_ path that led to the failure.
rdar://168770769
rdar://168929437
Assisted-By: claude
Commit: d85576d3685d2db72e52bf555125539af3211dda
https://github.com/llvm/llvm-project/commit/d85576d3685d2db72e52bf555125539af3211dda
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M libc/docs/gpu/rpc.rst
M libc/shared/rpc.h
M libc/shared/rpc_dispatch.h
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/OSUtil/gpu/exit.cpp
M libc/src/__support/OSUtil/gpu/io.cpp
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/rename.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdlib/gpu/abort.cpp
M libc/src/stdlib/gpu/system.cpp
M libc/test/integration/startup/gpu/rpc_interface_test.cpp
M libc/test/integration/startup/gpu/rpc_lane_test.cpp
M libc/test/integration/startup/gpu/rpc_stream_test.cpp
M libc/test/integration/startup/gpu/rpc_test.cpp
M llvm/tools/llvm-gpu-loader/server.h
M offload/plugins-nextgen/common/src/RPC.cpp
M openmp/device/src/Misc.cpp
Log Message:
-----------
[libc] Replace RPC 'close()' mechanism with RAII handler (#181690)
Summary:
Closing ports was previously done manually, This makes the protocol more
error prone as unclosed ports will leak and eventually the locks will
run out. I believe the original fear was that the RAII portion would
negatively impact code generation but I have not noticed anything
significant.
Commit: 4973c9b90ec673e10feaef65bce8b667c4903624
https://github.com/llvm/llvm-project/commit/4973c9b90ec673e10feaef65bce8b667c4903624
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M clang/test/Driver/aarch64-v97a.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/armv9.7a-memsys.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][llvm] Remove +cmh gating (#181662)
Remove gating of `shuh` and `stcph` since these are instructions from
the HINT space, and therefore is a NOP on cores that don't implement it,
so gating is superfluous. gcc doesn't gate these, so remove for better
compatibility.
Commit: 31438d5a92982b5dffcb718ac0ac108f791eefc6
https://github.com/llvm/llvm-project/commit/31438d5a92982b5dffcb718ac0ac108f791eefc6
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[NFC][TableGen] Use convertInitializerToInt in CodeGenRegister (#180968)
Commit: eb85fc740c4a73c6faf095cf83afe8b155d36b27
https://github.com/llvm/llvm-project/commit/eb85fc740c4a73c6faf095cf83afe8b155d36b27
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
Log Message:
-----------
[NFC][CodeGen] Minor code cleanup in MIR FrameIndex verification (#181551)
Use variable names conforming to LLVM CS and shorten the code a bit
using `dyn_cast_if_present`.
Commit: 227d8d33c638985fcf2bd74e35323143d4b0df51
https://github.com/llvm/llvm-project/commit/227d8d33c638985fcf2bd74e35323143d4b0df51
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/include/llvm/Support/ProgramStack.h
M llvm/lib/Support/CrashRecoveryContext.cpp
M llvm/lib/Support/ProgramStack.cpp
Log Message:
-----------
[llvm][clang] Revert split stacks implementation from runOnNewStack (#181743)
This was potentially causing Clang to emit out of stack space warnings
in rare cases, so I'm reverting it until I can verify the issue. This
keeps the API change as that's known not to be the issue.
Commit: 4e8b7bdfea73905be8129cb33a69a6f20bf52134
https://github.com/llvm/llvm-project/commit/4e8b7bdfea73905be8129cb33a69a6f20bf52134
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M .ci/buildbot/worker.py
Log Message:
-----------
[CI][ScriptedBuilder] Avoid python 3.12-only option (#181746)
The shutil.rmtree(onexc=) parameter was only added in Python 3.12. Use
onerror= instead whose callback signature takes a different third
parameter which is ignored anyway.
Commit: 41c6aa67a343021fd2453443b2eb5964a4029a08
https://github.com/llvm/llvm-project/commit/41c6aa67a343021fd2453443b2eb5964a4029a08
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
A clang/include/clang/Analysis/Scalable/Model/EntityLinkage.h
M clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
M clang/include/clang/Analysis/Scalable/TUSummary/TUSummary.h
M clang/unittests/Analysis/Scalable/CMakeLists.txt
A clang/unittests/Analysis/Scalable/EntityLinkageTest.cpp
Log Message:
-----------
[clang][ssaf] Add EntityLinkage data structure (#181718)
This commit introduces the `EntityLinkage` class to represent the
linkage properties (`None`, `Internal`, `External`) of entities in the
SSAF framework and integrates it into the `TUSummary` class to enable
tracking this information across translation units.
rdar://162571047
Assisted-By: Claude
Commit: 2ff4ec172a9e22f214a558a8a37a30ac4174b9c1
https://github.com/llvm/llvm-project/commit/2ff4ec172a9e22f214a558a8a37a30ac4174b9c1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-split-entry.ll
Log Message:
-----------
[SLP]Fix revec in split nodes
Initially split nodes do not support vector entries in revec mode, patch
fixes the issue by adding analysis for the scale factor
Fixes #181546
Commit: 7c2109f02a0b30b900a1b5a91ad8d8758f75e33b
https://github.com/llvm/llvm-project/commit/7c2109f02a0b30b900a1b5a91ad8d8758f75e33b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M lldb/source/Plugins/Highlighter/TreeSitter/TreeSitterHighlighter.cpp
M lldb/source/Plugins/Highlighter/TreeSitter/TreeSitterHighlighter.h
Log Message:
-----------
[lldb] Fix compile error when tree-sitter is enabled
Not sure how this slipped in, I must have messed up something with the
stacked pull requests.
Commit: 7679d02d6607a6f1e9908c2a9e1c5f6c9627f300
https://github.com/llvm/llvm-project/commit/7679d02d6607a6f1e9908c2a9e1c5f6c9627f300
Author: Martin Storsjö <martin at martin.st>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
A llvm/test/CodeGen/X86/atomic-nocx16-win.ll
Log Message:
-----------
[X86] Correctly call 16 byte atomic helpers on x86_64 Windows (#181356)
On x86_64 Windows, i128 values are returned in xmm0, and as arguments to
functions, they are passed indirectly (rather than in a GPR pair) - see
WinX86_64ABIInfo::classify in Clang [1].
When AtomicExpandPass generates a libcall, it normally generates one
with i128 arguments and return types. This type isn't lowered correctly
(it ends up passed or returned in a pair of GPRs).
To fix this issue, make AtomicExpandPass use the v2i64 type instead of
i128 here, just like Clang would do for an explicit function call; this
type ends up lowered correctly.
This fixes https://github.com/mstorsjo/llvm-mingw/issues/538 and
https://github.com/llvm/llvm-project/issues/136428.
[1]
https://github.com/llvm/llvm-project/blob/llvmorg-21.1.8/clang/lib/CodeGen/Targets/X86.cpp#L3390-L3408
Commit: 6d9169553029ddc6ea9834e63d08a6a17e96ea2e
https://github.com/llvm/llvm-project/commit/6d9169553029ddc6ea9834e63d08a6a17e96ea2e
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M lld/ELF/Arch/Hexagon.cpp
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF] Add target-specific relocation scanning for Hexagon (#181596)
Implement Hexagon::scanSectionImpl, following the pattern established
for x86 (#178846) and PPC64. This merges the getRelExpr and TLS handling
for
SHF_ALLOC sections into the target-specific scanner, enabling
devirtualization and eliminating abstraction overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic rs.scan() path.
- Use processR_PC/processR_PLT_PC for common PC-relative and PLT
relocations.
- Handle GD PLT relocations inline, always setting NEEDS_PLT. Remove
the R_HEX_GD_PLT special case from process().
- Handle TLS IE, GD GOT, and TPREL directly, bypassing
handleTlsRelocation. Remove EM_HEXAGON from the execOptimize check.
- Simplify getRelExpr to only handle relocations needed by
relocateNonAlloc and scanEhSection.
Commit: d5607ad55c5e56383d33e6ec0f582a687d75dedb
https://github.com/llvm/llvm-project/commit/d5607ad55c5e56383d33e6ec0f582a687d75dedb
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M polly/include/polly/ScopInfo.h
M polly/lib/Analysis/ScopInfo.cpp
M polly/lib/Pass/PhaseManager.cpp
Log Message:
-----------
[Polly][ScopInfo] Lazy Scop instantiation (#179535)
The old NPM was using ScopInfo pass introduced in
https://reviews.llvm.org/D20962, which in contrast to the LPM was using
ScopInfoRegionPass. ScopInfo was instantiating all Scop objects
immediately. After codegenning, all Scop objects need to be recomputed
anyway, making this approach wastful. The PhaseManager inherited this
behaviour from the NPM, leading to some concerns.
Replace the instantiate-all behavior of ScopInfo with an on-demand
instantiation. SCoPs now must be iterated using ScopDetection instead
using ScopInfo, but only some unsed legacy NPM passes (now removed) were
doing that anyway.
Commit: be28e55d2d76dfa6f75a282d84a7edfb483b2470
https://github.com/llvm/llvm-project/commit/be28e55d2d76dfa6f75a282d84a7edfb483b2470
Author: Christopher Di Bella <cjdb at google.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M libcxx/include/__vector/vector.h
Log Message:
-----------
[libc++] Memoise `size()` in `vector::__assign_with_size` (#180288)
This is an optimisation from the size-based vector project that's
applicable to all vector implementations.
Commit: e8a78814f62da8047383433152a0973568511c95
https://github.com/llvm/llvm-project/commit/e8a78814f62da8047383433152a0973568511c95
Author: David Green <david.green at arm.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/reassocmls.ll
Log Message:
-----------
[AArch64][GlobalISel] Reassociate add sub mul. (#180753)
This is a port of performSubAddMULCombine from D143143. The mid end will
reassociate sub(sub(x, m1), m2) to sub(x, add(m1, m2)). This
reassociates it back to allow the creation of more mls instructions.
Commit: 4a4ab28f94bdc7f81903d65d87318e023393914e
https://github.com/llvm/llvm-project/commit/4a4ab28f94bdc7f81903d65d87318e023393914e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M lldb/source/Plugins/Highlighter/TreeSitter/CMakeLists.txt
A lldb/source/Plugins/Highlighter/TreeSitter/README.md
A lldb/source/Plugins/Highlighter/TreeSitter/Swift/CMakeLists.txt
A lldb/source/Plugins/Highlighter/TreeSitter/Swift/HighlightQuery.h.in
A lldb/source/Plugins/Highlighter/TreeSitter/Swift/SwiftTreeSitterHighlighter.cpp
A lldb/source/Plugins/Highlighter/TreeSitter/Swift/SwiftTreeSitterHighlighter.h
A lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/LICENSE
A lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/grammar.js
A lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/highlights.scm
A lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/scanner.c
A lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/tree-sitter.json
M lldb/unittests/Highlighter/CMakeLists.txt
M lldb/unittests/Highlighter/HighlighterTest.cpp
Log Message:
-----------
[lldb] Add tree-sitter based Swift syntax highlighting (#181297)
This adds tree-sitter based Swift syntax highlighting to LLDB. It
consists of the SwiftTreeSitterHighlighter plugin and the vendored Swift
grammar [1], which is licensed under MIT.
[1] https://github.com/alex-pinkus/tree-sitter-swift
Commit: ac545c7ea8c1afce005e7bdaa34e86d899509d9c
https://github.com/llvm/llvm-project/commit/ac545c7ea8c1afce005e7bdaa34e86d899509d9c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M libclc/CMakeLists.txt
M libclc/clc/lib/amdgcn/workitem/clc_get_global_offset.cl
M libclc/clc/lib/amdgcn/workitem/clc_get_work_dim.cl
M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_global_size.cl
M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_local_size.cl
Log Message:
-----------
libclc: Remove old clang version checks (#181701)
Commit: 3ea89622be1a54ad9da37ee13bc597d605906495
https://github.com/llvm/llvm-project/commit/3ea89622be1a54ad9da37ee13bc597d605906495
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Unbreak the build after f03ff95ce20f282db22b40997ee1daa01c01e581
Commit: 101f88aa99b83f904d709c96953098faf7f73991
https://github.com/llvm/llvm-project/commit/101f88aa99b83f904d709c96953098faf7f73991
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M libc/shared/rpc.h
M libc/shared/rpc_util.h
Log Message:
-----------
[libc] Fix move destruction double-freeing ports after move to RAII
Summary:
Recently I changed the interface to use RAII to close the ports. This
exposed a problem where the default move constructor was invoked in the
optional wrapping, this caused the destructor to fire twice on the
server, obviously causing havok. This PR changes the move destructor to
be deleted so this never happens again. Now everything is constructed
once and only references are allowed. The optional class had to be
fixed to properly set in_use so we run the destructor properly as well.
Commit: 140d65f138f2153b61a11a7eceabf8b1b99b7c9b
https://github.com/llvm/llvm-project/commit/140d65f138f2153b61a11a7eceabf8b1b99b7c9b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M libc/shared/rpc.h
M libc/shared/rpc_dispatch.h
M libc/shared/rpc_opcodes.h
M libc/shared/rpc_util.h
Log Message:
-----------
[libc][NFC] Fix comments and macros in the RPC interface
Summary:
Typos and missing include header guards should be fixed now.
Commit: 1f008b6b15a8b49559e6dbe8f9c4c4edcfa657c3
https://github.com/llvm/llvm-project/commit/1f008b6b15a8b49559e6dbe8f9c4c4edcfa657c3
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M lldb/include/lldb/Target/Target.h
Log Message:
-----------
[lldb/Target] Remove unused include
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 051fb5a1d01daa205356edf0197407fa1363acbc
https://github.com/llvm/llvm-project/commit/051fb5a1d01daa205356edf0197407fa1363acbc
Author: Eric Feng <55723758+efric at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/unittests/ADT/ArrayRefTest.cpp
Log Message:
-----------
[ADT] Remove misleading is_const check in MutableArrayRef constructor (#181758)
The `std::negation<std::is_const<C>>` check here seems semantically
inaccurate; we should care about whether the container provides mutable
element access, not the constness of the container itself. This was
already being checked but was previously being dropped prior to the
change from `const C&` to `C&` in
https://github.com/llvm/llvm-project/pull/181190. That was sufficient in
itself to fix the referenced issue
https://github.com/llvm/llvm-project/issues/181176
---------
Signed-off-by: Eric Feng <Eric.Feng at amd.com>
Commit: e496e3c273b1d7bb6e4665748c1ade65926d5041
https://github.com/llvm/llvm-project/commit/e496e3c273b1d7bb6e4665748c1ade65926d5041
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/HostInfoBase.h
M lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
M lldb/unittests/ObjectFile/MachO/TestObjectFileMachO.cpp
Log Message:
-----------
[lldb][macOS] Index shared cache files by UUID & filename (#180874)
The shared cache index only had accessors for getting a file from a
shared cache by filename. In some environments like iOS Simulator, a
filename can be either the actual realpath name of the framework in an
SDK or simulator runtime install location, or rooted on / like
/System/LibraryFrameworks/SwiftUI.framework. Because the searches for
binaries were by filename, this divergence would be a problem. However,
searching for binaries by the binary's UUID can remove that ambiguity.
I changed HostInfoMacOSX's store of SharedCacheImageInfo's to have a
std::vector of all of the SharedCacheImageInfo's in a shared cache. Then
I create a mapping of filename-to-SharedCacheImageInfo* and a mapping of
UUID-to-SharedCacheImageInfo*, both pointing into the now-frozen
std::vector. I added a HostInfo::GetSharedCacheImageInfo method to fetch
an entry by shared-cache UUID + file UUID, in addition to the previous
shared-cache UUID + filename.
Have HostInfoMacOSX store the filenames it gets from the libdyld SPI in
ConstStrings to make it clear that they have infinite lifetime in the
process, and we don't need to do anything further.
rdar://148939795
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 0667781abfe55cb112e99e950bf6030aa102388f
https://github.com/llvm/llvm-project/commit/0667781abfe55cb112e99e950bf6030aa102388f
Author: Nico Weber <thakis at chromium.org>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/tsan/rtl/BUILD.gn
Log Message:
-----------
[gn] port a591a44653ea
Commit: 942f5fbb51b82a6a465547eb8de6f02ccfc8a277
https://github.com/llvm/llvm-project/commit/942f5fbb51b82a6a465547eb8de6f02ccfc8a277
Author: Nico Weber <thakis at chromium.org>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
Log Message:
-----------
[gn] port 4a4ab28f94bdc7
Commit: ab3d742f6f3f78533a208788ae00c019bbc13b33
https://github.com/llvm/llvm-project/commit/ab3d742f6f3f78533a208788ae00c019bbc13b33
Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
A libc/config/gpu/spirv/entrypoints.txt
A libc/config/gpu/spirv/headers.txt
M libc/include/llvm-libc-macros/math-macros.h
M libc/include/llvm-libc-macros/signal-macros.h
M libc/include/llvm-libc-macros/time-macros.h
M libc/include/llvm-libc-types/fenv_t.h
M libc/shared/rpc_util.h
M libc/src/__support/macros/properties/architectures.h
M libc/src/__support/macros/properties/cpu_features.h
M libc/src/__support/time/gpu/time_utils.cpp
M libc/src/__support/time/gpu/time_utils.h
M llvm/CMakeLists.txt
Log Message:
-----------
[libc] Add basic support for building SPIR-V libraries (#181049)
This is to add support to build libc for building with spirv backend,
for use with OpenMP kernels
Commit: 0065a55cb9b2b2919cf58d69b54927cc26d3edb2
https://github.com/llvm/llvm-project/commit/0065a55cb9b2b2919cf58d69b54927cc26d3edb2
Author: Nico Weber <thakis at chromium.org>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Analysis/Scalable/BUILD.gn
Log Message:
-----------
[gn] port some of 6b75eaea794f6
Needed for 1a7c110dfc92e.
Commit: 7806a0b699acc654844d0332283d6370d47bb689
https://github.com/llvm/llvm-project/commit/7806a0b699acc654844d0332283d6370d47bb689
Author: Jie Fu <jiefu at tencent.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[CodeGen] Silence a warning (NFC)
llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:4665:12:
error: unused variable 'NumElts' [-Werror,-Wunused-variable]
unsigned NumElts = DemandedElts.getBitWidth();
^
1 error generated.
Commit: b37174efc0a5296f3a5b6f4c14d5820772e2d928
https://github.com/llvm/llvm-project/commit/b37174efc0a5296f3a5b6f4c14d5820772e2d928
Author: Arun Thangamani <arun.thangamani at intel.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/X86Vector/Utils/X86VectorUtils.h
M mlir/lib/Dialect/X86Vector/Transforms/VectorContractBF16ToFMA.cpp
M mlir/lib/Dialect/X86Vector/Transforms/VectorContractToPackedTypeDotProduct.cpp
M mlir/lib/Dialect/X86Vector/Utils/X86VectorUtils.cpp
M mlir/test/Dialect/X86Vector/vector-contract-bf16-to-fma.mlir
M mlir/test/Dialect/X86Vector/vector-contract-to-packed-type-dotproduct.mlir
Log Message:
-----------
[mlir][x86vector] Shuffle BF16 vector.contract output for Flat layout. (#174590)
This patch shuffles the output of a `bf16` type `non-vnni` packed
`vector.contract` operation (`flat` layout). The output of the
contraction operation is shuffle to match the `flat` layout, before get
stored in the `acc` matrix.
Following this transform schedule, the `vector.contract` will be lowered
to one of the following operations:
- x86vector::DotBF16Op with `B` matrix shuffled to compensate the `flat`
layout (supported as part of this PR), or
- vector.fma with loads + broadcast using `bf16` packed operations
(supported as part of this PR).
Commit: a65c4f4d2b84b5a80ffc7ae2fb19781258167952
https://github.com/llvm/llvm-project/commit/a65c4f4d2b84b5a80ffc7ae2fb19781258167952
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
Log Message:
-----------
[lldb][windows] deactivate unicode tests on Windows (#181698)
https://github.com/llvm/llvm-project/pull/181143 introduced a regression
in Windows build bots, which is due to some Unicode characters not being
rendered properly.
The proper fix is to be able to configure the characters that are
rendered, and to force them to be ascii characters.
Commit: fb41009de5739b7f8a6a188c6da30464c1f71168
https://github.com/llvm/llvm-project/commit/fb41009de5739b7f8a6a188c6da30464c1f71168
Author: LukeZhuang <lukebloodytears at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
A llvm/test/CodeGen/RISCV/riscv-scavenge-crash-2nd-pass-rv32.mir
A llvm/test/CodeGen/RISCV/riscv-scavenge-crash-2nd-pass-rv64.mir
Log Message:
-----------
[RISCV] Add test cases showing RegisterScavenger crash (#181537)
Commit: f978a7d023a224d3efc6af5e4ae31bd6b24e622b
https://github.com/llvm/llvm-project/commit/f978a7d023a224d3efc6af5e4ae31bd6b24e622b
Author: Chris Cotter <ccotter14 at bloomberg.net>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_adaptive_delay.cpp
M compiler-rt/lib/tsan/rtl/tsan_adaptive_delay.h
Log Message:
-----------
[tsan] Only init AdaptiveDelay if enabled (#181757)
In #178836, while refactoring from a virtual class design to a
non-virtual design, the logic ended up such that AdaptiveDelayImpl was
always constructed, even if the adaptive delay feature was not enabled.
Adaptive delay itself was always disabled if the flag was off, this just
prevents the ctor from running at all.
@dvyukov
Commit: 530c938485d7c4119e8df3f57e288f9f20a183cd
https://github.com/llvm/llvm-project/commit/530c938485d7c4119e8df3f57e288f9f20a183cd
Author: Vito Secona <77039267+secona at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
Log Message:
-----------
[mlir][sparse][nfc] replace sparse_tensor.pointers in docs (#181636)
The `-sparse-tensor-conversion` and `-sparse-tensor-codegen`
descriptions use `sparse_tensor.pointers` which doesn't exist. It
was renamed to `sparse_tensor.positions`.
Commit: c985f285e4911affa46ea79e21263cbaf4c8322f
https://github.com/llvm/llvm-project/commit/c985f285e4911affa46ea79e21263cbaf4c8322f
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/allocatable_gpu_reduction.mlir
Log Message:
-----------
[OMPIRBuilder] Hoist alloca's to entry blocks of compiler-emitted GPU reduction functions (#181359)
Fixes a bug in GPU reductions when `-O0` was used to compile GPU
reductions. There were invalid memory accesses at runtime for the
following example:
```fortran
program test_array_reduction()
integer :: red_array(1)
integer :: i
red_array = 0
!$omp target teams distribute parallel do reduction(+:red_array)
do i = 1, 100
red_array(1) = red_array(1) + 4422
end do
!$omp end target teams distribute parallel do
print *, red_array
end program test_array_reduction
```
The issue was caused by alloca's for some temp values in the combiner
region of the reduction op being inlined beyond the entry blocks of the
GPU reduction functions emitted by the compiler.
This PR fixes the issue by hoisting all alloca's to the entry block
after the reduction functions are completely emitted by the compiler.
Commit: 2b4a462e9533159b7cca82aff50e077738463ea6
https://github.com/llvm/llvm-project/commit/2b4a462e9533159b7cca82aff50e077738463ea6
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/EXPInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/i1-copy.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wqm.demote.ll
M llvm/test/CodeGen/AMDGPU/atomic-optimizer-strict-wqm.ll
M llvm/test/CodeGen/AMDGPU/divergent-branch-uniform-condition.ll
M llvm/test/CodeGen/AMDGPU/dual-source-blend-export.ll
M llvm/test/CodeGen/AMDGPU/expand-waitcnt-profiling.ll
M llvm/test/CodeGen/AMDGPU/group-image-instructions.ll
M llvm/test/CodeGen/AMDGPU/i1-copy-from-loop.ll
M llvm/test/CodeGen/AMDGPU/imm.ll
M llvm/test/CodeGen/AMDGPU/issue98474-need-live-out-undef-subregister-def.ll
M llvm/test/CodeGen/AMDGPU/kill-infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.bvh.stack.push.pop.rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.compr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.prim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kill.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.demote.ll
M llvm/test/CodeGen/AMDGPU/load-local-redundant-copies.ll
M llvm/test/CodeGen/AMDGPU/memory_clause.ll
M llvm/test/CodeGen/AMDGPU/required-export-priority.ll
M llvm/test/CodeGen/AMDGPU/ret.ll
M llvm/test/CodeGen/AMDGPU/scheduler-rp-calc-one-successor-two-predecessors-bug.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-cf-kill.ll
M llvm/test/CodeGen/AMDGPU/si-scheduler-exports.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/subreg-coalescer-crash.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
M llvm/test/MC/AMDGPU/exp-gfx10.s
M llvm/test/MC/AMDGPU/exp-gfx11.s
M llvm/test/MC/AMDGPU/exp-pregfx11.s
M llvm/test/MC/AMDGPU/exp.s
M llvm/test/MC/AMDGPU/gfx10_asm_exp.s
M llvm/test/MC/AMDGPU/gfx11_asm_exp.s
M llvm/test/MC/AMDGPU/gfx12_asm_exp.s
M llvm/test/MC/AMDGPU/gfx7_asm_exp.s
M llvm/test/MC/AMDGPU/gfx8_asm_exp.s
M llvm/test/MC/AMDGPU/gfx9_asm_exp.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_exp.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_exp.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_exp.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_exp.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_exp.txt
Log Message:
-----------
[AMDGPU] Add missing comma between export target and first export data (#181641)
The new format matches the official ISA spec and ensures the
disassembler prints 'export mrt0, v0, off, off, off' instead of 'export
mrt0 v0, off, off, off'.
No functional encoding changes; printing/AsmString only.
Commit: 89eb7329bfad4b5096edee93fcf907542704ce7b
https://github.com/llvm/llvm-project/commit/89eb7329bfad4b5096edee93fcf907542704ce7b
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/DSDIRInstructions.td
A llvm/test/MC/AMDGPU/gfx13_asm_vdsdir.s
A llvm/test/MC/AMDGPU/gfx13_asm_vdsdir_alias.s
Log Message:
-----------
[AMDGPU] Add VDSDIR encoding to gfx13 (#181620)
Commit: 6f0759d5687eb81d775c590512bdc876b390d7c8
https://github.com/llvm/llvm-project/commit/6f0759d5687eb81d775c590512bdc876b390d7c8
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/test/Transforms/SafeStack/X86/byval.ll
M llvm/test/Transforms/SafeStack/X86/setjmp2.ll
Log Message:
-----------
[SafeStack] Use ptrmask instead of ptrtoint+and+inttoptr (#181649)
Use the provenance-preserving ptrmask intrinsic instead of
ptrtoint+and+inttoptr for pointer alignment.
Commit: 5933294bb1a81bfb00a3cd04cee274dcebfc575a
https://github.com/llvm/llvm-project/commit/5933294bb1a81bfb00a3cd04cee274dcebfc575a
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/test/CodeGen/AMDGPU/lower-module-lds-all-indirect-accesses.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-indirect-extern-uses-max-reachable-alignment.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-precise-allocate-to-module-struct.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-single-var-ambiguous.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-single-var-unambiguous.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-zero-size-arr.ll
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
Log Message:
-----------
[AMDGPULowerLDS] Avoid unnecessary ptrtoint/inttoptr roundtrip (#181671)
Store pointers instead of integers in the table, and load them as
pointers.
Commit: 86bd00348e5a47b4f87b03d0be78879ed4fd7f52
https://github.com/llvm/llvm-project/commit/86bd00348e5a47b4f87b03d0be78879ed4fd7f52
Author: Takuto Ikuta <tikuta at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Sema/SemaAvailability.cpp
A clang/test/Modules/GH170429.cpp
Log Message:
-----------
[Clang][Modules] Ensure global diagnostic overrides are respected in system modules (#180684)
When a template is instantiated from a system module, the
location-specific
diagnostic state (from 'Diag.GetDiagStateForLoc(Loc)') often has
'SuppressSystemWarnings' set to true because the location itself is
within
a system header defined by the module map.
Clang provides mechanisms like 'AllowWarningInSystemHeaders' RAII
(used for deprecated warnings in 'SemaAvailability.cpp') that are
intended
to temporarily override this suppression. Previously, this was done by
modifying the current diagnostic state's 'SuppressSystemWarnings' bit.
However, since 'getDiagnosticSeverity' checks the state associated with
the
diagnostic's location, this current-state override was ignored for code
inside system modules.
This patch introduces a new 'ForceSystemWarnings' flag in
'DiagnosticsEngine'
that acts as a global, non-hermetic override.
'AllowWarningInSystemHeaders'
now uses this flag. 'getDiagnosticSeverity' is updated to respect this
flag,
ensuring that intended overrides work even for diagnostics triggered
within
system modules.
Importantly, this preserves the hermeticity of explicit modules for
normal
compilation: a user passing '-Wsystem-headers' will not see unrelated
system
warnings from a module that was built with system warnings suppressed,
because '-Wsystem-headers' only modifies the initial 'DiagState' and not
the
global 'ForceSystemWarnings' flag.
The included test 'GH170429.cpp' verifies:
1. Deprecated warnings from system modules are shown during
user-triggered instantiation.
2. Warnings with 'ShowInSystemHeader' (e.g., -Wdelete-non-virtual-dtor)
continue to work.
3. Hermeticity of explicit modules is preserved: unrelated warnings
suppressed during
module build (e.g., -Wextra-semi) remain suppressed even if the user
compiles with
-Wsystem-headers.
Fixes #170429
Commit: 9637a9665d27f5a241c0ab3170112f03f1e2e868
https://github.com/llvm/llvm-project/commit/9637a9665d27f5a241c0ab3170112f03f1e2e868
Author: Sohaib Iftikhar <sohaibiftikhar at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR|BUILD] Fix for #174590 (#181785)
[MLIR|BUILD] Fix for #174590
Commit: d189201d17c0ff5b9837e75b79bca281f4b6821a
https://github.com/llvm/llvm-project/commit/d189201d17c0ff5b9837e75b79bca281f4b6821a
Author: jay0x <90309873+blazie2004 at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/test/Semantics/OpenMP/nested_parallel_sections_valid.f90
M flang/test/Semantics/OpenMP/workshare04.f90
M flang/test/Semantics/OpenMP/workshare05.f90
Log Message:
-----------
[Flang][OpenMP] Fix nested PARALLEL SECTIONS validation (#179419)
### Problem
Flang’s OpenMP semantic checker was mistakenly rejecting valid nested
constructs such as PARALLEL SECTIONS, PARALLEL DO, and other combined
parallel work-sharing directives.
The checker treated all work-sharing constructs identically and enforced
the work-sharing region nesting rules, even for a combined parallel
work-sharing construct that defined its own parallel region.
This resulted in the checker reporting the use of nested PARALLEL
SECTIONS within another parallel region as illegal OpenMP code
### Fixes: https://github.com/llvm/llvm-project/issues/179250
---------
Co-authored-by: Jay Satish Kumar Patel <kumarpat at pe31.hpc.amslabs.hpecorp.net>
Commit: d72bc0903ff001264027963f34963a13bb914185
https://github.com/llvm/llvm-project/commit/d72bc0903ff001264027963f34963a13bb914185
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
Log Message:
-----------
AMDGPU: Use fpmath metadata on f16 log/log10 intrinsics (#180489)
result by default, and the old expansion with the afn flag. The
old result was good enough for OpenCL conformance, so consider
the fpmath metadata and use the fast path. This is done in
AMDGPUCodeGenPrepare for the same reason that sqrt is handled here,
which is the DAG does not have a way to access fpmath metadata
from the original instruction.
This is not yet of practical use, because the log calls sourced
from OpenCL are not actually marked with this metadata and there
isn't a method to produce it from the source languages.
Commit: 4fd9c1fccb0308d63bf6c18c03fd1409de7423e8
https://github.com/llvm/llvm-project/commit/4fd9c1fccb0308d63bf6c18c03fd1409de7423e8
Author: Sohaib Iftikhar <sohaibiftikhar at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR|BUILD] Fix for #174590 (2) (#181786)
Also adds the dependency to `X86VectorUtils` which was missed in the
previous fix.
Commit: 48a1652eb63cb77ae563bb11f4c48bf90e7914d5
https://github.com/llvm/llvm-project/commit/48a1652eb63cb77ae563bb11f4c48bf90e7914d5
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/addp-shuffle.ll
M llvm/test/CodeGen/AArch64/arm64-trn.ll
M llvm/test/CodeGen/AArch64/arm64-uzp.ll
Log Message:
-----------
[AArch64] optimize manual addp (#181549)
add patterns for 64-bit `addp` and `faddp`
```
vpadd_s16_intrin:
addp v0.4h, v0.4h, v1.4h
ret
vpadd_s16_manual:
uzp1 v2.4h, v0.4h, v1.4h
uzp2 v0.4h, v0.4h, v1.4h
add v0.4h, v2.4h, v0.4h
ret
```
So, add some logic to catch the deinterleaving shuffle and convert to
`addp`.
Commit: d2d620d4beafa53acfab6d689214913705776aa6
https://github.com/llvm/llvm-project/commit/d2d620d4beafa53acfab6d689214913705776aa6
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
A llvm/test/MC/ARM/thumb-state-on-hidden-func.s
Log Message:
-----------
[MC][ARM] Don't set funcs to Thumb as a side effect of .hidden (#181156)
When assembling a source file which switches between Arm and Thumb state
using `.arm` and `.thumb`, if you defined a function in Arm state and
mark it as hidden at dynamic link time using `.hidden`, but don't
actually issue the `.hidden` directive until you have switched back to
Thumb state, then the function would be accidentally marked as Thumb as
a side effect of making it hidden.
This happened in `ARMELFStreamer::emitSymbolAttribute`, and the comment
suggests that it was semi-deliberate: it was intended to happen as a
side effect of `.type foo,%function`, because the function label might
have already been defined without a type, and shouldn't be marked as
Thumb until it's known that it's a function. But I think it was an
accident that the same behavior also applies to any other addition of a
symbol attribute, such as `.hidden`: the call to `setIsThumbFunc` was
conditioned on whether the symbol has function type after setting the
attribute, not whether function type was the attribute _actually being
set_. So if you set the symbol to function type and _then_ use
`.hidden`, the condition would match again.
Fixes #180358, in which this came up in real-world code: rustc's IR
output included a top-level function in the form of inline asm, defined
in Arm state, and marked it as hidden via the LLVM IR `declare`, so that
LLVM didn't emit the `.hidden` directive until after it had switched
back to Thumb state.
The new test case includes a check for the _intended_ behavior of the
code in `emitSymbolAttribute`, to confirm that that still works.
Commit: d7f32f1fbf83da2faa4acdcaf2a4d4885a2d068c
https://github.com/llvm/llvm-project/commit/d7f32f1fbf83da2faa4acdcaf2a4d4885a2d068c
Author: Richard Dzenis <richard at dzenis.dev>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/AST/Stmt.cpp
M clang/lib/Basic/ParsedAttrInfo.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
Log Message:
-----------
[clang] Fix some static initialization race-conditions (#181367)
- clang/StaticAnalyzer: fix static init in findKnownClass. Prior to this patch two threads running in findKnownClass could result in a race condition.
- clang/Stmt: fix StmtClassNameTable array initialization: prior to this patch there was a race condition when two threads check`if(Initialized)` at the same time.
- clang/ParsedAttrInfo: fix race condition in getAttributePluginInstances. Prior to this patch two threads could enter `if(empty())` check.
- clang/CodeGen: correctly restore diagnostic handler in HandleTranslationUnit. Prior to this patch an early exit from HandleTranslationUnit could result in not restoring previous diagnostic handler.
Commit: 48210ccbe58ef7b9799e1b9fc89edb2fe2ebc6bf
https://github.com/llvm/llvm-project/commit/48210ccbe58ef7b9799e1b9fc89edb2fe2ebc6bf
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/Sema/warn-lifetime-safety-fixits.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
Log Message:
-----------
[LifetimeSafety] Correctly place lifetimebound attr in corner cases (#181699)
Closes https://github.com/llvm/llvm-project/issues/180344.
Commit: 5375d3c7f5693cce4f401c04c2163df0b9d94bed
https://github.com/llvm/llvm-project/commit/5375d3c7f5693cce4f401c04c2163df0b9d94bed
Author: David Spickett <david.spickett at arm.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/include/lldb/Utility/AnsiTerminal.h
M lldb/unittests/Utility/AnsiTerminalTest.cpp
Log Message:
-----------
[lldb] Improve ansi::OutputWordWrappedLines (#181165)
This PR fixes a few issues including one that prevented the use of
llvm::StringRef. Follow up to #180947.
Some behaviour for rarely seen inputs has been defined. For example
empty strings. In normal use with command descriptions we do not expect
this to happen, but now it's a utility function, it's easier to reason
about if we cover all possible inputs.
* Empty string in now results in an empty string out. Rather than a
single newline. This is less surprising, since no lines were split.
* Bugs were fixed in the handling of single word inputs. If a single
word cannot fit within the column limit we just print it unmodified.
* Leading spaces are trimmed from input and if that results in no text,
empty string is returned. Another unexpected input, but cheap to handle
and makes the rest of the code a bit simpler.
* llvm::StringRef is now used for the input text. This was enabled by
fixing a bug in checking whether end had reached final_end. I think the
previous logic caused us to read out of bounds by 1 byte sometimes.
* Some buggy test output has changed but this is fine, no one is relying
on that buggy behaviour.
Ultimately I may wipe out all these changes later with a new
implementaion, but I think it's a good approach to do this
incremenetally at first.
Commit: 93c93ff199a1a2b1c7beb74c966080793a0b1afd
https://github.com/llvm/llvm-project/commit/93c93ff199a1a2b1c7beb74c966080793a0b1afd
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTestMacroExpansion.cpp
Log Message:
-----------
[Format] Configure ASSIGN_OR_RETURN macros for Google style (#169037)
These macros are used by many of the Google projects, e.g.:
-
https://chromium.googlesource.com/chromium/src/+/133.0.6943.141/base/types/expected_macros.h#104
-
https://github.com/protocolbuffers/protobuf/blob/1477683618b83e07bb8ec1d19b718e0d4d5c8357/src/google/protobuf/stubs/status_macros.h#L62
---------
Co-authored-by: Daniel Jasper <djasper at google.com>
Commit: 1b0cbdb8e8a91e5aeb0698684d408aef2e47bc85
https://github.com/llvm/llvm-project/commit/1b0cbdb8e8a91e5aeb0698684d408aef2e47bc85
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/test/TableGen/HwModeBitSet.td
M llvm/test/TableGen/HwModeSubRegs.td
M llvm/utils/TableGen/RegisterBankEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[TableGen] Use standard name for default mode in debug printing (#181739)
In comments in generated files and in -register-info-debug output, use
the standard name "DefaultMode" for consistency, instead of hard coding
an alternative name "Default".
Commit: a6b7f42bc802dbc15940a829f8e52209385d4283
https://github.com/llvm/llvm-project/commit/a6b7f42bc802dbc15940a829f8e52209385d4283
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
M llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
M llvm/test/CodeGen/AArch64/replace-with-veclib-libmvec.ll
Log Message:
-----------
[CodeGen] Teach ReplaceWithVeclib to use correct calling convention (#180773)
We correctly replace calls to the LLVM intrinsic with the vector
math variant, but fail to also copy the calling convention. This
is important for veclibs such as ArmPL where the aarch64_vector_pcs
convention reduces the number of registers that need saving
across calls.
Commit: 64c32e709dea11dc44d3a9829320c07970f9f712
https://github.com/llvm/llvm-project/commit/64c32e709dea11dc44d3a9829320c07970f9f712
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Log Message:
-----------
[DSE] Separate DSEState methods to out-of-line declarations (NFC)
By the time `DSEState` evolved, the majority of the methods bodies
had grown inside the struct, interleaving declarations and logic.
Minor opportunity to improve readability by refactoring methods out
of the anonymous namespace, close to the exisiting ones.
Commit: 15057eb8ce6361bade6d2fe73d72ef8558351394
https://github.com/llvm/llvm-project/commit/15057eb8ce6361bade6d2fe73d72ef8558351394
Author: Andrei Elovikov <andrei.elovikov at sifive.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
A llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
Log Message:
-----------
[VPlan] Add VPlan-dump-based test for predication (#180794)
Commit: b7e54b933389a12ecd5990ed28f0efb87b082ab4
https://github.com/llvm/llvm-project/commit/b7e54b933389a12ecd5990ed28f0efb87b082ab4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticASTKinds.td
Log Message:
-----------
[clang][NFC] Remove unused diagnostic (#181790)
Commit: c15f71d279e3913ceba65e34d5834a5fc59f41a4
https://github.com/llvm/llvm-project/commit/c15f71d279e3913ceba65e34d5834a5fc59f41a4
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
Log Message:
-----------
[NFC][SPIRV] Remove `SPIRVType` from comments (#181652)
`SPIRVType` was deprecated and is being removed, so clean comments that
reference it.
In these contexts, `SPIRVType` used to mean _"a SPIRV type"_.
Commit: 2b90b630bb081d1ba9348ef2b60f26841142e159
https://github.com/llvm/llvm-project/commit/2b90b630bb081d1ba9348ef2b60f26841142e159
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/test/CodeGen/X86/win_cst_pool.ll
Log Message:
-----------
[LLVM][CodeGen] Add suppport for vector ConstantInt/FP to scalarConstantToHexString. (#180978)
Commit: 74044a797eaed56fad32ffff22cd3304d836ef7a
https://github.com/llvm/llvm-project/commit/74044a797eaed56fad32ffff22cd3304d836ef7a
Author: DEBADRIBASAK <32904247+DEBADRIBASAK at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
A clang/test/Sema/warn-lifetime-safety-cfg-bailout.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Add bailout for large CFGs (#170444)
This PR introduces a flag for setting a threshold size for CFG blocks
above which lifetime safety analysis will skip processing those CFGs.
The major contributor of compilation time increase due to lifetime
safety analysis is the costly join operation during loan propagation.
This can be avoided at the cost of introducing some false negatives by
ignoring some large CFG blocks.
The `block-size-threshold` flag accepts an integer value which serves as
the threshold. CFG blocks with size above this threshold are ignored.
This value is only used if an integer > 0 is passed to it. By default it
is set to 0 and no CFG blocks are skipped during analysis. The CFG block
size refers to the number of facts associated with a CFG block. This PR
also adds a debug-only option that dumps the sizes of CFG blocks
associated with an analysis context:
Example output (for `llvm-project/llvm/lib/Demangle/Demangle.cpp`):
With different values for `MaxCfgBlocks` the values for
`task-clock:uppp_event` are as follows (the files are taken from there
top files
[here](https://llvm-compile-time-tracker.com/compare_clang.php?from=128eacfaba78162c944c073270db02e237b7b851&to=e39caf5a04aadf6053470b7843a4d987250083f1&stat=instructions%3Au&sortBy=absolute-difference))
| | CompilerInvocation.cpp | | | SemaARM.cpp | | | X86ISelLowering.cpp |
| |
|:---------------:|:----------------------:|:----------------------:|:----------------------:|:--------------:|:------------------------:|:----------------------:|:-------------------:|:-----------------------:|:-----------------------:|
| | No bailout | >5000 | >1000 | No bailout | >5000 | >1000 | No bailout
| >5000 | >1000 |
| Total Time | 27,143,500,000 | 27,108,750,000 (-0.1%) | 27,058,000,000
(-0.3%) | 13,819,750,000 | 13,807,750,000 (-0.086%) | 13,790,500,000
(-0.2%) | 49,580,250,000 | 49,248,500,000 (-0.67%) | 49,422,000,000
(-0.42%) |
| Lifetime Safety | 97,000,000 | 95,500,000 (-1.5%) | 91,250,000 (-5.9%)
| 68,750,000 | 64,500,000 (-6.18%) | 63,750,000 (-7.27%) | 131,500,000 |
130,250,000 (-0.9%) | 124,500,000 (-5.3%) |
Commit: cdaeecabf73705616236f8f8a328b2d8b9134c65
https://github.com/llvm/llvm-project/commit/cdaeecabf73705616236f8f8a328b2d8b9134c65
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
Log Message:
-----------
[VPlan] Only remove backedge if IV is still incremented by VFxUF.
After 6f253e87dd, VFxUF may have been replaced by UF, in which case the
simplification is no longer correct. Tighten check to make sure the
increment is still what we expect.
Fixes a miscompile in the added test case.
Commit: 2b4da2e2a8b8e41521355698a62a975f75806bcd
https://github.com/llvm/llvm-project/commit/2b4da2e2a8b8e41521355698a62a975f75806bcd
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
Log Message:
-----------
[LV] Update predicator.ll test checks.
VPlan printing output changed on main before patch was merged.
Regenerate check lines.
Commit: 3f73c86909caca7ffc0d8f306f401bc6fc6ec70e
https://github.com/llvm/llvm-project/commit/3f73c86909caca7ffc0d8f306f401bc6fc6ec70e
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/source/Target/Target.cpp
M lldb/unittests/Expression/ExpressionTest.cpp
Log Message:
-----------
[lldb][Target][NFC] Update error messages according to LLVM-coding style (#181795)
The [LLVM coding style
guide](https://llvm.org/docs/CodingStandards.html#error-and-warning-messages)
says:
> start the first sentence with a lowercase letter, and finish the last
sentence
> without a period
This patch updates the erorr messages added in
https://github.com/llvm/llvm-project/pull/179208 accordingly.
(addresses
https://github.com/llvm/llvm-project/pull/179208#issuecomment-3912273053)
Commit: 0b5b306b3e3762fb1826064d60462b702e869334
https://github.com/llvm/llvm-project/commit/0b5b306b3e3762fb1826064d60462b702e869334
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
R lld/test/wasm/large-debug-section.test
R lld/test/wasm/large-section.test
R lld/test/wasm/section-too-large.test
M lld/wasm/InputChunks.h
M lld/wasm/OutputSections.cpp
Log Message:
-----------
Revert "[lld][Webassembly] Avoid a signed overflow on large sections (#178287)"
This reverts commit c703f5a1632973dd6eade473614dfbed1b088d9e.
I have reverted this change as it was failing lld arm 32bit buildbot.
https://lab.llvm.org/staging/#/builders/160/builds/1189
Commit: cc76b20ec4eea8196d934d8f853a3d6d06d02f1d
https://github.com/llvm/llvm-project/commit/cc76b20ec4eea8196d934d8f853a3d6d06d02f1d
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
Log Message:
-----------
[lldb][test] TestQuitWithProcess: Increase timeout to fix ARM flakiness (#181660)
TestQuitWithProcess.py is randomly failing on Arm Linux buildbot. The
test validates LLDB's ability to quit cleanly killing active processes
with a timeout value set to 15 seconds which could be insufficient for
any resource limited platforms under heavy load.
This patch increase the timeout to 30 seconds to accommodate any
resource limits.
https://lab.llvm.org/buildbot/#/builders/18/builds/24801
Commit: 7d010cb9cf5df683aef9d3325b026721f3309170
https://github.com/llvm/llvm-project/commit/7d010cb9cf5df683aef9d3325b026721f3309170
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/Maintainers.md
Log Message:
-----------
Move Stanislav Gatev to the inactive maintainers list (#180939)
While reaching out to folks for a maintainers list refresh, Stanislav
asked to step down due to other commitments. Thank you for all your
help!
Commit: 47a969ef889c9e244dfb34e6a4c4dbb5bf03ea60
https://github.com/llvm/llvm-project/commit/47a969ef889c9e244dfb34e6a4c4dbb5bf03ea60
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/DAPForward.h
M lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/DAPTypes.cpp
M lldb/tools/lldb-dap/Protocol/DAPTypes.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/ProtocolUtils.cpp
M lldb/tools/lldb-dap/ProtocolUtils.h
M lldb/tools/lldb-dap/SBAPIExtras.h
M lldb/tools/lldb-dap/Variables.cpp
M lldb/tools/lldb-dap/Variables.h
M lldb/unittests/DAP/DAPTypesTest.cpp
M lldb/unittests/DAP/ProtocolRequestsTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/DAP/VariablesTest.cpp
Log Message:
-----------
[lldb-dap] Refactor variablesReference storage and scope management. (#179262)
This commit refactors the Variables class into a
VariableReferenceStorage with variableReferences of different
ReferenceKinds.
The variablesReference is now a uint32_t.
The most significant byte (bits 24 - 31) holds the reference kind and
the remaining 3 bytes (bits 0 -23) holds the actual reference.
We have (at the moment) 3 reference kinds.
Temporary => 0b0000 => 0x00
Permanent => 0b0001 => 0x01
Scope => 0b0010 => 0x03
The actual variablesReference can be used to get a `VariableStore`.
VariableStore holds variables in a group.
It has two implementations:
- ScopeStore: Holds variables within frame scopes (locals, globals,
registers). This is lazy-loaded and only fetched when variable(s) in the
scope is requested.
- ExpandableValueStore: Holds SBValue and fetches it's variable children
when requested.
ReferenceKindPool:
The variablesReference created starts from 1 with the mask of the
Reference kind applied.
It holds vector of VariableStore of one Referencekind,
This allows constant lookup of a reference
Example:
```md
| maskedVariablesReference | Mask | variablesReference | RefrenceKind | VariableStore |
|--------------------------|------|--------------------|--------------|---------------|
| 20 -> 0x00000014 | 0x00 | 20 -> 0x00000014 | temporary | ValueStore |
| 268435476 -> 0x01000014 | 0x01 | 20 -> 0x00000014 | permanent | ValueStore |
| 536870932 -> 0x01000014 | 0x02 | 20 -> 0x00000014 | scope | ScopeStore |
```
Commit: 900778e40dd77685cd3d7f8a784fc830c2a76a34
https://github.com/llvm/llvm-project/commit/900778e40dd77685cd3d7f8a784fc830c2a76a34
Author: Fedor Nikolaev <fridrixnm at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/unittests/Target/AArch64/AArch64SelectionDAGTest.cpp
Log Message:
-----------
[DAG] isKnownToBeAPowerOfTwo - add DemandedElts + OrZero handling to ISD::SELECT/VSELECT cases (#181753)
Pass DemandedElts and OrZero arguments through SELECT/VSELECT nodes when
checking if values are power-of-two.
Add unit tests for scalar SELECT (OrZero) and vector VSELECT
(DemandedElts + OrZero).
Resolves #181645
Commit: 0e1cc6138e8e0380e35cda1217df69666f10561d
https://github.com/llvm/llvm-project/commit/0e1cc6138e8e0380e35cda1217df69666f10561d
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M offload/test/lit.cfg
Log Message:
-----------
[Offload][test] Use just-compiled lld and llvm-symbolizer (#181793)
In a bootstrapping build with LLVM_ENABLE_PROJECTS=lld, the lld
executable will be found in LLVM's bin/ directory. But `check-offload`
will currently ignore it because the JIT plugin will look for `lld` in
`$PATH`. Similarly, the sanitizer tests require llvm-symbolizer during
execution to FileCheck the expected stack trace.
Add the llvm tools directory to `$PATH` so tests can use lld and
llvm-symbolizer in it. It should be prefered over a system-installed
lld/llvm-symbolizer.
Fixes the JIT and sanitizer tests of
[openmp-offload-amdgpu-clang-flang](https://lab.llvm.org/staging/#/builders/105).
Commit: 0106783f0306604d5c4bd35e2d32273f03f77fbb
https://github.com/llvm/llvm-project/commit/0106783f0306604d5c4bd35e2d32273f03f77fbb
Author: AidinT <at.aidin at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/CMakeLists.txt
A mlir/include/mlir/Target/LLVMIR/LLVMTranslationDialectInterface.td
M mlir/include/mlir/Target/LLVMIR/LLVMTranslationInterface.h
M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
Log Message:
-----------
[MLIR] convert LLVMTranslationDialectInterface using ODS (#181391)
This PR converts LLVMTranslationDialectInterface using ODS
Commit: c88d2bc3f3e4a4e310196c4e6f73f511c8dc9ade
https://github.com/llvm/llvm-project/commit/c88d2bc3f3e4a4e310196c4e6f73f511c8dc9ade
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/tools/lldb-dap/Variables.h
Log Message:
-----------
[lldb-dap] Fix missing ampersand in the deleted constructor (#181818)
Fails to compile when cross compiling
Commit: 19dbbee8d05ea972f079bbb92b9797a7079055cb
https://github.com/llvm/llvm-project/commit/19dbbee8d05ea972f079bbb92b9797a7079055cb
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopInterchange/interchangeable.ll
M llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
M llvm/test/Transforms/LoopInterchange/phi-ordering.ll
M llvm/test/Transforms/LoopInterchange/pr43176-move-to-new-latch.ll
M llvm/test/Transforms/LoopInterchange/pr45743-move-from-inner-preheader.ll
M llvm/test/Transforms/LoopInterchange/reduction2mem.ll
M llvm/test/Transforms/LoopInterchange/update-condbranch-duplicate-successors.ll
Log Message:
-----------
[LoopInterchange] Update tests generated by UTC (NFC) (#181804)
Update the LoopInterchange tests that use UTC to generate assertions, in
order to avoid irrelevant changes during other developments. Most of the
changes are simply the result of re-running UTC, but this patch also
includes a few additional minor adjustments by hand:
- Rename IR value names to suppress warnings by UTC.
- Delete `NOTE: Assertions have been ...` from the test file that
actually doesn't use UTC.
- Delete unnecessary `-pass-remarks-missed=...`.
- Add a store instruction for an unused GEP result, which could
otherwise affect other developments.
Commit: 9a0861e27950447d7a73057bf19b91d7199c6d6c
https://github.com/llvm/llvm-project/commit/9a0861e27950447d7a73057bf19b91d7199c6d6c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/semanticly-same.ll
Log Message:
-----------
[SLP] semanticly-same.ll - regenerate tests to reduce diff in #181731 (#181819)
Commit: 7be392e0ea13f96aae8e7082a3c0206e09cd2f03
https://github.com/llvm/llvm-project/commit/7be392e0ea13f96aae8e7082a3c0206e09cd2f03
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
M clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
Log Message:
-----------
[clang][ssaf] Fix building on gcc-7 and MinGW/Cygwin (#181812)
So we had two problems:
1) gcc-7 does not fully support C++17 mandatory NRVO, so we need
an explicit std::move in return statements to workaround this.
2) MinGW/Cygwin is picky about extern templates; this actually bit me
once, so I'll think about how to mitigate in long term, but for now
just add the missing declarations.
Reported in:
https://github.com/llvm/llvm-project/pull/180021#issuecomment-3912981241
https://github.com/llvm/llvm-project/pull/180021#issuecomment-3914252777
Commit: 19a6a2810ee35724a5967f7780242dbfd677283e
https://github.com/llvm/llvm-project/commit/19a6a2810ee35724a5967f7780242dbfd677283e
Author: Samrudh Nelli <samrudhnelli at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaInit.cpp
M clang/test/AST/ByteCode/constexpr.c
M clang/test/Sema/constexpr.c
Log Message:
-----------
[clang] Fix crashes when initializing constexpr int* with floating-point (#180376)
Call isNullPointer() only when we are sure that Rvalue is a pointer.
Fixes #180313
---------
Co-authored-by: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Commit: 75aa83c0c035a7a10f0f48355c93858f003b8e4e
https://github.com/llvm/llvm-project/commit/75aa83c0c035a7a10f0f48355c93858f003b8e4e
Author: DaKnig <37626476+DaKnig at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
Log Message:
-----------
[SDAG] foldSelectToABD - canonicalize compare of abd (#180952)
Commit: 4f92cf9599c4077c08b7fac0a21624e55da572f9
https://github.com/llvm/llvm-project/commit/4f92cf9599c4077c08b7fac0a21624e55da572f9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
A llvm/test/CodeGen/X86/combine-clmul.ll
Log Message:
-----------
[X86] combine-clmul.ll - pull out canonicalization tests from #177566 (#181820)
Commit: 7c1d517ebe7ae9347c8598bfccb16d92d1752862
https://github.com/llvm/llvm-project/commit/7c1d517ebe7ae9347c8598bfccb16d92d1752862
Author: anoopkg6 <anoop.kumar6 at ibm.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrFP.td
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/test/CodeGen/SystemZ/builtin-setjmp-spills.ll
M llvm/test/CodeGen/SystemZ/fp-move-02.ll
A llvm/test/CodeGen/SystemZ/remat.ll
Log Message:
-----------
[SystemZ] Enable rematerialization for scalar loads (#179838)
We can avoid the unnecessary spill by marking loads as rematerializable
and just directly loading from where the argument was originally passed
on the stack. TargetTransformInfo::isReMaterializableImpl checks to make
sure that any loads are MI.isDereferenceableInvariantLoad(), so we
should be able to move the load down to the remat site.
Related: [#166774](https://github.com/llvm/llvm-project/pull/166774)
---------
Co-authored-by: anoopkg6 <anoopkg6 at github.com>
Commit: f560e4cfb1f9d3c71d7617f6e54f54eeba9f3239
https://github.com/llvm/llvm-project/commit/f560e4cfb1f9d3c71d7617f6e54f54eeba9f3239
Author: Ferran Toda <ferran.todacasaban at bsc.es>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
A flang/test/Lower/OpenMP/fuse01.f90
A flang/test/Lower/OpenMP/fuse02.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Dialect/OpenMP/cli-fuse.mlir
A mlir/test/Dialect/OpenMP/invalid-fuse.mlir
A mlir/test/Target/LLVMIR/openmp-cli-fuse01.mlir
A mlir/test/Target/LLVMIR/openmp-cli-fuse02.mlir
A openmp/runtime/test/transform/fuse/do-looprange.f90
A openmp/runtime/test/transform/fuse/do.f90
Log Message:
-----------
[MLIR][OpenMP] Add omp.fuse operation (#168898)
This patch is a follow-up from #161213 and adds the omp.fuse loop
transformation for the OpenMP dialect. Used for lowering a `!$omp fuse`
in Flang.
Added Lowering and end2end tests.
Commit: 9991a5fb45cf49a2d07e98872dc6920b17d026d1
https://github.com/llvm/llvm-project/commit/9991a5fb45cf49a2d07e98872dc6920b17d026d1
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/include/llvm/Support/BlockFrequency.h
M llvm/lib/Support/BlockFrequency.cpp
Log Message:
-----------
[BlockFrequency] Add operator<< overload (#181703)
This makes it more convenient to debug BFI issues.
Commit: 09a06156864497f6810549464a98b25b3735577a
https://github.com/llvm/llvm-project/commit/09a06156864497f6810549464a98b25b3735577a
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
Log Message:
-----------
[VPlan] Simplify worklist in reassociateHeaderMask. NFC (#181595)
Addresses review comments from
https://github.com/llvm/llvm-project/pull/180898#pullrequestreview-3791945590.
We don't need to recursively collect direct users of the header mask, we
can do that as a separate step so that the main worklist loop only
handles potentially reassociatable candidates.
Also add back mention of tail folding to comment and a TODO.
Commit: db547e8846c9830f6843d41c310f8f707a470914
https://github.com/llvm/llvm-project/commit/db547e8846c9830f6843d41c310f8f707a470914
Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/openmp-offload-gpu.c
Log Message:
-----------
[Clang][OpenMP][Driver] Make linker to link Device RTL when built for SPIRV (#180066)
This is to make linker to link ompdevice library when building for
OpenMP using SPIRV
Commit: ef52df43653b1e941a494d0915137c7559c7c9cd
https://github.com/llvm/llvm-project/commit/ef52df43653b1e941a494d0915137c7559c7c9cd
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/external-bin-op-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-reduced.ll
M llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation4.ll
Log Message:
-----------
[SLP]Do not increase depth for type-changing nodes and NotProfitableForVectorization removal
The patch changes the maximum tree size analysis. 1. Do not increase
depth for type changing nodes (like casts and compares), allowing more
deeper trees to be built. 2. Removes NotProfitableForVectorization
workaround, not needed anymore after throttling enabled
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/180950
Commit: 34c535ba02a7ffb512dd03bc4e5ff8471c494f5d
https://github.com/llvm/llvm-project/commit/34c535ba02a7ffb512dd03bc4e5ff8471c494f5d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Minor code cleanup in RegisterInfoEmitter (#181479)
Minor cleanup in codegen for `getSubClassWithSubReg` and
`getSubRegisterClass`:
- Use `getMinimalTypeForRange` to determine the entry type for table.
- Extract common code for table lookup into a lambda.
Commit: 2297964799f14a97f9c007d3b88682cc000e8fe6
https://github.com/llvm/llvm-project/commit/2297964799f14a97f9c007d3b88682cc000e8fe6
Author: Sohaib Iftikhar <sohaibiftikhar at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR|BUILD] Fix for #181391 (#181833)
Commit: 5317575dd53bdb6f97a93109721d7e2dd00b17a1
https://github.com/llvm/llvm-project/commit/5317575dd53bdb6f97a93109721d7e2dd00b17a1
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M offload/test/lit.cfg
Log Message:
-----------
Reapply x2 "[Offload][lit] Link against SPIR-V DeviceRTL if present" (#181429)
The change to `llvm-zorg` to start building the DeviceRTL for SPIR-V on
our builder finally got taken by the infra, so we can merge this now.
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 3bfe8216210674b298ccf3fce7642ca04981c7a9
https://github.com/llvm/llvm-project/commit/3bfe8216210674b298ccf3fce7642ca04981c7a9
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/source/Core/ThreadedCommunication.cpp
Log Message:
-----------
[lldb][windows] handle ERROR_INVALID_HANDLE error (#181809)
On Windows, `ThreadedCommunication::ReadThread` can fail with
`ERROR_INVALID_HANDLE` when the ConPTY is closed. Currently it's not
caught, causing the `ReadThread` to continue forever because `done` is
never set to `true`. This causes an infinite hang.
Commit: b849b641511a04fb3ffbb7549895268cc79e5b46
https://github.com/llvm/llvm-project/commit/b849b641511a04fb3ffbb7549895268cc79e5b46
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/riscv-scavenge-crash-2nd-pass-rv32.mir
M llvm/test/CodeGen/RISCV/riscv-scavenge-crash-2nd-pass-rv64.mir
Log Message:
-----------
[RISCV] Use -filetype=null in riscv-scavenge-crash-2nd-pass-rv*.mir tests. NFC
Commit: 20e32ececd08347a8f5d169487d824de30990bae
https://github.com/llvm/llvm-project/commit/20e32ececd08347a8f5d169487d824de30990bae
Author: Dark Steve <Prasoon.Mishra at amd.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
A llvm/test/CodeGen/AMDGPU/si-pre-emit-peephole-preserve-loop-info.mir
Log Message:
-----------
[AMDGPU] Teach SIPreEmitPeephole pass to preserve MachineLoopInfo (#178868)
`optimizeVccBranch` in `SIPreEmitPeephole` performs CFG modifications
(i.e converting conditional branches to unconditional) which can
invalidate `MachineLoopInfo`. This patch incrementally updates `MLI`
before each `removeSuccessor()` call; if the edge being removed is the
last back-edge to a loop header, the loop is destroyed from `MLI`
(blocks and subloops are reparented to the parent loop).
Commit: 897173ec7d2036d9b8b9d24690c2ed82865f5bfc
https://github.com/llvm/llvm-project/commit/897173ec7d2036d9b8b9d24690c2ed82865f5bfc
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
Log Message:
-----------
[SPIRV] Fix `SPIRVTypeInst` `DenseMapInfo` implementation (#181667)
The previous `DenseMapInfo` implementation was wrong.
The new implementation relies completely on
`DenseMapInfo<MachineInst*>`'s. To do this, we use "tag dispatch" to
call a special constructor only accessible by `DenseMapInfo` that
bypasses the assertion when building the empty/tombstone keys.
Commit: e50bed6da4e783cb84190f8148d7b60e2ee7440c
https://github.com/llvm/llvm-project/commit/e50bed6da4e783cb84190f8148d7b60e2ee7440c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M libc/test/UnitTest/FEnvSafeTest.cpp
M libc/test/include/complex_test.cpp
M libc/test/integration/src/__support/GPU/fixedstack_test.cpp
M libc/test/integration/src/__support/GPU/match.cpp
M libc/test/integration/src/__support/GPU/scan_reduce.cpp
M libc/test/integration/src/__support/GPU/shuffle.cpp
M libc/test/integration/src/stdio/gpu/printf_test.cpp
M libc/test/integration/src/stdlib/gpu/malloc_stress.cpp
M libc/test/integration/startup/gpu/init_fini_array_test.cpp
M libc/test/integration/startup/gpu/rpc_interface_test.cpp
M libc/test/integration/startup/gpu/rpc_test.cpp
M libc/test/src/stdio/fopen_test.cpp
M libc/test/src/stdlib/strtof_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/time/mktime_test.cpp
Log Message:
-----------
[libc] Fix warnings for the GPU test suite (#181763)
Summary:
A lot of fixes mostly around unused variables.
Commit: a1701fe17fe6b639944e9f9c2166d44e9fea185c
https://github.com/llvm/llvm-project/commit/a1701fe17fe6b639944e9f9c2166d44e9fea185c
Author: Koakuma <koachan at protonmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/Sparc/SparcInstrAliases.td
M llvm/test/MC/Sparc/sparc-vis3.s
Log Message:
-----------
[SPARC][IAS] Add lzd alias for lzcnt (#179487)
This is used in e.g GMP assembly code.
Commit: 3787aa12c5b37d3073276e009ec211a0c1006843
https://github.com/llvm/llvm-project/commit/3787aa12c5b37d3073276e009ec211a0c1006843
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/test/Analysis/fixed-address-notes.c
M clang/test/Analysis/suppress-dereferences-from-any-address-space.c
Log Message:
-----------
[analyzer] Suppress core.FixedAddressDereference reports with volatile pointee (#181644)
In short, those who use `volatile` probably know better their own
hardware, so let's not bother them with FPs.
Note that dereferencing NULL pointers will still be reported, because
that's the core.NullDereference checker's responsibility.
See the discussion motivating this change:
https://discourse.llvm.org/t/what-are-the-precise-semantics-of-the-address-space-attribute/89752/9
Also relates to
https://github.com/llvm/llvm-project/pull/132404#issuecomment-3816874305
rdar://170466245
Commit: 304d763325ad7fed305ee647542c87e8e8afee3f
https://github.com/llvm/llvm-project/commit/304d763325ad7fed305ee647542c87e8e8afee3f
Author: David Green <david.green at arm.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-indexed-memory.ll
A llvm/test/CodeGen/AArch64/arm64_32-indexed-memory.ll
Log Message:
-----------
[AArch64][GlobalISel] Split arm64-indexed-memory.ll into arm64_32-indexed-memory.ll and extend tests. NFC
This helps to keep the tests focussed, showing more clearly the differences
between the GISel and SDAG. The arm64_32 tests are separated out into a new
file.
Some i8->i16 tests have also been added and zext variants of some sext tests.
Commit: c34238890c0bf6c3c3ff97254be05bdee9841415
https://github.com/llvm/llvm-project/commit/c34238890c0bf6c3c3ff97254be05bdee9841415
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-pmadd.ll
Log Message:
-----------
[X86] combine widening `shl` + adjacent addition into `VPMADDWD` (#179326)
I added an optimization for `VPMADDWD` earlier in
https://github.com/llvm/llvm-project/pull/174149. That one is used in
the adler32 checksum. That PR missed another pattern, used in base64
decoding, that uses a `shl` instead of a `mul`, but also should optimize
to `VPMADDWD`.
To make the shift semantically equal to the multiplication case, I'm
bailing on shifts by more than 15, because `1 << 16` is not
representable in an `i16`.
code-wise I suspect that I'm missing some convenient way to access the
integer values of a constant vector.
Commit: aab9412a69a07787e9ec98b25709d709b7b537a6
https://github.com/llvm/llvm-project/commit/aab9412a69a07787e9ec98b25709d709b7b537a6
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Strengthen materializeFactors with assert (NFC) (#181665)
This fixes a TODO.
Commit: 7018ddfb985210df2c4a64b23a2beba3294904be
https://github.com/llvm/llvm-project/commit/7018ddfb985210df2c4a64b23a2beba3294904be
Author: Andrei Elovikov <andrei.elovikov at sifive.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/RISCV/runtime-check-dependent-on-stride.ll
Log Message:
-----------
[NFC][VPlan] Test showing that unit-stride-mv should be done later in pipeline (#180292)
Right now memory dependencies checks and speculation for unit-strideness
are performed somewhat simultaneously. This is wrong because:
* Ideally, if accesses aren't unit-strided in runtime we might want to
take a version with gather/strided load (longer term). Those two loops
should share legality checks and the dispatch based on stride should
only happen after the legality condition has been satisfied.
* Even if we don't generate multiple vector loops (current situation),
not vectorizing at all is worse than generating gather-only vector loop.
This PR adds a test for the latter as that could be a first step in
adding full support for the former.
This isn't target-specific, but gathers aren't supported in generic
target and result in very ugly scalarized code/CHECKs, hence put the
test under RISCV/.
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: 24fad91ca90835981c56cdb958a1f683bd111bd1
https://github.com/llvm/llvm-project/commit/24fad91ca90835981c56cdb958a1f683bd111bd1
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen_UDR.cpp
M clang/test/OpenMP/for_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/sections_reduction_task_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
Log Message:
-----------
[Clang] Regenerate test checks (NFC)
To reduce spurious diffs in future changes.
Commit: 73e7eb4e7914a02b6dd4ca80e87b8dc895e9850b
https://github.com/llvm/llvm-project/commit/73e7eb4e7914a02b6dd4ca80e87b8dc895e9850b
Author: Justice Adams <jadams23 at apple.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M .ci/green-dragon/relay-clang-stage2-sanitizers.groovy
M .ci/green-dragon/relay-clang-stage2-thinlto.groovy
M .ci/green-dragon/relay-lnt-ctmark.groovy
M .ci/green-dragon/relay-test-suite-verify-machineinstrs.groovy
Log Message:
-----------
[green dragon] limit relay jobs to prevent concurrent builds (#181854)
Limit the relay jobs to prevent eating up infra resources
Commit: ff30eabc79aafeeb24871279e3faf6b484b62018
https://github.com/llvm/llvm-project/commit/ff30eabc79aafeeb24871279e3faf6b484b62018
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ScalarizeMaskedMemIntr][ProfCheck] Correctly annotate branch weights (#181568)
There are two cases in ScalarizeMaskedMemIntr where conditional branches
are created using conditionals derived from the mask. Given these are
synthesized ad we do not have VP metadata for them, we need to mark them
as unknown.
Commit: 1ed85c7976ce8ec0873c310efbdec3f65d711a94
https://github.com/llvm/llvm-project/commit/1ed85c7976ce8ec0873c310efbdec3f65d711a94
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/test/CIR/CodeGen/ret-attrs.cpp
Log Message:
-----------
[NFC] Remove forgotten self-reminder comment that is no longer relevant (#181849)
Commit: dfc54694fa369cca9db3881ab66b63518f3391d6
https://github.com/llvm/llvm-project/commit/dfc54694fa369cca9db3881ab66b63518f3391d6
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
A mlir/lib/Dialect/OpenACC/Transforms/ACCDeclareGPUModuleInsertion.cpp
M mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
A mlir/test/Dialect/OpenACC/acc-declare-gpu-module-insertion.mlir
Log Message:
-----------
[mlir][acc] Add pass to insert acc declare globals into GPU module (#181383)
Adds a new OpenACC pass that copies globals with the `acc.declare`
attribute into the GPU module so that device code (acc routine, compute
regions) can reference them.
---------
Co-authored-by: Susan Tan <zujunt at nvidia.com>
Commit: fb46677a858697afa116c4252e84050a07bc6a70
https://github.com/llvm/llvm-project/commit/fb46677a858697afa116c4252e84050a07bc6a70
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
M clang/test/Analysis/misc-ps-eager-assume.m
Log Message:
-----------
[NFC][analyzer] Remove StmtNodeBuilder (#181431)
The class `StmtNodeBuilder` was practically equivalent to its base class
`NodeBuilder` -- its data members and constructors were identical and
the only distinguishing feature was that it supported two additional
methods that were not present in `NodeBuilder`.
This commit moves those two methods to `NodeBuilder` (there is no reason
why they cannot be defined there) and replaces all references to
`StmtNodeBuilder` with plain `NodeBuilder`.
Note that previously `StmtNodeBuilder` had a distinguishing feature
where its destructor could pass nodes to an "enclosing node builder" but
this became dead code somewhen in the past, so my previous commit
320d0b5467b9586a188e06dd2620126f5cb99318 removed it.
Commit: 03ad6549fcc49bcdc3c93cad293e603f2d05e96c
https://github.com/llvm/llvm-project/commit/03ad6549fcc49bcdc3c93cad293e603f2d05e96c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/funnel-shift.ll
M llvm/test/CodeGen/X86/funnel-shift.ll
Log Message:
-----------
[DAGCombiner] Combine (fshl A, X, Y) | (shl X, Y) --> fshl (A|X), X, Y (#180887)
Similar for (fshr X, B, Y) | (srl X, Y) --> fshr X, (X|B), Y
This is similar to the FSHL/FSHR handling in
hoistLogicOpWithSameOpcodeHands but here we treat a shl/shr like a
fshl/fshr with 0.
The pattern doesn't require X to be the same in both sides, but that's
what occurred in the case I was looking at so that's what is
implemented.
Alive2: https://alive2.llvm.org/ce/z/eUou-u
Commit: 7131244f383161b000b36da60df63dfbb22b3a52
https://github.com/llvm/llvm-project/commit/7131244f383161b000b36da60df63dfbb22b3a52
Author: Muzammiluddin Syed <muzasyed at amd.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUOps.cpp
M mlir/test/Dialect/AMDGPU/canonicalize.mlir
Log Message:
-----------
[mlir][AMDGPU] Allow packing of exactly 4 elements. (#181843)
`amdgpu.scaled_mfma` ops ingest byte sized scales stored in 4-byte
registers. To avoid unnecessary padding (where we only ever use the
first byte in this 4-byte register), this canonicalization finds
opportunities to enable packing multiple scales into 4-byte chunks
whenever possible. Note this is necessary but not sufficient to avoid
byte loads from LDS.
This canonicalization should try to pack scales that are extracted from
an alloc in shared mem of size 4 bytes or larger (meaning packing to 4
bytes is possible). Currently we bail out if it is exactly 4 bytes long
which is incorrect and fixed in this PR.
---------
Signed-off-by: Muzammiluddin Syed <muzasyed at amd.com>
Commit: d3e683cabf908d6594721d2dc4a799cafad825ab
https://github.com/llvm/llvm-project/commit/d3e683cabf908d6594721d2dc4a799cafad825ab
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lld/ELF/Arch/SystemZ.cpp
M lld/test/ELF/systemz-tls-ld.s
Log Message:
-----------
[ELF][SystemZ] Fix R_390_TLS_LDO32/64 in non-SHF_ALLOC sections
These can appear in .debug_info so, like other architectures (e.g.
X86_64), we still need to handle them in getRelExpr.
Fixes: aec1c984266c ("[ELF] Add target-specific relocation scanning for SystemZ (#181563)")
Commit: 8a491301eea5ec217503a6df9445efc183357150
https://github.com/llvm/llvm-project/commit/8a491301eea5ec217503a6df9445efc183357150
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
R flang/test/Lower/OpenMP/Todo/omp-declare-simd.f90
Log Message:
-----------
[NFC][Flang][OpenMP] Remove obsolete declare simd lowering TODO test (#181756)
The TODO test for Flang OpenMP `declare simd` lowering is no longer
needed, as the lowering was implemented in
https://github.com/llvm/llvm-project/pull/175604.
Commit: 60e50a4729c54f21c21ed1c42c9b1cfe9c83bdb6
https://github.com/llvm/llvm-project/commit/60e50a4729c54f21c21ed1c42c9b1cfe9c83bdb6
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
Log Message:
-----------
[CIR] Fix handling of boolean builtin expressions (#181444)
Previously we were generating a signed 1-bit integer constant for
builtin expressions that returned a boolean value. This caused a
verification error of mismatched types when we tried to store this
constant result to a pointer-to-bool location. This change adds a check
for boolean types.
Commit: 5addddf8f1e54eadbe9ffaadcda8b2a168e2d51c
https://github.com/llvm/llvm-project/commit/5addddf8f1e54eadbe9ffaadcda8b2a168e2d51c
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts][NFC] Move soft xcnt deletion to separate function (#181760)
This patch simplifies the logic of `insertWaitcntInBlock()` by moving
the code that removes the redundant soft xcnt instructions to a new
function: `removeRedundantSoftXcnts()`.
While doing so, this patch also cleans up the logic a bit by dropping
the AtomiRMWState and the corresponding functions.
This helps in several ways:
- insertWaitcntInBlock() will now do what its name suggests, i.e., only
insert and not remove.
- it makes it clear that removal of softxcnts is orthogonal to insertion
of waitcnts.
- we won't have to worry about both erased and new instruction in
insertWaitcntInBlock()'s loop.
The change should be NFC.
Commit: 3c32747a7c8d964d26484f9a64ed7a0f3c2170b3
https://github.com/llvm/llvm-project/commit/3c32747a7c8d964d26484f9a64ed7a0f3c2170b3
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M flang-rt/unittests/Runtime/CUDA/DefaultStream.cpp
M flang/include/flang/Optimizer/Builder/CUDAIntrinsicCall.h
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/module/cuda_runtime_api.f90
Log Message:
-----------
[flang][cuda] Lower set/get default stream (#181775)
Commit: 1229c23723f82cd9e940516ff55721b29d2b8c07
https://github.com/llvm/llvm-project/commit/1229c23723f82cd9e940516ff55721b29d2b8c07
Author: Nathan Gauër <brioche at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/test/CodeGenHLSL/semantics/semantic.explicit-mix-builtin.vs.hlsl
A clang/test/CodeGenHLSL/semantics/semantic.nested.vs.hlsl
Log Message:
-----------
[Clang][HLSL] Fix struct semantic store (#181681)
The store to a nested semantic had an issue we the field index was not
increased when walking through it.
One of the check-in test was bad, causing this to slip by.
Fixes #181674
Commit: a166de9d43be7cefd0ed28471f7766a2b4c7fcc9
https://github.com/llvm/llvm-project/commit/a166de9d43be7cefd0ed28471f7766a2b4c7fcc9
Author: Giorgio Marletta <57546456+giorgio-marletta at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/MCA/InstrBuilder.cpp
M llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-forwarding.s
A llvm/test/tools/llvm-mca/RISCV/Andes45/zero-reg.s
Log Message:
-----------
[llvm-mca] Missing data dependencies due to constant registers not being cached (#177990)
Commit 385f59f modified MCA InstrBuilder methods `populateReads` and
`populateWrites` to discard information about constant registers and
avoid creating non-existent dependency chains.
However, information about reads and writes is cached based on
instruction descriptions. In this way, if the same instruction is
encountered multiple times with (before) and without (after) a constant
register, the cached entry will not contain information about that
specific register, resulting in missing data dependencies.
This patch moves the check of constant registers to `createInstruction`,
so that cached entries will also take into account constant registers
and, if necessary, they will be discarded later when creating the
instruction.
Commit: ade05a3ae234160a0ccc8b071d31ecbb7931d64e
https://github.com/llvm/llvm-project/commit/ade05a3ae234160a0ccc8b071d31ecbb7931d64e
Author: Yi Zhang <cathyzhyi at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] fix #181383 (#181867)
fix #181383
Commit: 49571d59a9c235bc0ca1ab29b42c18850e72c1ae
https://github.com/llvm/llvm-project/commit/49571d59a9c235bc0ca1ab29b42c18850e72c1ae
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
Log Message:
-----------
Fix Bazel build for dfc5469 (#181868)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: a4962c477c4d23a20aac0ff85afdda19e8f15404
https://github.com/llvm/llvm-project/commit/a4962c477c4d23a20aac0ff85afdda19e8f15404
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/test/CIR/CodeGen/no-odr-use.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func-cast.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func-cmp.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
Log Message:
-----------
[CIR] Fix emission of functions referenced by member-pointer (#181452)
While working on attributes for these, I discovered that when a function
was referenced only via a member function pointer (see no-odr-use.cpp
test for the example that failed!), that we were incorrectly generating
the type of the function to not include the 'this' pointer. This
restores that behavior by making sure we generate the type for the
member-pointer type correctly.
Commit: 1d57656549fa894b884e4c4d695750acab6378de
https://github.com/llvm/llvm-project/commit/1d57656549fa894b884e4c4d695750acab6378de
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
Log Message:
-----------
[NFC][CodeGen] Add braces for else per LLVM coding standard (#181750)
Add braces for else bodies if the if body has braces.
Commit: 26f944bb50b0f585ba1be805368a987ad5543a07
https://github.com/llvm/llvm-project/commit/26f944bb50b0f585ba1be805368a987ad5543a07
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/revec-non-pow2.ll
Log Message:
-----------
[SLP]Fix an ArrayRef out-of-bounds access in slice
If the revec is enabled, may have the number of parts (registers) for
the combined node, not a single element node, so need to check for
potential out-of-bounds access
Fixes #181798
Commit: 99263d55748ffb6c9e768dbe505fd9404a860993
https://github.com/llvm/llvm-project/commit/99263d55748ffb6c9e768dbe505fd9404a860993
Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/openmp-offload-gpu.c
Log Message:
-----------
Revert "[Clang][OpenMP][Driver] Make linker to link Device RTL when built for SPIRV" (#181876)
Reverts llvm/llvm-project#180066
Commit: 46ed6201cc3a39b66404bb04fb84f6cec658a9a7
https://github.com/llvm/llvm-project/commit/46ed6201cc3a39b66404bb04fb84f6cec658a9a7
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
R llvm/test/CodeGen/AArch64/fp16_i16_intrinsic_scalar.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_1op.ll
Log Message:
-----------
[AArch64][GlobalISel] Remove fallbacks for fpcvt intrinsics with 16-bit operands (#179693)
Previously, GlobalISel failed to lower neon fpcvt intrinsics, as
RegBankSelect was not keeping the result on a fpr.
An additional fix is needed for the fpcvtz intrinsics, as these are the
"default" floating point convert intrinsics. As a result, Instruction
Selection has patterns mapping the FPCVTZ intrinsic to the
architecture-agnostic G_FP_TO*I_SAT node.
This also provides the opportunity for more optimisations to be made to
the code before Selection.
Commit: 3dd1a3ddcb757fa92a18fa504383fc4481bc2d43
https://github.com/llvm/llvm-project/commit/3dd1a3ddcb757fa92a18fa504383fc4481bc2d43
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
M lldb/test/API/commands/target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py
M lldb/test/API/functionalities/postmortem/netbsd-core/TestNetBSDCore.py
M lldb/test/Shell/Register/Core/x86-32-linux-multithread.test
M lldb/test/Shell/Register/Core/x86-32-netbsd-multithread.test
M lldb/test/Shell/Register/Core/x86-64-linux-multithread.test
M lldb/test/Shell/Register/Core/x86-64-netbsd-multithread.test
M lldb/unittests/Process/elf-core/ThreadElfCoreTest.cpp
Log Message:
-----------
[LLDB][ELF CORE] Only display a stop reason when there is a valid signo (#172781)
This patch fixes where ELF cores will report all threads as `STOP REASON
0`.
This was/is a large personal annoyance of mine; added a test to verify a
default elf core process/thread has no valid stop reason.
Commit: a5aaa9dc63ce6ce5ce4f90bdb882a361294a262c
https://github.com/llvm/llvm-project/commit/a5aaa9dc63ce6ce5ce4f90bdb882a361294a262c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
Log Message:
-----------
[SLP]Convert compares from zexts, promoted to selects, to inversed op, if improves codegen
Some of the zext i1 (cmp) + select sequences can be transformed by
inverting compare predicates to remove extra shuffles, like
zext 1 (cmp ne) + select (cmp eq), 0, 2 can be modeled as select <2
x > (cmp ne), <1, 2>, zeroinitializer
Reviewers: RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/181580
Commit: e09a5874401af2a28d8cd42d12921fd9a2066fd1
https://github.com/llvm/llvm-project/commit/e09a5874401af2a28d8cd42d12921fd9a2066fd1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/unittests/Highlighter/HighlighterTest.cpp
Log Message:
-----------
[lldb] Add test for Swift syntax highligher plugin (#181879)
Check that if tree-sitter support is enabled, the tree-sitter-swift
plugin is used for eLanguageTypeSwift. This part of the test
accidentally got lost during a conflict resolution.
Commit: 7edf569ce6cbfcd3d3831f34230edeb1c3390a6a
https://github.com/llvm/llvm-project/commit/7edf569ce6cbfcd3d3831f34230edeb1c3390a6a
Author: Ayokunle Amodu <ayokunle321 at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-setjmp-longjmp.c
Log Message:
-----------
[CIR] Upstream support for setjmp & longjmp builtins (#178989)
This adds support in CIR for the setjmp & longjmp builtins.
Commit: 1ce4d9411ab00925aec1aa6a70adcc3e1067511b
https://github.com/llvm/llvm-project/commit/1ce4d9411ab00925aec1aa6a70adcc3e1067511b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineSetCC - pull out repeated getTargetLoweringInfo calls. NFC. (#181873)
Commit: 4581b0890c33484f099d9c6a6d473192c97b976d
https://github.com/llvm/llvm-project/commit/4581b0890c33484f099d9c6a6d473192c97b976d
Author: Roy Shi <royitaqi at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
Log Message:
-----------
[gsymutil] Verify output string table size and address info offsets do not exceed 32-bit max (#181458)
Previously, https://github.com/llvm/llvm-project/pull/165940 fixed
llvm-dwarfdump and llvm-gsymutil so that they can correctly **consume**
>4GB dSYM. However, if the dSYM is large enough, `llvm-gsymutil` can
still **produce** invalid gSYM.
This change add validation into gsymutil, so that it will fail when the
output string table or address info offsets will exceed 32-bit max.
Similar to https://github.com/llvm/llvm-project/pull/165940, it may be
difficult to auto-test this change. For manual testing, I cannot find a
large enough dSYM for which the gSYM would hit the limits (I have a 9GB
dSYM which produces a 1.7GB gSYM). I'm open to ideas if anyone has any.
Commit: 51d128fb1efa443765ae04474ff43905d8719595
https://github.com/llvm/llvm-project/commit/51d128fb1efa443765ae04474ff43905d8719595
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
A clang/test/CodeGenHLSL/matrix_types.hlsl
Log Message:
-----------
[Matrix][HLSL] Allow memory layout to change via flags (#181866)
fixes #181859
This also fixes an issue introduced in
https://github.com/llvm/llvm-project/pull/179861
where we were doing the array vector layout in row major as DXC would
define it.
Commit: 7c4b8d827126461b305ef9d2885d4907704bef36
https://github.com/llvm/llvm-project/commit/7c4b8d827126461b305ef9d2885d4907704bef36
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
Log Message:
-----------
[X86] Add (_BitInt(128) & (1 << BitNo)) != 0 test coverage from #147216 (#181880)
Commit: 637d3dc1225e041ab020cd664e1d709099aa5f30
https://github.com/llvm/llvm-project/commit/637d3dc1225e041ab020cd664e1d709099aa5f30
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest.cpp
M llvm/include/llvm/Support/Registry.h
Log Message:
-----------
[clang][ssaf] Fix UB caused by missing virtual dtor of FormatInfoEntry (#181838)
In the `llvm::Registry` the `Add` will create a `unique_ptr` of the
desired derived type on the heap; then it puts it into the linked list
of base pointers.
Consequently, when destructing the registry, it needs to call the
matching dtor for the object, so that must be virtual.
In this patch, I fix it by marking it virtual, and also put a static
assert to prevent future mistakes of this kind.
FYI: The static assert must be in dependent context to ensure that `T`
is complete by the time hitting the static assert.
Fixes https://github.com/Quuxplusone/llvm-project/issues/51
Commit: 98c76d36432ccd85b88a82949391bd0ce7243bfd
https://github.com/llvm/llvm-project/commit/98c76d36432ccd85b88a82949391bd0ce7243bfd
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Model/BuildNamespace.h
M clang/include/clang/Analysis/Scalable/Model/EntityId.h
M clang/include/clang/Analysis/Scalable/Model/EntityIdTable.h
M clang/include/clang/Analysis/Scalable/Model/EntityLinkage.h
M clang/include/clang/Analysis/Scalable/Model/EntityName.h
M clang/include/clang/Analysis/Scalable/Model/SummaryName.h
M clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
M clang/include/clang/Analysis/Scalable/TUSummary/TUSummary.h
M clang/include/clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h
M clang/lib/Analysis/Scalable/CMakeLists.txt
A clang/lib/Analysis/Scalable/TUSummary/TUSummaryBuilder.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
M clang/unittests/Analysis/Scalable/Registries/MockTUSummaryBuilder.h
M clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp
A clang/unittests/Analysis/Scalable/TUSummaryBuilderTest.cpp
A clang/unittests/Analysis/Scalable/TestFixture.cpp
A clang/unittests/Analysis/Scalable/TestFixture.h
Log Message:
-----------
[clang][ssaf] Implement TUSummaryBuilder with test infrastructure (#181220)
Also adds a ssaf::TestFixture to provide access to the private fields of
the SSAF object for introspection.
Assisted-By: claude
rdar://168773578
Commit: 42618de278c275f5ee7f2ebf0d9691e488dd2474
https://github.com/llvm/llvm-project/commit/42618de278c275f5ee7f2ebf0d9691e488dd2474
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lld/wasm/Driver.cpp
M lld/wasm/InputChunks.cpp
M lld/wasm/InputFiles.cpp
M lld/wasm/Relocations.cpp
M lld/wasm/SymbolTable.cpp
M lld/wasm/SymbolTable.h
M lld/wasm/Symbols.cpp
M lld/wasm/Symbols.h
M lld/wasm/SyntheticSections.cpp
M lld/wasm/SyntheticSections.h
M lld/wasm/Writer.cpp
M lld/wasm/WriterUtils.cpp
Log Message:
-----------
[lld][WebAssembly] clang-format lld/wasm files. NFC (#181871)
This was originally done back in 2018 in 4821ebf73, and things seem to
have strayed a little since then.
I noticed this while reviewing #175800.
Commit: 98d8b69dfc8ac946e86085dbacc2f7fa72ce9c38
https://github.com/llvm/llvm-project/commit/98d8b69dfc8ac946e86085dbacc2f7fa72ce9c38
Author: Alexey Karyakin <akaryaki at qti.qualcomm.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
A llvm/test/CodeGen/Hexagon/expand-vecreduce-add.ll
A llvm/test/CodeGen/Hexagon/hvx-full-reduce.ll
A llvm/test/CodeGen/Hexagon/hvx-partial-reduce.ll
Log Message:
-----------
[Hexagon] Support partial reduction intrinsics (#179797)
This commit has changes necessary for using vrmpy instructions in full and partial multiply/add reductions on extended arguments. There are three main parts:
- partial reduction operations PARTIAL_REDUCE_(U|S|SU)MLA are lowered to accumulating vrmpy, including native and multiples of native vector sizes;
- full and partial reductions can be "split" into an inner partial reduction and a residual full or partial reduction. The inner reduction will be lowered to vrmpy due to the first change;
- vecreduce_add expansion is moved to Hexagon backend from a generic pass, accompanied by a set of tests.
In addition, there is a minor cleanup in HexagonTargetLowering::PerformDAGCombine().
Commit: d62cd1b89d7b4ae2e20b2643eda8c1f9bc09018a
https://github.com/llvm/llvm-project/commit/d62cd1b89d7b4ae2e20b2643eda8c1f9bc09018a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M offload/liboffload/API/Common.td
M offload/liboffload/README.md
M offload/liboffload/src/OffloadImpl.cpp
M offload/tools/deviceinfo/llvm-offload-device-info.cpp
M offload/unittests/Conformance/lib/DeviceContext.cpp
M offload/unittests/OffloadAPI/common/Environment.cpp
M offload/unittests/OffloadAPI/init/olInit.cpp
Log Message:
-----------
[Offload] Add argument to 'olInit' for global configuration options (#181872)
Summary:
This PR adds a pointer argument to the initialization routine to be used
for global options. Right now this is used to allow the user to
constrain which backends they wish to use.
If a null argument is passed, the same behavior as before is observed.
This is epxected to be extensible by forcing the user to encode the size
of the struct. So, old executables will encode which fields they have
access to.
We use a macro helper to get this struct rather than a runtime call so
that the current state of the size is baked into the executable rather
than something looked up by the runtime. Otherwise it would just return
the size that the (potentially newer) runtime would see
Commit: f26c9add3674172868b88b005855b81dba4a786c
https://github.com/llvm/llvm-project/commit/f26c9add3674172868b88b005855b81dba4a786c
Author: modiking <mmo at nvidia.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/scalar-to-vector.ll
Log Message:
-----------
[NVPTX] Add lowering for v2i32/v2f16/v2f32 scalar_to_vector operations (#175712)
#153478 revealed additional cases where these scalar_to_vector
operations can appear at the lowering stage. Generally the DAGCombiner
transforms these to something else. Without it running however these can
directly manifest (hence the unit test disabling DAGCombine for
simplicity) but we can map them directly to real instructions so add the
proper lowering.
Commit: 8f6866c9e9c9ed532e451d9c2dbc1d7a87a2d42b
https://github.com/llvm/llvm-project/commit/8f6866c9e9c9ed532e451d9c2dbc1d7a87a2d42b
Author: RattataKing <amilywu2 at amd.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/Globals.h
M mlir/include/mlir/Bindings/Python/IRAttributes.h
M mlir/lib/Bindings/Python/DialectAMDGPU.cpp
M mlir/lib/Bindings/Python/DialectNVGPU.cpp
M mlir/lib/Bindings/Python/DialectPDL.cpp
M mlir/lib/Bindings/Python/DialectQuant.cpp
M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
M mlir/lib/Bindings/Python/DialectTransform.cpp
M mlir/lib/Bindings/Python/Globals.cpp
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
M mlir/lib/Bindings/Python/Rewrite.cpp
Log Message:
-----------
[MLIR][Python] Clean remaining LLVM dependencies in MLIR-PY bindings (#181779)
This PR fixed
[issues](https://github.com/iree-org/iree/actions/runs/21956878131/job/63423389868#step:7:211)
caused by dropping `LLVMSupport` in PR #180986, dropped the remaining
direct llvm dependencies from mlir-python binding files.
Previously `LLVMSupport` was dropped while some uncleaned `mlir/CAPI/*`
sources were still being pulled into mlir-py, and those files still
directly depended on LLVM headers. The issue was masked via a global
`include_directories(${LLVM_INCLUDE_DIRS})` in `mlir/CMakeLists.txt`,
out-of-tree builds (e.g., IREE) that define Python module targets
outside the mlir/ directory tree would fail with "no such llvm file"
errors.
Commit: e7bad4ac4fc75da8dddec20c3c3f904ab0099496
https://github.com/llvm/llvm-project/commit/e7bad4ac4fc75da8dddec20c3c3f904ab0099496
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang-tools-extra/clangd/ScanningProjectModules.cpp
M clang/include/clang/DependencyScanning/DependencyScanningService.h
M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/Tooling/DependencyScanningTool.h
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningService.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
M clang/unittests/Tooling/DependencyScannerTest.cpp
Log Message:
-----------
[clang][deps] Make the service provide the VFS (#181424)
This PR makes it so that the base VFS used during a scan is provided to
the top-level service, not to each worker/tool individually. This
enables resolving a FIXME in the async-scan-modules mode of the scanner,
will clean up [downstream
code](https://github.com/swiftlang/llvm-project/blob/0eb56baa1d92190ed61c1a13caa1112e0f70b109/clang/tools/libclang/CDependencies.cpp#L619-L622),
and will make it more difficult to have mismatching VFSs across workers,
which may cause non-deterministic poisoning of
`DependencyScanningFilesystemSharedCache`.
Commit: 54c0f7bec9f83ed311b1967c30888e8ec787c3a2
https://github.com/llvm/llvm-project/commit/54c0f7bec9f83ed311b1967c30888e8ec787c3a2
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
Log Message:
-----------
[NFC] `const`-ify argument in `promoteInternals` (readability) (#181079)
Commit: de03ec740b22485e2b84234abbfdc3e67592b946
https://github.com/llvm/llvm-project/commit/de03ec740b22485e2b84234abbfdc3e67592b946
Author: Samrudh Nelli <samrudhnelli at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseExprCXX.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
Log Message:
-----------
[Clang] Fix incorrect mutability of decltype((x)) in lambda return types (#180690)
Previously, the parser did not update the lambda's mutability state
before parsing the trailing return type. This caused decltype((x)) to
incorrectly deduce a non-const reference even in a non-mutable lambda.
Fixes #180460
Commit: 1c6d774baad44fa758899e467cd24df80edc2e65
https://github.com/llvm/llvm-project/commit/1c6d774baad44fa758899e467cd24df80edc2e65
Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M offload/liboffload/API/Memory.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/unittests/OffloadAPI/memory/olMemRegister.cpp
Log Message:
-----------
[OFFLOAD] Extend olMemRegister API to handle cases when a memory block may have been mapped outside of liboffload. (#172226)
This PR adds extends liboffload olMemRegister API to handle a case when
a memory block may have been mapped before calling olMemRegister to
support some use cases in libomptarget
Commit: 5c518583d0b65228a88f41ea649bc867a33f8222
https://github.com/llvm/llvm-project/commit/5c518583d0b65228a88f41ea649bc867a33f8222
Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/Headers/__clang_cuda_complex_builtins.h
M clang/lib/Headers/openmp_wrappers/complex
M clang/lib/Headers/openmp_wrappers/complex.h
Log Message:
-----------
[OFFLOAD] Add headers to support complex math for spirv (#179846)
This is to add support for complex operations for OpenMP kernels when
compiled with spirv.
This is the first PR to add support for spirv in OpenMP wrapper headers
to reduce the size of PRs
Commit: 86d0a02e652b3058288a769400e678da0a806e8f
https://github.com/llvm/llvm-project/commit/86d0a02e652b3058288a769400e678da0a806e8f
Author: Prathamesh Tagore <63031630+meshtag at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M mlir/test/IR/visitors.mlir
M mlir/test/lib/IR/TestVisitors.cpp
Log Message:
-----------
[mlir][test-ir-visitors] Fix noSkipBlockErasure for blocks providing global context (#181320)
The pass checks if something is pointing to the current block in testNoSkipErasureCallbacks() inside noSkipBlockErasure() callback and erases it if no one is pointing to it. However, it doesn't consider the
case where the current block might be providing global context to other blocks in the same parent region even if no one is pointing to it (see the attached test for an example of this). Erasing this block would then lead to invalid IR. We solve this by dropping intra-block op uses from ops within the same parent region.
Fixes https://github.com/llvm/llvm-project/issues/178099
Commit: 74b8ca63cc0cd6bc802e9ee3310dffd953772513
https://github.com/llvm/llvm-project/commit/74b8ca63cc0cd6bc802e9ee3310dffd953772513
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/test/MC/RISCV/xrivosvisni-valid.s
Log Message:
-----------
[RISCV] Remove VMConstraint from ri.vzero.v (#181895)
This instruction doesn't have a VM operand.
It only has 1 operand, VD. The way the VMConstraint check is
implemented, if VD is V0 it would compare the last operand to V0. Since
the last operand is VD, this would always match and generate an error.
While I was here, move the encoding related let statements into the
class body for consistency with RISCVInstrInfoV.td.
Commit: 3a687813a6c93bf21309eeaa14547cf1f768d2e4
https://github.com/llvm/llvm-project/commit/3a687813a6c93bf21309eeaa14547cf1f768d2e4
Author: Simi Pallipurath <simi.pallipurath at arm.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/test/ClangScanDeps/P1689.cppm
M clang/test/ClangScanDeps/header_stat_before_open.m
M clang/test/ClangScanDeps/headerwithdirname.cpp
M clang/test/ClangScanDeps/headerwithdirnamefollowedbyinclude.cpp
M clang/test/ClangScanDeps/macro-expansions.cpp
M clang/test/ClangScanDeps/modules.cpp
M clang/test/ClangScanDeps/regular_cdb.cpp
M clang/test/ClangScanDeps/relative_directory.cpp
M clang/test/ClangScanDeps/subframework_header_dir_symlink.m
M clang/test/ClangScanDeps/target-filename.cpp
M clang/test/ClangScanDeps/vfsoverlay.cpp
M clang/test/Frontend/dependency-gen-phony.c
Log Message:
-----------
[clang][tests] Fix cross-build test failures on Darwin. (#181805)
Test failures started after
https://github.com/llvm/llvm-project/pull/178077 which introduced
Darwin-specific system checks in several tests, including checks for the
presence of SDKSettings.json.
These tests are intended to validate features in Clang’s driver that
require Clang to target a Darwin platform while running on a Darwin
host. Currently, their execution is gated by the REQUIRES: system-darwin
annotation.
This approach breaks down when running the tests on a cross-compiling
build of Clang on a Darwin host.
If the build does not include any Darwin targets, the tests will still
run (because the host is Darwin) but will fail spuriously due to the
absence of a Darwin target in the build.
This patch updates the affected tests by adding an additional constraint
to their REQUIRES annotation: target={{.*}}-(darwin|macos){{.*}}.
This ensures the tests only run when the build actually includes a
Darwin target.
Commit: 8f69cdd54219e8e84783c615649f810ee1abefad
https://github.com/llvm/llvm-project/commit/8f69cdd54219e8e84783c615649f810ee1abefad
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
Log Message:
-----------
[NFC] `CfiFunctions` are relevant when promoting from the original module only (#181080)
`CfiFunctions` contains only pointers to IR objects in the original
`Module`. When we `promoteInternals`, we try to find such pointers from
the first (exporting) module in the `CfiFunctions` set. That will always
fail (as in, no values will be found) in the first case, when the
exporting module is the merged module. This PR makes it more obvious
that the `CfiFunctions` set is only relevant for the second promotion.
Commit: fcf0fe74049847c1c303c4d674c13c3537e2e8dc
https://github.com/llvm/llvm-project/commit/fcf0fe74049847c1c303c4d674c13c3537e2e8dc
Author: Victor Mustya <victor.mustya at intel.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
Log Message:
-----------
[Clang][CMake] Fix header target creation (#180609)
The `add_header_target` function was using a `file_list` parameter that
was supposed to capture all the header files that should be added to the
interface library target. However, the parameter was only capturing the
first header file, and the rest of the header files were not being added
to the target properties. I.e. the `get_target_properties` command was
only returning the first header file instead of all the header files.
The commit removes the `file_list` parameter and replaces it with
`ARGN`,
which captures all the header files passed to the function. This ensures
that all the header files are added to the interface library target and
can be accessed through the target properties.
Commit: 3cf41561983ed5c8bd11f9535ec861c7e042084e
https://github.com/llvm/llvm-project/commit/3cf41561983ed5c8bd11f9535ec861c7e042084e
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir
A mlir/test/Dialect/Vector/vector-multi-reduction-reorder-and-expand.mlir
M mlir/test/python/dialects/transform_vector_ext.py
Log Message:
-----------
[mlir][vector] add ApplyReorderMultiReductionDimsPatternsOp tests (#180977)
With the new finer grained populate methods introduced in
8dde3051504cb9ae42e654bbce39001f3946beea (#180750), there was a
discussion about refactoring tests such that only one of the patterns
applies at a time. This commit starts this process by adding the
structure for one of these populate methods. The goal is for the
populate methods to have their own file (each showing inner and outer
reduction); deprecating populateVectorMultiReductionLoweringPatterns and
ApplyLowerMultiReduction; and removing the test file for
mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir
Essentially an NFC. It also adds a new transform op for testing the
dialect and which downstream projects may choose to use.
Assisted-By: claude-4.5-sonnet
Commit: 581eb22265055cc93a8d71373cf72e039c3f4005
https://github.com/llvm/llvm-project/commit/581eb22265055cc93a8d71373cf72e039c3f4005
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCArchitectures.cmake
Log Message:
-----------
[libc] Fix OS when using `-llvm` OS in the triple (#181908)
Summary:
We spoof the OS name for the GPU targets and used to get it form the
'end' of the triple list. Adding `-llvm` makes that now point to `-llvm`
which is not recognized so it fails. Just use the direct index, we
already guard that the triple is the correct size
Commit: 550c48b02e4eb2bfb67e0216ac3d22e4b1252797
https://github.com/llvm/llvm-project/commit/550c48b02e4eb2bfb67e0216ac3d22e4b1252797
Author: Viktor Moros <vmoros at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/bf16addf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/bf16addf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16addf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor bf16addf to header only (#181230)
Resolves #181017
Part of #147386
Commit: 6282a7b9937ab6e5d95502e6a2e2af881e9cfdbe
https://github.com/llvm/llvm-project/commit/6282a7b9937ab6e5d95502e6a2e2af881e9cfdbe
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M offload/liboffload/API/Memory.td
Log Message:
-----------
[Offload] Fix missing end to string in .td file
Commit: 95491b858cdd3c6ab3fe4df789cd5d50bf678a64
https://github.com/llvm/llvm-project/commit/95491b858cdd3c6ab3fe4df789cd5d50bf678a64
Author: Gergo Stomfai <stomfaig at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[GISel][X86] Port CSE analysis to NPM (#179815)
As part of #178192 it came up that the `GISelCSEAnalysisWrapperPass`
doesn't seem to have a npm version. This patch adds an npm wrapper
around `GISelCSEAnalysisWrapper`.
Commit: 9bf11863d14ebaeeb9c58a0733b89a67e91a629d
https://github.com/llvm/llvm-project/commit/9bf11863d14ebaeeb9c58a0733b89a67e91a629d
Author: Dhruv <62135445+dhr412 at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/logb.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/logb.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/logb.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor logb implementation to header-only (#175719)
Fixes #175365
Commit: 7f8cabb4cf82a62ca4ec9afb9f517fd316c7866e
https://github.com/llvm/llvm-project/commit/7f8cabb4cf82a62ca4ec9afb9f517fd316c7866e
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
[ThreadSafety][NFC] Cleanup indentation and unnecessary comments (#181896)
This is a follow-up commit to #178952 for indentation and comments
cleanups.
Commit: 15a566b432bf5f5f8a189842edc69d98ca4a4661
https://github.com/llvm/llvm-project/commit/15a566b432bf5f5f8a189842edc69d98ca4a4661
Author: modiking <mmo at nvidia.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/test/CodeGen/NVPTX/scalar-to-vector.ll
Log Message:
-----------
Fix test from #175712 (#181905)
Commit: 22ecdda4855cabce73532528aeb474b36fb2c6d6
https://github.com/llvm/llvm-project/commit/22ecdda4855cabce73532528aeb474b36fb2c6d6
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
Log Message:
-----------
[HLSL][Matrix] Allow flattening matrix types in FlattenAccessAndTypeLValue (#177708)
Fixes #177487
This PR adds support for flattening HLSL matrix types in code generation
via `CodeGenFunction::FlattenAccessAndTypeLValue`.
It removes the assertion `assert(!isa<MatrixType>(T) && "Matrix types
not yet supported in HLSL");` and adds a branch for handling
ConstantMatrixTypes which is similar to the VectorType case.
Commit: e0b3e82e98fedc08c9351627f528f5cdbe58b54e
https://github.com/llvm/llvm-project/commit/e0b3e82e98fedc08c9351627f528f5cdbe58b54e
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-wmma-scale-lo256.mir
Log Message:
-----------
[AMDGPU] Constrain register class during COPY elimination based on their uses (#181909)
When a WMMA scale operand (requiring `VCSrc_b32_Lo256`) was an SGPR that
had been copied from a VGPR, the COPY elimination replaced all uses of
the SGPR with the VGPR but failed to constrain the VGPR to
`vgpr_32_lo256`. This allowed the register allocator to assign a VGPR >=
256 (e.g., $vgpr309), violating the hardware encoding requirement.
Commit: 7ce0c532912ebdd2ce8d04914669af9b13444f3f
https://github.com/llvm/llvm-project/commit/7ce0c532912ebdd2ce8d04914669af9b13444f3f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-default-stream.cuf
Log Message:
-----------
[flang][cuda] Fix return value for CUFSetDefaultStream (#181884)
The interface return an integer value but the entry point and lowering
were missing it.
Commit: 0eaf12321e9c38ca7f652fd18471a8ea6be208ed
https://github.com/llvm/llvm-project/commit/0eaf12321e9c38ca7f652fd18471a8ea6be208ed
Author: bala-bhargav <penugondabalabharghav at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/bf16divf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/bf16divf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16divf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor bf16divf implementation to header-only in src/__support/math folder. (#181086)
Commit: cc5909b3e3de5470b31592eec6b22da88ca82df2
https://github.com/llvm/llvm-project/commit/cc5909b3e3de5470b31592eec6b22da88ca82df2
Author: Ash <97464181+tnuha at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/sincos.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/sincos.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sincos.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor sincos implementation to header only (#177522)
Part of llvm#147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Closes #177638
Commit: 170422666f8112e90135bd79b345034c7ebbc26b
https://github.com/llvm/llvm-project/commit/170422666f8112e90135bd79b345034c7ebbc26b
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M libc/src/__support/math/bf16divf.h
Log Message:
-----------
[libc][math] Fix build failures caused by constexpr (#181920)
Commit: 24c120406ad58fbecb96cdc6afc75cb466515193
https://github.com/llvm/llvm-project/commit/24c120406ad58fbecb96cdc6afc75cb466515193
Author: John Harrison <harjohn at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-dap/variables/main.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
M lldb/tools/lldb-dap/Protocol/DAPTypes.h
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/ProtocolUtils.cpp
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
M lldb/unittests/DAP/CMakeLists.txt
A lldb/unittests/DAP/ProtocolBaseTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/VariablesTest.cpp
Log Message:
-----------
[lldb-dap] Validate utf8 protocol messages. (#181261)
I ran into this while debugging a different issue, but when we calcualte
the 'value' field of a variable we were not ensuring the contents were
valid utf8. If assertions are enabled then llvm::json::Value will assert
that the string contains invalid utf8.
To address this I added a wrapper type (`lldb_dap::protocol::String`)
that can be used as a thin wrapper around `std::string` to ensure a
field contains valid utf8. This is now used throughout the
`lldb_dap::protocol::*` types.
Commit: 6712e91409f4b38cbd745bc69d47250720aee641
https://github.com/llvm/llvm-project/commit/6712e91409f4b38cbd745bc69d47250720aee641
Author: Akhil Goel <akhil.goel at intel.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-service-func.ll
Log Message:
-----------
[SPIRV] Prevent BB start emission for service functions (#178776)
When working with function pointers, the backend service functions might
still retain call instructions to the original functions. This PR skips
BB start emission for such cases.
Commit: 71f49eb026dd15ace88a3b233472ee288893afc1
https://github.com/llvm/llvm-project/commit/71f49eb026dd15ace88a3b233472ee288893afc1
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/ProcessLaunchInfo.h
M lldb/include/lldb/Target/Process.h
M lldb/source/Host/common/ProcessLaunchInfo.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
Log Message:
-----------
[lldb][windows] release the ConPTY instead of copying its reference (#181811)
When running multiple targets in lldb, the `ProcessLaunchInfo` instance
gets re-used. This is a problem for the ConPTY instance which is owned
by `launch_info` because, when creating a second target, we close and
reopen the `m_pty` of the first target.
This patch replaces the `GetPTYSP` method with `ReleasePTY`, which moves
the `std::shared_ptr` out of `launch_info` instead of creating a new
`std::shared_ptr`. The `m_pty` instance is moved into the target's
process. This way, each target's `Process` instance owns its PTY
instance and is responsible for closing it.
---------
Co-authored-by: Adrian Prantl <adrian.prantl at gmail.com>
Commit: 1870f3face71d6da2bc0095f751dd1b961b7e4c0
https://github.com/llvm/llvm-project/commit/1870f3face71d6da2bc0095f751dd1b961b7e4c0
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/spirv-openmp-toolchain.c
Log Message:
-----------
[clang][Driver][SPIRV][ClangLinkerWrapper] Pass --allow-partial-linkage to spirv-link (#181870)
Without this flag a lot of tests error in the linker.
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 6fe2aee9e6461f05985a7dfa13e3eb6eb542b469
https://github.com/llvm/llvm-project/commit/6fe2aee9e6461f05985a7dfa13e3eb6eb542b469
Author: Kai <47328809+kcloudy0717 at users.noreply.github.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/WavePrefixProduct.hlsl
A clang/test/SemaHLSL/BuiltIns/WavePrefixProduct-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll
A llvm/test/CodeGen/DirectX/WavePrefixProduct.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WavePrefixProduct.ll
Log Message:
-----------
[HLSL][DXIL][SPIRV] WavePrefixProduct intrinsic support (#179423)
This PR adds WavePrefixProduct intrinsic support in HLSL with codegen
for both DirectX and SPIRV backends. Resolves
https://github.com/llvm/llvm-project/issues/99173.
- [x] Implement `WavePrefixProduct` clang builtin
- [x] Link `WavePrefixProduct` clang builtin with `hlsl_intrinsics.h`
- [x] Add sema checks for `WavePrefixProduct` to
`CheckHLSLBuiltinFunctionCall` in `SemaChecking.cpp`
- [x] Add codegen for `WavePrefixProduct` to `EmitHLSLBuiltinExpr` in
`CGBuiltin.cpp`
- [x] Add codegen tests to
`clang/test/CodeGenHLSL/builtins/WavePrefixProduct.hlsl`
- [x] Add sema tests to
`clang/test/SemaHLSL/BuiltIns/WavePrefixProduct-errors.hlsl`
- [x] Create the `int_dx_WavePrefixProduct` intrinsic in
`IntrinsicsDirectX.td`
- [x] Create the `DXILOpMapping` of `int_dx_WavePrefixProduct` to `121`
in `DXIL.td`
- [x] Create the `WavePrefixProduct.ll` and
`WavePrefixProduct_errors.ll` tests in `llvm/test/CodeGen/DirectX/`
- [x] Create the `int_spv_WavePrefixProduct` intrinsic in
`IntrinsicsSPIRV.td`
- [x] In `SPIRVInstructionSelector.cpp` create the `WavePrefixProduct`
lowering and map it to `int_spv_WavePrefixProduct` in
`SPIRVInstructionSelector::selectIntrinsic`.
- [x] Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WavePrefixProduct.ll`
Commit: 61616f2d59fc31cb7ffe8f257ae6f54bc1afc755
https://github.com/llvm/llvm-project/commit/61616f2d59fc31cb7ffe8f257ae6f54bc1afc755
Author: Abhijeet <abhijeetsharma2002 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/bf16fmaf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/bf16fmaf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16fmaf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactored bf16fmaf to Header Only (#181919)
Fixes #181626
Commit: 786b3b4741f944ed32b3a7b4fbd2991c2ad98184
https://github.com/llvm/llvm-project/commit/786b3b4741f944ed32b3a7b4fbd2991c2ad98184
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M flang-rt/lib/cuda/CMakeLists.txt
M flang-rt/lib/cuda/allocator.cpp
A flang-rt/lib/cuda/stream.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/DefaultStream.cpp
M flang/include/flang/Runtime/CUDA/allocator.h
A flang/include/flang/Runtime/CUDA/stream.h
Log Message:
-----------
[flang][cuda][NFC] Move set/get default stream to its own file (#181927)
Commit: d4b574266132e08ff585facf2e0e01995082999f
https://github.com/llvm/llvm-project/commit/d4b574266132e08ff585facf2e0e01995082999f
Author: dyung <douglas.yung at sony.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/AST/Stmt.cpp
M clang/lib/Basic/ParsedAttrInfo.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
Log Message:
-----------
Revert "[clang] Fix some static initialization race-conditions" (#181926)
Reverts llvm/llvm-project#181367
This is causing crashes in tests on a Windows bot
https://lab.llvm.org/buildbot/#/builders/46/builds/30854.
Commit: 977d910d005c47f884ecf838e504da301b1124b9
https://github.com/llvm/llvm-project/commit/977d910d005c47f884ecf838e504da301b1124b9
Author: John Harrison <harjohn at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-dap/variables/main.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
M lldb/tools/lldb-dap/Protocol/DAPTypes.h
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/ProtocolUtils.cpp
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
M lldb/unittests/DAP/CMakeLists.txt
R lldb/unittests/DAP/ProtocolBaseTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/VariablesTest.cpp
Log Message:
-----------
Revert "[lldb-dap] Validate utf8 protocol messages." (#181930)
Reverts llvm/llvm-project#181261
Breaking builds on linux, reverting while I investigate.
See https://lab.llvm.org/buildbot/#/builders/181/builds/37346
Commit: 9ff444c0aa804f1f73822f45311f5a1698d0b7d0
https://github.com/llvm/llvm-project/commit/9ff444c0aa804f1f73822f45311f5a1698d0b7d0
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/src/stdio/baremetal/CMakeLists.txt
R libc/src/stdio/baremetal/fflush.cpp
R libc/src/stdio/baremetal/file_internal.cpp
M libc/src/stdio/baremetal/file_internal.h
M libc/src/stdio/baremetal/getc.cpp
R libc/src/stdio/baremetal/ungetc.cpp
M libc/src/stdio/baremetal/vfscanf_internal.h
Log Message:
-----------
Revert "[libc] Add getc, ungetc, fflush to enable libc++ iostream on baremetal" (#181931)
Reverts llvm/llvm-project#175530
This PR breaks libc header generation on Windows stage2 builds for a to
be determined reason.
Commit: fe86f612f7e73d7eab21f757f5d39a4b3f97a2aa
https://github.com/llvm/llvm-project/commit/fe86f612f7e73d7eab21f757f5d39a4b3f97a2aa
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
Log Message:
-----------
[SLP][NFC] Update partial_vec_invalid_cost() test to avoid breakage by #181731 (#181914)
This test creates an invalid vector cost, but #181731 allows
transforming of lshr 0, 0 -> add 0, 0 which in turn allows costing of
the following TreeEntry since is will be considered as 4 `ADD`
operations.
```
%lshr.1 = lshr i96 0, 0
%lshr.2 = lshr i96 0, 0
%add.0 = add i96 0, 0
%add.1 = add i96 0, 0
```
This commit adjusts the operands to ensure an invalid cost is still
generated after #181731.
This test was originally added in
4652ec0e291ca4ba4ddef3fd59b202646e9a6694.
Commit: 62f4f2f2995ba8981f8aa032430c5d19d3f00e5e
https://github.com/llvm/llvm-project/commit/62f4f2f2995ba8981f8aa032430c5d19d3f00e5e
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/semanticly-same.ll
Log Message:
-----------
[SLP][NFC] Precommit tests for LShr-UDiv power of 2 transformations (#181925)
Tests for #181731.
Commit: e64eed2f8b47566b1b32c60e6fc0ec8837147a13
https://github.com/llvm/llvm-project/commit/e64eed2f8b47566b1b32c60e6fc0ec8837147a13
Author: Justice Adams <jadams23 at apple.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
A .ci/green-dragon/bisect.groovy
Log Message:
-----------
[green dragon] add bisection job (#181883)
* Add job responsible for bisecting commits on the CI environment
Commit: 606199e7fd5385c3781acd7117fcaa32289e94a6
https://github.com/llvm/llvm-project/commit/606199e7fd5385c3781acd7117fcaa32289e94a6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
M llvm/test/CodeGen/X86/AMX/amx-low-intrinsics-no-amx-bitcast.ll
M llvm/test/CodeGen/X86/AMX/amx-low-intrinsics.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[X86][ProfCheck] Synthesize profile information where relevant
When creating loops to lower some AMX intrinsics, it is often the case
we have enough information to synthesize profile metadata for the latch.
This patch makes it so that we either set branch weights if everything
is a known constant, or set unknown weights if we do not have constants.
Reviewers: jdenny-ornl, mtrofin, phoebewang, KanRobert, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/181578
Commit: 8240831e81776173cac7d701be683038030bb860
https://github.com/llvm/llvm-project/commit/8240831e81776173cac7d701be683038030bb860
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lld/wasm/SyntheticSections.cpp
Log Message:
-----------
[lld][WebAssembly] Add comment regarding DataCount section. NFC (#181869)
I noticed this was lacking while reviewing #175800
Commit: 2cb342c733debda403195066e17e75f96e7e826c
https://github.com/llvm/llvm-project/commit/2cb342c733debda403195066e17e75f96e7e826c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV] Add combines to form WSUBAU on RV32 with P. (#181604)
Commit: 92ac31c34baa83d0718e70eb5590e16fc39cafc7
https://github.com/llvm/llvm-project/commit/92ac31c34baa83d0718e70eb5590e16fc39cafc7
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/source/Target/StackFrameList.cpp
Log Message:
-----------
[lldb] cast char8_t* to char* to allow std::string construction under C++20 (#181928)
After 5d5301dc0c, lldb fails to compile under C++20 with:
```
llvm-project/lldb/source/Target/StackFrameList.cpp:975:12: error: no viable conversion from returned value of type 'const char8_t *' to function return type 'std::string' (aka 'basic_string<char>')
975 | return show_unicode_marker ? u8" * " : u8"* ";
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
This PR reinterpret casts the unicode characters returned by
`GetFrameMarker` to `const char*`.
Commit: 9a0d65cdfd0d8ef3df2a888282db9cd5b9404617
https://github.com/llvm/llvm-project/commit/9a0d65cdfd0d8ef3df2a888282db9cd5b9404617
Author: Bill Wendling <morbo at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
R llvm/include/llvm/CodeGen/CallBrPrepare.h
A llvm/include/llvm/CodeGen/InlineAsmPrepare.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/CallBrPrepare.cpp
M llvm/lib/CodeGen/CodeGen.cpp
A llvm/lib/CodeGen/InlineAsmPrepare.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
R llvm/test/CodeGen/AArch64/callbr-prepare.ll
A llvm/test/CodeGen/AArch64/inline-asm-prepare.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/ARM/O3-pipeline.ll
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
M llvm/test/CodeGen/X86/O0-pipeline.ll
M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
M llvm/tools/opt/optdriver.cpp
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[NFC][CodeGen] Rename CallBrPrepare pass to InlineAsmPrepare (#181547)
This is an NFC change to make room for a more generalized "prepare" pass
for inline assembly beyond CallBrInsts. In particular, changing how we
generate code for inline assembly with "rm" constraints.
Commit: 9532f3f5fa759be9ed6d6f77b10f8893a91fd848
https://github.com/llvm/llvm-project/commit/9532f3f5fa759be9ed6d6f77b10f8893a91fd848
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/test/Dialect/GPU/transform-gpu-failing.mlir
Log Message:
-----------
[mlir][gpu] Harden verification constraints in `transform.gpu.map_nested_forall_to_threads` (#170282)
Harden `transform.gpu.map_nested_forall_to_threads` to reject
non-positive block/grid sizes and handle zero-iteration dimensions
gracefully, preventing assertion failures in `computeProduct`.
Fix `getConstantIntValues` to return `std::nullopt` if any element is
non-constant, avoiding invalid zero placeholders.
Fixes: https://github.com/llvm/llvm-project/issues/73562
Commit: 90d1a559df4ae6b0792b302ffa542ebbec1f8872
https://github.com/llvm/llvm-project/commit/90d1a559df4ae6b0792b302ffa542ebbec1f8872
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/test/Analysis/KernelInfo/flat-addrspace/Inputs/test.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/bug_shuffle_vector_to_scalar.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/chain-node-divergence-update-crash-issue-173885.ll
M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
M llvm/test/CodeGen/AMDGPU/concat_vectors.ll
M llvm/test/CodeGen/AMDGPU/control-flow-fastregalloc.ll
M llvm/test/CodeGen/AMDGPU/debug-independence-revertScheduling.ll
M llvm/test/CodeGen/AMDGPU/debug-independence-scheduleRegion.ll
M llvm/test/CodeGen/AMDGPU/debug-value.ll
M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
M llvm/test/CodeGen/AMDGPU/hazard-recognizer-src-shared-base.ll
M llvm/test/CodeGen/AMDGPU/iglp.opt.reentry.ll
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-merge.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.add.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/load-hi16.ll
M llvm/test/CodeGen/AMDGPU/load-lo16.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-loop-var-out-of-divergent-loop-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/merge-store-crash.ll
M llvm/test/CodeGen/AMDGPU/merge-store-usedef.ll
M llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
M llvm/test/CodeGen/AMDGPU/opencl-printf-invalid-signature.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-icmp.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-select.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-user-mult.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/regalloc-spill-wmma-scale.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-combine-sel.ll
M llvm/test/CodeGen/AMDGPU/setcc-multiple-use.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/store-hi16.ll
M llvm/test/CodeGen/AMDGPU/sub-zext-cc-zext-cc.ll
M llvm/test/CodeGen/AMDGPU/swdev-549940.ll
M llvm/test/CodeGen/AMDGPU/swdev282079.ll
M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.convergencetokens.ll
M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.ll
M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.convergencetokens.ll
M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll
M llvm/test/CodeGen/AMDGPU/trap.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/undef-handling-crash-in-ra.ll
M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
M llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll
M llvm/test/CodeGen/AMDGPU/waterfall_kills_scc.ll
M llvm/test/CodeGen/AMDGPU/wmma_modifiers.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/icmp.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/ptrmask.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/select.ll
M llvm/test/Transforms/InstCombine/AMDGPU/addrspacecast.ll
M llvm/test/Transforms/InstCombine/AMDGPU/phi-with-incoming-from-load.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/insertion-point.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/pointer-elements.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/vect-ptr-ptr-size-mismatch.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/different-addrspace-crash.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
Log Message:
-----------
[NFC][AMDGPU] Use `zeroinitializer` instead of `null` for `ptr addrspace(2/3/5)` in AMDGPU tests (#181710)
Commit: 05c046eaff89b2133915e3745ac733f317c0fb22
https://github.com/llvm/llvm-project/commit/05c046eaff89b2133915e3745ac733f317c0fb22
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MachineInstr.cpp
Log Message:
-----------
[NFC][CodeGen] Minor cleanup in MachineInstr operand printing (#181892)
- Rename `getTiedOperandIdx` to `GetTiedOperandIdx` per LLVM CS.
- Do not compute tied operand index for defs, since tied operands are
printed only on uses.
- Restructure the `if` in the later operand printing loop to not compute
tied operand index/type for subreg-index imm operands.
Commit: 027977e0a8e34e47b9ef5792a6d516991be70fd9
https://github.com/llvm/llvm-project/commit/027977e0a8e34e47b9ef5792a6d516991be70fd9
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[OpenACC] add acc.reduction_combine operation (#181853)
To facilitate codegen decisions, we need to create an operation that can
abstract the final update of the original and partial sum from a
reduction. This is represented within the combiner recipes. Having an
operator allows future lowering to clearly identify how to handle the
final accumulation. This is currently an NFC.
The format of this operation is:
```
acc.reduction_combine %srcMemref into %destMemref <reductionOperator> : type
```
Commit: 260f6fedc78bc6d3019d57c2afc5e5c99b8f00ea
https://github.com/llvm/llvm-project/commit/260f6fedc78bc6d3019d57c2afc5e5c99b8f00ea
Author: Ayokunle Amodu <ayokunle321 at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
Log Message:
-----------
[CIR][NFC] Upstream support for FP environments and RAII options (#179121)
This adds support for FP environment descriptions and RAII options for
FP operations, i.e.,`CIRGenFPOptionsRAII`).
Commit: 0fc9b7412b4e25ad5eaa6104de07d0f33a46deb5
https://github.com/llvm/llvm-project/commit/0fc9b7412b4e25ad5eaa6104de07d0f33a46deb5
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/IR/invalid-try-catch.cir
M clang/test/CIR/IR/try-catch.cir
Log Message:
-----------
[CIR] Add verifier for CIR try op (#181419)
This adds a verifier to enforce the requirement that every catch handler
in a cir.try operation must begin with a cir.catch_param operation.
Commit: 54f3b39a72378a6ece0b787995f17665f6cf66fd
https://github.com/llvm/llvm-project/commit/54f3b39a72378a6ece0b787995f17665f6cf66fd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
Log Message:
-----------
[TableGen] Rename TheMatcher->TheMatcherList. NFC (#181942)
After 8d971c0360f91729cc5120ffd361f7b55e97f2ab, there is a linked list
container object called MatcherList. We no long hold a pointer directly
to the first Matcher in the list.
Rename the variables to make this clearer.
Commit: 3fc48b78176c2adbde3286b1fd9e444981e3bd1f
https://github.com/llvm/llvm-project/commit/3fc48b78176c2adbde3286b1fd9e444981e3bd1f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/test/MC/RISCV/rvv/xsfvcp-invalid.s
Log Message:
-----------
[RISCV] Check the error location in xsfvcp-invalid.s. NFC (#181929)
Check that the error location points to the destination operand.
I'm planning to rewrite the code that generates that error, and I want
to make sure I get the location right.
Commit: 091296f3e338798c55d59014c3b4c265b8d6a653
https://github.com/llvm/llvm-project/commit/091296f3e338798c55d59014c3b4c265b8d6a653
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/bindings/python/CMakeLists.txt
M lldb/bindings/python/python-swigsafecast.swig
M lldb/bindings/python/python-wrapper.swig
M lldb/docs/CMakeLists.txt
M lldb/docs/python_extensions.rst
M lldb/docs/use/python-reference.rst
R lldb/docs/use/tutorials/custom-symbol-resolution.md
R lldb/examples/python/templates/scripted_symbol_locator.py
M lldb/include/lldb/API/SBFileSpec.h
M lldb/include/lldb/API/SBModule.h
M lldb/include/lldb/API/SBModuleSpec.h
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Core/PluginManager.h
R lldb/include/lldb/Interpreter/Interfaces/ScriptedSymbolLocatorInterface.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/LineEntry.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/API/SBTarget.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSymbolLocatorPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSymbolLocatorPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
R lldb/source/Plugins/SymbolLocator/Scripted/CMakeLists.txt
R lldb/source/Plugins/SymbolLocator/Scripted/SymbolLocatorScripted.cpp
R lldb/source/Plugins/SymbolLocator/Scripted/SymbolLocatorScripted.h
M lldb/source/Symbol/LineEntry.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/ThreadPlanStepRange.cpp
R lldb/test/API/functionalities/scripted_symbol_locator/Makefile
R lldb/test/API/functionalities/scripted_symbol_locator/TestScriptedSymbolLocator.py
R lldb/test/API/functionalities/scripted_symbol_locator/main.c
R lldb/test/API/functionalities/scripted_symbol_locator/source_locator.py
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
[lldb] Revert scripted symbol locator (#181945)
This revert #181334 and its follow-up PRs (including #181488, #181492,
#181493, #181494 and #181498) as well as Ismail's documentation changes
(#181594, #181717). The original commit causes a test failure in CI
(https://github.com/llvm/llvm-project/issues/181938) but the more I look
at the patch, the more I'm convinced it was not ready to land. It will
be easier to iterate on the feedback by re-landing this than by using
post-commit review.
Commit: 63db233b3891412368189ddc7fcea8a38d9c3749
https://github.com/llvm/llvm-project/commit/63db233b3891412368189ddc7fcea8a38d9c3749
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/utils/git-llvm-push
Log Message:
-----------
[LLVM][Utils] Fix automerge in git-llvm-push (#181766)
Enabling automerge can only be done using the GraphQL API. Add in some
basic GraphQL infrastructure and update the enable_automerge method to
call the GraphQL API to enable automerge for a PR.
Tested locally on #181762.
Closes #181634.
Commit: 3210e2013eded053a43bfad0e212fc0eff99fee0
https://github.com/llvm/llvm-project/commit/3210e2013eded053a43bfad0e212fc0eff99fee0
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/agg-expr-lvalue.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/compound_literal.cpp
M clang/test/CIR/CodeGen/copy-constructor.cpp
M clang/test/CIR/CodeGen/embed-expr.c
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/CodeGen/no-odr-use.cpp
M clang/test/CIR/CodeGen/paren-init-list.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
M clang/test/CIR/CodeGen/statement-exprs.c
M clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/var-arg-aggregate.c
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/Lowering/array.cpp
Log Message:
-----------
[CIR] Implement shouldCreateMemCpyFromGlobal in LoweringPrepare (#181276)
CIRGen emits cir.const + cir.store for aggregate initialization, keeping
closer to source-level semantics. LoweringPrepare transforms stores of
constant aggregates (arrays, records) into cir.global + cir.get_global +
cir.copy, matching OG codegen's shouldCreateMemCpyFromGlobal
optimization.
The transform only applies to stores targeting cir.alloca (local
variables inside cir.func). Stores in other contexts (e.g. OpenACC
reduction recipe init blocks, base class initialization) are left as
cir.const + cir.store.
Also fixes CopyOp lowering to use i64 for the memcpy length instead of
i32, matching OG codegen behavior.
Commit: 293acb5d32644d05ce19532571f31a3936c412b6
https://github.com/llvm/llvm-project/commit/293acb5d32644d05ce19532571f31a3936c412b6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/test/Transforms/LowerMatrixIntrinsics/select.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck][Matrix] Propagate profile information for selects
LowerMatrixIntrinsics creates new selects in the process of lowering
matrix intrinsics. The condition of such selects remains the same as
before. Because of this, we can directly propagate the profile
information for all selects on scalar conditions.
Reviewers: mtrofin, snehasish, fhahn, alanzhao1
Pull Request: https://github.com/llvm/llvm-project/pull/181248
Commit: fc14b1d2b557a6372c40c4b6a7f29dabc802bb12
https://github.com/llvm/llvm-project/commit/fc14b1d2b557a6372c40c4b6a7f29dabc802bb12
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MatrixUtils.h
M llvm/lib/Transforms/Utils/MatrixUtils.cpp
Log Message:
-----------
[NFC][Matrix] Make CreateLoop take ConstantInt for Bound/Step
These should always be constants (unless someday we add support for
scalable matrices and then we can revisit). Explicitly pass them as
ConstantInt so we can avoid needing to downcast in a future PR that will
calculate appropriate branch weights using these values.
Reviewers: fhahn, mtrofin
Pull Request: https://github.com/llvm/llvm-project/pull/181291
Commit: 7cbf4530181cb1af3064d789a6af8f4c3782bf64
https://github.com/llvm/llvm-project/commit/7cbf4530181cb1af3064d789a6af8f4c3782bf64
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Utils/MatrixUtils.cpp
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops-large-matrixes.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-volatile.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck][Matrix] Add profile data where relevant
This patch tackles two cases:
1. Checks around aliasing/overlapping ranges. This is runtime dependent
on the pointer values passed in, which we have no way of knowing
without additional profiling.
2. Loop backedges. For these we also have an associated trip count, so
we set up the branch weights to represent this.
Tests updated/profcheck-xfail.txt updated.
Reviewers: alanzhao1, fhahn, mtrofin, snehasish
Pull Request: https://github.com/llvm/llvm-project/pull/181292
Commit: dd8ab2ab94b3db9318d39b4a4b603337b586e242
https://github.com/llvm/llvm-project/commit/dd8ab2ab94b3db9318d39b4a4b603337b586e242
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Remove VPDerivedIVRecipe and VPScalarIVStepsRecipe from VPHeaderPHIRecipe doc comment. NFC (#181862)
These aren't subclasses of VPHeaderPHIRecipe, I'm not sure if the class
hierarchy changed or not.
Also add the other subclasses to the list.
Commit: 3bbb89860ad987dd820801881e8f1eb7eed159d1
https://github.com/llvm/llvm-project/commit/3bbb89860ad987dd820801881e8f1eb7eed159d1
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
Log Message:
-----------
[clang][deps] Ensure the service outlives async module compiles (#181772)
This PR fixes a race condition discovered by thread sanitizer in the
asynchronous dependency scanner implementaion.
The implementation assumed that whenever a new thread is spawned to
compile a module, the primary scanning thread must wait for it to finish
to read the PCM it produces. This is not true - it's possible for the
implicit build on the primary thread to decide to compile the same
module too, leaving the asynchronous thread running without any kind of
synchronization. This means the TU scan may return, the service may get
destroyed, but the asynchronous thread continues running with the VFS
caches and module cache implementation destroyed, leading to crashes.
This PR fixes this by awaiting all asynchronous threads at the end of a
TU scan.
Commit: 6eae1759f2c08fcd36b3673c6603297ba3f8d7d3
https://github.com/llvm/llvm-project/commit/6eae1759f2c08fcd36b3673c6603297ba3f8d7d3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/test/MC/RISCV/rvv/zvkned.s
Log Message:
-----------
[RISCV] Remove VMConstraint from VAESKF1_VI/VAESKF2_VI. (#181887)
These instructions don't have a VM operand. If these instructions use a
V0 destination, the VMConstraint code calls getReg() on the the last
operand which is an immediate. This triggers an assertion. Not sure
what happens on a release build. It probably treats the immediate as a
value in the RISCV register info enum.
Commit: ca16347ab2f4a9731df92798a2b4c5a41b5e08b9
https://github.com/llvm/llvm-project/commit/ca16347ab2f4a9731df92798a2b4c5a41b5e08b9
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/DDGPrinter.h
M llvm/lib/Analysis/DDGPrinter.cpp
M llvm/test/Analysis/DDG/print-dot-ddg.ll
Log Message:
-----------
[DDG][NFC] Colorize DDG dot graph (#181618)
All blocks and edges are currently colored black which makes it
difficult to distinguish while looking at huge graph.
This simple patch implements the following colorization to make it
visually more distinguishable.
1. Pi-blocks - styled to rounded, filled, light-yellow fill, dark orange
border
2. Multi-instruction blocks - Light cyan fill
3. MemoryDependence edges are now colored red.
4. Register def-use edges are now colored blue.
This patch implements `getNodeAttributes()` to return the string of
attributes to apply to the node.
Commit: bdf4eaed892df35f31bcc186f0e314303578a927
https://github.com/llvm/llvm-project/commit/bdf4eaed892df35f31bcc186f0e314303578a927
Author: Justice Adams <jadams23 at apple.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M .ci/green-dragon/bisect.groovy
Log Message:
-----------
[green-dragon] fix test param in triggered bisection jobs (#181962)
Fix the usage of our skip_tests parm
Commit: 15cf81b13fd50e17092220f4730cb256a9a0da27
https://github.com/llvm/llvm-project/commit/15cf81b13fd50e17092220f4730cb256a9a0da27
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Fix wrong log formatting for script callbacks (NFC)
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: a2e14e41cfe41f71a79b21b53fefd26781e4061e
https://github.com/llvm/llvm-project/commit/a2e14e41cfe41f71a79b21b53fefd26781e4061e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes-sifive.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Xsfmm32a shorthand extension. (#181957)
This extension is shorthand for Xsfmm32a8i, Xsfmm32a16f, and
Xsfmm32a32f.
It was mistakenly left out of an earlier version of the public
specification, but is now present. See
https://www.sifive.com/document-file/xsfmm-matrix-extensions-specification
Commit: c5ac41dba85b57ae414b41fc57ae8f71637fb57b
https://github.com/llvm/llvm-project/commit/c5ac41dba85b57ae414b41fc57ae8f71637fb57b
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][NFC] Minor source cleanups in SIInsertWaitcnts (#181095)
Commit: 371e0e2082e9f8345279a8484e742c100b0aa752
https://github.com/llvm/llvm-project/commit/371e0e2082e9f8345279a8484e742c100b0aa752
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lld/ELF/AArch64ErrataFix.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
Log Message:
-----------
[ELF] Add target-specific relocation scanning for AArch64 (#181099)
Implement AArch64::scanSectionImpl, following the pattern established
for x86 (#178846), PPC64 (#181496), and SystemZ (#181563). This merges
the getRelExpr and TLS handling for SHF_ALLOC sections into the
target-specific scanner, enabling devirtualization and eliminating
abstraction overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic rs.scan() path.
- Use processR_PC/processR_PLT_PC for common PC-relative and PLT
relocations, and handleTlsIe/handleTlsDesc for TLS IE/TLSDESC.
- Remove some AArch64-specific RelExpr members (RE_AARCH64_AUTH_GOT,
RE_AARCH64_AUTH_GOT_PC, RE_AARCH64_AUTH_GOT_PAGE_PC,
RE_AARCH64_AUTH_TLSDESC_PAGE, RE_AARCH64_AUTH_TLSDESC,
RE_AARCH64_RELAX_TLS_GD_TO_IE_PAGE_PC) by using regular RelExpr
members with flag-based dispatch (NEEDS_GOT_AUTH, NEEDS_TLSDESC_AUTH).
AUTH GOT relocations now call `sym.setFlags(NEEDS_GOT | NEEDS_GOT_AUTH)`
and `rs.processAux` directly.
- Remove adjustTlsExpr and handleAArch64PAuthTlsRelocation by inlining
their logic into scanSectionImpl and relocateAlloc.
- Simplify getRelExpr to only handle relocations needed by
relocateNonAlloc and EhInputSection::preprocessRelocs.
Commit: 6f0b0ecaba1ba311717f86d8e4d8c6b2b4c4cd4b
https://github.com/llvm/llvm-project/commit/6f0b0ecaba1ba311717f86d8e4d8c6b2b4c4cd4b
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Core/BinaryContext.cpp
M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
M lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
M lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h
M lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
M lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
M llvm/tools/llvm-exegesis/lib/DisassemblerHelper.cpp
M llvm/tools/llvm-exegesis/lib/DisassemblerHelper.h
M llvm/unittests/DebugInfo/DWARF/DWARFExpressionCopyBytesTest.cpp
M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.h
M llvm/unittests/MC/AMDGPU/Disassembler.cpp
M llvm/unittests/MC/SystemZ/SystemZMCDisassemblerTest.cpp
M llvm/unittests/MC/X86/X86MCDisassemblerTest.cpp
Log Message:
-----------
[NFC] Ensure MCTargetOptions outlives MCAsmInfo at createMCAsmInfo call sites (#180465)
Preparatory change for storing the MCTargetOptions pointer in MCAsmInfo
(#180464)
Commit: 1daf3408cffabe37b8daa06236a9aea4ce043cb1
https://github.com/llvm/llvm-project/commit/1daf3408cffabe37b8daa06236a9aea4ce043cb1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Set RVVConstraint = NoConstraint in tablegen classes with vm=1. NFC (#181960)
Our RVV base classes default to RVVConstraint = VMConstraint. We
should force it to NoConstraint in classes where we've explicitly
marked vm as being a constant rather than an operand. This avoids
needing to do it at a higher level in the class hierarchy.
Commit: d40f7a2409bfcc4121814a263a75039f581c2bb8
https://github.com/llvm/llvm-project/commit/d40f7a2409bfcc4121814a263a75039f581c2bb8
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/unittests/ADT/ArrayRefTest.cpp
Log Message:
-----------
Revert "[ADT] Add const check to MutableArrayRef constructor (#181190)"
This reverts commit 1de1a76dc9042ffc8026217cf0b105f0b86c16fb.
Commit: 632c5a3738b9e9344b8d2f3d66f8aba5ff122f3c
https://github.com/llvm/llvm-project/commit/632c5a3738b9e9344b8d2f3d66f8aba5ff122f3c
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
Log Message:
-----------
[MLIR][XeGPU] Relax the slice layout check for broadcast operand in subgroup distribution (#181935)
This PR relaxes the operand layout check in broadcast op in subgroup
distribution. Instead of failing the pattern match, it issues a warning
and proceed the distribution. The layout could be non-slice layout but
still support valid subgroup distribution.
Commit: 97fa3e5936936a7f83b412ff411ad246faa79c30
https://github.com/llvm/llvm-project/commit/97fa3e5936936a7f83b412ff411ad246faa79c30
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-force-tail-with-evl.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[NFC][VPlan] Rename VPEVLBasedIVPHIRecipe to VPCurrentIterationPHIRecipe (#177114)
This is groundwork for #151300, which aims to support first-faulting
loads in non-tail-folded early-exit loops.
Per #175900, we need a variable-length stepping transform that can
shared between EVL and non-EVL loops.
The idea is to have an EVL-independent counter and transform for
tracking the cumulative number of processed elements.
This patch renames the existing counter (VPEVLBasedIVPHIRecipe) and
transform (canonicalizeEVLLoops) to be EVL-independent:
- Rename VPEVLBasedIVPHIRecipe to VPCurrentIterationRecipe to
reflect its general purpose of tracking processed element count.
- Rename canonicalizeEVLLoops to convertToVariableLengthStep.
This is NFC.
Commit: 7897d928be14089870469342d497a822befaf39d
https://github.com/llvm/llvm-project/commit/7897d928be14089870469342d497a822befaf39d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/source/Commands/CommandObjectType.cpp
A lldb/test/Shell/Commands/command-type-synthetic-add.test
Log Message:
-----------
[lldb][CommandObjectType] Print name of Python class when emitting warning about invalid synthetic provider (#181829)
Before:
```
(lldb) type synthetic add -l blah foo
warning: The provided class does not exist - please define it before attempting to use this synthetic provider
```
After:
```
(lldb) type synthetic add -l blah foo
warning: The provided class 'blah' does not exist - please define it before attempting to use this synthetic provider
```
Useful when many of these registration commands happen as part of
`~/.lldbinit`. Previously it wasn't immediately obvious which of those
commands failed.
Commit: 867272d52ac06c1eb0ff8e0d045e92e3c467a8bd
https://github.com/llvm/llvm-project/commit/867272d52ac06c1eb0ff8e0d045e92e3c467a8bd
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-wide-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve-tail-folding-forced.ll
Log Message:
-----------
[LV] Pass symbolic VF to CalculateTripCountMinusVF and CanonicalIVIncrementForPart (NFC) (#180542)
This makes it easier to update the runtime VF per VPlan.
Commit: d0ce5d65ab3c565660fc935c493823384b8dff87
https://github.com/llvm/llvm-project/commit/d0ce5d65ab3c565660fc935c493823384b8dff87
Author: Prathamesh Tagore <63031630+meshtag at users.noreply.github.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M mlir/test/IR/visitors.mlir
Log Message:
-----------
[NFC][test-ir-visitors] Remove unregistered dialect uses from tests (#181911)
Use the already registered test dialect in tests which is explicitly
intended to allow arbitrary ops.
Commit: 8f378ea7e6fa31179266c69368be56a866b631e1
https://github.com/llvm/llvm-project/commit/8f378ea7e6fa31179266c69368be56a866b631e1
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/UnsafeToAllowExceptionsCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/UnsafeToAllowExceptionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-escape.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-to-allow-exceptions.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-to-allow-exceptions-precpp17.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-to-allow-exceptions.cpp
Log Message:
-----------
[clang-tidy] Add check 'bugprone-unsafe-to-allow-exceptions' (#176430)
`ExceptionEscapeCheck` does not warn if a function is `noexcept(false)`
(may throw) but is one of the functions where throwing exceptions is
unsafe. This check can be used to find such cases.
Commit: ecd25afa90ee3a81bacbf160495147662bfca07c
https://github.com/llvm/llvm-project/commit/ecd25afa90ee3a81bacbf160495147662bfca07c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
A libclc/clc/include/clc/relational/clc_issubnormal.h
M libclc/clc/include/clc/relational/relational.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/relational/clc_issubnormal.cl
Log Message:
-----------
libclc: Add __clc_issubnormal (#181782)
This is the missing of the FP class queries.
Commit: 0786f2d23e3a0d21271c608402caa5e4f150c981
https://github.com/llvm/llvm-project/commit/0786f2d23e3a0d21271c608402caa5e4f150c981
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll
Log Message:
-----------
[X86] LowerAndToBT - convert to SDPatternMatch (#181696)
Fixes an issue where a partial pattern (and then early-out) prevented a
later match
Prep work for #147216
Commit: fa31acedc547481feebe6fb1cf920a1e3e45c6b6
https://github.com/llvm/llvm-project/commit/fa31acedc547481feebe6fb1cf920a1e3e45c6b6
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
Log Message:
-----------
[NFCI][analyzer] Simplify NodeBuilder constructors (#181875)
This commit simplifies the construction of `NodeBuilder` and its
subclasses in three ways:
- It removes an assertion that only appeared in one of the two
constructors of `NodeBuilder`. While the asserted "no sinks in the
`Frontier`" invariant apparently holds, this assertion was not the right
place for expressing it. (In the future I might re-add a similar
assertion in a more reasonable location.)
- It adds a new constructor for `NodeBuilder` that doesn't take a
"source node(s)" argument, because this argument was often irrelevant.
- It removes the "source node(s)" arguments from the subclasses of
`NodeBuilder` because it was always completely irrelevant in those
situations.
Before this commit, constructors of `NodeBuilder` took three arguments:
- the source node or nodes,
- the destination node set where the freshly built nodes are placed,
- the `NodeBuilderContext` that provides access to the exploded graph.
Among these, the latter two were saved in data members, but the only use
of the source node(s) was that the constructor inserted them into the
destination node set (= the data member `Frontier`).
However, adding the source node(s) to the `Frontier` is usually
irrelevant, because later set operations almost always remove them from
the `Frontier`. This is especially clear in the subclasses derived from
`NodeBuilder` whose constructor immediately remove the source node(s)
from the `Frontier`. (In other situations, the source node(s) are
usually removed from the `Frontier` by the calls to `generateNode()`.)
This commit introduces a new constructor for `NodeBuilder` that doesn't
have a "source node(s)" parameter, then uses this constructor to
implement the constructors of the subclasses without pointless insertion
and then removal of nodes from the destination set.
Note that if a node `N` was already present in the destination set, then
its insertion+removal would remove it from the set; but I verified that
the destination set passed to constructors of subclasses of
`NodeBuilder` is always an empty set (at this point).
The new constructor of `NodeBuiler` is public because later it will be
also useful for simplifying other code that uses `NodeBuilder` directly.
Commit: c5a0742d17219053994a5d7a33c4a21fd1d12d15
https://github.com/llvm/llvm-project/commit/c5a0742d17219053994a5d7a33c4a21fd1d12d15
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/tools/lldb-dap/DAP.h
Log Message:
-----------
[lldb-dap] Initialise the call mutex before the progress_event_reporter. (#181941)
The progress event reporter has a thread that reports events every 250
millisecond. and is destroyed in its destructor.
When in event reporter desctructor, the event reporter may have pending
event but the call mutex is destroyed leading to the crash.
Relevant stack trace from CI.
```
[2026-02-13T17:46:13.577Z] libc++abi: terminating due to uncaught exception of type std::__1::system_error: mutex lock failed: Invalid argument
[2026-02-13T17:46:13.577Z] PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash report from ~/Library/Logs/DiagnosticReports/.
[2026-02-13T17:46:13.577Z] #0 0x0000000102b6943c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake-os-verficiation/lldb-build/bin/lldb-dap+0x10008943c)
[2026-02-13T17:46:13.577Z] #1 0x0000000102b67368 llvm::sys::RunSignalHandlers() (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake-os-verficiation/lldb-build/bin/lldb-dap+0x100087368)
[2026-02-13T17:46:13.577Z] #2 0x0000000102b69f20 SignalHandler(int, __siginfo*, void*) (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake-os-verficiation/lldb-build/bin/lldb-dap+0x100089f20)
[2026-02-13T17:46:13.577Z] #3 0x000000018bbdb744 (/usr/lib/system/libsystem_platform.dylib+0x1804e3744)
[2026-02-13T17:46:13.577Z] #4 0x000000018bbd1888 (/usr/lib/system/libsystem_pthread.dylib+0x1804d9888)
[2026-02-13T17:46:13.577Z] #5 0x000000018bad6850 (/usr/lib/system/libsystem_c.dylib+0x1803de850)
[2026-02-13T17:46:13.577Z] #6 0x000000018bb85858 (/usr/lib/libc++abi.dylib+0x18048d858)
[2026-02-13T17:46:13.577Z] #7 0x000000018bb744bc (/usr/lib/libc++abi.dylib+0x18047c4bc)
[2026-02-13T17:46:13.577Z] #8 0x000000018b7a0424 (/usr/lib/libobjc.A.dylib+0x1800a8424)
[2026-02-13T17:46:13.577Z] #9 0x000000018bb84c2c (/usr/lib/libc++abi.dylib+0x18048cc2c)
[2026-02-13T17:46:13.577Z] #10 0x000000018bb88394 (/usr/lib/libc++abi.dylib+0x180490394)
[2026-02-13T17:46:13.577Z] #11 0x000000018bb8833c (/usr/lib/libc++abi.dylib+0x18049033c)
[2026-02-13T17:46:13.577Z] #12 0x000000018bb01b90 (/usr/lib/libc++.1.dylib+0x180409b90)
[2026-02-13T17:46:13.577Z] #13 0x000000018bb01b34 (/usr/lib/libc++.1.dylib+0x180409b34)
[2026-02-13T17:46:13.577Z] #14 0x000000018bb038a0 (/usr/lib/libc++.1.dylib+0x18040b8a0)
[2026-02-13T17:46:13.577Z] #15 0x0000000102b6fbac lldb_dap::DAP::Send(std::__1::variant<lldb_dap::protocol::Request, lldb_dap::protocol::Response, lldb_dap::protocol::Event> const&) (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake-os-verficiation/lldb-build/bin/lldb-dap+0x10008fbac)
[2026-02-13T17:46:13.577Z] #16 0x0000000102b6f890 lldb_dap::DAP::SendJSON(llvm::json::Value const&) (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake-os-verficiation/lldb-build/bin/lldb-dap+0x10008f890)
[2026-02-13T17:46:13.577Z] #17 0x0000000102b78788 std::__1::__function::__func<lldb_dap::DAP::DAP(lldb_dap::Log&, lldb_dap::ReplMode, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, bool, llvm::StringRef, lldb_private::transport::JSONTransport<lldb_dap::ProtocolDescriptor>&, lldb_private::MainLoopPosix&)::$_0, std::__1::allocator<lldb_dap::DAP::DAP(lldb_dap::Log&, lldb_dap::ReplMode, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, bool, llvm::StringRef, lldb_private::transport::JSONTransport<lldb_dap::ProtocolDescriptor>&, lldb_private::MainLoopPosix&)::$_0>, void (lldb_dap::ProgressEvent&)>::operator()(lldb_dap::ProgressEvent&) (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake-os-verficiation/lldb-build/bin/lldb-dap+0x100098788)
[2026-02-13T17:46:13.577Z] #18 0x0000000102b8939c lldb_dap::ProgressEventManager::ReportIfNeeded() (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake-os-verficiation/lldb-build/bin/lldb-dap+0x1000a939c)
[2026-02-13T17:46:13.577Z] #19 0x0000000102b8982c lldb_dap::ProgressEventReporter::ReportStartEvents() (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake-os-verficiation/lldb-build/bin/lldb-dap+0x1000a982c)
[2026-02-13T17:46:13.577Z] #20 0x0000000102b8a038 void* std::__1::__thread_proxy[abi:nn200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, lldb_dap::ProgressEventReporter::ProgressEventReporter(std::__1::function<void (lldb_dap::ProgressEvent&)>)::$_0>>(void*) (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake-os-verficiation/lldb-build/bin/lldb-dap+0x1000aa038)
[2026-02-13T17:46:13.577Z] #21 0x000000018bbd1c08 (/usr/lib/system/libsystem_pthread.dylib+0x1804d9c08) [2026-02-13T17:46:13.577Z] #22 0x000000018bbccba8 (/usr/lib/system/libsystem_pthread.dylib+0x1804d4ba8)
```
rdar://170331108
Commit: 3d8fffec7b660a6bbbc3c156400e49cb1a28ac3c
https://github.com/llvm/llvm-project/commit/3d8fffec7b660a6bbbc3c156400e49cb1a28ac3c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M libclc/CMakeLists.txt
M libclc/clc/include/clc/math/math.h
M libclc/clc/lib/amdgpu/math/clc_sqrt.cl
R libclc/clc/lib/r600/SOURCES
R libclc/clc/lib/r600/math/clc_fma.cl
R libclc/clc/lib/r600/math/clc_fma.inc
R libclc/clc/lib/r600/math/clc_native_rsqrt.cl
R libclc/clc/lib/r600/math/clc_rsqrt.cl
R libclc/clc/lib/r600/math/clc_sw_fma.cl
R libclc/opencl/lib/r600/SOURCES
R libclc/opencl/lib/r600/SOURCES_3.9
R libclc/opencl/lib/r600/image/get_image_attributes_impl.ll
R libclc/opencl/lib/r600/image/get_image_channel_data_type.cl
R libclc/opencl/lib/r600/image/get_image_channel_order.cl
R libclc/opencl/lib/r600/image/get_image_depth.cl
R libclc/opencl/lib/r600/image/get_image_dim.cl
R libclc/opencl/lib/r600/image/get_image_height.cl
R libclc/opencl/lib/r600/image/get_image_width.cl
R libclc/opencl/lib/r600/image/read_image_impl.ll
R libclc/opencl/lib/r600/image/read_imagef.cl
R libclc/opencl/lib/r600/image/read_imagei.cl
R libclc/opencl/lib/r600/image/read_imageui.cl
R libclc/opencl/lib/r600/image/write_image_impl.ll
R libclc/opencl/lib/r600/image/write_imagef.cl
R libclc/opencl/lib/r600/image/write_imagei.cl
R libclc/opencl/lib/r600/image/write_imageui.cl
R libclc/opencl/lib/r600/synchronization/barrier.cl
R libclc/opencl/lib/r600/workitem/get_global_offset.cl
R libclc/opencl/lib/r600/workitem/get_global_size.cl
R libclc/opencl/lib/r600/workitem/get_group_id.cl
R libclc/opencl/lib/r600/workitem/get_local_id.cl
R libclc/opencl/lib/r600/workitem/get_local_size.cl
R libclc/opencl/lib/r600/workitem/get_num_groups.cl
R libclc/opencl/lib/r600/workitem/get_work_dim.cl
M libclc/www/index.html
Log Message:
-----------
libclc: Remove r600 support (#181976)
Commit: 03393aa9030ff4f407736d8eba0d9f910965d4a6
https://github.com/llvm/llvm-project/commit/03393aa9030ff4f407736d8eba0d9f910965d4a6
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/Parse/ParseTentative.cpp
M clang/test/Interpreter/disambiguate-decl-stmt.cpp
Log Message:
-----------
REAPPLY [clang-repl] Ensure clang-repl accepts all C keywords supported in all language models (#181335)
https://github.com/llvm/llvm-project/pull/142749 was reverted because
`_Float16` is only supported on the following targets
(https://clang.llvm.org/docs/LanguageExtensions.html#half-precision-floating-point)
& the previous PR wasn't guarding it to expect a failure on some
targets.
Hence the CI failed with errors like
```
/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/bin/clang -cc1 -internal-isystem /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/lib/clang/21/include -nostdsysteminc -fsyntax-only -verify -fincremental-extensions -std=c++20 /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/llvm-project/clang/test/Interpreter/disambiguate-decl-stmt.cpp # RUN: at line 1
/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/bin/clang -cc1 -internal-isystem /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/lib/clang/21/include -nostdsysteminc -fsyntax-only -verify -fincremental-extensions -std=c++20 /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/llvm-project/clang/test/Interpreter/disambiguate-decl-stmt.cpp
error: 'expected-error' diagnostics seen but not expected:
File /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/llvm-project/clang/test/Interpreter/disambiguate-decl-stmt.cpp Line 113: _Float16 is not supported on this target
1 error generated.
```
This should now be fixed as we are expecting an error (or no error)
based on the target through the `expected-error 0-1` framework
Commit: 3d369ccdf976de00885cc95f8c9ac5a44bc8f16e
https://github.com/llvm/llvm-project/commit/3d369ccdf976de00885cc95f8c9ac5a44bc8f16e
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
Log Message:
-----------
[AArch64] Prefer SVE2 for fixed-length i64 [S|U][MIN|MAX] reductions (#181161)
With SVE2/SME we can lower the v2i64 min/max reductions to an SVE2
pairwise instruction. The throughput is about the same, but the SVE code
is smaller than the NEON expansion.
Commit: 051d125de4773951be5f2f51f245df94f7e29e2e
https://github.com/llvm/llvm-project/commit/051d125de4773951be5f2f51f245df94f7e29e2e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFC. (#181979)
Commit: 9057af94d2a5f82997ad5f00eb8d2c688cd8163c
https://github.com/llvm/llvm-project/commit/9057af94d2a5f82997ad5f00eb8d2c688cd8163c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[X86] Add additional test coverage for #147216 (#181980)
Commit: 3d3ad01e47abe63c78bf7ed58bc60b8ec45c6e25
https://github.com/llvm/llvm-project/commit/3d3ad01e47abe63c78bf7ed58bc60b8ec45c6e25
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.h
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/aarch64-mtune-apple-macos.c
Log Message:
-----------
[Clang][AArch64] set default mtune for macOS (#179136)
This patch sets a default tune-cpu on macOS targets to `apple-m5`.
The implementation adds a helper in
`clang/lib/Driver/ToolChains/Arch/AArch64.h` called by
`clang/lib/Driver/ToolChains/Clang.cpp`. It doesnt follow a "check then
get" flow because its very concise, and returns an optional instead. It
adds a missing test file for mtune on Apple macOS targets, including the
new logic.
Commit: 176928cc1371c23d499b474fa95e076b61f776c4
https://github.com/llvm/llvm-project/commit/176928cc1371c23d499b474fa95e076b61f776c4
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/cmake/caches/VectorEngine.cmake
M openmp/CMakeLists.txt
M openmp/cmake/OpenMPTesting.cmake
M openmp/docs/ReleaseNotes.rst
M openmp/runtime/CMakeLists.txt
M openmp/runtime/src/CMakeLists.txt
M openmp/runtime/test/CMakeLists.txt
M openmp/runtime/test/lit.cfg
M openmp/runtime/test/lit.site.cfg.in
M openmp/runtime/unittests/CMakeLists.txt
Log Message:
-----------
[OpenMP] Remove standalone build mode (#149878)
Remove all the CMake code for openmp standalone builds. Standalone
builds have been superseded by the runtimes default build (also
sometimes called the standalone runtimes build). The runtimes default
build can be thought of a standalone build with the standalone
boilerplate contained in <llvm-project>/runtimes/CMakeLists.txt. There
is no need for each runtime to contain the same boilerplate code again.
Builds still using the standalone build via
```sh
cmake -S <llvm-project>/openmp ...
```
can switch over to the runtimes default build using
```sh
cmake -S <llvm-project>/runtimes -DLLVM_ENABLE_RUNTIMES=openmp ...
```
Options that were valid for the standalone build are also valid for
default runtimes build, unless handled only in
`if (OPENMP_STANDALONE_BUILD)` regions.
The existence of both, standalone builds and runtime default builds,
easily leads to confusion such as fixed in #149871. A non-standalone
build does not mean that it is built as part of a bootstrapping-build of
LLVM inside the `runtimes/runtimes-bins` directory, nor does it mean
that the compiler is necessarily Clang. Some of the remaining code may
have been written with that assumption. However, the purpose of this
patch is to only remove the standalone build functionality.
Commit: e6cff75362a9e28bf040788a87218570955bd8c6
https://github.com/llvm/llvm-project/commit/e6cff75362a9e28bf040788a87218570955bd8c6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineMOVMSK - pull out repeated SDLoc (#181986)
Commit: 6012aa1d4477b6d3aec8c022f4a2222834e6a0fc
https://github.com/llvm/llvm-project/commit/6012aa1d4477b6d3aec8c022f4a2222834e6a0fc
Author: Piotr Balcer <piotr.balcer at intel.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
Log Message:
-----------
[AMDGPU] Fix opcode comparison logic for G_INTRINSIC (#156008)
The check `(Opc < TargetOpcode::GENERIC_OP_END)` incorrectly
includes `G_INTRINSIC` (129), which is less than
`GENERIC_OP_END` (313), leading to logically dead code.
This patch reorders the conditionals to first check for `G_INTRINSIC`,
ensuring
correct handling of the `amdgcn_fdot2` intrinsic.
Commit: a13e04a694ba733d5d0d6de0b1e8840b99aaedac
https://github.com/llvm/llvm-project/commit/a13e04a694ba733d5d0d6de0b1e8840b99aaedac
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopInterchange/interchangeable-innerloop-multiple-indvars.ll
M llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll
M llvm/test/Transforms/LoopInterchange/interchangeable.ll
M llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
M llvm/test/Transforms/LoopInterchange/phi-ordering.ll
M llvm/test/Transforms/LoopInterchange/pr43473-invalid-lcssa-phis-in-inner-exit.ll
M llvm/test/Transforms/LoopInterchange/pr45743-move-from-inner-preheader.ll
M llvm/test/Transforms/LoopInterchange/pr56275.ll
M llvm/test/Transforms/LoopInterchange/pr57148.ll
M llvm/test/Transforms/LoopInterchange/update-condbranch-duplicate-successors.ll
Log Message:
-----------
[LoopInterchange] Update UTC version (NFC) (#181988)
This is a follow-up PR to #181804. While working on the stacked PRs, I
encountered some noisy diffs in the CHECK lines that don't change the
meaning of the tests. To avoid such changes and make the review easier,
this patch updates the UTC version. It also renames some BBs to suppress
warnings emitted by UTC.
Commit: 10ccf11ebb79d43fd287e9de278413d5c5e85062
https://github.com/llvm/llvm-project/commit/10ccf11ebb79d43fd287e9de278413d5c5e85062
Author: Ryan Mitchell <Ryan.Mitchell at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/test/TableGen/regunit-intervals.td
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[Tablegen] Patch RegUnitIntervals Initialization (#181173)
There were a few places it was missing some code-generation to properly
initialize it if enabled, and also it was missing the sentinel value.
Commit: 45069829a321015539924cb6020fb60834fb9a1a
https://github.com/llvm/llvm-project/commit/45069829a321015539924cb6020fb60834fb9a1a
Author: Alex Wang <yesterda9 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-sdiv.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-udiv.mir
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
M llvm/test/CodeGen/AArch64/funnel-shift.ll
M llvm/test/CodeGen/AArch64/rem.ll
Log Message:
-----------
[GlobalISel] Add G_UDIV/G_SDIV computeKnownBits (#181307)
Code ported from `SelectionDAG::computeKnownBits`.
Related: #150515
Commit: 48002eb44c328093680e250faf15ef0ecd6bdaad
https://github.com/llvm/llvm-project/commit/48002eb44c328093680e250faf15ef0ecd6bdaad
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
M lldb/unittests/DAP/JSONUtilsTest.cpp
Log Message:
-----------
[lldb-dap] Remove dead code. (#181947)
It seems we have dead from the raw json days.
Commit: 17b4a72daa896311e78bba473dd6481600ab5ba5
https://github.com/llvm/llvm-project/commit/17b4a72daa896311e78bba473dd6481600ab5ba5
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-invoke.ll
A llvm/test/tools/llvm-reduce/unconditional-br-phi.ll
A llvm/test/tools/llvm-reduce/unconditional-br.ll
M llvm/tools/llvm-reduce/DeltaPasses.def
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.h
Log Message:
-----------
[llvm-reduce] Add a pass to replace unconditional branches with returns (#180993)
Unconditional branches could end up in infinite loops in the reduced
code, while the code could have been reduce further.
This patch implements a simple pass that replaces unconditional branches
with returns.
Commit: f8f799c640651947d09d5d06c3fd91caa25d64a3
https://github.com/llvm/llvm-project/commit/f8f799c640651947d09d5d06c3fd91caa25d64a3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/NVPTX/i1-ext-load.ll
M llvm/test/CodeGen/RISCV/idiv_large.ll
M llvm/test/CodeGen/RISCV/rvv/known-never-zero.ll
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[DAG] Fold (X +/- Y) & Y --> ~X & Y when Y is a power of 2 (or zero). (#181677)
Same as InstCombinerImpl::visitAnd
To prevent RISCV falling back to a mul call in known-never-zero.ll I've
had to tweak the (sub X, (vscale * C)) to (add X, (vscale * -C)) fold to
not occur if C is power-of-2 and the target has poor mul support.
Alive2: https://alive2.llvm.org/ce/z/Khvs5H
Commit: e1e0e86e60246332ea8b4a61625a329fb2712689
https://github.com/llvm/llvm-project/commit/e1e0e86e60246332ea8b4a61625a329fb2712689
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M offload/plugins-nextgen/common/include/PluginInterface.h
Log Message:
-----------
[Offload] Always check/consume Error (#182008)
This fixes an issue introduced in
https://github.com/llvm/llvm-project/pull/172226 where an llvm::Error is
not checked in the "good" code path.
Commit: d154ec7bb02a7b6b84c4481a58495baf08542541
https://github.com/llvm/llvm-project/commit/d154ec7bb02a7b6b84c4481a58495baf08542541
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
Log Message:
-----------
[VPlan] Use ExitingIVValue for pointer inductions as well. (#180925)
Use ExitingIVValue from https://github.com/llvm/llvm-project/pull/175651
also for pointer inductions.
PR: https://github.com/llvm/llvm-project/pull/180925
Commit: 2dfa047916c7603d1d0c67500cbd2d6cc707e653
https://github.com/llvm/llvm-project/commit/2dfa047916c7603d1d0c67500cbd2d6cc707e653
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.h
Log Message:
-----------
[flang][OpenMP] Include check for fully unrolled loops into nest check, NFC (#181729)
It's naturally a part of the verification of constructs nested in loop
constructs, so perform that check there instead of having it in a
separate function.
Commit: 9a5589900a14910f87fb25f07f88b6a77e4b9d09
https://github.com/llvm/llvm-project/commit/9a5589900a14910f87fb25f07f88b6a77e4b9d09
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineSETCC - merge inner isScalarInteger() condition. NFC. (#182004)
All folds in the outer if() require this - inc combineVectorSizedSetCCEquality
Commit: e07b9d15043271fb69177cdc5df9c504a21764ec
https://github.com/llvm/llvm-project/commit/e07b9d15043271fb69177cdc5df9c504a21764ec
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/cmake/caches/VectorEngine.cmake
M openmp/CMakeLists.txt
M openmp/cmake/OpenMPTesting.cmake
M openmp/docs/ReleaseNotes.rst
M openmp/runtime/CMakeLists.txt
M openmp/runtime/src/CMakeLists.txt
M openmp/runtime/test/CMakeLists.txt
M openmp/runtime/test/lit.cfg
M openmp/runtime/test/lit.site.cfg.in
M openmp/runtime/unittests/CMakeLists.txt
Log Message:
-----------
Revert "[OpenMP] Remove standalone build mode (#149878)"
Downstream builds are note sufficiently prepared.
This reverts commit 176928cc1371c23d499b474fa95e076b61f776c4.
Commit: 06ef30150ea9c21c7294278551f62e08e69484f5
https://github.com/llvm/llvm-project/commit/06ef30150ea9c21c7294278551f62e08e69484f5
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/test/Semantics/OpenMP/do10.f90
Log Message:
-----------
[flang][OpenMP] Use LoopRange to implement loop var type checking, NFC (#181797)
Commit: a7878d4b7f34ffa21b3cd30012317c88c929f209
https://github.com/llvm/llvm-project/commit/a7878d4b7f34ffa21b3cd30012317c88c929f209
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/include/module.modulemap
Log Message:
-----------
[modules] Fix warning: missing submodule 'LLVM_IR.FunctionProperties' (#181888)
When compiling LLVM with LLVM_ENABLE_MODULES=ON, I get the warning
```
warning: missing submodule 'LLVM_IR.FunctionProperties' [-Wincomplete-umbrella]
```
Fix is to add file `FunctionProperties.def` to the module map.
Commit: b5139f9068b6a2d736573c1564aa859e2705bcfc
https://github.com/llvm/llvm-project/commit/b5139f9068b6a2d736573c1564aa859e2705bcfc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
Log Message:
-----------
[lldb][PlatformDarwin][NFC] Use early-return style in LocateExecutableScriptingResources (#182001)
I'm planning on adding more to this function. It'll be easier to
review/reason about if we un-nested the if-blocks (as the LLVM style
guide recommends).
Commit: 9355a17e6033f369392aabcbe3b43ef1aa3862bb
https://github.com/llvm/llvm-project/commit/9355a17e6033f369392aabcbe3b43ef1aa3862bb
Author: David Green <david.green at arm.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_1op.ll
Log Message:
-----------
[AArch64] Clean up fp16_i16_intrinsic_scalar.ll a little. NFC
Commit: 2dea3b4710c7e84a0ddd36ef4fc43ae0f43f75eb
https://github.com/llvm/llvm-project/commit/2dea3b4710c7e84a0ddd36ef4fc43ae0f43f75eb
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
Log Message:
-----------
[lldb][PlatformDarwin][NFCI] Factor out dSYM script auto-loading into helper function (#182002)
Depends on:
* https://github.com/llvm/llvm-project/pull/182001
(only second commit is relevant for this review)
This patch factors out the logic to load dSYM scripting resources into a
helper function. In the process we eliminate some redundant copying of
`FileSpec` and pass it to the helper by `const-ref` instead
(specifically the `symfile_spec`).
Commit: 8d2eb4eb89ecbe724d399d0644f4bc167c7a31bf
https://github.com/llvm/llvm-project/commit/8d2eb4eb89ecbe724d399d0644f4bc167c7a31bf
Author: David Green <david.green at arm.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
Log Message:
-----------
[AArch64] Fix PRCVT -> FPRCVT typo. NFC
Commit: 1cb86450d8fe6c4681e60d10ebbe436dc6fd61fc
https://github.com/llvm/llvm-project/commit/1cb86450d8fe6c4681e60d10ebbe436dc6fd61fc
Author: Xinlong Chen <49522466+Xinlong-Chen at users.noreply.github.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/tanf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/tanf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/tanf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor tanf16 to header only (#181523)
Part of https://github.com/llvm/llvm-project/issues/147386
Commit: b5764293420281bd777bd8fb92ff36565ed5ddda
https://github.com/llvm/llvm-project/commit/b5764293420281bd777bd8fb92ff36565ed5ddda
Author: Xinlong Chen <49522466+Xinlong-Chen at users.noreply.github.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/tanpif.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/tanpif.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/tanpif.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor tanpif to header only (#181525)
Part of https://github.com/llvm/llvm-project/issues/147386
Commit: b92ab89ed6898b5eb24a0b5d9fb4787b2253c999
https://github.com/llvm/llvm-project/commit/b92ab89ed6898b5eb24a0b5d9fb4787b2253c999
Author: Atharv Mane <atharvamane19 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/f16add.h
A libc/shared/math/f16addf.h
A libc/shared/math/f16addf128.h
A libc/shared/math/f16addl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/f16add.h
A libc/src/__support/math/f16addf.h
A libc/src/__support/math/f16addf128.h
A libc/src/__support/math/f16addl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/f16add.cpp
M libc/src/math/generic/f16addf.cpp
M libc/src/math/generic/f16addf128.cpp
M libc/src/math/generic/f16addl.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor f16add Math Functions to Header Only (#181777)
Resolves #181630
Part of #147386
Commit: 0c91bc6ae659e306bffed08652ee2f1091efcdb9
https://github.com/llvm/llvm-project/commit/0c91bc6ae659e306bffed08652ee2f1091efcdb9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M libclc/opencl/lib/amdgcn/workitem/get_local_size.cl
M libclc/opencl/lib/amdgcn/workitem/get_num_groups.cl
Log Message:
-----------
libclc: Stop using r600 asm intrinsic declarations for amdgcn (#181975)
Really the workitem functions should all be moved to generic code
and use gpuintrin.h. These implementations were copied from there.
Commit: 79f8eba842c9bce7d85e702574f0bc02b2397af2
https://github.com/llvm/llvm-project/commit/79f8eba842c9bce7d85e702574f0bc02b2397af2
Author: Vachan <vachanvy05 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/logbl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/logbl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/logbl.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor `logbl` to header only (#181659)
Closes #175366
Commit: 7ad2a632a32b0c6740dff20b117ca8bb52d9cfac
https://github.com/llvm/llvm-project/commit/7ad2a632a32b0c6740dff20b117ca8bb52d9cfac
Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/bf16divl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/bf16divl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16divl.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor bf16divl to header-only (#181535)
Part of https://github.com/llvm/llvm-project/issues/147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Closes #181025
Commit: e826f32da67e1908577a6e853a21f770a764197d
https://github.com/llvm/llvm-project/commit/e826f32da67e1908577a6e853a21f770a764197d
Author: b068931 <80648544+b068931 at users.noreply.github.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_unwind_win.cpp
Log Message:
-----------
[ASan/sanitizers] Make stack unwinding better on Windows. (#180205)
I created an issue about this in #179976.
Clang's Address Sanitizer installs its own SEH filter which handles some
types of uncaught exceptions. Along with register values and some other
information, it also generates a stack trace. However, current logic is
incomplete. It relies on DbgHelp's SymFunctionTableAccess64 and
SymGetModuleBase64 which won't work with machine code that has its
RUNTIME_FUNCTION entry registered with Rtl* (e.g. RtlAddFunctionTable)
system calls. Most likely, this is because DbgHelp either relies on
information in PDB files or considers PDATA and XDATA only from loaded
EXE and DLL modules. Either way, consider the following example:
```
#include <windows.h>
#include <iostream>
#include <vector>
typedef union _UNWIND_CODE {
struct {
BYTE CodeOffset;
BYTE UnwindOp : 4;
BYTE OpInfo : 4;
};
USHORT FrameOffset;
} UNWIND_CODE, * PUNWIND_CODE;
typedef struct _UNWIND_INFO {
BYTE Version : 3;
BYTE Flags : 5;
BYTE SizeOfProlog;
BYTE CountOfCodes;
BYTE FrameRegister : 4;
BYTE FrameOffset : 4;
UNWIND_CODE UnwindCode[1]; // Variable size
} UNWIND_INFO, * PUNWIND_INFO;
#define UWOP_PUSH_NONVOL 0
#define UWOP_ALLOC_LARGE 1
#define UWOP_ALLOC_SMALL 2
#define UWOP_SET_FPREG 3
#define UWOP_SAVE_NONVOL 4
#define UWOP_SAVE_NONVOL_FAR 5
#define UWOP_SAVE_XMM128 8
#define UWOP_SAVE_XMM128_FAR 9
#define UWOP_PUSH_MACHFRAME 10
int main() {
// PUSH RBX (0x53) - Save non-volatile register
// SUB RSP, 0x20 (0x48 0x83 0xEC 0x20) - Allocate 32 bytes (shadow space)
// XOR RAX, RAX (0x48 0x31 0xC0) - Zero out RAX
// MOV RAX, [RAX] (0x48 0x8B 0x00) - Dereference NULL
std::vector<unsigned char> code = {
0x53,
0x48, 0x83, 0xEC, 0x20,
0x48, 0x31, 0xC0,
0x48, 0x8B, 0x00
};
size_t codeSize = code.size();
size_t totalSize = 100;
LPVOID pMemory = VirtualAlloc(NULL, totalSize, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
BYTE* pCodeBase = (BYTE*)pMemory;
PUNWIND_INFO pUnwindInfo = (PUNWIND_INFO)(pCodeBase + codeSize);
size_t alignmentPadding = 0;
if ((size_t)pUnwindInfo % 4 != 0) {
alignmentPadding = 4 - ((size_t)pUnwindInfo % 4);
pUnwindInfo = (PUNWIND_INFO)((BYTE*)pUnwindInfo + alignmentPadding);
}
memcpy(pCodeBase, code.data(), codeSize);
pUnwindInfo->Version = 1;
pUnwindInfo->Flags = UNW_FLAG_NHANDLER;
pUnwindInfo->Flags = 0;
pUnwindInfo->SizeOfProlog = 5;
pUnwindInfo->CountOfCodes = 2;
pUnwindInfo->FrameRegister = 0;
pUnwindInfo->FrameOffset = 0;
pUnwindInfo->UnwindCode[0].CodeOffset = 5;
pUnwindInfo->UnwindCode[0].UnwindOp = UWOP_ALLOC_SMALL;
pUnwindInfo->UnwindCode[0].OpInfo = 3;
pUnwindInfo->UnwindCode[1].CodeOffset = 1;
pUnwindInfo->UnwindCode[1].UnwindOp = UWOP_PUSH_NONVOL;
pUnwindInfo->UnwindCode[1].OpInfo = 3; // RBX
RUNTIME_FUNCTION tableEntry = {};
tableEntry.BeginAddress = 0;
tableEntry.EndAddress = (DWORD)codeSize;
tableEntry.UnwindData = (DWORD)((BYTE*)pUnwindInfo - (BYTE*)pMemory);
DWORD64 baseAddress = (DWORD64)pMemory;
RtlAddFunctionTable(&tableEntry, 1, baseAddress);
typedef void(*FuncType)();
FuncType myFunc = (FuncType)pMemory;
myFunc();
return 0;
}
```
Windows' kernel can propagate hardware exception through that function,
so clearly these entries are at least partially correct. Right now,
ASan's stack walking produces this (compiled with latest release,
clang++):
```
PS D:\Local Projects\cpp-playground> ./a.exe
=================================================================
==14216==ERROR: AddressSanitizer: access-violation on unknown address 0x000000000000 (pc 0x0199561c0008 bp 0x004cf0cffb30 sp 0x004cf0cff970 T0)
==14216==The signal is caused by a READ memory access.
==14216==Hint: address points to the zero page.
#0 0x0199561c0007 (<unknown module>)
#1 0x000000000000 (<unknown module>)
#2 0x000000000000 (<unknown module>)
==14216==Register values:
rax = 0 rbx = 4cf0cffaa0 rcx = 7ffcb97b4e28 rdx = 19955dc0000
rdi = 11bf564a0040 rsi = 0 rbp = 4cf0cffb30 rsp = 4cf0cff970
r8 = 7ffffffffffffffc r9 = 1 r10 = 0 r11 = 246
r12 = 0 r13 = 0 r14 = 0 r15 = 0
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: access-violation (<unknown module>)
==14216==ABORTING
```
Frames one and two is just some stack space allocated by that dynamic
function. While patched version produces this:
```
PS D:\Local Projects\cpp-playground> ./a.exe
=================================================================
==13660==ERROR: AddressSanitizer: access-violation on unknown address 0x000000000000 (pc 0x01ed5ad70008 bp 0x00d76492f650 sp 0x00d76492f490 T0)
==13660==The signal is caused by a READ memory access.
==13660==Hint: address points to the zero page.
#0 0x01ed5ad70007 (<unknown module>)
#1 0x7ff732e518a1 in main (D:\Local Projects\cpp-playground\a.exe+0x1400018a1)
#2 0x7ff732e56a9b in invoke_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
#3 0x7ff732e56a9b in __scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
#4 0x7ffcb878e8d6 (C:\WINDOWS\System32\KERNEL32.DLL+0x18002e8d6)
#5 0x7ffcb966c53b (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18008c53b)
==13660==Register values:
rax = 0 rbx = d76492f5c0 rcx = 7ffcb97b4e28 rdx = 1ed5a870000
rdi = 12135afa0040 rsi = 0 rbp = d76492f650 rsp = d76492f490
r8 = 7ffffffffffffffc r9 = 1 r10 = 0 r11 = 246
r12 = 0 r13 = 0 r14 = 0 r15 = 0
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: access-violation (<unknown module>)
==13660==ABORTING
```
Now we see that stack walking handled our dynamic function properly.
Interestingly enough, it appears that other overloaded version of
UnwindSlow procedure that works without CONTEXT structure already has
some logic to handle this. Theoretically, symbolizer should also be able
to provide some information about these functions, but I don't think
that this is necessary.
I added SANITIZER_WINDOWS64 check because I am pretty sure Microsoft
only mentions these functions for 64 bit version of their OS. I also
can't check how this works on ARM.
Commit: 693548d9f779b951a928ce8dfd61096cf1bb9bf0
https://github.com/llvm/llvm-project/commit/693548d9f779b951a928ce8dfd61096cf1bb9bf0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[X86] LowerAndToBT - fold ICMP_ZERO(AND(X,AND(Y,SHL(1,Z)))) -> BT(AND(X,Y),Z) patterns (#182007)
Use m_ReassociatableAnd matcher to handle any permutation of a 3 op AND chain that involves a bit test
Fix 1 of 2 for #147216
Commit: 4f3ae6ea0907baf7dbb70a33a88742d12909bdae
https://github.com/llvm/llvm-project/commit/4f3ae6ea0907baf7dbb70a33a88742d12909bdae
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/builtin_bitcast.cpp
M clang/test/Analysis/concrete-address.c
M clang/test/Analysis/dtor.cpp
M clang/test/Analysis/fixed-address-notes.c
M clang/test/Analysis/misc-ps.m
M clang/test/Analysis/pr22954.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/suppress-dereferences-from-any-address-space.c
Log Message:
-----------
[analyzer][NFCI] Move the core.FixedAddressDereference checker to optin.core (#181858)
This was prompted by these upstream discussions:
https://github.com/llvm/llvm-project/pull/132404#issuecomment-3816874305
https://discourse.llvm.org/t/what-are-the-precise-semantics-of-the-address-space-attribute/89752/10?u=steakhal
This also relates to #181644
rdar://170554765
Commit: 88872a7cf841ac6f864261d39987db8c6be254d7
https://github.com/llvm/llvm-project/commit/88872a7cf841ac6f864261d39987db8c6be254d7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/docs/MIRLangRef.rst
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/test/CodeGen/MIR/X86/expected-integer-after-tied-def.mir
R llvm/test/CodeGen/MIR/X86/expected-tied-def-after-lparen.mir
A llvm/test/CodeGen/MIR/X86/invalid-tied-physical-reg-def.mir
A llvm/test/CodeGen/MIR/X86/invalid-type-physical-reg.mir
Log Message:
-----------
[CodeGen] Refactor register operand parsing in MI parser (#181748)
- Refactor register operand parsing to eliminate duplicated LLT parsing
code.
- Additionally, fix the register operand syntax in MI LangRef to match
what the parser supports.
Commit: c5ae550344d5da2d2f44523829a9af979d8af6f4
https://github.com/llvm/llvm-project/commit/c5ae550344d5da2d2f44523829a9af979d8af6f4
Author: fabrizio-indirli <fabrizio.indirli at arm.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
M mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Dialect/SCF/parallel-loop-fusion.mlir
Log Message:
-----------
[mlir][scf] Refactor and improve ParallelLoopFusion (#179284)
Refactor and extend the scf::ParalleLoopFusion pass:
- Refactor code, rename functions and add comments to improve
readability
- Make the dependency analysis safer by checking for read-after-write
dependencies also with vector.load/store & vector.transfer_read/write
ops, in addition to memref.load/store, and bail out when other
unsupported ops with memory effects are found.
- Extend the cases when the fusion is applied: allow fusing also when
one of the two loops reads/writes to memory through a full view/alias of
the buffer (read/written by the dual operation in the other loop) that
can be trivially resolved, including rank-reducing full subviews.
Commit: 824d2c9b06a350ba0f5be96ac7bac893164d0299
https://github.com/llvm/llvm-project/commit/824d2c9b06a350ba0f5be96ac7bac893164d0299
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/abseil/unchecked-statusor-access.rst
Log Message:
-----------
[NFC] [clang-tidy] [doc] document gtest support of statusor check (#180662)
Commit: 80e740412f243124bbda927be1e500411591fa05
https://github.com/llvm/llvm-project/commit/80e740412f243124bbda927be1e500411591fa05
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/unittests/Target/X86/CMakeLists.txt
A llvm/unittests/Target/X86/X86SelectionDAGTest.cpp
M llvm/utils/gn/secondary/llvm/unittests/Target/X86/BUILD.gn
Log Message:
-----------
[X86] computeKnownBitsForTargetNode - add X86ISD::FANDN coverage and X86SelectionDAGTest infrastructure (#181994)
Setup X86SelectionDAGTest unit tests (matching for AArch64/ARM/RISCV pattern) to allow us to more easily test X86ISD DAG nodes.
First test is for X86ISD::FANDN nodes, which are very tricky to test in regular tests as they so often fold beforehand
Commit: 8362c0382936f0231d2c762f6e1e97957423b4cf
https://github.com/llvm/llvm-project/commit/8362c0382936f0231d2c762f6e1e97957423b4cf
Author: Davide Cunial <dcunial at proton.me>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-query/BUILD.bazel
Log Message:
-----------
[bazel] Add cc_binary rule for 'clang-query' (#182014)
Commit: 2a9ed57efdf736788f8a7aa829e5465d790c9c66
https://github.com/llvm/llvm-project/commit/2a9ed57efdf736788f8a7aa829e5465d790c9c66
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M utils/bazel/BUILD.bazel
Log Message:
-----------
[bazel] Add bzl_library for configure.bzl (#181582)
Commit: a6b1abf205ed7aa0eab4cd0f01c1381b353b93d7
https://github.com/llvm/llvm-project/commit/a6b1abf205ed7aa0eab4cd0f01c1381b353b93d7
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
Log Message:
-----------
[lldb][PlatformDarwin][NFC] Rename LoadExecutableScriptingResourceFromDSYM
Renamed to `LocateExecutableScriptingResourcesFromDSYM` because it doesn't actually do any loading. Also the caller is called `LocateExecutableScriptingResources` and the new name makes the usage more clear.
Commit: 88930e64c4ee70a266ee5f21fd0a360fa9d0f76b
https://github.com/llvm/llvm-project/commit/88930e64c4ee70a266ee5f21fd0a360fa9d0f76b
Author: Yi Zhang <cathyzhyi at google.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] fix for c5ae550 #179284 (#182050)
fix for c5ae550 #179284
Co-authored-by: Pranav Kant <prka at google.com>
Commit: 537e09b70d17d89bfcabbcb67994e613c911bcee
https://github.com/llvm/llvm-project/commit/537e09b70d17d89bfcabbcb67994e613c911bcee
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
Log Message:
-----------
[AMDGPU] Use const with MI in AMDGPULowerVGPREncoding::computeMode. NFC (#181900)
Commit: 5fbbd41342e36ad5970d6ed60abff89df08fc2ba
https://github.com/llvm/llvm-project/commit/5fbbd41342e36ad5970d6ed60abff89df08fc2ba
Author: Richard Dzenis <richard at dzenis.dev>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/AST/Stmt.cpp
M clang/lib/Basic/ParsedAttrInfo.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
Log Message:
-----------
Reapply "[clang] Fix some static initialization race-conditions" (#182020)
This reverts d4b574266132e08ff585facf2e0e01995082999f,
and reapplies d7f32f1fbf83da2faa4acdcaf2a4d4885a2d068c.
Original commit message:
- clang/StaticAnalyzer: fix static init in findKnownClass. Prior to this
patch two threads running in findKnownClass could result in a race
condition.
- clang/Stmt: fix StmtClassNameTable array initialization: prior to this
patch there was a race condition when two threads check
`if(Initialized)` at the same time.
- clang/ParsedAttrInfo: fix race condition in
getAttributePluginInstances. Prior to this patch two threads could
enter `if(empty())` check.
- clang/CodeGen: correctly restore diagnostic handler in
HandleTranslationUnit. Prior to this patch an early exit from
HandleTranslationUnit could result in not restoring previous
diagnostic handler.
Commit: 142aa7b9b0a33067df4229ebfc1770fa17b5c15a
https://github.com/llvm/llvm-project/commit/142aa7b9b0a33067df4229ebfc1770fa17b5c15a
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M libsycl/src/detail/offload/offload_topology.cpp
Log Message:
-----------
[libsycl] Fix build after olInit change (#182057)
After https://github.com/llvm/llvm-project/pull/181872 the function
takes an argument. Pass `nullptr` to have it do the same thing as
before.
This wasn't caught because the only builder that builds `libsycl` is not
in the production builder area at the moment.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 490f9938b1caca6a0dcecffc7d871a7a16011650
https://github.com/llvm/llvm-project/commit/490f9938b1caca6a0dcecffc7d871a7a16011650
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/unittests/Target/X86/CMakeLists.txt
Log Message:
-----------
[X86] Fix linker error after #181994 (#182053)
Commit: b7c33ac6ab090667317e465215443ab5041429bd
https://github.com/llvm/llvm-project/commit/b7c33ac6ab090667317e465215443ab5041429bd
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/CMakeLists.txt
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
A mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
Log Message:
-----------
[nfc][mlir][acc] Move some operations to new file (#182054)
Create a new file named OpenACCCG.cpp to hold implementation of
operations, attributes, and types related to OpenACC codegen (though
only operations exist at this time). These originate from
OpenACCCGOps.td.
These are codegen/intermediate ops used when decomposing and lowering
primary acc dialect ops; they do not map directly to OpenACC language
constructs. Moving them out of OpenACC.cpp keeps the main dialect file
focused and avoids it growing further.
Commit: 8e37d72fb0c91171ffafe0b00225d4f56f394cf1
https://github.com/llvm/llvm-project/commit/8e37d72fb0c91171ffafe0b00225d4f56f394cf1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
R clang/test/Modules/demote-var-def.cpp
R clang/test/Modules/pr149404-02.cppm
R clang/test/Modules/pr172241.cppm
R clang/test/Modules/var-inst-def.cppm
Log Message:
-----------
Revert "[Serialization] Stop demote var definition as declaration (#172430)" (#181384)
Reverts llvm/llvm-project#177117
See #181076 for details of a miscompile caused by this.
Commit: b3c82bafc75f0dfa8c2632868e13444787f0fce2
https://github.com/llvm/llvm-project/commit/b3c82bafc75f0dfa8c2632868e13444787f0fce2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Support/KnownBits.cpp
Log Message:
-----------
[KnownBits] Remove unneccessary calls to std::optional<bool> constructor. NFC (#181959)
We can return a bool and let the compiler insert the constructor call.
Commit: 879630aa0850a58452aa241f19c3f96e569545b6
https://github.com/llvm/llvm-project/commit/879630aa0850a58452aa241f19c3f96e569545b6
Author: Ian Anderson <iana at apple.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
A clang/test/Driver/Inputs/XRSimulator1.0.sdk/usr/include/libxml/.keep
M clang/test/Driver/incompatible_sysroot.c
Log Message:
-----------
[clang][driver] Don't emit an error on an unrecognized SDK name (#181897)
-isysroot can be an unrecognized value in unusual circumstances. Don't
emit an error when checking the triple against such an isysroot, let the
user try to do what they're trying to do.
Commit: 6a365b004d8b1952315dfe39011f2abd39d64474
https://github.com/llvm/llvm-project/commit/6a365b004d8b1952315dfe39011f2abd39d64474
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/ProcessLaunchInfo.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/test/API/lldbutil-tests/failed-to-hit-breakpoint/TestLLDBUtilFailedToHitBreakpoint.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_args.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_basic.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_debuggerRoot.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_object.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_shellExpandArguments_disabled.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_shellExpandArguments_enabled.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_version.py
Log Message:
-----------
[lldb-dap][windows] fix lldb-dap's self.get_stdout() method (#181813)
`DAPTestCaseBase.get_stdout()` was originally not supported on Windows
due to the lack of ConPTY support.
https://github.com/llvm/llvm-project/pull/168729 fixed that by
implenenting the ConPTY support. It was partly reverted in
https://github.com/llvm/llvm-project/pull/177610 due to hard to
reproduce test failures.
The tests are now fixed (see the 2 patches below) and removing the check
for `GetFlags().Test(lldb::eLaunchFlagLaunchInTTY);` is the last step to
re-enabling ConPTY support.
This patch requires:
- https://github.com/llvm/llvm-project/pull/181811
- https://github.com/llvm/llvm-project/pull/181809
Fixes https://github.com/llvm/llvm-project/issues/137599.
rdar://168932366
Commit: 7c7a4f1cf55353a86bdf9b002139fbc8450650c3
https://github.com/llvm/llvm-project/commit/7c7a4f1cf55353a86bdf9b002139fbc8450650c3
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/do-while-to-scf-while.f90
Log Message:
-----------
[flang] fix do while lowering to SCF after unstructured context (#181996)
`maybeStartBlock(preheaderBlock);` should not be called when lowering a
DO WHILE in a structured fashion, it is meant to insert branches in
unstructured contexts lowering.
This had the side effect of inserting a back edge to the block
containing the scf for DO WHILE after a construct lowered in an
unstructured fashion because blocks may be unterminated after
unstructured lowering, and `maybeStartBlock` created a `cf.br` to its
argument when the current block is unterminated (and here, the argument
and current block where the same, creating an infinite loop).
Commit: fb40f2be557fe0c539d4cee4d64b6135f020e898
https://github.com/llvm/llvm-project/commit/fb40f2be557fe0c539d4cee4d64b6135f020e898
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h
M llvm/lib/Target/RISCV/RISCVInstrFormatsV.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Use getNamedOperandIdx in the RVVConstraint checks. (#181936)
Instead of using heuristics to find the vd, vs1, vs2, and vm operands,
look them up by name.
In the course of doing this, I found a few issues that have been fixed
in separate PRs, #181887 and #181895
The constraint on SF_VQMACC_2x8x2 had to be updated from Vs2 to Vs1
because the heuristics were finding the wrong operand name before so
the constraint had been adjusted to compensate.
We still need a bit of a hack to find the destination operand SMLoc for
some XSfvcp instructions.
Commit: 7be77495ca52acb380fca4e86f54f479a9bc8377
https://github.com/llvm/llvm-project/commit/7be77495ca52acb380fca4e86f54f479a9bc8377
Author: Artem Gindinson <gindinson at roofline.ai>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
Log Message:
-----------
[mlir][Math][SPIRV] fix `math.round` conversion for unit-dim vectors (#182067)
In SPIR-V, unit dimensional vectors, e.g. `vector<1xf32` are legalized
as scalars (vectors are 2, 3, 4, and possibly 8 and 16 dimensional).
This PR fixes the `math.round` conversion pattern to legalize these
vectors during conversion.
Co-authored-by: Ege Beysel <beysel at roofline.ai>
---------
Signed-off-by: Artem Gindinson <gindinson at roofline.ai>
Co-authored-by: Ege Beysel <beysel at roofline.ai>
Commit: 0e31e6aff82ba1eeea2a423ee66b285bfdceb022
https://github.com/llvm/llvm-project/commit/0e31e6aff82ba1eeea2a423ee66b285bfdceb022
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-structured-binding-size.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-trivally-copyable.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-types-compatible.c
Log Message:
-----------
[CIR] Fix type handling with TypeTraitExpr (#181944)
There were some cases when compiling a C program where
VisitTypeTraitExpr would return a cir.bool value for a TypeTraitExpr
that required an integer. This was happening because we were checking
`e->isStoredAsBoolean` which returns a result that is inconsistent with
the expression type for C compilation units.
This change fixes the handling and also adds support for other
non-boolean type trait expressions.
Commit: 5c8d24739935ba8c52476ebf15c3c14508689c62
https://github.com/llvm/llvm-project/commit/5c8d24739935ba8c52476ebf15c3c14508689c62
Author: daniilavdeev <daniilavdeev237 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/include/lldb/Utility/ArchSpec.h
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
Log Message:
-----------
[lldb] Add SubtargetFeatures to ArchSpec (#173046)
This patch introduces SubtargetFeatures in ArchSpec to enable consistent
handling of architecture-specific extensions in LLDB. For RISCV targets
in particular, it allows LLDB to propagate target extension features
from ELF attributes to expression evaluation and disassembly.
Commit: 9a228288f93df83cffb1af47e9b990ec94e2f1f9
https://github.com/llvm/llvm-project/commit/9a228288f93df83cffb1af47e9b990ec94e2f1f9
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/utils/TableGen/CodeGenMapTable.cpp
Log Message:
-----------
[TableGen] Assert that InstrMapping column values are valid (#182052)
For an InstrMapping table with multiple ValueCols, assert that the
column value passed into the generated map functions matches one of the
columns.
This functionality is only used a few times by a few in-tree targets and
they all seem fine with this change.
Commit: 5a8266d7a80e3ac10069b3760e4b90c443a5fcb2
https://github.com/llvm/llvm-project/commit/5a8266d7a80e3ac10069b3760e4b90c443a5fcb2
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/utils/TableGen/CodeGenMapTable.cpp
Log Message:
-----------
[TableGen] Use INSTRUCTION_LIST_END as a sentinel in InstrMapping tables (#182059)
Use INSTRUCTION_LIST_END instead of (uint32_t)-1 to indicate absence of
an entry in an InstrMapping table. This is more verbose in the generated
table but it is the canonical invalid opcode value and it avoids
confusion with the case where the generated map function returns
(uint64_t)-1 if the initial table row lookup fails.
Commit: 3603038c09a94f112a477a51a6eb4061bea674fd
https://github.com/llvm/llvm-project/commit/3603038c09a94f112a477a51a6eb4061bea674fd
Author: RolandF77 <froese at ca.ibm.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Log Message:
-----------
[PowerPC] replace inline code with DMFInsert1024 (#175997)
Replace inline code for 1024 bit DMR insert with DMFInsert1024 method calls.
Commit: 67ed355aa672e882f37c40d66c7c00cb457bef42
https://github.com/llvm/llvm-project/commit/67ed355aa672e882f37c40d66c7c00cb457bef42
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Remove unnecessary RVVConstraint = NoConstraint from instantiation of VAESKF1_VI/VAESKF2_VI. NFC
This is handled by the base class now.
Commit: 861a76378a20970df8db46b1e9ccfbd5ef16aead
https://github.com/llvm/llvm-project/commit/861a76378a20970df8db46b1e9ccfbd5ef16aead
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/test/Lower/OpenACC/acc-reduction.f90
Log Message:
-----------
[flang][acc] use new acc.reduction_combine under option (#182066)
Use the new acc.reduction_combine operation that was added in
https://github.com/llvm/llvm-project/pull/181853 when generating
reduction recipies.
To do this, the optional callback of genNoAliasArrayAssignment is
updated to work on addresses and being delegated the assignment part
too.
This change is guarded by two cl switch:
- openacc-use-reduction-combine: enable the change for
real/complex/integer reduction except min/max
- openacc-use-reduction-combine-all: enable the changed for all types
and operators.
Commit: 32bbb1b13c52e591d421362ba5c8ca475543ba92
https://github.com/llvm/llvm-project/commit/32bbb1b13c52e591d421362ba5c8ca475543ba92
Author: daniilavdeev <daniilavdeev237 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
A lldb/test/API/riscv/disassembler/TestDisassembler.py
A lldb/test/API/riscv/disassembler/a.out.yaml
A lldb/test/API/riscv/disassembler/conflicting.out.yaml
A lldb/test/API/riscv/disassembler/stripped.out.yaml
Log Message:
-----------
[lldb][RISCV] update RISCV target features in disassembler (#173047)
This patch replaces the hardcoded RISCV feature flags in disassembler
with SubtargetFeatures provided by ArchSpec, which are derived from
the .riscv.attributes ELF section. This ensures the disassembler uses
exactly the RISCV extensions present in the executable, improving the
accuracy and reliability of the disassembly output.
Commit: 4c225918a9e78463c9bf9cc0a26be5ae2ed1c827
https://github.com/llvm/llvm-project/commit/4c225918a9e78463c9bf9cc0a26be5ae2ed1c827
Author: daniilavdeev <daniilavdeev237 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/posix/HostThreadPosix.h
M lldb/source/Host/posix/HostThreadPosix.cpp
Log Message:
-----------
[lldb] Unify thread detaching by making HostThreadPosix override Reset() (#179470)
Remove the Detach() method from HostThreadPosix and instead override the
virtual Reset() function from HostNativeThreadBase, following the
pattern already used by HostThreadWindows. This provides a consistent
interface for platform-specific thread cleanup on all platforms.
The HostThreadPosix::Reset() implementation first calls pthread_detach()
before delegating to the base implementation
HostNativeThreadBase::Reset(), similar to how HostThreadWindows calls
CloseHandle() in its Reset() override.
This is a preparatory changes for https://github.com/llvm/llvm-project/pull/177572,
which addresses memory leakage in lldb-server. By unifying the logic of
detaching, it would be possible to introduce the behavioral change in a more
straightforward manner.
Commit: 3dd525ad88ab323f15cdfa801b3588f94c111831
https://github.com/llvm/llvm-project/commit/3dd525ad88ab323f15cdfa801b3588f94c111831
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR][NFC] Remove synthetic attribute from TryOp (#181915)
Remove the synthetic attribute from TryOp, which will not be needed
anymore and will be replaced by CleanupScopeOp
Commit: 3fafed392d9e7c5e2b65797c99391e7c552bbb85
https://github.com/llvm/llvm-project/commit/3fafed392d9e7c5e2b65797c99391e7c552bbb85
Author: Serosh <janmejayapanda400 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/bf16fmal.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/bf16fmal.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16fmal.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] change bf16fmal to be header-only and constexpr-compat (#181666)
Closes: #181628
Part of: #147386
Commit: df1eec77b55603f9e63840dfdada03c6d4d5b5e6
https://github.com/llvm/llvm-project/commit/df1eec77b55603f9e63840dfdada03c6d4d5b5e6
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/CodeGen/attr-no-outline.c
M clang/test/CodeGenObjC/attr-no-outline.m
M clang/test/Driver/aarch64-outliner.c
M clang/test/Driver/arm-machine-outliner.c
M clang/test/Driver/riscv-outliner.c
M clang/test/Driver/x86-outliner.c
Log Message:
-----------
[clang] Ensure -mno-outline adds attributes (#163692)
Before this change, `-mno-outline` and `-moutline` only controlled the
pass pipelines for the invoked compiler/linker.
The drawback of this implementation is that, when using LTO, only the
flag provided to the linker invocation is honoured (and any files which
individually use `-mno-outline` will have that flag ignored).
This change serialises the `-mno-outline` flag into each function's
IR/Bitcode, so that we can correctly disable outlining from functions in
files which disabled outlining, without affecting outlining choices for
functions from other files. This matches how other optimisation flags
are handled so the IR/Bitcode can be correctly merged during LTO.
Commit: 829afc4c91fcac3823cdf06baf683fe3356a9e91
https://github.com/llvm/llvm-project/commit/829afc4c91fcac3823cdf06baf683fe3356a9e91
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64-gfx10-err.cl
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-imm.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-iu-modifiers.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-swmmac-index_key.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-imm.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-iu-modifiers.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-swmmac-index_key.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-imm.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-iu-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-swmmac-index_key.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-imm.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-iu-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-swmmac-index_key.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64.ll
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx12-w32.mir
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx12-w64.mir
A llvm/test/MC/AMDGPU/gfx1170_asm_wmma_w32.s
A llvm/test/MC/AMDGPU/gfx1170_asm_wmma_w64.s
M llvm/test/MC/AMDGPU/literals.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_wmma_w32.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_wmma_w64.txt
Log Message:
-----------
[AMDGPU] Add WMMA and SWMMAC instructions for gfx1170 (#180731)
Introduce two new subtarget features:
- WMMA256bInsts for GFX11 WMMA instructions and
- WMMA128bInsts for GFX1170 and GFX12 WMMA and SWMMAC instructions
Some WMMA instructions have changed from GFX 11.0 to GFX 11.7 so new
Real versions were added with "_gfx1170" suffix. For consistency all
WMMA and SWMMAC GFX11.7 instructions use this suffix.
To resolve decoding issues between different formats for some WMMA
instructions between GFX 11 and GFX 11.7, new decoding tables were
added.
Commit: a51bc254bca4ead71e5b76d07db9197a2d601b8b
https://github.com/llvm/llvm-project/commit/a51bc254bca4ead71e5b76d07db9197a2d601b8b
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
A mlir/test/Integration/Dialect/XeGPU/LANE/no-xegpu-ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Add LANE level integration test without XeGPU ops. (#181891)
XeGPU LANE level integration test lacks a test without usage of any
XeGPU dialect ops.
Add an integration test without XeGPU dialect ops.
Commit: 29c768ca1a0cf0b56bb3f842dc47af16537299d6
https://github.com/llvm/llvm-project/commit/29c768ca1a0cf0b56bb3f842dc47af16537299d6
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/unittests/DAP/ProtocolRequestsTest.cpp
Log Message:
-----------
[lldb-dap] Add hex format in setVariable request (#181968)
Added hex format support in `setVariable` request according to DAP
specification.
Commit: ada69a1ddd0c764258794b97e0107fc70473f0fc
https://github.com/llvm/llvm-project/commit/ada69a1ddd0c764258794b97e0107fc70473f0fc
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
Log Message:
-----------
[CIR][NEON] Add lowering for `vfmah_f16` and `vfmsh_f16` (#181148)
As with other NEON builtins, reuse the existing default-lowering
tests to validate the CIR lowering path.
Commit: b9225e860769cc7c79bde294265e89eb22fb9ffc
https://github.com/llvm/llvm-project/commit/b9225e860769cc7c79bde294265e89eb22fb9ffc
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbinline.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
M lldb/test/API/commands/platform/connect/TestPlatformConnect.py
M lldb/test/API/commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py
M lldb/test/API/commands/process/launch/TestProcessLaunch.py
M lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py
M lldb/test/API/commands/statistics/basic/TestStats.py
M lldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py
M lldb/test/API/commands/target/dump-separate-debug-info/dwo/TestDumpDwo.py
M lldb/test/API/commands/trace/TestTraceStartStop.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
M lldb/test/API/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py
M lldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string/TestDataFormatterStdString.py
M lldb/test/API/functionalities/gdb_remote_client/TestPty.py
M lldb/test/API/functionalities/inferior-changed/TestInferiorChanged.py
M lldb/test/API/functionalities/limit-debug-info/TestLimitDebugInfo.py
M lldb/test/API/functionalities/module_cache/bsd/TestModuleCacheBSD.py
M lldb/test/API/functionalities/module_cache/debug_index/TestDebugIndexCache.py
M lldb/test/API/functionalities/rerun_and_expr/TestRerunAndExpr.py
M lldb/test/API/functionalities/rerun_and_expr_dylib/TestRerunAndExprDylib.py
M lldb/test/API/functionalities/thread/step_until/TestStepUntilAPI.py
M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py
M lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
M lldb/test/API/lang/cpp/abi_tag_lookup/TestAbiTagLookup.py
M lldb/test/API/lang/cpp/abi_tag_structors/TestAbiTagStructors.py
M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
M lldb/test/API/lang/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.py
M lldb/test/API/lang/cpp/gmodules/template-with-same-arg/TestTemplateWithSameArg.py
M lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
M lldb/test/API/lang/cpp/template-alias/TestTemplateAlias.py
M lldb/test/API/lang/cpp/template-function/TestTemplateFunctions.py
M lldb/test/API/lang/cpp/unique-types3/TestUniqueTypes3.py
M lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py
M lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py
M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
M lldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
M lldb/test/API/python_api/target-arch-from-module/TestTargetArchFromModule.py
M lldb/test/API/python_api/unified_section_list/TestModuleUnifiedSectionList.py
M lldb/test/API/source-manager/TestSourceManager.py
M lldb/test/API/test_utils/base/TestBaseTest.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/disconnect/TestDAP_disconnect.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-server/TestGdbRemotePlatformFile.py
M lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py
M lldb/test/API/types/AbstractBase.py
Log Message:
-----------
[lldb] Allow tests to share a single build (#181720)
This changes Python API tests to use a single build shared across all
test functions, instead of the previous default behavior of a separate
build dir for each test function.
This build behavior opt-out, tests can use the previous behavior of one
individual (unshared) build directory per test function, by setting
`SHARED_BUILD_TESTCASE` to False (in the test class).
The motivation is to make the test suite more efficient, by not
repeatedly building the same test source. When running tests on my macOS
machine, this reduces the time of `ninja check-lldb-api` by almost 60%
(sample numbers: from ~492s down to ~207s = 58%). Almost 5min time
saved.
Each test function still calls `self.build()`, but only the first call
will do a build, in the subsequent tests `make` will be a no-op because
the sources won't have changed.
Commit: 89065b5fe70d651e64dab14a4949c8594f03e0e4
https://github.com/llvm/llvm-project/commit/89065b5fe70d651e64dab14a4949c8594f03e0e4
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[NFC] Re-enable MSVC C4351 diagnostic (#182082)
>From MSDN:
https://learn.microsoft.com/en-us/previous-versions/1ywe7hcy(v=vs.140)
This diagnostic is no longer documented in MSDN and from my local
testing, the diagnostic is not emitted in our source. I believe we no
longer need to disable this diagnostic.
Commit: 157f8200111ffd8b62829c7d6305b250041bfc8d
https://github.com/llvm/llvm-project/commit/157f8200111ffd8b62829c7d6305b250041bfc8d
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang-tools-extra/clangd/TidyProvider.cpp
Log Message:
-----------
[clangd] Add abseil-unchecked-statusor-access to list of ignored checks (#181864)
This
[check](https://clang.llvm.org/extra/clang-tidy/checks/abseil/unchecked-statusor-access.html)
also depends on dataflow framework.
Commit: ca21a65dd8c085e5a6a700f492f6a86d2e952590
https://github.com/llvm/llvm-project/commit/ca21a65dd8c085e5a6a700f492f6a86d2e952590
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/test/CodeGenHLSL/matrix_types.hlsl
M clang/test/CodeGenHLSL/resources/default_cbuffer_with_layout.hlsl
Log Message:
-----------
[HLSL][Cbuffer][Matrix] Add Cbuffer padding and createBufferMatrixTempAddress (#181903)
fixes #181901
This change detects when a HLSL Cbuffer matrix’s layout differs from its
in-memory type and materializes a temporary with the non-padded matrix
type. Matrix elements are copied explicitly from the padded buffer
layout into the temporary, ensuring correct addressing and avoiding
overlapping GEPs or incorrect vector flattening.
Commit: 7c0cbb1602099a266befeff48d1b26a9f33db11d
https://github.com/llvm/llvm-project/commit/7c0cbb1602099a266befeff48d1b26a9f33db11d
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/resources/cbuffer_matrix_align.hlsl
Log Message:
-----------
[HLSL] Define CBuffer field alignment for matrix types (#179836)
fixes https://github.com/llvm/llvm-project/issues/179834
Change defines Matrix alignment as buffer row length (16). Same as
arrays and structs.
Change also adds tests for matrix, matrix in structs, & arrays.
Commit: 959590525251d10accda7ad25a5c3253b5d3e898
https://github.com/llvm/llvm-project/commit/959590525251d10accda7ad25a5c3253b5d3e898
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
Log Message:
-----------
[clang][ssaf] Improve docs of SerializationFormatRegistry (#181847)
Commit: cc0d7bf58090894d32f520cda3051466b4f2209e
https://github.com/llvm/llvm-project/commit/cc0d7bf58090894d32f520cda3051466b4f2209e
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Fix Bazel build for 5c8d247 (#182092)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: ee3068bd18b23ceb30c0464395fa182cfa28a5fb
https://github.com/llvm/llvm-project/commit/ee3068bd18b23ceb30c0464395fa182cfa28a5fb
Author: Marcos Maronas <mmaronas at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/vector-type-constant-folding.ll
Log Message:
-----------
[ConstantFolding] Fix type mismatch in ConstantFolding for vector types. (#181695)
Drop `Bitcast` case from `IsConstantOffsetFromGlobal` to avoid
misdetections.
Commit: 27144f4c2e40e6950a06b298c24ae8f4e26e2309
https://github.com/llvm/llvm-project/commit/27144f4c2e40e6950a06b298c24ae8f4e26e2309
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AMDGPU/R600InstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.h
M llvm/utils/TableGen/CodeGenMapTable.cpp
Log Message:
-----------
[TableGen] Return int32_t from InstrMapping table lookup functions. NFC. (#182079)
Since #182059 there is only one case in which these functions return -1,
so callers no longer need to distinguish between (int64_t)-1 and
(uint32_t)-1, so we can go back to a 32-bit return value like it was
before #180954.
Commit: 15488a7f78ce7b9ae3c06b031134e5cb339b335c
https://github.com/llvm/llvm-project/commit/15488a7f78ce7b9ae3c06b031134e5cb339b335c
Author: Xing Xue <xingxue at outlook.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/crash-diagnostics-dir-3.c
M clang/test/Driver/crash-diagnostics-dir.c
M clang/test/Driver/crash-ir-repro.cpp
M clang/test/Driver/crash-report-clang-cl.cpp
M clang/test/Driver/crash-report-header.h
M clang/test/Driver/crash-report-spaces.c
M clang/test/Driver/crash-report-with-asserts.c
M clang/test/Driver/crash-report.cpp
M clang/test/Driver/emit-reproducer.c
M clang/test/Driver/lit.local.cfg
M clang/test/Driver/output-file-cleanup.c
M clang/tools/driver/driver.cpp
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/llvm-driver-template.cpp.in
M llvm/include/llvm/Support/CrashRecoveryContext.h
M llvm/include/llvm/Support/InitLLVM.h
M llvm/include/llvm/Support/Signals.h
M llvm/lib/Support/CrashRecoveryContext.cpp
M llvm/lib/Support/InitLLVM.cpp
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/Support/Windows/Signals.inc
Log Message:
-----------
[LLVM][CLANG] Update signal-handling behavior to comply with POSIX (#169340)
The POSIX standard
[POSIX.1-2024](https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap01.html#tag_18)
specifies how the utility reacts to signals as follows. This includes
clang when invoke through a invocation such as
[c17](https://pubs.opengroup.org/onlinepubs/9799919799/utilities/c17.html)
```
ASYNCHRONOUS EVENTS
The ASYNCHRONOUS EVENTS section lists how the utility reacts to such events as signals and what signals are caught.
Default Behavior: When this section is listed as "Default.", or it refers to "the standard action" for any signal, it means that the action taken as a result of the signal shall be as follows:
If the action inherited from the invoking process, according to the rules of inheritance of signal actions defined in the System Interfaces volume of POSIX.1-2024, is for the signal to be ignored, the utility shall ignore the signal.
If the action inherited from the invoking process, according to the rules of inheritance of signal actions defined in System Interfaces volume of POSIX.1-2024, is the default signal action, the result of the utility's execution shall be as if the default signal action had been taken.
When the required action is for the signal to terminate the utility, the utility may catch the signal, perform some additional processing (such as deleting temporary files), restore the default signal action, and resignal itself.
```
This PR updates the LLVM/Clang’s behavior accordingly by not installing
a signal handler when the inherited disposition is `SIG_IGN`, and by
ensuring that the exit code reflects the terminating signal number,
resignaling after the signal is handled. Additionally, test cases have
been updated to expect failures due to signals/crashes rather than
regular errors.
[<signal.h>](https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/signal.h.html)
specifies the default action of signals.
Commit: e58d3250aa0b2c29d06e75e352b52b85c0f62e85
https://github.com/llvm/llvm-project/commit/e58d3250aa0b2c29d06e75e352b52b85c0f62e85
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/map/TestDataFormatterStdMap.py
Log Message:
-----------
[lldb] Disable shared build dir for TestDataFormatterStdMap.py (#182096)
Follow up to #181720. This test failed on builder lldb-x86_64-debian.
Commit: e612350b334a01854e4e86d344d3ba12ad6c209a
https://github.com/llvm/llvm-project/commit/e612350b334a01854e4e86d344d3ba12ad6c209a
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
Log Message:
-----------
[lldb-dap][NFC] Modernize events handling in tests (#181542)
Migrated `initialized` and `memory` events to new style handling.
Commit: 9b3470d56f9f81f3076dbd4afc6c415098ab7a87
https://github.com/llvm/llvm-project/commit/9b3470d56f9f81f3076dbd4afc6c415098ab7a87
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/PowerPC/clmul-vector.ll
Log Message:
-----------
[DAG] expandCLMUL - unroll vector clmul if vector multiplies are not supported (#182041)
Fixes powerpc cases reported on #182039
I'm hoping #177566 can be adapted to improve upon this.
Commit: 76ddcdf1202fac52ba9b1c630289553055d2f480
https://github.com/llvm/llvm-project/commit/76ddcdf1202fac52ba9b1c630289553055d2f480
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
A clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl
M clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixSplatErrors.hlsl
Log Message:
-----------
[Sema][HLSL][Matrix] Make matrices initializable by a single vector and vice-versa (#177486)
Fixes #169561
The problem was that the logic for determining whether or not to convert
constructor syntax into list initialization did not account for cases
where the constructor only had a single argument. Thus, the constructor
for a matrix with a single vector, or a vector with a single matrix did
not convert to list initialization despite being valid (in DXC).
This PR allows constructor syntax to be converted into list
initialization when the number of arguments in the constructor is 1, but
if and only if the destination type is a matrix/vector and the source
type is a vector/matrix.
Commit: 790bef9d466c90f73aa3c8d7cd40b6e5272a7250
https://github.com/llvm/llvm-project/commit/790bef9d466c90f73aa3c8d7cd40b6e5272a7250
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.ll
A llvm/test/MC/AMDGPU/gfx1170_unsupported.s
Log Message:
-----------
[AMDGPU] Remove V_DOT2ACC_F32_F16 from gfx1170 (#182088)
Commit: 9248d1959270f87d7dc823fc31b3c235010f54e0
https://github.com/llvm/llvm-project/commit/9248d1959270f87d7dc823fc31b3c235010f54e0
Author: Ayush Kumar Gaur <132849148+Ayush3941 at users.noreply.github.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
Log Message:
-----------
[mlir][LLVM] Fix verifier crash for llvm.blockaddress with missing function (#181519)
### Whats the Problem
Fix verifier crash in `llvm.blockaddress` when the referenced function
symbol is missing by guarding null before `dyn_cast`.
Adds regression test using `-verify-diagnostics` to ensure invalid IR
emits an error instead of aborting.
### Why it happened
`SymbolTable::lookupNearestSymbolFrom` may return null, and `dyn_cast`
on a non-existent value triggers an assertion in `mlir-opt`.
### Whats the Fix
Split symbol lookup returning early if lookup fails or symbol is not an
`LLVMFuncOp`.
Verifier now reports “expects an existing block label target” instead of
hitting `dyn_cast` assert.
Fixes #181451
Commit: 188fb93581bb15c7ae41e2cb33dd6b0e0d58a50e
https://github.com/llvm/llvm-project/commit/188fb93581bb15c7ae41e2cb33dd6b0e0d58a50e
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[WebKit Checkers] Trivial analysis should check destructors of function parameters and local variables (#181576)
This PR fixes the bug in TrivialFunctionAnalysisVisitor that it wasn't
checking the triviality of destructors of function parameters and local
variables. This meant that code calls a non-trivial desturctors such as
RefPtr<T>::~RefPtr<T> which calls T::~T to be incorrectly treated as
trivial, resulting in false negatives.
To do this, we manually visit every function parameter and local
variable declaration and check the triviality of its destructor
recursively.
Also fix a bug that we were checking isVirtualAsWritten instead of
isVirtual in IsFunctionTrivial.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 5df3d91934b76297daae01de944dc70cdca6b001
https://github.com/llvm/llvm-project/commit/5df3d91934b76297daae01de944dc70cdca6b001
Author: Jan Voung <jvoung at google.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
Log Message:
-----------
[clang][dataflow] Cache getModeledFields (#180878)
Cache getModeledFields at the DataflowAnalysisContext level, since
different contexts could have different ModeledFields for the same type,
and helps cap the memory usage by being scoped. This isn't the most
sharing we can get, but still effective (~70% hit rate). Otherwise, the
underlying getFieldsFromClassHierarchy is repeated many times and can
end up taking 4.6% of a run (geomean across some benchmarks), compared
to 40% for parsing, and 5.3% for querySolver for the same benchmarks. So
not insignificant since we also wonder if querySolver is expensive.
Also change the return type to a reference, now that it is not fresh Set
each time (though that copy is minor).
Commit: 90e8deb1d5b439dd01ee7f55a9c1d8381f536a19
https://github.com/llvm/llvm-project/commit/90e8deb1d5b439dd01ee7f55a9c1d8381f536a19
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[MemProf] Optimize BitcodeReader stack id lookups (#182097)
Introduce StackIdToIndex to ModuleSummaryIndexBitcodeReader to cache the
mapping from module-local stack id indices to the global index in the
ModuleSummaryIndex's StackIds vector. This avoids repeated hash lookups
when processing callsite and allocation records.
This reduced the thin link time for a large target built with memprof
by ~16%.
Also add assertions to ensure STACK_IDS records are processed once and
that the cache is empty initially.
Commit: 6ec5c1e368b576a662e4d38cb1da2c5e2b0e0067
https://github.com/llvm/llvm-project/commit/6ec5c1e368b576a662e4d38cb1da2c5e2b0e0067
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
A mlir/test/Dialect/Vector/vector-multi-reduction-flattening.mlir
M mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir
M mlir/test/Dialect/Vector/vector-multi-reduction-outer-lowering.mlir
M mlir/test/python/dialects/transform_vector_ext.py
Log Message:
-----------
[mlir][vector] Add multi_reduction_flattening (#181244)
* Adds tests for `populateVectorMultiReductionFlatteningPatterns`
* Add apply_patterns.vector.multi_reduction_flattening transform op.
This follows PR #180977.
Assisted-by: claude
Commit: 3b5ed869837b80d3c52821b779f27d074fde7eeb
https://github.com/llvm/llvm-project/commit/3b5ed869837b80d3c52821b779f27d074fde7eeb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
Log Message:
-----------
AMDGPU: Libcall expand fast pow/powr/pown/rootn for float case (#180553)
This is to eliminate the special case global unsafe math options
in these functions from the library. The core operation only
uses about 4 instructions, and then there's an additional prolog
and/or epilog to fixup special cases.
I have an alternative patch which implements this by using separate
entrypoints in the library, and having the pass replace the calls
instead of this full handling. However, given the unfortunate state
of library development, it requires a full year to make cross project
changes. This is the most expedient path to deleting the control
library;
in the future we can do libcall emission when compiler has the real
ability to properly emit new calls.
This is mostly a direct port of these functions:
https://github.com/ROCm/llvm-project/blob/amd-staging/amd/device-libs/ocml/src/powF_base.h
I used copilot to do the heavy lifting on the drudgery of writing out
all the IRBuilder calls. It mostly worked, though it made mistakes in
porting != (used the ONE instead of UNE), plus some API usage errors.
The exact output isn't exactly the same. The ordering of some
instructions is different and some conditions and selects are inverted.
This expansion also preserves the flags, so the finite only case optimizes
better than with the library code (this is largely because fast math flags aren't
propagated yet, except for the few places SimplifyDemandedFPClass is called).
Alive2 verifies the library function with the special fast math path
functions have the same behavior as the result of this expansion. afn
only case: https://alive2.llvm.org/ce/z/uoPBC2
I did not bother trying to specially optimize the finite only cases
here. They get cleaned up by instcombine anyway, so doing so would only
be a hypothetical compile time improvement for a lot of additional complexity.
The exception would be existing, overlapped code in the pass. There's some
overlap here with existing code in the pass. The afn+ninf+nnan case for powr
already does the rewrite to the 4 instruction core sequence, which takes precedence
over this. In the future this should be merged, but it's more annoying now since the
old path also handles it for the f64 case via libcall emission since the intrinsic won't
work.
Commit: 15ad4d08776bcf1c71cc65ea8df54279774db96a
https://github.com/llvm/llvm-project/commit/15ad4d08776bcf1c71cc65ea8df54279774db96a
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Lower/OpenMP/order-clause.f90
M flang/test/Lower/OpenMP/simd-linear.f90
M flang/test/Lower/OpenMP/simd.f90
A flang/test/Semantics/OpenMP/implicit_linear_symbols.f90
Log Message:
-----------
[flang][OpenMP]Fix versioning for implicit linear clause (#181791)
The versioning of the implicit linear clause was set at OpenMP 4.5.
However, versions v5.0 and v5.2 also allow implicit linearisation, which
was missed earlier. This PR fixes this.
OpenMP v5.0 (2.19.1.1) : "_The loop iteration variable in the associated
do-loop of a simd construct with just one associated do-loop is linear
with a linear-step that is the increment of the associated do-loop_."
OpenMP v5.2 (5.1.1) : "_The loop iteration variable in the associated
loop of a simd construct with just one associated loop is linear with a
linear-step that is the increment of the associated loop_"
OpenMP v6.0 (7.1.1) : "_The loop-iteration variable in any affected loop
of a loop or simd construct is lastprivate_."
Fixes: https://github.com/llvm/llvm-project/issues/179345
Commit: 5155ef7462e921ef694d4fa4c4d61b3f932613f5
https://github.com/llvm/llvm-project/commit/5155ef7462e921ef694d4fa4c4d61b3f932613f5
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Target/X86/BUILD.gn
Log Message:
-----------
[gn build] Fix BUILD.gn formatting
Commit: 4f0eb3d3af443ff54425ebafce83b87ee61ee403
https://github.com/llvm/llvm-project/commit/4f0eb3d3af443ff54425ebafce83b87ee61ee403
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_arm64.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_arm64.h
Log Message:
-----------
[lldb][Process/FreeBSDKernel] Fix broken debugging on aarch64 (#180222)
`struct pcb` for arm64 has changed In
https://github.com/freebsd/freebsd-src/commit/1c1f31a5e517ebb940c752c3468b03cdc687c5c7#diff-d07b4e228ca340857a90658e328d65f8dea9c5063e99197fbaaa046d97ae927c,
which broke kernel debugging on AArch64. Add support for FreeBSD 14 and
later by finding `osreldate`.
Until FreeBSD 13 (previous `struct pcb` contained information for all
registers):
```console
(lldb) register read
General Purpose Registers:
x0 = 0x0000000000000000
x1 = 0x0000000000000000
x2 = 0x0000000000000000
x3 = 0x0000000000000000
x4 = 0x0000000000000000
x5 = 0x0000000000000000
x6 = 0x0000000000000000
x7 = 0x0000000000000000
x8 = 0x0000000000000000
x9 = 0x0000000000000000
x10 = 0x0000000000000000
x11 = 0x0000000000000000
x12 = 0x0000000000000000
x13 = 0x0000000000000000
x14 = 0x0000000000000000
x15 = 0x0000000000000000
x16 = 0x0000000000000000
x17 = 0x0000000000000000
x18 = 0x0000000000000000
x19 = 0xffff000000b2e000 dumper_configs_mtx_sysuninit_sys_uninit + 16
x20 = 0x0000000000000000
x21 = 0xffff000000bce000 vop_spare1_desc + 24
x22 = 0xffff000000c8a9b8 kernel`db_cmd_table
x23 = 0xffff000000c8b000 kernel`db_lhistory + 1496
x24 = 0x000000000000006c
x25 = 0x0000000000000065
x26 = 0x0000000000000068
x27 = 0x0000000000000004
x28 = 0xffff000000c8b4d1 kernel`db_tok_string + 1
fp = 0xffff0002d751de60
sp = 0xffff0002d751de60
pc = 0xffff00000045ea78 kernel`dump_savectx + 20
2 registers were unavailable.
```
Since FreeBSD 14 (these are defined in the new `struct pcb`):
```console
(lldb) register read
General Purpose Registers:
x19 = 0xffff000000d65000 M_PLIMIT + 48
x20 = 0xffff000000e23000 sdta_vfs_vop_vop_inotify_add_watch_return2 + 8
x21 = 0xffffa7ff822b98a8
x22 = 0xffff000000e23000 sdta_vfs_vop_vop_inotify_add_watch_return2 + 8
x23 = 0xffff000000e23000 sdta_vfs_vop_vop_inotify_add_watch_return2 + 8
x24 = 0xffff000000e23000 sdta_vfs_vop_vop_inotify_add_watch_return2 + 8
x25 = 0xffff000000dc4000 _mod_metadata_md_its_fdt_gic_on_kernel + 16
x26 = 0x0000000000000000
x27 = 0x00004b4ad79674cc
x28 = 0x0000000000000004
fp = 0xffff00028f6f8380
lr = 0xffff000000519e98 kernel`doadump + 60 at kern_shutdown.c:399:2
sp = 0xffff00028f6f8380
pc = 0x0000000081144c80
20 registers were unavailable.
```
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: 82a586d0095b2f2fe908c967864ce75c15d39381
https://github.com/llvm/llvm-project/commit/82a586d0095b2f2fe908c967864ce75c15d39381
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
Log Message:
-----------
AMDGPU: Regenerate test checks for pow libcall simplify (#182127)
Merge was on stale output.
Commit: cd710ef2fdeb62553ade18a431e50fd2b4807100
https://github.com/llvm/llvm-project/commit/cd710ef2fdeb62553ade18a431e50fd2b4807100
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/driver.bzl
Log Message:
-----------
[bazel][clang] Fix Bazel build after 15488a7f78ce (#182117)
Mimics the changes to cmake files added in 15488a7f78ce.
Commit: e532a4fd9bdcdb82b77314e63aeb4423876cb692
https://github.com/llvm/llvm-project/commit/e532a4fd9bdcdb82b77314e63aeb4423876cb692
Author: daniilavdeev <daniilavdeev237 at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/test/API/riscv/disassembler/TestDisassembler.py
Log Message:
-----------
[lldb][test] Mark TestDisassembler with @skipIfLLVMTargetMissing("RISCV") (#182126)
Commit: dee675d1d6030564f4b9ab05f323586867afe5a0
https://github.com/llvm/llvm-project/commit/dee675d1d6030564f4b9ab05f323586867afe5a0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
Log Message:
-----------
AMDGPU: Update another stale test
Missed in 82a586d0095b2f2fe908c967864ce75c15d39381
Commit: b314fa95555c2ba17e944302a52bf60a9e84bf44
https://github.com/llvm/llvm-project/commit/b314fa95555c2ba17e944302a52bf60a9e84bf44
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb] Disable shared build dir when testing with PDB (#182133)
Follow up to #181720.
Commit: a6e8de74079c1b2fd1d65ea9d591844b94820187
https://github.com/llvm/llvm-project/commit/a6e8de74079c1b2fd1d65ea9d591844b94820187
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Fix `MainOp/AltOp` assertion to check the correct value (#182093)
Previously both assertions were checking MainOp.
Initial assertion added incorrectly in d41e517748e2d.
Commit: cb87d346b4e10b8a2cb1b1e284cd2ea3233c5f0f
https://github.com/llvm/llvm-project/commit/cb87d346b4e10b8a2cb1b1e284cd2ea3233c5f0f
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Retrieve vector trip count from BranchOnCount (NFC).
In preparePlanForMainVectorLoop, the vector trip count may already be
materialized, e.g. when narrowing interleave groups. VPSymbolicValues
should not be accessed after materializing. Instead retrieve the trip
count directly from the branch-on-count. This is NFC at the moment, but
is needed to tighten VPSymbolicValue access verification.
Commit: 3e82ccb0898da6c01be65a548e9eeafa907ccb5b
https://github.com/llvm/llvm-project/commit/3e82ccb0898da6c01be65a548e9eeafa907ccb5b
Author: Samrudh Nelli <samrudhnelli at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
Log Message:
-----------
[clang-doc] Replace HTML-CHECK commands with HTML-CHECK-NEXT commands (#181330)
fixes #170733
Commit: f481bf103148a621640e77126d895155ce6dd2a6
https://github.com/llvm/llvm-project/commit/f481bf103148a621640e77126d895155ce6dd2a6
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
M mlir/lib/Target/LLVMIR/Dialect/XeVM/XeVMToLLVMIRTranslation.cpp
M mlir/test/Conversion/XeVMToLLVM/xevm-to-llvm.mlir
M mlir/test/Integration/Dialect/XeVM/GPU/xevm_block_load_store.mlir
M mlir/test/Target/LLVMIR/xevm.mlir
Log Message:
-----------
[MLIR][XeVM] Update cache control values and metadata format. (#175274)
Fix incorrect cache control metadata values and format.
Commit: faff38c4215a177087936703f1556234d624f1fe
https://github.com/llvm/llvm-project/commit/faff38c4215a177087936703f1556234d624f1fe
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M mlir/lib/Target/LLVM/CMakeLists.txt
M mlir/lib/Target/LLVM/XeVM/Target.cpp
Log Message:
-----------
[MLIR][XeVM] Update XeVM target (#179557)
XeVM target needs to enable several SPV_INTEL extensions.
- SPV_INTEL_cache_controls
- SPV_INTEL_variable_length_array
- SPV_EXT_relaxed_printf_string_address_space
Override `run()` method to customize target machine with extensions.
Commit: f7497f784c9d2568c3573a48146650353933b16a
https://github.com/llvm/llvm-project/commit/f7497f784c9d2568c3573a48146650353933b16a
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Add truncf and dpas_mx ops (#180059)
Add truncf and dpas_mx ops to support low precision floating point mma compute.
Commit: 34c28ba3d032fd3da0da2571af7ade004814a98f
https://github.com/llvm/llvm-project/commit/34c28ba3d032fd3da0da2571af7ade004814a98f
Author: adams381 <adams at nvidia.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/builtins-elementwise.c
M clang/test/CIR/CodeGen/libc.c
A clang/test/CIR/CodeGen/pred-info-builtins.c
A clang/test/CIR/CodeGenBuiltins/builtin-rotate.c
M clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
Log Message:
-----------
[CIR] Add non-floating-point builtin intrinsics (#178093)
## Summary
This PR adds support for non-floating-point builtin intrinsics as a
follow-up to #175233:
- Integer `abs`/`labs`/`llabs` with `cir.abs` operation
- `__builtin_unpredictable` handling
- Integer elementwise abs support
- Tests: `builtin-rotate.c`, `pred-info-builtins.c`, updates to `libc.c`
and `builtins-elementwise.c`
## Dependency
**This PR depends on #175233 (FP math builtins) and should be merged
after it.**
The non-FP builtins were split from #175233 per reviewer feedback to
reduce PR size.
## Test plan
- [x] All CIR codegen tests pass
- [x] All CIR tests pass
Commit: fdef40a6e521d740aad5ff512781963cf8a1675c
https://github.com/llvm/llvm-project/commit/fdef40a6e521d740aad5ff512781963cf8a1675c
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/test/API/debuginfod/Normal/TestDebuginfod.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteForkNonStop.py
Log Message:
-----------
[lldb] Disable shared builds in two more tests (#182138)
Follow up to https://github.com/llvm/llvm-project/pull/181720
Commit: d9caa9481bbb73e2f1ca1364846832637b9b71e1
https://github.com/llvm/llvm-project/commit/d9caa9481bbb73e2f1ca1364846832637b9b71e1
Author: Reid Kleckner <rnk at llvm.org>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[Clang][Docs] Add documentation for the address_space attribute (#181924)
Someone asked for docs on Discourse:
https://discourse.llvm.org/t/what-are-the-precise-semantics-of-the-address-space-attribute/89752
I was going to respond, and then I decided to respond in the form of a
PR, since I have a doc building environment set up.
I used an LLM, but I ended up rewriting most of the text.
Commit: e980a01fa3cbdc507a1f0c91a507129330e44b2f
https://github.com/llvm/llvm-project/commit/e980a01fa3cbdc507a1f0c91a507129330e44b2f
Author: shubhamnarlawar <68635493+shubhamnarlawar at users.noreply.github.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/invalid.mlir
Log Message:
-----------
[MLIR][Linalg] Diagnose unsupported types in Linalg named op region builders (#181616)
Plumb emitError callbacks through Linalg named op region builders so
RegionBuilderHelper emits diagnostics instead of hitting
llvm_unreachable for unsupported operand element types (e.g. amx.tile).
Update linalg/invalid.mlir to add functions - linalg.batch_matmul(),
linalg.batch_reduce_matmul() and linalg.matmul() with amx.tile operands
to ensure mlir-opt fails gracefully without crash.
Commit: 78ff5b55fd396ba80fdd3ea890192c0037c00d6d
https://github.com/llvm/llvm-project/commit/78ff5b55fd396ba80fdd3ea890192c0037c00d6d
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M offload/test/api/assert.c
M offload/test/api/omp_device_managed_memory.c
M offload/test/api/omp_device_managed_memory_alloc.c
M offload/test/api/omp_device_memory.c
M offload/test/api/omp_device_uid.c
M offload/test/api/omp_env_vars.c
M offload/test/api/omp_get_device_num.c
M offload/test/api/omp_get_num_devices.c
M offload/test/api/omp_host_call.c
M offload/test/api/omp_host_pinned_memory.c
M offload/test/api/omp_host_pinned_memory_alloc.c
M offload/test/api/ompx_3d.c
M offload/test/api/ompx_3d.cpp
M offload/test/api/ompx_sync.c
M offload/test/api/ompx_sync.cpp
M offload/test/env/omp_target_debug.c
M offload/test/libc/malloc_parallel.c
M offload/test/mapping/declare_mapper_target.cpp
M offload/test/mapping/declare_mapper_target_data.cpp
M offload/test/mapping/declare_mapper_target_data_enter_exit.cpp
M offload/test/mapping/declare_mapper_target_update.cpp
M offload/test/mapping/delete_inf_refcount.c
M offload/test/mapping/firstprivate_aligned.cpp
M offload/test/mapping/has_device_addr.cpp
M offload/test/mapping/is_accessible.cpp
M offload/test/mapping/is_device_ptr.cpp
M offload/test/mapping/lambda_by_value.cpp
M offload/test/mapping/ompx_hold/target.c
M offload/test/mapping/prelock.cpp
M offload/test/mapping/present/target.c
M offload/test/mapping/present/target_array_extension.c
M offload/test/mapping/present/unified_shared_memory.c
M offload/test/mapping/present/zero_length_array_section.c
M offload/test/mapping/private_mapping.c
M offload/test/mapping/reduction_implicit_map.cpp
M offload/test/mapping/target_implicit_partial_map.c
M offload/test/mapping/use_device_addr/target_use_device_addr.c
M offload/test/offloading/assert.cpp
M offload/test/offloading/back2back_distribute.c
M offload/test/offloading/bug49334.cpp
M offload/test/offloading/bug51982.c
M offload/test/offloading/bug64959.c
M offload/test/offloading/bug64959_compile_only.c
M offload/test/offloading/bug74582.c
M offload/test/offloading/ctor_dtor_api.cpp
M offload/test/offloading/ctor_dtor_lazy.cpp
M offload/test/offloading/dynamic_module.c
M offload/test/offloading/dynamic_module_load.c
M offload/test/offloading/high_trip_count_block_limit.cpp
M offload/test/offloading/looptripcnt.c
M offload/test/offloading/malloc.c
M offload/test/offloading/memory_manager.cpp
M offload/test/offloading/multiple_reductions_simple.c
M offload/test/offloading/offloading_success.c
M offload/test/offloading/offloading_success.cpp
M offload/test/offloading/ompx_bare.c
M offload/test/offloading/ompx_coords.c
M offload/test/offloading/ompx_saxpy_mixed.c
M offload/test/offloading/parallel_offloading_map.cpp
M offload/test/offloading/parallel_target_teams_reduction.cpp
M offload/test/offloading/parallel_target_teams_reduction_max.cpp
M offload/test/offloading/parallel_target_teams_reduction_min.cpp
M offload/test/offloading/requires.c
M offload/test/offloading/small_trip_count.c
M offload/test/offloading/small_trip_count_thread_limit.cpp
M offload/test/offloading/spmdization.c
M offload/test/offloading/target-teams-atomic.c
M offload/test/offloading/target_constexpr_mapping.cpp
M offload/test/offloading/target_critical_region.cpp
M offload/test/offloading/target_map_for_member_data.cpp
M offload/test/offloading/task_in_reduction_target.c
M offload/test/offloading/taskloop_offload_nowait.cpp
M offload/test/offloading/wtime.c
M offload/test/ompt/veccopy.c
M offload/test/ompt/veccopy_data.c
M offload/test/ompt/veccopy_disallow_both.c
M offload/test/ompt/veccopy_emi.c
M offload/test/ompt/veccopy_emi_map.c
M offload/test/ompt/veccopy_map.c
M offload/test/ompt/veccopy_no_device_init.c
M offload/test/ompt/veccopy_wrong_return.c
M offload/test/sanitizer/double_free.c
M offload/test/sanitizer/double_free_racy.c
M offload/test/sanitizer/free_host_ptr.c
M offload/test/sanitizer/free_wrong_ptr_kind.c
M offload/test/sanitizer/free_wrong_ptr_kind.cpp
M offload/test/sanitizer/ptr_outside_alloc_1.c
M offload/test/sanitizer/ptr_outside_alloc_2.c
M offload/test/unified_shared_memory/close_manual.c
Log Message:
-----------
[offload][lit] Enable/disable tests on Level Zero when using DeviceRTL (#182128)
Since we can now build the DeviceRTL with SPIR-V, redo the
`XFAIL/UNSUPPORTED` specifications for the tests we see passing/failing
on the Level Zero backend with the DeviceRTL being used.
The tests marked `UNSUPPORTED` hang or sporadically fail and those are
tracked in https://github.com/llvm/llvm-project/issues/182119.
This change will allow us to enable CI testing with the DeviceRTL.
Here are the full test results with this change applied, running only
the `spirv64-intel` `check-offload` tests:
```
Total Discovered Tests: 453
Unsupported : 206 (45.47%)
Passed : 141 (31.13%)
Expectedly Failed: 106 (23.40%)
```
31% is not a bad start.
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: b453adff7ac47421751cf9ad598af420733b5fe2
https://github.com/llvm/llvm-project/commit/b453adff7ac47421751cf9ad598af420733b5fe2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/source/Plugins/Highlighter/TreeSitter/CMakeLists.txt
M lldb/source/Plugins/Highlighter/TreeSitter/README.md
A lldb/source/Plugins/Highlighter/TreeSitter/Rust/CMakeLists.txt
A lldb/source/Plugins/Highlighter/TreeSitter/Rust/HighlightQuery.h.in
A lldb/source/Plugins/Highlighter/TreeSitter/Rust/RustTreeSitterHighlighter.cpp
A lldb/source/Plugins/Highlighter/TreeSitter/Rust/RustTreeSitterHighlighter.h
A lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust/LICENSE
A lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust/grammar.js
A lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust/highlights.scm
A lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust/scanner.c
A lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust/tree-sitter.json
M lldb/unittests/Highlighter/CMakeLists.txt
M lldb/unittests/Highlighter/HighlighterTest.cpp
Log Message:
-----------
[lldb] Add tree-sitter based Rust syntax highlighting (#181282)
This adds tree-sitter based Rust syntax highlighting to LLDB. It
consists of the RustTreeSitterHighlighter plugin and the vendored Rust
grammar [1], which is licensed under MIT.
[1] https://github.com/tree-sitter/tree-sitter-rust
Commit: a7c25ba33c439e28cfde79cc1b61eb525c045df9
https://github.com/llvm/llvm-project/commit/a7c25ba33c439e28cfde79cc1b61eb525c045df9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Fix reorered -> reordered
Commit: 11a13be40086319c1b6a824f6539ffed5aa2c524
https://github.com/llvm/llvm-project/commit/11a13be40086319c1b6a824f6539ffed5aa2c524
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M mlir/lib/Target/LLVM/XeVM/Target.cpp
Log Message:
-----------
[MLIR][XeVM] Fix build issue caused by PR179557. (#182156)
Commit: 0ef0d6c8d7acce10edb1457485e33441d5cc23f5
https://github.com/llvm/llvm-project/commit/0ef0d6c8d7acce10edb1457485e33441d5cc23f5
Author: lntue <lntue at google.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M libc/test/src/math/exhaustive/bfloat16_add_test.cpp
M libc/test/src/math/exhaustive/bfloat16_div_test.cpp
M libc/test/src/math/exhaustive/bfloat16_mul_test.cpp
M libc/test/src/math/exhaustive/bfloat16_sub_test.cpp
Log Message:
-----------
[libc][math] Update BFloat16 basic operation exhaustive tests to include mixed signs. (#182131)
https://github.com/llvm/llvm-project/issues/181121
Commit: 7548ad01ab17a6892264032b19cf19be1d182bea
https://github.com/llvm/llvm-project/commit/7548ad01ab17a6892264032b19cf19be1d182bea
Author: Saleem Abdulrasool <compnerd at compnerd.org>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/Basic/FileManager.cpp
Log Message:
-----------
clang: normalise directory cache keys consistently in `FileManager` (#181306)
Extract the directory path normalisation logic into a shared
`normalizeCacheKey` helper and apply it in `addAncestorsAsVirtualDirs`
in addition to `getDirectoryRef`. This ensures that cache lookups and
insertions use a consistent key at all call sites.
Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>
Commit: 24402c662b844dcf57b7961e6e7248b75d3ebb38
https://github.com/llvm/llvm-project/commit/24402c662b844dcf57b7961e6e7248b75d3ebb38
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
Log Message:
-----------
[Clang] fix nested-name-specifier error recovery with ordinary lookup fallback results (#181828)
Fixes #181470
---
This patch addresses the regression caused by
f3dcec0ee73fee6a33fcfb422e04297e4d466de6. The assertion occurs when
nested-name-specifier error recovery tries to extend a nested name
specifier with a result found via ordinary lookup fallback
https://github.com/llvm/llvm-project/blob/75aa83c0c035a7a10f0f48355c93858f003b8e4e/clang/lib/Sema/SemaCXXScopeSpec.cpp#L725-L728
which can hit `getTypeDeclType` qualifier assertions
https://github.com/llvm/llvm-project/blob/75aa83c0c035a7a10f0f48355c93858f003b8e4e/clang/lib/Sema/SemaCXXScopeSpec.cpp#L420
https://github.com/llvm/llvm-project/blob/4f92cf9599c4077c08b7fac0a21624e55da572f9/clang/lib/AST/ASTContext.cpp#L5162-L5176
Commit: ddffc04385c7e9d34757a24afa90492d287ead77
https://github.com/llvm/llvm-project/commit/ddffc04385c7e9d34757a24afa90492d287ead77
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/OpenACC/Passes.td
A flang/include/flang/Optimizer/Support/LazySymbolTable.h
A flang/lib/Optimizer/OpenACC/Transforms/ACCDeclareActionConversion.cpp
M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
A flang/test/Fir/OpenACC/declare-action-conversion.fir
Log Message:
-----------
[flang][acc] Add ACCDeclareActionConversion pass (#181894)
Implements the allocation and deallocation semantics for allocatables
and pointers in declare directives (OpenACC 3.4, Section 2.13.2). For a
non-shared memory device, allocate/deallocate must keep local and device
memory in sync.
Lowering generates recipe functions (with acc dialect ops to create the
device copy) and attaches an attribute to the operations that allocate
or deallocate the object. This pass finds those operations and inserts
calls to the corresponding recipe.
Example: for "!$acc declare create(arr)" and "allocate(arr(100))" in a
subroutine, the pass inserts a call to the post-alloc recipe after the
store so the device copy is created.
---------
Co-authored-by: Susan Tan <zujunt at nvidia.com>
Commit: f1615ce8c8106e7adde4f76c967eafc7bfd90801
https://github.com/llvm/llvm-project/commit/f1615ce8c8106e7adde4f76c967eafc7bfd90801
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Rename $r1 operand of Xsfvcp pseudoinstructions to $rs1. NFC
This matches other vector instructions.
Commit: aafe5e2f146ba06910ec482a3074864c909d08a5
https://github.com/llvm/llvm-project/commit/aafe5e2f146ba06910ec482a3074864c909d08a5
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
Log Message:
-----------
[lldb] Disable shared build for TestAppleSimulatorOSType.py (#182167)
Follow up to #181720. Based on [this
failure](https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake-os-verficiation/275/).
Commit: 9235a7755b77e88e28567b6a57866c86c00f6d59
https://github.com/llvm/llvm-project/commit/9235a7755b77e88e28567b6a57866c86c00f6d59
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Types.h
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[clang] Move InputTy and InputList out of the Driver class [NFC] (#182158)
This change moves InputTy and InputList outside of the Driver class to
allow wider usage.
InputTy and InputList are currently defined inside the Driver class,
which prevents other headers from using them without including Driver.h
(by foreward declaring).
This change is required for #152770 and is part of an effort to break
that PR into smaller pieces.
Commit: c483bb118af666bf9cd5d642916a8f53a9be5be1
https://github.com/llvm/llvm-project/commit/c483bb118af666bf9cd5d642916a8f53a9be5be1
Author: Ian Anderson <iana at apple.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/test/Driver/darwin-sdk-vs-os-version.c
Log Message:
-----------
[clang][darwin] macOS no longer infers a minimum deployment version from the OS version (#181958)
The recent createFromSDKInfo refactor lost the
getSystemOrSDKMacOSVersion version adjustment on macOS, causing -arch
builds to create binaries that can't run on the host that built them.
rdar://170007161
Commit: a15d4e63b0bfd85989fa817a9764c421559b5e1e
https://github.com/llvm/llvm-project/commit/a15d4e63b0bfd85989fa817a9764c421559b5e1e
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[clang] Make makeInputArg available in Driver.h [NFC] (#182163)
This moves makeInputArg from Driver.cpp to Driver.h so it can be used by
other components.
This change is part of an effort to split #152770 into smaller, more
manageable pieces.
Commit: 14b213f4b1c36753018216217f5bc561dc5d1973
https://github.com/llvm/llvm-project/commit/14b213f4b1c36753018216217f5bc561dc5d1973
Author: Gauravsingh Sisodia <xaerru at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
Log Message:
-----------
[CIR][CodeGen] Use MapVector instead of StringMap for replacements (#181969)
When using llvm::StringMap transitive replacements may be out of order, so use llvm::MapVector which is also used in Clang's LLVM IR CodeGen.
Commit: fbfe23e16d5e49c9decccc981a4716e7cf81d242
https://github.com/llvm/llvm-project/commit/fbfe23e16d5e49c9decccc981a4716e7cf81d242
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/lib/Tooling/DependencyScanningTool.cpp
Log Message:
-----------
[clang][DependencyScanning] Use OverlayFS naming consistently [NFC] (#172352)
Changes the naming of the OverlayFileSystem parameter for more consistent use in
`DependencyScanningTool.cpp`.
(This addresses the feedback in
https://github.com/llvm/llvm-project/pull/169964#discussion_r2620074122)
Commit: c6425aa9ae39624951f0cb26ccea72a706d0a37e
https://github.com/llvm/llvm-project/commit/c6425aa9ae39624951f0cb26ccea72a706d0a37e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
Log Message:
-----------
[SLP]Support reduced or selects of bitmask as cmp bitcast
Converts reduced or(select %cmp, bitmask, 0) to zext(bitcast %vector_cmp to
i<num_reduced_values>) to in
Reviewers: RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/181940
Commit: 6295b8e763503644961f9087382f80965b98d466
https://github.com/llvm/llvm-project/commit/6295b8e763503644961f9087382f80965b98d466
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/cmake/caches/VectorEngine.cmake
M openmp/CMakeLists.txt
M openmp/cmake/OpenMPTesting.cmake
M openmp/docs/ReleaseNotes.rst
M openmp/runtime/CMakeLists.txt
M openmp/runtime/src/CMakeLists.txt
M openmp/runtime/test/CMakeLists.txt
M openmp/runtime/test/lit.cfg
M openmp/runtime/test/lit.site.cfg.in
M openmp/runtime/unittests/CMakeLists.txt
Log Message:
-----------
[OpenMP] Remove standalone build mode (Reapply #149878) (#182022)
This reapplies #149878
Remove all the CMake code for openmp standalone builds. Standalone
builds have been superseded by the runtimes default build (also
sometimes called the standalone runtimes build). The runtimes default
build can be thought of a standalone build with the standalone
boilerplate contained in <llvm-project>/runtimes/CMakeLists.txt. There
is no need for each runtime to contain the same boilerplate code again.
Builds still using the standalone build via
```sh
cmake -S <llvm-project>/openmp ...
```
can switch over to the runtimes default build using
```sh
cmake -S <llvm-project>/runtimes -DLLVM_ENABLE_RUNTIMES=openmp ...
```
Options that were valid for the standalone build are also valid for
default runtimes build, unless handled only in `if
(OPENMP_STANDALONE_BUILD)` regions.
The existence of both, standalone builds and runtime default builds,
easily leads to confusion such as fixed in #149871. A non-standalone
build does not mean that it is built as part of a bootstrapping-build of
LLVM inside the `runtimes/runtimes-bins` directory, nor does it mean
that the compiler is necessarily Clang. Some of the remaining code may
have been written with that assumption. However, the purpose of this
patch is to only remove the standalone build functionality.
Commit: 27eca71d838344446819f85e02e2e595006c7b35
https://github.com/llvm/llvm-project/commit/27eca71d838344446819f85e02e2e595006c7b35
Author: David Green <david.green at arm.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cmpsel.ll
Log Message:
-----------
[AArch64] Add extra scmp/ucmp costmodel test. NFC
Commit: e022ea2ceda84d314ddd896a4ecaa4fafeac743b
https://github.com/llvm/llvm-project/commit/e022ea2ceda84d314ddd896a4ecaa4fafeac743b
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[SDPatternMatch] Support conditionally binding the value matching a sub-pattern (#182091)
I've seen more and more occurrences of what is essentially
```
m_AllOf(<sub pattern>, m_Value(BindVal))
```
That is, bind to the same SDValue that matches the sub-pattern. Most
people won't even bother write this `m_AllOf` construct because it's too
long, and instead just write another `sd_match` against the bound value.
This patch adds
```
m_Value(BindVal, <sub pattern>)
```
To replace the `m_AllOf` construct above and conditionally bind the
SDValue that matches the sub-pattern.
---------
Co-authored-by: Stefan Weigl-Bosker <stefan at s00.xyz>
Commit: 87419b5e6532a22b37d0d59e5c49f4add14c867b
https://github.com/llvm/llvm-project/commit/87419b5e6532a22b37d0d59e5c49f4add14c867b
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/lib/Serialization/ASTReader.cpp
M clang/test/Modules/validate-file-content.m
M clang/test/PCH/include-timestamp.cpp
M clang/test/PCH/validate-file-content.m
M clang/test/PCH/verify_pch.m
Log Message:
-----------
[modules] Move diagnostic about specific mtime/size change into a note from an error. (#181963)
So far higher visibility is more confusing than actionable. Keep the
information available but make it less prominent.
rdar://159857416
Commit: bfa6ded81afc2e532b8e9a46e1927acf3ae484a9
https://github.com/llvm/llvm-project/commit/bfa6ded81afc2e532b8e9a46e1927acf3ae484a9
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Do managed array initialization on the device (#182171)
Commit: 7772a45b1a25896853ad67ee9c58844e3d4d6ef4
https://github.com/llvm/llvm-project/commit/7772a45b1a25896853ad67ee9c58844e3d4d6ef4
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M flang-rt/lib/cuda/stream.cpp
M flang/include/flang/Optimizer/Builder/CUDAIntrinsicCall.h
M flang/include/flang/Runtime/CUDA/stream.h
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/module/cuda_runtime_api.f90
M flang/test/Lower/CUDA/cuda-default-stream.cuf
Log Message:
-----------
[flang][cuda] Add entry points for cudastreamsynchronize (#181932)
Commit: e246d1615ea037f2dd92527ea1669b070c8e0993
https://github.com/llvm/llvm-project/commit/e246d1615ea037f2dd92527ea1669b070c8e0993
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/test/CodeGen/RISCV/pr153598.mir
M llvm/test/CodeGen/RISCV/riscv-scavenge-crash-2nd-pass-rv32.mir
M llvm/test/CodeGen/RISCV/riscv-scavenge-crash-2nd-pass-rv64.mir
M llvm/test/CodeGen/RISCV/rvv/stack-probing-dynamic.ll
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-offset-for-rvv-object.mir
M llvm/test/CodeGen/RISCV/xqccmp-cm-popretz.mir
M llvm/test/CodeGen/RISCV/xqccmp-cm-push-pop.mir
M llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir
M llvm/test/CodeGen/RISCV/zcmp-cm-push-pop.mir
Log Message:
-----------
[RISCV] Force a frame pointer when the max reserved call frame exceeds simm12. (#182124)
We need to be able to address emergency spill slots without requiring a
register scavenging. This requires the emergency spill slot to be near
the SP or the FP to keep the offset small enough. If there is a large
reserved call frame, we can't keep the emergency spill slot near SP. But
we might not have a frame pointer.
This patch forces the use of a frame pointer when the max reserved call
frame is large so we can keep the emergency spill slot near it. This
idea is borrowed from AArch64.
Multiple MIR tests had to be updated to set the max call frame size as
the reserved registers are frozen before mirFileLoaded is called. I
copied mirFileLoaded from AArch64, but it appears the register freezing
moved after the AArch64 code was written.
Fixes #180199.
Commit: f9e002158c714362b4d87ceb27612825603d90b2
https://github.com/llvm/llvm-project/commit/f9e002158c714362b4d87ceb27612825603d90b2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Use getNamedOperandIdx in getFRMOpNum/getVXRMOpNum. NFC (#182181)
Rather than relying on complex rules about the order of operands.
Commit: 3459bb4f279fa40f463cbfe19cf133a578359a99
https://github.com/llvm/llvm-project/commit/3459bb4f279fa40f463cbfe19cf133a578359a99
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/include/llvm/TableGen/CodeGenHelpers.h
M llvm/include/llvm/Target/Target.td
A llvm/test/TableGen/Common/RegisterByHwModeCommon.td
M llvm/test/TableGen/RegClassByHwModeAlias.td
M llvm/test/TableGen/RegClassByHwModeCompressPat.td
M llvm/test/TableGen/RegClassByHwModeErrors.td
A llvm/test/TableGen/RegisterByHwMode.td
A llvm/test/TableGen/RegisterByHwModeErrors.td
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/InfoByHwMode.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.h
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen] Introduce RegisterByHwMode
This is useful for `InstAlias` where a fixed register may depend on the
HwMode. The motivating use case for this is the RISC-V RVY ISA where
certain instructions mnemonics are remapped to take a different
register class depending on the HwMode and can be used as follows:
```
def NullReg : RegisterByHwMode<PtrRC, [RV32I, RV64I, RV64Y, RV64Y],
[X0, X0, X0_Y, X0_Y]>;
```
Pull Request: https://github.com/llvm/llvm-project/pull/175227
Commit: 2a48aab50254d0ecf1156580276a88505c7bdc40
https://github.com/llvm/llvm-project/commit/2a48aab50254d0ecf1156580276a88505c7bdc40
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Enable -ffp-contract=fast-honor-pragmas globally (#153137)
Enable -ffp-contract=fast-honor-pragmas globally improves performance.
Verified that exp, trig, and hyperbolic functions pass the OpenCL CTS on
Intel GPUs with this flag enabled.
Note: exp/exp2 still require the fixes proposed in #179875; however,
those failures are independent of the fp-contract changes in this patch.
Commit: f17e859a8ad9d55e411937367cbe55670d78be96
https://github.com/llvm/llvm-project/commit/f17e859a8ad9d55e411937367cbe55670d78be96
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Rename PALUVINoVm->ZvkALUVINoVm. NFC (#182077)
OP_VE was originally named OP_P which is how these classes got P in
their name. Replace P with Zvk.
Commit: c7c95c29f3cad869dd7da397aeef016ad4a750ed
https://github.com/llvm/llvm-project/commit/c7c95c29f3cad869dd7da397aeef016ad4a750ed
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Serialization/ModuleFile.h
M clang/lib/Serialization/ASTReader.cpp
M clang/test/Modules/module-file-modified.c
M clang/test/Modules/validate-file-content.m
M clang/test/PCH/modified-module-dependency.m
M clang/test/PCH/validate-file-content.m
Log Message:
-----------
[modules] Add diagnostic about performed input file validation when encounter unrecoverable changed input file. (#180899)
The expected behavior for implicitly built modules is to validate input
files and to rebuild a module if there are any input file changes. But
if for some reason a module hasn't been rebuilt, it is useful to know if
the validation has been done and what kind of validation.
The goal is to make investigations for fixes like
f2a3079a1b48033a92d0a7d9f03251ebeb4a0c30 and
ada79f4c2691ab6546d379a144377162fd4f5191 easier.
rdar://159857416
---------
Co-authored-by: Cyndy Ishida <cyndyishida at gmail.com>
Commit: dd4f88f5dd70e773b6cd5743b16d1fe10f924c24
https://github.com/llvm/llvm-project/commit/dd4f88f5dd70e773b6cd5743b16d1fe10f924c24
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Sort profcheck-xfail.txt
To make it more clear in diffs updating sets of tests.
Commit: 3ca538457a3f9a085babd5e1d7cb407ff1cdbf7c
https://github.com/llvm/llvm-project/commit/3ca538457a3f9a085babd5e1d7cb407ff1cdbf7c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Remove now passing tests
There were quite a few tests in the profcheck-xfail.txt list that now
pass, likely due to other fixes coincidentally helping or someone
forgetting to update the list. Remove them from the list to ensure we
have test coverage.
Commit: febe6052d013634385a8ba3c4d93e8c12ca742dc
https://github.com/llvm/llvm-project/commit/febe6052d013634385a8ba3c4d93e8c12ca742dc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Consistently name AVL operands as $vl. NFC (#182174)
Looking into using getNamedOperandIndex so we need to be consistent.
To avoid a conflict, I renamed the $vl output of vleff pseudos to
$vl_out. Arguably the AVL inputs should be $avl, but that requires more
changes and may interact with out of tree vendor specific instructions.
Commit: a0df62be84d8e0d1fbd6c3f831e985d025a80d33
https://github.com/llvm/llvm-project/commit/a0df62be84d8e0d1fbd6c3f831e985d025a80d33
Author: cmtice <cmtice at google.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M lldb/test/API/tools/lldb-server/TestGdbRemoteCompletion.py
Log Message:
-----------
[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)
Commit: a0e90614b76396a3f61c9dfb4e23679b6b820914
https://github.com/llvm/llvm-project/commit/a0e90614b76396a3f61c9dfb4e23679b6b820914
Author: Alexis Perry-Holby <aperry at lanl.gov>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M flang/docs/GettingInvolved.md
A flang/docs/MeetingNotes/2025/2025-12-03.md
A flang/docs/MeetingNotes/2025/2025-12-17.md
A flang/docs/MeetingNotes/2026/2026-01-14.md
A flang/docs/MeetingNotes/2026/2026-01-21.md
A flang/docs/MeetingNotes/2026/2026-01-28.md
A flang/docs/MeetingNotes/2026/2026-02-11.md
A flang/docs/MeetingNotes/README.md
M flang/docs/conf.py
Log Message:
-----------
[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.
Commit: d15c6ee28837881222f9ccde064b7d566d07a3b2
https://github.com/llvm/llvm-project/commit/d15c6ee28837881222f9ccde064b7d566d07a3b2
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
M llvm/test/CodeGen/AMDGPU/vgpr-lowering-gfx1250.mir
Log Message:
-----------
[AMDGPU] Commute instructions to avoid VGPR MSB changes (#181918)
Commit: 7c445dbf7fa1024469e74c5b3ecd72ee632fba23
https://github.com/llvm/llvm-project/commit/7c445dbf7fa1024469e74c5b3ecd72ee632fba23
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M clang/include/clang/Frontend/ASTUnit.h
Log Message:
-----------
[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.
Commit: 3e3713c2f589c474c24d09ebdc310cacf08b2f40
https://github.com/llvm/llvm-project/commit/3e3713c2f589c474c24d09ebdc310cacf08b2f40
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-02-18 (Wed, 18 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
M llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-bitcounts.mir
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Log Message:
-----------
[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
```
Commit: fafedcd44eabacb7ecc10445b5b8058569985022
https://github.com/llvm/llvm-project/commit/fafedcd44eabacb7ecc10445b5b8058569985022
Author: Pankaj Dwivedi <pankajkumar.divedi at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
Log Message:
-----------
[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
correctness issue, but would produce unnecessary code.
Co-authored-by: padivedi <padivedi at amd.com>
Commit: 5d56516b36a383969045ef7fcd3e02b76c01ba80
https://github.com/llvm/llvm-project/commit/5d56516b36a383969045ef7fcd3e02b76c01ba80
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTX.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
A llvm/test/CodeGen/NVPTX/convert_fp4x2_sm_100f.ll
A llvm/test/CodeGen/NVPTX/convert_fp6x2_sm_100f.ll
A llvm/test/CodeGen/NVPTX/convert_fp8x2_sm_100f.ll
A llvm/test/CodeGen/NVPTX/convert_s2f6x2_sm_100a.ll
Log Message:
-----------
[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
Commit: 944ef9fa644e3078baeec4e70c6fb38d51d41969
https://github.com/llvm/llvm-project/commit/944ef9fa644e3078baeec4e70c6fb38d51d41969
Author: hanbeom <kese111 at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/test/CodeGen/WebAssembly/load-ext.ll
Log Message:
-----------
[NFC][WebAssembly] Add Fast-ISel test for load-ext (#181480)
Update load-ext.ll to enable testing of Fast-isel.
Related: #179672
Commit: 8a1dff765c229f369370363198c92236cd821044
https://github.com/llvm/llvm-project/commit/8a1dff765c229f369370363198c92236cd821044
Author: Mohamed Emad <hulxxv at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/ceilf128_test.cpp
Log Message:
-----------
[libc][math][test] add missed mpfr test for `ceilf128` (#182201)
This PR adds an MPFR test for `ceilf128` that was missed.
Commit: 61fa74b8995cb4f1f0b279951188a6f5c6865087
https://github.com/llvm/llvm-project/commit/61fa74b8995cb4f1f0b279951188a6f5c6865087
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/EXPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/test/MC/AMDGPU/exp.s
A llvm/test/MC/AMDGPU/gfx13_asm_vexport.s
Log Message:
-----------
[AMDGPU] Add VEXPORT encoding for gfx13 (#181788)
Co-authored-by: Jay Foad <jay.foad at amd.com>
Commit: 5b9b25b9f885fd0b2a0827ce95830867d78765c7
https://github.com/llvm/llvm-project/commit/5b9b25b9f885fd0b2a0827ce95830867d78765c7
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M libcxx/include/__stop_token/atomic_unique_lock.h
Log Message:
-----------
[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`.
Commit: 28d564bcc9e2e12b812e3fd3ff38b85bffec5c91
https://github.com/llvm/llvm-project/commit/28d564bcc9e2e12b812e3fd3ff38b85bffec5c91
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang-tools-extra/clangd/FindSymbols.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang/include/clang/Index/IndexSymbol.h
M clang/lib/Index/IndexSymbol.cpp
M clang/test/Index/Core/index-source.cpp
Log Message:
-----------
[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
Commit: 72dc04a45ca73bb74bd0b6eebde95fc0a47fe65f
https://github.com/llvm/llvm-project/commit/72dc04a45ca73bb74bd0b6eebde95fc0a47fe65f
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/v2i64-min-max.ll
Log Message:
-----------
[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.
Commit: c83ebf19cf3e649ed4d2ccadddd8c7e447850363
https://github.com/llvm/llvm-project/commit/c83ebf19cf3e649ed4d2ccadddd8c7e447850363
Author: Jacques Pienaar <jacques+gh at japienaar.info>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/include/mlir/Bytecode/BytecodeImplementation.h
M mlir/include/mlir/IR/BuiltinDialectBytecode.td
M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
M mlir/lib/Bytecode/Writer/IRNumbering.cpp
M mlir/lib/IR/BuiltinDialectBytecode.cpp
A mlir/test/Bytecode/bytecode_callback_write_unowned_blob.mlir
A mlir/test/Bytecode/i1_splat_roundtrip.mlir
M mlir/test/lib/IR/TestBytecodeRoundtrip.cpp
Log Message:
-----------
[mlirbc] Serialize dense elements attr i1 using packed (#182233)
Extra cost is in serialization layer localized while resulting in
smaller bytecode files, this also keeps the format compatible with what
was previously.
Commit: c255e3df64ea807cd9f4a2bd626e57f541829cee
https://github.com/llvm/llvm-project/commit/c255e3df64ea807cd9f4a2bd626e57f541829cee
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
M llvm/test/Transforms/LoopIdiom/AArch64/find-first-byte.ll
Log Message:
-----------
[LoopIdiomVectorize] Test all needles when vectorising find_first_of loops. (#179298)
Fixes #179187 - as described in the issue, the current FindFirstByte
transformation in LoopIdiomVectorizePass will incorrectly early-exit as
soon as a needle matching a search element is found, even if a previous
search element could match a subsequent needle.
This patch ensures all needles are tested before we return a matching
search element.
Commit: ae402a32c0f8d31b348b54c6e99b621328a1d71a
https://github.com/llvm/llvm-project/commit/ae402a32c0f8d31b348b54c6e99b621328a1d71a
Author: Nathan Gauër <brioche at google.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
A clang/test/CodeGenHLSL/sgep/array_load.hlsl
A clang/test/CodeGenHLSL/sgep/array_store.hlsl
A clang/test/CodeGenHLSL/sgep/load_global.hlsl
A clang/test/CodeGenHLSL/sgep/object_method.hlsl
Log Message:
-----------
[Clang][HLSL] Start emitting structured GEP instruction (#177332)
StructuredGEP is a new LLVM intrinsic which will allow to emit proper
logical SPIR-V or DXIL. To properly stage this change going across FE,
BE and optimizations, this commits adds a new flag:
- `-fexperimental-emit-sgep`
When used, this flag will allow compatible frontends to emit the new
instructions. This will also allow us to migrate tests bit by bit,
adding the flag to each migrated test as we make progress on the
implementation.
Once the frontend migration complete, the flag will remain, and work on
the backend will start. Compatible backends like SPIR-V will first allow
both instructions, but then, depending on a target bit similar to
`requiresStructuredCFG`, will declare that they require the SGEP
instruction and will start enforcing it.
Once the whole chain completed, the flag will be defaulted to true and
removed, finishing the migration.
Commit: 34a61e352eae5dd0b22b74c2bc7c1c005979ba97
https://github.com/llvm/llvm-project/commit/34a61e352eae5dd0b22b74c2bc7c1c005979ba97
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen_UDR.cpp
M clang/test/OpenMP/for_reduction_task_codegen.cpp
M clang/test/OpenMP/master_taskloop_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
M clang/test/OpenMP/parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/sections_reduction_task_codegen.cpp
M clang/test/OpenMP/target_data_use_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
M clang/test/OpenMP/target_map_codegen_34.cpp
M clang/test/OpenMP/target_map_codegen_35.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_member_expr_array_section_codegen.cpp
M clang/test/OpenMP/target_map_structptr_and_member_global.cpp
M clang/test/OpenMP/target_map_structptr_and_member_local.cpp
M clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/taskloop_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/sprintf-1.ll
M llvm/test/Transforms/InstCombine/sprintf-3.ll
M mlir/test/Target/LLVMIR/omptarget-nested-ptr-record-type-mapping-host.mlir
M mlir/test/Target/LLVMIR/omptarget-nested-record-type-mapping-host.mlir
M mlir/test/Target/LLVMIR/omptarget-overlapping-record-member-map.mlir
M mlir/test/Target/LLVMIR/omptarget-record-type-mapping-host.mlir
M mlir/test/Target/LLVMIR/omptarget-record-type-with-ptr-member-host.mlir
Log Message:
-----------
[IRBuilder] Use ptrtoaddr in CreatePtrDiff() (#181855)
Make CreatePtrDiff() emit the pattern `ptrtoaddr(p1)-ptrtoaddr(p2)`.
This makes a few changes:
* The return type is now the address type instead of hardcoded to i64.
I've adjusted callers to deal with this where they didn't already.
* Don't use `ConstantExpr::getSizeOf()` and instead get the actual size
from DataLayout. These sizeof expressions will be removed as part of the
ptradd migration.
* Add a convenience overload without the element type, for the case
where you want a pure pointer difference.
I also adjusted some OpenMP code to consistently use zext for sizes, as
I had issues updating the test coverage otherwise (as we ended up
randomly picking zext or sext depending on the exact code path).
Commit: 4053765e4290266ec640c13dcd2920c3bab96f72
https://github.com/llvm/llvm-project/commit/4053765e4290266ec640c13dcd2920c3bab96f72
Author: Thibaut Goetghebuer-Planchon <thibaut.goetghebuer-planchon at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
M mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaNarrowTypes.cpp
M mlir/test/Dialect/Tosa/tosa-narrow-f64-to-f32-aggressive.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-f64-to-f32.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32-aggressive.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir
Log Message:
-----------
[mlir][tosa] Add support for dense_resource in tosa-narrow-* passes (#182032)
Add support for `dense_resource` in `tosa-narrow-f64-to-f32` and
`tosa-narrow-i64-to-i32` passes.
Commit: e09473c1a433f46c1e0ffe02c61d148bc3dda717
https://github.com/llvm/llvm-project/commit/e09473c1a433f46c1e0ffe02c61d148bc3dda717
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-ldexp.ll
Log Message:
-----------
InstCombine: Add baseline SimplifyDemandedFPClass ldexp tests (#180702)
Commit: 37460ab15c2dcd5255f50e1210e5536b7195b4cf
https://github.com/llvm/llvm-project/commit/37460ab15c2dcd5255f50e1210e5536b7195b4cf
Author: David Green <david.green at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
Log Message:
-----------
[AArch64] Enable MaxInterleaveFactor4 for cortex-x series CPUs. (#181851)
This enables MaxInterleaveFactor4 for CPUs that have 4 or more vector
pipelines in the cortex-x series of cpus.
Commit: c94e6c0a0cb7143d2872dad7c13decb7664d2d2a
https://github.com/llvm/llvm-project/commit/c94e6c0a0cb7143d2872dad7c13decb7664d2d2a
Author: Hussam A. <hsm.link at proton.me>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
Log Message:
-----------
[NFC][AArch64] Extract helper functions in AArch64ConditionOptimizer (#182197)
Extract shared logic between the cross- and intra-block paths into new
helper functions
Commit: 564332e4e872ecc3047c5b9bb08a70ea27e66d7b
https://github.com/llvm/llvm-project/commit/564332e4e872ecc3047c5b9bb08a70ea27e66d7b
Author: Xinlong Chen <49522466+Xinlong-Chen at users.noreply.github.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/unittests/Target/X86/X86SelectionDAGTest.cpp
Log Message:
-----------
[X86] computeKnownBitsForTargetNode - add X86ISD::FAND coverage (#182204)
Fixes #182043
Commit: b881949ee4e6403ac71772ecd581475ae9c5df46
https://github.com/llvm/llvm-project/commit/b881949ee4e6403ac71772ecd581475ae9c5df46
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M lldb/bindings/interface/SBSectionDocstrings.i
M lldb/bindings/interface/SBSectionExtensions.i
M lldb/bindings/interface/SBTargetDocstrings.i
M lldb/bindings/interface/SBTargetExtensions.i
M lldb/include/lldb/API/SBSection.h
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Core/Section.h
M lldb/include/lldb/Utility/ArchSpec.h
M lldb/include/lldb/Utility/DataExtractor.h
M lldb/source/API/SBSection.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Core/DumpDataExtractor.cpp
M lldb/source/Core/Section.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBLocationToDWARFExpression.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Utility/ArchSpec.cpp
M lldb/source/Utility/DataExtractor.cpp
M lldb/test/API/python_api/section/TestSectionAPI.py
M lldb/test/API/python_api/target/TestTargetAPI.py
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Drop incomplete non-8-bit bytes support (#182025)
This was originally introduced to support kalimba DSPs featuring 24-bit
bytes by f03e6d84 and also c928de3e, but the kalimba support was mostly
removed by f8819bd5. This change removes the rest of the support, which
was far from complete.
Commit: e65218149d16824b4689b2bec29d1c773d38cd4b
https://github.com/llvm/llvm-project/commit/e65218149d16824b4689b2bec29d1c773d38cd4b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M libcxx/include/__format/format_context.h
M libcxx/include/__format/range_default_formatter.h
M libcxx/include/__format/range_format.h
M libcxx/include/__fwd/format.h
M libcxx/include/optional
Log Message:
-----------
[libc++] Avoid including <format> code in <optional> (#179466)
This patch moves `format_kind` to `<__fwd/format.h>` and moves the
mandate of `basic_format_context` into the class body. This reduces the
time it takes to parse `<optional>` by ~14%.
Commit: 114e20805f028821b41666cca563d6f81a075780
https://github.com/llvm/llvm-project/commit/114e20805f028821b41666cca563d6f81a075780
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub-epilogue-vec.ll
Log Message:
-----------
[LV] Fix sub-reduction PHI in vectorized epilogue (#182072)
When the vectorized epilogue loop uses partial reductions, the PHI node
in the loop must start at 0 (because for partial sub-reductions the
sub is done in the middle block) and the compute-reduction-result must
subtract from the partial result (as calculated in the middle block of
the main vector loop), instead of subtracting from the original init
value.
This fixes the issue as reported on #178919 by @aeubanks.
Commit: e503801ff4a19e8f145365b4be267420c5529092
https://github.com/llvm/llvm-project/commit/e503801ff4a19e8f145365b4be267420c5529092
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[DA] Remove `DependenceInfo::unifySubscriptType` (#181607)
`DependenceInfo::unifySubscriptType` is a function that takes two
subscripts and casts them to the wider type. Using this function can
sometimes lead to correctness issues, especially when combined with
`DependenceInfo::removeMatchingExtensions`, as in #148435. These two
functions are intended to broaden the scope of DA, but they can also
introduce correctness issues, mainly due to mishandling of `sext`/`zext`
and integer overflows.
To avoid these issues, this patch removes the `unifySubscriptType`
function. Currently, it has only one caller, which is part of the
validation logic for delinearization. Instead of calling
`unifySubscriptType`, this patch adds a type check and bails out if the
types do not match. Note that I'm not entirely sure whether there are
real cases where the types differ and the check is actually necessary.
Also, this patch doesn't include new test cases, as I have not found
concrete examples where `unifySubscriptType` itself causes actual
issues. That is, this patch may be NFC.
Fix #169807
Commit: ce69864bf871d23d44709a759f42b5e469fe6f09
https://github.com/llvm/llvm-project/commit/ce69864bf871d23d44709a759f42b5e469fe6f09
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-ldexp.ll
Log Message:
-----------
InstCombine: Implement SimplifyDemandedFPClass for ldexp (#180703)
Commit: 7dbfc2bd0078b36e4f9ed14dd25c4d8e97b3ae77
https://github.com/llvm/llvm-project/commit/7dbfc2bd0078b36e4f9ed14dd25c4d8e97b3ae77
Author: David Spickett <david.spickett at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/cpu_feature.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h
M lldb/source/Plugins/Process/elf-core/RegisterUtilities.h
A lldb/test/API/linux/aarch64/permission_overlay/Makefile
A lldb/test/API/linux/aarch64/permission_overlay/TestAArch64LinuxPOE.py
A lldb/test/API/linux/aarch64/permission_overlay/corefile
A lldb/test/API/linux/aarch64/permission_overlay/main.c
Log Message:
-----------
[lldb][AArch64][Linux] Add support for the Permission Overlay Extension (POE) (#177145)
This change adds initial support for managing the Permission Overlay
Extension (POE). This extension allows userspace programs to change
memory permissions without making a sycall.
This is used to implement Linux's memory protection keys
(https://docs.kernel.org/core-api/protection-keys.html) on AArch64.
Overview of POE:
* Page table entries have a set of permissions. To change these, a
program would have to use a syscall which adds overhead.
* 3 bits of the page table entry are used for a protection key 0-7.
* POE adds a new register "por" (POR_EL0 in the manual) which stores
4-bit sets of permissions.
* The protection key is an index into this por register.
* Permissions in POR are applied on top of the page table permissions,
but may only remove permissions. For example, if you overlay
read/execute over read/write, the result is read. Since execute was not
in the page table permissions.
* This register can be modified without leaving userspace, making
permission changes faster.
To help debug this, I have made the following changes to LLDB:
* Ability to read and write the por register.
* Save and restore of por when running expressions.
* Register field definitions to print the por permissions in a human
readable form.
* Recognition of memory protection key faults as a distinct type of
SIGSEGV (this will apply to Linux on any architecture).
There are a few more features to add around memory region information,
that will be in follow up changes. As will documentation and release
notes for all the POE features.
Commit: dbf86a19542bac6209838ac9633fb8627fa23d15
https://github.com/llvm/llvm-project/commit/dbf86a19542bac6209838ac9633fb8627fa23d15
Author: Xinlong Chen <49522466+Xinlong-Chen at users.noreply.github.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/unittests/Target/X86/X86SelectionDAGTest.cpp
Log Message:
-----------
[X86] computeKnownBitsForTargetNode - add X86ISD::FXOR coverage (#182210)
Fixes #182042
Commit: c30879ea916edd8f7a7863155ebc47a888e67ed4
https://github.com/llvm/llvm-project/commit/c30879ea916edd8f7a7863155ebc47a888e67ed4
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][Doc] Small fix for GFX12 release atomic memory model doc (#182241)
That row goes for both generic/global but it only said global.
Commit: dd1cc049b14053e9a5ec8d8e5925eb1db5b57ac3
https://github.com/llvm/llvm-project/commit/dd1cc049b14053e9a5ec8d8e5925eb1db5b57ac3
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
A flang/test/Fir/declare_value-codegen.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/invalid.fir
M flang/test/Fir/mem2reg.mlir
Log Message:
-----------
[flang][FIR] allow mem2reg over fir.declare (#181848)
This patch adds the possibility for MLIR mem2reg to work over
fir.declare.
Note that mem2reg is not part of FIR pipeline, and this is just part of
work to be able to leverage it.
The patch:
- Adds a fir.declare_value operation
- Implements the PromotableOpInterface for fir.declare simple scalars
and replace it by fir.declare_value.
- Generates llvm.dbg.debug_value from it (when a FusedLoc with a
DILocalVariableAttr is created for it in AddDebugInfo, like for
fir.declare).
Commit: fdc4274e2fcc79b8ba3064235da721573cdeea83
https://github.com/llvm/llvm-project/commit/fdc4274e2fcc79b8ba3064235da721573cdeea83
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.h
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-fast.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown-fast.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr-fast.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn-fast.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
Log Message:
-----------
AMDGPU: Perform libcall recognition to replace fast OpenCL pow (#182135)
If a float-typed call site is marked with afn, replace the 4
flavors of pow with a faster variant.
This transforms pow, powr, pown, and rootn to __pow_fast,
__powr_fast, __pown_fast, and __rootn_fast if available. Also
attempts to handle all of the same basic folds on the new fast
variants that were already performed with the base forms. This
maintains optimizations with OpenCL when the device libs unsafe
math control library is deleted. This maintains the status quo
of how libcalls work, and only handles 4 new entry points. This
only helps with the elimination of the control library, and not
general libcall emission problems.
This makes no practical difference for HIP, which is the status
quo for libcall optimizations. AMDGPULibCalls recognizes the OpenCL
mangled names. e.g., OpenCL float "pow" is really _Z3powff but the
HIP provided function "powf" is really named _ZL4powfff, and std::pow
with float is _ZL3powff. The pass still runs for HIP, so by accident
if you used the OpenCL mangled function names, this would trigger.
Since the functions cannot yet be relied on from the library,
introduce a temporary module flag check. I'm not planning on emitting
it anywhere and it's a poor substitute for versioning the target.
Commit: 4042975b6301c0c180d864f18cbfba8d90b946eb
https://github.com/llvm/llvm-project/commit/4042975b6301c0c180d864f18cbfba8d90b946eb
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/select-index.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-index-interleaving.ll
A llvm/test/Transforms/LoopVectorize/select-index-remarks.ll
M llvm/test/Transforms/LoopVectorize/select-smax-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-smin-first-index.ll
M llvm/test/Transforms/LoopVectorize/select-umax-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-umin-first-index.ll
M llvm/test/Transforms/LoopVectorize/smax-idx.ll
Log Message:
-----------
[LV] Support argmin/argmax with strict predicates. (#170223)
Extend handleMultiUseReductions to support strict predicates (>, <),
matching the first index instead of the last for non-strict predicates.
Builds on top of https://github.com/llvm/llvm-project/pull/141431.
FindLast reductions with strict predicates are adjusted to compute the
correct result as follows:
1. Find the first canonical indices corresponding to partial min/max
values, using loop reductions.
2. Find which of the partial min/max values are equal to the overall
min/max value.
3. Select among the canonical indices those corresponding to the overall
min/max value.
4. Find the first canonical index of overall min/max and scale it back to
the original IV using VPDerivedIVRecipe.
5. If the overall min/max equals the starting min/max, the condition in
the loop was always false, due to being strict; return the original start
value in that case.
Commit: 86f6730f0dc3def5375ae7da71445c5e50612765
https://github.com/llvm/llvm-project/commit/86f6730f0dc3def5375ae7da71445c5e50612765
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Shard/IR/ShardOps.h
M mlir/lib/Dialect/Shard/IR/ShardOps.cpp
M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
M mlir/test/Dialect/Shard/partition.mlir
Log Message:
-----------
[mlir][shard] Empowering resharding (#180962)
Enabling many more resharding cases by dealing with dimension by dimension,
try-applying various patterns on a single dimension.
Commit: 753d15a28de1e3170a51a963e600d80449dfd03c
https://github.com/llvm/llvm-project/commit/753d15a28de1e3170a51a963e600d80449dfd03c
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M lldb/source/Host/common/MemoryMonitor.cpp
Log Message:
-----------
[lldb] Fix Linux memory monitor. (#182011)
Only call the callback when we are actually low on memory.
Increase the threshold to 200ms in a 2 second interval to match
systemd's default see
[DefaultMemoryPressureWatch](https://www.freedesktop.org/software/systemd/man/latest/systemd-system.conf.html#DefaultMemoryPressureWatch=).
Commit: 7b39defbc35aa979a59b99ec9591f7d74a96c768
https://github.com/llvm/llvm-project/commit/7b39defbc35aa979a59b99ec9591f7d74a96c768
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
A llvm/lib/Target/SPIRV/SPIRVTypeInst.cpp
A llvm/lib/Target/SPIRV/SPIRVTypeInst.h
M llvm/lib/Target/SPIRV/SPIRVUtils.h
Log Message:
-----------
[NFC][SPIRV] Move `SPIRVTypeInst` to its own header (#181668)
Move `SPIRVTypeInst` outside of `SPIRVGlobalRegistry.h`.
Commit: 86e0504febe659b6603f3cc82b50df4cda98f012
https://github.com/llvm/llvm-project/commit/86e0504febe659b6603f3cc82b50df4cda98f012
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve2-histcnt.ll
Log Message:
-----------
[AArch64] Fix codegen for histograms with i64 increments (#181808)
Histograms don't do any legalisation on the loaded data type, so if the
'add' would need to be performed on a vector of i64's, then we can't use
the more optimal addressing with i32 offsets as that would return a
vector of nxv4i32 which wouldn't get widened.
This fixes https://github.com/llvm/llvm-project/issues/181764
Commit: 6a5375fbce1992cb58a31a8c94d59ecb35c752a9
https://github.com/llvm/llvm-project/commit/6a5375fbce1992cb58a31a8c94d59ecb35c752a9
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
Log Message:
-----------
[VPlan] Plumb recurrence FMFs through VPReductionPHIRecipe via VPIRFlags. NFC (#181694)
In order to be able to create selects for reduction phis through tail
folding in foldTailByMasking (#176143), make VPReductionPHIRecipe an
instance of VPIRFlags and plumb the FMFs from the original RdxDesc.
This allows us to remove more uses of the RecurrenceDescriptor in
addReductionResultComputation, which should help untie it from
LoopVectorizationLegality.
Commit: 5a389d382b242bcbf4276b19fe21ee50fcdc988c
https://github.com/llvm/llvm-project/commit/5a389d382b242bcbf4276b19fe21ee50fcdc988c
Author: Nathiyaa Sengodan <133644025+Nathiyaa-Sengodan at users.noreply.github.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Support/KnownFPClass.cpp
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
Log Message:
-----------
[ValueTracking] Treat fmul NaN sign bit as unknown to prevent incorrect fabs folding (#180339)
### Summary
ValueTracking currently allows InstSimplify to reason about the sign bit
of an `fmul` result based on the sign information of its operands. This
can lead to removing a subsequent `llvm.fabs` under the assumption that
the multiplication result is already non-negative.
However, `fmul` may produce NaNs whose sign bit is non-deterministic.
Since `llvm.fabs` canonicalizes the sign bit of NaNs, eliminating
llvm.fabs` in these cases can change observable behaviour.
### Change
Update ValueTracking to treat the sign bit of `fmul` as unknown when
NaNs are possible, preventing InstSimplify from incorrectly removing
llvm.fabs ` after `fmul`.
Fixes #179613
Commit: d7b590b852ce5514a0b6f3991d6b246aceac13c4
https://github.com/llvm/llvm-project/commit/d7b590b852ce5514a0b6f3991d6b246aceac13c4
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/vmerge-peephole.mir
Log Message:
-----------
[RISCV] Ensure false dominates in vmerge peephole (#181664)
When folding vmerge into it's true operand, true will eventually use the
false operand as its passthru, but we don't check that the instruction
defining false dominates true. This can cause a use before def.
Fix this by sinking true past false. We already do this for the mask, so
this does it in the same call to ensureDominates.
We don't seem to run into this with current codegen but upcoming changes
to RISCVVLOptimizer expose it.
Commit: 5e226b167f9e3fd8a9b51d6bef69496971c9c039
https://github.com/llvm/llvm-project/commit/5e226b167f9e3fd8a9b51d6bef69496971c9c039
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang-tools-extra/Maintainers.rst
Log Message:
-----------
[clang-tidy][NFC] move Cai Congcong to inactive maintainer (#182248)
Commit: 63492ca84a8c84b5d468250b938183602a39805a
https://github.com/llvm/llvm-project/commit/63492ca84a8c84b5d468250b938183602a39805a
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
A llvm/test/tools/llubi/alloca.ll
A llvm/test/tools/llubi/alloca_large_count.ll
A llvm/test/tools/llubi/alloca_large_size.ll
A llvm/test/tools/llubi/alloca_poison_count.ll
A llvm/test/tools/llubi/alloca_size_overflow.ll
A llvm/test/tools/llubi/gep.ll
A llvm/test/tools/llubi/inttoptr.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.cpp
M llvm/tools/llubi/lib/Value.h
Log Message:
-----------
[llubi] Add support for GEP/alloca/inttoptr (#181861)
This patch mainly adds support for GEP. To test GEP functionality,
alloca/inttoptr are also introduced.
Commit: 6a78d37e83ba51a1cf320aee77ec9d2efb53d65d
https://github.com/llvm/llvm-project/commit/6a78d37e83ba51a1cf320aee77ec9d2efb53d65d
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/Analysis/uninitialized-branch.c
M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
Log Message:
-----------
[analyzer] Add BranchCondition callback to 'switch' (#182058)
Previously the condition of a 'switch' statement did not trigger a
`BranchCondition` callback. This commit resolves this old FIXME and e.g.
lets the checker `core.uninitialzed.Branch` report code where the
condition of a `switch` statement is undefined.
This commit also contains a very small unrelated change that removes a
short fragment of dead code from `processBranch`.
Commit: bca95d1e4dd4339609431da2342c8a46590df7fa
https://github.com/llvm/llvm-project/commit/bca95d1e4dd4339609431da2342c8a46590df7fa
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/optional/TestDataFormatterGenericOptional.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr/TestDataFormatterStdSharedPtr.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/TestDataFormatterStdSpan.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/TestDataFormatterStdStringView.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string/TestDataFormatterStdU8String.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string_view/TestDataFormatterStdU8StringView.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/TestDataFormatterStdUniquePtr.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/TestDataFormatterStdVector.py
M lldb/test/API/test_utils/pdb/TestPdb.py
Log Message:
-----------
Disable shared builds for tests failing on Windows (#182249)
PR #181720 introduced shared builds for LLDB API tests to improve test
efficiency. But several data formatter tests requiring PDB debug info
are failing on Windows x64 and AArch64 platforms.
This patch disables shared builds for these tests by setting
SHARED_BUILD_TESTCASE = False
The shared build optimization breaks these tests because they reuse
build artifacts between test methods
The test runs may could use multiple methods with different debug
formats or compiler flags. When a test runs first it builds with one set
of flags, but then it runs again but **make** sees the source unchanged
so it skips rebuilding and reuses the same old binary instead of
rebuilding with correct flags.
Commit: b4386f7b556bd40265921ebf32e6763322382bf6
https://github.com/llvm/llvm-project/commit/b4386f7b556bd40265921ebf32e6763322382bf6
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
Log Message:
-----------
[flang][OpenMP] Push context for all directives in resolve-directives.cpp (#181736)
The visitors for loop and simple-standalone constructs had switch
statements that explicitly listed all directives in the category, and
pushed the context for them.
The visitor for OmpBlockConstruct listed a selection of block-associated
directives, but they are the only ones for which OmpBlockConstruct is
created directly without a subclass.
Commit: 3cdb2e2f5d0c943c5a07d969c0c13b1bb9341f26
https://github.com/llvm/llvm-project/commit/3cdb2e2f5d0c943c5a07d969c0c13b1bb9341f26
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/common-block_copyin.f90
Log Message:
-----------
[Flang][OpenMP] Fix for threadprivate check in copyin clause (#181354)
Use the ultimate symbol in the threadprivate check
Fixes #180094
Commit: 15515ef7eaaa8bfc1b930df498eb7326a9c72074
https://github.com/llvm/llvm-project/commit/15515ef7eaaa8bfc1b930df498eb7326a9c72074
Author: Thibaut Goetghebuer-Planchon <thibaut.goetghebuer-planchon at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/test/Dialect/Tosa/tosa-narrow-f64-to-f32-aggressive.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-f64-to-f32.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32-aggressive.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir
Log Message:
-----------
[mlir][tosa] Fix dense_resource data alignment in tosa-narrow-* tests (#182253)
The alignment of int64 and float64 dense resource should be 8 and not 4
Commit: 46bfd69343945bc1621fbe3b1c55aa8a0f37bc3a
https://github.com/llvm/llvm-project/commit/46bfd69343945bc1621fbe3b1c55aa8a0f37bc3a
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV] NFCI: Add RecurKind to VPPartialReductionChain (#181705)
This avoids having to pass around the RecurKind or re-figure it out from
the VPReductionPHI node.
This is useful in a follow-up PR, where we need to distinguish between a
`Sub` and `AddWithSub` recurrence, which can't be deduced from the
`ReductionBinOp` field.
Commit: a28d89be4672bfd76001bdd85bbe8e0e1ac88b1d
https://github.com/llvm/llvm-project/commit/a28d89be4672bfd76001bdd85bbe8e0e1ac88b1d
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/RDFLiveness.cpp
A llvm/test/CodeGen/Hexagon/rdf-liveness-phi-invalidation.ll
Log Message:
-----------
[RDF] Fix DenseMap reference invalidation in computePhiInfo (#182144)
In Liveness::computePhiInfo, the reference `RefMap &RUM =
RealUseMap[PA.Id]` can be invalidated when the inner loop inserts into
RealUseMap via `RealUseMap[P.first][SS.Id]`. If `P.first` is a new key,
the DenseMap may rehash, invalidating the RUM reference and any
iterators into it.
Fix by making a copy of the map value instead of holding a reference.
This is detected by _GLIBCXX_DEBUG (enabled via EXPENSIVE_CHECKS) which
tracks iterator validity on std::unordered_map (RefMap).
Commit: d98d625ff7ab14f0651138721d773c66d49504c4
https://github.com/llvm/llvm-project/commit/d98d625ff7ab14f0651138721d773c66d49504c4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[X86] combineSETCC - drop unnecessary shift amount bounds check for larger-than-legal ICMP_ZERO(AND(X,SHL(1,IDX))) folds (#182021)
For i128 etc. bittest patterns, we split the pattern into a i32
extraction + i32 bittest.
But we were unnecessarily limiting this to inbounds shift amounts. I
wrote this fold at the same time as narrowBitOpRMW where we needed the
bounds check for safe memory access, which isn't necessary in
combineSETCC.
Fix 2 of 2 for #147216
Commit: b0192c31a17f263b77d2eed5fbdab3a95a4e8edc
https://github.com/llvm/llvm-project/commit/b0192c31a17f263b77d2eed5fbdab3a95a4e8edc
Author: moscickimilosz <Milosz.Moscicki at imgtec.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Target/SPIRV/decorations.mlir
Log Message:
-----------
[mlir][spirv] (De)serialize Offset, XfbBuffer and XfbStride decorations (#181835)
Process decorations number 35, 36 and 37 in SPIR-V deserializer and
serializer; add a simple test case.
Commit: 54ab131f4cd656b617dee431bcecb259f649d64a
https://github.com/llvm/llvm-project/commit/54ab131f4cd656b617dee431bcecb259f649d64a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M libclc/CMakeLists.txt
M libclc/opencl/lib/clspv/SOURCES
R libclc/opencl/lib/clspv/subnormal_config.cl
M libclc/opencl/lib/generic/SOURCES
M libclc/opencl/lib/generic/subnormal_config.cl
R libclc/opencl/lib/generic/subnormal_disable.ll
R libclc/opencl/lib/generic/subnormal_helper_func.ll
R libclc/opencl/lib/generic/subnormal_use_default.ll
M libclc/opencl/lib/spirv/SOURCES
R libclc/opencl/lib/spirv/subnormal_config.cl
Log Message:
-----------
[libclc] Completely remove ENABLE_RUNTIME_SUBNORMAL option (#182125)
Summary:
This isn't really used and this simplifies the code. I could go deeper
to remove this content entirely as they all return `false` but I figured
this was an easier change to do first.
---------
Co-authored-by: Wenju He <wenju.he at intel.com>
Commit: 8a7413b141fe669ac8d612376465b790718880ba
https://github.com/llvm/llvm-project/commit/8a7413b141fe669ac8d612376465b790718880ba
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC. (#182262)
Commit: ff97195f9d31548e567358852b352ef2da4706c9
https://github.com/llvm/llvm-project/commit/ff97195f9d31548e567358852b352ef2da4706c9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/knownbits-vpmadd52.ll
Log Message:
-----------
[X86] knownbits-vpmadd52.ll - replace extended unicode character with regular ascii (#182278)
Stops update_llc_test_checks.py from complaining / unnecessarily changing the file
Commit: e03a87cb4e7c9cece89d64774e8a46524038c04b
https://github.com/llvm/llvm-project/commit/e03a87cb4e7c9cece89d64774e8a46524038c04b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-qualified-auto in ModuleTranslation.cpp (NFC)
Commit: eb88b285f07fcb2155c6c67d0014eda510c92f04
https://github.com/llvm/llvm-project/commit/eb88b285f07fcb2155c6c67d0014eda510c92f04
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/SubgroupIdRewriter.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for readability-identifier-naming in SubgroupIdRewriter.cpp (NFC)
Commit: cc704f8ec95f830551c94a01d6e2475dd2b3fe02
https://github.com/llvm/llvm-project/commit/cc704f8ec95f830551c94a01d6e2475dd2b3fe02
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/test/CodeGen/SystemZ/fp-sincos-01.ll
M llvm/test/CodeGen/SystemZ/patchable-function-entry.ll
Log Message:
-----------
[SystemZ] Fix duplicate RUN lines in tests (#182273)
Commit: 62d153610a5204645ad72f23a63ea715da1c5ede
https://github.com/llvm/llvm-project/commit/62d153610a5204645ad72f23a63ea715da1c5ede
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/PowerPC/P10InstrResources.td
M llvm/lib/Target/PowerPC/P9InstrResources.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCSchedule.td
M llvm/test/MC/Disassembler/PowerPC/ppc64-encoding.txt
M llvm/test/MC/Disassembler/PowerPC/ppc64le-encoding.txt
M llvm/test/MC/PowerPC/ppc64-encoding.s
Log Message:
-----------
[PowerPC] Add support for MSGSNDP instruction (#180974)
Message Send Privileged X-form
`msgsndp RB`
```
opcode : 0-5 (5bits) ===> 31
RB : 16-20 (5 bits)
xo : 21-30 (10 bits) ==> 142
```
---------
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Commit: 6ca0e29159f89b5916e84f6ac51445b30f52f709
https://github.com/llvm/llvm-project/commit/6ca0e29159f89b5916e84f6ac51445b30f52f709
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Refactor convolution infer return type (#178869)
Lots of logic was repeated for Conv2D, Conv3D and Conv2DBlockScaled ops.
This commit factors out common logic to reduce code duplication.
In doing so, a bug in calculating the bias shape was also fixed. Since
DepthwiseConv2D and TransposeConv2D were fixed independently, this
commit fixes #175765.
Commit: f04d3a271f645738ab56b672e4774e9de68ffb3a
https://github.com/llvm/llvm-project/commit/f04d3a271f645738ab56b672e4774e9de68ffb3a
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for performance-unnecessary-value-param in TransformInterfaces.cpp (NFC)
Commit: 1b0c9757eab134fcbf26bf84631010367ca70b07
https://github.com/llvm/llvm-project/commit/1b0c9757eab134fcbf26bf84631010367ca70b07
Author: Marcos Maronas <mmaronas at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/test/Transforms/InstSimplify/ConstProp/vector-type-constant-folding.ll
Log Message:
-----------
Use named values in tests. (#182102)
Address
https://github.com/llvm/llvm-project/pull/181695#discussion_r2821774068.
Commit: 418ba6e8ae2cde7924388142b8ab90c636d2c21f
https://github.com/llvm/llvm-project/commit/418ba6e8ae2cde7924388142b8ab90c636d2c21f
Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
A clang/test/DebugInfo/CXX/callsite-base.cpp
A clang/test/DebugInfo/CXX/callsite-derived.cpp
A clang/test/DebugInfo/CXX/callsite-edges.cpp
A cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/callsite-dwarf.cpp
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/FixedMetadataKinds.def
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/test/CodeGen/MIR/X86/callsite-emit-calleetypeid.ll
Log Message:
-----------
[clang][DebugInfo] Add virtuality call-site target information in DWARF. (#167666)
Given the test case:
struct CBase {
virtual void foo();
};
void bar(CBase *Base) {
Base->foo();
}
and using '-emit-call-site-info' with llc, the following DWARF
is produced for the indirect call 'Base->foo()':
1$: DW_TAG_structure_type "CBase"
...
2$: DW_TAG_subprogram "foo"
...
3$: DW_TAG_subprogram "bar"
...
4$: DW_TAG_call_site
...
We add DW_AT_LLVM_virtual_call_origin to existing call-site
information, linking indirect calls to the function-declaration
they correspond to.
4$: DW_TAG_call_site
...
DW_AT_LLVM_virtual_call_origin (2$ "_ZN5CBase3fooEv")
The new attribute DW_AT_LLVM_virtual_call_origin helps to
address the ambiguity to any consumer due to the usage of
DW_AT_call_origin.
The functionality is available to all supported debuggers.
Commit: e24526cf437430a5a5a597cefc47bc2ca80c315e
https://github.com/llvm/llvm-project/commit/e24526cf437430a5a5a597cefc47bc2ca80c315e
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
M llvm/test/CodeGen/NVPTX/lower-ctor-dtor.ll
Log Message:
-----------
[NVPTXCtorDtorLowering] Removing unnecessary pointer arithmetic (#182269)
This code was computing `begin + ((end - begin) exact/ 8) * 8`, which is
a very complicated way to spell `end`.
Commit: 87eee80dad79417e079c369b9ff5578873019b78
https://github.com/llvm/llvm-project/commit/87eee80dad79417e079c369b9ff5578873019b78
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang/test/CodeGenHIP/printf.cpp
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
Log Message:
-----------
[AMDGPUEmitPrintf] Use CreatePtrDiff() (#182283)
Use CreatePtrDiff() to emit the pointer subtraction, which will use
ptrtoaddr instead of ptrtoint.
Add a conservative cast to i64 as the return value of CreatePtrDiff is
no longer guaranteed to be a i64.
Commit: 32392468d713985434f48b0cf27d205cafe98a4c
https://github.com/llvm/llvm-project/commit/32392468d713985434f48b0cf27d205cafe98a4c
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
A llvm/include/llvm/CodeGen/Rematerializer.h
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/Rematerializer.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/RematerializerTest.cpp
Log Message:
-----------
[CodeGen] Introduce MIR-level target-independent rematerialization helper (#177080)
This introduces a `Rematerializer` class that identifies register
rematerialization opportunities within a machine function and provides
an API to easily perform those rematerializations with a high level of
control. Its key feature is its ability to model relationships between
rematerializable registers and rematerialize arbitrarily complex groups
of registers at once to specific locations. The class comment describes
the underlying model in details.
This includes unit tests for the class to both verify its correct
behavior and showcase its current rematerialization capabilities.
This hopefully can be a step toward addressing long-standing
rematerialization limitations in LLVM backends. In the future, the goal
is to pair this support with generic or target-dependent strategies for
picking the best rematerialization opportunities to perform to achieve
some kind of objective (e.g., a specific register pressure target in
scheduling regions). As a concrete example, I intend to use this in the
AMDGPU scheduler to help in reducing spilling and/or increasing
occupancy in kernels.
Commit: 579879104cbc2599ba08913d20676f7c2f0dd781
https://github.com/llvm/llvm-project/commit/579879104cbc2599ba08913d20676f7c2f0dd781
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-cmpxchg.ll
Log Message:
-----------
[InstCombine] Allow simplifying FP selects of cmpxchg instructions. (#181977)
We already simplify selects that test the flag returned by a cmpxchg and
select between the value the cmpxchg loaded and the compare operand.
This patch extends the fold to FP (and vector) compare-exchange
operations, where the compare operand and loaded value are bitcast.
Commit: 25e4e2fd3c880ff7e34105d8e9d26b38901fd974
https://github.com/llvm/llvm-project/commit/25e4e2fd3c880ff7e34105d8e9d26b38901fd974
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Rename $carry operand to $vm. NFC (#182229)
This avoids having a unique operand name in the NamedOperand table until
we need it.
Commit: 3685f24760470fc873d2ea70dd6f4da6898e5e1b
https://github.com/llvm/llvm-project/commit/3685f24760470fc873d2ea70dd6f4da6898e5e1b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
Log Message:
-----------
[RISCV] Rename $dest to $passthru. NFC (#182231)
Most instructions used $passthru, the only ones that use $dest seem to
be non-segment NoMask loads. I don't think there is any reason to be
different.
Commit: f4a29d9278d45d73cd6fcf74a0faea0f72fc259f
https://github.com/llvm/llvm-project/commit/f4a29d9278d45d73cd6fcf74a0faea0f72fc259f
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/test/Transforms/LowerMatrixIntrinsics/data-layout-multiply-fused.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-dominance.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-multiple-blocks.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused.ll
Log Message:
-----------
[LowerMatrixIntrinsics] Avoid use of ptrtoint (#182289)
The ptrtoint result here is used in icmp. However, icmp can already
directly work with pointers, so there's no need to perform the cast.
(I originally wanted to switch this to ptrtoaddr, but that's not really
necessary when we can directly compare on pointers.)
Commit: 956bada68413607bba51b0b2fdaa22f501c20b7d
https://github.com/llvm/llvm-project/commit/956bada68413607bba51b0b2fdaa22f501c20b7d
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-smaxv.ll
M llvm/test/CodeGen/AArch64/arm64-vmax.ll
M llvm/test/CodeGen/AArch64/patchable-function-entry.ll
Log Message:
-----------
[AArch64] Fix duplicate RUN lines in tests (#182281)
Commit: 20bb230380c614854fd86c8a2ae8d57ecdf8d4ad
https://github.com/llvm/llvm-project/commit/20bb230380c614854fd86c8a2ae8d57ecdf8d4ad
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/GlobalISel/select-extract-vec512.mir
M llvm/test/CodeGen/X86/avx512-unsafe-fp-math.ll
M llvm/test/CodeGen/X86/basic-promote-integers.ll
M llvm/test/CodeGen/X86/epilogue-cfi-fp.ll
M llvm/test/CodeGen/X86/not-shift.ll
M llvm/test/CodeGen/X86/prefetch.ll
M llvm/test/CodeGen/X86/swift-dynamic-async-frame.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/MC/Disassembler/X86/padlock.txt
M llvm/test/tools/llvm-exegesis/X86/latency/dump-object-to-disk.s
Log Message:
-----------
[X86] Fix duplicate RUN lines in tests (#182271)
Commit: f56efa289f3cdbe42fb9ef1522f5a97ce9997269
https://github.com/llvm/llvm-project/commit/f56efa289f3cdbe42fb9ef1522f5a97ce9997269
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/lib/IR/AffineExpr.cpp
M mlir/test/IR/affine-map.mlir
Log Message:
-----------
[MLIR] Add trivial simplifications for affine mod, div, ceil (#182234)
Add missing trivial folding rules for div and mod affine expressions
when the LHS and RHS were the same.
Commit: ca77001a1a0de38ac21bd9ed8d3468a528cf000f
https://github.com/llvm/llvm-project/commit/ca77001a1a0de38ac21bd9ed8d3468a528cf000f
Author: Hamza Hassanain <53662962+HamzaHassanain at users.noreply.github.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrMVE.td
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/test/CodeGen/ARM/cls.ll
Log Message:
-----------
[ARM] Replace manual CLS expansion with ISD::CTLS (#178430)
Converts ARM scalar CLS intrinsics to use the unified ISD::CTLS node
instead of custom manual expansion. This addresses the issue
[#174337](https://github.com/llvm/llvm-project/issues/174337).
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 8928b2337dea03e7defce442aeed9774937969bd
https://github.com/llvm/llvm-project/commit/8928b2337dea03e7defce442aeed9774937969bd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Emit ISD::ADD instead of X86ISD::ADD from combineSubSetcc. NFC (#182195)
The flag result isn't used so the X86ISD::ADD would be converted to
ISD::ADD by a DAGCombine immediately after.
Prior to this we could create a X86ISD::ADD with an illegal type and we
were using the wrong VT for the flag result.
Commit: eb0e5543753000ff7121a499053694f9881e2a59
https://github.com/llvm/llvm-project/commit/eb0e5543753000ff7121a499053694f9881e2a59
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] For CMP_MASK_CC/CMP_MASK_SCALAR_CC convert CC from MVT::i32 to MVT::i8. (#182199)
The underlying X86ISD nodes have type profiles that say MVT::i8.
Fixes one of the errors found by #168421.
Commit: 4ebf34cd5d46325f5ea3cb9bc370db05896fb959
https://github.com/llvm/llvm-project/commit/4ebf34cd5d46325f5ea3cb9bc370db05896fb959
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVTypeInst.h
Log Message:
-----------
[NFC][SPIRV] Remove last uses of `SPIRVType` (#182299)
This patch:
* Replaces some `SPIRVType` uses with `SPIRVTypeInst`
* Replaces cases where this replacement is impossible with `const
MachineInstr*`
* For consistency renames some functions / variables
This patch depends on https://github.com/llvm/llvm-project/pull/181668
This patch closes https://github.com/llvm/llvm-project/issues/180788
Approved in https://github.com/llvm/llvm-project/pull/182098 but had to
close/reopen due to a Github glitch.
Commit: 78798b20d9c5835535c66319892f85d459d4b10a
https://github.com/llvm/llvm-project/commit/78798b20d9c5835535c66319892f85d459d4b10a
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/elf-header-flags-sramecc.ll
M llvm/test/CodeGen/AMDGPU/flat-error-unsupported-gpu-hsa.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.v2f16.ll
M llvm/test/CodeGen/AMDGPU/force-alwaysinline-lds-global-address.ll
M llvm/test/CodeGen/AMDGPU/fract.f64.ll
M llvm/test/CodeGen/AMDGPU/fract.ll
M llvm/test/CodeGen/AMDGPU/kernarg-size.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls2.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vopd.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vopd3.s
M llvm/test/MC/AMDGPU/isa-version-pal.s
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-flat-noalias-addrspace.ll
Log Message:
-----------
[AMDGPU] Fix duplicate RUN lines in tests (#182286)
Commit: 949d6829aa8cb613c28dbbeea51a19326f24be8b
https://github.com/llvm/llvm-project/commit/949d6829aa8cb613c28dbbeea51a19326f24be8b
Author: David Green <david.green at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/DominanceFrontier.h
Log Message:
-----------
[DomFrontier] Fix precedence in assert. NFC (#182239)
This fixes the warning about parentheses around ‘&&’ within ‘||’, until
DFs with multiple roots are supported.
Commit: 04914f1e5f46585ad75691c762931335479df8f2
https://github.com/llvm/llvm-project/commit/04914f1e5f46585ad75691c762931335479df8f2
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/armv9-mrrs.s
M llvm/test/MC/AArch64/armv9-msrr.s
M llvm/test/MC/AArch64/armv9a-sysp.s
A llvm/test/MC/AArch64/armv9a-tlbip.s
M llvm/test/MC/AArch64/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/directive-arch_extension.s
Log Message:
-----------
[AArch64][llvm] Remove `+d128` gating on `sysp`, `msrr` and `mrrs` instructions (#178912)
Remove `+d128` gating on `sysp`, `msrr` and `mrrs` instructions.
We removed gating for `sys`, `mrs` and `mrs` instructions previously,
on the basis that it doesn't add value, as it doesn't indicate that
any particular system registers or system instructions are available.
Therefore, remove `+d128` gating for these instructions too.
(In upcoming change #178913, some `tlbip` instructions, which are `sysp`
aliases are allowed to be used with either `+d128` or `tlbid`. If we don't
remove this gating, then it would require some ugly work-arounds in the
code to support the relaxation mandated by the 2025 MemSys specification.
In this change, retain `+d128` gating for all `tlbip` instructions, which
will then be loosened to either `+d128` or `+tlbid` in a subsequent
change)
Commit: b3b6fff8b9c4e686889e8044ad7239a5c2aaf5fd
https://github.com/llvm/llvm-project/commit/b3b6fff8b9c4e686889e8044ad7239a5c2aaf5fd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/docs/GettingStarted.rst
M llvm/docs/HowToSubmitABug.rst
Log Message:
-----------
docs: Update HowToSubmitABug to use llvm-reduce instead of bugpoint (#182310)
Convert the crash section to recommend llvm-reduce, and stop mentioning
bugpoint. The miscompilation section still uses bugpoint.
Commit: 2db55dc1a6a0b1ffd9f34c66b6dbc9fb3229a678
https://github.com/llvm/llvm-project/commit/2db55dc1a6a0b1ffd9f34c66b6dbc9fb3229a678
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/inversed-icmp-to-gather.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect inversed compares after throttling, NFC
Commit: 9fa6eaaf837ca3a7326c904a7ec4e5a5bdfb0b5f
https://github.com/llvm/llvm-project/commit/9fa6eaaf837ca3a7326c904a7ec4e5a5bdfb0b5f
Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/callsite-dwarf.cpp
Log Message:
-----------
[clang][DebugInfo] Add virtuality call-site target information in DWARF. (#182311)
Add missing
'REQUIRES: x86-registered-target'
to fix buildbot failure:
https://lab.llvm.org/buildbot/#/builders/190/builds/36803
Commit: 969a326386029322995ed4715ec97f1f42d1fee4
https://github.com/llvm/llvm-project/commit/969a326386029322995ed4715ec97f1f42d1fee4
Author: hidekisaito <hidekido at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/back-off-barrier-subtarget-feature.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
A llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-store-barrier.mir
Log Message:
-----------
[AMDGPU] BackOffBarrier feature added to gfx1250; Removed incorrect "DS Store drain" check. (#179818)
Missing BackOffBarrier feature added to gfx1250.
Checking for S_BARRIER only does not imply prior DS Stores getting
drained.
Commit: 44f1a91ec54ab855bf0bee980dd9a96c066489ed
https://github.com/llvm/llvm-project/commit/44f1a91ec54ab855bf0bee980dd9a96c066489ed
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Add ComplexPatterns for matching xor/vmnot_vl+vmset_vl. NFC (#182071)
Xor is commutable and we don't guarantee which operand will be the
vmset_vl. Tablegen will generate all possible permutations when creating
RISCVGenDAGISel.inc. These xor/vmnot_vl are used by other commutable
nodes leading to quite a few patterns being generated by tablegen.
By using a ComplexPattern we can handle both cases with one piece of C++
code. This reduces the isel table by 2-3k.
Commit: 0e29fa38648135be9b3b571279228175462dc799
https://github.com/llvm/llvm-project/commit/0e29fa38648135be9b3b571279228175462dc799
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang/test/CodeGenHIP/printf.cpp
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
Log Message:
-----------
[AMDGPUEmitPrintf] Fix operand order
Fix a typo in 87eee80dad79417e079c369b9ff5578873019b78, the
CreatePtrDiff operands were supposed to be the other way around.
Commit: 2bd23d3fa688d0e25c8492ceeaa251af4759d559
https://github.com/llvm/llvm-project/commit/2bd23d3fa688d0e25c8492ceeaa251af4759d559
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
A flang/test/Transforms/FIRToMemRef/array-coor-block-arg.mlir
M flang/test/Transforms/FIRToMemRef/no-declare.mlir
Log Message:
-----------
[flang] Lowering a ArrayCoorOp to arithmetic computations when a fir memref is a block argument (#182139)
Remove the special-case that handled `fir.array_coor` with a
block-argument base by converting the element ref result (!fir.ref<i32>
-> memref<i32>) and leaving fir.array_coor alive.
Instead, we now always convert the base (!fir.ref<!fir.array<...>> ->
memref<...>) and compute the memref indices from the fir.array_coor
operands, so loads/stores become memref.load/store base[indices] and
fir.array_coor can be erased when it’s only used by memory ops.
Commit: 070db69bebad7c5d35d7b8327fa9dce597f60991
https://github.com/llvm/llvm-project/commit/070db69bebad7c5d35d7b8327fa9dce597f60991
Author: John Harrison <harjohn at google.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-dap/variables/main.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
M lldb/tools/lldb-dap/Protocol/DAPTypes.h
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/ProtocolUtils.cpp
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
M lldb/unittests/DAP/CMakeLists.txt
A lldb/unittests/DAP/ProtocolBaseTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/VariablesTest.cpp
Log Message:
-----------
Reapply "[lldb-dap] Validate utf8 protocol messages." (#181930) (#182056)
This reverts commit 977d910d005c47f884ecf838e504da301b1124b9.
Addressing build issues with gcc.
Commit: 7ae0a6e820fbf34351517d8513b98c3b8decee55
https://github.com/llvm/llvm-project/commit/7ae0a6e820fbf34351517d8513b98c3b8decee55
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/lib/Interfaces/IndexingMapOpInterface.cpp
M mlir/test/Dialect/Linalg/invalid.mlir
Log Message:
-----------
[mlir][Interface] Allow scalar operands and require ranked shaped operands in IndexingMapOpInterface (#179072)
This change adjusts `IndexingMapOpInterface::verifyImpl`: Scalars are
allowed as operands (treated as rank-0), vectors remain allowed,
unranked tensors/memrefs are rejected with explicit diagnostics.
Fixes https://github.com/llvm/llvm-project/issues/179043
Commit: 85e6134abafaa9be3b2dce24a499c20b66185eff
https://github.com/llvm/llvm-project/commit/85e6134abafaa9be3b2dce24a499c20b66185eff
Author: Darshan Bhat <darshanbhatsirsi at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Dialect/Linalg/collapse-dim.mlir
Log Message:
-----------
[MLIR] Fix a crash in CollapseLinalgDimensions (#181715)
This patch fixes #181610
Added a check in areDimSequencesPreserved()
to verify that each map is a projected permutation before calling
isDimSequencePreserved().
If a map is not a projected permutation, the
function returns false (dimension sequences cannot be preserved in
non-projected-permutation maps).
Commit: cbfb034354b19a8aaae545d1928203de963875cd
https://github.com/llvm/llvm-project/commit/cbfb034354b19a8aaae545d1928203de963875cd
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-qualified-auto in LinalgTransformOps.cpp (NFC)
Commit: e80e9405f91e35783d0cbc8f492af0684ec1a758
https://github.com/llvm/llvm-project/commit/e80e9405f91e35783d0cbc8f492af0684ec1a758
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmov-fp.ll
M llvm/test/CodeGen/X86/dagcombine-select.ll
M llvm/test/CodeGen/X86/fdiv-combine.ll
M llvm/test/CodeGen/X86/fp128-select.ll
M llvm/test/CodeGen/X86/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
M llvm/test/CodeGen/X86/select_const.ll
M llvm/test/CodeGen/X86/sse-load-ret.ll
Log Message:
-----------
[X86] combineCMov - fold CMOV(LOAD(PTR0),LOAD(PTR1)) -> LOAD(CMOV(PTR0,PTR1)) (#182084)
As discussed on #182021 - if we have equivalent simple loads (chain,
addressspace etc.), just with different pointers then we can select
between the pointers directly and perform just a single load, which in
most cases will avoid branching.
A future patch might be able to further simplify some (mainly stack?)
address math with CMOV(X,ADD(X,C1)) -> ADD(X,CMOV(0,C1)) /
CMOV(ADD(X,C0),ADD(X,C1)) -> ADD(X,CMOV(C0,C1))
Commit: 7d9d392a1fa225950d5813a1355effb4f2c8a7f7
https://github.com/llvm/llvm-project/commit/7d9d392a1fa225950d5813a1355effb4f2c8a7f7
Author: Hood Chatham <roberthoodchatham at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
A llvm/test/CodeGen/WebAssembly/select-reftype.ll
Log Message:
-----------
[WebAssembly] Fix SELECT_CC lowering for reference types (#181622)
SELECT_CC nodes with externref or funcref return types were not being
expanded, causing "Cannot select" errors during instruction selection.
This adds SELECT_CC to the list of operations that should be expanded
for reference types, similar to how it's already handled for scalar
types (i32, i64, f32, f64). This allows the SELECT_CC to be lowered to a
SELECT node, which already has instruction patterns defined in
WebAssemblyInstrRef.td.
Commit: 8e85a42d5bcdcdc9176c984d3fbb74a4842058ac
https://github.com/llvm/llvm-project/commit/8e85a42d5bcdcdc9176c984d3fbb74a4842058ac
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
A mlir/include/mlir/Dialect/OpenACC/OpenACCCGAttributes.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
A mlir/test/Dialect/OpenACC/invalid-cg.mlir
A mlir/test/Dialect/OpenACC/ops-cg.mlir
Log Message:
-----------
[mlir][acc] Add attributes for parallelism dimensions (#182209)
As OpenACC gets lowered to eventually mapping to GPU (via GPU dialect),
we need to track parallelism assignment which we can use in how
variables get privatized, how barriers and synchronizations are inserted
to ensure appropriate OpenACC execution model, and for loop
work-sharing. This adds GPUParallelDimAttr and GPUParallelDimsAttr for
this.
Commit: 6fdbcf68ba214725444103ff99668d78240562ea
https://github.com/llvm/llvm-project/commit/6fdbcf68ba214725444103ff99668d78240562ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/docs/CommandGuide/llc.rst
M llvm/docs/CommandGuide/lli.rst
M llvm/tools/llc/llc.cpp
M llvm/tools/lli/lli.cpp
Log Message:
-----------
tools: Remove untested PluginLoader includes (#117644)
As far as I can tell there are 2 parallel plugin mechanisms.
opt -load=plugin does not work, and is ignored. opt -load-pass-plugin
does work. PluginLoader.h forces a static definition of the "load"
cl::opt into included TUs. Delete the cases with no tests.
Commit: c3745fe4ea78c40b1eb595718e4ed2ca2d22e090
https://github.com/llvm/llvm-project/commit/c3745fe4ea78c40b1eb595718e4ed2ca2d22e090
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/docs/HowToSubmitABug.rst
Log Message:
-----------
docs: Delete incorrect code generation section of HowToSubmitABug (#182315)
I've never used this. Based on the description here, I'm assuming
it relied on the C backend, which was removed in 2012.
Commit: ac16ce31578c7dab597a734d89caa50870f0b801
https://github.com/llvm/llvm-project/commit/ac16ce31578c7dab597a734d89caa50870f0b801
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/test/CodeGen/ARM/machine-sink-multidef.mir
Log Message:
-----------
[ARM] Regenerate checks in machine-sink-multidef.mir (#182314)
Commit: 38d804725fb0b353e474e4409fbd3926d4db6384
https://github.com/llvm/llvm-project/commit/38d804725fb0b353e474e4409fbd3926d4db6384
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/inversed-icmp-to-gather.ll
Log Message:
-----------
[SLP]Do not mark for transforming to buildvector inversed compares
Inversed compares must remain vector nodes, they should be converted to
gathers to generate correct code.
Fixes issue reported in https://github.com/llvm/llvm-project/pull/181580#issuecomment-3926951332
Commit: f446cbb59093b08f8bad8427ec84c3a58b6ae19e
https://github.com/llvm/llvm-project/commit/f446cbb59093b08f8bad8427ec84c3a58b6ae19e
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitop3.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize for amdgcn_bitop3 (#181877)
Commit: fab8cb48dcbb3783e7d9b02d5426b88a5423ad49
https://github.com/llvm/llvm-project/commit/fab8cb48dcbb3783e7d9b02d5426b88a5423ad49
Author: Priyanshu Kumar <10b.priyanshu at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/test/CIR/CodeGen/builtins-x86.c
Log Message:
-----------
[CIR]Upstream support for IITDescriptor::Pointer and Vector types (#182112)
Commit: 680b56aa4b426253d1320e309e14534825b20774
https://github.com/llvm/llvm-project/commit/680b56aa4b426253d1320e309e14534825b20774
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/utils/emacs/llvm-mir-mode.el
M llvm/utils/emacs/llvm-mode.el
M mlir/utils/emacs/mlir-mode.el
Log Message:
-----------
[NFC][emacs] Fix emacs lints in the LLVM and MLIR modes (#182074)
This mainly involved explicitly declaring minimum emacs versions for
setq-local and adding a lexical-binding annotaton.
The commit also removes some workarounds from the MLIR mode for Emacs 23
(!).
Commit: bcfff580f454ccabd56a96fe7cedf7373b687218
https://github.com/llvm/llvm-project/commit/bcfff580f454ccabd56a96fe7cedf7373b687218
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
AMDGPU: Strip sign bit operations on llvm.amdgcn.trig.preop uses (#179712)
The instruction ignores the sign bit, so we can find the magnitude
source. The real library use has a fabs input which this avoids.
stripSignOnlyFPOps should probably go directly into PatternMatch in some
form.
Commit: 015ea59df7dfc592a71d37d1183254b9e567cbfc
https://github.com/llvm/llvm-project/commit/015ea59df7dfc592a71d37d1183254b9e567cbfc
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/test/MC/AArch64/armv9a-tlbip.s
Log Message:
-----------
[AArch64][llvm] Remove `+xs` gating for `tlbip *nxs` instructions (#179435)
A recent specification update has removed `FEAT_XS` gating for `tlbip *nxs`
instructions. It remains gated on `FEAT_XS` for `tlbi *nxs` instructions.
Commit: f437315bc3e6d403e41e4c43341f53513e5268fb
https://github.com/llvm/llvm-project/commit/f437315bc3e6d403e41e4c43341f53513e5268fb
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-call.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-waterfall-call.mir
Log Message:
-----------
[AMDGPU][GISel] Add RegBankLegalize support for G_SI_CALL (#165747)
Commit: 6e9a7367139ab3fae805d66a66247865624e4c69
https://github.com/llvm/llvm-project/commit/6e9a7367139ab3fae805d66a66247865624e4c69
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
Log Message:
-----------
[LifetimeSafety] Fix 'this' origin handling in lambdas (#182300)
Fixes https://github.com/llvm/llvm-project/issues/182291
Commit: 025e11e24ce92b602ee6bca2642b5b4ebd88a19f
https://github.com/llvm/llvm-project/commit/025e11e24ce92b602ee6bca2642b5b4ebd88a19f
Author: Thibaut Goetghebuer-Planchon <thibaut.goetghebuer-planchon at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/test/Dialect/Tosa/tosa-narrow-f64-to-f32-aggressive.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-f64-to-f32.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32-aggressive.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir
Log Message:
-----------
[mlir][tosa] Use 0 values for the dense resource in tosa-narrow-* tests (#182321)
For the test portability between little-endian and big-endian, just use
zeros as the dense resource values. It doesn't test the actual narrowing
but tests that the other conversions went well.
Commit: a8cd1ac7058efdf7a9be823182da884243ca6c0b
https://github.com/llvm/llvm-project/commit/a8cd1ac7058efdf7a9be823182da884243ca6c0b
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/source/Plugins/Process/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSDKernel/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.h
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][Process/FreeBSDKernel] Remove libfbsdvmcore support (#181283)
Due to libfbsdvmcore, adding new features requires modifying both
`ProcessFreeBSDKernelFVC` and `ProcessFreeBSDKernelKVM` which also
requires testing on both. This is highly inefficient while the user base
of fvc is currently invisible since most package manager don't ship
libfbsdvmcore with LLDB.
There is still demand for cross-platform kernel dump debugging. This
will be implemented in future either by cloning and embedding kvm
interface into LLDB or unifying dump formats to ELF core with
minidump-to-elf conversion tool on FreeBSD side.
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: e7266ad8a65ad8c14229894fabdf4ad285f236af
https://github.com/llvm/llvm-project/commit/e7266ad8a65ad8c14229894fabdf4ad285f236af
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M lldb/source/Host/windows/PseudoConsole.cpp
Log Message:
-----------
[lldb][windows] mitigate a race condition when closing the ConPTY (#182109)
This patch mitigates a race condition when closing the ConPTY of a
process on Windows.
This is a temporary solution, I am working on a better one. This would
however unlock the
[lldb-aarch64-windows](https://lab.llvm.org/buildbot/#/builders/141/builds/15535)
bot while still keeping STDIN and STDOUT support in lldb.
The race condition happens because the ConPTY is closed when a process
exits, however the data was not fully received yet from the process.
I think the correct solution would be to close the ConPTY when we
receive the EOF in `ConnectionGenericFile::Read`.
Commit: 4db69f41457e11af677461124f4bf7f7543b6772
https://github.com/llvm/llvm-project/commit/4db69f41457e11af677461124f4bf7f7543b6772
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/cfguard-module-flag.ll
M llvm/test/CodeGen/WinCFGuard/cfguard.ll
M llvm/test/CodeGen/X86/cfguard-module-flag.ll
Log Message:
-----------
[win] Control Flow Guard: Don't set the GuardCF COFF feature if the checks are missing (#182205)
LLVM allows Windows Control Flow Guard to be enabled in "table only"
mode where it emits the Control Flow Guard tables (indicating addresses
for valid targets) but doesn't emit any checks at call sites. This is
almost the same as MSVC's `/d2guardnochecks` flag, EXCEPT MSVC doesn't
set the COFF feature bit indicating that Control Flow Guard is enabled
(`GuardCF`) whereas LLVM does.
This change aligns LLVM with MSVC: in table only mode, the Control Flow
Guard COFF feature bit (`GuardCF`) will not be set.
Commit: e87ac294333dd978b8ef49e8e51ff4e23c65b26b
https://github.com/llvm/llvm-project/commit/e87ac294333dd978b8ef49e8e51ff4e23c65b26b
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/MachineVerifier/AMDGPU/unsupported-subreg-index-aligned-vgpr-check.mir
Log Message:
-----------
[NFC][CodeGen] Refactor subregister index verification for MIR (#181921)
Refactor register class/subreg-index verification against the
instruction specified class:
- Avoid inflating the register's class (i.e., no need to call
`getLargestLegalSuperClass`).
- Check validity with `getMatchingSuperRegClass(RC, DRC, SubIdx) == RC`.
- Add some explanatory comments for this check.
- Extended a unit test to exercise this verification failure.
Commit: 657eef69e4b418ed4a0326056582f512d851d18e
https://github.com/llvm/llvm-project/commit/657eef69e4b418ed4a0326056582f512d851d18e
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
A llvm/test/ThinLTO/X86/Inputs/export2.ll
A llvm/test/ThinLTO/X86/export2.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-exported-internal.ll
M llvm/test/ThinLTO/X86/module_asm2.ll
M llvm/tools/llvm-link/llvm-link.cpp
Log Message:
-----------
[ThinLTO] Distinguish symbols that are promoted (#181946)
Thinlink may decide some symbols with internal linkage should get promoted to external. Such a symbol, when being imported, would have its name changed by appending a suffix (`.llvm.<a hash>`) to avoid collisions - since internal linkage symbols have non-unique names.
Later, still during Thinlink, in `thinLTOResolvePrevailingGUID`, the fact that this symbol was promoted is not considered and we set its linkage to `AvailableExternally`(when reading `thinLTOResolvePrevailingGUID`, note that "prevailing-ness" is not a concept that the original symbol would have participated in)
This should result in a final (native) link error, because the symbol's definition may be elided. But we get lucky: in the post-thinlink backend, during import, in `llvm::thinLTOFinalizeInModule`, after this symbol's name was changed and its linkage also changed to `External` (see `FunctionImportGlobalProcessing::processGlobalForThinLTO`), we try to find it in the `DefinedGlobals`, fail (because its guid is computed from its changed name)) and leave its linkage as-is. Which happens to be correct.
This patch makes this outcome intentional rather than accidental. It becomes critical once we land [this RFC](https://discourse.llvm.org/t/rfc-keep-globalvalue-guids-stable/84801).
As a side-benefit, the extra attribute propagations that weren't happening in `llvm::thinLTOFinalizeInModule` now do.
Commit: aa2dac40de5c1d9c4e1d00d445d90621fe4996fc
https://github.com/llvm/llvm-project/commit/aa2dac40de5c1d9c4e1d00d445d90621fe4996fc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/X86/add-sub-bool.ll
M llvm/test/CodeGen/X86/bittest-big-integer.ll
M llvm/test/CodeGen/X86/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[DAG] SimplifyDemandedBits - fold FSHR(X,Y,Amt) -> SRL(Y,Amt) (#182294)
If a FSHR node's DemandedBits mask and maximum shift amount doesn't
demand any bits from the X upper register, then simplify to a SRL node.
FSHL is less useful but we could add it as a future patch if there's
interest
Based off a discussion on #182021
Commit: 07ee05235065c13f09435481c1983e70087caacd
https://github.com/llvm/llvm-project/commit/07ee05235065c13f09435481c1983e70087caacd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/avx512-mask-bit-manip.ll
Log Message:
-----------
[X86] avx512-mask-bit-manip.ll - fix T1MSKC pattern (#182308)
Missing NOT
Commit: c34fb00c67f285e2546595d78755b38650e4d26f
https://github.com/llvm/llvm-project/commit/c34fb00c67f285e2546595d78755b38650e4d26f
Author: Darshan Bhat <darshanbhatsirsi at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Dialect/Affine/loop-coalescing.mlir
Log Message:
-----------
[mlir] Fix a crash in SCF loop coalescing when loop step is zero (#181893)
Fixes #181590
The affine-loop-coalescing pass crashes when loop has a statistically
known zero step. This fix does an early bail-out in coalesceLoops that
return failure when a loop has a known zero step.
Commit: d5b6b465ff87d8a233cfe50dc5d01a873c560b37
https://github.com/llvm/llvm-project/commit/d5b6b465ff87d8a233cfe50dc5d01a873c560b37
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/utils/emacs/tablegen-mode.el
Log Message:
-----------
[emacs] Rework tablegen mode (#182076)
This commit reworks tablegen-mode to be derived from prog-mode and
removes a lot of the manual work that define-derived-mode does for you
these days, along with fixing other lints (such as an over-long
summary).
This is a major version bump because td-decorators-face has been renamed
to tablegen-decorators-face in order to not pollute other namespaces.
Commit: e4679470470e76c8a83b812269caa74ee9a768e0
https://github.com/llvm/llvm-project/commit/e4679470470e76c8a83b812269caa74ee9a768e0
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M lldb/test/API/functionalities/module_cache/simple_exe/TestModuleCacheSimple.py
Log Message:
-----------
[lldb] Disable shared build for TestModuleCacheSimple.py (#182329)
Follow up to #181720.
Commit: fece61b281625c88251b88cc790f71a1071b830e
https://github.com/llvm/llvm-project/commit/fece61b281625c88251b88cc790f71a1071b830e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
Log Message:
-----------
[lldb] Remove check for LLDB_ENABLE_PYTHON in SWIGPythonBridge.h (#182326)
The header guard is redundant because
`source/Plugins/ScriptInterpreter/CMakeLists.txt` already gates the
entire `Python/` subdirectory behind `LLDB_ENABLE_PYTHON`.
Commit: ea4bbfbf5b5b24a11874af07d20076e944aac12d
https://github.com/llvm/llvm-project/commit/ea4bbfbf5b5b24a11874af07d20076e944aac12d
Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
AMDGPU/Docs: Reserve 0x060 and 0x070 ELF MACH (e_flags) (#182341)
Commit: 61caac54df7fc928a040d5c83121539d0b87f1bf
https://github.com/llvm/llvm-project/commit/61caac54df7fc928a040d5c83121539d0b87f1bf
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M lldb/docs/resources/formatterbytecode.rst
Log Message:
-----------
[lldb] Fix small error in formatterbytecode.rst (#182342)
Commit: ed0ba3cb4553dac9bdd14803b17795a4cfb89de6
https://github.com/llvm/llvm-project/commit/ed0ba3cb4553dac9bdd14803b17795a4cfb89de6
Author: michaelselehov <michael.selehov at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/a-v-global-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
A llvm/test/CodeGen/AMDGPU/loop-header-align-gfx950.mir
Log Message:
-----------
[AMDGPU] Align loop headers to prevent instruction fetch split on GFX950 (#181999)
On GFX9, the instruction sequencer fetches 32 bytes at a time. When an
8-byte instruction at a loop header straddles a 32-byte fetch window
boundary, the sequencer must perform two fetches after a backward
branch, incurring a delay. On GFX950, this causes additional performance
issues.
This patch adds 32-byte alignment (.p2align 5, , 4) for loop headers on
GFX950 when the first real instruction is 8 bytes. At most one s_nop (4
bytes, 1 quad-cycle before the loop) is used for padding. If more than 4
bytes of padding were needed, the 8-byte instruction would not straddle
a 32-byte boundary anyway, so alignment is skipped.
Note: the alignment decision is made during block-placement, before
si-insert-waitcnts. In loops where a 4-byte S_WAITCNT is later inserted
as the first instruction, the alignment becomes redundant but mostly
harmless (at most one extra s_nop per affected loop).
Assisted-by: Claude (Anthropic)
Commit: 92cc4ffb81f06413592d739c4e58071a9a4b7f70
https://github.com/llvm/llvm-project/commit/92cc4ffb81f06413592d739c4e58071a9a4b7f70
Author: Lei Huang <lei at ca.ibm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrAltivec.td
M llvm/lib/Target/PowerPC/PPCInstrFuture.td
M llvm/lib/Target/PowerPC/PPCInstrFutureMMA.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
A llvm/lib/Target/PowerPC/PPCOperands.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
Log Message:
-----------
[PowerPC] Refactor immediate operand definitions (#179983)
Refactors PowerPC's immediate operand definitions using multiclasses
to reduce code duplication and improve maintainability.
Changes include:
- Established consistent naming: i32 versions without suffix, i64
versions with '64' suffix
- Predicate functions added to imm/timm nodes to verify immdiate values.
Assistance provided by AI.
Commit: a8f2e80d5fe3e713330eb34ad878beeb71e43e0c
https://github.com/llvm/llvm-project/commit/a8f2e80d5fe3e713330eb34ad878beeb71e43e0c
Author: Fabian Schuiki <fabian at schuiki.ch>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
A mlir/test/mlir-tblgen/gen-op-doc.td
M mlir/test/mlir-tblgen/openmp-ops.td
M mlir/tools/mlir-tblgen/OpDocGen.cpp
Log Message:
-----------
[MLIR][tblgen] Honor `-dialect` in `-gen-{attrdef,op,typedef,enum}-doc` (#182183)
Make all dialect documentation generators use the same set of records as
`-gen-dialect-doc`, which honors the `-dialect` tblgen option to filter
records by dialect. Add a `-keep-op-source-order` option to allow
`-gen-op-doc` to continue producing unsorted op lists if needed.
This commit factors the record collection, filtering, and sorting
performed in `emitDialectDoc` out into a separate `collectRecords`
function, returning a `DialectRecords` with the results. The emit
functions now all accept a `DialectRecords` argument instead of
collecting records themselves. Most changes are mechanical renamings and
moving code around.
This fixes a confusing issue where `gen-dialect-doc` would produce the
entire documentation for a dialect, but individual calls to
`gen-attrdef-doc` and the like would seemingly operate on a different
set of records, potentially covering multiple dialects. This all produce
the overall documentation now.
Commit: 1a6b44b2847d10d29c9bf16b7852452c349f580c
https://github.com/llvm/llvm-project/commit/1a6b44b2847d10d29c9bf16b7852452c349f580c
Author: Ayush Kumar Gaur <132849148+Ayush3941 at users.noreply.github.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
A mlir/test/Dialect/ArmSME/tile-allocation-nested-regions.mlir
Log Message:
-----------
[mlir][ArmSME] Replace nested-region assertion in tile allocation with diagnostic (#181934)
Replace the nested-region assertion in ArmSME tile allocation with a
proper diagnostic and graceful failure.
Fixes #181593
Commit: a7b5cb83f54d310e4347ee6c5cf4ae7efdd3a82a
https://github.com/llvm/llvm-project/commit/a7b5cb83f54d310e4347ee6c5cf4ae7efdd3a82a
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor-invalid.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/canonicalize.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/profile_all_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-f64-to-f32.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Improve slice op verifier (#181889)
The slice op verifier was missing checks on the values of start and size
inputs. Similar to other op verifiers, shape_t const inputs have been
checked for validity against the spec. The commit adds checks for the
following conditions:
- start values must be non-negative
- size values must be > 0
- start + size must be less than or equal to the input dimension size
- the output shape must be consistent with the size values
The commit also allows kInferableDimSize values (-1) to be passed in for
start and size, which are used to indicate that the dimension size can
be inferred by the compiler. The verifier will skip checks for any start
or size value that is kInferableDimSize. With shape expressions being
added, we should no longer require these values, but removal will be
handled in a separate commit.
Commit: 297965495b8b338c2becc0b3f354a476d90aba20
https://github.com/llvm/llvm-project/commit/297965495b8b338c2becc0b3f354a476d90aba20
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
M clang/test/CIR/CodeGenCUDA/kernel-call.cu
Log Message:
-----------
[CIR][HIP] Add Stub body emission test coverage and Fix kernelHandle storage (#179823)
Related: https://github.com/llvm/llvm-project/issues/179278,
https://github.com/llvm/llvm-project/issues/175871
Besides adding extra test coverage for hip:
Given that HIP represents kernel handles as a global Op. In my previous
patch there was a slight miss-use of the CIR api. since
`getOrCreateCIRGlobal` expects a VarDecl for location info but
`gd.getDecl()` (in this scope) is a FunctionDecl, trying to cast it to
the proper type would provoke that value to be null. Causing a crash
when generating the proper mlir location from the AST. here:
https://github.com/llvm/llvm-project/blob/fab5b1858d02ffed88b76d33f7c691ee4e0c82fb/clang/lib/CIR/CodeGen/CIRGenModule.cpp#L731
Fixed it by using `createGlobalOp` which allows to use the location from
the proper funcOp itself.
Commit: eec7a2f62046aeb8bd7896777982341b1b617b1c
https://github.com/llvm/llvm-project/commit/eec7a2f62046aeb8bd7896777982341b1b617b1c
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M lldb/source/Target/RegisterContext.cpp
Log Message:
-----------
[lldb] Remove redundant nullptr check (NFC) (#182352)
`target` cannot be null because `target_sp` is non-null.
Commit: efb397ce707df0a1fff95fba4b94bc29ee7c722d
https://github.com/llvm/llvm-project/commit/efb397ce707df0a1fff95fba4b94bc29ee7c722d
Author: DylanFleming-arm <85629460+DylanFleming-arm at users.noreply.github.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M libc/CMakeLists.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/lib/CMakeLists.txt
M libc/src/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/bit.h
M libc/src/__support/macros/properties/cpu_features.h
A libc/src/__support/mathvec/CMakeLists.txt
A libc/src/__support/mathvec/common_constants.h
A libc/src/__support/mathvec/expf.h
A libc/src/__support/mathvec/expf_utils.h
A libc/src/mathvec/CMakeLists.txt
A libc/src/mathvec/expf.h
A libc/src/mathvec/generic/CMakeLists.txt
A libc/src/mathvec/generic/expf.cpp
A libc/test/UnitTest/SIMDMatcher.h
M libc/test/src/CMakeLists.txt
A libc/test/src/mathvec/CMakeLists.txt
A libc/test/src/mathvec/expf_test.cpp
Log Message:
-----------
[libc][mathvec] Initial commit for LIBC vector math component (#173058)
Created mathvec directories and unittest framework for vector math
functions, as well as an initial implementation of vector expf, which is
presently CR for round-to-nearest.
---------
Co-authored-by: Pierre Blanchard <pierre.blanchard at arm.com>
Commit: ea27498a5ca6752396c7be936c09b3d47bbef5bc
https://github.com/llvm/llvm-project/commit/ea27498a5ca6752396c7be936c09b3d47bbef5bc
Author: Tony Linthicum <tony.linthicum at outlook.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
A llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_diff_types.mir
Log Message:
-----------
[AMDGPU] Fix handling of setting register classes in MFMA scheduler rewrite stage (#181047)
Fixes problem with setting/resetting register classes in the MFMA
rewrite sched stage. The code assumed that the dest and OpC would be the
same class. This is not true if one uses subregs. This fixes issue
#177696.
Commit: 413cafa4624eb37e586e266f44abd64896e1c598
https://github.com/llvm/llvm-project/commit/413cafa4624eb37e586e266f44abd64896e1c598
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/test/Transforms/LoopUnroll/debug.ll
Log Message:
-----------
[LoopUnrollPass] Remove redundant debug message in `tryToUnrollLoop()` (#181954)
Remove the redundant debug message.
While we're here, adopt the same debug message language that's used in
#178476 and use an `if` instead of a single `case` `switch` statement.
Commit: 0dafeb97a4687c29f5182fa0239c7fa39ee23091
https://github.com/llvm/llvm-project/commit/0dafeb97a4687c29f5182fa0239c7fa39ee23091
Author: Luisa Cicolini <48860705+luisacicolini at users.noreply.github.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-addv.mir
Log Message:
-----------
[GIsel] import `(not (add X, -1)) -> (neg X)` to GlobalISel (#181640)
We port the rewrite `(not (add X, -1)) -> (neg X)` from SelectionDAG to
GlobalISel. I contemplated adding a `G_NEG` primitive initially, but
given that the [SelectionDAG pattern rewrites to a
subtraction](https://github.com/llvm/llvm-project/blob/20aff2085c358d3e112b245494161ddb9ffe0410/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp#L1649),
I implemented the rhs of the rewrite as a subtraction directly,
specifying the comment accordingly.
Commit: ec8b9ca47dfc1bbab0f9232c86057131db0e13ee
https://github.com/llvm/llvm-project/commit/ec8b9ca47dfc1bbab0f9232c86057131db0e13ee
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
R clang/test/DebugInfo/CXX/callsite-base.cpp
R clang/test/DebugInfo/CXX/callsite-derived.cpp
R clang/test/DebugInfo/CXX/callsite-edges.cpp
R cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/callsite-dwarf.cpp
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/FixedMetadataKinds.def
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/test/CodeGen/MIR/X86/callsite-emit-calleetypeid.ll
Log Message:
-----------
Revert "[clang][DebugInfo] Add virtuality call-site target informatio… (#182343)
…n in DWARF. (#167666)"
This reverts commit 418ba6e8ae2cde7924388142b8ab90c636d2c21f.
The commit caused an ICE due to hitting unreachable in
llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1307
Fixes #182337
Commit: 17aa4bb9430fefbd916baeb22950d8806fa3b6a8
https://github.com/llvm/llvm-project/commit/17aa4bb9430fefbd916baeb22950d8806fa3b6a8
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[alpha.webkit.UncountedLocalVarsChecker] Handle null Type in CanTriviallyDestruct (#182129)
Added an early exit for when CanTriviallyDestruct encounters a QualType
without a Type.
Commit: 918ef6cfaf6ee928576457a1666d7df782d3c89a
https://github.com/llvm/llvm-project/commit/918ef6cfaf6ee928576457a1666d7df782d3c89a
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/assert-align.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-assert-align.mir
Log Message:
-----------
[AMDGPU][GISel] Add RegbankLegalize Rules for G_ASSERT_ALIGN (#182353)
Commit: aeaea7a5f1005b23039a2bfca2b7a74731994d12
https://github.com/llvm/llvm-project/commit/aeaea7a5f1005b23039a2bfca2b7a74731994d12
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
A llvm/test/Transforms/InstCombine/bitcast-select-const-vector.ll
M llvm/test/Transforms/InstCombine/copysign.ll
M llvm/test/Transforms/InstCombine/fold-bin-operand.ll
Log Message:
-----------
InstCombine: Fold bitcast of vector with constant to scalar (#179042)
Fold bitcast (select cond, val, const) ->
select cond, (bitcast val), (bitcast const)
Rocm device libs has an unfortunate amount of code that does bithacking
on the sign bit of double values by casting to <2 x i32> and operating
on the high element. This breaks value tracking optimizations on the
fp value.
The existing transform would only do this if the input to the select was
also a bitcast with a single use, and if it didn't convert between
vector and scalar.
Commit: ae66e34c01c3f33381949ab85fd77860ccd65a8e
https://github.com/llvm/llvm-project/commit/ae66e34c01c3f33381949ab85fd77860ccd65a8e
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/GCNRewritePartialRegUses.cpp
Log Message:
-----------
[NFC][CodeGen] Add helper function to check SubReg validity (#181489)
Add function `isSubRegValidForRegClass` to check if a sub-register index
can be used with a register class and use it in MIR verifier and a few
other places.
Commit: 3c6523dcb8ebc0396f69c578285599b66e16dce7
https://github.com/llvm/llvm-project/commit/3c6523dcb8ebc0396f69c578285599b66e16dce7
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
R flang/test/Transforms/FIRToMemRef/array-coor-block-arg.mlir
M flang/test/Transforms/FIRToMemRef/no-declare.mlir
Log Message:
-----------
Revert "[flang] Lowering a ArrayCoorOp to arithmetic computations whe… (#182365)
This reverts commit 2bd23d3fa688d0e25c8492ceeaa251af4759d559.
Commit: dcd2b08222838cad47e76c792e51b4c44fb61ae6
https://github.com/llvm/llvm-project/commit/dcd2b08222838cad47e76c792e51b4c44fb61ae6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv64p.ll
Log Message:
-----------
[RISCV] Use FSHR in LowerShiftRightParts for P extension on RV64. (#181234)
We can't do the NSRLI trick on RV64, but we can use srx similar to what
we do in LowerShiftLeftParts. We need an additional fixup step for the
FSHR result that NSRLI doesn't need.
Assisted-by: claude
Commit: 3c60be2c356a2769c7e930a9d44ccb1881602e6a
https://github.com/llvm/llvm-project/commit/3c60be2c356a2769c7e930a9d44ccb1881602e6a
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix build for 8e85a42d5b (#182359)
Commit: 3d712010f3d1ac4b1b134d9273cb2682e2de665f
https://github.com/llvm/llvm-project/commit/3d712010f3d1ac4b1b134d9273cb2682e2de665f
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M lldb/test/API/functionalities/postmortem/FreeBSDKernel/TestFreeBSDKernelVMCore.py
Log Message:
-----------
[lldb][tests/FreeBSDKernel] Skip tests on non-FreeBSD hosts (#182363)
#181283 removed fvc but it still remains in tests. This causes testing
on non-FreeBSD hosts. Thus add `skipUnlessPlatform` decorator.
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: 6233c4e488d540f31cad30e47e10abb66dd99f19
https://github.com/llvm/llvm-project/commit/6233c4e488d540f31cad30e47e10abb66dd99f19
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/utils/gn/build/driver_executable.gni
M llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn
Log Message:
-----------
gn build: Port 15488a7f78ce
Commit: 76525a8d3b5caeb849635a1fe3438dcde315dc2c
https://github.com/llvm/llvm-project/commit/76525a8d3b5caeb849635a1fe3438dcde315dc2c
Author: Mikhail Romanov <romanov_mik at mail.ru>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[MLIR] Fix canonicalization of extract_slice(unpack) (#181840)
Commit: 546244353aee77bfc26662dd99f1a74667c76247
https://github.com/llvm/llvm-project/commit/546244353aee77bfc26662dd99f1a74667c76247
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVTypeInst.cpp
Log Message:
-----------
[SPIRV] Mark function only used in assert maybe_unused
https://lab.llvm.org/staging/#/builders/227/builds/519
Commit: f33f9a0cf54a7a3ee7ea76c6780d699c46957f9c
https://github.com/llvm/llvm-project/commit/f33f9a0cf54a7a3ee7ea76c6780d699c46957f9c
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
R mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir
R mlir/test/Dialect/Vector/vector-multi-reduction-outer-lowering.mlir
A mlir/test/Dialect/Vector/vector-multi-reduction-unrolling.mlir
M mlir/test/python/dialects/transform_vector_ext.py
Log Message:
-----------
[mlir][vector] Add apply_patterns.vector.multi_reduction_unrolling. (#182113)
* Adds vector transform op
`apply_patterns.vector.multi_reduction_unrolling`
* Adds test for `populateVectorMultiReductionUnrollingPatterns`
* Deletes old test files `vector-multi-reduction-lowering.mlir` and
`vector-multi-reduction-lowering-outer.mlir`. Tests that exercise these
patterns exist in `vector-multi-reduction-flattening.mlir`,
`vector-multi-reduction-reorder-and-expand.mlir` and
`vector-multi-reduction-unrolling.mlir`
Assisted-by: claude
Commit: 9845f6a088d0b7b34fb6311969df235de19b9f49
https://github.com/llvm/llvm-project/commit/9845f6a088d0b7b34fb6311969df235de19b9f49
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[LTO] Refactor LTO link optimization remarks handling (NFC) (#181269)
Centralize the setup and finalization of optimization remarks for LTO
link actions
outside of the pass pipeline. This ensures that remarks are correctly
captured across
all exit paths from the LTO pipeline.
The motivation for this refactoring is to provide a cleaner and more
robust
interface for managing diagnostics, and to enable easier remark emission
during
the thin link phase in a follow-on PR.
Key changes:
- Added a setupOptimizationRemarks on the LTO class. Call it from
LTO::run
and remove the existing setup from runRegularLTO.
- Added a unified diagnostic API to the LTO class (emitRemark) and use
that
in linkRegularLTO.
- Centralize the finalizeOptimizationRemarks call in LTO::cleanup, which
is already
invoked by LTO::run's scope_exit handler.
Commit: 0364443d79da90e6ab55a7a68deae5071b077f8f
https://github.com/llvm/llvm-project/commit/0364443d79da90e6ab55a7a68deae5071b077f8f
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Fix bazel for a8f2e80d5f (#182372)
Commit: 35b5d13c45cd9c0d7c38120eae536f17ec9541a3
https://github.com/llvm/llvm-project/commit/35b5d13c45cd9c0d7c38120eae536f17ec9541a3
Author: Roman Vinogradov <vinogradov.roman at gmail.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
Log Message:
-----------
[ASan] Fix crash in __asan_region_is_poisoned at application memory boundaries (#180223)
`__asan_region_is_poisoned()` can crash when called on a region fully
contained in the last 8 bytes (shadow-granularity) before the end of an
ASan application memory range (kLowMemEnd / kMidMemEnd / kHighMemEnd).
The function performs a fast-path check by rounding UP the begin address
and rounding DOWN the end address of the region (aligned to
`ASAN_SHADOW_GRANULARITY`) and then scanning the corresponding shadow
range via `MemToShadow()` and `mem_is_zero()`. The implementation of
`MemToShadow()` assumes that `RoundUpTo(beg, ASAN_SHADOW_GRANULARITY)`
remains within the same application memory range. That assumption is
incorrect near upper bound of a range: for example, begin address within
the last 8 bytes of the high memory range
(`kHighMemEnd=0x0000'7fff'ffff'ffff`), which is the max user address of
VAS on x86_64, may be rounded UP so it crosses the upper bound
kHighMemEnd. In such cases MemToShadow() is invoked on an out-of-range
address and crashes.
Precisely, the following calls crash in `MemToShadow(aligned_b)` because
`aligned_b = RoundUpTo(beg, ASAN_SHADOW_GRANULARITY)` returns
`0x0000'8000'0000'0000` which is 1 byte beyond the VAS:
`__asan_region_is_poisoned((void*)0x0000'7fff'ffff'fff9, size); // 1 <=
size <= 6
__asan_region_is_poisoned((void*)0x0000'7fff'ffff'fffa, size); // 1 <=
size <= 5
__asan_region_is_poisoned((void*)0x0000'7fff'ffff'fffb, size); // 1 <=
size <= 4
__asan_region_is_poisoned((void*)0x0000'7fff'ffff'fffc, size); // 1 <=
size <= 3
__asan_region_is_poisoned((void*)0x0000'7fff'ffff'fffd, size); // 1 <=
size <= 2
__asan_region_is_poisoned((void*)0x0000'7fff'ffff'fffe, size); // size =
1`
Fix this by detecting cases earlier where the shadow range is empty
(aligned_e < aligned_b) and returning earlier without calling
MemToShadow() or mem_is_zero().
Add tests checking regions at the ends of ASan LowMem, MidMem, and
HighMem application memory ranges to ensure __asan_region_is_poisoned()
no longer crashes on these boundary cases.
Commit: 79697b8a5bcc4438fde17ba28844b54241dcb976
https://github.com/llvm/llvm-project/commit/79697b8a5bcc4438fde17ba28844b54241dcb976
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M mlir/lib/Target/LLVM/CMakeLists.txt
M mlir/lib/Target/LLVM/XeVM/Target.cpp
Log Message:
-----------
[MLIR][XeVM] Revert PR179557 (#182373)
Revert #179557 as the change relies on private non export API.
Commit: 650e898c45907bb5b038433e5269e8204fbdc11a
https://github.com/llvm/llvm-project/commit/650e898c45907bb5b038433e5269e8204fbdc11a
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
Log Message:
-----------
[NFC][CodeGen] Rewrite comment for `getSubRegisterClass` (#182339)
Change the description of `getSubRegisterClass` to be more accurate.
Additionally, reformat some existing comments to use `\p` to denote
function parameters.
Commit: 29d4fea59bfa8ab3be0773fdd673848ae05cfbfd
https://github.com/llvm/llvm-project/commit/29d4fea59bfa8ab3be0773fdd673848ae05cfbfd
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
Log Message:
-----------
[SLP]Handle mixed select-to-bicasts and general reductions
If the reduction tree represents mixed select-to-bitcasts and general
reductions, need to handle them correctly to avoid a compiler crash
Fixes https://github.com/llvm/llvm-project/pull/181940#issuecomment-3929220929
Commit: 4cdbb95d91063640003450759f15976d8bc59dc9
https://github.com/llvm/llvm-project/commit/4cdbb95d91063640003450759f15976d8bc59dc9
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
Log Message:
-----------
[lldb] Check the shared cache binary provider for Simulator sessions (#182216)
The code to check with the shared cache binary provider was previously
in the native host platform (PlatformDarwinDevice), but it also needs to
be called from PlatformAppleSimulator for simulator debug sessions. Move
the code to the base class PlatformDarwin and call it from both
subclasses. No changes to the code itself, just moving it to the base
class.
rdar://170693756
Commit: 7f631bb523a34d3b95a6614006468c609e60fcf5
https://github.com/llvm/llvm-project/commit/7f631bb523a34d3b95a6614006468c609e60fcf5
Author: Justin Stitt <justinstitt at google.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M clang/docs/LanguageExtensions.rst
A clang/docs/OverflowBehaviorTypes.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerSpecialCaseList.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/index.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Options/Options.td
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/AST/ast-print-overflow-behavior.cpp
A clang/test/AST/overflow-behavior-keywords-ast.cpp
A clang/test/CodeGen/mangle-ms-overflow-behavior.cpp
A clang/test/CodeGen/overflow-behavior-types-extensions.c
A clang/test/CodeGen/overflow-behavior-types-operators.cpp
A clang/test/CodeGen/overflow-behavior-types-promotions.cpp
A clang/test/CodeGen/overflow-behavior-types-scl.c
A clang/test/CodeGen/overflow-behavior-types.c
A clang/test/CodeGen/overflow-behavior-types.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/attr-overflow-behavior-constexpr.cpp
A clang/test/Sema/attr-overflow-behavior-format-strings.c
A clang/test/Sema/attr-overflow-behavior-off.c
A clang/test/Sema/attr-overflow-behavior-templates.cpp
A clang/test/Sema/attr-overflow-behavior.c
A clang/test/Sema/attr-overflow-behavior.cpp
A clang/test/Sema/overflow-behavior-assignment-pedantic.c
A clang/test/Sema/overflow-behavior-function-boundary-default.c
A clang/test/Sema/overflow-behavior-keywords-off.c
A clang/test/Sema/overflow-behavior-keywords.c
M clang/test/SemaCXX/sugar-common-types.cpp
M clang/tools/libclang/CIndex.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[Clang] Introduce OverflowBehaviorType for fine-grained overflow control (#148914)
Introduce `OverflowBehaviorType` (OBT), a new type attribute in Clang
that provides developers with fine-grained control over the overflow
behavior of integer types. This feature allows for a more nuanced
approach to integer safety, achieving better granularity than global
compiler flags like `-fwrapv` and `-ftrapv`. Type specifiers are also
available as keywords `__ob_wrap` and `__ob_trap`.
These can be applied to integer types (both signed and unsigned) as well
as typedef declarations, where the behavior is one of the following:
* `wrap`: Guarantees that arithmetic operations on the type will wrap on
overflow, similar to `-fwrapv`. This suppresses UBSan's integer overflow
checks for the attributed type and prevents eager compiler
optimizations.
* `trap`: Enforces overflow checking for the type, even when global
flags like `-fwrapv` would otherwise suppress it.
A key aspect of this feature is its interaction with existing
mechanisms. `OverflowBehaviorType` takes precedence over global flags
and, notably, over entries in the Sanitizer Special Case List (SSCL).
This allows developers to "allowlist" critical types for overflow
instrumentation, even if they are disabled by a broad rule in an SSCL.
Signed-off-by: Justin Stitt <justinstitt at google.com>
Commit: 7513fbd660082b4538fafaae6714edafe8f0e0f8
https://github.com/llvm/llvm-project/commit/7513fbd660082b4538fafaae6714edafe8f0e0f8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/predicated-multiple-exits.ll
A llvm/test/Transforms/LoopVectorize/predicated-single-exit.ll
Log Message:
-----------
[LV] Add tests with predicated early exits.
Add test coverage for predicated early exits, without instructions that
need predication after the early exits.
Commit: 384bc40250f23a2ac6545b1017dc96d5b513050f
https://github.com/llvm/llvm-project/commit/384bc40250f23a2ac6545b1017dc96d5b513050f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/TableGen/RegClassByHwMode.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[TableGen][ISel] Add OPC_CheckTypeByHwMode0 to optimize the most frequent getValueTypeForHwMode index. (#182366)
Sort the unique ValueTypeByHwMode combinations by usage and add a
compressed opcode for the most common.
Reduces the RISCVGenDAGISel.inc table by about ~12K. The most common
being XLenVT.
I plan to add EmitIntegerByHwMode0 and EmitRegisterByHwMode0 in
subsequent patches.
Assisted-by: claude
Commit: fff715decfb6a2e2f2fdf2c2de31ab75c186102a
https://github.com/llvm/llvm-project/commit/fff715decfb6a2e2f2fdf2c2de31ab75c186102a
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M .ci/buildbot/worker.py
M .ci/compute_projects.py
M .ci/compute_projects_test.py
A .ci/green-dragon/bisect.groovy
A .ci/green-dragon/clang-san-iossim.groovy
A .ci/green-dragon/clang-stage1-RA-as.groovy
A .ci/green-dragon/clang-stage1-RA-cmake-incremental.groovy
A .ci/green-dragon/clang-stage1-RA-expensive.groovy
A .ci/green-dragon/clang-stage1-RA.groovy
A .ci/green-dragon/clang-stage2-Rthinlto.groovy
A .ci/green-dragon/clang-stage2-cmake-RgSan.groovy
A .ci/green-dragon/clang-stage2-cmake-RgTSan.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-O0-g.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-O3-flto.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-Os.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-Oz.groovy
A .ci/green-dragon/relay-clang-stage2-sanitizers.groovy
A .ci/green-dragon/relay-clang-stage2-thinlto.groovy
A .ci/green-dragon/relay-lnt-ctmark.groovy
A .ci/green-dragon/relay-test-suite-verify-machineinstrs.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-aarch64-O0-g.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-aarch64-O3.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-aarch64-globalisel-O0-g.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-x86_64-O0-g.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-x86_64-O3.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-x86_64h-O3.groovy
M .ci/premerge_advisor_explain.py
M .github/renovate.json
A .github/workflows/build-libc-container.yml
M .github/workflows/commit-access-review.py
M .github/workflows/commit-access-review.yml
M .github/workflows/commit-create-issue.py
A .github/workflows/containers/libc/Dockerfile
M .github/workflows/docs.yml
M .github/workflows/issue-release-workflow.yml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libcxx-run-benchmarks.yml
M .github/workflows/prune-branches.yml
M .github/workflows/prune-unused-branches.py
M .github/workflows/release-asset-audit.yml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-tasks.yml
M .gitignore
M .mailmap
M bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/Hugify.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/runtime/instr.cpp
M bolt/runtime/sys_aarch64.h
A bolt/test/AArch64/bti-inline-dbg.s
A bolt/test/AArch64/bti-inline.s
A bolt/test/AArch64/bti-long-jmp-ignored.s
A bolt/test/AArch64/bti-long-jmp.s
A bolt/test/AArch64/bti-note-unused.test
A bolt/test/AArch64/bti-patch-entries.s
A bolt/test/AArch64/compare-and-branch-inversion.S
A bolt/test/AArch64/compare-and-branch-reorder-blocks.S
A bolt/test/AArch64/compare-and-branch-split-functions.S
A bolt/test/AArch64/compare-and-branch-unsupported.S
A bolt/test/AArch64/constant-island-reference.s
R bolt/test/AArch64/inline-bti-dbg.s
R bolt/test/AArch64/inline-bti.s
R bolt/test/AArch64/long-jmp-bti-ignored.s
R bolt/test/AArch64/long-jmp-bti.s
R bolt/test/AArch64/no-bti-note.test
A bolt/test/icf-hot-text-mover.c
A bolt/test/runtime/AArch64/bti-hugify.c
A bolt/test/runtime/AArch64/bti-instrumentation-ind-call.c
A bolt/test/runtime/AArch64/bti-long-jmp-plt.c
R bolt/test/runtime/AArch64/instrumentation-ind-call-bti.c
M bolt/test/runtime/AArch64/instrumentation-ind-call.c
R bolt/test/runtime/AArch64/long-jmp-bti-plt.c
A bolt/test/runtime/X86/plt-call.c
M clang-tools-extra/Maintainers.rst
M clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/assets/head-template.mustache
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/android/ComparisonInTempFailureRetryCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.h
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/UnsafeToAllowExceptionsCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/UnsafeToAllowExceptionsCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.h
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStructuredBindingCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStructuredBindingCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/performance/StringViewConversionsCheck.cpp
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
M clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
A clang-tools-extra/clang-tidy/readability/TrailingCommaCheck.cpp
A clang-tools-extra/clang-tidy/readability/TrailingCommaCheck.h
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.h
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.h
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/FindSymbols.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/ScanningProjectModules.cpp
M clang-tools-extra/clangd/TidyProvider.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/monitor/Monitor.cpp
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/test/call-hierarchy.test
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/abseil/unchecked-statusor-access.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-escape.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-to-allow-exceptions.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err52-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/flp30-c.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-goto.rst
M clang-tools-extra/docs/clang-tidy/checks/fuchsia/multiple-inheritance.rst
M clang-tools-extra/docs/clang-tidy/checks/google/readability-casting.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-goto.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/braces-around-statements.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/deprecated-headers.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/exception-baseclass.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/explicit-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/function-size.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/ignored-remove-result.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/invalid-access-moved.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/move-const-arg.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/multiway-paths-covered.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/named-parameter.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/new-delete-operators.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-array-decay.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-assembler.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/noexcept-move.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/signed-bitwise.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/special-member-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/static-assert.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/undelegated-constructor.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/uppercase-literal-suffix.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-auto.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-emplace.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-default.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-delete.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-noexcept.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-nullptr.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-override.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/vararg.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/pass-by-value.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-structured-binding.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/trailing-comma.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
A clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-cxx-11-inherited-constructors.cpp
A 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/string-constructor.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-to-allow-exceptions-precpp17.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-to-allow-exceptions.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/init-variables.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-vararg.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/concat-nested-namespaces/modernize-concat-nested-namespaces.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/pass-by-value/header-with-fix.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/pass-by-value/header.h
A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-structured-binding/fake_std_pair_tuple.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-header.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-ignore-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-multi-fixes.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-structured-binding.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header.h
A clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation-vectorlike-classes.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/duplicate-include.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-c23.c
A clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument-option.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx11.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx20-remove.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-remove.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-wrong-config.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma.c
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-floating-point.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer.cpp
M clang-tools-extra/unittests/clang-tidy/CMakeLists.txt
A clang-tools-extra/unittests/clang-tidy/LexerUtilsTest.cpp
M clang/AreaTeamMembers.txt
A clang/Maintainers.md
R clang/Maintainers.rst
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_code_completion.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_source_range.py
M clang/cmake/caches/VectorEngine.cmake
A clang/cmake/caches/cross-linux-toolchain.cmake
M clang/docs/CMakeLists.txt
M clang/docs/ClangFormatStyleOptions.rst
A clang/docs/ClangIRCleanupAndEHDesign.md
A clang/docs/LLVMExceptionHandlingCodeGen.rst
M clang/docs/LanguageExtensions.rst
A clang/docs/Maintainers.md
R clang/docs/Maintainers.rst
M clang/docs/OpenMPSupport.rst
A clang/docs/OverflowBehaviorTypes.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SafeBuffers.rst
M clang/docs/SanitizerSpecialCaseList.rst
M clang/docs/SourceBasedCodeCoverage.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/ThreadSanitizer.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/index.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ComputeDependence.h
M clang/include/clang/AST/DeclObjCCommon.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/HLSLResource.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Checker.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety/MovedLoans.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
A clang/include/clang/Analysis/CFGBackEdges.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/Scalable/Model/BuildNamespace.h
M clang/include/clang/Analysis/Scalable/Model/EntityId.h
M clang/include/clang/Analysis/Scalable/Model/EntityIdTable.h
A clang/include/clang/Analysis/Scalable/Model/EntityLinkage.h
M clang/include/clang/Analysis/Scalable/Model/EntityName.h
A clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
M clang/include/clang/Analysis/Scalable/Model/SummaryName.h
A clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
A clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
M clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
M clang/include/clang/Analysis/Scalable/TUSummary/TUSummary.h
M clang/include/clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/ObjCRuntime.h
M clang/include/clang/Basic/OffloadArch.h
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TargetOSMacros.def
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/CIR/ABIArgInfo.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
A clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.h
A clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/DependencyScanning/DependencyScanningService.h
M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/RocmInstallationDetector.h
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/SyclInstallationDetector.h
M clang/include/clang/Driver/Types.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Index/IndexSymbol.h
M clang/include/clang/Lex/Lexer.h
M clang/include/clang/Lex/PPCallbacks.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/Token.h
M clang/include/clang/Options/Options.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaAMDGPU.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
M clang/include/clang/Tooling/DependencyScanningTool.h
M clang/include/module.modulemap
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.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/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpHelpers.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/MemberPointer.cpp
M clang/lib/AST/ByteCode/MemberPointer.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/State.cpp
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/CFG.cpp
A clang/lib/Analysis/CFGBackEdges.cpp
M clang/lib/Analysis/CMakeLists.txt
M clang/lib/Analysis/CloneDetection.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/LifetimeSafety/CMakeLists.txt
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/Dataflow.h
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
A clang/lib/Analysis/LifetimeSafety/MovedLoans.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Analysis/Scalable/CMakeLists.txt
A clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
R clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
A clang/lib/Analysis/Scalable/Serialization/SerializationFormatRegistry.cpp
A clang/lib/Analysis/Scalable/TUSummary/TUSummaryBuilder.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/OperatorPrecedence.cpp
M clang/lib/Basic/ParsedAttrInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
A clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDARuntime.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
A clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.h
A clang/lib/CIR/Interfaces/ASTAttrInterfaces.cpp
M clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningService.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.h
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPSPV.h
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/LayoutOverrideSource.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__clang_cuda_complex_builtins.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/module.modulemap
M clang/lib/Headers/openmp_wrappers/complex
M clang/lib/Headers/openmp_wrappers/complex.h
M clang/lib/Headers/ptrauth.h
M clang/lib/Index/IndexSymbol.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/CMakeLists.txt
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseOpenMP.cpp
A clang/lib/Parse/ParseReflect.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaTypeTraits.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/Checkers/BasicObjCFoundationChecks.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/OpaqueSTLFunctionsModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/test/AST/ByteCode/builtin-align-cxx.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
A clang/test/AST/ByteCode/builtin-object-size-codegen.c
M clang/test/AST/ByteCode/builtin-object-size-codegen.cpp
M clang/test/AST/ByteCode/builtins.c
M clang/test/AST/ByteCode/c.c
M clang/test/AST/ByteCode/complex.c
M clang/test/AST/ByteCode/complex.cpp
A clang/test/AST/ByteCode/constexpr-steps.cpp
M clang/test/AST/ByteCode/constexpr.c
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/cxx26.cpp
M clang/test/AST/ByteCode/floats.cpp
A clang/test/AST/ByteCode/gh176549.cpp
M clang/test/AST/ByteCode/intap.cpp
M clang/test/AST/ByteCode/invalid.cpp
M clang/test/AST/ByteCode/memberpointers.cpp
M clang/test/AST/ByteCode/new-delete.cpp
A clang/test/AST/ByteCode/object-size-flex-array.c
A clang/test/AST/ByteCode/pass-object-size.c
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/vectors.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
A clang/test/AST/HLSL/Texture2D-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
A clang/test/AST/HLSL/ast-dump-availability-attr.hlsl
M clang/test/AST/HLSL/matrix-constructors.hlsl
A clang/test/AST/HLSL/matrix-elementexpr-tree-transform.hlsl
M clang/test/AST/HLSL/matrix-general-initializer.hlsl
A clang/test/AST/HLSL/matrix-member-access-scalar.hlsl
A clang/test/AST/HLSL/matrix-member-access-swizzle-ast-dump-json.hlsl
A clang/test/AST/HLSL/matrix-member-access-swizzle-ast-print.hlsl
A clang/test/AST/HLSL/matrix-member-access-swizzle.hlsl
A clang/test/AST/HLSL/pch_with_matrix_element_accessor.hlsl
M clang/test/AST/ast-dump-attr-json.cpp
A clang/test/AST/ast-print-overflow-behavior.cpp
A clang/test/AST/overflow-behavior-keywords-ast.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx-std-suppression.h
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/auto-obj-dtors-cfg-output.cpp
M clang/test/Analysis/builtin_bitcast.cpp
A clang/test/Analysis/cfg-assignment-eval-order.cpp
M clang/test/Analysis/concrete-address.c
A clang/test/Analysis/diagnostics/opaque-stl-functions-modeling.cpp
M clang/test/Analysis/dtor.cpp
M clang/test/Analysis/fixed-address-notes.c
A clang/test/Analysis/indirect-goto-basics.c
M clang/test/Analysis/misc-ps-eager-assume.m
M clang/test/Analysis/misc-ps-region-store.cpp
M clang/test/Analysis/misc-ps.m
M clang/test/Analysis/missing-bind-temporary.cpp
M clang/test/Analysis/pr22954.c
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
A clang/test/Analysis/store-union-aggregates.c
M clang/test/Analysis/suppress-dereferences-from-any-address-space.c
A clang/test/Analysis/switch-basics.c
M clang/test/Analysis/uninit-vals.cpp
A clang/test/Analysis/uninitialized-branch.c
M clang/test/C/C2y/n3369.c
A clang/test/C/C2y/n3605.c
A clang/test/C/C2y/n3605_1.c
A clang/test/C/C2y/n3605_2.c
M clang/test/CIR/CodeGen/agg-expr-lvalue.c
A clang/test/CIR/CodeGen/alloc-size.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/atomic-scoped.c
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/bitfields.cpp
A clang/test/CIR/CodeGen/builtin-floating-point.c
A clang/test/CIR/CodeGen/builtin-memchr.c
A clang/test/CIR/CodeGen/builtins-elementwise.c
A clang/test/CIR/CodeGen/builtins-x86.c
M clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
M clang/test/CIR/CodeGen/call.cpp
A clang/test/CIR/CodeGen/clear-cache.c
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/compound_literal.cpp
M clang/test/CIR/CodeGen/copy-constructor.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp
M clang/test/CIR/CodeGen/cxx-special-member-attr.cpp
A clang/test/CIR/CodeGen/default-func-attrs-cmd-line.cpp
M clang/test/CIR/CodeGen/derived-to-base.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
M clang/test/CIR/CodeGen/embed-expr.c
M clang/test/CIR/CodeGen/forrange.cpp
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-init.cpp
M clang/test/CIR/CodeGen/goto.cpp
M clang/test/CIR/CodeGen/if.cpp
M clang/test/CIR/CodeGen/inline-attributes.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
A clang/test/CIR/CodeGen/integer-overflow.c
M clang/test/CIR/CodeGen/label-values.c
M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/libc.c
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/CodeGen/misc-attrs.cpp
M clang/test/CIR/CodeGen/new.cpp
A clang/test/CIR/CodeGen/no-builtin-attr-automatic.cpp
A clang/test/CIR/CodeGen/no-builtin-attr.cpp
M clang/test/CIR/CodeGen/no-odr-use.cpp
A clang/test/CIR/CodeGen/offload-convergent-attr.cu
A clang/test/CIR/CodeGen/optsize-func-attr.cpp
M clang/test/CIR/CodeGen/pack-indexing.cpp
M clang/test/CIR/CodeGen/paren-init-list.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func-cast.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func-cmp.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
A clang/test/CIR/CodeGen/pred-info-builtins.c
A clang/test/CIR/CodeGen/ret-attrs.cpp
A clang/test/CIR/CodeGen/save-reg-params-func-attr.cpp
M clang/test/CIR/CodeGen/statement-exprs.c
A clang/test/CIR/CodeGen/static-local.cpp
M clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/template-specialization.cpp
M clang/test/CIR/CodeGen/temporary-materialization.cpp
M clang/test/CIR/CodeGen/ternary.cpp
A clang/test/CIR/CodeGen/trap-func-name-attr.cpp
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
M clang/test/CIR/CodeGen/try-catch.cpp
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/CodeGen/var-arg-aggregate.c
M clang/test/CIR/CodeGen/variable-decomposition.cpp
A clang/test/CIR/CodeGen/zero-call-used-regs-func-attr.cpp
M clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
R clang/test/CIR/CodeGenBuiltins/AArch64/neon/fullfp16.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceMinMaxIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512vbmi2-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlbf16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/cmp-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
A clang/test/CIR/CodeGenBuiltins/X86/rd-builtins.c
M clang/test/CIR/CodeGenBuiltins/builtin-fcmp-sse.c
M clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
A clang/test/CIR/CodeGenBuiltins/builtin-rotate.c
A clang/test/CIR/CodeGenBuiltins/builtin-setjmp-longjmp.c
A clang/test/CIR/CodeGenBuiltins/builtin-structured-binding-size.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-trivally-copyable.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-types-compatible.c
M clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
M clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
A clang/test/CIR/CodeGenCUDA/Inputs/cuda.h
A clang/test/CIR/CodeGenCUDA/filter-decl.cu
A clang/test/CIR/CodeGenCUDA/kernel-call.cu
A clang/test/CIR/CodeGenCUDA/kernel-stub-name.cu
A clang/test/CIR/CodeGenCUDA/nvptx-basic.cu
A clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl
M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenMP/not-yet-implemented.c
A clang/test/CIR/CodeGenOpenMP/omp-llvmir.c
M clang/test/CIR/CodeGenOpenMP/parallel.c
M clang/test/CIR/IR/atomic.cir
A clang/test/CIR/IR/cleanup-scope.cir
A clang/test/CIR/IR/eh-flat.cir
M clang/test/CIR/IR/invalid-atomic.cir
A clang/test/CIR/IR/invalid-eh-flat.cir
A clang/test/CIR/IR/invalid-static-local.cir
M clang/test/CIR/IR/invalid-try-catch.cir
A clang/test/CIR/IR/libc-memchr.cir
A clang/test/CIR/IR/static-local.cir
M clang/test/CIR/IR/try-catch.cir
M clang/test/CIR/Lowering/array.cpp
A clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
A clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
A clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
M clang/test/CIR/func-simple.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg10xx.cpp
M clang/test/CXX/drs/cwg11xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg15xx.cpp
M clang/test/CXX/drs/cwg16xx.cpp
A clang/test/CXX/drs/cwg1736.cpp
M clang/test/CXX/drs/cwg17xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg19xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
A clang/test/CXX/drs/cwg2026.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg22xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
A clang/test/CXX/drs/cwg2406.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
A clang/test/CXX/drs/cwg2881.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg30xx.cpp
A clang/test/CXX/drs/cwg329.cpp
A clang/test/CXX/drs/cwg390.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
A clang/test/CXX/drs/cwg98.cpp
M clang/test/CXX/drs/cwg9xx.cpp
M clang/test/ClangScanDeps/P1689.cppm
M clang/test/ClangScanDeps/header_stat_before_open.m
M clang/test/ClangScanDeps/headerwithdirname.cpp
M clang/test/ClangScanDeps/headerwithdirnamefollowedbyinclude.cpp
M clang/test/ClangScanDeps/macro-expansions.cpp
A clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
M clang/test/ClangScanDeps/modules.cpp
A clang/test/ClangScanDeps/prune-scanning-modules.m
M clang/test/ClangScanDeps/regular_cdb.cpp
M clang/test/ClangScanDeps/relative_directory.cpp
M clang/test/ClangScanDeps/subframework_header_dir_symlink.m
M clang/test/ClangScanDeps/target-filename.cpp
M clang/test/ClangScanDeps/vfsoverlay.cpp
A clang/test/CodeCompletion/objc-cast-parenthesized-expr.m
M clang/test/CodeGen/AArch64/neon-intrinsics.c
A clang/test/CodeGen/AArch64/neon/fullfp16.c
A clang/test/CodeGen/AArch64/neon/intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
M clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
M clang/test/CodeGen/AMDGPU/full-bf16.c
A clang/test/CodeGen/ARM/build-attributes.c
M clang/test/CodeGen/RISCV/math-builtins.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vwabdau.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/systemz-ppa2.c
A clang/test/CodeGen/WebAssembly/builtins-table-externref.c
A clang/test/CodeGen/WebAssembly/builtins-table-funcref.c
R clang/test/CodeGen/WebAssembly/builtins-table.c
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/attr-ifunc.c
M clang/test/CodeGen/attr-ifunc.cpp
A clang/test/CodeGen/attr-no-outline.c
M clang/test/CodeGen/builtins-arm64.c
M clang/test/CodeGen/builtins-extended-image.c
M clang/test/CodeGen/builtins-image-load.c
M clang/test/CodeGen/builtins-nvptx-ptx60.cu
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/builtins.c
A clang/test/CodeGen/compound-assign-atomic-bool.c
M clang/test/CodeGen/denormalfpmode-f32.c
M clang/test/CodeGen/denormalfpmode.c
M clang/test/CodeGen/fp-function-attrs.cpp
M clang/test/CodeGen/hexagon-linux-vararg.c
M clang/test/CodeGen/ifunc.c
A clang/test/CodeGen/mangle-ms-overflow-behavior.cpp
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/nvptx_attributes.c
A clang/test/CodeGen/overflow-behavior-types-extensions.c
A clang/test/CodeGen/overflow-behavior-types-operators.cpp
A clang/test/CodeGen/overflow-behavior-types-promotions.cpp
A clang/test/CodeGen/overflow-behavior-types-scl.c
A clang/test/CodeGen/overflow-behavior-types.c
A clang/test/CodeGen/overflow-behavior-types.cpp
M clang/test/CodeGen/paren-list-agg-init.cpp
M clang/test/CodeGen/ptrauth-intrinsics.c
A clang/test/CodeGen/riscv-be-data-layout.c
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGen/target-addrspace.cpp
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGen/ubsan-function-sugared.cpp
M clang/test/CodeGen/ubsan-function.cpp
M clang/test/CodeGenCUDA/amdgpu-bf16.cu
M clang/test/CodeGenCUDA/convergent.cu
M clang/test/CodeGenCUDA/flush-denormals.cu
M clang/test/CodeGenCUDA/link-builtin-bitcode-denormal-fp-mode.cu
M clang/test/CodeGenCUDA/propagate-attributes.cu
M clang/test/CodeGenCUDA/spirv-amdgcn-bf16.cu
M clang/test/CodeGenCXX/amdgcn-automatic-variable.cpp
M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
M clang/test/CodeGenCXX/builtins.cpp
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
A clang/test/CodeGenCXX/destructor-dead-on-return.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/exceptions-seh.cpp
M clang/test/CodeGenCXX/externc-ifunc-resolver.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
A clang/test/CodeGenCXX/reflection-mangle-itanium.cpp
A clang/test/CodeGenCXX/reflection-mangle-ms.cpp
A clang/test/CodeGenCXX/sanitize-trap-loop.cpp
M clang/test/CodeGenCXX/template-cxx20.cpp
A clang/test/CodeGenCXX/tmp-md-nodes3.cpp
A clang/test/CodeGenCXX/zos-typename.cpp
M clang/test/CodeGenCoroutines/coro-await-elidable.cpp
M clang/test/CodeGenHIP/amdgpu-barrier-type.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-load-monitor-templated.hip
M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
M clang/test/CodeGenHIP/hip_weak_alias.cpp
M clang/test/CodeGenHIP/printf.cpp
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M clang/test/CodeGenHIP/sanitize-undefined-null.hip
M clang/test/CodeGenHIP/spirv-amdgcn-ballot.cpp
M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BoolMatrix.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
A clang/test/CodeGenHLSL/builtins/WavePrefixProduct.hlsl
A clang/test/CodeGenHLSL/builtins/WavePrefixSum.hlsl
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/max-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/min-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/refract.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-store.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-store.hlsl
A clang/test/CodeGenHLSL/matrix_types.hlsl
A clang/test/CodeGenHLSL/resources-declared-only-once.hlsl
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-Sample.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleBias.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleCmp.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleCmpLevelZero.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleGrad.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleLevel.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_geps.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_matrix_align.hlsl
M clang/test/CodeGenHLSL/resources/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/semantics/semantic.explicit-mix-builtin.vs.hlsl
A clang/test/CodeGenHLSL/semantics/semantic.nested.vs.hlsl
A clang/test/CodeGenHLSL/sgep/array_load.hlsl
A clang/test/CodeGenHLSL/sgep/array_store.hlsl
A clang/test/CodeGenHLSL/sgep/load_global.hlsl
A clang/test/CodeGenHLSL/sgep/object_method.hlsl
A clang/test/CodeGenObjC/attr-no-outline.m
A clang/test/CodeGenObjCXX/arc-lifetime-rvalue-ref-binding.mm
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
A clang/test/CodeGenOpenCL/.gdb_history
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-debug-info-pointer-address-space.cl
M clang/test/CodeGenOpenCL/amdgpu-debug-info-variable-expression.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-asyncmark-errs.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-asyncmark.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-load-to-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-f16.cl
M clang/test/CodeGenOpenCL/check-atomic-alignment.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCL/fpmath.cl
M clang/test/CodeGenOpenCL/relaxed-fpmath.cl
M clang/test/CodeGenOpenCL/sqrt-fpmath.cl
M clang/test/CodeGenSYCL/function-attrs.cpp
M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
M clang/test/CoverageMapping/mcdc-nested-expr.cpp
M clang/test/DebugInfo/CXX/anon-union-vars.cpp
M clang/test/DebugInfo/CXX/bpf-structors.cpp
M clang/test/DebugInfo/CXX/codeview-unnamed.cpp
A clang/test/DebugInfo/CXX/ctor-homing-local-type.cpp
M clang/test/DebugInfo/CXX/gline-tables-only-codeview.cpp
M clang/test/DebugInfo/CXX/lambda-capture-packs.cpp
M clang/test/DebugInfo/CXX/lambda-this.cpp
M clang/test/DebugInfo/CXX/trivial_abi.cpp
M clang/test/DebugInfo/Generic/codeview-unnamed.c
M clang/test/DebugInfo/Generic/unused-types.c
M clang/test/DebugInfo/Generic/unused-types.cpp
A clang/test/Driver/Inputs/XROS1.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/XRSimulator1.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/XRSimulator1.0.sdk/usr/include/libxml/.keep
A clang/test/Driver/Inputs/basic_linux_tree/usr/bin/.keep
A clang/test/Driver/Inputs/basic_linux_tree/usr/include/x86_64-unknown-linux-gnu/.keep
A clang/test/Driver/Inputs/hipspv/lib/hip-device-lib/hipspv-spirv64-unknown-chipstar.bc
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/lib32/ilp32/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/lib32/ilp32d/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/lib64/lp64/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/lib64/lp64d/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/riscv64be-unknown-linux-gnu/bin/ld
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib32/ilp32/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib32/ilp32d/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib64/lp64/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib64/lp64d/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/usr/lib32/ilp32/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/usr/lib32/ilp32d/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/usr/lib64/lp64/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/usr/lib64/lp64d/.keep
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa-llvm/gfx90a/libclc.bc
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa-llvm/libclc.bc
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/libflang_rt.runtime.a
A clang/test/Driver/aarch64-mtune-apple-macos.c
M clang/test/Driver/aarch64-outliner.c
M clang/test/Driver/aarch64-v96a.c
M clang/test/Driver/aarch64-v97a.c
M clang/test/Driver/aix-as.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-toolchain-opencl.cl
M clang/test/Driver/arm-machine-outliner.c
M clang/test/Driver/cl-x86-flags.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/crash-diagnostics-dir-3.c
M clang/test/Driver/crash-diagnostics-dir.c
M clang/test/Driver/crash-ir-repro.cpp
M clang/test/Driver/crash-report-clang-cl.cpp
M clang/test/Driver/crash-report-header.h
M clang/test/Driver/crash-report-spaces.c
M clang/test/Driver/crash-report-with-asserts.c
M clang/test/Driver/crash-report.cpp
M clang/test/Driver/cuda-cross-compiling.c
M clang/test/Driver/cuda-detect.cu
M clang/test/Driver/darwin-fapple-link-rtlib.c
M clang/test/Driver/darwin-ld-lto.c
M clang/test/Driver/darwin-ld.c
M clang/test/Driver/darwin-sdk-vs-os-version.c
M clang/test/Driver/darwin-sdk-with-prefix.c
M clang/test/Driver/emit-reproducer.c
M clang/test/Driver/fdefine-target-os-macros.c
M clang/test/Driver/fuzzer.c
A clang/test/Driver/hip-device-libs-llvm-env.hip
M clang/test/Driver/hip-rdc-device-only.hip
M clang/test/Driver/hip-runtime-libs-linux.hip
M clang/test/Driver/hip-runtime-libs-msvc.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hip-toolchain-rdc-separate.hip
M clang/test/Driver/hip-toolchain-rdc.hip
M clang/test/Driver/hipspv-device-libs.hip
M clang/test/Driver/hipspv-link-static-library.hip
M clang/test/Driver/hipspv-pass-plugin.hip
A clang/test/Driver/hipspv-toolchain-rdc-separate.hip
M clang/test/Driver/hipspv-toolchain-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/test/Driver/incompatible_sysroot.c
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linux-cross.cpp
M clang/test/Driver/linux-header-search.cpp
M clang/test/Driver/lit.local.cfg
A clang/test/Driver/module-fgen-reduced-bmi-precompile.cppm
A clang/test/Driver/ms-anonymous-structs.c
A clang/test/Driver/offload.f90
M clang/test/Driver/opencl-libclc.cl
M clang/test/Driver/opencl.cl
M clang/test/Driver/openmp-offload-gpu.c
A clang/test/Driver/openmp-target-fast-flag.c
M clang/test/Driver/output-file-cleanup.c
A clang/test/Driver/print-enabled-extensions/riscv-spacemit-a100.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/Driver/reflection-requires-cxx26.cpp
A clang/test/Driver/riscv-be.c
M clang/test/Driver/riscv-cpus.c
A clang/test/Driver/riscv-outliner.c
A clang/test/Driver/sanitize-trap-loop.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/spirv-openmp-toolchain.c
M clang/test/Driver/spirv-tools-err.c
M clang/test/Driver/sycl-offload-jit.cpp
M clang/test/Driver/unsupported-option.c
A clang/test/Driver/unsupported-outliner.c
A clang/test/Driver/unsupported-target-vendor.c
M clang/test/Driver/wasm-features.c
M clang/test/Driver/x86-march.c
A clang/test/Driver/x86-outliner.c
M clang/test/Driver/x86-target-features.c
M clang/test/Driver/xros-driver-requires-darwin-host.c
M clang/test/ExtractAPI/objc_property.m
A clang/test/FixIt/fixit-missing-type-spec.c
M clang/test/Frontend/custom-diag-werror-interaction.c
M clang/test/Frontend/dependency-gen-phony.c
A clang/test/Frontend/ms-anon-structs-args.c
M clang/test/Frontend/x86-target-cpu.c
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_libdevice_declares.cpp
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/amdgcn_openmp_device_math.c
M clang/test/Headers/amdgcn_openmp_device_math_c.c
M clang/test/Headers/amdgcn_openmp_device_math_constexpr.cpp
M clang/test/Headers/gpu_disabled_math.cpp
M clang/test/Headers/gpuintrin.c
M clang/test/Headers/gpuintrin_lang.c
M clang/test/Headers/nvptx_device_math_complex.c
M clang/test/Headers/nvptx_device_math_complex.cpp
M clang/test/Headers/openmp-device-functions-bool.c
M clang/test/Headers/openmp_new_nothrow.cpp
M clang/test/Index/Core/index-source.cpp
A clang/test/Interpreter/access.cpp
M clang/test/Interpreter/disambiguate-decl-stmt.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M clang/test/Misc/target-invalid-cpu-note/x86.c
A clang/test/Modules/GH170429.cpp
M clang/test/Modules/module-file-modified.c
A clang/test/Modules/single-module-parse-mode-compiles.m
M clang/test/Modules/validate-file-content.m
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/amdgcn_weak_alias.c
M clang/test/OpenMP/amdgcn_weak_alias.cpp
A clang/test/OpenMP/codegen_attr_pgo.c
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/for_lastprivate_codegen.cpp
M clang/test/OpenMP/for_linear_codegen.cpp
M clang/test/OpenMP/for_private_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen_UDR.cpp
M clang/test/OpenMP/for_reduction_task_codegen.cpp
M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/parallel_copyin_codegen.cpp
M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_for_linear_codegen.cpp
M clang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_master_codegen.cpp
M clang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/parallel_private_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
M clang/test/OpenMP/parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/scope_codegen.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/sections_lastprivate_codegen.cpp
M clang/test/OpenMP/sections_private_codegen.cpp
M clang/test/OpenMP/sections_reduction_codegen.cpp
M clang/test/OpenMP/sections_reduction_task_codegen.cpp
M clang/test/OpenMP/simd_private_taskloop_codegen.cpp
M clang/test/OpenMP/single_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/single_private_codegen.cpp
M clang/test/OpenMP/target_data_use_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_in_reduction_codegen.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
M clang/test/OpenMP/target_map_codegen_34.cpp
M clang/test/OpenMP/target_map_codegen_35.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_member_expr_array_section_codegen.cpp
M clang/test/OpenMP/target_map_structptr_and_member_global.cpp
M clang/test/OpenMP/target_map_structptr_and_member_local.cpp
M clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/task_codegen.cpp
M clang/test/OpenMP/task_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_ast_print.cpp
M clang/test/OpenMP/taskloop_codegen.cpp
M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M clang/test/OpenMP/threadprivate_codegen.cpp
M clang/test/PCH/debug-info-pch-path.c
M clang/test/PCH/include-timestamp.cpp
M clang/test/PCH/modified-module-dependency.m
A clang/test/PCH/pch-input-path-independent.c
M clang/test/PCH/reloc.c
M clang/test/PCH/validate-file-content.m
M clang/test/PCH/verify_pch.m
A clang/test/Parser/parsing-reflection-with-blocks.cpp
A clang/test/Parser/parsing-reflection.cpp
M clang/test/Preprocessor/embed___has_embed_parsing_errors.c
M clang/test/Preprocessor/embed_dependencies.c
M clang/test/Preprocessor/has_include.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Sema/Inputs/lifetime-analysis.h
A clang/test/Sema/MicrosoftAnonymousStructs.c
A clang/test/Sema/attr-no-outline.c
A clang/test/Sema/attr-no-outline.cpp
A clang/test/Sema/attr-overflow-behavior-constexpr.cpp
A clang/test/Sema/attr-overflow-behavior-format-strings.c
A clang/test/Sema/attr-overflow-behavior-off.c
A clang/test/Sema/attr-overflow-behavior-templates.cpp
A clang/test/Sema/attr-overflow-behavior.c
A clang/test/Sema/attr-overflow-behavior.cpp
M clang/test/Sema/builtins-bcd-format-conversion.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/constant-builtins-2.c
M clang/test/Sema/constant-builtins.c
M clang/test/Sema/constexpr.c
M clang/test/Sema/format-strings-nonnull.c
M clang/test/Sema/format-strings.c
A clang/test/Sema/overflow-behavior-assignment-pedantic.c
A clang/test/Sema/overflow-behavior-function-boundary-default.c
A clang/test/Sema/overflow-behavior-keywords-off.c
A clang/test/Sema/overflow-behavior-keywords.c
M clang/test/Sema/ptrauth.c
M clang/test/Sema/sizeless-1.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
A clang/test/Sema/warn-lifetime-safety-cfg-bailout.cpp
M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
A clang/test/Sema/warn-lifetime-safety-fixits.cpp
A clang/test/Sema/warn-lifetime-safety-invalidations.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
M clang/test/Sema/warn-outof-range-assign-enum.c
M clang/test/Sema/warn-thread-safety-analysis.c
A clang/test/Sema/wasm-funcref-table.c
A clang/test/Sema/wave-reduce-builtins-validate-amdgpu.cl
M clang/test/SemaCUDA/vararg.cu
A clang/test/SemaCXX/GH167120.cpp
A clang/test/SemaCXX/address-space-new-delete.cpp
M clang/test/SemaCXX/alignof-sizeof-reference.cpp
M clang/test/SemaCXX/alloc-token.cpp
A clang/test/SemaCXX/builtin-bitreverseg.cpp
M clang/test/SemaCXX/builtin-bswapg.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constexpr-vectors-access-elements.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/ifunc-has-attribute.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/return-noreturn.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/warn-loop-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-format-attr-builtins.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
A clang/test/SemaHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
A clang/test/SemaHIP/builtins-amdgcn-gfx1250-load-monitor-templated.hip
A clang/test/SemaHIP/hip-builtin-lvalue-to-rvalue.hip
A clang/test/SemaHIP/shared-variable-too-large.hip
A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/WavePrefixProduct-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/WavePrefixSum-errors.hlsl
A clang/test/SemaHLSL/Texture2D-SampleBias.hlsl
A clang/test/SemaHLSL/Texture2D-SampleCmp.hlsl
A clang/test/SemaHLSL/Texture2D-SampleCmpLevelZero.hlsl
A clang/test/SemaHLSL/Texture2D-SampleGrad.hlsl
A clang/test/SemaHLSL/Texture2D-SampleLevel.hlsl
A clang/test/SemaHLSL/Texture2D-Sema.hlsl
M clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixSplatErrors.hlsl
A clang/test/SemaHLSL/matrix-member-access-errors.hlsl
A clang/test/SemaObjCXX/arc-lifetime-rvalue-ref-binding.mm
A clang/test/SemaOpenCL/amdgpu-variables-too-large-for-address-space.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
A clang/test/SemaOpenCL/builtins-amdgcn-s-wait-event.cl
M clang/test/SemaOpenCL/invalid-pipes-cl2.0.cl
M clang/test/SemaOpenCL/invalid-vector-literals.cl
M clang/test/TableGen/target-builtins-prototype-parser.td
M clang/test/lit.cfg.py
M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
M clang/test/utils/update_cc_test_checks/Inputs/explicit-template-instantiation.cpp.expected
M clang/tools/cir-opt/cir-opt.cpp
M clang/tools/cir-translate/cir-translate.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/unittests/AST/ByteCode/toAPValue.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
A clang/unittests/Analysis/CFGBackEdgesTest.cpp
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
A clang/unittests/Analysis/Scalable/EntityLinkageTest.cpp
A clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
A clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
A clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
M clang/unittests/Analysis/Scalable/Registries/MockTUSummaryBuilder.h
A clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
M clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp
A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest.cpp
A clang/unittests/Analysis/Scalable/TUSummaryBuilderTest.cpp
A clang/unittests/Analysis/Scalable/TestFixture.cpp
A clang/unittests/Analysis/Scalable/TestFixture.h
M clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestMacroExpansion.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
M clang/unittests/Tooling/DependencyScannerTest.cpp
M clang/utils/TableGen/CIRLoweringEmitter.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/analyzer/entrypoint.py
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/hacking.html
M compiler-rt/CMakeLists.txt
M compiler-rt/include/CMakeLists.txt
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
A compiler-rt/include/sanitizer/tysan_interface.h
M compiler-rt/include/sanitizer/ubsan_interface.h
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/asan/asan_allocator.h
M compiler-rt/lib/asan/asan_flags.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_malloc_win.cpp
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/arm/aeabi_uread4.S
A compiler-rt/lib/builtins/arm/aeabi_uread8.S
A compiler-rt/lib/builtins/arm/aeabi_uwrite4.S
A compiler-rt/lib/builtins/arm/aeabi_uwrite8.S
M compiler-rt/lib/builtins/cpu_model/x86.c
A compiler-rt/lib/builtins/ppc/init_ifuncs.c
M compiler-rt/lib/hwasan/hwasan_fuchsia.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator.h
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_internal.h
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_unwind_win.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
M compiler-rt/lib/scudo/standalone/common.h
M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c.inc
M compiler-rt/lib/tsan/rtl/CMakeLists.txt
A compiler-rt/lib/tsan/rtl/tsan_adaptive_delay.cpp
A compiler-rt/lib/tsan/rtl/tsan_adaptive_delay.h
M compiler-rt/lib/tsan/rtl/tsan_flags.inc
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
M compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/tests/unit/CMakeLists.txt
A compiler-rt/lib/tsan/tests/unit/tsan_percent_test.cpp
M compiler-rt/lib/ubsan/CMakeLists.txt
A compiler-rt/lib/ubsan/ubsan_loop_detect.cpp
A compiler-rt/test/asan/TestCases/AIX/lit.local.cfg.py
A compiler-rt/test/asan/TestCases/AIX/strict-init-order-warning.cpp
A compiler-rt/test/asan/TestCases/AIX/vec_malloc_calloc.cpp
M compiler-rt/test/asan/TestCases/Windows/heaprealloc_alloc_zero.cpp
A compiler-rt/test/asan/TestCases/Windows/rtlsizeheap_zero.cpp
M compiler-rt/test/asan/TestCases/initialization-bug-no-global.cpp
A compiler-rt/test/builtins/Unit/arm/aeabi_unaligned_access_test.c
A compiler-rt/test/builtins/Unit/ppc/aix_ifunc.c
M compiler-rt/test/cfi/CMakeLists.txt
M compiler-rt/test/cfi/lit.cfg.py
M compiler-rt/test/cfi/lit.site.cfg.py.in
A compiler-rt/test/cfi/trap_loop_signal_handler.inc
A compiler-rt/test/profile/AIX/ifunc.c
M compiler-rt/test/profile/instrprof-binary-correlate.c
M compiler-rt/test/ubsan/TestCases/Misc/Posix/static-link.cpp
M cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/Inputs/simplified_template_names.cpp
M cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/CMakeLists.txt
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.cpp
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test
A cross-project-tests/dtlto/path.test
M cross-project-tests/lit.cfg.py
M cross-project-tests/lit.site.cfg.py.in
M flang-rt/CMakeLists.txt
M flang-rt/README.md
M flang-rt/lib/cuda/CMakeLists.txt
M flang-rt/lib/cuda/allocator.cpp
A flang-rt/lib/cuda/stream.cpp
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/external-unit.cpp
M flang-rt/lib/runtime/file.cpp
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/iostat.cpp
M flang-rt/lib/runtime/pseudo-unit.cpp
M flang-rt/lib/runtime/time-intrinsic.cpp
M flang-rt/lib/runtime/unit.h
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/DefaultStream.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
M flang/docs/Directives.md
M flang/docs/Extensions.md
M flang/docs/FlangDriver.md
M flang/docs/GettingInvolved.md
A flang/docs/MeetingNotes/2025/2025-12-03.md
A flang/docs/MeetingNotes/2025/2025-12-17.md
A flang/docs/MeetingNotes/2026/2026-01-14.md
A flang/docs/MeetingNotes/2026/2026-01-21.md
A flang/docs/MeetingNotes/2026/2026-01-28.md
A flang/docs/MeetingNotes/2026/2026-02-11.md
A flang/docs/MeetingNotes/README.md
M flang/docs/conf.py
M flang/include/flang/Evaluate/check-expression.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
A flang/include/flang/Optimizer/Analysis/ArraySectionAnalyzer.h
M flang/include/flang/Optimizer/Builder/CUDAIntrinsicCall.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Character.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/OpenACC/Passes.td
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/Passes/Pipelines.h
A flang/include/flang/Optimizer/Support/LazySymbolTable.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/openmp-utils.h
M flang/include/flang/Parser/options.h
M flang/include/flang/Runtime/CUDA/allocator.h
A flang/include/flang/Runtime/CUDA/stream.h
M flang/include/flang/Runtime/character.h
M flang/include/flang/Runtime/iostat-consts.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/ReductionProcessor.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/lib/Optimizer/Analysis/ArraySectionAnalyzer.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Character.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.h
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
A flang/lib/Optimizer/OpenACC/Transforms/ACCDeclareActionConversion.cpp
M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/DeleteUnreachableTargets.cpp
M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/lib/Optimizer/Transforms/VScaleAttr.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/openmp-utils.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-coarray.cpp
M flang/lib/Semantics/check-data.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/module/__fortran_builtins.f90
A flang/module/cuda_runtime_api.f90
M flang/module/iso_c_binding.f90
M flang/test/Analysis/AliasAnalysis/alias-analysis-cray-pointers.fir
M flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir
A flang/test/Analysis/AliasAnalysis/modref-call-after-external-name-conversion.fir
M flang/test/Analysis/AliasAnalysis/ptr-component.fir
A flang/test/Driver/asm-error-fix.s
M flang/test/Driver/func-attr-fast-math.f90
M flang/test/Driver/func-attr.f90
M flang/test/Fir/CUDA/cuda-device-func-transform.mlir
A flang/test/Fir/OpenACC/declare-action-conversion.fir
M flang/test/Fir/OpenACC/openacc-mappable.fir
A flang/test/Fir/declare_value-codegen.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/invalid.fir
M flang/test/Fir/mem2reg.mlir
M flang/test/Fir/select.fir
M flang/test/HLFIR/inline-hlfir-assign.fir
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
A flang/test/HLFIR/order_assignments/where-array-sections.f90
M flang/test/HLFIR/order_assignments/where-fusing-scheduling.f90
M flang/test/HLFIR/order_assignments/where-scheduling.f90
M flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Integration/ivdep.f90
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
A flang/test/Lower/CUDA/cuda-default-stream.cuf
M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
A flang/test/Lower/HLFIR/elemental-result-length-len-folding.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/function-return-destroy.f90
M flang/test/Lower/HLFIR/ivdep-elemental.f90
M flang/test/Lower/HLFIR/ivdep-where.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/where.f90
A flang/test/Lower/Intrinsics/c_f_strpointer.f90
M flang/test/Lower/Intrinsics/exit.f90
A flang/test/Lower/Intrinsics/f_c_string.f90
M flang/test/Lower/OpenACC/acc-cache.f90
A flang/test/Lower/OpenACC/acc-no-create-array-section.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenMP/Todo/affinity-clause.f90
A flang/test/Lower/OpenMP/Todo/multiple-types-declare_reduction.f90
R flang/test/Lower/OpenMP/Todo/omp-declare-simd.f90
A flang/test/Lower/OpenMP/Todo/reduction-character-dynamic-length.f90
A flang/test/Lower/OpenMP/declare-reduction-character-allocatable.f90
A flang/test/Lower/OpenMP/fuse01.f90
A flang/test/Lower/OpenMP/fuse02.f90
M flang/test/Lower/OpenMP/order-clause.f90
M flang/test/Lower/OpenMP/simd-linear.f90
M flang/test/Lower/OpenMP/simd.f90
A flang/test/Lower/OpenMP/target-dead-code.f90
M flang/test/Lower/OpenMP/target_cpu_features.f90
A flang/test/Lower/OpenMP/task-affinity.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/dense-attributed-array.f90
M flang/test/Lower/derived-pointer-components.f90
M flang/test/Lower/derived-type-finalization.f90
A flang/test/Lower/derived-type-sequence-alias-assign.f90
M flang/test/Lower/derived-types.f90
M flang/test/Lower/do-while-to-scf-while.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
M flang/test/Lower/dummy-argument-contiguous.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/dummy-argument-optional.f90
M flang/test/Lower/dummy-arguments.f90
M flang/test/Lower/dummy-procedure-character.f90
M flang/test/Lower/dummy-procedure-in-entry.f90
M flang/test/Lower/dummy-procedure.f90
M flang/test/Lower/equivalence-1.f90
M flang/test/Lower/equivalence-2.f90
M flang/test/Lower/equivalence-with-host-assoc.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/explicit-interface-results.f90
M flang/test/Lower/ext-proc-as-actual-argument-1.f90
M flang/test/Lower/ext-proc-as-actual-argument-2.f90
M flang/test/Lower/fail_image.f90
M flang/test/Lower/forall/array-constructor.f90
M flang/test/Lower/forall/array-pointer.f90
M flang/test/Lower/forall/array-subscripts.f90
M flang/test/Lower/forall/character-1.f90
M flang/test/Lower/forall/degenerate.f90
M flang/test/Lower/forall/forall-2.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/goto-statement.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-statement-clean-ups.f90
M flang/test/Lower/ivdep-array.f90
M flang/test/Lower/ivdep.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/return-statement.f90
M flang/test/Lower/stop-statement.f90
M flang/test/Lower/while_loop.f90
A flang/test/Parser/OpenMP/cont-in-cond-comp.f
M flang/test/Parser/OpenMP/sentinels.f
A flang/test/Parser/compiler-directive-sentinel.f90
M flang/test/Parser/continuation-in-conditional-compilation.f
A flang/test/Semantics/OpenMP/allocate_do.f90
A flang/test/Semantics/OpenMP/allocate_do1.f90
A flang/test/Semantics/OpenMP/common-block_copyin.f90
M flang/test/Semantics/OpenMP/compiler-directive.f90
A flang/test/Semantics/OpenMP/declare-reduction-derived-module.f90
M flang/test/Semantics/OpenMP/do10.f90
A flang/test/Semantics/OpenMP/implicit_linear_symbols.f90
A flang/test/Semantics/OpenMP/lastprivate-intent-in-pointer.f90
A flang/test/Semantics/OpenMP/local-variables-1.f90
A flang/test/Semantics/OpenMP/local-variables-2.f90
A flang/test/Semantics/OpenMP/nested_parallel_sections_valid.f90
M flang/test/Semantics/OpenMP/workshare04.f90
M flang/test/Semantics/OpenMP/workshare05.f90
A flang/test/Semantics/ac-impl-do-data-ptr.f90
M flang/test/Semantics/bug1214.cuf
A flang/test/Semantics/bug178786.f90
A flang/test/Semantics/bug178813.f90
A flang/test/Semantics/bug179580.f90
A flang/test/Semantics/bug2131.cuf
A flang/test/Semantics/bug2131b.cuf
A flang/test/Semantics/bug2174.f90
A flang/test/Semantics/bug2203.f90
A flang/test/Semantics/c_f_strpointer.f90
A flang/test/Semantics/cuf17.cuf
A flang/test/Semantics/f_c_string.f90
M flang/test/Semantics/ignore_tkr01.f90
A flang/test/Semantics/ignore_tkr05.f90
A flang/test/Transforms/OpenMP/delete-unreachable-targets.mlir
M flang/test/Transforms/licm.fir
A flang/test/Transforms/vscale-attr.fir
M flang/test/lit.cfg.py
M flang/tools/bbc/bbc.cpp
M flang/tools/f18/CMakeLists.txt
M flang/tools/flang-driver/driver.cpp
M flang/unittests/Optimizer/CMakeLists.txt
M libc/CMakeLists.txt
M libc/benchmarks/CMakeLists.txt
M libc/benchmarks/gpu/CMakeLists.txt
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/baremetal/config.json
M libc/config/config.json
A libc/config/gpu/spirv/entrypoints.txt
A libc/config/gpu/spirv/headers.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/dev/printf_behavior.rst
M libc/docs/dev/undefined_behavior.rst
M libc/docs/full_host_build.rst
M libc/docs/gpu/building.rst
M libc/docs/gpu/rpc.rst
M libc/docs/headers/math/index.rst
M libc/docs/headers/time.rst
M libc/include/llvm-libc-macros/math-macros.h
M libc/include/llvm-libc-macros/signal-macros.h
M libc/include/llvm-libc-macros/time-macros.h
M libc/include/llvm-libc-types/fenv_t.h
M libc/lib/CMakeLists.txt
M libc/shared/math.h
A libc/shared/math/bf16add.h
A libc/shared/math/bf16addf.h
A libc/shared/math/bf16addf128.h
A libc/shared/math/bf16divf.h
A libc/shared/math/bf16divl.h
A libc/shared/math/bf16fmaf.h
A libc/shared/math/bf16fmal.h
A libc/shared/math/canonicalize.h
A libc/shared/math/canonicalizebf16.h
A libc/shared/math/canonicalizef.h
A libc/shared/math/canonicalizef128.h
A libc/shared/math/canonicalizef16.h
A libc/shared/math/canonicalizel.h
A libc/shared/math/f16add.h
A libc/shared/math/f16addf.h
A libc/shared/math/f16addf128.h
A libc/shared/math/f16addl.h
A libc/shared/math/f16fmaf.h
A libc/shared/math/f16fmaf128.h
A libc/shared/math/f16sqrt.h
A libc/shared/math/f16sqrtf.h
A libc/shared/math/ffma.h
A libc/shared/math/ffmal.h
A libc/shared/math/hypotf16.h
A libc/shared/math/llogbl.h
A libc/shared/math/log10f.h
A libc/shared/math/log10f16.h
A libc/shared/math/log1pf.h
A libc/shared/math/log2f.h
A libc/shared/math/log2f16.h
A libc/shared/math/logb.h
A libc/shared/math/logbl.h
A libc/shared/math/pow.h
A libc/shared/math/powf.h
A libc/shared/math/sincos.h
A libc/shared/math/sincosf.h
A libc/shared/math/sinpif16.h
A libc/shared/math/sqrtf.h
A libc/shared/math/sqrtf128.h
A libc/shared/math/tanf16.h
A libc/shared/math/tanhf.h
A libc/shared/math/tanhf16.h
A libc/shared/math/tanpif.h
M libc/shared/rpc.h
A libc/shared/rpc_dispatch.h
M libc/shared/rpc_opcodes.h
M libc/shared/rpc_util.h
M libc/src/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/bit.h
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/OSUtil/gpu/exit.cpp
M libc/src/__support/OSUtil/gpu/io.cpp
M libc/src/__support/ctype_utils.h
M libc/src/__support/fixed_point/fx_bits.h
M libc/src/__support/macros/properties/architectures.h
M libc/src/__support/macros/properties/cpu_features.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/acos.h
M libc/src/__support/math/acosf.h
M libc/src/__support/math/acosf16.h
M libc/src/__support/math/acosh_float_constants.h
M libc/src/__support/math/acoshf.h
M libc/src/__support/math/acoshf16.h
M libc/src/__support/math/acoshf_utils.h
M libc/src/__support/math/acospif16.h
M libc/src/__support/math/asin.h
M libc/src/__support/math/asin_utils.h
M libc/src/__support/math/asinf.h
M libc/src/__support/math/asinf16.h
M libc/src/__support/math/asinhf.h
M libc/src/__support/math/asinhf16.h
M libc/src/__support/math/atan.h
M libc/src/__support/math/atan2.h
M libc/src/__support/math/atan2f.h
M libc/src/__support/math/atan2f128.h
M libc/src/__support/math/atan2f_float.h
M libc/src/__support/math/atan_utils.h
M libc/src/__support/math/atanf.h
M libc/src/__support/math/atanf16.h
M libc/src/__support/math/atanf_float.h
M libc/src/__support/math/atanhf.h
M libc/src/__support/math/atanhf16.h
A libc/src/__support/math/bf16add.h
A libc/src/__support/math/bf16addf.h
A libc/src/__support/math/bf16addf128.h
A libc/src/__support/math/bf16divf.h
A libc/src/__support/math/bf16divl.h
A libc/src/__support/math/bf16fmaf.h
A libc/src/__support/math/bf16fmal.h
A libc/src/__support/math/canonicalize.h
A libc/src/__support/math/canonicalizebf16.h
A libc/src/__support/math/canonicalizef.h
A libc/src/__support/math/canonicalizef128.h
A libc/src/__support/math/canonicalizef16.h
A libc/src/__support/math/canonicalizel.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cbrtf.h
M libc/src/__support/math/common_constants.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/cosf.h
M libc/src/__support/math/cosf16.h
M libc/src/__support/math/coshf.h
M libc/src/__support/math/coshf16.h
M libc/src/__support/math/cospif.h
M libc/src/__support/math/cospif16.h
M libc/src/__support/math/dfmaf128.h
M libc/src/__support/math/dfmal.h
M libc/src/__support/math/dsqrtl.h
M libc/src/__support/math/erff.h
M libc/src/__support/math/exp.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp10_float16_constants.h
M libc/src/__support/math/exp10f.h
M libc/src/__support/math/exp10f16.h
M libc/src/__support/math/exp10f16_utils.h
M libc/src/__support/math/exp10f_utils.h
M libc/src/__support/math/exp10m1f.h
M libc/src/__support/math/exp10m1f16.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/exp2f.h
M libc/src/__support/math/exp2f16.h
M libc/src/__support/math/exp2m1f.h
M libc/src/__support/math/exp2m1f16.h
M libc/src/__support/math/exp_constants.h
M libc/src/__support/math/exp_float_constants.h
M libc/src/__support/math/exp_utils.h
M libc/src/__support/math/expf.h
M libc/src/__support/math/expf16.h
M libc/src/__support/math/expf16_utils.h
M libc/src/__support/math/expm1.h
M libc/src/__support/math/expm1f.h
M libc/src/__support/math/expm1f16.h
M libc/src/__support/math/expxf16_utils.h
A libc/src/__support/math/f16add.h
A libc/src/__support/math/f16addf.h
A libc/src/__support/math/f16addf128.h
A libc/src/__support/math/f16addl.h
M libc/src/__support/math/f16fma.h
A libc/src/__support/math/f16fmaf.h
A libc/src/__support/math/f16fmaf128.h
M libc/src/__support/math/f16fmal.h
A libc/src/__support/math/f16sqrt.h
A libc/src/__support/math/f16sqrtf.h
M libc/src/__support/math/f16sqrtl.h
A libc/src/__support/math/ffma.h
A libc/src/__support/math/ffmal.h
M libc/src/__support/math/frexpf.h
M libc/src/__support/math/frexpf128.h
M libc/src/__support/math/frexpf16.h
M libc/src/__support/math/fsqrt.h
M libc/src/__support/math/fsqrtf128.h
M libc/src/__support/math/fsqrtl.h
M libc/src/__support/math/hypotf.h
A libc/src/__support/math/hypotf16.h
M libc/src/__support/math/ilogb.h
M libc/src/__support/math/ilogbf128.h
M libc/src/__support/math/ilogbl.h
M libc/src/__support/math/inv_trigf_utils.h
M libc/src/__support/math/ldexpf.h
M libc/src/__support/math/ldexpf128.h
M libc/src/__support/math/ldexpf16.h
M libc/src/__support/math/llogb.h
M libc/src/__support/math/llogbf.h
M libc/src/__support/math/llogbf128.h
M libc/src/__support/math/llogbf16.h
A libc/src/__support/math/llogbl.h
M libc/src/__support/math/log.h
M libc/src/__support/math/log10.h
A libc/src/__support/math/log10f.h
A libc/src/__support/math/log10f16.h
M libc/src/__support/math/log1p.h
A libc/src/__support/math/log1pf.h
M libc/src/__support/math/log2.h
A libc/src/__support/math/log2f.h
A libc/src/__support/math/log2f16.h
A libc/src/__support/math/logb.h
M libc/src/__support/math/logbf.h
M libc/src/__support/math/logbf128.h
M libc/src/__support/math/logbf16.h
A libc/src/__support/math/logbl.h
M libc/src/__support/math/logf.h
M libc/src/__support/math/logf16.h
A libc/src/__support/math/pow.h
A libc/src/__support/math/powf.h
M libc/src/__support/math/range_reduction.h
M libc/src/__support/math/range_reduction_double_common.h
M libc/src/__support/math/range_reduction_double_fma.h
M libc/src/__support/math/range_reduction_double_nofma.h
M libc/src/__support/math/range_reduction_fma.h
M libc/src/__support/math/rsqrtf.h
M libc/src/__support/math/rsqrtf16.h
M libc/src/__support/math/sin.h
A libc/src/__support/math/sincos.h
M libc/src/__support/math/sincos_eval.h
A libc/src/__support/math/sincosf.h
M libc/src/__support/math/sincosf16_utils.h
M libc/src/__support/math/sincosf_float_eval.h
M libc/src/__support/math/sincosf_utils.h
M libc/src/__support/math/sinf.h
M libc/src/__support/math/sinf16.h
M libc/src/__support/math/sinhf.h
M libc/src/__support/math/sinhf16.h
M libc/src/__support/math/sinpif.h
A libc/src/__support/math/sinpif16.h
M libc/src/__support/math/sqrt.h
A libc/src/__support/math/sqrtf.h
A libc/src/__support/math/sqrtf128.h
M libc/src/__support/math/sqrtf16.h
M libc/src/__support/math/tan.h
M libc/src/__support/math/tanf.h
A libc/src/__support/math/tanf16.h
A libc/src/__support/math/tanhf.h
A libc/src/__support/math/tanhf16.h
A libc/src/__support/math/tanpif.h
A libc/src/__support/mathvec/CMakeLists.txt
A libc/src/__support/mathvec/common_constants.h
A libc/src/__support/mathvec/expf.h
A libc/src/__support/mathvec/expf_utils.h
M libc/src/__support/str_to_float.h
M libc/src/__support/time/gpu/time_utils.cpp
M libc/src/__support/time/gpu/time_utils.h
M libc/src/__support/wctype/CMakeLists.txt
A libc/src/__support/wctype/wctype_classification_utils.cpp
M libc/src/__support/wctype/wctype_classification_utils.h
M libc/src/__support/wctype_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16add.cpp
M libc/src/math/generic/bf16addf.cpp
M libc/src/math/generic/bf16addf128.cpp
M libc/src/math/generic/bf16divf.cpp
M libc/src/math/generic/bf16divl.cpp
M libc/src/math/generic/bf16fmaf.cpp
M libc/src/math/generic/bf16fmal.cpp
M libc/src/math/generic/canonicalize.cpp
M libc/src/math/generic/canonicalizebf16.cpp
M libc/src/math/generic/canonicalizef.cpp
M libc/src/math/generic/canonicalizef128.cpp
M libc/src/math/generic/canonicalizef16.cpp
M libc/src/math/generic/canonicalizel.cpp
M libc/src/math/generic/f16add.cpp
M libc/src/math/generic/f16addf.cpp
M libc/src/math/generic/f16addf128.cpp
M libc/src/math/generic/f16addl.cpp
M libc/src/math/generic/f16fmaf.cpp
M libc/src/math/generic/f16fmaf128.cpp
M libc/src/math/generic/f16sqrt.cpp
M libc/src/math/generic/f16sqrtf.cpp
M libc/src/math/generic/ffma.cpp
M libc/src/math/generic/ffmal.cpp
M libc/src/math/generic/hypotf16.cpp
M libc/src/math/generic/llogbl.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log10f16.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/log2f16.cpp
M libc/src/math/generic/logb.cpp
M libc/src/math/generic/logbl.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sinpif16.cpp
M libc/src/math/generic/sqrtf.cpp
M libc/src/math/generic/sqrtf128.cpp
M libc/src/math/generic/tanf16.cpp
M libc/src/math/generic/tanhf.cpp
M libc/src/math/generic/tanhf16.cpp
M libc/src/math/generic/tanpif.cpp
M libc/src/math/generic/tanpif16.cpp
A libc/src/mathvec/CMakeLists.txt
A libc/src/mathvec/expf.h
A libc/src/mathvec/generic/CMakeLists.txt
A libc/src/mathvec/generic/expf.cpp
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/rename.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/printf_core/converter_utils.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/write_int_converter.h
M libc/src/stdlib/gpu/abort.cpp
M libc/src/stdlib/gpu/system.cpp
M libc/src/string/memory_utils/aarch64/inline_memcpy.h
M libc/src/string/memory_utils/generic/inline_strlen.h
M libc/src/string/memory_utils/x86_64/inline_strlen.h
M libc/startup/gpu/CMakeLists.txt
M libc/test/CMakeLists.txt
M libc/test/UnitTest/FEnvSafeTest.cpp
M libc/test/UnitTest/PrintfMatcher.cpp
A libc/test/UnitTest/SIMDMatcher.h
M libc/test/include/complex_test.cpp
M libc/test/integration/src/__support/GPU/fixedstack_test.cpp
M libc/test/integration/src/__support/GPU/match.cpp
M libc/test/integration/src/__support/GPU/scan_reduce.cpp
M libc/test/integration/src/__support/GPU/shuffle.cpp
M libc/test/integration/src/stdio/gpu/printf_test.cpp
M libc/test/integration/src/stdlib/gpu/malloc_stress.cpp
M libc/test/integration/startup/gpu/init_fini_array_test.cpp
M libc/test/integration/startup/gpu/rpc_interface_test.cpp
M libc/test/integration/startup/gpu/rpc_lane_test.cpp
M libc/test/integration/startup/gpu/rpc_stream_test.cpp
M libc/test/integration/startup/gpu/rpc_test.cpp
A libc/test/lit.cfg.py
A libc/test/lit.site.cfg.py.in
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/wctype_utils_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/ceilf128_test.cpp
M libc/test/src/math/exhaustive/bfloat16_add_test.cpp
M libc/test/src/math/exhaustive/bfloat16_div_test.cpp
M libc/test/src/math/exhaustive/bfloat16_mul_test.cpp
M libc/test/src/math/exhaustive/bfloat16_sub_test.cpp
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/SubTest.h
A libc/test/src/mathvec/CMakeLists.txt
A libc/test/src/mathvec/expf_test.cpp
M libc/test/src/stdio/fopen_test.cpp
M libc/test/src/stdio/printf_core/parser_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdlib/strtof_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/strings/wide_read_memory_test.cpp
M libc/test/src/time/TmMatcher.h
M libc/test/src/time/gmtime_r_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/mktime_test.cpp
M libc/utils/docgen/wctype.yaml
A libc/utils/libctest/__init__.py
A libc/utils/libctest/format.py
M libc/utils/wctype_utils/classification/gen_classification_data.py
M libclc/CMakeLists.txt
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/math.h
A libclc/clc/include/clc/relational/clc_issubnormal.h
M libclc/clc/include/clc/relational/relational.h
M libclc/clc/lib/amdgcn/workitem/clc_get_global_offset.cl
M libclc/clc/lib/amdgcn/workitem/clc_get_work_dim.cl
M libclc/clc/lib/amdgpu/math/clc_sqrt.cl
M libclc/clc/lib/generic/SOURCES
M libclc/clc/lib/generic/math/clc_fma.cl
R libclc/clc/lib/generic/math/clc_fma.inc
M libclc/clc/lib/generic/math/clc_remquo.cl
M libclc/clc/lib/generic/math/clc_remquo.inc
R libclc/clc/lib/generic/math/clc_sw_fma.cl
A libclc/clc/lib/generic/relational/clc_issubnormal.cl
R libclc/clc/lib/r600/SOURCES
R libclc/clc/lib/r600/math/clc_native_rsqrt.cl
R libclc/clc/lib/r600/math/clc_rsqrt.cl
M libclc/clc/lib/spirv/SOURCES
R libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
M libclc/cmake/modules/AddLibclc.cmake
M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_global_size.cl
M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_local_size.cl
M libclc/opencl/lib/amdgcn/mem_fence/fence.cl
M libclc/opencl/lib/amdgcn/workitem/get_local_size.cl
M libclc/opencl/lib/amdgcn/workitem/get_num_groups.cl
M libclc/opencl/lib/clspv/SOURCES
R libclc/opencl/lib/clspv/subnormal_config.cl
M libclc/opencl/lib/generic/SOURCES
M libclc/opencl/lib/generic/subnormal_config.cl
R libclc/opencl/lib/generic/subnormal_disable.ll
R libclc/opencl/lib/generic/subnormal_helper_func.ll
R libclc/opencl/lib/generic/subnormal_use_default.ll
M libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
R libclc/opencl/lib/r600/SOURCES
R libclc/opencl/lib/r600/SOURCES_3.9
R libclc/opencl/lib/r600/image/get_image_attributes_impl.ll
R libclc/opencl/lib/r600/image/get_image_channel_data_type.cl
R libclc/opencl/lib/r600/image/get_image_channel_order.cl
R libclc/opencl/lib/r600/image/get_image_depth.cl
R libclc/opencl/lib/r600/image/get_image_dim.cl
R libclc/opencl/lib/r600/image/get_image_height.cl
R libclc/opencl/lib/r600/image/get_image_width.cl
R libclc/opencl/lib/r600/image/read_image_impl.ll
R libclc/opencl/lib/r600/image/read_imagef.cl
R libclc/opencl/lib/r600/image/read_imagei.cl
R libclc/opencl/lib/r600/image/read_imageui.cl
R libclc/opencl/lib/r600/image/write_image_impl.ll
R libclc/opencl/lib/r600/image/write_imagef.cl
R libclc/opencl/lib/r600/image/write_imagei.cl
R libclc/opencl/lib/r600/image/write_imageui.cl
R libclc/opencl/lib/r600/synchronization/barrier.cl
R libclc/opencl/lib/r600/workitem/get_global_offset.cl
R libclc/opencl/lib/r600/workitem/get_global_size.cl
R libclc/opencl/lib/r600/workitem/get_group_id.cl
R libclc/opencl/lib/r600/workitem/get_local_id.cl
R libclc/opencl/lib/r600/workitem/get_local_size.cl
R libclc/opencl/lib/r600/workitem/get_num_groups.cl
R libclc/opencl/lib/r600/workitem/get_work_dim.cl
M libclc/opencl/lib/spirv/SOURCES
R libclc/opencl/lib/spirv/math/fma.cl
R libclc/opencl/lib/spirv/subnormal_config.cl
M libclc/www/index.html
M libcxx/docs/CodingGuidelines.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/generate_n.h
M libcxx/include/__algorithm/ranges_fold.h
M libcxx/include/__algorithm/ranges_reverse_copy.h
A libcxx/include/__algorithm/ranges_shift_right.h
M libcxx/include/__algorithm/shift_right.h
M libcxx/include/__algorithm/unwrap_range.h
M libcxx/include/__atomic/atomic_waitable_traits.h
M libcxx/include/__charconv/from_chars_integral.h
M libcxx/include/__chrono/duration.h
M libcxx/include/__configuration/availability.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/range_default_formatter.h
M libcxx/include/__format/range_format.h
M libcxx/include/__format/unicode.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/operations.h
M libcxx/include/__fwd/format.h
A libcxx/include/__iterator/capacity_aware_iterator.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/aix.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/newlib.h
M libcxx/include/__locale_dir/support/no_locale/characters.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__stop_token/atomic_unique_lock.h
M libcxx/include/__tree
M libcxx/include/__type_traits/make_transparent.h
M libcxx/include/__vector/vector.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/future
M libcxx/include/iomanip
M libcxx/include/map
M libcxx/include/module.modulemap.in
M libcxx/include/optional
M libcxx/include/stdatomic.h
M libcxx/include/version
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/modules/std/algorithm.inc
M libcxx/src/atomic.cpp
M libcxx/src/hash.cpp
M libcxx/src/memory.cpp
M libcxx/test/benchmarks/GenerateInput.h
M libcxx/test/benchmarks/adjacent_view_begin.bench.cpp
R libcxx/test/benchmarks/algorithms/make_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/make_heap_then_sort_heap.bench.cpp
M libcxx/test/benchmarks/algorithms/min.bench.cpp
M libcxx/test/benchmarks/algorithms/minmax.bench.cpp
R libcxx/test/benchmarks/algorithms/pop_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/push_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_make_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_make_heap_then_sort_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_pop_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_push_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_sort_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/sort_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/make_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/make_heap_then_sort_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/pop_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/push_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/sort_heap.bench.cpp
M libcxx/test/benchmarks/containers/sequence/sequence_container_benchmarks.h
M libcxx/test/benchmarks/format/format_to.bench.cpp
M libcxx/test/benchmarks/format/format_to_n.bench.cpp
M libcxx/test/benchmarks/format/formatted_size.bench.cpp
M libcxx/test/benchmarks/format/formatter_float.bench.cpp
M libcxx/test/benchmarks/format/formatter_int.bench.cpp
M libcxx/test/benchmarks/format/std_format_spec_string_unicode.bench.cpp
M libcxx/test/benchmarks/format/std_format_spec_string_unicode_escape.bench.cpp
M libcxx/test/benchmarks/spec.gen.py
M libcxx/test/benchmarks/stop_token.bench.cpp
A libcxx/test/extensions/libcxx/depr/depr.c.headers/include_stdatomic_as_c.sh.cpp
M libcxx/test/libcxx-03/transitive_includes/to_csv.py
A libcxx/test/libcxx/algorithms/alg.modifying.operations/alg.shift/assert.shift_right.pass.cpp
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_iterator.compile.pass.cpp
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_iterator.compile.pass.cpp
A libcxx/test/libcxx/atomics/atomics.syn/wait.native.compile.pass.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/arithmetic.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/assert.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/comparison.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/contiguous.verify.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/dereference.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/types.compile.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_traits.compile.pass.cpp
M libcxx/test/libcxx/iterators/iterator_with_data.pass.cpp
M libcxx/test/libcxx/iterators/product_iterator.pass.cpp
M libcxx/test/libcxx/iterators/unwrap_iter.pass.cpp
A libcxx/test/libcxx/thread/futures/launch_any_deprecated.verify.cpp
M libcxx/test/libcxx/thread/nodiscard.verify.cpp
M libcxx/test/libcxx/transitive_includes/to_csv.py
A libcxx/test/libcxx/utilities/optional/optional.iterator/assert.arithmetic.pass.cpp
A libcxx/test/libcxx/utilities/optional/optional.iterator/iterator.compile.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_point.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_point.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_stable_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/ranges_sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/ranges_shuffle.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/ranges.reverse.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges.shift_left.pass.cpp
A libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges_shift_right.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/shift_left.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/shift_right.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/binary_transform.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.binary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.unary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/unary_transform.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy_pred.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/ranges.find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/ranges.find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/ranges.is_permutation.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.starts_with/ranges.starts_with.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/ranges_equal_range.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_inplace_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/requires_forward_iterator.verify.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.nth.element/ranges_nth_element.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/includes/ranges_includes.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/ranges_set_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/ranges_set_intersection.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_complexity.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/ranges_set_symmetric_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.union/ranges_set_union.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/ranges_partial_sort_copy.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/ranges_partial_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/pstl.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/ranges.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.stable_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/ranges.stable.sort.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/atomics/atomics.ref/address.pass.cpp
M libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp
M libcxx/test/std/atomics/atomics.ref/compare_exchange_weak.pass.cpp
M libcxx/test/std/atomics/atomics.ref/convert.pass.cpp
M libcxx/test/std/atomics/atomics.ref/ctor.pass.cpp
M libcxx/test/std/atomics/atomics.ref/deduction.pass.cpp
M libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
M libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
M libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp
M libcxx/test/std/atomics/atomics.ref/load.pass.cpp
M libcxx/test/std/atomics/atomics.ref/notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.ref/notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.ref/required_alignment.pass.cpp
M libcxx/test/std/atomics/atomics.ref/requires-trivially-copyable.verify.cpp
M libcxx/test/std/atomics/atomics.ref/store.pass.cpp
M libcxx/test/std/atomics/atomics.ref/test_helper.h
M libcxx/test/std/atomics/atomics.ref/wait.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_exceptions.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_exceptions.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.operations/distance.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/lwg3664.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/indirectcallable/projected/projected.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.bidir/bidirectional_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.forward/forward_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.input/input_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.iterator/input_or_output_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/random_access_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.swap/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/arrow.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/assign.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/count.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.conv.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/decrement.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/deref.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/member_types.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.default_sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.eq.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.size.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/plus.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/subscript.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/three_way_compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/types.h
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/sized_sentinel.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_swap.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/test_neg_one.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_monthname.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_monthname_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_one.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_time.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_time_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_weekday.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_weekday_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put1.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/pstl.reduce.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce_init.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce_init_op.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
M libcxx/test/std/ranges/range.access/size.pass.cpp
M libcxx/test/std/ranges/range.access/ssize.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/adaptor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/all_t.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/data.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/empty.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.as.rvalue/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.as.rvalue/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.common.view/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.common.view/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.common.view/types.h
M libcxx/test/std/ranges/range.adaptors/range.drop/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.view.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/types.h
M libcxx/test/std/ranges/range.adaptors/range.filter/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.overview/adaptor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.view/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.view/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.split/types.h
M libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/ctor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/plus_minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/sentinel.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range_adaptor_types.h
M libcxx/test/std/ranges/range.factories/range.iota.view/indices.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.utility/range.elementsof/ctad.pass.cpp
M libcxx/test/std/ranges/range.utility/range.elementsof/elements_of.pass.cpp
M libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/grep.pass.cpp
M libcxx/test/std/strings/basic.string/string.cons/from_range_deduction.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_iter_iter.pass.cpp
M libcxx/test/std/strings/string.view/string.view.cons/from_iterator_sentinel.pass.cpp
M libcxx/test/std/thread/futures/futures.async/async.pass.cpp
M libcxx/test/std/thread/futures/futures.overview/launch.pass.cpp
M libcxx/test/std/thread/thread.semaphore/lost_wakeup.timed.pass.cpp
A libcxx/test/std/thread/thread.semaphore/timed.hang.pass.cpp
M libcxx/test/std/utilities/any/any.class/any.cons/value.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/pred.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
A libcxx/test/std/utilities/optional/optional.iterator/compare.pass.cpp
M libcxx/test/std/utilities/optional/optional.iterator/iterator.pass.cpp
M libcxx/test/support/module.modulemap
M libcxx/test/support/test.support/test_proxy.pass.cpp
M libcxx/test/support/test_range.h
M libcxx/utils/ci/BOT_OWNERS.txt
R libcxx/utils/ci/benchmark-for-lnt.py
A libcxx/utils/ci/lnt/README.md
A libcxx/utils/ci/lnt/commit-watch
A libcxx/utils/ci/lnt/run-benchmarks
A libcxx/utils/ci/lnt/schema.yaml
M libcxx/utils/gdb/libcxx/printers.py
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/features/libcxx_macros.py
M libsycl/CMakeLists.txt
M libsycl/docs/index.rst
A libsycl/include/sycl/__impl/aspect.hpp
A libsycl/include/sycl/__impl/device.hpp
A libsycl/include/sycl/__impl/device_selector.hpp
A libsycl/include/sycl/__impl/info/device.hpp
A libsycl/include/sycl/__impl/info/device_type.hpp
M libsycl/include/sycl/__impl/platform.hpp
M libsycl/include/sycl/sycl.hpp
M libsycl/src/CMakeLists.txt
A libsycl/src/detail/device_impl.cpp
A libsycl/src/detail/device_impl.hpp
M libsycl/src/detail/global_objects.cpp
M libsycl/src/detail/offload/offload_topology.cpp
M libsycl/src/detail/offload/offload_topology.hpp
M libsycl/src/detail/offload/offload_utils.cpp
M libsycl/src/detail/offload/offload_utils.hpp
M libsycl/src/detail/platform_impl.cpp
M libsycl/src/detail/platform_impl.hpp
A libsycl/src/device.cpp
A libsycl/src/device_selector.cpp
M libsycl/src/platform.cpp
A libsycl/test/CMakeLists.txt
A libsycl/test/README.md
A libsycl/test/basic/platform_get_devices.cpp
A libsycl/test/lit.cfg.py
A libsycl/test/lit.site.cfg.py.in
M libsycl/tools/sycl-ls/sycl-ls.cpp
M libunwind/src/Unwind-seh.cpp
M lld/COFF/Driver.cpp
M lld/COFF/Writer.cpp
M lld/ELF/AArch64ErrataFix.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/Hexagon.cpp
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
R lld/ELF/Arch/RISCVInternalRelocations.h
M lld/ELF/Arch/SystemZ.cpp
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/InputFiles.h
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/OutputSections.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Target.cpp
M lld/ELF/Target.h
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/SectionPriorities.cpp
M lld/include/lld/Common/BPSectionOrdererBase.inc
A lld/test/COFF/merge-bss-text-filealign1.test
M lld/test/ELF/aarch64-abs16.s
M lld/test/ELF/aarch64-abs32.s
M lld/test/ELF/aarch64-fpic-abs16.s
M lld/test/ELF/aarch64-fpic-add_abs_lo12_nc.s
M lld/test/ELF/aarch64-fpic-prel16.s
M lld/test/ELF/aarch64-hi21-error.s
M lld/test/ELF/aarch64-ldprel-lo19-invalid.s
M lld/test/ELF/aarch64-lo12-alignment.s
M lld/test/ELF/aarch64-lo21-error.s
M lld/test/ELF/aarch64-load-alignment.s
A lld/test/ELF/aarch64-memtag-pauth-globals-out-of-range.s
A lld/test/ELF/aarch64-memtag-pauth-globals.s
M lld/test/ELF/aarch64-movw-error.s
M lld/test/ELF/aarch64-prel16.s
M lld/test/ELF/aarch64-prel32.s
R lld/test/ELF/abs-conflict.s
M lld/test/ELF/arm-adr-err-long.s
M lld/test/ELF/arm-adr-err.s
M lld/test/ELF/arm-ldrlit-err.s
M lld/test/ELF/arm-tag-vfp-args-errs.s
M lld/test/ELF/arm-thumb-adr-err.s
M lld/test/ELF/arm-thumb-ldrlit-err.s
M lld/test/ELF/arm-thumb2-adr-err.s
M lld/test/ELF/arm-thumb2-ldrlit-err.s
A lld/test/ELF/conflict-abs.s
M lld/test/ELF/conflict-debug-variable-file-index.s
M lld/test/ELF/conflict-debug-variable.s
M lld/test/ELF/conflict-debug-variable2.s
M lld/test/ELF/conflict-variable-linkage-name.s
M lld/test/ELF/conflict.s
M lld/test/ELF/eh-frame-dyn-rel.s
A lld/test/ELF/eh-frame-fde-encoding.s
A lld/test/ELF/eh-frame-hdr-sdata8.s
A lld/test/ELF/eh-frame-invalid-cie.s
A lld/test/ELF/eh-frame-invalid-fde-encoding.s
R lld/test/ELF/eh-frame-pcrel-overflow.s
R lld/test/ELF/eh-frame-value-format1.s
R lld/test/ELF/eh-frame-value-format2.s
R lld/test/ELF/eh-frame-value-format3.s
R lld/test/ELF/eh-frame-value-format4.s
R lld/test/ELF/eh-frame-value-format5.s
R lld/test/ELF/eh-frame-value-format6.s
R lld/test/ELF/eh-frame-value-format7.s
R lld/test/ELF/eh-frame-value-format8.s
R lld/test/ELF/eh-frame-value-format9.s
M lld/test/ELF/execute-only-mixed-data.s
M lld/test/ELF/hexagon-tls-ie.s
M lld/test/ELF/hidden-shared-err.s
M lld/test/ELF/incompatible-ar-first.s
M lld/test/ELF/incompatible-section-flags.s
M lld/test/ELF/invalid-cie-length.s
M lld/test/ELF/invalid-cie-reference.s
R lld/test/ELF/invalid-eh-frame.s
R lld/test/ELF/invalid-eh-frame2.s
R lld/test/ELF/invalid-eh-frame3.s
R lld/test/ELF/invalid-eh-frame4.s
R lld/test/ELF/invalid-eh-frame5.s
R lld/test/ELF/invalid-eh-frame6.s
R lld/test/ELF/invalid-eh-frame7.s
R lld/test/ELF/invalid-eh-frame8.s
R lld/test/ELF/invalid-eh-frame9.s
M lld/test/ELF/invalid/bad-arm-attributes.s
M lld/test/ELF/invalid/common-symbol-alignment.test
M lld/test/ELF/invalid/data-encoding.test
M lld/test/ELF/invalid/ehframe-broken-relocation.test
M lld/test/ELF/invalid/executable.s
M lld/test/ELF/invalid/invalid-elf.test
M lld/test/ELF/invalid/invalid-file-class.test
M lld/test/ELF/invalid/linkorder-invalid-sec.test
M lld/test/ELF/invalid/merge-invalid-size.s
M lld/test/ELF/invalid/non-terminated-string.test
M lld/test/ELF/invalid/section-alignment.test
M lld/test/ELF/invalid/section-index.test
M lld/test/ELF/invalid/sht-group.test
M lld/test/ELF/invalid/tls-symbol.s
M lld/test/ELF/invalid/verdef-no-symtab.test
M lld/test/ELF/linkerscript/address-expr-symbols.s
A lld/test/ELF/linkerscript/discard-eh-frame.s
R lld/test/ELF/linkerscript/pt_gnu_eh_frame.s
M lld/test/ELF/linkorder-group.test
M lld/test/ELF/loongarch-branch.s
A lld/test/ELF/loongarch-ifunc-nonpreemptible.s
M lld/test/ELF/mips-align-err.s
M lld/test/ELF/mips-micro-bad-cross-calls.s
M lld/test/ELF/mips-out-of-bounds-call16-reloc.s
M lld/test/ELF/ppc64-abs32-dyn.s
M lld/test/ELF/ppc64-error-missaligned-dq.s
M lld/test/ELF/ppc64-error-missaligned-ds.s
M lld/test/ELF/ppc64-error-toc-tail-call.s
M lld/test/ELF/ppc64-reloc-pcrel34-overflow.s
M lld/test/ELF/ppc64-tls-missing-gdld.s
M lld/test/ELF/pr34872.s
M lld/test/ELF/relocation-before-merge-start.s
M lld/test/ELF/relocation-nocopy.s
M lld/test/ELF/relocation-past-merge-end.s
M lld/test/ELF/reproduce-error.s
M lld/test/ELF/riscv-branch.s
M lld/test/ELF/riscv-call.s
M lld/test/ELF/riscv-hi20-lo12.s
M lld/test/ELF/riscv-ifunc-nonpreemptible.s
M lld/test/ELF/riscv-jal.s
M lld/test/ELF/riscv-pcrel-hilo.s
M lld/test/ELF/riscv-vendor-relocations.s
M lld/test/ELF/static-error.s
M lld/test/ELF/systemz-plt.s
M lld/test/ELF/systemz-tls-gd.s
M lld/test/ELF/systemz-tls-ld.s
M lld/test/ELF/undef-spell-corrector.s
M lld/test/ELF/vs-diagnostics-dynamic-relocation.s
M lld/test/ELF/x86-64-reloc-debug-overflow.s
M lld/test/ELF/x86-64-reloc-error.s
M lld/test/ELF/x86-64-reloc-error2.s
M lld/test/ELF/x86-64-reloc-range.s
M lld/test/ELF/x86-64-reloc-tpoff32-error.s
M lld/test/ELF/x86-64-tls-ie-err.s
M lld/test/ELF/ztext.s
A lld/test/MachO/arm64-branch-addend-stubs.s
M lld/test/MachO/order-file-cstring.s
M lld/test/MachO/platform-version.s
R lld/test/wasm/Inputs/import-attributes.s
A lld/test/wasm/compact-imports.s
M lld/test/wasm/data-layout.s
M lld/test/wasm/export-all.s
M lld/test/wasm/import-attribute-mismatch.s
M lld/test/wasm/mutable-global-exports.s
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.6-beta.1
[skip ci]
Commit: d4a468de8148df48b32779be10063f0fc4c3fbc7
https://github.com/llvm/llvm-project/commit/d4a468de8148df48b32779be10063f0fc4c3fbc7
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-02-19 (Thu, 19 Feb 2026)
Changed paths:
M .ci/buildbot/worker.py
M .ci/compute_projects.py
M .ci/compute_projects_test.py
A .ci/green-dragon/bisect.groovy
A .ci/green-dragon/clang-san-iossim.groovy
A .ci/green-dragon/clang-stage1-RA-as.groovy
A .ci/green-dragon/clang-stage1-RA-cmake-incremental.groovy
A .ci/green-dragon/clang-stage1-RA-expensive.groovy
A .ci/green-dragon/clang-stage1-RA.groovy
A .ci/green-dragon/clang-stage2-Rthinlto.groovy
A .ci/green-dragon/clang-stage2-cmake-RgSan.groovy
A .ci/green-dragon/clang-stage2-cmake-RgTSan.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-O0-g.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-O3-flto.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-Os.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-Oz.groovy
A .ci/green-dragon/relay-clang-stage2-sanitizers.groovy
A .ci/green-dragon/relay-clang-stage2-thinlto.groovy
A .ci/green-dragon/relay-lnt-ctmark.groovy
A .ci/green-dragon/relay-test-suite-verify-machineinstrs.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-aarch64-O0-g.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-aarch64-O3.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-aarch64-globalisel-O0-g.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-x86_64-O0-g.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-x86_64-O3.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-x86_64h-O3.groovy
M .ci/premerge_advisor_explain.py
M .github/renovate.json
A .github/workflows/build-libc-container.yml
M .github/workflows/commit-access-review.py
M .github/workflows/commit-access-review.yml
M .github/workflows/commit-create-issue.py
A .github/workflows/containers/libc/Dockerfile
M .github/workflows/docs.yml
M .github/workflows/issue-release-workflow.yml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libcxx-run-benchmarks.yml
M .github/workflows/prune-branches.yml
M .github/workflows/prune-unused-branches.py
M .github/workflows/release-asset-audit.yml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-tasks.yml
M .gitignore
M .mailmap
M bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/Hugify.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/runtime/instr.cpp
M bolt/runtime/sys_aarch64.h
A bolt/test/AArch64/bti-inline-dbg.s
A bolt/test/AArch64/bti-inline.s
A bolt/test/AArch64/bti-long-jmp-ignored.s
A bolt/test/AArch64/bti-long-jmp.s
A bolt/test/AArch64/bti-note-unused.test
A bolt/test/AArch64/bti-patch-entries.s
A bolt/test/AArch64/compare-and-branch-inversion.S
A bolt/test/AArch64/compare-and-branch-reorder-blocks.S
A bolt/test/AArch64/compare-and-branch-split-functions.S
A bolt/test/AArch64/compare-and-branch-unsupported.S
A bolt/test/AArch64/constant-island-reference.s
R bolt/test/AArch64/inline-bti-dbg.s
R bolt/test/AArch64/inline-bti.s
R bolt/test/AArch64/long-jmp-bti-ignored.s
R bolt/test/AArch64/long-jmp-bti.s
R bolt/test/AArch64/no-bti-note.test
A bolt/test/icf-hot-text-mover.c
A bolt/test/runtime/AArch64/bti-hugify.c
A bolt/test/runtime/AArch64/bti-instrumentation-ind-call.c
A bolt/test/runtime/AArch64/bti-long-jmp-plt.c
R bolt/test/runtime/AArch64/instrumentation-ind-call-bti.c
M bolt/test/runtime/AArch64/instrumentation-ind-call.c
R bolt/test/runtime/AArch64/long-jmp-bti-plt.c
A bolt/test/runtime/X86/plt-call.c
M clang-tools-extra/Maintainers.rst
M clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/assets/head-template.mustache
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/android/ComparisonInTempFailureRetryCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.h
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/UnsafeToAllowExceptionsCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/UnsafeToAllowExceptionsCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.h
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStructuredBindingCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStructuredBindingCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/performance/StringViewConversionsCheck.cpp
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
M clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
A clang-tools-extra/clang-tidy/readability/TrailingCommaCheck.cpp
A clang-tools-extra/clang-tidy/readability/TrailingCommaCheck.h
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.h
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.h
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/FindSymbols.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/ScanningProjectModules.cpp
M clang-tools-extra/clangd/TidyProvider.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/monitor/Monitor.cpp
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/test/call-hierarchy.test
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/abseil/unchecked-statusor-access.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-escape.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-to-allow-exceptions.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err52-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/flp30-c.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-goto.rst
M clang-tools-extra/docs/clang-tidy/checks/fuchsia/multiple-inheritance.rst
M clang-tools-extra/docs/clang-tidy/checks/google/readability-casting.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-goto.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/braces-around-statements.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/deprecated-headers.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/exception-baseclass.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/explicit-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/function-size.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/ignored-remove-result.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/invalid-access-moved.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/move-const-arg.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/multiway-paths-covered.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/named-parameter.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/new-delete-operators.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-array-decay.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-assembler.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/noexcept-move.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/signed-bitwise.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/special-member-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/static-assert.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/undelegated-constructor.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/uppercase-literal-suffix.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-auto.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-emplace.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-default.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-delete.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-noexcept.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-nullptr.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-override.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/vararg.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/pass-by-value.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-structured-binding.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/trailing-comma.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
A clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-cxx-11-inherited-constructors.cpp
A 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/string-constructor.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-to-allow-exceptions-precpp17.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-to-allow-exceptions.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/init-variables.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-vararg.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/concat-nested-namespaces/modernize-concat-nested-namespaces.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/pass-by-value/header-with-fix.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/pass-by-value/header.h
A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-structured-binding/fake_std_pair_tuple.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-header.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-ignore-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-multi-fixes.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-structured-binding.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header.h
A clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation-vectorlike-classes.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/duplicate-include.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-c23.c
A clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument-option.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx11.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx20-remove.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-remove.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-wrong-config.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma.c
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-floating-point.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer.cpp
M clang-tools-extra/unittests/clang-tidy/CMakeLists.txt
A clang-tools-extra/unittests/clang-tidy/LexerUtilsTest.cpp
M clang/AreaTeamMembers.txt
A clang/Maintainers.md
R clang/Maintainers.rst
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_code_completion.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_source_range.py
M clang/cmake/caches/VectorEngine.cmake
A clang/cmake/caches/cross-linux-toolchain.cmake
M clang/docs/CMakeLists.txt
M clang/docs/ClangFormatStyleOptions.rst
A clang/docs/ClangIRCleanupAndEHDesign.md
A clang/docs/LLVMExceptionHandlingCodeGen.rst
M clang/docs/LanguageExtensions.rst
A clang/docs/Maintainers.md
R clang/docs/Maintainers.rst
M clang/docs/OpenMPSupport.rst
A clang/docs/OverflowBehaviorTypes.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SafeBuffers.rst
M clang/docs/SanitizerSpecialCaseList.rst
M clang/docs/SourceBasedCodeCoverage.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/ThreadSanitizer.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/index.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ComputeDependence.h
M clang/include/clang/AST/DeclObjCCommon.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/HLSLResource.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Checker.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety/MovedLoans.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
A clang/include/clang/Analysis/CFGBackEdges.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/Scalable/Model/BuildNamespace.h
M clang/include/clang/Analysis/Scalable/Model/EntityId.h
M clang/include/clang/Analysis/Scalable/Model/EntityIdTable.h
A clang/include/clang/Analysis/Scalable/Model/EntityLinkage.h
M clang/include/clang/Analysis/Scalable/Model/EntityName.h
A clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
M clang/include/clang/Analysis/Scalable/Model/SummaryName.h
A clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
A clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
M clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
M clang/include/clang/Analysis/Scalable/TUSummary/TUSummary.h
M clang/include/clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/ObjCRuntime.h
M clang/include/clang/Basic/OffloadArch.h
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TargetOSMacros.def
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/CIR/ABIArgInfo.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
A clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.h
A clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/DependencyScanning/DependencyScanningService.h
M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/RocmInstallationDetector.h
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/SyclInstallationDetector.h
M clang/include/clang/Driver/Types.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Index/IndexSymbol.h
M clang/include/clang/Lex/Lexer.h
M clang/include/clang/Lex/PPCallbacks.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/Token.h
M clang/include/clang/Options/Options.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaAMDGPU.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
M clang/include/clang/Tooling/DependencyScanningTool.h
M clang/include/module.modulemap
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.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/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpHelpers.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/MemberPointer.cpp
M clang/lib/AST/ByteCode/MemberPointer.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/State.cpp
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/CFG.cpp
A clang/lib/Analysis/CFGBackEdges.cpp
M clang/lib/Analysis/CMakeLists.txt
M clang/lib/Analysis/CloneDetection.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/LifetimeSafety/CMakeLists.txt
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/Dataflow.h
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
A clang/lib/Analysis/LifetimeSafety/MovedLoans.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Analysis/Scalable/CMakeLists.txt
A clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
R clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
A clang/lib/Analysis/Scalable/Serialization/SerializationFormatRegistry.cpp
A clang/lib/Analysis/Scalable/TUSummary/TUSummaryBuilder.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/OperatorPrecedence.cpp
M clang/lib/Basic/ParsedAttrInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
A clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDARuntime.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
A clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.h
A clang/lib/CIR/Interfaces/ASTAttrInterfaces.cpp
M clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningService.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.h
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPSPV.h
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/LayoutOverrideSource.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__clang_cuda_complex_builtins.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/module.modulemap
M clang/lib/Headers/openmp_wrappers/complex
M clang/lib/Headers/openmp_wrappers/complex.h
M clang/lib/Headers/ptrauth.h
M clang/lib/Index/IndexSymbol.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/CMakeLists.txt
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseOpenMP.cpp
A clang/lib/Parse/ParseReflect.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaTypeTraits.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/Checkers/BasicObjCFoundationChecks.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/OpaqueSTLFunctionsModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/test/AST/ByteCode/builtin-align-cxx.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
A clang/test/AST/ByteCode/builtin-object-size-codegen.c
M clang/test/AST/ByteCode/builtin-object-size-codegen.cpp
M clang/test/AST/ByteCode/builtins.c
M clang/test/AST/ByteCode/c.c
M clang/test/AST/ByteCode/complex.c
M clang/test/AST/ByteCode/complex.cpp
A clang/test/AST/ByteCode/constexpr-steps.cpp
M clang/test/AST/ByteCode/constexpr.c
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/cxx26.cpp
M clang/test/AST/ByteCode/floats.cpp
A clang/test/AST/ByteCode/gh176549.cpp
M clang/test/AST/ByteCode/intap.cpp
M clang/test/AST/ByteCode/invalid.cpp
M clang/test/AST/ByteCode/memberpointers.cpp
M clang/test/AST/ByteCode/new-delete.cpp
A clang/test/AST/ByteCode/object-size-flex-array.c
A clang/test/AST/ByteCode/pass-object-size.c
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/vectors.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
A clang/test/AST/HLSL/Texture2D-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
A clang/test/AST/HLSL/ast-dump-availability-attr.hlsl
M clang/test/AST/HLSL/matrix-constructors.hlsl
A clang/test/AST/HLSL/matrix-elementexpr-tree-transform.hlsl
M clang/test/AST/HLSL/matrix-general-initializer.hlsl
A clang/test/AST/HLSL/matrix-member-access-scalar.hlsl
A clang/test/AST/HLSL/matrix-member-access-swizzle-ast-dump-json.hlsl
A clang/test/AST/HLSL/matrix-member-access-swizzle-ast-print.hlsl
A clang/test/AST/HLSL/matrix-member-access-swizzle.hlsl
A clang/test/AST/HLSL/pch_with_matrix_element_accessor.hlsl
M clang/test/AST/ast-dump-attr-json.cpp
A clang/test/AST/ast-print-overflow-behavior.cpp
A clang/test/AST/overflow-behavior-keywords-ast.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx-std-suppression.h
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/auto-obj-dtors-cfg-output.cpp
M clang/test/Analysis/builtin_bitcast.cpp
A clang/test/Analysis/cfg-assignment-eval-order.cpp
M clang/test/Analysis/concrete-address.c
A clang/test/Analysis/diagnostics/opaque-stl-functions-modeling.cpp
M clang/test/Analysis/dtor.cpp
M clang/test/Analysis/fixed-address-notes.c
A clang/test/Analysis/indirect-goto-basics.c
M clang/test/Analysis/misc-ps-eager-assume.m
M clang/test/Analysis/misc-ps-region-store.cpp
M clang/test/Analysis/misc-ps.m
M clang/test/Analysis/missing-bind-temporary.cpp
M clang/test/Analysis/pr22954.c
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
A clang/test/Analysis/store-union-aggregates.c
M clang/test/Analysis/suppress-dereferences-from-any-address-space.c
A clang/test/Analysis/switch-basics.c
M clang/test/Analysis/uninit-vals.cpp
A clang/test/Analysis/uninitialized-branch.c
M clang/test/C/C2y/n3369.c
A clang/test/C/C2y/n3605.c
A clang/test/C/C2y/n3605_1.c
A clang/test/C/C2y/n3605_2.c
M clang/test/CIR/CodeGen/agg-expr-lvalue.c
A clang/test/CIR/CodeGen/alloc-size.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/atomic-scoped.c
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/bitfields.cpp
A clang/test/CIR/CodeGen/builtin-floating-point.c
A clang/test/CIR/CodeGen/builtin-memchr.c
A clang/test/CIR/CodeGen/builtins-elementwise.c
A clang/test/CIR/CodeGen/builtins-x86.c
M clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
M clang/test/CIR/CodeGen/call.cpp
A clang/test/CIR/CodeGen/clear-cache.c
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/compound_literal.cpp
M clang/test/CIR/CodeGen/copy-constructor.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp
M clang/test/CIR/CodeGen/cxx-special-member-attr.cpp
A clang/test/CIR/CodeGen/default-func-attrs-cmd-line.cpp
M clang/test/CIR/CodeGen/derived-to-base.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
M clang/test/CIR/CodeGen/embed-expr.c
M clang/test/CIR/CodeGen/forrange.cpp
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-init.cpp
M clang/test/CIR/CodeGen/goto.cpp
M clang/test/CIR/CodeGen/if.cpp
M clang/test/CIR/CodeGen/inline-attributes.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
A clang/test/CIR/CodeGen/integer-overflow.c
M clang/test/CIR/CodeGen/label-values.c
M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/libc.c
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/CodeGen/misc-attrs.cpp
M clang/test/CIR/CodeGen/new.cpp
A clang/test/CIR/CodeGen/no-builtin-attr-automatic.cpp
A clang/test/CIR/CodeGen/no-builtin-attr.cpp
M clang/test/CIR/CodeGen/no-odr-use.cpp
A clang/test/CIR/CodeGen/offload-convergent-attr.cu
A clang/test/CIR/CodeGen/optsize-func-attr.cpp
M clang/test/CIR/CodeGen/pack-indexing.cpp
M clang/test/CIR/CodeGen/paren-init-list.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func-cast.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func-cmp.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
A clang/test/CIR/CodeGen/pred-info-builtins.c
A clang/test/CIR/CodeGen/ret-attrs.cpp
A clang/test/CIR/CodeGen/save-reg-params-func-attr.cpp
M clang/test/CIR/CodeGen/statement-exprs.c
A clang/test/CIR/CodeGen/static-local.cpp
M clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/template-specialization.cpp
M clang/test/CIR/CodeGen/temporary-materialization.cpp
M clang/test/CIR/CodeGen/ternary.cpp
A clang/test/CIR/CodeGen/trap-func-name-attr.cpp
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
M clang/test/CIR/CodeGen/try-catch.cpp
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/CodeGen/var-arg-aggregate.c
M clang/test/CIR/CodeGen/variable-decomposition.cpp
A clang/test/CIR/CodeGen/zero-call-used-regs-func-attr.cpp
M clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
R clang/test/CIR/CodeGenBuiltins/AArch64/neon/fullfp16.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceMinMaxIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512vbmi2-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlbf16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/cmp-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
A clang/test/CIR/CodeGenBuiltins/X86/rd-builtins.c
M clang/test/CIR/CodeGenBuiltins/builtin-fcmp-sse.c
M clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
A clang/test/CIR/CodeGenBuiltins/builtin-rotate.c
A clang/test/CIR/CodeGenBuiltins/builtin-setjmp-longjmp.c
A clang/test/CIR/CodeGenBuiltins/builtin-structured-binding-size.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-trivally-copyable.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-types-compatible.c
M clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
M clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
A clang/test/CIR/CodeGenCUDA/Inputs/cuda.h
A clang/test/CIR/CodeGenCUDA/filter-decl.cu
A clang/test/CIR/CodeGenCUDA/kernel-call.cu
A clang/test/CIR/CodeGenCUDA/kernel-stub-name.cu
A clang/test/CIR/CodeGenCUDA/nvptx-basic.cu
A clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl
M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenMP/not-yet-implemented.c
A clang/test/CIR/CodeGenOpenMP/omp-llvmir.c
M clang/test/CIR/CodeGenOpenMP/parallel.c
M clang/test/CIR/IR/atomic.cir
A clang/test/CIR/IR/cleanup-scope.cir
A clang/test/CIR/IR/eh-flat.cir
M clang/test/CIR/IR/invalid-atomic.cir
A clang/test/CIR/IR/invalid-eh-flat.cir
A clang/test/CIR/IR/invalid-static-local.cir
M clang/test/CIR/IR/invalid-try-catch.cir
A clang/test/CIR/IR/libc-memchr.cir
A clang/test/CIR/IR/static-local.cir
M clang/test/CIR/IR/try-catch.cir
M clang/test/CIR/Lowering/array.cpp
A clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
A clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
A clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
M clang/test/CIR/func-simple.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg10xx.cpp
M clang/test/CXX/drs/cwg11xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg15xx.cpp
M clang/test/CXX/drs/cwg16xx.cpp
A clang/test/CXX/drs/cwg1736.cpp
M clang/test/CXX/drs/cwg17xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg19xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
A clang/test/CXX/drs/cwg2026.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg22xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
A clang/test/CXX/drs/cwg2406.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
A clang/test/CXX/drs/cwg2881.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg30xx.cpp
A clang/test/CXX/drs/cwg329.cpp
A clang/test/CXX/drs/cwg390.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
A clang/test/CXX/drs/cwg98.cpp
M clang/test/CXX/drs/cwg9xx.cpp
M clang/test/ClangScanDeps/P1689.cppm
M clang/test/ClangScanDeps/header_stat_before_open.m
M clang/test/ClangScanDeps/headerwithdirname.cpp
M clang/test/ClangScanDeps/headerwithdirnamefollowedbyinclude.cpp
M clang/test/ClangScanDeps/macro-expansions.cpp
A clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
M clang/test/ClangScanDeps/modules.cpp
A clang/test/ClangScanDeps/prune-scanning-modules.m
M clang/test/ClangScanDeps/regular_cdb.cpp
M clang/test/ClangScanDeps/relative_directory.cpp
M clang/test/ClangScanDeps/subframework_header_dir_symlink.m
M clang/test/ClangScanDeps/target-filename.cpp
M clang/test/ClangScanDeps/vfsoverlay.cpp
A clang/test/CodeCompletion/objc-cast-parenthesized-expr.m
M clang/test/CodeGen/AArch64/neon-intrinsics.c
A clang/test/CodeGen/AArch64/neon/fullfp16.c
A clang/test/CodeGen/AArch64/neon/intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
M clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
M clang/test/CodeGen/AMDGPU/full-bf16.c
A clang/test/CodeGen/ARM/build-attributes.c
M clang/test/CodeGen/RISCV/math-builtins.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vwabdau.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/systemz-ppa2.c
A clang/test/CodeGen/WebAssembly/builtins-table-externref.c
A clang/test/CodeGen/WebAssembly/builtins-table-funcref.c
R clang/test/CodeGen/WebAssembly/builtins-table.c
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/attr-ifunc.c
M clang/test/CodeGen/attr-ifunc.cpp
A clang/test/CodeGen/attr-no-outline.c
M clang/test/CodeGen/builtins-arm64.c
M clang/test/CodeGen/builtins-extended-image.c
M clang/test/CodeGen/builtins-image-load.c
M clang/test/CodeGen/builtins-nvptx-ptx60.cu
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/builtins.c
A clang/test/CodeGen/compound-assign-atomic-bool.c
M clang/test/CodeGen/denormalfpmode-f32.c
M clang/test/CodeGen/denormalfpmode.c
M clang/test/CodeGen/fp-function-attrs.cpp
M clang/test/CodeGen/hexagon-linux-vararg.c
M clang/test/CodeGen/ifunc.c
A clang/test/CodeGen/mangle-ms-overflow-behavior.cpp
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/nvptx_attributes.c
A clang/test/CodeGen/overflow-behavior-types-extensions.c
A clang/test/CodeGen/overflow-behavior-types-operators.cpp
A clang/test/CodeGen/overflow-behavior-types-promotions.cpp
A clang/test/CodeGen/overflow-behavior-types-scl.c
A clang/test/CodeGen/overflow-behavior-types.c
A clang/test/CodeGen/overflow-behavior-types.cpp
M clang/test/CodeGen/paren-list-agg-init.cpp
M clang/test/CodeGen/ptrauth-intrinsics.c
A clang/test/CodeGen/riscv-be-data-layout.c
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGen/target-addrspace.cpp
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGen/ubsan-function-sugared.cpp
M clang/test/CodeGen/ubsan-function.cpp
M clang/test/CodeGenCUDA/amdgpu-bf16.cu
M clang/test/CodeGenCUDA/convergent.cu
M clang/test/CodeGenCUDA/flush-denormals.cu
M clang/test/CodeGenCUDA/link-builtin-bitcode-denormal-fp-mode.cu
M clang/test/CodeGenCUDA/propagate-attributes.cu
M clang/test/CodeGenCUDA/spirv-amdgcn-bf16.cu
M clang/test/CodeGenCXX/amdgcn-automatic-variable.cpp
M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
M clang/test/CodeGenCXX/builtins.cpp
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
A clang/test/CodeGenCXX/destructor-dead-on-return.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/exceptions-seh.cpp
M clang/test/CodeGenCXX/externc-ifunc-resolver.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
A clang/test/CodeGenCXX/reflection-mangle-itanium.cpp
A clang/test/CodeGenCXX/reflection-mangle-ms.cpp
A clang/test/CodeGenCXX/sanitize-trap-loop.cpp
M clang/test/CodeGenCXX/template-cxx20.cpp
A clang/test/CodeGenCXX/tmp-md-nodes3.cpp
A clang/test/CodeGenCXX/zos-typename.cpp
M clang/test/CodeGenCoroutines/coro-await-elidable.cpp
M clang/test/CodeGenHIP/amdgpu-barrier-type.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-load-monitor-templated.hip
M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
M clang/test/CodeGenHIP/hip_weak_alias.cpp
M clang/test/CodeGenHIP/printf.cpp
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M clang/test/CodeGenHIP/sanitize-undefined-null.hip
M clang/test/CodeGenHIP/spirv-amdgcn-ballot.cpp
M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BoolMatrix.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
A clang/test/CodeGenHLSL/builtins/WavePrefixProduct.hlsl
A clang/test/CodeGenHLSL/builtins/WavePrefixSum.hlsl
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/max-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/min-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/refract.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-store.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-store.hlsl
A clang/test/CodeGenHLSL/matrix_types.hlsl
A clang/test/CodeGenHLSL/resources-declared-only-once.hlsl
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-Sample.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleBias.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleCmp.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleCmpLevelZero.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleGrad.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleLevel.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_geps.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_matrix_align.hlsl
M clang/test/CodeGenHLSL/resources/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/semantics/semantic.explicit-mix-builtin.vs.hlsl
A clang/test/CodeGenHLSL/semantics/semantic.nested.vs.hlsl
A clang/test/CodeGenHLSL/sgep/array_load.hlsl
A clang/test/CodeGenHLSL/sgep/array_store.hlsl
A clang/test/CodeGenHLSL/sgep/load_global.hlsl
A clang/test/CodeGenHLSL/sgep/object_method.hlsl
A clang/test/CodeGenObjC/attr-no-outline.m
A clang/test/CodeGenObjCXX/arc-lifetime-rvalue-ref-binding.mm
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
A clang/test/CodeGenOpenCL/.gdb_history
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-debug-info-pointer-address-space.cl
M clang/test/CodeGenOpenCL/amdgpu-debug-info-variable-expression.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-asyncmark-errs.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-asyncmark.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-load-to-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-f16.cl
M clang/test/CodeGenOpenCL/check-atomic-alignment.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCL/fpmath.cl
M clang/test/CodeGenOpenCL/relaxed-fpmath.cl
M clang/test/CodeGenOpenCL/sqrt-fpmath.cl
M clang/test/CodeGenSYCL/function-attrs.cpp
M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
M clang/test/CoverageMapping/mcdc-nested-expr.cpp
M clang/test/DebugInfo/CXX/anon-union-vars.cpp
M clang/test/DebugInfo/CXX/bpf-structors.cpp
M clang/test/DebugInfo/CXX/codeview-unnamed.cpp
A clang/test/DebugInfo/CXX/ctor-homing-local-type.cpp
M clang/test/DebugInfo/CXX/gline-tables-only-codeview.cpp
M clang/test/DebugInfo/CXX/lambda-capture-packs.cpp
M clang/test/DebugInfo/CXX/lambda-this.cpp
M clang/test/DebugInfo/CXX/trivial_abi.cpp
M clang/test/DebugInfo/Generic/codeview-unnamed.c
M clang/test/DebugInfo/Generic/unused-types.c
M clang/test/DebugInfo/Generic/unused-types.cpp
A clang/test/Driver/Inputs/XROS1.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/XRSimulator1.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/XRSimulator1.0.sdk/usr/include/libxml/.keep
A clang/test/Driver/Inputs/basic_linux_tree/usr/bin/.keep
A clang/test/Driver/Inputs/basic_linux_tree/usr/include/x86_64-unknown-linux-gnu/.keep
A clang/test/Driver/Inputs/hipspv/lib/hip-device-lib/hipspv-spirv64-unknown-chipstar.bc
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/lib32/ilp32/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/lib32/ilp32d/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/lib64/lp64/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/lib64/lp64d/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/riscv64be-unknown-linux-gnu/bin/ld
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib32/ilp32/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib32/ilp32d/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib64/lp64/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib64/lp64d/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/usr/lib32/ilp32/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/usr/lib32/ilp32d/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/usr/lib64/lp64/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/usr/lib64/lp64d/.keep
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa-llvm/gfx90a/libclc.bc
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa-llvm/libclc.bc
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/libflang_rt.runtime.a
A clang/test/Driver/aarch64-mtune-apple-macos.c
M clang/test/Driver/aarch64-outliner.c
M clang/test/Driver/aarch64-v96a.c
M clang/test/Driver/aarch64-v97a.c
M clang/test/Driver/aix-as.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-toolchain-opencl.cl
M clang/test/Driver/arm-machine-outliner.c
M clang/test/Driver/cl-x86-flags.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/crash-diagnostics-dir-3.c
M clang/test/Driver/crash-diagnostics-dir.c
M clang/test/Driver/crash-ir-repro.cpp
M clang/test/Driver/crash-report-clang-cl.cpp
M clang/test/Driver/crash-report-header.h
M clang/test/Driver/crash-report-spaces.c
M clang/test/Driver/crash-report-with-asserts.c
M clang/test/Driver/crash-report.cpp
M clang/test/Driver/cuda-cross-compiling.c
M clang/test/Driver/cuda-detect.cu
M clang/test/Driver/darwin-fapple-link-rtlib.c
M clang/test/Driver/darwin-ld-lto.c
M clang/test/Driver/darwin-ld.c
M clang/test/Driver/darwin-sdk-vs-os-version.c
M clang/test/Driver/darwin-sdk-with-prefix.c
M clang/test/Driver/emit-reproducer.c
M clang/test/Driver/fdefine-target-os-macros.c
M clang/test/Driver/fuzzer.c
A clang/test/Driver/hip-device-libs-llvm-env.hip
M clang/test/Driver/hip-rdc-device-only.hip
M clang/test/Driver/hip-runtime-libs-linux.hip
M clang/test/Driver/hip-runtime-libs-msvc.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hip-toolchain-rdc-separate.hip
M clang/test/Driver/hip-toolchain-rdc.hip
M clang/test/Driver/hipspv-device-libs.hip
M clang/test/Driver/hipspv-link-static-library.hip
M clang/test/Driver/hipspv-pass-plugin.hip
A clang/test/Driver/hipspv-toolchain-rdc-separate.hip
M clang/test/Driver/hipspv-toolchain-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/test/Driver/incompatible_sysroot.c
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linux-cross.cpp
M clang/test/Driver/linux-header-search.cpp
M clang/test/Driver/lit.local.cfg
A clang/test/Driver/module-fgen-reduced-bmi-precompile.cppm
A clang/test/Driver/ms-anonymous-structs.c
A clang/test/Driver/offload.f90
M clang/test/Driver/opencl-libclc.cl
M clang/test/Driver/opencl.cl
M clang/test/Driver/openmp-offload-gpu.c
A clang/test/Driver/openmp-target-fast-flag.c
M clang/test/Driver/output-file-cleanup.c
A clang/test/Driver/print-enabled-extensions/riscv-spacemit-a100.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/Driver/reflection-requires-cxx26.cpp
A clang/test/Driver/riscv-be.c
M clang/test/Driver/riscv-cpus.c
A clang/test/Driver/riscv-outliner.c
A clang/test/Driver/sanitize-trap-loop.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/spirv-openmp-toolchain.c
M clang/test/Driver/spirv-tools-err.c
M clang/test/Driver/sycl-offload-jit.cpp
M clang/test/Driver/unsupported-option.c
A clang/test/Driver/unsupported-outliner.c
A clang/test/Driver/unsupported-target-vendor.c
M clang/test/Driver/wasm-features.c
M clang/test/Driver/x86-march.c
A clang/test/Driver/x86-outliner.c
M clang/test/Driver/x86-target-features.c
M clang/test/Driver/xros-driver-requires-darwin-host.c
M clang/test/ExtractAPI/objc_property.m
A clang/test/FixIt/fixit-missing-type-spec.c
M clang/test/Frontend/custom-diag-werror-interaction.c
M clang/test/Frontend/dependency-gen-phony.c
A clang/test/Frontend/ms-anon-structs-args.c
M clang/test/Frontend/x86-target-cpu.c
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_libdevice_declares.cpp
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/amdgcn_openmp_device_math.c
M clang/test/Headers/amdgcn_openmp_device_math_c.c
M clang/test/Headers/amdgcn_openmp_device_math_constexpr.cpp
M clang/test/Headers/gpu_disabled_math.cpp
M clang/test/Headers/gpuintrin.c
M clang/test/Headers/gpuintrin_lang.c
M clang/test/Headers/nvptx_device_math_complex.c
M clang/test/Headers/nvptx_device_math_complex.cpp
M clang/test/Headers/openmp-device-functions-bool.c
M clang/test/Headers/openmp_new_nothrow.cpp
M clang/test/Index/Core/index-source.cpp
A clang/test/Interpreter/access.cpp
M clang/test/Interpreter/disambiguate-decl-stmt.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M clang/test/Misc/target-invalid-cpu-note/x86.c
A clang/test/Modules/GH170429.cpp
M clang/test/Modules/module-file-modified.c
A clang/test/Modules/single-module-parse-mode-compiles.m
M clang/test/Modules/validate-file-content.m
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/amdgcn_weak_alias.c
M clang/test/OpenMP/amdgcn_weak_alias.cpp
A clang/test/OpenMP/codegen_attr_pgo.c
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/for_lastprivate_codegen.cpp
M clang/test/OpenMP/for_linear_codegen.cpp
M clang/test/OpenMP/for_private_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen_UDR.cpp
M clang/test/OpenMP/for_reduction_task_codegen.cpp
M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/parallel_copyin_codegen.cpp
M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_for_linear_codegen.cpp
M clang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_master_codegen.cpp
M clang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/parallel_private_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
M clang/test/OpenMP/parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/scope_codegen.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/sections_lastprivate_codegen.cpp
M clang/test/OpenMP/sections_private_codegen.cpp
M clang/test/OpenMP/sections_reduction_codegen.cpp
M clang/test/OpenMP/sections_reduction_task_codegen.cpp
M clang/test/OpenMP/simd_private_taskloop_codegen.cpp
M clang/test/OpenMP/single_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/single_private_codegen.cpp
M clang/test/OpenMP/target_data_use_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_in_reduction_codegen.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
M clang/test/OpenMP/target_map_codegen_34.cpp
M clang/test/OpenMP/target_map_codegen_35.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_member_expr_array_section_codegen.cpp
M clang/test/OpenMP/target_map_structptr_and_member_global.cpp
M clang/test/OpenMP/target_map_structptr_and_member_local.cpp
M clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/task_codegen.cpp
M clang/test/OpenMP/task_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_ast_print.cpp
M clang/test/OpenMP/taskloop_codegen.cpp
M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M clang/test/OpenMP/threadprivate_codegen.cpp
M clang/test/PCH/debug-info-pch-path.c
M clang/test/PCH/include-timestamp.cpp
M clang/test/PCH/modified-module-dependency.m
A clang/test/PCH/pch-input-path-independent.c
M clang/test/PCH/reloc.c
M clang/test/PCH/validate-file-content.m
M clang/test/PCH/verify_pch.m
A clang/test/Parser/parsing-reflection-with-blocks.cpp
A clang/test/Parser/parsing-reflection.cpp
M clang/test/Preprocessor/embed___has_embed_parsing_errors.c
M clang/test/Preprocessor/embed_dependencies.c
M clang/test/Preprocessor/has_include.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Sema/Inputs/lifetime-analysis.h
A clang/test/Sema/MicrosoftAnonymousStructs.c
A clang/test/Sema/attr-no-outline.c
A clang/test/Sema/attr-no-outline.cpp
A clang/test/Sema/attr-overflow-behavior-constexpr.cpp
A clang/test/Sema/attr-overflow-behavior-format-strings.c
A clang/test/Sema/attr-overflow-behavior-off.c
A clang/test/Sema/attr-overflow-behavior-templates.cpp
A clang/test/Sema/attr-overflow-behavior.c
A clang/test/Sema/attr-overflow-behavior.cpp
M clang/test/Sema/builtins-bcd-format-conversion.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/constant-builtins-2.c
M clang/test/Sema/constant-builtins.c
M clang/test/Sema/constexpr.c
M clang/test/Sema/format-strings-nonnull.c
M clang/test/Sema/format-strings.c
A clang/test/Sema/overflow-behavior-assignment-pedantic.c
A clang/test/Sema/overflow-behavior-function-boundary-default.c
A clang/test/Sema/overflow-behavior-keywords-off.c
A clang/test/Sema/overflow-behavior-keywords.c
M clang/test/Sema/ptrauth.c
M clang/test/Sema/sizeless-1.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
A clang/test/Sema/warn-lifetime-safety-cfg-bailout.cpp
M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
A clang/test/Sema/warn-lifetime-safety-fixits.cpp
A clang/test/Sema/warn-lifetime-safety-invalidations.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
M clang/test/Sema/warn-outof-range-assign-enum.c
M clang/test/Sema/warn-thread-safety-analysis.c
A clang/test/Sema/wasm-funcref-table.c
A clang/test/Sema/wave-reduce-builtins-validate-amdgpu.cl
M clang/test/SemaCUDA/vararg.cu
A clang/test/SemaCXX/GH167120.cpp
A clang/test/SemaCXX/address-space-new-delete.cpp
M clang/test/SemaCXX/alignof-sizeof-reference.cpp
M clang/test/SemaCXX/alloc-token.cpp
A clang/test/SemaCXX/builtin-bitreverseg.cpp
M clang/test/SemaCXX/builtin-bswapg.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constexpr-vectors-access-elements.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/ifunc-has-attribute.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/return-noreturn.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/warn-loop-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-format-attr-builtins.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
A clang/test/SemaHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
A clang/test/SemaHIP/builtins-amdgcn-gfx1250-load-monitor-templated.hip
A clang/test/SemaHIP/hip-builtin-lvalue-to-rvalue.hip
A clang/test/SemaHIP/shared-variable-too-large.hip
A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/WavePrefixProduct-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/WavePrefixSum-errors.hlsl
A clang/test/SemaHLSL/Texture2D-SampleBias.hlsl
A clang/test/SemaHLSL/Texture2D-SampleCmp.hlsl
A clang/test/SemaHLSL/Texture2D-SampleCmpLevelZero.hlsl
A clang/test/SemaHLSL/Texture2D-SampleGrad.hlsl
A clang/test/SemaHLSL/Texture2D-SampleLevel.hlsl
A clang/test/SemaHLSL/Texture2D-Sema.hlsl
M clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixSplatErrors.hlsl
A clang/test/SemaHLSL/matrix-member-access-errors.hlsl
A clang/test/SemaObjCXX/arc-lifetime-rvalue-ref-binding.mm
A clang/test/SemaOpenCL/amdgpu-variables-too-large-for-address-space.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
A clang/test/SemaOpenCL/builtins-amdgcn-s-wait-event.cl
M clang/test/SemaOpenCL/invalid-pipes-cl2.0.cl
M clang/test/SemaOpenCL/invalid-vector-literals.cl
M clang/test/TableGen/target-builtins-prototype-parser.td
M clang/test/lit.cfg.py
M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
M clang/test/utils/update_cc_test_checks/Inputs/explicit-template-instantiation.cpp.expected
M clang/tools/cir-opt/cir-opt.cpp
M clang/tools/cir-translate/cir-translate.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/unittests/AST/ByteCode/toAPValue.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
A clang/unittests/Analysis/CFGBackEdgesTest.cpp
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
A clang/unittests/Analysis/Scalable/EntityLinkageTest.cpp
A clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
A clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
A clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
M clang/unittests/Analysis/Scalable/Registries/MockTUSummaryBuilder.h
A clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
M clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp
A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest.cpp
A clang/unittests/Analysis/Scalable/TUSummaryBuilderTest.cpp
A clang/unittests/Analysis/Scalable/TestFixture.cpp
A clang/unittests/Analysis/Scalable/TestFixture.h
M clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestMacroExpansion.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
M clang/unittests/Tooling/DependencyScannerTest.cpp
M clang/utils/TableGen/CIRLoweringEmitter.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/analyzer/entrypoint.py
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/hacking.html
M compiler-rt/CMakeLists.txt
M compiler-rt/include/CMakeLists.txt
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
A compiler-rt/include/sanitizer/tysan_interface.h
M compiler-rt/include/sanitizer/ubsan_interface.h
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/asan/asan_allocator.h
M compiler-rt/lib/asan/asan_flags.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_malloc_win.cpp
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/arm/aeabi_uread4.S
A compiler-rt/lib/builtins/arm/aeabi_uread8.S
A compiler-rt/lib/builtins/arm/aeabi_uwrite4.S
A compiler-rt/lib/builtins/arm/aeabi_uwrite8.S
M compiler-rt/lib/builtins/cpu_model/x86.c
A compiler-rt/lib/builtins/ppc/init_ifuncs.c
M compiler-rt/lib/hwasan/hwasan_fuchsia.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator.h
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_internal.h
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_unwind_win.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
M compiler-rt/lib/scudo/standalone/common.h
M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c.inc
M compiler-rt/lib/tsan/rtl/CMakeLists.txt
A compiler-rt/lib/tsan/rtl/tsan_adaptive_delay.cpp
A compiler-rt/lib/tsan/rtl/tsan_adaptive_delay.h
M compiler-rt/lib/tsan/rtl/tsan_flags.inc
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
M compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/tests/unit/CMakeLists.txt
A compiler-rt/lib/tsan/tests/unit/tsan_percent_test.cpp
M compiler-rt/lib/ubsan/CMakeLists.txt
A compiler-rt/lib/ubsan/ubsan_loop_detect.cpp
A compiler-rt/test/asan/TestCases/AIX/lit.local.cfg.py
A compiler-rt/test/asan/TestCases/AIX/strict-init-order-warning.cpp
A compiler-rt/test/asan/TestCases/AIX/vec_malloc_calloc.cpp
M compiler-rt/test/asan/TestCases/Windows/heaprealloc_alloc_zero.cpp
A compiler-rt/test/asan/TestCases/Windows/rtlsizeheap_zero.cpp
M compiler-rt/test/asan/TestCases/initialization-bug-no-global.cpp
A compiler-rt/test/builtins/Unit/arm/aeabi_unaligned_access_test.c
A compiler-rt/test/builtins/Unit/ppc/aix_ifunc.c
M compiler-rt/test/cfi/CMakeLists.txt
M compiler-rt/test/cfi/lit.cfg.py
M compiler-rt/test/cfi/lit.site.cfg.py.in
A compiler-rt/test/cfi/trap_loop_signal_handler.inc
A compiler-rt/test/profile/AIX/ifunc.c
M compiler-rt/test/profile/instrprof-binary-correlate.c
M compiler-rt/test/ubsan/TestCases/Misc/Posix/static-link.cpp
M cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/Inputs/simplified_template_names.cpp
M cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/CMakeLists.txt
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.cpp
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test
A cross-project-tests/dtlto/path.test
M cross-project-tests/lit.cfg.py
M cross-project-tests/lit.site.cfg.py.in
M flang-rt/CMakeLists.txt
M flang-rt/README.md
M flang-rt/lib/cuda/CMakeLists.txt
M flang-rt/lib/cuda/allocator.cpp
A flang-rt/lib/cuda/stream.cpp
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/external-unit.cpp
M flang-rt/lib/runtime/file.cpp
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/iostat.cpp
M flang-rt/lib/runtime/pseudo-unit.cpp
M flang-rt/lib/runtime/time-intrinsic.cpp
M flang-rt/lib/runtime/unit.h
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/DefaultStream.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
M flang/docs/Directives.md
M flang/docs/Extensions.md
M flang/docs/FlangDriver.md
M flang/docs/GettingInvolved.md
A flang/docs/MeetingNotes/2025/2025-12-03.md
A flang/docs/MeetingNotes/2025/2025-12-17.md
A flang/docs/MeetingNotes/2026/2026-01-14.md
A flang/docs/MeetingNotes/2026/2026-01-21.md
A flang/docs/MeetingNotes/2026/2026-01-28.md
A flang/docs/MeetingNotes/2026/2026-02-11.md
A flang/docs/MeetingNotes/README.md
M flang/docs/conf.py
M flang/include/flang/Evaluate/check-expression.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
A flang/include/flang/Optimizer/Analysis/ArraySectionAnalyzer.h
M flang/include/flang/Optimizer/Builder/CUDAIntrinsicCall.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Character.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/OpenACC/Passes.td
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/Passes/Pipelines.h
A flang/include/flang/Optimizer/Support/LazySymbolTable.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/openmp-utils.h
M flang/include/flang/Parser/options.h
M flang/include/flang/Runtime/CUDA/allocator.h
A flang/include/flang/Runtime/CUDA/stream.h
M flang/include/flang/Runtime/character.h
M flang/include/flang/Runtime/iostat-consts.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/ReductionProcessor.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/lib/Optimizer/Analysis/ArraySectionAnalyzer.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Character.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.h
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
A flang/lib/Optimizer/OpenACC/Transforms/ACCDeclareActionConversion.cpp
M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/DeleteUnreachableTargets.cpp
M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/lib/Optimizer/Transforms/VScaleAttr.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/openmp-utils.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-coarray.cpp
M flang/lib/Semantics/check-data.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/module/__fortran_builtins.f90
A flang/module/cuda_runtime_api.f90
M flang/module/iso_c_binding.f90
M flang/test/Analysis/AliasAnalysis/alias-analysis-cray-pointers.fir
M flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir
A flang/test/Analysis/AliasAnalysis/modref-call-after-external-name-conversion.fir
M flang/test/Analysis/AliasAnalysis/ptr-component.fir
A flang/test/Driver/asm-error-fix.s
M flang/test/Driver/func-attr-fast-math.f90
M flang/test/Driver/func-attr.f90
M flang/test/Fir/CUDA/cuda-device-func-transform.mlir
A flang/test/Fir/OpenACC/declare-action-conversion.fir
M flang/test/Fir/OpenACC/openacc-mappable.fir
A flang/test/Fir/declare_value-codegen.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/invalid.fir
M flang/test/Fir/mem2reg.mlir
M flang/test/Fir/select.fir
M flang/test/HLFIR/inline-hlfir-assign.fir
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
A flang/test/HLFIR/order_assignments/where-array-sections.f90
M flang/test/HLFIR/order_assignments/where-fusing-scheduling.f90
M flang/test/HLFIR/order_assignments/where-scheduling.f90
M flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Integration/ivdep.f90
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
A flang/test/Lower/CUDA/cuda-default-stream.cuf
M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
A flang/test/Lower/HLFIR/elemental-result-length-len-folding.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/function-return-destroy.f90
M flang/test/Lower/HLFIR/ivdep-elemental.f90
M flang/test/Lower/HLFIR/ivdep-where.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/where.f90
A flang/test/Lower/Intrinsics/c_f_strpointer.f90
M flang/test/Lower/Intrinsics/exit.f90
A flang/test/Lower/Intrinsics/f_c_string.f90
M flang/test/Lower/OpenACC/acc-cache.f90
A flang/test/Lower/OpenACC/acc-no-create-array-section.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenMP/Todo/affinity-clause.f90
A flang/test/Lower/OpenMP/Todo/multiple-types-declare_reduction.f90
R flang/test/Lower/OpenMP/Todo/omp-declare-simd.f90
A flang/test/Lower/OpenMP/Todo/reduction-character-dynamic-length.f90
A flang/test/Lower/OpenMP/declare-reduction-character-allocatable.f90
A flang/test/Lower/OpenMP/fuse01.f90
A flang/test/Lower/OpenMP/fuse02.f90
M flang/test/Lower/OpenMP/order-clause.f90
M flang/test/Lower/OpenMP/simd-linear.f90
M flang/test/Lower/OpenMP/simd.f90
A flang/test/Lower/OpenMP/target-dead-code.f90
M flang/test/Lower/OpenMP/target_cpu_features.f90
A flang/test/Lower/OpenMP/task-affinity.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/dense-attributed-array.f90
M flang/test/Lower/derived-pointer-components.f90
M flang/test/Lower/derived-type-finalization.f90
A flang/test/Lower/derived-type-sequence-alias-assign.f90
M flang/test/Lower/derived-types.f90
M flang/test/Lower/do-while-to-scf-while.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
M flang/test/Lower/dummy-argument-contiguous.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/dummy-argument-optional.f90
M flang/test/Lower/dummy-arguments.f90
M flang/test/Lower/dummy-procedure-character.f90
M flang/test/Lower/dummy-procedure-in-entry.f90
M flang/test/Lower/dummy-procedure.f90
M flang/test/Lower/equivalence-1.f90
M flang/test/Lower/equivalence-2.f90
M flang/test/Lower/equivalence-with-host-assoc.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/explicit-interface-results.f90
M flang/test/Lower/ext-proc-as-actual-argument-1.f90
M flang/test/Lower/ext-proc-as-actual-argument-2.f90
M flang/test/Lower/fail_image.f90
M flang/test/Lower/forall/array-constructor.f90
M flang/test/Lower/forall/array-pointer.f90
M flang/test/Lower/forall/array-subscripts.f90
M flang/test/Lower/forall/character-1.f90
M flang/test/Lower/forall/degenerate.f90
M flang/test/Lower/forall/forall-2.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/goto-statement.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-statement-clean-ups.f90
M flang/test/Lower/ivdep-array.f90
M flang/test/Lower/ivdep.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/return-statement.f90
M flang/test/Lower/stop-statement.f90
M flang/test/Lower/while_loop.f90
A flang/test/Parser/OpenMP/cont-in-cond-comp.f
M flang/test/Parser/OpenMP/sentinels.f
A flang/test/Parser/compiler-directive-sentinel.f90
M flang/test/Parser/continuation-in-conditional-compilation.f
A flang/test/Semantics/OpenMP/allocate_do.f90
A flang/test/Semantics/OpenMP/allocate_do1.f90
A flang/test/Semantics/OpenMP/common-block_copyin.f90
M flang/test/Semantics/OpenMP/compiler-directive.f90
A flang/test/Semantics/OpenMP/declare-reduction-derived-module.f90
M flang/test/Semantics/OpenMP/do10.f90
A flang/test/Semantics/OpenMP/implicit_linear_symbols.f90
A flang/test/Semantics/OpenMP/lastprivate-intent-in-pointer.f90
A flang/test/Semantics/OpenMP/local-variables-1.f90
A flang/test/Semantics/OpenMP/local-variables-2.f90
A flang/test/Semantics/OpenMP/nested_parallel_sections_valid.f90
M flang/test/Semantics/OpenMP/workshare04.f90
M flang/test/Semantics/OpenMP/workshare05.f90
A flang/test/Semantics/ac-impl-do-data-ptr.f90
M flang/test/Semantics/bug1214.cuf
A flang/test/Semantics/bug178786.f90
A flang/test/Semantics/bug178813.f90
A flang/test/Semantics/bug179580.f90
A flang/test/Semantics/bug2131.cuf
A flang/test/Semantics/bug2131b.cuf
A flang/test/Semantics/bug2174.f90
A flang/test/Semantics/bug2203.f90
A flang/test/Semantics/c_f_strpointer.f90
A flang/test/Semantics/cuf17.cuf
A flang/test/Semantics/f_c_string.f90
M flang/test/Semantics/ignore_tkr01.f90
A flang/test/Semantics/ignore_tkr05.f90
A flang/test/Transforms/OpenMP/delete-unreachable-targets.mlir
M flang/test/Transforms/licm.fir
A flang/test/Transforms/vscale-attr.fir
M flang/test/lit.cfg.py
M flang/tools/bbc/bbc.cpp
M flang/tools/f18/CMakeLists.txt
M flang/tools/flang-driver/driver.cpp
M flang/unittests/Optimizer/CMakeLists.txt
M libc/CMakeLists.txt
M libc/benchmarks/CMakeLists.txt
M libc/benchmarks/gpu/CMakeLists.txt
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/baremetal/config.json
M libc/config/config.json
A libc/config/gpu/spirv/entrypoints.txt
A libc/config/gpu/spirv/headers.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/dev/printf_behavior.rst
M libc/docs/dev/undefined_behavior.rst
M libc/docs/full_host_build.rst
M libc/docs/gpu/building.rst
M libc/docs/gpu/rpc.rst
M libc/docs/headers/math/index.rst
M libc/docs/headers/time.rst
M libc/include/llvm-libc-macros/math-macros.h
M libc/include/llvm-libc-macros/signal-macros.h
M libc/include/llvm-libc-macros/time-macros.h
M libc/include/llvm-libc-types/fenv_t.h
M libc/lib/CMakeLists.txt
M libc/shared/math.h
A libc/shared/math/bf16add.h
A libc/shared/math/bf16addf.h
A libc/shared/math/bf16addf128.h
A libc/shared/math/bf16divf.h
A libc/shared/math/bf16divl.h
A libc/shared/math/bf16fmaf.h
A libc/shared/math/bf16fmal.h
A libc/shared/math/canonicalize.h
A libc/shared/math/canonicalizebf16.h
A libc/shared/math/canonicalizef.h
A libc/shared/math/canonicalizef128.h
A libc/shared/math/canonicalizef16.h
A libc/shared/math/canonicalizel.h
A libc/shared/math/f16add.h
A libc/shared/math/f16addf.h
A libc/shared/math/f16addf128.h
A libc/shared/math/f16addl.h
A libc/shared/math/f16fmaf.h
A libc/shared/math/f16fmaf128.h
A libc/shared/math/f16sqrt.h
A libc/shared/math/f16sqrtf.h
A libc/shared/math/ffma.h
A libc/shared/math/ffmal.h
A libc/shared/math/hypotf16.h
A libc/shared/math/llogbl.h
A libc/shared/math/log10f.h
A libc/shared/math/log10f16.h
A libc/shared/math/log1pf.h
A libc/shared/math/log2f.h
A libc/shared/math/log2f16.h
A libc/shared/math/logb.h
A libc/shared/math/logbl.h
A libc/shared/math/pow.h
A libc/shared/math/powf.h
A libc/shared/math/sincos.h
A libc/shared/math/sincosf.h
A libc/shared/math/sinpif16.h
A libc/shared/math/sqrtf.h
A libc/shared/math/sqrtf128.h
A libc/shared/math/tanf16.h
A libc/shared/math/tanhf.h
A libc/shared/math/tanhf16.h
A libc/shared/math/tanpif.h
M libc/shared/rpc.h
A libc/shared/rpc_dispatch.h
M libc/shared/rpc_opcodes.h
M libc/shared/rpc_util.h
M libc/src/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/bit.h
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/OSUtil/gpu/exit.cpp
M libc/src/__support/OSUtil/gpu/io.cpp
M libc/src/__support/ctype_utils.h
M libc/src/__support/fixed_point/fx_bits.h
M libc/src/__support/macros/properties/architectures.h
M libc/src/__support/macros/properties/cpu_features.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/acos.h
M libc/src/__support/math/acosf.h
M libc/src/__support/math/acosf16.h
M libc/src/__support/math/acosh_float_constants.h
M libc/src/__support/math/acoshf.h
M libc/src/__support/math/acoshf16.h
M libc/src/__support/math/acoshf_utils.h
M libc/src/__support/math/acospif16.h
M libc/src/__support/math/asin.h
M libc/src/__support/math/asin_utils.h
M libc/src/__support/math/asinf.h
M libc/src/__support/math/asinf16.h
M libc/src/__support/math/asinhf.h
M libc/src/__support/math/asinhf16.h
M libc/src/__support/math/atan.h
M libc/src/__support/math/atan2.h
M libc/src/__support/math/atan2f.h
M libc/src/__support/math/atan2f128.h
M libc/src/__support/math/atan2f_float.h
M libc/src/__support/math/atan_utils.h
M libc/src/__support/math/atanf.h
M libc/src/__support/math/atanf16.h
M libc/src/__support/math/atanf_float.h
M libc/src/__support/math/atanhf.h
M libc/src/__support/math/atanhf16.h
A libc/src/__support/math/bf16add.h
A libc/src/__support/math/bf16addf.h
A libc/src/__support/math/bf16addf128.h
A libc/src/__support/math/bf16divf.h
A libc/src/__support/math/bf16divl.h
A libc/src/__support/math/bf16fmaf.h
A libc/src/__support/math/bf16fmal.h
A libc/src/__support/math/canonicalize.h
A libc/src/__support/math/canonicalizebf16.h
A libc/src/__support/math/canonicalizef.h
A libc/src/__support/math/canonicalizef128.h
A libc/src/__support/math/canonicalizef16.h
A libc/src/__support/math/canonicalizel.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cbrtf.h
M libc/src/__support/math/common_constants.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/cosf.h
M libc/src/__support/math/cosf16.h
M libc/src/__support/math/coshf.h
M libc/src/__support/math/coshf16.h
M libc/src/__support/math/cospif.h
M libc/src/__support/math/cospif16.h
M libc/src/__support/math/dfmaf128.h
M libc/src/__support/math/dfmal.h
M libc/src/__support/math/dsqrtl.h
M libc/src/__support/math/erff.h
M libc/src/__support/math/exp.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp10_float16_constants.h
M libc/src/__support/math/exp10f.h
M libc/src/__support/math/exp10f16.h
M libc/src/__support/math/exp10f16_utils.h
M libc/src/__support/math/exp10f_utils.h
M libc/src/__support/math/exp10m1f.h
M libc/src/__support/math/exp10m1f16.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/exp2f.h
M libc/src/__support/math/exp2f16.h
M libc/src/__support/math/exp2m1f.h
M libc/src/__support/math/exp2m1f16.h
M libc/src/__support/math/exp_constants.h
M libc/src/__support/math/exp_float_constants.h
M libc/src/__support/math/exp_utils.h
M libc/src/__support/math/expf.h
M libc/src/__support/math/expf16.h
M libc/src/__support/math/expf16_utils.h
M libc/src/__support/math/expm1.h
M libc/src/__support/math/expm1f.h
M libc/src/__support/math/expm1f16.h
M libc/src/__support/math/expxf16_utils.h
A libc/src/__support/math/f16add.h
A libc/src/__support/math/f16addf.h
A libc/src/__support/math/f16addf128.h
A libc/src/__support/math/f16addl.h
M libc/src/__support/math/f16fma.h
A libc/src/__support/math/f16fmaf.h
A libc/src/__support/math/f16fmaf128.h
M libc/src/__support/math/f16fmal.h
A libc/src/__support/math/f16sqrt.h
A libc/src/__support/math/f16sqrtf.h
M libc/src/__support/math/f16sqrtl.h
A libc/src/__support/math/ffma.h
A libc/src/__support/math/ffmal.h
M libc/src/__support/math/frexpf.h
M libc/src/__support/math/frexpf128.h
M libc/src/__support/math/frexpf16.h
M libc/src/__support/math/fsqrt.h
M libc/src/__support/math/fsqrtf128.h
M libc/src/__support/math/fsqrtl.h
M libc/src/__support/math/hypotf.h
A libc/src/__support/math/hypotf16.h
M libc/src/__support/math/ilogb.h
M libc/src/__support/math/ilogbf128.h
M libc/src/__support/math/ilogbl.h
M libc/src/__support/math/inv_trigf_utils.h
M libc/src/__support/math/ldexpf.h
M libc/src/__support/math/ldexpf128.h
M libc/src/__support/math/ldexpf16.h
M libc/src/__support/math/llogb.h
M libc/src/__support/math/llogbf.h
M libc/src/__support/math/llogbf128.h
M libc/src/__support/math/llogbf16.h
A libc/src/__support/math/llogbl.h
M libc/src/__support/math/log.h
M libc/src/__support/math/log10.h
A libc/src/__support/math/log10f.h
A libc/src/__support/math/log10f16.h
M libc/src/__support/math/log1p.h
A libc/src/__support/math/log1pf.h
M libc/src/__support/math/log2.h
A libc/src/__support/math/log2f.h
A libc/src/__support/math/log2f16.h
A libc/src/__support/math/logb.h
M libc/src/__support/math/logbf.h
M libc/src/__support/math/logbf128.h
M libc/src/__support/math/logbf16.h
A libc/src/__support/math/logbl.h
M libc/src/__support/math/logf.h
M libc/src/__support/math/logf16.h
A libc/src/__support/math/pow.h
A libc/src/__support/math/powf.h
M libc/src/__support/math/range_reduction.h
M libc/src/__support/math/range_reduction_double_common.h
M libc/src/__support/math/range_reduction_double_fma.h
M libc/src/__support/math/range_reduction_double_nofma.h
M libc/src/__support/math/range_reduction_fma.h
M libc/src/__support/math/rsqrtf.h
M libc/src/__support/math/rsqrtf16.h
M libc/src/__support/math/sin.h
A libc/src/__support/math/sincos.h
M libc/src/__support/math/sincos_eval.h
A libc/src/__support/math/sincosf.h
M libc/src/__support/math/sincosf16_utils.h
M libc/src/__support/math/sincosf_float_eval.h
M libc/src/__support/math/sincosf_utils.h
M libc/src/__support/math/sinf.h
M libc/src/__support/math/sinf16.h
M libc/src/__support/math/sinhf.h
M libc/src/__support/math/sinhf16.h
M libc/src/__support/math/sinpif.h
A libc/src/__support/math/sinpif16.h
M libc/src/__support/math/sqrt.h
A libc/src/__support/math/sqrtf.h
A libc/src/__support/math/sqrtf128.h
M libc/src/__support/math/sqrtf16.h
M libc/src/__support/math/tan.h
M libc/src/__support/math/tanf.h
A libc/src/__support/math/tanf16.h
A libc/src/__support/math/tanhf.h
A libc/src/__support/math/tanhf16.h
A libc/src/__support/math/tanpif.h
A libc/src/__support/mathvec/CMakeLists.txt
A libc/src/__support/mathvec/common_constants.h
A libc/src/__support/mathvec/expf.h
A libc/src/__support/mathvec/expf_utils.h
M libc/src/__support/str_to_float.h
M libc/src/__support/time/gpu/time_utils.cpp
M libc/src/__support/time/gpu/time_utils.h
M libc/src/__support/wctype/CMakeLists.txt
A libc/src/__support/wctype/wctype_classification_utils.cpp
M libc/src/__support/wctype/wctype_classification_utils.h
M libc/src/__support/wctype_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16add.cpp
M libc/src/math/generic/bf16addf.cpp
M libc/src/math/generic/bf16addf128.cpp
M libc/src/math/generic/bf16divf.cpp
M libc/src/math/generic/bf16divl.cpp
M libc/src/math/generic/bf16fmaf.cpp
M libc/src/math/generic/bf16fmal.cpp
M libc/src/math/generic/canonicalize.cpp
M libc/src/math/generic/canonicalizebf16.cpp
M libc/src/math/generic/canonicalizef.cpp
M libc/src/math/generic/canonicalizef128.cpp
M libc/src/math/generic/canonicalizef16.cpp
M libc/src/math/generic/canonicalizel.cpp
M libc/src/math/generic/f16add.cpp
M libc/src/math/generic/f16addf.cpp
M libc/src/math/generic/f16addf128.cpp
M libc/src/math/generic/f16addl.cpp
M libc/src/math/generic/f16fmaf.cpp
M libc/src/math/generic/f16fmaf128.cpp
M libc/src/math/generic/f16sqrt.cpp
M libc/src/math/generic/f16sqrtf.cpp
M libc/src/math/generic/ffma.cpp
M libc/src/math/generic/ffmal.cpp
M libc/src/math/generic/hypotf16.cpp
M libc/src/math/generic/llogbl.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log10f16.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/log2f16.cpp
M libc/src/math/generic/logb.cpp
M libc/src/math/generic/logbl.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sinpif16.cpp
M libc/src/math/generic/sqrtf.cpp
M libc/src/math/generic/sqrtf128.cpp
M libc/src/math/generic/tanf16.cpp
M libc/src/math/generic/tanhf.cpp
M libc/src/math/generic/tanhf16.cpp
M libc/src/math/generic/tanpif.cpp
M libc/src/math/generic/tanpif16.cpp
A libc/src/mathvec/CMakeLists.txt
A libc/src/mathvec/expf.h
A libc/src/mathvec/generic/CMakeLists.txt
A libc/src/mathvec/generic/expf.cpp
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/rename.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/printf_core/converter_utils.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/write_int_converter.h
M libc/src/stdlib/gpu/abort.cpp
M libc/src/stdlib/gpu/system.cpp
M libc/src/string/memory_utils/aarch64/inline_memcpy.h
M libc/src/string/memory_utils/generic/inline_strlen.h
M libc/src/string/memory_utils/x86_64/inline_strlen.h
M libc/startup/gpu/CMakeLists.txt
M libc/test/CMakeLists.txt
M libc/test/UnitTest/FEnvSafeTest.cpp
M libc/test/UnitTest/PrintfMatcher.cpp
A libc/test/UnitTest/SIMDMatcher.h
M libc/test/include/complex_test.cpp
M libc/test/integration/src/__support/GPU/fixedstack_test.cpp
M libc/test/integration/src/__support/GPU/match.cpp
M libc/test/integration/src/__support/GPU/scan_reduce.cpp
M libc/test/integration/src/__support/GPU/shuffle.cpp
M libc/test/integration/src/stdio/gpu/printf_test.cpp
M libc/test/integration/src/stdlib/gpu/malloc_stress.cpp
M libc/test/integration/startup/gpu/init_fini_array_test.cpp
M libc/test/integration/startup/gpu/rpc_interface_test.cpp
M libc/test/integration/startup/gpu/rpc_lane_test.cpp
M libc/test/integration/startup/gpu/rpc_stream_test.cpp
M libc/test/integration/startup/gpu/rpc_test.cpp
A libc/test/lit.cfg.py
A libc/test/lit.site.cfg.py.in
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/wctype_utils_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/ceilf128_test.cpp
M libc/test/src/math/exhaustive/bfloat16_add_test.cpp
M libc/test/src/math/exhaustive/bfloat16_div_test.cpp
M libc/test/src/math/exhaustive/bfloat16_mul_test.cpp
M libc/test/src/math/exhaustive/bfloat16_sub_test.cpp
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/SubTest.h
A libc/test/src/mathvec/CMakeLists.txt
A libc/test/src/mathvec/expf_test.cpp
M libc/test/src/stdio/fopen_test.cpp
M libc/test/src/stdio/printf_core/parser_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdlib/strtof_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/strings/wide_read_memory_test.cpp
M libc/test/src/time/TmMatcher.h
M libc/test/src/time/gmtime_r_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/mktime_test.cpp
M libc/utils/docgen/wctype.yaml
A libc/utils/libctest/__init__.py
A libc/utils/libctest/format.py
M libc/utils/wctype_utils/classification/gen_classification_data.py
M libclc/CMakeLists.txt
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/math.h
A libclc/clc/include/clc/relational/clc_issubnormal.h
M libclc/clc/include/clc/relational/relational.h
M libclc/clc/lib/amdgcn/workitem/clc_get_global_offset.cl
M libclc/clc/lib/amdgcn/workitem/clc_get_work_dim.cl
M libclc/clc/lib/amdgpu/math/clc_sqrt.cl
M libclc/clc/lib/generic/SOURCES
M libclc/clc/lib/generic/math/clc_fma.cl
R libclc/clc/lib/generic/math/clc_fma.inc
M libclc/clc/lib/generic/math/clc_remquo.cl
M libclc/clc/lib/generic/math/clc_remquo.inc
R libclc/clc/lib/generic/math/clc_sw_fma.cl
A libclc/clc/lib/generic/relational/clc_issubnormal.cl
R libclc/clc/lib/r600/SOURCES
R libclc/clc/lib/r600/math/clc_native_rsqrt.cl
R libclc/clc/lib/r600/math/clc_rsqrt.cl
M libclc/clc/lib/spirv/SOURCES
R libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
M libclc/cmake/modules/AddLibclc.cmake
M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_global_size.cl
M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_local_size.cl
M libclc/opencl/lib/amdgcn/mem_fence/fence.cl
M libclc/opencl/lib/amdgcn/workitem/get_local_size.cl
M libclc/opencl/lib/amdgcn/workitem/get_num_groups.cl
M libclc/opencl/lib/clspv/SOURCES
R libclc/opencl/lib/clspv/subnormal_config.cl
M libclc/opencl/lib/generic/SOURCES
M libclc/opencl/lib/generic/subnormal_config.cl
R libclc/opencl/lib/generic/subnormal_disable.ll
R libclc/opencl/lib/generic/subnormal_helper_func.ll
R libclc/opencl/lib/generic/subnormal_use_default.ll
M libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
R libclc/opencl/lib/r600/SOURCES
R libclc/opencl/lib/r600/SOURCES_3.9
R libclc/opencl/lib/r600/image/get_image_attributes_impl.ll
R libclc/opencl/lib/r600/image/get_image_channel_data_type.cl
R libclc/opencl/lib/r600/image/get_image_channel_order.cl
R libclc/opencl/lib/r600/image/get_image_depth.cl
R libclc/opencl/lib/r600/image/get_image_dim.cl
R libclc/opencl/lib/r600/image/get_image_height.cl
R libclc/opencl/lib/r600/image/get_image_width.cl
R libclc/opencl/lib/r600/image/read_image_impl.ll
R libclc/opencl/lib/r600/image/read_imagef.cl
R libclc/opencl/lib/r600/image/read_imagei.cl
R libclc/opencl/lib/r600/image/read_imageui.cl
R libclc/opencl/lib/r600/image/write_image_impl.ll
R libclc/opencl/lib/r600/image/write_imagef.cl
R libclc/opencl/lib/r600/image/write_imagei.cl
R libclc/opencl/lib/r600/image/write_imageui.cl
R libclc/opencl/lib/r600/synchronization/barrier.cl
R libclc/opencl/lib/r600/workitem/get_global_offset.cl
R libclc/opencl/lib/r600/workitem/get_global_size.cl
R libclc/opencl/lib/r600/workitem/get_group_id.cl
R libclc/opencl/lib/r600/workitem/get_local_id.cl
R libclc/opencl/lib/r600/workitem/get_local_size.cl
R libclc/opencl/lib/r600/workitem/get_num_groups.cl
R libclc/opencl/lib/r600/workitem/get_work_dim.cl
M libclc/opencl/lib/spirv/SOURCES
R libclc/opencl/lib/spirv/math/fma.cl
R libclc/opencl/lib/spirv/subnormal_config.cl
M libclc/www/index.html
M libcxx/docs/CodingGuidelines.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/generate_n.h
M libcxx/include/__algorithm/ranges_fold.h
M libcxx/include/__algorithm/ranges_reverse_copy.h
A libcxx/include/__algorithm/ranges_shift_right.h
M libcxx/include/__algorithm/shift_right.h
M libcxx/include/__algorithm/unwrap_range.h
M libcxx/include/__atomic/atomic_waitable_traits.h
M libcxx/include/__charconv/from_chars_integral.h
M libcxx/include/__chrono/duration.h
M libcxx/include/__configuration/availability.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/range_default_formatter.h
M libcxx/include/__format/range_format.h
M libcxx/include/__format/unicode.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/operations.h
M libcxx/include/__fwd/format.h
A libcxx/include/__iterator/capacity_aware_iterator.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/aix.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/newlib.h
M libcxx/include/__locale_dir/support/no_locale/characters.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__stop_token/atomic_unique_lock.h
M libcxx/include/__tree
M libcxx/include/__type_traits/make_transparent.h
M libcxx/include/__vector/vector.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/future
M libcxx/include/iomanip
M libcxx/include/map
M libcxx/include/module.modulemap.in
M libcxx/include/optional
M libcxx/include/stdatomic.h
M libcxx/include/version
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/modules/std/algorithm.inc
M libcxx/src/atomic.cpp
M libcxx/src/hash.cpp
M libcxx/src/memory.cpp
M libcxx/test/benchmarks/GenerateInput.h
M libcxx/test/benchmarks/adjacent_view_begin.bench.cpp
R libcxx/test/benchmarks/algorithms/make_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/make_heap_then_sort_heap.bench.cpp
M libcxx/test/benchmarks/algorithms/min.bench.cpp
M libcxx/test/benchmarks/algorithms/minmax.bench.cpp
R libcxx/test/benchmarks/algorithms/pop_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/push_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_make_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_make_heap_then_sort_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_pop_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_push_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_sort_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/sort_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/make_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/make_heap_then_sort_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/pop_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/push_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/sort_heap.bench.cpp
M libcxx/test/benchmarks/containers/sequence/sequence_container_benchmarks.h
M libcxx/test/benchmarks/format/format_to.bench.cpp
M libcxx/test/benchmarks/format/format_to_n.bench.cpp
M libcxx/test/benchmarks/format/formatted_size.bench.cpp
M libcxx/test/benchmarks/format/formatter_float.bench.cpp
M libcxx/test/benchmarks/format/formatter_int.bench.cpp
M libcxx/test/benchmarks/format/std_format_spec_string_unicode.bench.cpp
M libcxx/test/benchmarks/format/std_format_spec_string_unicode_escape.bench.cpp
M libcxx/test/benchmarks/spec.gen.py
M libcxx/test/benchmarks/stop_token.bench.cpp
A libcxx/test/extensions/libcxx/depr/depr.c.headers/include_stdatomic_as_c.sh.cpp
M libcxx/test/libcxx-03/transitive_includes/to_csv.py
A libcxx/test/libcxx/algorithms/alg.modifying.operations/alg.shift/assert.shift_right.pass.cpp
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_iterator.compile.pass.cpp
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_iterator.compile.pass.cpp
A libcxx/test/libcxx/atomics/atomics.syn/wait.native.compile.pass.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/arithmetic.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/assert.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/comparison.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/contiguous.verify.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/dereference.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/types.compile.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_traits.compile.pass.cpp
M libcxx/test/libcxx/iterators/iterator_with_data.pass.cpp
M libcxx/test/libcxx/iterators/product_iterator.pass.cpp
M libcxx/test/libcxx/iterators/unwrap_iter.pass.cpp
A libcxx/test/libcxx/thread/futures/launch_any_deprecated.verify.cpp
M libcxx/test/libcxx/thread/nodiscard.verify.cpp
M libcxx/test/libcxx/transitive_includes/to_csv.py
A libcxx/test/libcxx/utilities/optional/optional.iterator/assert.arithmetic.pass.cpp
A libcxx/test/libcxx/utilities/optional/optional.iterator/iterator.compile.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_point.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_point.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_stable_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/ranges_sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/ranges_shuffle.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/ranges.reverse.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges.shift_left.pass.cpp
A libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges_shift_right.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/shift_left.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/shift_right.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/binary_transform.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.binary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.unary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/unary_transform.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy_pred.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/ranges.find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/ranges.find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/ranges.is_permutation.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.starts_with/ranges.starts_with.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/ranges_equal_range.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_inplace_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/requires_forward_iterator.verify.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.nth.element/ranges_nth_element.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/includes/ranges_includes.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/ranges_set_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/ranges_set_intersection.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_complexity.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/ranges_set_symmetric_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.union/ranges_set_union.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/ranges_partial_sort_copy.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/ranges_partial_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/pstl.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/ranges.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.stable_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/ranges.stable.sort.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/atomics/atomics.ref/address.pass.cpp
M libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp
M libcxx/test/std/atomics/atomics.ref/compare_exchange_weak.pass.cpp
M libcxx/test/std/atomics/atomics.ref/convert.pass.cpp
M libcxx/test/std/atomics/atomics.ref/ctor.pass.cpp
M libcxx/test/std/atomics/atomics.ref/deduction.pass.cpp
M libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
M libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
M libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp
M libcxx/test/std/atomics/atomics.ref/load.pass.cpp
M libcxx/test/std/atomics/atomics.ref/notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.ref/notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.ref/required_alignment.pass.cpp
M libcxx/test/std/atomics/atomics.ref/requires-trivially-copyable.verify.cpp
M libcxx/test/std/atomics/atomics.ref/store.pass.cpp
M libcxx/test/std/atomics/atomics.ref/test_helper.h
M libcxx/test/std/atomics/atomics.ref/wait.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_exceptions.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_exceptions.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.operations/distance.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/lwg3664.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/indirectcallable/projected/projected.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.bidir/bidirectional_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.forward/forward_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.input/input_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.iterator/input_or_output_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/random_access_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.swap/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/arrow.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/assign.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/count.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.conv.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/decrement.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/deref.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/member_types.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.default_sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.eq.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.size.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/plus.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/subscript.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/three_way_compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/types.h
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/sized_sentinel.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_swap.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/test_neg_one.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_monthname.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_monthname_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_one.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_time.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_time_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_weekday.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_weekday_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put1.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/pstl.reduce.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce_init.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce_init_op.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
M libcxx/test/std/ranges/range.access/size.pass.cpp
M libcxx/test/std/ranges/range.access/ssize.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/adaptor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/all_t.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/data.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/empty.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.as.rvalue/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.as.rvalue/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.common.view/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.common.view/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.common.view/types.h
M libcxx/test/std/ranges/range.adaptors/range.drop/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.view.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/types.h
M libcxx/test/std/ranges/range.adaptors/range.filter/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.overview/adaptor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.view/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.view/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.split/types.h
M libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/ctor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/plus_minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/sentinel.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range_adaptor_types.h
M libcxx/test/std/ranges/range.factories/range.iota.view/indices.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.utility/range.elementsof/ctad.pass.cpp
M libcxx/test/std/ranges/range.utility/range.elementsof/elements_of.pass.cpp
M libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/grep.pass.cpp
M libcxx/test/std/strings/basic.string/string.cons/from_range_deduction.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_iter_iter.pass.cpp
M libcxx/test/std/strings/string.view/string.view.cons/from_iterator_sentinel.pass.cpp
M libcxx/test/std/thread/futures/futures.async/async.pass.cpp
M libcxx/test/std/thread/futures/futures.overview/launch.pass.cpp
M libcxx/test/std/thread/thread.semaphore/lost_wakeup.timed.pass.cpp
A libcxx/test/std/thread/thread.semaphore/timed.hang.pass.cpp
M libcxx/test/std/utilities/any/any.class/any.cons/value.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/pred.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
A libcxx/test/std/utilities/optional/optional.iterator/compare.pass.cpp
M libcxx/test/std/utilities/optional/optional.iterator/iterator.pass.cpp
M libcxx/test/support/module.modulemap
M libcxx/test/support/test.support/test_proxy.pass.cpp
M libcxx/test/support/test_range.h
M libcxx/utils/ci/BOT_OWNERS.txt
R libcxx/utils/ci/benchmark-for-lnt.py
A libcxx/utils/ci/lnt/README.md
A libcxx/utils/ci/lnt/commit-watch
A libcxx/utils/ci/lnt/run-benchmarks
A libcxx/utils/ci/lnt/schema.yaml
M libcxx/utils/gdb/libcxx/printers.py
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/features/libcxx_macros.py
M libsycl/CMakeLists.txt
M libsycl/docs/index.rst
A libsycl/include/sycl/__impl/aspect.hpp
A libsycl/include/sycl/__impl/device.hpp
A libsycl/include/sycl/__impl/device_selector.hpp
A libsycl/include/sycl/__impl/info/device.hpp
A libsycl/include/sycl/__impl/info/device_type.hpp
M libsycl/include/sycl/__impl/platform.hpp
M libsycl/include/sycl/sycl.hpp
M libsycl/src/CMakeLists.txt
A libsycl/src/detail/device_impl.cpp
A libsycl/src/detail/device_impl.hpp
M libsycl/src/detail/global_objects.cpp
M libsycl/src/detail/offload/offload_topology.cpp
M libsycl/src/detail/offload/offload_topology.hpp
M libsycl/src/detail/offload/offload_utils.cpp
M libsycl/src/detail/offload/offload_utils.hpp
M libsycl/src/detail/platform_impl.cpp
M libsycl/src/detail/platform_impl.hpp
A libsycl/src/device.cpp
A libsycl/src/device_selector.cpp
M libsycl/src/platform.cpp
A libsycl/test/CMakeLists.txt
A libsycl/test/README.md
A libsycl/test/basic/platform_get_devices.cpp
A libsycl/test/lit.cfg.py
A libsycl/test/lit.site.cfg.py.in
M libsycl/tools/sycl-ls/sycl-ls.cpp
M libunwind/src/Unwind-seh.cpp
M lld/COFF/Driver.cpp
M lld/COFF/Writer.cpp
M lld/ELF/AArch64ErrataFix.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/Hexagon.cpp
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
R lld/ELF/Arch/RISCVInternalRelocations.h
M lld/ELF/Arch/SystemZ.cpp
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/InputFiles.h
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/OutputSections.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Target.cpp
M lld/ELF/Target.h
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/SectionPriorities.cpp
M lld/include/lld/Common/BPSectionOrdererBase.inc
A lld/test/COFF/merge-bss-text-filealign1.test
M lld/test/ELF/aarch64-abs16.s
M lld/test/ELF/aarch64-abs32.s
M lld/test/ELF/aarch64-fpic-abs16.s
M lld/test/ELF/aarch64-fpic-add_abs_lo12_nc.s
M lld/test/ELF/aarch64-fpic-prel16.s
M lld/test/ELF/aarch64-hi21-error.s
M lld/test/ELF/aarch64-ldprel-lo19-invalid.s
M lld/test/ELF/aarch64-lo12-alignment.s
M lld/test/ELF/aarch64-lo21-error.s
M lld/test/ELF/aarch64-load-alignment.s
A lld/test/ELF/aarch64-memtag-pauth-globals-out-of-range.s
A lld/test/ELF/aarch64-memtag-pauth-globals.s
M lld/test/ELF/aarch64-movw-error.s
M lld/test/ELF/aarch64-prel16.s
M lld/test/ELF/aarch64-prel32.s
R lld/test/ELF/abs-conflict.s
M lld/test/ELF/arm-adr-err-long.s
M lld/test/ELF/arm-adr-err.s
M lld/test/ELF/arm-ldrlit-err.s
M lld/test/ELF/arm-tag-vfp-args-errs.s
M lld/test/ELF/arm-thumb-adr-err.s
M lld/test/ELF/arm-thumb-ldrlit-err.s
M lld/test/ELF/arm-thumb2-adr-err.s
M lld/test/ELF/arm-thumb2-ldrlit-err.s
A lld/test/ELF/conflict-abs.s
M lld/test/ELF/conflict-debug-variable-file-index.s
M lld/test/ELF/conflict-debug-variable.s
M lld/test/ELF/conflict-debug-variable2.s
M lld/test/ELF/conflict-variable-linkage-name.s
M lld/test/ELF/conflict.s
M lld/test/ELF/eh-frame-dyn-rel.s
A lld/test/ELF/eh-frame-fde-encoding.s
A lld/test/ELF/eh-frame-hdr-sdata8.s
A lld/test/ELF/eh-frame-invalid-cie.s
A lld/test/ELF/eh-frame-invalid-fde-encoding.s
R lld/test/ELF/eh-frame-pcrel-overflow.s
R lld/test/ELF/eh-frame-value-format1.s
R lld/test/ELF/eh-frame-value-format2.s
R lld/test/ELF/eh-frame-value-format3.s
R lld/test/ELF/eh-frame-value-format4.s
R lld/test/ELF/eh-frame-value-format5.s
R lld/test/ELF/eh-frame-value-format6.s
R lld/test/ELF/eh-frame-value-format7.s
R lld/test/ELF/eh-frame-value-format8.s
R lld/test/ELF/eh-frame-value-format9.s
M lld/test/ELF/execute-only-mixed-data.s
M lld/test/ELF/hexagon-tls-ie.s
M lld/test/ELF/hidden-shared-err.s
M lld/test/ELF/incompatible-ar-first.s
M lld/test/ELF/incompatible-section-flags.s
M lld/test/ELF/invalid-cie-length.s
M lld/test/ELF/invalid-cie-reference.s
R lld/test/ELF/invalid-eh-frame.s
R lld/test/ELF/invalid-eh-frame2.s
R lld/test/ELF/invalid-eh-frame3.s
R lld/test/ELF/invalid-eh-frame4.s
R lld/test/ELF/invalid-eh-frame5.s
R lld/test/ELF/invalid-eh-frame6.s
R lld/test/ELF/invalid-eh-frame7.s
R lld/test/ELF/invalid-eh-frame8.s
R lld/test/ELF/invalid-eh-frame9.s
M lld/test/ELF/invalid/bad-arm-attributes.s
M lld/test/ELF/invalid/common-symbol-alignment.test
M lld/test/ELF/invalid/data-encoding.test
M lld/test/ELF/invalid/ehframe-broken-relocation.test
M lld/test/ELF/invalid/executable.s
M lld/test/ELF/invalid/invalid-elf.test
M lld/test/ELF/invalid/invalid-file-class.test
M lld/test/ELF/invalid/linkorder-invalid-sec.test
M lld/test/ELF/invalid/merge-invalid-size.s
M lld/test/ELF/invalid/non-terminated-string.test
M lld/test/ELF/invalid/section-alignment.test
M lld/test/ELF/invalid/section-index.test
M lld/test/ELF/invalid/sht-group.test
M lld/test/ELF/invalid/tls-symbol.s
M lld/test/ELF/invalid/verdef-no-symtab.test
M lld/test/ELF/linkerscript/address-expr-symbols.s
A lld/test/ELF/linkerscript/discard-eh-frame.s
R lld/test/ELF/linkerscript/pt_gnu_eh_frame.s
M lld/test/ELF/linkorder-group.test
M lld/test/ELF/loongarch-branch.s
A lld/test/ELF/loongarch-ifunc-nonpreemptible.s
M lld/test/ELF/mips-align-err.s
M lld/test/ELF/mips-micro-bad-cross-calls.s
M lld/test/ELF/mips-out-of-bounds-call16-reloc.s
M lld/test/ELF/ppc64-abs32-dyn.s
M lld/test/ELF/ppc64-error-missaligned-dq.s
M lld/test/ELF/ppc64-error-missaligned-ds.s
M lld/test/ELF/ppc64-error-toc-tail-call.s
M lld/test/ELF/ppc64-reloc-pcrel34-overflow.s
M lld/test/ELF/ppc64-tls-missing-gdld.s
M lld/test/ELF/pr34872.s
M lld/test/ELF/relocation-before-merge-start.s
M lld/test/ELF/relocation-nocopy.s
M lld/test/ELF/relocation-past-merge-end.s
M lld/test/ELF/reproduce-error.s
M lld/test/ELF/riscv-branch.s
M lld/test/ELF/riscv-call.s
M lld/test/ELF/riscv-hi20-lo12.s
M lld/test/ELF/riscv-ifunc-nonpreemptible.s
M lld/test/ELF/riscv-jal.s
M lld/test/ELF/riscv-pcrel-hilo.s
M lld/test/ELF/riscv-vendor-relocations.s
M lld/test/ELF/static-error.s
M lld/test/ELF/systemz-plt.s
M lld/test/ELF/systemz-tls-gd.s
M lld/test/ELF/systemz-tls-ld.s
M lld/test/ELF/undef-spell-corrector.s
M lld/test/ELF/vs-diagnostics-dynamic-relocation.s
M lld/test/ELF/x86-64-reloc-debug-overflow.s
M lld/test/ELF/x86-64-reloc-error.s
M lld/test/ELF/x86-64-reloc-error2.s
M lld/test/ELF/x86-64-reloc-range.s
M lld/test/ELF/x86-64-reloc-tpoff32-error.s
M lld/test/ELF/x86-64-tls-ie-err.s
M lld/test/ELF/ztext.s
A lld/test/MachO/arm64-branch-addend-stubs.s
M lld/test/MachO/order-file-cstring.s
M lld/test/MachO/platform-version.s
R lld/test/wasm/Inputs/import-attributes.s
A lld/test/wasm/compact-imports.s
M lld/test/wasm/data-layout.s
M lld/test/wasm/export-all.s
M lld/test/wasm/import-attribute-mismatch.s
M lld/test/wasm/mutable-global-exports.s
Log Message:
-----------
Rebase
Created using spr 1.3.6-beta.1
Compare: https://github.com/llvm/llvm-project/compare/7b3f189a1369...d4a468de8148
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