[all-commits] [llvm/llvm-project] ec18b9: [CIR][NEON] Add lowering for `vnegd_s64` and `vneg...
Pengcheng Wang via All-commits
all-commits at lists.llvm.org
Fri Feb 13 19:14:01 PST 2026
Branch: refs/heads/users/wangpc-pp/spr/clangriscv-add-zvabd-intrinsics
Home: https://github.com/llvm/llvm-project
Commit: ec18b92815dfadb080a8dff39914eb113b55cacf
https://github.com/llvm/llvm-project/commit/ec18b92815dfadb080a8dff39914eb113b55cacf
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
A clang/test/CodeGen/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
Log Message:
-----------
[CIR][NEON] Add lowering for `vnegd_s64` and `vnegh_f16` (#180597)
Add CIR lowering support for the non-overloaded NEON intrinsics
`vnegd_s64` and `vnegh_f16`.
The associated tests are shared with the existing default codegen tests:
* `neon-intrinsics.c` → `neon/intrinsics.c`
* `v8.2a-fp16-intrinsics.c` → `neon/fullfp16.c`
A new test file,
* `clang/test/CodeGen/AArch64/neon/fullfp16.c`
is introduced and is intended to eventually replace:
* `clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c`
Since both intrinsics are non-overloaded, the CIR and default codegen
handling is moved to the appropriate switch statements. The previous
placement was incorrect.
This change also includes minor refactoring in `CIRGenBuilder.h` to
better group related hooks.
Commit: eed35c9e7fba1d0e4b905520350f431c5178ca5d
https://github.com/llvm/llvm-project/commit/eed35c9e7fba1d0e4b905520350f431c5178ca5d
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve2-xar.ll
M llvm/test/CodeGen/AArch64/xar.ll
Log Message:
-----------
[AArch64] Avoid selecting XAR for reverse operations. (#178706)
Rotations that implement reverse operations, for example:
```c
uint64x2_t foo(uint64x2_t r) {
return (r >> 32) | (r << 32);
}
```
Are currently lowered as XAR (when available):
```gas
foo:
movi v1.2d, #0000000000000000
xar v0.2d, v0.2d, v1.2d, #32
ret
```
This is suboptimal as REV* instructions typically have higher throughput
than XAR and do not require the zero operand.
This patch combines half-rotations to Neon or SVE REVs so that they're
no longer selected as XAR.
Commit: 7e34aaeb91cfd537f8510c94c51df31ecd310ba5
https://github.com/llvm/llvm-project/commit/7e34aaeb91cfd537f8510c94c51df31ecd310ba5
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
A clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
Log Message:
-----------
[clang][ssaf][NFC] Refactor SerializationFormat to use macro-based field accessors (#180842)
This reduces code duplication and makes it easier to add new field
accessors.
Assisted-By: claude
Commit: 77513e7d740b37da675eadbc0a80b09624614af6
https://github.com/llvm/llvm-project/commit/77513e7d740b37da675eadbc0a80b09624614af6
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
Log Message:
-----------
[SPIRV] Add a `SPIRVTypeInst` type with some guardrails (#179947)
The idea behind this PR is to propose a type that we can deploy
gradually to add some guardrails and enforce invariants in the SPIRV
backend.
The PR has 3 commits:
* A first commit where the `SPIRVTypeInst` type is proposed. It's just a
wrapper around `MachineInstr` that adds an assert to check that a
`SPIRVTypeInst` defines a register with the type register class.
* A second commit that shows how the migration could look like for a
single function.
* A third commit that motivates why: we have a `SPIRVType *TypeInst`
that never defines a type in a function whose intention looks very
confusing.
Commit: 1d719edd9935c7f387258c3fc637e8b32f0a2054
https://github.com/llvm/llvm-project/commit/1d719edd9935c7f387258c3fc637e8b32f0a2054
Author: Romaric Jodin <rjodin at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libclc/clc/include/clc/math/math.h
M libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/math/clc_sw_fma.cl
M libclc/opencl/lib/clspv/SOURCES
A libclc/opencl/lib/clspv/math/fma.cl
Log Message:
-----------
[libclc] Bring back fma for clspv (#180693)
This is a partial revert of #179428
Commit: 064694160fcb255d014c7b1cedeeb4d42e8392ff
https://github.com/llvm/llvm-project/commit/064694160fcb255d014c7b1cedeeb4d42e8392ff
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libcxx/test/benchmarks/GenerateInput.h
R libcxx/test/benchmarks/algorithms/pop_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/pop_heap.bench.cpp
Log Message:
-----------
[libc++] Rewrite the std::pop_heap benchmark (#179911)
Testing a bunch of random types has relatively little value. This
reduces the number of benchmarks so we can run them on a regular basis.
This saves ~90 seconds when running the benchmarks.
Commit: 2dcf858ba0db3227a186c1322be052a163fca51a
https://github.com/llvm/llvm-project/commit/2dcf858ba0db3227a186c1322be052a163fca51a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/fpsat.ll
M llvm/test/Transforms/LoopVectorize/hoist-and-sink-mem-ops-with-invariant-pointers.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-readonly.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/struct-return.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
Log Message:
-----------
[LAA] Use SCEVPtrToAddr in tryToCreateDiffChecks. (#178861)
The checks created by LAA only compute a pointer difference and do not
need to capture provenance. Use SCEVPtrToAddr instead of SCEVPtrToInt
for computations.
To avoid regressions while parts of SCEV are migrated to use PtrToAddr
this adds logic to rewrite all PtrToInt to PtrToAddr if possible in the
created expressions. This is needed to avoid regressions.
Similarly, if in the original IR we have a PtrToInt, SCEVExpander tries
to re-use it if possible when expanding PtrToAddr.
Depends on https://github.com/llvm/llvm-project/pull/178727.
Fixes https://github.com/llvm/llvm-project/issues/156978.
PR: https://github.com/llvm/llvm-project/pull/178861
Commit: 3123d9cb3a06ab15afcba42174f293c60bd2128d
https://github.com/llvm/llvm-project/commit/3123d9cb3a06ab15afcba42174f293c60bd2128d
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
Log Message:
-----------
[mlir][tosa] Fix validation of `dim` op when reliant on datatype extension (#180915)
For example:
```
error: 'tosa.dim' op illegal: requires [bf16, shape] but not included in the profile compliance [shape]
%0 = tosa.dim %arg0 {axis = 4 : i32} : (tensor<4x5x8x8x6x4xbf16>) -> !tosa.shape<1>
```
Here dim requires support to be declared for the BF16 and SHAPE
extensions, but only SHAPE was specified in the op declaration.
Commit: 5e5b799853afa50457ba3b7129d4822d30a9ef5e
https://github.com/llvm/llvm-project/commit/5e5b799853afa50457ba3b7129d4822d30a9ef5e
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt
A lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86.cpp
A lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86.h
R lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.cpp
R lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h
M lldb/source/Plugins/Process/Linux/CMakeLists.txt
A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.cpp
A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.h
R lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp
R lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h
M lldb/source/Plugins/Process/NetBSD/CMakeLists.txt
A lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86.cpp
A lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86.h
R lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp
R lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.h
M lldb/source/Plugins/Process/elf-core/CMakeLists.txt
A lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86.cpp
A lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86.h
R lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86_64.cpp
R lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86_64.h
A lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.cpp
A lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.h
R lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp
R lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.h
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
M lldb/source/Plugins/Process/minidump/ThreadMinidump.cpp
Log Message:
-----------
[lldb][NativeRegisterContext] Rename to x86 for shared files (#180624)
Commit: 9a07b1c84ec55c8960e2ec4b6cf31f0087d0bf56
https://github.com/llvm/llvm-project/commit/9a07b1c84ec55c8960e2ec4b6cf31f0087d0bf56
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Linux/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/elf-core/BUILD.gn
Log Message:
-----------
[gn build] Port 5e5b799853af
Commit: 972aa597de3a39f457207546af93ab3bfd1027f0
https://github.com/llvm/llvm-project/commit/972aa597de3a39f457207546af93ab3bfd1027f0
Author: Twice <twice at apache.org>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/python/mlir/dialects/ext.py
M mlir/test/python/dialects/ext.py
Log Message:
-----------
[MLIR][Python] Make traits declarative in python-defined operations (#180748)
This will support two syntax in python-defined dialects.
First is that traits can now be declared in class parameters, e.g.
```python
class ParentIsIfTrait(DynamicOpTrait): #define a python-side trait
@staticmethod
def verify_invariants(op) -> bool:
if not isinstance(op.parent.opview, IfOp):
op.location.emit_error(
f"{op.name} should be put inside {IfOp.OPERATION_NAME}"
)
return False
return True
class YieldOp( # attach two traits: IsTerminatorTrait, ParentIsIfTrait
TestRegion.Operation, name="yield", traits=[IsTerminatorTrait, ParentIsIfTrait]
):
...
```
Second is that users can directly define
`verify_invariants`/`verify_region_invariants` methods in the operation
to add additional custom verification logic. And this is implemented via
traits.
```python
class YieldOp(TestRegion.Operation, name="yield", ...):
value: Operand[Any]
def verify_invariants(self) -> bool: # define a method directly
if self.parent.results[0].type != self.value.type:
self.location.emit_error(
"result type mismatch between YieldOp and its parent IfOp"
)
return False
return True
```
Previously we use `verify`/`verify_region` as method names (in
yesterday's PR #179705), but in this PR they are renamed to
`verify_invariants`/`verify_region_invariants` because there are
conflicts between the newly-added `verify` method and `ir.OpView.verify`
method:
- `verify_invariants` is just to attach **additional** verification
logic. but `OpView.verify` is to construct an OperationVerifer and do
full verification for an operation, so the semantics is not same between
these two. We should not shadow the `OpView.verify` method by defining a
new semantically-different `verify` method.
- it will make users confuse between these two `verify` methods, since
they have different meaning.
- if users didn't define the `verify` method in their python-defined
operation, `DynamicOpTraits.attach(opname, MyOpCls)` still do the
attaching (because `hasattr("verify")` returns `True`) and seg fault
(because we cannot attach `OpView.verify`).
---------
Co-authored-by: Rolf Morel <rolfmorel at gmail.com>
Commit: 924f773f5e261df260116ccb9849dbb58af56b69
https://github.com/llvm/llvm-project/commit/924f773f5e261df260116ccb9849dbb58af56b69
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
Log Message:
-----------
[Clang] Don't diagnose missing members when looking at the instantiating class template (#180725)
The perfect matching patch revealed another bug where recursive
instantiations could lead to the escape of SFINAE errors, as shown in
the issue.
Fixes https://github.com/llvm/llvm-project/issues/179118
Commit: 81e0de2ea538991a759c921a5d257b271d7d0f7c
https://github.com/llvm/llvm-project/commit/81e0de2ea538991a759c921a5d257b271d7d0f7c
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/test/Dialect/Arith/expand-ops.mlir
Log Message:
-----------
[MLIR][Arith] FastMath extf conversion without NaN checks (#180926)
This PR allows the expand op converter to consider the NoNaN fastmath
attribute to disable the runtime checks for NaNs in E8M0 types. Default
behaviour is still the same.
The OCP document provides all-ones as NaN for E8M0, but for pre-MX I8
quantization, the checks for NaNs are prohibitively expensive,
especially if the hardware doesn't have native support for that type.
Commit: 54cdd903b87211f71972f684b8532357c435aa7a
https://github.com/llvm/llvm-project/commit/54cdd903b87211f71972f684b8532357c435aa7a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/select-zext-analysis.ll
Log Message:
-----------
[SLP]Skip operands comparing on non-matching (but compatible) instructions
If the instructions are compatible but non-matching (zext-select pair as
example), no need to perform operands analysis, just return that they
are matching.
Commit: 4a2a450cb7b84cffccf7092e3258ee0a1221b0b3
https://github.com/llvm/llvm-project/commit/4a2a450cb7b84cffccf7092e3258ee0a1221b0b3
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel][lldb] Port 304c680809f05923edd097835d1056e6460a3646 (#180931)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: 7f2b875c7d68bb83f3b1f7b29d838171e6a31835
https://github.com/llvm/llvm-project/commit/7f2b875c7d68bb83f3b1f7b29d838171e6a31835
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.h
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
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/SPIRVISelLowering.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
Log Message:
-----------
[SPIRV] Replace `SPIRVType` with `SPIRVTypeInst` as much as we can (#180721)
Second part of https://github.com/llvm/llvm-project/pull/179947 where we
use `SPIRVTypeInst` as much as we can.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 99c9e5ebd6c7c5564190133b3171b53f17b7f3f8
https://github.com/llvm/llvm-project/commit/99c9e5ebd6c7c5564190133b3171b53f17b7f3f8
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/test/CodeGen/hexagon-linux-vararg.c
Log Message:
-----------
[Hexagon] Fix signed constant creation in EmitVAArgFromMemory (#180385)
Use ConstantInt::getSigned instead of ConstantInt::get when creating a
negative alignment mask in EmitVAArgFromMemory. This is the same fix as
commit 8546294db95d (PR #176115) which addressed the issue in
EmitVAArgForHexagonLinux.
Added a test case that exercises the EmitVAArgFromMemory alignment path
using a struct that is both >8 bytes (to trigger EmitVAArgFromMemory)
and has 8-byte alignment (to trigger the alignment masking code).
Commit: 0ec4aa51dd3ce32a55e32f0f32f86eb173855908
https://github.com/llvm/llvm-project/commit/0ec4aa51dd3ce32a55e32f0f32f86eb173855908
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
Log Message:
-----------
[lldb][windows] switch to using std::string instead of std::wstring in Python setup (#180786)
This patch changes the return type of methods returning `std:wstring` to
`std::string` in `PythonPathSetup.cpp`.
This follows lldb's style of converting to `std::wstring` at the last
moment.
Commit: 6af11dba3cb158d46e598363ae1035f7935aa700
https://github.com/llvm/llvm-project/commit/6af11dba3cb158d46e598363ae1035f7935aa700
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/include/clang/Driver/RocmInstallationDetector.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
Log Message:
-----------
clang/AMDGPU: Remove dead code in RocmInstallationDetector (#180920)
The defaulted constructor argument isn't used anywhere, so
this path is unreachable.
Commit: 5456d6352a684fcf55ecfc229838dea100f6d359
https://github.com/llvm/llvm-project/commit/5456d6352a684fcf55ecfc229838dea100f6d359
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
A llvm/test/CodeGen/AArch64/nontemporal-load-interleaved.ll
A llvm/test/CodeGen/AArch64/nontemporal-store-interleaved-optsize.ll
A llvm/test/CodeGen/AArch64/nontemporal-store-interleaved.ll
Log Message:
-----------
[AArch64] Lower factor-of-2 interleaved stores to STNP (#177938)
This patch prioritizes lowering to `stnp` over `st2` store instructions
marked !nontemporal.
>From performance perspective, we should conservatively prioritize STNP
lowering for non-temporal stores, because currently NT stores requires
explicit usage of `__builtin_nontemporal_store()` intrinsic, so I think
its reasonable to assume the developer explicitly intends to optimize
D-cache usage of some hot non-temporal execution. He can rollback if it
doesnt help.
The cost here is it adds a few instructions for code size (thus we
predicate when not optimizing for code size), few extra fast
instructions to execute, few extra short dep chains - should be commonly
handled by OOO execution, I-cache alignment effects, few extra
registers. In the future we can may be able to approximate a cost model
to select by.
The patch implements an AArch64 specific static function to model what
NT stores are directly legal on the backend currently, and
`AArch64TargetLowering::lowerInterleavedStore` to conditionally skip st2
lowering.
Commit: 98fcc11d1a61d0daf0a101ff571e5b07b92ccdf2
https://github.com/llvm/llvm-project/commit/98fcc11d1a61d0daf0a101ff571e5b07b92ccdf2
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
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/mixed_loops.f90
M flang/test/Lower/while_loop.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 17) (#180869)
Tests converted from test/Lower: goto-do-body.f90, mixed_loops.f90,
while_loop.f90
>From test/Lower/forall: degenerate.f90, forall-2.f90
Commit: a8f211904a728949764c4d8c0619f4d9a7710ecd
https://github.com/llvm/llvm-project/commit/a8f211904a728949764c4d8c0619f4d9a7710ecd
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-fp-convert-small.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptoui129.ll
Log Message:
-----------
[ExpandIRInsts] Support saturating fptoi (#179710)
Add support for expanding fptosi.sat and fptoui.sat via IR expansions.
Similar to fptosi/fptoui we would get legalization errors otherwise.
The previous expansion for fptosi/fptoui was already saturating -- but
those instructions do not actually require saturation, and the
implementation of the saturation was incorrect in lots of ways. What
this PR does is:
* For fptosi, remove the unnecessary saturation handling.
* For fptoui, remove the unnecessary saturation handling and sign
multiplication.
* For fptosi, use the previous saturation handling with fixes: We need
to map NaNs to 0 and the saturation condition on the exponent was
incorrect. (I'm performing the NaN check via fcmp -- there's no
requirement to do everything bitwise here.)
* For fptoui use a variation of the signed saturation handling: Negative
values need to go to zero and we saturate to unsigned max.
Proofs: https://alive2.llvm.org/ce/z/Xv9FNd
Commit: 4677fc3d830bd83e55d5bd6d49563e1dc450b151
https://github.com/llvm/llvm-project/commit/4677fc3d830bd83e55d5bd6d49563e1dc450b151
Author: David Spickett <david.spickett at arm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/include/lldb/Core/Architecture.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.cpp
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.h
M lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp
M lldb/source/Plugins/Architecture/Arm/ArchitectureArm.h
M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp
M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.h
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Utility/StopInfoMachException.h
M lldb/source/Target/Platform.cpp
M lldb/source/Target/StopInfo.cpp
R lldb/test/API/functionalities/builtin-debugtrap/Makefile
R lldb/test/API/functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py
R lldb/test/API/functionalities/builtin-debugtrap/main.c
A lldb/test/API/macosx/builtin-debugtrap/Makefile
A lldb/test/API/macosx/builtin-debugtrap/TestBuiltinDebugTrap.py
A lldb/test/API/macosx/builtin-debugtrap/main.cpp
Log Message:
-----------
Revert "[lldb] Step over non-lldb breakpoints" (#180944)
Reverts llvm/llvm-project#174348 due to reported failures on MacOS and
Arm 32-bit Linux.
Commit: 3f73f839e2044b57adfaf0ada7b7dcedc54fcc0f
https://github.com/llvm/llvm-project/commit/3f73f839e2044b57adfaf0ada7b7dcedc54fcc0f
Author: Steven Perron <stevenperron at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/Texture2D-AST.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
R clang/test/CodeGenHLSL/resources/Texture2D.sample.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
Log Message:
-----------
[HLSL] Implement Sample* methods for Texture2D (#179322)
This commit implement the methods:
- SampleBias
- SampleCmp
- SampleCmpLevelZero
- SampleGrad
- SampleLevel
They are added to the Texture2D resource type. All overloads except for
those with the `status` argument.
Part of https://github.com/llvm/llvm-project/issues/175630
Assisted-by: Gemini
---------
Co-authored-by: Helena Kotas <hekotas at microsoft.com>
Commit: 6d6feb765517cd20667366b750e9eaad6daa818a
https://github.com/llvm/llvm-project/commit/6d6feb765517cd20667366b750e9eaad6daa818a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libc/docs/gpu/rpc.rst
M libc/shared/rpc.h
A libc/shared/rpc_dispatch.h
M libc/shared/rpc_util.h
R offload/test/libc/rpc_callback.c
A offload/test/libc/rpc_callback.cpp
Log Message:
-----------
[libc] Add RPC helpers for dispatching functions to the host (#179085)
Summary:
The RPC interface is useful for forwarding functions. This PR adds
helper functions for doing a completely bare forwarding of a function
from the client to the server. This is intended to facilitate
heterogenous libraries that implement host functions on the GPU (like
MPI or Fortran).
Commit: 0b0dca5668e9233ac1ec44178559d732edc13268
https://github.com/llvm/llvm-project/commit/0b0dca5668e9233ac1ec44178559d732edc13268
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/include/clang/Driver/CommonArgs.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
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/hip-device-libs-llvm-env.hip
M clang/test/Driver/opencl-libclc.cl
M libclc/CMakeLists.txt
Log Message:
-----------
clang/AMDGPU: Do not look for rocm device libs if environment is llvm (#180922)
clang/AMDGPU: Do not look for rocm device libs if environment is llvm
Introduce usage of the llvm environment type. This will be useful as
a switch to eventually stop depending on externally provided libraries,
and only take bitcode from the resource directory.
I wasn't sure how to handle the confusing mess of -no-* flags. Try
to handle them all. I'm not sure --no-offloadlib makes sense for OpenCL
since it's not really offload, but interpret it anyway.
Commit: d7e5a7dacdb7c17e48a89e6e4fb50ccaa2fd5c94
https://github.com/llvm/llvm-project/commit/d7e5a7dacdb7c17e48a89e6e4fb50ccaa2fd5c94
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/source/Host/windows/PseudoConsole.cpp
Log Message:
-----------
[lldb-dap][windows] drain the ConPTY before attaching (#180578)
Add a step to drain the init sequences emitted by the ConPTY before
attaching it to the debuggee.
A ConPTY (PseudoConsole) emits init sequences which flush the screen and
contain the name of the program (ESC[2J for clear screen, ESC[H for
cursor home and more). It's not desirable to filter them out: if a
debuggee also emits them, lldb would filter that output as well. To work
around this, the ConPTY is drained by attaching a dummy process to it,
consuming the init sequences and then attaching the actual debuggee.
---------
Co-authored-by: Nerixyz <nero.9 at hotmail.de>
Commit: a58268a77cdbfeb0b71f3e76d169ddd7edf7a4df
https://github.com/llvm/llvm-project/commit/a58268a77cdbfeb0b71f3e76d169ddd7edf7a4df
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
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
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 16) (#180866)
Tests converted from test/Lower: fail_image.f90,
test/Lower/forall: array-constructor.f90, array-pointer.f90,
array-subscripts.f90, character-1.f90
Commit: 768cc03cee769bb20a778bda2e6e083f2ad6520c
https://github.com/llvm/llvm-project/commit/768cc03cee769bb20a778bda2e6e083f2ad6520c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck Add WinEH Tests to XFail List
This pass recently had NewPM coverage added which means we now can see
profcheck issues with the pass. Disable it for now until we can get it
fixed, although its not crucial for anything given it is only run for
32-bit X86 Windows.
Commit: f5e5745e86a7b949e3b3b4833bbaf4a235500db8
https://github.com/llvm/llvm-project/commit/f5e5745e86a7b949e3b3b4833bbaf4a235500db8
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
M mlir/test/Conversion/ShardToMPI/convert-shard-to-mpi.mlir
M mlir/test/Dialect/Shard/partition.mlir
Log Message:
-----------
[mlir][shard, mpi] Allow more than one last axis to be "unsplit" (#180754)
A resharding pattern allowed only a single trailing axis to be
"unsplit".
This PR allows multiple trailing axes to be "unsplit".
Commit: 54177e95d1956aa040503d683762d4bfa3ff954b
https://github.com/llvm/llvm-project/commit/54177e95d1956aa040503d683762d4bfa3ff954b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-11 (Wed, 11 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-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
Log Message:
-----------
[Matrix] Use tiled loops automatically for large kernels. (#179325)
Update LowerMatrixIntrinsics to use tiled loops automatically in for
larger matrixes. The fully unrolled codegen creates a huge amount of
code, which performs noticably worse then the tiled loop nest variant.
We new try to estimate the number of instructions needed for the
multiply, and if it is too large, tiled loops are used. The current
threshold is anything roughly larger than 6x6x6 double multiply.
Eventually I think we want to only generate tiled loops. This patch is a
first step, trying to opt in for cases where we know it is beneficial.
Checked on AArch64, but should help on other architectures similarly,
and also drastically reduce binary size + compile time.
PR: https://github.com/llvm/llvm-project/pull/179325
Commit: a2149815ccbb466f8646ef14fc59185d652a45b8
https://github.com/llvm/llvm-project/commit/a2149815ccbb466f8646ef14fc59185d652a45b8
Author: David Spickett <david.spickett at arm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/include/lldb/Utility/AnsiTerminal.h
M lldb/source/Interpreter/Options.cpp
M lldb/unittests/Utility/AnsiTerminalTest.cpp
Log Message:
-----------
[lldb] Move parts of OutputFormattedUsageText into utility function (#180947)
As seen in #177570, this code has a bunch of corner cases, does not
handle ANSI codes properly and does not handle unicode at all. That's
enough to fix that we need some tests to make it clear where we're
starting from.
The body of OutputFormattedUsageText is moved into a utility in the
AnsiTerminal.h header and tests added to the existing
AnsiTerminalTest.cpp.
Some results are known to be wrong. Some that cause crashes are
commented out, to be enabled once fixed.
Commit: 0776af16c57cecca98472888f1bfc6f83151c427
https://github.com/llvm/llvm-project/commit/0776af16c57cecca98472888f1bfc6f83151c427
Author: Karl Friebel <karl.friebel at friebelnet.de>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/FixIt/fixit-missing-type-spec.c
M clang/test/SemaOpenCL/invalid-pipes-cl2.0.cl
Log Message:
-----------
[Clang] [Sema] Fix FixIt for implicit-int diagnostics. (#179356)
When encountering a declaration without a type specifier, in contexts
where they could reasonably be assumed to default to int, clang emits a
diagnostic with FixIt. This FixIt does not produce working code.
This patch updates `SemaType` to correctly insert a single int type
specifier per group of declarations, and adds coverage in the FixIt lit test suite.
Fixes #179354
Commit: c6964b1b4dcda0f19f91cef186314f4cc2e0feb8
https://github.com/llvm/llvm-project/commit/c6964b1b4dcda0f19f91cef186314f4cc2e0feb8
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/IRAttributes.h
M mlir/include/mlir/IR/BuiltinAttributes.h
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/BuiltinAttributes.cpp
R mlir/test/IR/attribute-roundtrip.mlir
M mlir/test/IR/parse-literal.mlir
M mlir/test/python/ir/array_attributes.py
M mlir/unittests/IR/AttributeTest.cpp
Log Message:
-----------
[mlir][IR] `DenseElementsAttr`: Remove `i1` dense packing special case (#180397)
`DenseElementsAttr` stores elements in a `ArrayRef<char>` buffer, where
each element is padded to a full byte. Before this commit, there used to
be a special storage format for `i1` elements: they used to be densely
packed, i.e., 1 bit per element. This commit removes the dense packing
special case for `i1`.
This commit removes complexity from `DenseElementsAttr`. If dense
packing is needed in the future it could be implemented in a general way
that works for all element types (based on #179122).
Discussion:
https://discourse.llvm.org/t/denseelementsattr-i1-element-type/62525
Commit: 208b4dbf122465db894bc0d62f73e802834b170e
https://github.com/llvm/llvm-project/commit/208b4dbf122465db894bc0d62f73e802834b170e
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/test/HLFIR/inline-hlfir-assign.fir
Log Message:
-----------
[flang][optimize] Use ArraySectionAnalyzer to better handle aliasing sections (#180595)
When alias analysis reports potential aliasing between LHS and RHS when
inlining `hlfir.assign`, use `ArraySectionAnalyzer` to determine if the
sections are disjoint or identical, which is safe for element-wise
assignment.
Co-authored-by: Delaram Talaashrafi <dtalaashrafi at rome5.pgi.net>
Commit: 2c1af70c0688b5518f46c617a5ffa443e22ba522
https://github.com/llvm/llvm-project/commit/2c1af70c0688b5518f46c617a5ffa443e22ba522
Author: Justice Adams <107649528+justice-adams-apple at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
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-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
Log Message:
-----------
[Green Dragon] add green dragon jenkinsfile definitions for multibranch pipelines (#180793)
Add CI job definitions using our new templated pipelines to
llvm-project, this way we can enable multi branch pipelines which
trigger for changes on a given branch.
By storing the Jenkinfile definitions in llvm-project, we gain the
benefit of enabling Jenkins multi branch pipelines. This means in the
future, expanding a job configuration to build with a new branch is as
simple as updating a regular expression in Jenkins (the regular
expression represents which branches should be built). The work required
for enabling testing new branches becomes minimal, and furthermore we
would have a great deal of confidence that job configurations across
branches remain identical.
I will verify these new jenkinsfiles work before deprecating the old
definitions in zorg
Commit: 6a81656f7d729615c296e5da774e78ad5b21a558
https://github.com/llvm/llvm-project/commit/6a81656f7d729615c296e5da774e78ad5b21a558
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
M llvm/test/CodeGen/RISCV/musttail-call.ll
A llvm/test/CodeGen/RISCV/musttail.ll
M llvm/test/CodeGen/RISCV/tail-calls.ll
Log Message:
-----------
[RISCV] improve `musttail` support (#170547)
Basically https://github.com/llvm/llvm-project/pull/168506 but for
riscv, so to be clear the hard work here is @heiher 's. I figured we may
as well get some extra eyeballs on this from riscv too.
Previously the riscv backend could not handle `musttail` calls with more
arguments than fit in registers, or any explicit `byval` or `sret`
parameters/return values. Those have now been implemented.
This is part of my push to get more LLVM backends to support `byval` and
`sret` parameters so that rust can stabilize guaranteed tail call
support. See also:
- https://github.com/llvm/llvm-project/pull/168956
- https://github.com/rust-lang/rust/issues/148748
---------
Co-authored-by: WANG Rui <wangrui at loongson.cn>
Commit: 91dae0efec8bd3a5db9a1063ee386795e9b17228
https://github.com/llvm/llvm-project/commit/91dae0efec8bd3a5db9a1063ee386795e9b17228
Author: Justice Adams <107649528+justice-adams-apple at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M .ci/green-dragon/clang-stage1-RA.groovy
Log Message:
-----------
[green dragon] fix typo in clang-stage1-RA
Commit: 14fe03f6c6fd54f846860fa032fdb17ce190e98b
https://github.com/llvm/llvm-project/commit/14fe03f6c6fd54f846860fa032fdb17ce190e98b
Author: David Green <david.green at arm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
Log Message:
-----------
[AArch64] Add extra fcmp+select tests. NFC
Some of these currently get scalarized with nnan.
Commit: 34eb59dd4bb26cab248cc3a29b57b8dbe8d46849
https://github.com/llvm/llvm-project/commit/34eb59dd4bb26cab248cc3a29b57b8dbe8d46849
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinAttributes.h
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/CAPI/IR/BuiltinAttributes.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/BuiltinAttributes.cpp
Log Message:
-----------
[mlir][IR][NFC] Simplify "splat" handling in `DenseIntOrFPElementsAttr` (#180965)
Since #180397, all elements of a `DenseIntOrFPElementsAttr` are padded
to full bytes. This enables additional simplifications: whether a
`DenseIntOrFPElementsAttr` is a splat or not can now be inferred from
the size of the buffer. This was not possible before because a single
byte sometimes contained multiple `i1` elements.
Discussion:
https://discourse.llvm.org/t/denseelementsattr-i1-element-type/62525
Commit: cdc1f8afe846cc6c42e2d7812ce9e4c98a4a4d7f
https://github.com/llvm/llvm-project/commit/cdc1f8afe846cc6c42e2d7812ce9e4c98a4a4d7f
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/builtin-floating-point.c
Log Message:
-----------
[CIR] Match codegen change on fmin and fmax
- #113133 adds 'nsz' on the emitted 'llvm.minmum'/'llvm.maxnum' from
fmin/fmax following the semantic clarification from #112852.
Commit: 0286641f5c607e7b45510f699a82535a327c857b
https://github.com/llvm/llvm-project/commit/0286641f5c607e7b45510f699a82535a327c857b
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/addo.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fcmp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmin_legacy.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/icmp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-copy-scc-vcc.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/subo.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.ll
Log Message:
-----------
[AMDGPU] Add known bits for G_AMDGPU_COPY_SCC_VCC (#180560)
Commit: aad0ae4a39b94f515f92759b69cfdcbc22eaa50d
https://github.com/llvm/llvm-project/commit/aad0ae4a39b94f515f92759b69cfdcbc22eaa50d
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/cmake/modules/CrossCompile.cmake
Log Message:
-----------
[CMake] Only pass PYTHON_EXECUTABLE to native build if defined (#180964)
This addresses the following warning when PYTHON_EXECUTABLE is not set
in the host build:
```bash
CMake Warning:
Manually-specified variables were not used by the project:
PYTHON_EXECUTABLE
```
Reference:
https://github.com/llvm/llvm-project/pull/163574
Commit: 182eb9d21a7a3cdf24c206d71b15bb847f41ecb3
https://github.com/llvm/llvm-project/commit/182eb9d21a7a3cdf24c206d71b15bb847f41ecb3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Move getTargetVShift helpers earlier in the source file. NFC. (#180972)
Avoid having to add forward declarations for earlier functions to use them.
Commit: 90a56a18ee1aa3bdd58f7ddf8ffd28c65e095b82
https://github.com/llvm/llvm-project/commit/90a56a18ee1aa3bdd58f7ddf8ffd28c65e095b82
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.ordered.add.b64.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize for global atomic ordered add (#180829)
Commit: e1b9d033cdbd957a6a4adb684340298e98b1b06a
https://github.com/llvm/llvm-project/commit/e1b9d033cdbd957a6a4adb684340298e98b1b06a
Author: Hank <49036880+hankluo6 at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 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.ceil expansion to avoid undefined behavior on Inf/NaN (#170028)
Fixes #151786
The original `ceilf` expansion lowers to `fptosi`, which produces poison
for Inf, and any subsequent use leads to undefined behavior. This patch
adds a safe path, similar to the existing `round` expansion, for large
or special inputs and avoids the UB.
Commit: 7323cb3d6911db2c224843688496201bb11ecf8a
https://github.com/llvm/llvm-project/commit/7323cb3d6911db2c224843688496201bb11ecf8a
Author: Demetrius Kanios <demetrius at kanios.net>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/test/MC/WebAssembly/wasm64.s
Log Message:
-----------
[WebAssembly] Add a WASM table to `llvm/test/MC/WebAssembly/wasm64.s`. NFC (#180861)
Adds an `externref` WASM table to the MC level testing of Wasm64 to make
sure it emits the table with the `IS_64` (64-bit/i64 indices) flag.
Commit: 52bcdc6ad1302a1024fa353f27d1f54d2cc745be
https://github.com/llvm/llvm-project/commit/52bcdc6ad1302a1024fa353f27d1f54d2cc745be
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/docs/resources/formatterbytecode.rst
M lldb/include/lldb/DataFormatters/FormatterBytecode.def
M lldb/include/lldb/DataFormatters/FormatterBytecode.h
M lldb/include/lldb/DataFormatters/TypeSummary.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/DataFormatters/FormatterSection.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/test/API/functionalities/data-formatter/bytecode-summary/main.cpp
A lldb/test/API/functionalities/data-formatter/bytecode-synthetic/Makefile
A lldb/test/API/functionalities/data-formatter/bytecode-synthetic/TestBytecodeSynthetic.py
A lldb/test/API/functionalities/data-formatter/bytecode-synthetic/main.cpp
M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
Log Message:
-----------
[lldb] Implement bytecode based SyntheticChildren (#179832)
Initial implementation of a [bytecode][1] synthetic provider. This is a follow up to
https://github.com/llvm/llvm-project/pull/114333 which implemented the bytecode
interpreter, support for summary formatters, and more.
rdar://169727764
[1]: https://lldb.llvm.org/resources/formatterbytecode.html
Commit: 8d34f2851fbea06b36a1e8ea25c44c14354a7b66
https://github.com/llvm/llvm-project/commit/8d34f2851fbea06b36a1e8ea25c44c14354a7b66
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/windows/PythonPathSetup/PythonPathSetup.h
M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/tool/Options.td
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
Log Message:
-----------
[lldb-dap][windows] add --check-python command (#180784)
Implement [`[RFC] Add a Python check command to lldb-dap and
lldb`](https://discourse.llvm.org/t/rfc-add-a-python-check-command-to-lldb-dap-and-lldb/88972).
This patch adds the `--check-python` flag to `lldb-dap` on Windows, to
allow dap clients to verify the correct Python version is available
before trying to start `lldb-dap`.
Depends on:
- https://github.com/llvm/llvm-project/pull/180786
rdar://165442474
Commit: 45412b679034e5675d720057d61c4fbb4f928ae2
https://github.com/llvm/llvm-project/commit/45412b679034e5675d720057d61c4fbb4f928ae2
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
A llvm/test/Transforms/LoopUnroll/debug.ll
Log Message:
-----------
[LoopUnrollPass] Indent `LLVM_DEBUG()` messages based on our depth in the `tryToUnrollLoop()` call graph (#178945)
Unify the ad-hoc use of whitespace in `LLVM_DEBUG()` messages.
This approach should also make it easier to see which loop debug
messages correspond to and which part of the loop unrolling heuristics
each message corresponds to.
Commit: f6bdc928a881fafd5e12cdfc72c66030a1aad233
https://github.com/llvm/llvm-project/commit/f6bdc928a881fafd5e12cdfc72c66030a1aad233
Author: Xing Xue <xingxue at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
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/src/memory.cpp
Log Message:
-----------
[libc++][AIX] Enable LIBCPP_SHARED_PTR_DEFINE_LEGACY_INLINE_FUNCTIONS on AIX (#179784)
This PR enables the `LIBCPP_SHARED_PTR_DEFINE_LEGACY_INLINE_FUNCTIONS`
macro on AIX because the functions guarded by this macro are required for
backward compatibility.
Commit: f32fd56f0e6f7d62ce22d91e7f3c1bb93e431001
https://github.com/llvm/llvm-project/commit/f32fd56f0e6f7d62ce22d91e7f3c1bb93e431001
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libcxx/test/benchmarks/algorithms/min.bench.cpp
M libcxx/test/benchmarks/algorithms/minmax.bench.cpp
Log Message:
-----------
[libc++] Reduce the number of runs on the ranges::min{,max} benchmarks (#179912)
Testing a bunch of range sizes has relatively little value. This reduces
the number of benchmarks so we can run them on a regular basis. This
saves ~10 minutes when running benchmarks.
Fixes #179698
Commit: bc1e85224105de33bd199255a66b72cc9f52048f
https://github.com/llvm/llvm-project/commit/bc1e85224105de33bd199255a66b72cc9f52048f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
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/sort_heap.bench.cpp
Log Message:
-----------
[libc++] Refactor std::sort_heap benchmark (#180941)
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 ~80 seconds
per run.
Commit: 8c93fb0c05fc12b7f6bfa2b55b969d567aeb0537
https://github.com/llvm/llvm-project/commit/8c93fb0c05fc12b7f6bfa2b55b969d567aeb0537
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
R libcxx/test/benchmarks/algorithms/make_heap_then_sort_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_make_heap_then_sort_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/make_heap_then_sort_heap.bench.cpp
Log Message:
-----------
[libc++] Refactor benchmarking std::make_heap and std::sort_heap together (#180935)
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 ~18 minutes
per run.
Commit: 81f445b7df94de485240b21034682f22432729c4
https://github.com/llvm/llvm-project/commit/81f445b7df94de485240b21034682f22432729c4
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/lit.cfg.py
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M llvm/lib/Object/OffloadBinary.cpp
M llvm/tools/llvm-objdump/OffloadDump.cpp
Log Message:
-----------
[clang-sycl-linker][offload] Set TheImageKind based on IsAOTCompileNeeded flag (#180269)
Previously, TheImageKind was set to IMG_None and relied on a runtime
heuristic to determine the correct image type. This commit sets it
explicitly to IMG_Object for AOT-compiled images and IMG_SPIRV for
SPIR-V images based on the IsAOTCompileNeeded flag.
Also it adds test for this change, which required minor changes in
OffloadBinary and OffloadDump.
Commit: 601364f1baef19743f572b5dc392cc3eda067c4c
https://github.com/llvm/llvm-project/commit/601364f1baef19743f572b5dc392cc3eda067c4c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
M llvm/test/Transforms/SLPVectorizer/X86/reordered-masked-loads.ll
Log Message:
-----------
[SLP]Correctly process deleted gathered loads and short trees
If the gathered loads nodes are deleted for deletion, need to actually
deleted them from tree. Also, if the remaining tree is too short
(buildvector + gather node), need to skip such trees to avoid hanging.
Fixes #180846
Commit: 8e93ac7f1a0db97965c859ab8a92e828d1a8693e
https://github.com/llvm/llvm-project/commit/8e93ac7f1a0db97965c859ab8a92e828d1a8693e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M flang/include/flang/Parser/preprocessor.h
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
R flang/test/Preprocessing/bug178481.F90
Log Message:
-----------
Revert "[flang] Recognize compiler directives after expansion in comm… (#180982)
…ent (#180062)"
This reverts commit 0d64801bc3b99a73d20032f74df3b87e0a7ed04e.
Lines like "!MACRO ... &" in which MACRO expands to a compiler directive
are now failing because they are not being recognized as having line
continuations. Will fix and try again.
Commit: 7154e7518563e5d12050f3082d32753ec9cea438
https://github.com/llvm/llvm-project/commit/7154e7518563e5d12050f3082d32753ec9cea438
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/Analysis/OpenACCSupport.h
A mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h
A mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsGPU.h
M mlir/lib/Dialect/OpenACC/Analysis/CMakeLists.txt
M mlir/lib/Dialect/OpenACC/Analysis/OpenACCSupport.cpp
M mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
A mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsGPU.cpp
M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp
A mlir/unittests/Dialect/OpenACC/OpenACCUtilsGPUTest.cpp
Log Message:
-----------
[mlir][acc] Add gpu module and data layout utilities (#180988)
Add utility functions to support OpenACC code generation:
- getOrCreateGPUModule for GPU module management with configurable
naming
- getDataLayout for querying data layout from operations with explicit
spec or module fallback
Commit: 1d18539a7b60c05a587ac439b1d9095d01ac691e
https://github.com/llvm/llvm-project/commit/1d18539a7b60c05a587ac439b1d9095d01ac691e
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.rsq.clamp.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu.mir
Log Message:
-----------
[AMDGPU] Treat F64 TRANS instructions as VALU for S_DELAY_ALU insertion (#180940)
This matches the hardware behavior.
Commit: a64f541d9eb1720b5224de38a46cd40bc18a9eba
https://github.com/llvm/llvm-project/commit/a64f541d9eb1720b5224de38a46cd40bc18a9eba
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
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
Log Message:
-----------
[libc++] Add scripts to run benchmarks and submit to LNT on a regular basis (#180849)
Also add a libc++ schema that can be used to create a test suite capable
of storing libc++ benchmarking data on any LNT instance.
Commit: 94298f3411ba799620d7fc81ea1466dfa6f450df
https://github.com/llvm/llvm-project/commit/94298f3411ba799620d7fc81ea1466dfa6f450df
Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libsycl/CMakeLists.txt
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
Log Message:
-----------
[libsycl] Add lit configuration files and basic test (#177407)
This PR brings initial version of lit configs for libsycl tests.
We plan to add more tests for libsycl integration with the compiler in
the future.
---------
Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
Commit: ee722ae1df203b0e246ea2b68315c6b303edfcf6
https://github.com/llvm/llvm-project/commit/ee722ae1df203b0e246ea2b68315c6b303edfcf6
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
Log Message:
-----------
[VPlan] Remove VPUnrollPartAccessor from VPReductionPHIRecipe (NFC).
VPUnrollPartAccessor is not used any longer by VPReductionPHIRecipe.
Remove it.
Commit: 65f3329a556c5b6f0261ff9268c776a5c7864088
https://github.com/llvm/llvm-project/commit/65f3329a556c5b6f0261ff9268c776a5c7864088
Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.integer-minmax.ll
Log Message:
-----------
[AMDGPU][GlobalIsel] Add register bank legalization rules for buffer atomic int min max (#180975)
This patch adds register bank legalization rules for buffer atomic int
min max operations in the AMDGPU GlobalISel pipeline.
Commit: e6b99fa5b4e7f67930c0aa44b5ea79472fa21187
https://github.com/llvm/llvm-project/commit/e6b99fa5b4e7f67930c0aa44b5ea79472fa21187
Author: Vy Nguyen <vyng at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
[LLDB]Fix asan error from pr/179799 (#180996)
Fix asan error mentioned in [this
comment](https://github.com/llvm/llvm-project/pull/179799#issuecomment-3882710678)
This is breaking our internal builds.
Details: The field needs to be cleaned up or we'll have a leak. We could
also make it a smart pointer if you'd like. But as-is, this is the
quickest way to resolve the issue.
Commit: 2fd5479f2c78780c76424d4d918d69b32bf1573c
https://github.com/llvm/llvm-project/commit/2fd5479f2c78780c76424d4d918d69b32bf1573c
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
Log Message:
-----------
[lldb][windows] fix undeclared identifier error GetModulePath (#180989)
`LLDB_PYTHON_DLL_RELATIVE_PATH` can be unset while
`LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME` is, since it's set automatically
by CMake. This situation causes a build failure which this patch fixes.
This issue was introduced in
https://github.com/llvm/llvm-project/pull/180784.
Commit: 5129b3c4494e00fa915a356ec65e649bb7ff6916
https://github.com/llvm/llvm-project/commit/5129b3c4494e00fa915a356ec65e649bb7ff6916
Author: Maksim Panchenko <maks at fb.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Make FoldedIntoFunction always point to root parent (#180855)
After ICF folds functions, FoldedIntoFunction may point to a function
that was also folded. Add a post-processing step at the end of ICF to
flatten all chains so FoldedIntoFunction always points to the ultimate
root parent (a function that is not itself folded).
Commit: 997f28069d845dcb6d03d8b63cd2173cf818acaa
https://github.com/llvm/llvm-project/commit/997f28069d845dcb6d03d8b63cd2173cf818acaa
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
M clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
M clang/lib/Analysis/Scalable/Serialization/SerializationFormatRegistry.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
M clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
Log Message:
-----------
[clang][ssaf] Remove VFS support from SerializationFormat (#180891)
This change removes support for `VFS` in `SerializationFormat`,
introduced in https://github.com/llvm/llvm-project/pull/179516/. `VFS`
only provides a virtual input backend and its matched pair,
`VirtualOutputBackend`, does not provide support for an
`InMemoryOutputBackend`. There was an attempt from our end to implement
this support in https://github.com/llvm/llvm-project/pull/179515 but it
did not succeed. Supporting virtual reads but not virtual writes makes
the SerializationFormat APIs asymmetric. So we have decided to remove
`VFS` support altogether.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 6fdf93c5d812197dd5dc9362f324b944105b2e8e
https://github.com/llvm/llvm-project/commit/6fdf93c5d812197dd5dc9362f324b944105b2e8e
Author: Nikita Kornev <nikita.kornev at intel.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/utils/git/requirements_formatting.txt
M llvm/utils/git/requirements_formatting.txt.in
Log Message:
-----------
Update requirements_formatting.txt.in (#180963)
At https://github.com/intel/llvm dependabot reports a few alerts
regarding use of:
- urllib3 < v2.6.3 (CVE-2026-21441)
- pynacl < 1.6.2 (CVE-2025-69277)
- cryptography <= 46.0.4 (CVE-2026-26007)
Update requirements_formatting.txt.in & re-generate
requirements_formatting.txt.
Commit: 25c7c3bf60f85231f7b8ea6b635496620407e21d
https://github.com/llvm/llvm-project/commit/25c7c3bf60f85231f7b8ea6b635496620407e21d
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/test/Driver/unsupported-option.c
Log Message:
-----------
[clang][modules] Remove fno-modules-check-relocated as a driver option (#180995)
This preprocessor option is only ever respected as a CC1 option because
it's never handled in the driver. One gets warnings like `argument
unused during compilation: '-fno-modules-check-relocated'` when not
passed directly to CC1.
Move the option definition into the Preprocessor CC1 only visibility
section.
Commit: 8066cc9fc466ebbb7561ec854035d09f543885d1
https://github.com/llvm/llvm-project/commit/8066cc9fc466ebbb7561ec854035d09f543885d1
Author: Ian Anderson <iana at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/Headers/module.modulemap
Log Message:
-----------
[clang][builtins][modules] Add arm_bf16.h to the builtin module map (#180845)
Commit: 26add8a27277f1495ef705d323fdee12975ab950
https://github.com/llvm/llvm-project/commit/26add8a27277f1495ef705d323fdee12975ab950
Author: zGoldthorpe <Zach.Goldthorpe at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/commute-compares.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-trunc-to-i1.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
A llvm/test/CodeGen/AMDGPU/setcc-select.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/widen-vselect-and-mask.ll
Log Message:
-----------
[AMDGPU][ISel] `setcc` peephole for comparisons with upper 32 bits of a 64-bit register pair (#177662)
This optimisation is motivated by [this minimal
example](https://godbolt.org/z/9o83GvGsM).
Particularly, if `mask` is a 64-bit integer, a select
```cpp
auto out = ((mask >> 32) != 0) ? a : b;
```
converts the null-check on the higher 32-bits of `mask` into a
`v_cmp_lt_u64` with the integer `1 << 32` stored in a pair of VGPRs
(effectively wasting two VGPRs).
More generally, if a 64-bit integer (whose lower 32 bits are known to be
irrelevant) is compared with a 64-bit constant, two VGPRs are wasted to
construct this constant.
This patch modifies ISel to take advantage of how 64-bit values are
stored in pairs of VGPRs (or SGPRs), and truncates the 64-bit constant
to its upper 32-bit constant where possible.
Alive2 proof for analogous middle-end transformation:
https://alive2.llvm.org/ce/z/zizKms
Commit: d518d495315621bc751927069dbf609866f98b90
https://github.com/llvm/llvm-project/commit/d518d495315621bc751927069dbf609866f98b90
Author: Vy Nguyen <vyng at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
[LLDB]Move clean up to dtor (#181010)
I attempted to cleanup the raw ptr in pr/180996. But the cleanup should
have been done in the dtor, not `StopPrivateStateThread` so moving it
there.
Commit: c6329a3dcc1e08ec73bfb0fd2e8f3b4c6ecf4bef
https://github.com/llvm/llvm-project/commit/c6329a3dcc1e08ec73bfb0fd2e8f3b4c6ecf4bef
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
Log Message:
-----------
[NFC] [MemoryTagging] pass AllocaInfo to isStandardLifetime (#180311)
Commit: 0215f6b6cf810d9ab6d02fc7bbec5c26ad4701ff
https://github.com/llvm/llvm-project/commit/0215f6b6cf810d9ab6d02fc7bbec5c26ad4701ff
Author: Andrei Elovikov <andrei.elovikov at sifive.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/DominanceFrontier.h
M llvm/include/llvm/Analysis/DominanceFrontierImpl.h
M llvm/include/llvm/CodeGen/MachineDominanceFrontier.h
M llvm/lib/Analysis/DominanceFrontier.cpp
M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
M llvm/unittests/Transforms/Vectorize/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/VPPostDomFrontierTest.cpp
Log Message:
-----------
[DominanceFrontier] Support post-dominators on graphs with single root (#179336)
I plan to use that to optimize mask creation in VPlan predicator by
`or`ing edge masks from the post-dominance frontier instead of all
predecessors in a subsequent patch. Note that it would require to use
the same unmodified post-dom tree for *all* the basic blocks in a VPlan
that is already limited to a particular loopnest so the algorithmic
complexity concerns behind the "deprecation" notice in the beggining of
`DominanceFrontier.h` (and also discussion in the
https://discourse.llvm.org/t/dominance-frontiers/21755 thread) don't
apply for my use case (at least to the best of my understanding).
The change here is to properly use graph-traits for children traversal
plus inline `ForwardDominanceFrontierBase` into `DominanceFrontierBase` now
that it's used for post-dom-frontier.
Since the only planned use-case is in the vectorizer, I'm adding a
VPlan-base unittest along with this change.
Support for multiple root nodes via using virtual root node to seed the
worklist is left to a subsequent PR.
Commit: d3afa171ee236dfef4b7cd4b4dd0b0fb165a48cc
https://github.com/llvm/llvm-project/commit/d3afa171ee236dfef4b7cd4b4dd0b0fb165a48cc
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
Log Message:
-----------
[LV] Don't scalarize loads that need predication in legacy CM.
The legacy cost model tries to scalarize loads that are used as
pointers. Skip if the load would need predicating when scalarized,
because that would incur very high costs, see useEmulatedMaskMemRefHack.
Fixes https://github.com/llvm/llvm-project/issues/180780.
Commit: 612ddd8b6c671d5e4305c2dfaee8106945927575
https://github.com/llvm/llvm-project/commit/612ddd8b6c671d5e4305c2dfaee8106945927575
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 0215f6b6cf81
Commit: 1919b3b0474583e703d9545d536caf72c05b4ad4
https://github.com/llvm/llvm-project/commit/1919b3b0474583e703d9545d536caf72c05b4ad4
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
A llvm/test/CodeGen/SPIRV/single-element-vector.ll
Log Message:
-----------
[SPIRV] Scalarize single-element vectors in type creation (#180735)
SPIR-V requires vectors to have at least 2 components. So treat <1 x T>
as T.
Fixes: https://github.com/llvm/llvm-project/issues/171175
Commit: 0deb1b6e05228b068fb54ca687e0c92a190351d1
https://github.com/llvm/llvm-project/commit/0deb1b6e05228b068fb54ca687e0c92a190351d1
Author: Hansang Bae <hansang.bae at intel.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/src/L0DynWrapper.cpp
Log Message:
-----------
[Offload] Try to load Level Zero loader with version suffix (#180042)
The default Level Zero loader `libze_loader.so` may not be available on
systems that don't have Level Zero development package. Level Zero
loaders with major version suffix are searched in that case.
Commit: da6e3010365aa7af629ad61999b527012dbd8fb3
https://github.com/llvm/llvm-project/commit/da6e3010365aa7af629ad61999b527012dbd8fb3
Author: John Harrison <harjohn at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/tools/lldb-dap/EventHelper.cpp
Log Message:
-----------
[lldb-dap] Adjusting multi-stopped event order. (#181001)
When multiple stopped events are detected we should send the
`"allThreadsStopped":true` last.
Currently, if there are multiple stopped threads and we attempt to step
around the 'allThreadsStopped' ends up with multiple stops highlighted
in the UI.
Reporting the focused thread last fixes this while still correctly
updating the thread state of all stopped threads.
This fixes an issue reported in
https://github.com/llvm/llvm-project/pull/176273#discussion_r2775979486
Commit: fc648683cd751d66ead63e84cab828b6a92de7d7
https://github.com/llvm/llvm-project/commit/fc648683cd751d66ead63e84cab828b6a92de7d7
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
Log Message:
-----------
[SLP]Add external uses estimations into tree throttling
Added basic estimations for the external uses, when calculating the cost
of the non-profitable trees. Excluding stores/insertelement, as thay are
very good candidates for the vectorization. Also, tuned
buildvector/gather cost with minimum bitwidth analysis data.
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/178024
Commit: 524ae2f3477e5a2307abf404976630609f2ecd39
https://github.com/llvm/llvm-project/commit/524ae2f3477e5a2307abf404976630609f2ecd39
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2026-02-11 (Wed, 11 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
A mlir/unittests/Dialect/Linalg/CMakeLists.txt
A mlir/unittests/Dialect/Linalg/InferConvolutionDimsTest.cpp
Log Message:
-----------
[mlir][linalg] Make conv dim inference return pairing (outputImage, filterLoop) (#180859)
The original method sorts all the dimensions which loses the information
about pairing. It makes other transformation that works on generic op
form harder. The revision ensures the pairing, so callers have more
useful information when they work on transformations.
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 5710e418c335c99f1d1ea619a4622837553b53d5
https://github.com/llvm/llvm-project/commit/5710e418c335c99f1d1ea619a4622837553b53d5
Author: Ben Dunbobbin <Ben.Dunbobbin at sony.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
A cross-project-tests/dtlto/path.test
M cross-project-tests/lit.site.cfg.py.in
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/lib/DTLTO/DTLTO.cpp
Log Message:
-----------
[DTLTO][Windows] Expand short 8.3 form paths in ThinLTO module IDs (#178303)
Windows supports short 8.3 form filenames (e.g. `compile_commands.json`
-> `COMPIL~1.JSO`) for legacy reasons. See:
https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#short-vs-long-names.
Short 8.3 form paths are undesirable in distributed compilation
scenarios because they are local mappings tied to a specific directory
layout on a specific machine. As a result, they can break or defeat
sandboxing and path-based isolation mechanisms used by distributed build
systems.
We have observed such failures with DTLTO even in simple scenarios. For
example, on Windows, running:
```
clang.exe hello.c -flto=thin -fuse-ld=lld -fthinlto-distributor=fastbuild.exe -###
```
on my development machine reveals a short 8.3 form path being passed to
LLD (output paraphrased):
```
ld.lld -o a.out -plugin-opt=thinlto --thinlto-distributor=fastbuild.exe \
--thinlto-remote-compiler=clang.exe C:\Users\DUNBOB~1\AppData\Local\Temp\hello-380d65.o
```
This behavior occurs because, on Windows, the system temporary directory
is commonly derived from the `TMP`/`TEMP` environment variables. For
historical compatibility reasons, these variables are often set to short
8.3 form paths, particularly on systems where user names exceed eight
characters.
Whilst it's possible for users to work around these issues, in practice,
especially in automated and CI environments, users often have limited
control over their environment.
DTLTO generally tries to avoid embedding distribution-specific logic in
the LLVM source tree, and this principle also applies to path
normalization. However, on Windows, such short 8.3 form paths are
undesirable for any distribution system. This normalization also cannot
be delegated to distributors, as the ThinLTO module ID must be finalized
early during LTO and cannot be modified later.
Given this, normalizing away short 8.3 paths on Windows is a pragmatic,
targeted improvement, even though path normalization is not something a
toolchain would typically perform in the general case.
SIE internal tracker: TOOLCHAIN-19185
Commit: 1268e7630d3072c990d6d1cd9f84ef8c7041d0fa
https://github.com/llvm/llvm-project/commit/1268e7630d3072c990d6d1cd9f84ef8c7041d0fa
Author: Usama Hameed <u_hameed at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/include/lldb/Symbol/Variable.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Symbol/Variable.cpp
Log Message:
-----------
[LLDB][NFCI] Teach LLDB to read the DW_AT_LLVM_tag_offset attribute for variables (#181011)
LLVM added support for emitting the tagging offset of a variable for
hwasan/memtag-stack using the DW_AT_LLVM_tag_offset attribute in
dabd262. This patch teaches LLDB to read this attribute.
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: 5c4a8c1d3ce386cf6820da4ef5fd164c766220bf
https://github.com/llvm/llvm-project/commit/5c4a8c1d3ce386cf6820da4ef5fd164c766220bf
Author: Zhenxuan Sang <sang at bytedance.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
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
A .github/workflows/build-libc-container.yml
M .github/workflows/commit-access-review.py
M .github/workflows/commit-access-review.yml
A .github/workflows/containers/libc/Dockerfile
M .github/workflows/prune-branches.yml
M .github/workflows/prune-unused-branches.py
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-tasks.yml
M .gitignore
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/Hugify.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Rewrite/RewriteInstance.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
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
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
M clang-tools-extra/Maintainers.rst
M clang-tools-extra/clang-doc/assets/head-template.mustache
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.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/UppercaseLiteralSuffixCheck.cpp
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.h
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/ScanningProjectModules.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
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
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/cppcoreguidelines/init-variables.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
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
A clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-c23.c
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/docs/ClangIRCleanupAndEHDesign.md
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
A clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
M clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.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/BuiltinsAMDGPU.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/SourceLocation.h
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/CIROps.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/Driver/CommonArgs.h
M clang/include/clang/Driver/RocmInstallationDetector.h
M clang/include/clang/Driver/SyclInstallationDetector.h
M clang/include/clang/Options/Options.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/module.modulemap
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
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.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/Pointer.h
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/lib/Analysis/Scalable/CMakeLists.txt
R clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
M clang/lib/Analysis/Scalable/Serialization/SerializationFormatRegistry.cpp
R clang/lib/Analysis/Scalable/TUSummary/EntitySummary.cpp
M clang/lib/Analysis/ThreadSafety.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
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
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/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
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/CodeGen/EHScopeStack.h
M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
A clang/lib/CIR/Interfaces/ASTAttrInterfaces.cpp
M clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/Targets/Hexagon.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/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Headers/module.modulemap
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaCXXScopeSpec.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/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/complex.c
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/cxx26.cpp
M clang/test/AST/ByteCode/invalid.cpp
M clang/test/AST/ByteCode/memberpointers.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/vectors.cpp
M clang/test/AST/HLSL/Texture2D-AST.hlsl
M clang/test/Analysis/auto-obj-dtors-cfg-output.cpp
A clang/test/Analysis/indirect-goto-basics.c
M clang/test/Analysis/misc-ps-region-store.cpp
A clang/test/Analysis/switch-basics.c
M clang/test/C/C2y/n3369.c
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/bitfields.cpp
M clang/test/CIR/CodeGen/builtin-floating-point.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
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/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
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
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/template-specialization.cpp
M clang/test/CIR/CodeGen/temporary-materialization.cpp
M clang/test/CIR/CodeGen/ternary.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/variable-decomposition.cpp
R clang/test/CIR/CodeGenBuiltins/AArch64/neon/fullfp16.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/avx512vl-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/cmp-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/rd-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/IR/atomic.cir
M clang/test/CIR/IR/invalid-atomic.cir
A clang/test/CIR/IR/invalid-static-local.cir
A clang/test/CIR/IR/static-local.cir
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
M clang/test/CIR/func-simple.cpp
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
M clang/test/CodeGen/AArch64/neon-intrinsics.c
A clang/test/CodeGen/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
M clang/test/CodeGen/SystemZ/systemz-ppa2.c
A clang/test/CodeGen/attr-no-outline.c
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/hexagon-linux-vararg.c
M clang/test/CodeGenCXX/builtins.cpp
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
M clang/test/CodeGenCXX/exceptions-seh.cpp
M clang/test/CodeGenCXX/sanitize-trap-loop.cpp
M clang/test/CodeGenCXX/template-cxx20.cpp
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
R clang/test/CodeGenHLSL/resources/Texture2D.sample.hlsl
A clang/test/CodeGenObjC/attr-no-outline.m
A clang/test/CodeGenObjCXX/arc-lifetime-rvalue-ref-binding.mm
A clang/test/CodeGenOpenCL/.gdb_history
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
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
M clang/test/Driver/aix-as.c
M clang/test/Driver/clang-sycl-linker-test.cpp
A clang/test/Driver/hip-device-libs-llvm-env.hip
A clang/test/Driver/module-fgen-reduced-bmi-precompile.cppm
A clang/test/Driver/offload.f90
M clang/test/Driver/opencl-libclc.cl
A clang/test/Driver/print-enabled-extensions/riscv-spacemit-a100.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/sycl-offload-jit.cpp
M clang/test/Driver/unsupported-option.c
A clang/test/FixIt/fixit-missing-type-spec.c
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/riscv.c
M clang/test/Preprocessor/embed___has_embed_parsing_errors.c
M clang/test/Preprocessor/has_include.c
A clang/test/Sema/attr-no-outline.c
A clang/test/Sema/attr-no-outline.cpp
M clang/test/Sema/builtins-bcd-format-conversion.c
M clang/test/Sema/constant-builtins-2.c
A clang/test/SemaCXX/GH167120.cpp
A clang/test/SemaCXX/address-space-new-delete.cpp
A clang/test/SemaCXX/builtin-bitreverseg.cpp
M clang/test/SemaCXX/constexpr-vectors-access-elements.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/return-noreturn.cpp
M clang/test/SemaCXX/warn-loop-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
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/SemaObjCXX/arc-lifetime-rvalue-ref-binding.mm
M clang/test/SemaOpenCL/invalid-pipes-cl2.0.cl
M clang/test/lit.cfg.py
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/unittests/AST/ByteCode/toAPValue.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
M clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
M clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
M clang/unittests/Tooling/DependencyScannerTest.cpp
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/asan/asan_malloc_win.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/test/asan/TestCases/Windows/heaprealloc_alloc_zero.cpp
A compiler-rt/test/asan/TestCases/Windows/rtlsizeheap_zero.cpp
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/lib/cuda/allocator.cpp
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/docs/Directives.md
M flang/docs/FlangDriver.md
M flang/docs/GettingInvolved.md
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Builder/CUDAIntrinsicCall.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/preprocessor.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.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
A flang/test/Analysis/AliasAnalysis/modref-call-after-external-name-conversion.fir
M flang/test/Driver/func-attr.f90
M flang/test/HLFIR/inline-hlfir-assign.fir
M flang/test/Integration/ivdep.f90
A flang/test/Lower/CUDA/cuda-default-stream.cuf
M flang/test/Lower/HLFIR/ivdep-elemental.f90
M flang/test/Lower/HLFIR/ivdep-where.f90
A flang/test/Lower/Intrinsics/c_f_strpointer.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/ivdep-array.f90
M flang/test/Lower/ivdep.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/while_loop.f90
R flang/test/Preprocessing/bug178481.F90
M flang/test/Semantics/OpenMP/compiler-directive.f90
A flang/test/Semantics/c_f_strpointer.f90
A flang/test/Semantics/cuf17.cuf
M flang/test/Semantics/ignore_tkr01.f90
M flang/tools/f18/CMakeLists.txt
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/full_host_build.rst
M libc/docs/gpu/rpc.rst
M libc/shared/math.h
A libc/shared/math/f16sqrtf.h
M libc/shared/rpc.h
A libc/shared/rpc_dispatch.h
M libc/shared/rpc_util.h
M libc/src/__support/FPUtil/generic/add_sub.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/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
M libc/src/string/memory_utils/generic/inline_strlen.h
M libc/src/string/memory_utils/x86_64/inline_strlen.h
M libc/test/CMakeLists.txt
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/math/smoke/AddTest.h
M libc/test/src/math/smoke/SubTest.h
M libc/test/src/strings/wide_read_memory_test.cpp
A libc/utils/libctest/__init__.py
A libc/utils/libctest/format.py
M libclc/CMakeLists.txt
M libclc/clc/include/clc/math/math.h
M libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/math/clc_sw_fma.cl
M libclc/clc/lib/generic/math/clc_remquo.cl
M libclc/clc/lib/generic/math/clc_remquo.inc
M libclc/cmake/modules/AddLibclc.cmake
M libclc/opencl/lib/amdgcn/mem_fence/fence.cl
M libclc/opencl/lib/clspv/SOURCES
A libclc/opencl/lib/clspv/math/fma.cl
M libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/index.rst
M libcxx/include/__atomic/atomic_waitable_traits.h
M libcxx/include/__charconv/from_chars_integral.h
M libcxx/include/__configuration/availability.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__functional/hash.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/iomanip
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/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_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/ranges_make_heap_then_sort_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_then_sort_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/pop_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/sort_heap.bench.cpp
A libcxx/test/libcxx/atomics/atomics.syn/wait.native.compile.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/indices.pass.cpp
A libcxx/test/std/thread/thread.semaphore/timed.hang.pass.cpp
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 libsycl/CMakeLists.txt
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 libunwind/src/Unwind-seh.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/InputSection.h
M lld/ELF/OutputSections.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
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/MachO/platform-version.s
M lldb/docs/resources/formatterbytecode.rst
M lldb/docs/use/symbols.rst
M lldb/examples/python/formatter_bytecode.py
M lldb/examples/python/templates/scripted_frame_provider.py
M lldb/include/lldb/API/SBFrame.h
M lldb/include/lldb/API/SBProcessInfoList.h
M lldb/include/lldb/Breakpoint/StopCondition.h
M lldb/include/lldb/Breakpoint/StoppointHitCounter.h
M lldb/include/lldb/Core/AddressRangeListImpl.h
M lldb/include/lldb/Core/Architecture.h
M lldb/include/lldb/Core/DebuggerEvents.h
M lldb/include/lldb/Core/Declaration.h
M lldb/include/lldb/Core/Highlighter.h
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Core/SourceLocationSpec.h
M lldb/include/lldb/Core/SourceManager.h
M lldb/include/lldb/DataFormatters/FormatterBytecode.def
M lldb/include/lldb/DataFormatters/FormatterBytecode.h
M lldb/include/lldb/DataFormatters/TypeSummary.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/Host/HostInfoBase.h
M lldb/include/lldb/Host/common/DiagnosticsRendering.h
M lldb/include/lldb/Host/common/ZipFileResolver.h
M lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
M lldb/include/lldb/Host/posix/Support.h
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/include/lldb/Host/windows/PythonPathSetup/PythonPathSetup.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/Symbol/Variable.h
M lldb/include/lldb/Target/BorrowedStackFrame.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/RegisterTypeBuilder.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/Target/StopInfo.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/AnsiTerminal.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/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectSynthetic.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/source/API/SBFile.cpp
M lldb/source/API/SBFrame.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectProtocolServer.h
M lldb/source/Commands/CommandObjectRegexCommand.h
M lldb/source/Commands/CommandObjectScripting.h
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Highlighter.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/SourceManager.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/DataFormatters/FormatterSection.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Host/macosx/objcxx/PosixSpawnResponsible.h
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Host/windows/PythonPathSetup/CMakeLists.txt
M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.h
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.cpp
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.h
M lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp
M lldb/source/Plugins/Architecture/Arm/ArchitectureArm.h
M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp
M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.h
M lldb/source/Plugins/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h
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/Instruction/RISCV/RISCVCInstructions.h
M lldb/source/Plugins/Instruction/RISCV/RISCVInstructions.h
M lldb/source/Plugins/InstrumentationRuntime/BoundsSafety/InstrumentationRuntimeBoundsSafety.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/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/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.h
M lldb/source/Plugins/Platform/WebAssembly/PlatformWasmRemoteGDBServer.h
M lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt
A lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86.cpp
A lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86.h
R lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.cpp
R lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h
M lldb/source/Plugins/Process/Linux/CMakeLists.txt
A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.cpp
A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.h
R lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp
R lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h
M lldb/source/Plugins/Process/NetBSD/CMakeLists.txt
A lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86.cpp
A lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86.h
R lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp
R lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.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/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Utility/StopInfoMachException.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/elf-core/CMakeLists.txt
A lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86.cpp
A lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86.h
R lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86_64.cpp
R lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86_64.h
A lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.cpp
A lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.h
R lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp
R lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.h
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/mach-core/RegisterContextUnifiedCore.h
M lldb/source/Plugins/Process/minidump/ThreadMinidump.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
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/REPL/Clang/CMakeLists.txt
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/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
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/Symbol/Variable.cpp
M lldb/source/Target/BorrowedStackFrame.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Utility/WasmVirtualRegisters.h
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/test/API/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/commands/frame/var-dil/expr/Casts/main.cpp
M lldb/test/API/driver/batch_mode/TestBatchMode.py
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
R lldb/test/API/functionalities/builtin-debugtrap/Makefile
R lldb/test/API/functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py
R lldb/test/API/functionalities/builtin-debugtrap/main.c
M lldb/test/API/functionalities/data-formatter/bytecode-summary/main.cpp
A lldb/test/API/functionalities/data-formatter/bytecode-synthetic/Makefile
A lldb/test/API/functionalities/data-formatter/bytecode-synthetic/TestBytecodeSynthetic.py
A lldb/test/API/functionalities/data-formatter/bytecode-synthetic/main.cpp
M lldb/test/API/functionalities/data-formatter/compactvectors/TestCompactVectors.py
M lldb/test/API/functionalities/disassembler-variables/Makefile
M lldb/test/API/functionalities/module_cache/bsd/Makefile
M lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
M lldb/test/API/linux/sepdebugsymlink/Makefile
A lldb/test/API/macosx/builtin-debugtrap/Makefile
A lldb/test/API/macosx/builtin-debugtrap/TestBuiltinDebugTrap.py
A lldb/test/API/macosx/builtin-debugtrap/main.cpp
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.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
A lldb/test/Shell/SymbolFile/NativePDB/local-constant.test
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.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 lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/tool/Options.td
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
M lldb/unittests/CMakeLists.txt
M lldb/unittests/DataFormatter/CMakeLists.txt
M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
A lldb/unittests/DataFormatter/FormatterSectionTest.cpp
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
M lldb/unittests/ObjectFile/MachO/TestObjectFileMachO.cpp
M lldb/unittests/Target/MemoryTest.cpp
M lldb/unittests/Utility/AnsiTerminalTest.cpp
M llvm/Maintainers.md
M llvm/cmake/modules/CrossCompile.cmake
M llvm/docs/HowToUseInstrMappings.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/examples/BrainF/BrainF.cpp
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/include/llvm/ADT/SmallSet.h
M llvm/include/llvm/ADT/SmallVectorExtras.h
M llvm/include/llvm/Analysis/DominanceFrontier.h
M llvm/include/llvm/Analysis/DominanceFrontierImpl.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/CAS/ObjectStore.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/MachineDominanceFrontier.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/VFABIDemangler.h
M llvm/include/llvm/MC/MCInstrDesc.h
M llvm/include/llvm/Support/JSON.h
M llvm/include/llvm/Support/VersionTuple.h
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Analysis/DominanceFrontier.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/AsmParser/LLParser.cpp
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/lib/CodeGen/ExpandIRInsts.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/lib/DTLTO/DTLTO.cpp
M llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/MCA/InstrBuilder.cpp
M llvm/lib/Object/OffloadBinary.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/Support/VersionTuple.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.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/SIISelLowering.cpp
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/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
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/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSchedAndes45.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.h
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
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/SPIRVISelLowering.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.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/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/CodeGen/AArch64/arm64-cvt-simd-fptoi.ll
M llvm/test/CodeGen/AArch64/arm64-cvtf-simd-itofp.ll
M llvm/test/CodeGen/AArch64/clmul-fixed.ll
M llvm/test/CodeGen/AArch64/clmul-scalable.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
A llvm/test/CodeGen/AArch64/nontemporal-load-interleaved.ll
A llvm/test/CodeGen/AArch64/nontemporal-store-interleaved-optsize.ll
A llvm/test/CodeGen/AArch64/nontemporal-store-interleaved.ll
M llvm/test/CodeGen/AArch64/qmovn.ll
M llvm/test/CodeGen/AArch64/qshrn.ll
M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
M llvm/test/CodeGen/AArch64/sve2-xar.ll
M llvm/test/CodeGen/AArch64/switch-cases-to-branch-and.ll
A llvm/test/CodeGen/AArch64/vec-combine-trunc-dup-ext.ll
M llvm/test/CodeGen/AArch64/xar.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/addo.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fcmp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmin_legacy.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/icmp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-copy-scc-vcc.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.integer-minmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.rsq.clamp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/subo.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/commute-compares.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-trunc-to-i1.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu.mir
M llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.lds.err.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.ordered.add.b64.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
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.index.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.ll
A llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
A llvm/test/CodeGen/AMDGPU/setcc-select.ll
A llvm/test/CodeGen/AMDGPU/twoaddr-regsequence-keep-copy-on-use.mir
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/widen-vselect-and-mask.ll
A llvm/test/CodeGen/ARM/fp-intrinsics-vector-v8.ll
A llvm/test/CodeGen/ARM/stlf-vector-extract.ll
A llvm/test/CodeGen/Hexagon/hvx-predicate-store-load.ll
A llvm/test/CodeGen/Hexagon/udiv-vector-nonuniform.ll
M llvm/test/CodeGen/LoongArch/lasx/vxi1-masks.ll
A llvm/test/CodeGen/PowerPC/ppc_test_data_class.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctls-rv32.mir
M llvm/test/CodeGen/RISCV/add-imm64-to-sub.ll
M llvm/test/CodeGen/RISCV/attributes-qc.ll
M llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
M llvm/test/CodeGen/RISCV/musttail-call.ll
A llvm/test/CodeGen/RISCV/musttail.ll
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rv64p.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
M llvm/test/CodeGen/RISCV/sifive7-enable-intervals.mir
M llvm/test/CodeGen/RISCV/tail-calls.ll
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
A llvm/test/CodeGen/SPIRV/single-element-vector.ll
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
A llvm/test/CodeGen/Thumb2/mve-intrinsics/strict-round.ll
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
M llvm/test/CodeGen/X86/avx512-shuffles/shuffle-chained-bf16.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
A llvm/test/DebugInfo/Generic/anonymous-base-type.ll
M llvm/test/Instrumentation/HWAddressSanitizer/fuchsia.ll
M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
A llvm/test/MC/AArch64/armv9.7-scr2.s
M llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
M llvm/test/MC/WebAssembly/wasm64.s
M llvm/test/TableGen/get-named-operand-idx.td
M llvm/test/Transforms/AggressiveInstCombine/X86/store-merge.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-fp-convert-small.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptoui129.ll
M llvm/test/Transforms/IndVarSimplify/turn-to-invariant.ll
M llvm/test/Transforms/IndVarSimplify/unreachable-exit.ll
M llvm/test/Transforms/InstCombine/and-xor-merge.ll
A llvm/test/Transforms/InstSimplify/icmp-equiv-zero.ll
A llvm/test/Transforms/LoopUnroll/debug.ll
M llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
R llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
R llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse.ll
R llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
R llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
R llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.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
M llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/pr141968-instsimplifyfolder.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
R llvm/test/Transforms/LoopVectorize/X86/vplan-vp-intrinsics.ll
R llvm/test/Transforms/LoopVectorize/conditional-scalar-assignment-vplan.ll
A llvm/test/Transforms/LoopVectorize/constant-fold-commutative-and.ll
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
R llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
R llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
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/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/fpsat.ll
M llvm/test/Transforms/LoopVectorize/hoist-and-sink-mem-ops-with-invariant-pointers.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads.ll
R llvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
R llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/multi_early_exit.ll
M llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
R llvm/test/Transforms/LoopVectorize/phi-with-fastflags-vplan.ll
M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/pr154045-dont-fold-extractelement-livein.ll
M llvm/test/Transforms/LoopVectorize/pr44488-predication.ll
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-readonly.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-neg-cond.ll
M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/struct-return.ll
R llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/unsupported_early_exit.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
M llvm/test/Transforms/LoopVectorize/vplan-print-after.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
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-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
R llvm/test/Transforms/LowerTypeTests/cond-loop.ll
M llvm/test/Transforms/PGOProfile/memprof.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
A llvm/test/Transforms/PreISelIntrinsicLowering/looptrap.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/select-zext-analysis.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
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
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
M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
M llvm/test/Transforms/SLPVectorizer/X86/reordered-masked-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
A llvm/test/Transforms/SLPVectorizer/semanticly-same.ll
A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/amdgpu-large-lds-offset.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
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/test/tools/llvm-cov/mcdc-macro.test
A llvm/test/tools/llvm-dwp/X86/prioritize_discard_path_soft_stop.test
M llvm/test/tools/llvm-ir2vec/bindings/ir2vec-bindings.py
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
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
A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/xsfvcp.s
M llvm/test/tools/llvm-objdump/MachO/dis-symname.test
M llvm/tools/bugpoint/Miscompilation.cpp
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.h
M llvm/tools/llvm-dwp/Opts.td
M llvm/tools/llvm-dwp/llvm-dwp.cpp
M llvm/tools/llvm-ir2vec/Bindings/PyIR2Vec.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.h
M llvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/tools/llvm-objdump/MachODump.h
M llvm/tools/llvm-objdump/OffloadDump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/unittests/ADT/ArrayRefTest.cpp
M llvm/unittests/ADT/STLExtrasTest.cpp
M llvm/unittests/ADT/STLForwardCompatTest.cpp
M llvm/unittests/ADT/SmallSetTest.cpp
M llvm/unittests/ADT/SmallVectorExtrasTest.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
M llvm/unittests/Support/FormatVariadicTest.cpp
M llvm/unittests/Support/VersionTupleTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Vectorize/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/VPPostDomFrontierTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/CodeGenMapTable.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/git/requirements_formatting.txt
M llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-tidy/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Analysis/Scalable/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
M llvm/utils/gn/secondary/clang/tools/c-index-test/BUILD.gn
M llvm/utils/gn/secondary/clang/tools/diagtool/BUILD.gn
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/Process/Linux/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/elf-core/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/REPL/Clang/BUILD.gn
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CAS/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/BUILD.gn
M llvm/utils/profcheck-xfail.txt
M llvm/utils/update_analyze_test_checks.py
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/docs/Bindings/Python.md
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-c/Support.h
M mlir/include/mlir/Bindings/Python/Globals.h
M mlir/include/mlir/Bindings/Python/IRAttributes.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/include/mlir/Dialect/IRDL/IR/IRDLOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/OpenACC/Analysis/OpenACCSupport.h
A mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h
A mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsGPU.h
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
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/TransformOps/XeGPUTransformOps.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/include/mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h
M mlir/include/mlir/IR/BuiltinAttributes.h
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/IR/Remarks.h
M mlir/include/mlir/Interfaces/CMakeLists.txt
A mlir/include/mlir/Interfaces/DialectFoldInterface.td
M mlir/include/mlir/Interfaces/FoldInterfaces.h
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/Bindings/Python/DialectTransform.cpp
M mlir/lib/Bindings/Python/IRAttributes.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
A mlir/lib/Bindings/Python/stubgen_runner.py
M mlir/lib/CAPI/Dialect/Transform.cpp
M mlir/lib/CAPI/IR/BuiltinAttributes.cpp
M mlir/lib/CAPI/IR/IR.cpp
M mlir/lib/CAPI/IR/Support.cpp
M mlir/lib/CAPI/Interfaces/Interfaces.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/lib/Dialect/Math/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/OpenACC/Analysis/CMakeLists.txt
M mlir/lib/Dialect/OpenACC/Analysis/OpenACCSupport.cpp
M mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
A mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsGPU.cpp
M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/TransformOps/XeGPUTransformOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/IR/CMakeLists.txt
M mlir/lib/IR/Remarks.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/_mlir_libs/__init__.py
M mlir/python/mlir/dialects/ext.py
M mlir/python/mlir/dialects/transform/xegpu.py
M mlir/test/Conversion/ShardToMPI/convert-shard-to-mpi.mlir
M mlir/test/Dialect/Arith/expand-ops.mlir
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/misc-other.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Dialect/Math/canonicalize.mlir
M mlir/test/Dialect/Math/expand-math.mlir
M mlir/test/Dialect/Shard/partition.mlir
M mlir/test/Dialect/Tensor/bubble-up-extract-slice-op.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
M mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
M mlir/test/Dialect/XeGPU/transform-ops-invalid.mlir
M mlir/test/Dialect/XeGPU/transform-ops.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir
R mlir/test/IR/attribute-roundtrip.mlir
M mlir/test/IR/parse-literal.mlir
M mlir/test/Pass/remarks.mlir
M mlir/test/Target/LLVMIR/Import/constant.ll
M mlir/test/Target/LLVMIR/rocdl.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
M mlir/test/lib/Pass/TestRemarksPass.cpp
M mlir/test/python/dialects/ext.py
A mlir/test/python/dialects/transform_op_interface.py
M mlir/test/python/dialects/transform_xegpu_ext.py
M mlir/test/python/ir/array_attributes.py
M mlir/tools/mlir-tblgen/DialectGen.cpp
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp
A mlir/unittests/Dialect/OpenACC/OpenACCUtilsGPUTest.cpp
M mlir/unittests/IR/AttributeTest.cpp
M mlir/unittests/IR/RemarkTest.cpp
M offload/CMakeLists.txt
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/plugins-nextgen/level_zero/src/L0DynWrapper.cpp
R offload/test/libc/rpc_callback.c
A offload/test/libc/rpc_callback.cpp
M offload/unittests/OffloadAPI/CMakeLists.txt
A offload/unittests/OffloadAPI/device/olGetHostInfo.cpp
M openmp/runtime/cmake/LibompMicroTests.cmake
M openmp/runtime/src/include/ompx.h.var
M openmp/runtime/test/tasking/issue-94260-2.c
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
R utils/bazel/llvm-project-overlay/mlir/stubgen_runner.py
Log Message:
-----------
Rebase before commit
Created using spr 1.3.6-beta.1
Compare: https://github.com/llvm/llvm-project/compare/a76e6964c145...5c4a8c1d3ce3
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