[all-commits] [llvm/llvm-project] 4ce498: [VPlan] Optimize FindLast of FindIV w/o sentinel. ...
Mariusz Sikora via All-commits
all-commits at lists.llvm.org
Mon Mar 2 00:46:41 PST 2026
Branch: refs/heads/users/mariusz-sikora-at-amd/gfx13/add-vinterp
Home: https://github.com/llvm/llvm-project
Commit: 4ce49873814cd35bfe85c59e60fb7cb7b04e2441
https://github.com/llvm/llvm-project/commit/4ce49873814cd35bfe85c59e60fb7cb7b04e2441
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-no-wrap.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-non-const-iv-start.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
Log Message:
-----------
[VPlan] Optimize FindLast of FindIV w/o sentinel. (#172569)
For FindLast reduction selecting an IV, we can avoid the horizontal
AnyOf in the vector loop, by introducing an independent boolean
reduction to track if the condition was ever true in the loop. If it was
never true in the loop, we select the start value, otherwise the select
the min/max of the FindIV reduction, as required by the predicate.
The main advantage of this approach is that we have 2 independent
reductions, that do not require a horizontal AnyOf reduction in the
loop.
Currently this requires a non-wrapping IV, but this can be relaxed in
the future by selecting a canonical IV, which is then transformed to the
specific derived IV for the reduction after the loop.
Depends on https://github.com/llvm/llvm-project/pull/177870.
PR: https://github.com/llvm/llvm-project/pull/172569
Commit: 2e88688ba7e048e25143117cd7b1e5697d9cec86
https://github.com/llvm/llvm-project/commit/2e88688ba7e048e25143117cd7b1e5697d9cec86
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Use bits<1> for AltFmt in RISCVVPseudo. (#182581)
This makes the searchable table emitter use uint8_t instead of bool in
the KeyType struct. This is needed to allow us to use a bitfield in the
PseudoInfo struct and avoid a compare between a bool and uint16_t. We
already use this same bits<1> trick in other searchable tables.
Fixes #182485
Commit: 5e09590993a9eaf256df07c7aecafa26f1e81253
https://github.com/llvm/llvm-project/commit/5e09590993a9eaf256df07c7aecafa26f1e81253
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
Log Message:
-----------
[NFC] [FlowSensitive] Add mock header for coroutines
These are copied from libcxx with some details and implementation removed.
Reviewers: rohanjr
Pull Request: https://github.com/llvm/llvm-project/pull/182602
Commit: cedd736518bc07d70c166b8a0c7c0389a1df183e
https://github.com/llvm/llvm-project/commit/cedd736518bc07d70c166b8a0c7c0389a1df183e
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.h
Log Message:
-----------
[NFCI] [FlowSensitive] [StatusOr] use c++20 for test
This is to test coroutines
Reviewers: rohanjr
Reviewed By: rohanjr
Pull Request: https://github.com/llvm/llvm-project/pull/182603
Commit: d5787171df8f8ddbcd90bb9720ed16da8e9942d8
https://github.com/llvm/llvm-project/commit/d5787171df8f8ddbcd90bb9720ed16da8e9942d8
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in OpenACCOpsTest.cpp (NFC)
Commit: c12f73b3d65f262ffdc77879001d609df45a98aa
https://github.com/llvm/llvm-project/commit/c12f73b3d65f262ffdc77879001d609df45a98aa
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for modernize-loop-convert in Utils.cpp (NFC)
Commit: 580a3bb8ea1208873671b6e78986c5e253a64152
https://github.com/llvm/llvm-project/commit/580a3bb8ea1208873671b6e78986c5e253a64152
Author: Zachary Yedidia <zyedidia at gmail.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
Log Message:
-----------
[NFC][MC] Add LLVM_ABI annotations to createAsmParser functions (#182393)
Following the MCLFIRewriter PR, this adds the `LLVM_ABI` annotations for
related functions that were flagged by the ABI bot.
Commit: 410c64eebfa55eed36c9a44531ca6c1938170a0c
https://github.com/llvm/llvm-project/commit/410c64eebfa55eed36c9a44531ca6c1938170a0c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
Log Message:
-----------
AMDGPU: Try to fix leak in AMDGPULibFunc (#182583)
I don't know why this was trying to do placement do. I guess
this was overriding the unique_ptr, bypassing its destructor.
Commit: a412d7372a2d5e2ef1ca56d517362d9d5dfdb68f
https://github.com/llvm/llvm-project/commit/a412d7372a2d5e2ef1ca56d517362d9d5dfdb68f
Author: Amara Emerson <amara at apple.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MachineOutliner.cpp
A llvm/test/CodeGen/AArch64/machine-outliner-bundle-debuginfo.mir
Log Message:
-----------
[AArch64][MachineOutliner] Clear debug locations on bundled instructions (#175655)
When the machine outliner duplicates instructions, it clears their debug
locations to avoid having the outlined function reference DISubprograms
from the original functions. However, this only cleared the debug
location on the bundle header, not on the individual instructions inside
the bundle.
This caused assertion failures in `LexicalScopes::getOrCreateRegularScope`,
because the bundled instructions still had debug locations pointing to
the original function's.
Fix this by iterating through all instructions in a bundle and clearing
their debug locations as well.
Commit: 6b44a2f9119012451b3cb9f37ba4cb5c6b2de53e
https://github.com/llvm/llvm-project/commit/6b44a2f9119012451b3cb9f37ba4cb5c6b2de53e
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/matrix-member-access-scalar.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl
Log Message:
-----------
[HLSL][Matrix] Make matrix single element accessor return a scalar instead of vector (#182609)
Fixes #182599 by making `SemaHLSL::checkMatrixComponent` return the
element type instead of a vector when the number of vector components is
exactly 1.
Commit: 9f6ad7654b07391525124edcab498c938da10e92
https://github.com/llvm/llvm-project/commit/9f6ad7654b07391525124edcab498c938da10e92
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M flang-rt/lib/cuda/stream.cpp
Log Message:
-----------
[flang][cuda] Use default stream when calling cudaStreamSynchronize without arg (#182623)
Commit: 689ecf880373bb4e0f01ed5e004f19a466e869dc
https://github.com/llvm/llvm-project/commit/689ecf880373bb4e0f01ed5e004f19a466e869dc
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/BitTracker.cpp
M llvm/lib/Target/Hexagon/HexagonGenMux.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
A llvm/test/CodeGen/Hexagon/copy-phys-int-dbl.mir
A llvm/test/CodeGen/Hexagon/tfr-cleanup-subreg-copy.ll
A llvm/test/CodeGen/Hexagon/truncating-copy-double-to-int.ll
Log Message:
-----------
[Hexagon] Handle subreg copies between DoubleRegs and IntRegs (#181360)
ISel can generate truncating COPYs from DoubleRegs to IntRegs when a
64-bit result (e.g., C2_mask) is used in a 32-bit context. Several
passes crashed on this pattern:
BitTracker asserted WD >= WS for COPY instructions. Handle the WD < WS
case by extracting the low WD bits from the source.
HexagonInstrInfo::copyPhysReg had no case for IntRegs <- DoubleRegs or
DoubleRegs <- IntRegs. Add both directions, respecting the subreg index
on the operand (isub_lo/isub_hi) when present.
HexagonTfrCleanup asserted that source and destination register sizes
match. Replace with proper subreg resolution on both operands and a
hasNoVRegs() guard since the pass runs post-RA.
HexagonGenMux asserted no subregs on physical register operands.
Preserve subreg information when building mux instructions and resolve
subregs when fixing kill flags.
Co-authored-by: Sergei Larin <slarin at codeaurora.org>
---------
Co-authored-by: Sergei Larin <slarin at codeaurora.org>
Commit: 99dc561c7da3448cb90c73b10e08c2061ed34991
https://github.com/llvm/llvm-project/commit/99dc561c7da3448cb90c73b10e08c2061ed34991
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-tensor-load-store.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tensor.load.store.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-debug-output-crash.ll
R llvm/test/Transforms/InstCombine/AMDGPU/tensor-load-store-lds.ll
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[AMDGPU] Use a general form of intrinsic for tensor load/store (#182334)
The intrinsic has five arguments for the tensor descriptor (D#), while the fifth one is reserved for future targets, and it will be silently ignored in codegen for gfx1250.
For tensor up to 2D, only the first two D# groups are meaningful and the rest should be zero-initialized.
Commit: 555cb279c271c25c88cf0fc31bec91801b6bd24e
https://github.com/llvm/llvm-project/commit/555cb279c271c25c88cf0fc31bec91801b6bd24e
Author: Iñaki V Arrechea <inakiarrechea at google.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
A llvm/test/Analysis/FunctionPropertiesAnalysis/properties-stats.ll
R llvm/test/Other/functionpropertiesanalysis.ll
Log Message:
-----------
Moved FunctionProperties test to correct test path (#182637)
Test was previously in Other ambiguous path. Now under its appropiate
folder
Commit: 3343a5bd81ddb0b76e703463292fabf655bfdf19
https://github.com/llvm/llvm-project/commit/3343a5bd81ddb0b76e703463292fabf655bfdf19
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/isinf-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
A clang/test/Driver/HLSL/conversion-warning-flags.hlsl
R clang/test/Driver/HLSL/wconversion.hlsl
M clang/test/ParserHLSL/group_shared_202x.hlsl
M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
M clang/test/SemaHLSL/Language/ImpCastAddrSpace.hlsl
M clang/test/SemaHLSL/Language/InitIncompleteArrays.hlsl
M clang/test/SemaHLSL/Language/InitLists.hlsl
M clang/test/SemaHLSL/Language/OutputParameters.hlsl
M clang/test/SemaHLSL/Language/UsualArithmeticConversions.hlsl
M clang/test/SemaHLSL/ScalarOverloadResolution.hlsl
M clang/test/SemaHLSL/SplatOverloadResolution.hlsl
M clang/test/SemaHLSL/TruncationOverloadResolution.hlsl
M clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes.hlsl
M clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_no_16bit.hlsl
M clang/test/SemaHLSL/VectorElementOverloadResolution.hlsl
M clang/test/SemaHLSL/matrix-member-access-errors.hlsl
A clang/test/SemaHLSL/no-conversion-warnings.hlsl
M clang/test/SemaHLSL/parameter_modifiers.hlsl
M clang/test/SemaHLSL/standard_conversion_sequences.hlsl
Log Message:
-----------
[HLSL] Enable `-Wconversion`, `-Wvector-conversion`, and `-Wmatrix-conversion` warnings for HLSL by default (#182607)
Fixes #180038 by enabling `-Wconversion`, `-Wvector-conversion`, and
`-Wmatrix-conversion` warnings for HLSL by default, both in the HLSL
clang driver and when fixing up clang invocations under HLSL in
CompilerInvocation.cpp (so that they are enabled even with clang -cc1).
This PR also updates existing tests to expect warnings that weren't
expected before, and removes the `-Wconversion` flags from existing HLSL
tests since it is now redundant due to being enabled by default.
Note that no existing HLSL tests use or exercise `-Wvector-conversion`
or `-Wmatrix-conversion`.
Commit: 594e9fb3e34e93f125ea0f0e8b371c5015f51323
https://github.com/llvm/llvm-project/commit/594e9fb3e34e93f125ea0f0e8b371c5015f51323
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/condops.ll
M llvm/test/CodeGen/RISCV/select.ll
Log Message:
-----------
[RISCV] Remove srl from (srl (and X, (1 << C)), C) used as czero.eqz/nez condition. (#182598)
(setne (and X, 1 << C), 0) is canonicalized to (srl (and X, (1 << C)),
C).
If this is later used as a czero.eqz/nez condition, we can remove
the srl if the and can be represented as an ANDI.
Commit: a2b7f1fcad77b506d469c1ed171e3c93cf1bc2b1
https://github.com/llvm/llvm-project/commit/a2b7f1fcad77b506d469c1ed171e3c93cf1bc2b1
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-basic.ll
Log Message:
-----------
[ThinLTO][MemProf] Support remark emission for thin link and use in MemProf (#182570)
Enable optimization remark emission during the ThinLTO thin link phase.
This is useful for global analysis passes like MemProf context
disambiguation which operate on the summary index and may need to
report diagnostics before any IR modules are available.
Key changes:
- Create a dummy function ("thinlto_remark_dummy") in a private Module
within the LTO class to provide the necessary Function context for
OptimizationRemarkEmitter.
- Update MemProfContextDisambiguation to use a callback for remark
emission, allowing it to report hinted sizes and other diagnostics
during the thin link.
- Ensure the dummy module and function are safely cleaned up at the end
of the LTO session via the LTO::cleanup mechanism.
Commit: f2eff5aa2ffe530658083069ccc2997c0605f4ca
https://github.com/llvm/llvm-project/commit/f2eff5aa2ffe530658083069ccc2997c0605f4ca
Author: Eric Feng <55723758+efric at users.noreply.github.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
Log Message:
-----------
[mlir][amdgpu] Revise AMDGPU dialect DPP documentation (#182639)
Assisted by: Claude
---------
Signed-off-by: Eric Feng <Eric.Feng at amd.com>
Commit: 553ce3a11598cc00be929e091fd59055719e7c2b
https://github.com/llvm/llvm-project/commit/553ce3a11598cc00be929e091fd59055719e7c2b
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-02-20 (Fri, 20 Feb 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/memory.h
Log Message:
-----------
[flang-rt] Temporarily disable destructor call in OwningPtr::delete_ptr. (#182635)
This is causing failures in CUF testing, because the device compiler
cannot identify the static stack size for kernels.
Commit: bf83bbf9d75f2107c05ed1f5f4b7833d4081748e
https://github.com/llvm/llvm-project/commit/bf83bbf9d75f2107c05ed1f5f4b7833d4081748e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SlotIndexes.h
Log Message:
-----------
[SlotIndexes] Make IndexListEntry/slot constructor private
This was made public only for some unit tests introduced in
e5e3dccd0741c2cf6e1885f0b6053fcfc6684102 that have now been removed.
Since they have been removed, make the method private to prevent misuse,
remove the warning now that misuse is prevented by visibility, and
remove the description of the destructor given it is redundant with the
code.
Commit: 17ad5559c215201b9bdb7090b10c4b213861ce93
https://github.com/llvm/llvm-project/commit/17ad5559c215201b9bdb7090b10c4b213861ce93
Author: BgZun <137060662+BgZun at users.noreply.github.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaCXX/warn-memset-bad-sizeof.cpp
Log Message:
-----------
[Clang] Added clang diagnostic when snprintf/vsnprintf uses sizeof(dest) for the len parameter
Closes: [#162366](https://github.com/llvm/llvm-project/issues/162366)
---------
Co-authored-by: Bogdan Zunic <bzunic at cisco.com>
Commit: 1aaa33883b0407d9e427bc105d4014b3a9ae8801
https://github.com/llvm/llvm-project/commit/1aaa33883b0407d9e427bc105d4014b3a9ae8801
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsBase.td
A clang/test/TableGen/builtin-docs.td
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[Clang][TableGen] Add documentation generation infrastructure for builtins (#181573)
Add a `-gen-builtin-docs` TableGen backend that generates RST
documentation from builtin definitions, modeled after the existing
attribute documentation system (`-gen-attr-docs`).
The emitter generates per-builtin RST sections grouped by category,
including
prototype rendering with optional named parameters (via `ArgNames`),
target
feature annotations, and documentation content. A mismatch between
`ArgNames`
count and prototype parameter count is a fatal error.
Commit: af9ca0e5bea319a976e57cf92d6aa033ffce44b2
https://github.com/llvm/llvm-project/commit/af9ca0e5bea319a976e57cf92d6aa033ffce44b2
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/module/cuda_runtime_api.f90
M flang/test/Lower/CUDA/cuda-default-stream.cuf
Log Message:
-----------
Revert "[flang][cuda] Add entry points for cudastreamsynchronize (#181932)" (#182657)
This is causing some testing issue. Reverting for now.
Commit: 7c6159660d97c634965bc387b1267519989b3800
https://github.com/llvm/llvm-project/commit/7c6159660d97c634965bc387b1267519989b3800
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
Log Message:
-----------
[clang-tidy] Correctly handle array of pointers in misc-const-correctness (#179059)
In arrays of pointers, `misc-const-correctness` check wrongly inspects
whether the array element type was const-qualified, rather than the type
it points to, leading to redundant `const` suggestions. This patch fixes
the problem.
Closes [#178880](https://github.com/llvm/llvm-project/issues/178880)
Commit: 24b9655e3626d1440409406827132df12dbee448
https://github.com/llvm/llvm-project/commit/24b9655e3626d1440409406827132df12dbee448
Author: Zachary Yedidia <zyedidia at gmail.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/include/llvm/MC/MCLFI.h
M llvm/include/llvm/MC/MCLFIRewriter.h
M llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCLFI.cpp
M llvm/lib/MC/MCLFIRewriter.cpp
M llvm/lib/MC/MCParser/LFIAsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
Log Message:
-----------
[NFC][LFI] Reduce includes due to c-t impact (#182617)
Removes header includes that don't need to be made at the top-level by
moving transitive dependencies directly into source files and using
forward declarations. Biggest impact is that we no longer include
`MCLFIRewriter.h` in `MCStreamer.h` and `MCAsmParserExtension.h`.
Commit: 1373aa05ec11dbc137d434bf9926b4978f9afe19
https://github.com/llvm/llvm-project/commit/1373aa05ec11dbc137d434bf9926b4978f9afe19
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/clmul-fixed.ll
Log Message:
-----------
[AArch64] Add clmulh/r v16i8/v8i16/v4i32/v2i64 test coverage (#182305)
Some of the v16i8/v2i64 tests are currently disabled due to #182270 and
#182039
Commit: ce5c1932e2b278de320d1e7ada3babb361c80643
https://github.com/llvm/llvm-project/commit/ce5c1932e2b278de320d1e7ada3babb361c80643
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
A llvm/test/CodeGen/RISCV/xqcisls-merge-base-offset-shladd.ll
Log Message:
-----------
[RISCV] Fold shladd into Xqcisls scaled load/store in RISCVMergeBaseOffset (#182221)
We can fold `shxadd\qc.shladd` into base+offset load/store instructions
by transforming the load/store into `Xqcisls` scaled load/store
instructions.
For eg.
```
qc.e.li vreg1, s
shxadd vreg2, vreg3, vreg1
lx vreg4, imm(vreg2)
can be transformed to
qc.e.li vreg1, s+imm
qc.lrx vreg4, vreg1, vreg3, (1-7)
```
Such patterns are not folded during ISEL because the we prefer the
`ShlAdd` in `isWorthFoldingIntoRegRegScale` which gives us better code
in most cases.
Test case were generated by an AI which I then hand-edited to add the
negative cases.
Commit: 4a4912294e4088791b56818f0651a5637cc74c19
https://github.com/llvm/llvm-project/commit/4a4912294e4088791b56818f0651a5637cc74c19
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Support/KnownFPClass.cpp
M llvm/test/Transforms/Attributor/nofpclass-powi.ll
Log Message:
-----------
ValueTracking: Handle tracking nan through powi (#179311)
Commit: b397c9d24196fe4103ad7cfe6bbfdfc08496364b
https://github.com/llvm/llvm-project/commit/b397c9d24196fe4103ad7cfe6bbfdfc08496364b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
A llvm/test/Transforms/FunctionAttrs/nofpclass.ll
Log Message:
-----------
FunctionAttrs: Basic propagation of nofpclass (#182444)
Commit: f1bfed10ad5a5214eab553dbec99fa7dfd604551
https://github.com/llvm/llvm-project/commit/f1bfed10ad5a5214eab553dbec99fa7dfd604551
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/inline-asm-clobber.ll
Log Message:
-----------
[ARM] support `r14` as an alias for `lr` in inline assembly (#179740)
In rustc (and I suspect Clang and Zig) there is some special logic to
rewrite `r14` into `lr` when used in inline assembly. LLVM should
probably support `r14` directly.
https://developer.arm.com/documentation/ddi0211/i/programmer-s-model/registers/the-arm-state-register-set
> You can treat r14 as a general-purpose register at all other times.
This heavily suggests that we should be able to use it as a clobber and
read its value.
This is the arm analogue to
https://github.com/llvm/llvm-project/pull/167783.
Commit: c93639830af8d54efe5158373b3a6661dbe595c1
https://github.com/llvm/llvm-project/commit/c93639830af8d54efe5158373b3a6661dbe595c1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
A llvm/test/Transforms/InstCombine/select-fcmp-fmul-zero-absorbing-value.ll
Log Message:
-----------
InstCombine: Add baseline test for fcmp-0-select combine (#172380)
Commit: 8d3e6e709c59024fc6c1b468e366e66368d26e0f
https://github.com/llvm/llvm-project/commit/8d3e6e709c59024fc6c1b468e366e66368d26e0f
Author: Hongxu Xu <xuhongxu96 at gmail.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/vector-reductions.ll
Log Message:
-----------
[InstCombine] Transform splat before n x i1 for vec.reduce.add (#182213)
```llvm
define i1 @src(i1 %0) {
%2 = insertelement <8 x i1> poison, i1 %0, i32 0
%3 = shufflevector <8 x i1> %2, <8 x i1> poison, <8 x i32> zeroinitializer
%4 = tail call i1 @llvm.vector.reduce.add.v8i1(<8 x i1> %3)
ret i1 %4
}
define i1 @tgt(i1 %0) {
ret i1 0
}
```
alive2: https://alive2.llvm.org/ce/z/vejxot
`vector_reduce_add(<n x i1>)` to `Trunc(ctpop(bitcast <n x i1> to in))`
interferes with the `vector_reduce_add(<splat>)` to `mul`, so I
exchanged their order.
Relevant PR: #161020
Commit: fe5096f6983203410d616b408ae8d88cd8cda24c
https://github.com/llvm/llvm-project/commit/fe5096f6983203410d616b408ae8d88cd8cda24c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
Log Message:
-----------
[PatternMatch] Use APInt::tryZExtValue. NFC (#182618)
Commit: 15430ba094bedceb919d5e000adf15977d702983
https://github.com/llvm/llvm-project/commit/15430ba094bedceb919d5e000adf15977d702983
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Use APInt::isPower2() instead of popcount() == 1. NFC (#182600)
Commit: 7ed0aa2652b4d8d86b9e2d60ce91b7b9046d27cf
https://github.com/llvm/llvm-project/commit/7ed0aa2652b4d8d86b9e2d60ce91b7b9046d27cf
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0Plugin.h
M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
M offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
M offload/plugins-nextgen/level_zero/src/L0Program.cpp
Log Message:
-----------
[OFFLOAD][L0] Remove leftover global constructor (#182611) (#182665)
fixes #182611
Commit: 7a1c498f26cbadf16144ea635c358c83ebcf6c50
https://github.com/llvm/llvm-project/commit/7a1c498f26cbadf16144ea635c358c83ebcf6c50
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/test/Transforms/InstCombine/select-fcmp-fmul-zero-absorbing-value.ll
Log Message:
-----------
[InstCombine] Update test
This was breaking buildbots due to a mid-air collision where some change
caused test differences between when the test was put up/passed CI and
when it landed.
Commit: a67bf7d796df75592a26a377420696e3c7b7993f
https://github.com/llvm/llvm-project/commit/a67bf7d796df75592a26a377420696e3c7b7993f
Author: 🍙 𝑹𝒖𝒓𝒊 🎋 <tokynblast at gmail.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M .github/workflows/lldb-pylint-action.yml
Log Message:
-----------
Remove whitespace on blank lines (#182574)
I removed some whitespace on a workflow job, which only had spaces.
I did not remove the newline completelty, only the whitespace junk,
which I found by git diffing the head.
Commit: 6e0054aa512aaa29cc04788291bbf3b4dfcbd2b3
https://github.com/llvm/llvm-project/commit/6e0054aa512aaa29cc04788291bbf3b4dfcbd2b3
Author: bala-bhargav <penugondabalabharghav at gmail.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/test/Transforms/Scalarizer/constant-extractelement.ll
Log Message:
-----------
[Scalarizer] Fix out-of-bounds crash (#180359)
When processing an extractelement instruction with an index that exceeds
the vector size (e.g., extracting index 2147483647 from a 4-element
vector), the scalarizer would calculate an out-of-bounds Fragment index
and crash with an assertion failure in `SmallVector::operator[]`.
This PR adds a bounds check in
`ScalarizerVisitor::visitExtractElementInst` to prevent a crash when the
extractelement index is out of bounds.
Fixes #179880
Commit: 20bce6de5e72aa7129869315e3a23972bd897285
https://github.com/llvm/llvm-project/commit/20bce6de5e72aa7129869315e3a23972bd897285
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/faster-string-find.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
Log Message:
-----------
[clang-tidy] Teach `performance-faster-string-find` about `starts_with`, `ends_with`, and `contains` (#182633)
These aren't "find" functions per se, so they don't totally match the
check name, but the same optimization is applicable to them (for
example, see
https://en.cppreference.com/w/cpp/string/basic_string_view/starts_with.html).
This optimization could be expanded to `operator+=` as well, but that's
a bit more involved, so I'm not doing it in this PR.
Commit: 18131dca55488478d455d5e36cea97a3f36d794b
https://github.com/llvm/llvm-project/commit/18131dca55488478d455d5e36cea97a3f36d794b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/test/lit.cfg.py
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Exclude bitcode tests
These tests fail due to inserted function entry count annotations. Just
exclude them for now given they aren't actually running any passes.
Commit: 4846e3a400ec427444027d8ae28fd71bcbd4fd4e
https://github.com/llvm/llvm-project/commit/4846e3a400ec427444027d8ae28fd71bcbd4fd4e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-fcmp-fmul-zero-absorbing-value.ll
Log Message:
-----------
InstCombine: Fold absorbing fmul of compared 0 into select (#172381)
This is similar to the select-bin-op identity case, except
in this case we are looking for the absorbing value for the
binary operator.
If the compared value is a floating-point 0, and the fmul is
implied to return a +0, put the 0 directly into the select
operand. This pattern appears in scale-if-denormal sequences
after optimizations assume denormals are treated as 0.
Fold:
```
%fabs.x = call float @llvm.fabs.f32(float %x)
%mul.fabs.x = fmul float %fabs.x, known_positive
%x.is.zero = fcmp oeq float %x, 0.0
%select = select i1 %x.is.zero, float %mul.fabs.x, float %fabs.x
```
To:
```
%fabs.x = call float @llvm.fabs.f32(float %x)
%mul.fabs.x = fmul float %fabs.x,known_positive
%x.is.zero = fcmp oeq float %x, 0.0
%select = select i1 %x.is.zero, float 0.0, float %fabs.x
```
https://alive2.llvm.org/ce/z/Qcy56Z
Commit: a6416a8411add524066ffbad288617e280bd0fbe
https://github.com/llvm/llvm-project/commit/a6416a8411add524066ffbad288617e280bd0fbe
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/test/TableGen/RegisterInfoEmitter-regcost-tuple.td
Log Message:
-----------
[NFC] Simplify a RegisterInfoEmitter lit test (#182672)
Eliminate SubRegIndex defs that are not used/required for the test.
Commit: 8e2222795bcc70bfdf8d7506c19ca8cee59be548
https://github.com/llvm/llvm-project/commit/8e2222795bcc70bfdf8d7506c19ca8cee59be548
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/cmake/modules/TableGen.cmake
Log Message:
-----------
Revert "[CMake][TableGen] Fix Ninja depslog error with implicit outputs on Ninja <1.10" (#182695)
Reverts llvm/llvm-project#179842
This seems to break some dependency tracking, as I no longer see .inc
files being regenerated when I update a TableGen .cpp file. Reverting
for now per the discussion on the PR.
Commit: 4ec0c73227869d8cd782f819faee21dd3c5537a7
https://github.com/llvm/llvm-project/commit/4ec0c73227869d8cd782f819faee21dd3c5537a7
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/test/CodeGen/Hexagon/bfloat_vec.ll
M llvm/test/CodeGen/Hexagon/constp-extract.ll
A llvm/test/CodeGen/Hexagon/frame-pointer-attr.ll
M llvm/test/CodeGen/Hexagon/hasfp-crash1.ll
Log Message:
-----------
[Hexagon] Fix hasFP to respect frame-pointer attribute unconditionally (#181524)
HexagonFrameLowering::hasFPImpl() incorrectly gated the
DisableFramePointerElim check behind MFI.getStackSize() > 0. This meant
leaf functions with no stack allocation would not get a frame pointer
even when "frame-pointer"="all" (-fno-omit-frame-pointer) was set,
violating the user/ABI request. Every other LLVM target checks
DisableFramePointerElim unconditionally.
Move the DisableFramePointerElim and EliminateFramePointer checks
outside the getStackSize() > 0 guard so they are always evaluated.
Update affected tests whose CHECK patterns change due to the now-
correct allocframe emission.
Commit: 09d791608a4cdd317d12a4399194ccf8d0940269
https://github.com/llvm/llvm-project/commit/09d791608a4cdd317d12a4399194ccf8d0940269
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/bitcnt-big-integer.ll
Log Message:
-----------
[X86] bitcnt-big-integer.ll - add non-VLX avx512vpopcntdq test coverage (#182676)
Pulled out of #182547
Commit: 567a5466edba854a097744c14ecdb7b9a388ba15
https://github.com/llvm/llvm-project/commit/567a5466edba854a097744c14ecdb7b9a388ba15
Author: YohayAiTe <40911048+YohayAiTe at users.noreply.github.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
Log Message:
-----------
Clean vector clamps in X86 GlobalISel. (#182664)
Commit: 5e0ef90141b7df64cd1b8cd6aec763ff347a6458
https://github.com/llvm/llvm-project/commit/5e0ef90141b7df64cd1b8cd6aec763ff347a6458
Author: Jin Huang <jinhuang1102 at gmail.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/urem.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[profcheck][CVP] Adding 'unknown' branch weights for `urem` expansion in CVP (#180637)
This change ensures that !prof metadata is preserved and scaled
appropriately when the `CorrelatedValuePropagation` (CVP) pass expands
an expensive `urem` instruction into a sequence of `icmp`, `select`, and
`sub`.
In the RP, we add the `unknown`(50/50) branch weights for the new
`select` based on the original instruction's profile data.
Co-authored-by: Jin Huang <jingold at google.com>
Commit: 62e55b410c1de01a9ba0cdd324fd53984e15c7b5
https://github.com/llvm/llvm-project/commit/62e55b410c1de01a9ba0cdd324fd53984e15c7b5
Author: Sergey Subbotin <ssubbotin at gmail.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/tools/dump_format_style.py
M clang/include/clang/Format/Format.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add per-operator granularity for BreakBinaryOperations (#181051)
## Summary
Extend `BreakBinaryOperations` to accept a structured YAML configuration
with per-operator break rules and minimum chain length gating via
`PerOperator`.
- **Per-operator rules**: specify break style (`Never`, `OnePerLine`,
`RespectPrecedence`) for specific operator groups
- **Minimum chain length**: only trigger breaking when a chain has N or
more operators
- **Fully backward-compatible**: the simple scalar form
(`BreakBinaryOperations: OnePerLine`) behaves identically to the current
enum value
RFC discussion:
https://discourse.llvm.org/t/rfc-per-operator-granularity-for-breakbinaryoperations/89800
### New YAML syntax
```yaml
BreakBinaryOperations:
Default: Never
PerOperator:
- Operators: ['&&', '||']
Style: OnePerLine
MinChainLength: 3
- Operators: ['|']
Style: OnePerLine
```
### Motivation
`BreakBinaryOperations` operates at the level of all binary operators
simultaneously. Enabling `OnePerLine` for `&&`/`||` condition chains
also forces it on `+`, `|`, and other operators, which may not be
desired. The only workaround today is `// clang-format off`.
## Test plan
- [x] All existing `BreakBinaryOperations` unit tests updated and
passing
- [x] New tests for per-operator rules (`&&`/`||` OnePerLine + default
Never)
- [x] New tests for multiple operator groups (`&&`/`||` + `|`)
- [x] New tests for `MinChainLength` gating (chain of 2 vs 3+)
- [x] Config parse tests for structured YAML form
- [x] RST documentation auto-generated via `dump_format_style.py`
- [x] Release notes updated
Commit: 7063b22c6371a4624f75e77dadd1a40a2824eaaa
https://github.com/llvm/llvm-project/commit/7063b22c6371a4624f75e77dadd1a40a2824eaaa
Author: Maksim Panchenko <maks at fb.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/X86/phdr-load-order.test
Log Message:
-----------
[BOLT] Always place new PT_LOAD after existing ones (#182642)
Insert new PT_LOAD segments right after the last existing PT_LOAD in the
program header table, instead of before PT_DYNAMIC or at the end. This
maintains the ascending p_vaddr order required by the ELF specification.
Previously, new segments could end up breaking PT_LOAD p_vaddr order
when PT_LOAD segments followed PT_DYNAMIC or PT_GNU_STACK. This lead to
runtime loader incorrectly assessing dynamic object size and silently
corrupting memory.
Commit: c6ade8a170b259fabc9999f53a1bd8a73e5ef111
https://github.com/llvm/llvm-project/commit/c6ade8a170b259fabc9999f53a1bd8a73e5ef111
Author: bala-bhargav <penugondabalabharghav at gmail.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
A llvm/test/CodeGen/AArch64/unsupported-fpext-x86-fp80.ll
Log Message:
-----------
[SelectionDAG] Emit error instead of asserting for unsupported FP_EXTEND (#182660)
Replace the assertion failure in
`DAGTypeLegalizer::SoftenFloatRes_FP_EXTEND` with a user-friendly error
when no libcall is available for the requested
Fix
Replace the `assert` with an `emitError` call that reports the
unsupported
conversion gracefully and returns a poison value
Fixes: #182449
Commit: fdce869d723f8032b48bb0e551b59a13b5d002d9
https://github.com/llvm/llvm-project/commit/fdce869d723f8032b48bb0e551b59a13b5d002d9
Author: dan rouhana <danielrouhana at gmail.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
A llvm/test/tools/llvm-mca/AArch64/Apple/darwin-subsections-via-symbols.s
M llvm/tools/llvm-mca/CodeRegionGenerator.h
Log Message:
-----------
[llvm-mca][Darwin] Fix crash on .subsections_via_symbols in asm input (#182694)
## Summary
This PR fixes an llvm-mca crash on Darwin assembly containing
`.subsections_via_symbols`. The directive is forwarded by
`DarwinAsmParser` to `emitSubsectionsViaSymbols()`, which crashes when
it hits the base `MCStreamer` `llvm_unreachable` path. The fix adds a
no-op override in `llvm/tools/llvm-mca/CodeRegionGenerator.h`, scoped to
llvm-mca only
## Problem manifestation
I ran across this while tinkering around with making an interactive
interpreter/code analyzer and implementing apple silicon support.
## Root cause
- `DarwinAsmParser::parseDirectiveSubsectionsViaSymbols` calls
`getStreamer().emitSubsectionsViaSymbols()`
- llvm-mca uses `MCStreamerWrapper`, derived from `MCStreamer`
- `MCStreamerWrapper` did not override `emitSubsectionsViaSymbols()`
- the call therefore reached `MCStreamer::emitSubsectionsViaSymbols()`,
which is `llvm_unreachable`, causing a crash
## Reproduction
I was able to reproduce this in three ways (note: no difference in
behavior was observed with the inclusion/exclusion of `-target
arm64-apple-macos` or any other arch flags):
1. AppleClang-generated assembly:
```bash
cat > /tmp/repro.cpp <<'EOF'
int foo(int x) { return x + 1; }
EOF
/usr/bin/clang++ -target arm64-apple-macos -O0 -S /tmp/repro.cpp -o
/tmp/repro-appleclang.s
/opt/homebrew/opt/llvm/bin/llvm-mca --show-encoding
--register-file-stats /tmp/repro-appleclang.s
```
2. Homebrew Clang-generated assembly:
```bash
cat > /tmp/repro.cpp <<'EOF'
int foo(int x) { return x + 1; }
EOF
/opt/homebrew/opt/llvm/bin/clang++ -target arm64-apple-macos -O0 -S
/tmp/repro.cpp -o /tmp/repro-hbclang.s
/opt/homebrew/opt/llvm/bin/llvm-mca --show-encoding
--register-file-stats /tmp/repro-hbclang.s
```
3. Handwritten Darwin assembly:
```bash
cat > /tmp/min.s <<'EOF'
.text
.subsections_via_symbols
.globl _foo
_foo:
ret
EOF
/opt/homebrew/opt/llvm/bin/llvm-mca --show-encoding
--register-file-stats /tmp/min.s
```
## Fix
Add a no-op `emitSubsectionsViaSymbols()` override to
`MCStreamerWrapper` in `llvm/tools/llvm-mca/CodeRegionGenerator.h`.
This keeps the fix local to llvm-mca’s analysis streamer and does not
change Mach-O object emission behavior. A similar pattern fix is
implemented in `llvm/lib/Object/RecordStreamer.h`
([link](https://github.com/llvm/llvm-project/blob/main/llvm/lib/Object/RecordStreamer.h#L57-L60)).
## Validation
Reproduced and verified on macOS arm64 with the above three reproduction
cases:
1. assembly generated by AppleClang
2. assembly generated by Homebrew Clang
3. manually-authored `.s` file containing `.subsections_via_symbols`
`llvm-mca --show-encoding --register-file-stats` no longer crashes!!
## Notes
>From what I can surmise, this is a consumer-side fix (llvm-mca
parser/streamer), not a producer fix in clang, since the directive is
valid Darwin assembly and can appear in external input files. This
seemed to me like the most targeted, distilled fix that follows the same
pattern used elsewhere. Happy to revise the approach if there’s a better
fit for llvm-mca, thanks for taking a look!!
Commit: 9d9c7fc00bdddd72e78b19e9fbb6af9d07c2218b
https://github.com/llvm/llvm-project/commit/9d9c7fc00bdddd72e78b19e9fbb6af9d07c2218b
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.h
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][Process/FreeBSDKernel] Print unread message buffer on start (#178027)
This is equivalent of kgdb_dmesg() in fbsd-kvm.c in FreeBSD kgdb(1)
port. Unread kernel messages is only printed in interactive mode (i.e.
not in batch mode) to mimic KGDB's behaviour.
Example output:
```
➜ sudo ./build/bin/lldb /boot/kernel/kernel -c /var/crash/vmcore.last
(lldb) target create "/boot/kernel/kernel" --core "/var/crash/vmcore.last"
Unread portion of the kernel message buffer:
panic: kdb_sysctl_panic
cpuid = 1
time = 1769364579
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe01b435fa20
vpanic() at vpanic+0x136/frame 0xfffffe01b435fb50
panic() at panic+0x43/frame 0xfffffe01b435fbb0
kdb_sysctl_panic() at kdb_sysctl_panic+0x63/frame 0xfffffe01b435fbe0
sysctl_root_handler_locked() at sysctl_root_handler_locked+0x9c/frame 0xfffffe01b435fc30
sysctl_root() at sysctl_root+0x22f/frame 0xfffffe01b435fcb0
userland_sysctl() at userland_sysctl+0x196/frame 0xfffffe01b435fd50
sys___sysctl() at sys___sysctl+0x65/frame 0xfffffe01b435fe00
amd64_syscall() at amd64_syscall+0x169/frame 0xfffffe01b435ff30
fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe01b435ff30
--- syscall (202, FreeBSD ELF64, __sysctl), rip = 0x3f67cad1c8da, rsp = 0x3f67c80261d8, rbp = 0x3f67c8026220 ---
KDB: enter: panic
Core file '/var/crash/vmcore.last' (x86_64) was loaded.
(lldb)
```
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: f912679b761bdd3d8ab3a1042d3ea848a663e201
https://github.com/llvm/llvm-project/commit/f912679b761bdd3d8ab3a1042d3ea848a663e201
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M flang/test/Lower/forall/forall-construct-4.f90
M flang/test/Lower/forall/forall-construct.f90
M flang/test/Lower/forall/forall-ranked.f90
M flang/test/Lower/forall/forall-slice.f90
M flang/test/Lower/forall/forall-stmt.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 19) (#182554)
Tests converted from test/Lower/forall: forall-construct-4.f90,
forall-construct.f90, forall-ranked.f90, forall-slice.f90,
forall-stmt.f90
Commit: c04b00de750801238bc85f11874c66a41b61b2c5
https://github.com/llvm/llvm-project/commit/c04b00de750801238bc85f11874c66a41b61b2c5
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF] Add target-specific relocation scanning for ARM (#182440)
Implement ARM::scanSectionImpl, following the pattern established for
AArch64 and other targets. This merges the getRelExpr and TLS handling
for SHF_ALLOC sections into the target-specific scanner, enabling
devirtualization and eliminating abstraction overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic rs.scan() path.
- Use processR_PC/processR_PLT_PC for common PC-relative and PLT
relocations.
- Handle TLS inline: checkTlsLe for TLS LE, handleTlsIe<false> for
TLS IE (no IE-to-LE optimization for ARM), and direct flag/reloc
emission for TLS GD/LD (no GD/LD optimization for ARM).
- Set hasGotOffRel for R_GOTREL/R_GOTONLY_PC relocations.
- Simplify getRelExpr to only handle relocations needed by
relocateNonAlloc and preprocessRelocs.
Commit: d5b94174971f4ce5d8659e4ade27e21858221514
https://github.com/llvm/llvm-project/commit/d5b94174971f4ce5d8659e4ade27e21858221514
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/SmallString.h
M llvm/unittests/ADT/SmallStringTest.cpp
Log Message:
-----------
[LLVM][ADT] Add some more `starts_with`, `ends_with`, and `contains` overloads to `SmallString` (#182692)
This makes `SmallString` consistent with `std::string`,
`std::string_view`, and `StringRef`.
Commit: 76af74004e8bd1be55dc3b6b497575492fc47586
https://github.com/llvm/llvm-project/commit/76af74004e8bd1be55dc3b6b497575492fc47586
Author: Ayokunle Amodu <ayokunle321 at gmail.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticCommentKinds.td
M clang/lib/AST/CommentSema.cpp
Log Message:
-----------
[clang][diagnostics] Refactor `warn_doc_function_method_decl_mismatch` to use enum_select (#181769)
Related: https://github.com/llvm/llvm-project/issues/123121
This patch refactors the `warn_doc_function_method_decl_mismatch`
diagnostic to use `enum_select` instead of `select`. This gets rid of
magic numbers in its caller and improves readability.
Commit: d92011fe7df8955423a8ed6e3d12841d9719f460
https://github.com/llvm/llvm-project/commit/d92011fe7df8955423a8ed6e3d12841d9719f460
Author: Mohamed Ali <mohmedali1462005 at gmail.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaBoundsSafety.cpp
Log Message:
-----------
[clang][NFC] Fix typo in SemaBoundsSafety.cpp comments (#181585)
Minor comment fix.
Commit: a0f344f69d7eb5d87dd78c628a196a3a7440e792
https://github.com/llvm/llvm-project/commit/a0f344f69d7eb5d87dd78c628a196a3a7440e792
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M mlir/tools/mlir-tblgen/OpDocGen.cpp
Log Message:
-----------
[mlir-tblgen] Remove `namespace {}` around OpDocGroup (#182721)
This is temporary workaround for Asan report #182720.
Commit: 6e9a308a884d18315fa3cb31693718148dfa63dd
https://github.com/llvm/llvm-project/commit/6e9a308a884d18315fa3cb31693718148dfa63dd
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M clang/lib/Basic/DiagnosticIDs.cpp
Log Message:
-----------
[clang] Avoid calling isInSystemMacro() too often (#182217)
This caused a performance regression as reported in
https://github.com/llvm/llvm-project/pull/141950
Commit: 31daf5cd55beb30c3cec8b525a17a8de875e0502
https://github.com/llvm/llvm-project/commit/31daf5cd55beb30c3cec8b525a17a8de875e0502
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/TableGen/RegClassByHwMode.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[TableGen] Add OPC_EmitIntegerByHwMode0 and OPC_CheckChildXTypeByHwMode0. NFC (#182686)
Add versions of these opcodes that implicitly call getValueTypeForHwMode
with index 0.
This reduces llc size by ~100K.
Commit: be2588ae02f2348c8932311a11ffb512e20009fc
https://github.com/llvm/llvm-project/commit/be2588ae02f2348c8932311a11ffb512e20009fc
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][ExprConst] Remove bogus diagnostic (#181792)
This diagnostic is untested and this code path should be dead.
Commit: 8701cfc0008c4756f04f9839fd4afbb3f112bdad
https://github.com/llvm/llvm-project/commit/8701cfc0008c4756f04f9839fd4afbb3f112bdad
Author: Zinovy Nis <zinovy.nis at gmail.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/performance/StringViewConversionsCheck.cpp
M clang-tools-extra/docs/clang-tidy/checks/performance/string-view-conversions.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions.cpp
Log Message:
-----------
[clang-tidy] perf-str-view-conv improvement: support c_str/data fixing (#181473)
Handle new cases:
```
foo_sv(42, std::string(sv).c_str(), 3.14); -> foo_sv(42, sv, 3.14);
foo_sv(42, std::string(sv).data(), 2.71); -> foo_sv(42, sv, 2.71);
```
Commit: 8542514e5cc39730cf40b939a08edc68374a94e5
https://github.com/llvm/llvm-project/commit/8542514e5cc39730cf40b939a08edc68374a94e5
Author: Twice <twice at apache.org>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M mlir/python/mlir/dialects/ext.py
M mlir/test/python/dialects/ext.py
Log Message:
-----------
[MLIR][Python] Allow passing dialect as a class keyword argument (#182465)
Previously, we constructed new ops using the pattern `class
MyOp(MyInt.Operation)`.
Now we’ve added a new pattern: `class MyOp(Operation, dialect=MyInt)`,
which allows more flexible composition. For example:
```python
class BinOpBase(Operation): # it can be used in any dialect!
res: Result[Any]
lhs: Operand[Any]
rhs: Operand[Any]
class MyInt(Dialect, name="myint"):
pass
class AddOp(BinOpBase, dialect=MyInt, name="add"):
...
```
Commit: 15487238c4e5d433f8e2078fdf1534ae6a0e8d10
https://github.com/llvm/llvm-project/commit/15487238c4e5d433f8e2078fdf1534ae6a0e8d10
Author: dianqk <dianqk at dianqk.net>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M llvm/lib/Target/Sparc/SparcInstrInfo.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.h
A llvm/test/CodeGen/SPARC/stack-slot-coloring.mir
Log Message:
-----------
[SPARC] Set how many bytes load from or store to stack slot (#182674)
Refer from: https://reviews.llvm.org/D44782
The testcase is copied from
llvm/test/CodeGen/RISCV/stack-slot-coloring.mir.
Commit: 4226250a421b6dbb734d4358fcb36a97da2278d7
https://github.com/llvm/llvm-project/commit/4226250a421b6dbb734d4358fcb36a97da2278d7
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h
M mlir/include/mlir/Dialect/XeGPU/uArch/uArchBase.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] Fix matrix ops layout propagation (#182268)
Commit: c42ad5898e67e24d218e1310685d17d2590c44f6
https://github.com/llvm/llvm-project/commit/c42ad5898e67e24d218e1310685d17d2590c44f6
Author: Sietze Riemersma <43845930+KungFuDonkey at users.noreply.github.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/WaveActiveProduct.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveProduct-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll
A llvm/test/CodeGen/DirectX/WaveActiveProduct.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveProduct.ll
Log Message:
-----------
[HLSL][DXIL][SPRIV] Added WaveActiveProduct intrinsic #164385 (#165109)
>From issue #99165, adds the implementation of WaveActiveProduct. Mainly
followed how WaveActiveSum was implemented
- [x] Implement WaveActiveProduct clang builtin,
- [x] Link WaveActiveProduct clang builtin with hlsl_intrinsics.h
- [x] Add sema checks for WaveActiveProduct to
CheckHLSLBuiltinFunctionCall in SemaChecking.cpp
- [x] Add codegen for WaveActiveProduct to EmitHLSLBuiltinExpr in
CGBuiltin.cpp
- [x] Add codegen tests to
clang/test/CodeGenHLSL/builtins/WaveActiveProduct.hlsl
- [x] Add sema tests to
clang/test/SemaHLSL/BuiltIns/WaveActiveProduct-errors.hlsl
- [x] Create the int_dx_WaveActiveProduct intrinsic in
IntrinsicsDirectX.td
- [x] Create the DXILOpMapping of int_dx_WaveActiveProduct to 119 in
DXIL.td
- [x] Create the WaveActiveProduct.ll and WaveActiveProduct_errors.ll
tests in llvm/test/CodeGen/DirectX/
- [x] Create the int_spv_WaveActiveProduct intrinsic in
IntrinsicsSPIRV.td
- [x] In SPIRVInstructionSelector.cpp create the WaveActiveProduct
lowering and map it to int_spv_WaveActiveProduct in
SPIRVInstructionSelector::selectIntrinsic.
- [x] Create SPIR-V backend test case in
llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveProduct.ll
Also created the [offload
tests](https://github.com/llvm/offload-test-suite/pull/486)
Commit: 844619e52653d084c898131e890e0c2411033e67
https://github.com/llvm/llvm-project/commit/844619e52653d084c898131e890e0c2411033e67
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
R clang/test/CodeGenHLSL/builtins/WaveActiveProduct.hlsl
R clang/test/SemaHLSL/BuiltIns/WaveActiveProduct-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll
R llvm/test/CodeGen/DirectX/WaveActiveProduct.ll
R llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveProduct.ll
Log Message:
-----------
Revert "[HLSL][DXIL][SPRIV] Added WaveActiveProduct intrinsic #164385" (#182741)
Reverts llvm/llvm-project#165109
Commit: 8d53f11955057a5ffd1482978631128fa8ae7e74
https://github.com/llvm/llvm-project/commit/8d53f11955057a5ffd1482978631128fa8ae7e74
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M libcxx/test/extensions/libcxx/depr/depr.c.headers/extern_c.pass.cpp
M libcxx/test/extensions/libcxx/depr/depr.c.headers/include_as_c.sh.cpp
M libcxx/test/extensions/libcxx/depr/depr.c.headers/stdint_h.xopen_source.compile.pass.cpp
M libcxx/test/extensions/posix/xopen_source.gen.py
M libcxx/test/libcxx-03/assertions/customize_verbose_abort.compile-time.pass.cpp
M libcxx/test/libcxx-03/assertions/modes/hardening_mode_incorrect_value.sh.cpp
M libcxx/test/libcxx-03/transitive_includes.gen.py
M libcxx/test/libcxx-03/utilities/utility/pairs/pairs.pair/abi.non_trivial_copy_move.pass.cpp
M libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_nontrivial.pass.cpp
M libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_trivial.pass.cpp
M libcxx/test/libcxx/assertions/customize_verbose_abort.compile-time.pass.cpp
M libcxx/test/libcxx/assertions/modes/hardening_mode_incorrect_value.sh.cpp
M libcxx/test/libcxx/assertions/semantics/assertion_semantic_incorrect_value.sh.cpp
M libcxx/test/libcxx/depr/exception.unexpected/unexpected_disabled_cpp17.verify.cpp
M libcxx/test/libcxx/language.support/timespec_get.xopen.compile.pass.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/utilities/utility/pairs/pairs.pair/abi.non_trivial_copy_move.pass.cpp
M libcxx/test/selftest/modules/std-and-std.compat-module.sh.cpp
M libcxx/test/selftest/modules/std-module.sh.cpp
M libcxx/test/selftest/modules/std.compat-module.sh.cpp
M libcxx/test/std/modules/std.compat.pass.cpp
M libcxx/test/std/modules/std.pass.cpp
M libcxx/utils/libcxx/test/config.py
M libcxx/utils/libcxx/test/dsl.py
M libcxx/utils/libcxx/test/format.py
M libcxx/utils/libcxx/test/modules.py
Log Message:
-----------
[libc++] Enable additional tests when Clang modules are enabled (#168967)
Disabling tests when Clang modules are enabled is not great because we
are moving more and more tests towards using Clang modules by default.
Instead, disable Clang modules on a per-test basis.
Commit: d7170f6235ec3eb86cd8551d49be34c255a33eed
https://github.com/llvm/llvm-project/commit/d7170f6235ec3eb86cd8551d49be34c255a33eed
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M llvm/docs/SourceLevelDebugging.rst
M llvm/docs/TestSuiteGuide.md
R llvm/docs/TestSuiteMakefileGuide.rst
M llvm/docs/TestingGuide.rst
Log Message:
-----------
[llvm] Remove the docs for the (now removed) LLVM test-suite Makefiles (#179288)
The LLVM test suite used to provide a Makefile-based suite, which had
been deprecated and mostly unmaintained for many years. As explained in
https://discourse.llvm.org/t/llvm-test-suite-removing-the-deprecated-makefiles,
we recently got consensus to remove that test suite, which was done in
llvm/llvm-test-suite#320. This patch cleans up the related
documentation.
Commit: 0d0012ec63dfd02a124c8b3c96683eb4103051aa
https://github.com/llvm/llvm-project/commit/0d0012ec63dfd02a124c8b3c96683eb4103051aa
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR] Emit cir.zero directly in Vector logical ops (#182703)
Emit `cir.zero` directly instead of `vec.create<n, 0>` that will be
folded to `cir.const_vector<n, 0>` later
Commit: 188346d433d61909cf1abc6749cec973b1ca51f9
https://github.com/llvm/llvm-project/commit/188346d433d61909cf1abc6749cec973b1ca51f9
Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/clmul-fixed.ll
Log Message:
-----------
[DAGCombiner] Add legality check for CLMULR fold to prevent infinite loop (#182376)
The bitreverse(clmul(bitreverse, bitreverse)) -> clmulr fold was missing
a legality check, causing an infinite loop when CLMULR isn't supported
on the target. Added the check to match other folds in visitBITREVERSE.
Fixes #182270
Commit: d3081aafc47eccba242ffc3cc43ecfcb545a51bb
https://github.com/llvm/llvm-project/commit/d3081aafc47eccba242ffc3cc43ecfcb545a51bb
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/SystemZ/vectorized-epilogue-loop.ll
Log Message:
-----------
[SystemZ, LoopVectorizer] Enable vectorization of epilogue loops. (#172925)
This enables vectorization of epilogue loops produced by LoopVectorizer on
SystemZ.
LoopVectorizationCostModel::isEpilogueVectorizationProfitable() and
TTI.preferEpilogueVectorization() have been refactored slightly so that
targets can override preferEpilogueVectorization(ElementCount Iters) and
directly control this, whereas before this depended on
TTI.getMaxInterleaveFactor() as well.
The Iters passed to preferEpilogueVectorization() reflects the total number
of scalar iterations performed in the vectorized loop (including interleaving).
The default implementation of preferEpilogueVectorization() now subsumes
the old check against getMaxInterleaveFactor(). This patch should be NFC for
other targets.
Commit: 1161d0732a004814fb42e9b3d4b15b5660cc3870
https://github.com/llvm/llvm-project/commit/1161d0732a004814fb42e9b3d4b15b5660cc3870
Author: Osman Yasar <osmanyas05 at gmail.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-freeze.mir
A llvm/test/CodeGen/AArch64/GlobalISel/combine-same-op.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-same-op.mir
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/rem-by-const.ll
M llvm/test/CodeGen/X86/GlobalISel/sub-scalar.ll
Log Message:
-----------
[GlobalISel] Add sub_same_val rewrites from SelectionDAG (#181134)
This PR adds the patterns `// Fold x op x -> 0` for `G_SUB` and `G_XOR`
operations to GlobalISel.
SelectionDAG rewrite:
https://github.com/llvm/llvm-project/blob/838be78e44cd1f70006eb508bfc925e3e56aac03/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L4192
Commit: 1bf4ca3a19d675390f2188ea21a58f86fa53feb8
https://github.com/llvm/llvm-project/commit/1bf4ca3a19d675390f2188ea21a58f86fa53feb8
Author: Osman Yasar <osmanyas05 at gmail.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/CodeGen/AArch64/GlobalISel/combine-sub.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-sub.mir
Log Message:
-----------
[GlobalISel] Add sub_one_from_sub from SelectionDAG (#181670)
This PR adds the rewrite `// fold (A - B) - 1 -> add (xor B, -1), A`
from
[SelectionDAG](https://github.com/llvm/llvm-project/blob/3765b09d20e01976a6ab6f8b922a6b93751fbf44/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L4411)
to GlobalISel.
Commit: d8f778935a5bf8a173a3c1d886fd736a4ef6cf05
https://github.com/llvm/llvm-project/commit/d8f778935a5bf8a173a3c1d886fd736a4ef6cf05
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.h
Log Message:
-----------
[clang-tidy][NFC] Fix llvm-use-ranges warnings on codebase (#182758)
Commit: 1dcaf4793a150475d84114cb865d95564ff6d6e5
https://github.com/llvm/llvm-project/commit/1dcaf4793a150475d84114cb865d95564ff6d6e5
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/lib/Analysis/IVDescriptors.cpp
Log Message:
-----------
[IVDescriptors] Identify min/max recurrences in single pass. (#163460)
This patch ties to extend the approach from
https://github.com/llvm/llvm-project/pull/141431 to all min/max
recurrence kinds.
This patch adds a new getMinMaxRecurrence that identifies all min/max
recurrences in a single pass. It starts at the backedge value of a phi
and tries to identify the kind of the min/max recurrences.
It then walks from the backedge value to its operands recursively until
it reaches out-of-loop values or the phi.
Then users of both the backedge value and all instructions in the chain
from backedge value to phi are checked.
This consolidates all logic to identify min/max recurrences to a single
function, and avoids the need to try to identify each min/max reduction
kind individually.
PR: https://github.com/llvm/llvm-project/pull/163460
Commit: d999f94aee4e630804214812d81e6916ca67c7bf
https://github.com/llvm/llvm-project/commit/d999f94aee4e630804214812d81e6916ca67c7bf
Author: John Mitchell <fauxprogrammer at gmail.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
Log Message:
-----------
[clang-format] Add C language support for IntegerLiteralSeparator (#182296)
C23 language standard has added support for the C++ tick mark as a
numeric separator. Add support to clang-format so that when formatting
configured for LK_C this code path is enabled.
Fixes #179686
Commit: 57f486195aff60037686418d26c473f4a287dcdf
https://github.com/llvm/llvm-project/commit/57f486195aff60037686418d26c473f4a287dcdf
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/select-first-index-fp.ll
R llvm/test/Transforms/LoopVectorize/select-fmax-last-index.ll
R llvm/test/Transforms/LoopVectorize/select-fmin-last-index.ll
A llvm/test/Transforms/LoopVectorize/select-last-index-fp.ll
Log Message:
-----------
[LV] Add additional tests for FP argmin/argmax.
Extend existing tests to cover both finding first/last argmin/argmax for
floating point reductions.
Commit: 37a32d47fb2cfa4db8405ed9184a6bc331420d77
https://github.com/llvm/llvm-project/commit/37a32d47fb2cfa4db8405ed9184a6bc331420d77
Author: David Green <david.green at arm.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M llvm/test/CodeGen/ARM/bfx.ll
M llvm/test/CodeGen/Thumb/pr35836.ll
M llvm/test/CodeGen/Thumb/pr35836_2.ll
Log Message:
-----------
[ARM] Regenerate bfx.ll and pr35836.ll tests. NFC
Commit: 690312e08885eca30759c108e9e47ebf4e5eceba
https://github.com/llvm/llvm-project/commit/690312e08885eca30759c108e9e47ebf4e5eceba
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
A llvm/test/Transforms/LoopVectorize/find-last-iv-interleave.ll
A llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr.ll
A llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-load.ll
R llvm/test/Transforms/LoopVectorize/find-last-sink-based-iv-expr.ll
Log Message:
-----------
[LV] Add additional find-last reduction tests with sink-able exprs.
Commit: bd3b163dce306040e2fa8d3bf5eef2385fc0bb37
https://github.com/llvm/llvm-project/commit/bd3b163dce306040e2fa8d3bf5eef2385fc0bb37
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/freeze-fp-ops.ll
M llvm/test/Transforms/InstCombine/freeze.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/nsw.ll
M llvm/test/Transforms/InstCombine/select-gep.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/sub-of-negatible-inseltpoison.ll
M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
M llvm/test/Transforms/InstCombine/urem-via-cmp-select.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/PGOProfile/chr.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
Log Message:
-----------
Revert "[InstCombine] Allow freezing multiple operands (#154336)" (#182769)
This reverts commit f8f6965ceece9e330ddb66db5f402ecfb5e3ad34.
This is causing infinte loops interacting with other transforms. See
discussion on #182647 .
Commit: 648193e1619f7af68230f6eddc526af542446cd8
https://github.com/llvm/llvm-project/commit/648193e1619f7af68230f6eddc526af542446cd8
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2026-02-22 (Sun, 22 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:
-----------
Reapply "[mlir][linalg] Make conv dim inference return pairing (outputImage, filterLoop)" (#182740)
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.
The revision was reverted because of memory leak. The fix is using
OwningOpRef to wrap ModuleOp, so the nested operations are destroyed at
the end, which is similar to other MLIR unittests.
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 8e8974e5ebb0aa73abb498f10133756d3fd37711
https://github.com/llvm/llvm-project/commit/8e8974e5ebb0aa73abb498f10133756d3fd37711
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M polly/lib/External/isl/GIT_HEAD_ID
M polly/lib/External/isl/isl_ast_build.c
M polly/lib/External/isl/isl_ast_build_private.h
M polly/lib/External/isl/isl_ast_codegen.c
M polly/lib/External/isl/isl_coalesce.c
M polly/lib/External/isl/isl_test2.cc
M polly/lib/External/isl/test_inputs/codegen/omega/wak1-0.c
M polly/lib/External/isl/test_inputs/codegen/omega/wak2-0.c
M polly/lib/External/isl/test_inputs/codegen/omega/wak2-1.c
M polly/lib/External/isl/test_inputs/codegen/redundant.c
M polly/lib/External/isl/test_inputs/codegen/shift2.c
M polly/test/DeLICM/reduction_looprotate_hoisted.ll
M polly/test/DependenceInfo/reduction_multiple_reductions_2.ll
M polly/test/ScopInfo/invariant_load_addrec_sum.ll
M polly/test/ScopInfo/long-sequence-of-error-blocks.ll
M polly/test/ScopInfo/multidim_2d_with_modref_call.ll
M polly/test/ScopInfo/multidim_2d_with_modref_call_2.ll
M polly/test/ScopInfo/multidim_fortran_2d_with_modref_call.ll
M polly/test/ScopInfo/wraping_signed_expr_5.ll
Log Message:
-----------
[Polly] Update isl to isl-0.27-82-g38cf72a4 (#182786)
Update isl to include
https://repo.or.cz/isl.git/commit/38cf72a41b708475fc22dc9fc62c7caae1ac29f6
which fixes #179993. This changes some string representations of ISL
objects in tests which are updated.
Fixes #179993
Thanks @skimo-openhub for the fix and @thapgua for the bugreport.
Commit: 5b1a0230d9fe3480c41acf3ecbc855027b4066a3
https://github.com/llvm/llvm-project/commit/5b1a0230d9fe3480c41acf3ecbc855027b4066a3
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc][CMake] Add COMPONENT ${ARG_PARENT_TARGET} to install (#182716)
Toolchain can specify the component to selectively install libclc to a
deploy folder. E.g. our downstream SYCL toolchain deploy:
https://github.com/intel/llvm/blob/e7b423fd517d/sycl/CMakeLists.txt#L531
Also check ARG_PARENT_TARGET is defined and non-empty.
Co-authored-by: Jinsong Ji <jinsong.ji at intel.com>
Commit: 686acf63823734b38f55dd8ae6fcd8aa27930f15
https://github.com/llvm/llvm-project/commit/686acf63823734b38f55dd8ae6fcd8aa27930f15
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir] Make [tensor|memref]::ExpandShapeOp verifier stricter. (#181020)
The number of dynamic dims in output_shape is expected to be as the same
as the result type.
The revision also trims double whitespaces from the doc, because it also
updates the op description.
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: e37c985ba09d424a1c8b553a8c511b18f437d386
https://github.com/llvm/llvm-project/commit/e37c985ba09d424a1c8b553a8c511b18f437d386
Author: Connector Switch <c8ef at outlook.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M libcxx/include/__atomic/atomic.h
Log Message:
-----------
[libc++] Fix typo in atomic.h comment (#182719)
Commit: 384106b8ec2a7afc43e7b263af598429d50f068e
https://github.com/llvm/llvm-project/commit/384106b8ec2a7afc43e7b263af598429d50f068e
Author: Jim Lin <jim at andestech.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedAndes45.td
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-conversion.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-fma.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-fp.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-permutation.s
Log Message:
-----------
[RISCV] Update Andes45 vector floating-point arithmetic scheduling info (#181289)
This PR adds latency/throughput for all RVV floating-point arithmetic to
the andes45 series scheduling model.
Commit: 0285308d34a5122e6e6833690d4f973347293394
https://github.com/llvm/llvm-project/commit/0285308d34a5122e6e6833690d4f973347293394
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/Target/X86/X86TargetMachine.h
Log Message:
-----------
[CodeGen][NewPM] Name parameters in buildCodeGenPipeline
This is consistent with the coding style, and makes things consistent
between the various header files/improves readability slightly.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/182774
Commit: 2617cc5e82da19820d3da531c84df95f59e63b42
https://github.com/llvm/llvm-project/commit/2617cc5e82da19820d3da531c84df95f59e63b42
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-22 (Sun, 22 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/Analysis/CostModel/X86/clmul.ll
M llvm/test/CodeGen/RISCV/clmul.ll
M llvm/test/CodeGen/RISCV/clmulh.ll
M llvm/test/CodeGen/RISCV/clmulr.ll
M llvm/test/CodeGen/X86/clmul.ll
Log Message:
-----------
[TargetLowering][RISCV] Avoid ISD::MUL in expandCLMUL if hasBitTest or MUL requires a library call. (#182389)
Scalar multiply is not part of the most basic RISC-V ISA. Use a
and+setcc+select for these targets.
The and+setcc+select is also beneficial for targets with bit test
instructions. RISC-V may not get the full benefit here due to
not having a cmove-like instruction without Zicond.
Co-authored-by: fbrv <Fabio.Baravalle at gmail.com>
Commit: ff88b83fed12d12d513e3cb45cd5f2bf1c230d3d
https://github.com/llvm/llvm-project/commit/ff88b83fed12d12d513e3cb45cd5f2bf1c230d3d
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Handle extracts for middle blocks also used by early exiting blocks. NFC (#181789)
Currently createExtractsForLiveOuts only handles creating extracts when
the middle block has one predecessor, but if an early exit exits to the
same block as the latch then it might have multiple predecessors.
This handles the latter case to avoid the need to handle it in
VPlanTransforms::handleUncountableEarlyExits. Addresses the comment in
https://github.com/llvm/llvm-project/pull/174864#discussion_r2794153217
Commit: 059accca5367283d842cfb2bbe03aa45af2fc543
https://github.com/llvm/llvm-project/commit/059accca5367283d842cfb2bbe03aa45af2fc543
Author: Twice <twice at apache.org>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M mlir/include/mlir-c/ExtensibleDialect.h
M mlir/include/mlir/Bindings/Python/IRTypes.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/CAPI/IR/ExtensibleDialect.cpp
M mlir/test/python/dialects/irdl.py
Log Message:
-----------
[MLIR][Python] Add Python and C API of `mlir::DynamicType` (#182751)
This PR adds C and Python API support for `mlir::DynamicType`. It
primarily enables types in dialects that are dynamically generated via
IRDL to be constructed in Python, and allows retrieving the parameters
contained in a dynamic type from Python.
---------
Co-authored-by: Rolf Morel <rolfmorel at gmail.com>
Commit: c4e26ae27936e6c5442b36be84fd16f643ff4b1d
https://github.com/llvm/llvm-project/commit/c4e26ae27936e6c5442b36be84fd16f643ff4b1d
Author: Jim Lin <jim at andestech.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
Log Message:
-----------
[RISCV] Reduce duplicated SFB patterns in RISCVInstrInfoXAndes.td. NFC. (#182800)
This PR is similar to what we did in RISCVInstrInfoSFB.td.
Commit: 9a109fbb6e184ec9bcce10615949f598f4c974a9
https://github.com/llvm/llvm-project/commit/9a109fbb6e184ec9bcce10615949f598f4c974a9
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/vk-ext-builtin-input.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/NonUniformIdx/RWStructuredBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StructuredBuffer.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer-array.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer-peeled-array-minimal.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer-peeled-array.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer-simple.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer-struct.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/issue-146942-ptr-cast.ll
M llvm/test/CodeGen/SPIRV/legalization/load-store-global.ll
M llvm/test/CodeGen/SPIRV/legalization/vector-index-scalarization.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/logical-memcpy.ll
M llvm/test/CodeGen/SPIRV/pointers/array-skips-gep.ll
M llvm/test/CodeGen/SPIRV/pointers/getelementptr-downcast-struct.ll
M llvm/test/CodeGen/SPIRV/pointers/getelementptr-downcast-vector.ll
M llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
M llvm/test/CodeGen/SPIRV/pointers/load-struct.ll
M llvm/test/CodeGen/SPIRV/pointers/pointer-addrspacecast.ll
M llvm/test/CodeGen/SPIRV/pointers/ptrcast-bitcast.ll
M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast-2.ll
M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast.ll
M llvm/test/CodeGen/SPIRV/pointers/sgep-array.ll
M llvm/test/CodeGen/SPIRV/pointers/sgep-dynamic-index.ll
M llvm/test/CodeGen/SPIRV/pointers/sgep-nested-struct-array.ll
M llvm/test/CodeGen/SPIRV/pointers/sgep-runtime-array.ll
M llvm/test/CodeGen/SPIRV/pointers/sgep-struct.ll
M llvm/test/CodeGen/SPIRV/pointers/sgep-vector.ll
M llvm/test/CodeGen/SPIRV/pointers/store-struct.ll
M llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access.ll
M llvm/test/CodeGen/SPIRV/pointers/structured-buffer-vector-access.ll
M llvm/test/CodeGen/SPIRV/semantics/position.ps.ll
M llvm/test/CodeGen/SPIRV/semantics/position.vs.ll
M llvm/test/CodeGen/SPIRV/semantics/target.ps.ll
M llvm/test/CodeGen/SPIRV/spirv-explicit-layout.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-convergence-in-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-multiple-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/return-early.ll
Log Message:
-----------
[SPIR-V] Don't emit alignment decoration for non-kernel SPIR-V (#182772)
Fixes: https://github.com/llvm/llvm-project/issues/135165
Commit: 57f3f1470e5d359d63e16f633a9ca6c377698413
https://github.com/llvm/llvm-project/commit/57f3f1470e5d359d63e16f633a9ca6c377698413
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Fix readability-redundant-parentheses warnings (#182766)
Commit: 404452b29e4b59c6cdece2ec1c99cf7fc57e93db
https://github.com/llvm/llvm-project/commit/404452b29e4b59c6cdece2ec1c99cf7fc57e93db
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/misc/MisleadingBidirectionalCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCStyleCastCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/IntegralLiteralExpressionMatcher.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Fix readability-inconsistent-ifelse-braces warnings (#182764)
This align with [LLVM coding
conventions](https://llvm.org/docs/CodingStandards.html#don-t-use-braces-on-simple-single-statement-bodies-of-if-else-loop-statements):
Quote:
```cpp
// Use braces for the `if` block to keep it uniform with the `else` block.
if (isa<FunctionDecl>(D)) {
handleFunctionDecl(D);
} else {
// In this `else` case, it is necessary that we explain the situation with
// this surprisingly long comment, so it would be unclear without the braces
// whether the following statement is in the scope of the `if`.
handleOtherDecl(D);
}
```
Commit: f4f17bd86c14acb265e1caa7bdc5b3501a7e3b83
https://github.com/llvm/llvm-project/commit/f4f17bd86c14acb265e1caa7bdc5b3501a7e3b83
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
Log Message:
-----------
[clang-tidy][NFC] Fix misc-override-with-different-visibility warnings (#182763)
Ran with config:
```yaml
- key: misc-override-with-different-visibility.DisallowedVisibilityChange
value: widening
```
I think we should only care about widening changes.
Commit: cb3d7ffb09e8be115da1fd57a6c09860e89f5449
https://github.com/llvm/llvm-project/commit/cb3d7ffb09e8be115da1fd57a6c09860e89f5449
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
M llvm/test/CodeGen/AArch64/sve-bf16-combines.ll
Log Message:
-----------
[AArch64] Add bfloat patterns for `partial_reduce_fmla` (#181982)
A BFMLALT/B pair exactly matches the semantics of a partial_reduce_fmla
from (nx)v8bf16 to (nx)v4f32.
Commit: ca7cf834bcbff5a1e243575d46a5258032a02b2a
https://github.com/llvm/llvm-project/commit/ca7cf834bcbff5a1e243575d46a5258032a02b2a
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[Maintainers] Fix broken clang link (NFC) (#182451)
Was recently converted to .md (44f248499616).
Commit: 53648f571a0e91378706dcb92f877721275a86a8
https://github.com/llvm/llvm-project/commit/53648f571a0e91378706dcb92f877721275a86a8
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/gisel-commandline-option-fastisel.ll
M llvm/test/CodeGen/AArch64/GlobalISel/gisel-commandline-option.ll
Log Message:
-----------
[AArch64] -aarch64-enable-global-isel-at-O=-1 should disable GISel (#182250)
Recent changes in #174746 to use GISel for optnone functions broke this.
Now at O3 -aarch64-enable-global-isel-at-O=-1 is having the opposite
affect of actually enabling GISel instead of SDAG and at O0 FastISel is
no longer used. I've added a check for if this is disabled.
Commit: 84be3259dd470dbd18a5b57847f499aff59c719b
https://github.com/llvm/llvm-project/commit/84be3259dd470dbd18a5b57847f499aff59c719b
Author: Abhishek Varma <avarma094 at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
Log Message:
-----------
[mlir][Linalg] Allow isaBroadcastOpInterface to accept LinalgOp (#182806)
Allow isaBroadcastOpInterface to accept LinalgOp so that both the named
linalg.broadcast op and broadcast-like linalg.generic are handled by a
single API instead of special-casing check for named vs generic op in
downstream projects.
No test is being added for this change because callers that pass
GenericOp (e.g. Specialize.cpp) continue to work since GenericOp is a
LinalgOp.
Signed-off-by: Abhishek Varma <abhvarma at amd.com>
Commit: 63e3e89b8532745f6617a931c964b1f7a1119b46
https://github.com/llvm/llvm-project/commit/63e3e89b8532745f6617a931c964b1f7a1119b46
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/strlen-7.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vsx-tsvc-s173.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
Log Message:
-----------
[InstCombine] Only ignore first zero index during GEP canonicalization (#180764)
When canonicalizing GEPs to have a single index, only ignore the first
leading zero index. This fixes a hole in the canonicalization in case
there was a struct zero offset, which can't be removed by the the
leading zero stripping.
Commit: a0cf0221824afaa1b5d55f348daa9fe59e7fb0e6
https://github.com/llvm/llvm-project/commit/a0cf0221824afaa1b5d55f348daa9fe59e7fb0e6
Author: Björn Schäpers <bjoern at hazardy.de>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/CodeCompletion/included-files.cpp
Log Message:
-----------
[CodeCompletion] Consider header files without extension, if... (#166447)
... the path passed to -I ends with /include.
I've brought it up, when the special handling for Qt was added
(https://reviews.llvm.org/D112996#3349609) but got no feedback.
Commit: d7fac0f42a3a8a6d6cf827d1f8b38663f872fe0f
https://github.com/llvm/llvm-project/commit/d7fac0f42a3a8a6d6cf827d1f8b38663f872fe0f
Author: daniilavdeev <daniilavdeev237 at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M lldb/source/Host/common/MonitoringProcessLauncher.cpp
Log Message:
-----------
[lldb] address memory leakage in lldb-server (#177572)
lldb-server has exhibited fairly unexpected behaviour. The time each
iteration of the main loop takes (attach + spawn a child process) has
been progressively increasing over the course of the lldb-server
execution. For instance, at the beginning of the remote tests run (when
a single instance of lldb-server on the remote side processes all the
incoming connections), each iteration took approximately 0.1 seconds,
increasing to 1.5 seconds by the end.
The analysis of the lldb-server application indicates that the
__libc_fork function takes more and more time on each iteration. The
most plausible interpretation of this fact would appear to be that the
application accumulates a certain resource that the fork function
subsequently had to process.
The following investigation has shown that the memory leakage did seem
to take place during the lldb-server execution. After the spawn of a
child process lldb-server additionally creates a monitoring thread, the
only purpose of which is to call a waitpid on the corresponding child
process. However, it appears to me that lldb-server application tracks
neither its children nor these internal threads, which ultimately
results in the threads not being joined or detached and the resources
associated with these threads won't be released.
Meanwhile, the creation of the thread is followed by the allocation of
the stack memory for this thread (usually 8MB), which is never released.
Given this behaviour, the amount of unfreed memory accumulated by the
lldb-server reaches approximately 30-35GB by the end of the test run. At
the same time, the fork function maps the parent's memory to the child
process, therefore the uncontrolled growth of unnecessary memory slows
the execution of the fork function significantly.
To summarise, the memory leakage that was caused by the inappropriate
managing of the internal threads appears to be the underlying cause of
the progressively increasing duration of the main loop, leading to
performance degradation of lldb-server application, which is especially
noticeable during long tests runs.
The proposed solution at this stage is to simply detach internal
threads, so that the OS can release memory associated with these
threads. That is to say, it seems to me that lldb-server doesn't have
appropriate mechanisms to track spawned threads, therefore a more
thoughtful approach would likely require changes to a substantial part
of the existing logic.
Commit: c8e2503336409b2eb63b126c2f1039435ec70689
https://github.com/llvm/llvm-project/commit/c8e2503336409b2eb63b126c2f1039435ec70689
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M flang/lib/Lower/Support/Utils.cpp
A flang/test/Lower/OpenMP/block-use-predetermined-privatization.f90
Log Message:
-----------
[Flang][OpenMP] Fix crash privatizing USE'd module variable in BLOCK (#182060)
Module variables accessed via USE inside a BLOCK nested in an OpenMP
construct (parallel do, taskloop) crash during lowering because the host
symbol box doesn't exist yet — the BLOCK hasn't been lowered when
privatization runs.
The fix instantiates the module global on demand in the
DataSharingProcessor before privatization, and adds a fallback from
lookupOneLevelUpSymbol to lookupSymbol in privatizeSymbol for symbols
bound at the current scope level.
Fixes : [#161183 ](https://github.com/llvm/llvm-project/issues/161183)
---------
Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>
Commit: de3cefe5608331c3156eb14ad8e14d837166170e
https://github.com/llvm/llvm-project/commit/de3cefe5608331c3156eb14ad8e14d837166170e
Author: Twice <twice at apache.org>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M mlir/include/mlir-c/ExtensibleDialect.h
M mlir/include/mlir/Bindings/Python/IRAttributes.h
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/CAPI/IR/ExtensibleDialect.cpp
M mlir/test/python/dialects/irdl.py
Log Message:
-----------
[MLIR][Python] Add C and Python API for `mlir::DynamicAttr` (#182820)
This PR adds C and Python API support for `mlir::DynamicAttr`. It
primarily enables attributes in dialects that are dynamically generated
via IRDL to be constructed in Python, and allows retrieving the
parameters contained in a dynamic attribute from Python.
This PR is quite similiar to #182751, so I use tab to autocomplete some
code via github copilot, but manually verified.
Commit: 3849fceb8a78c8785c85af361ad383864c3599c1
https://github.com/llvm/llvm-project/commit/3849fceb8a78c8785c85af361ad383864c3599c1
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[CMake] Don't try to reuse PCH if PCH is disabled (#182819)
Very recently, CMake started to emit warnings if REUSE_FROM is used but
the source has PCH disabled. Therefore, before using REUSE_FROM, check
that PCH is not disabled.
Commit: f02aadc9456c05b17aaf2cef975212bacfe15357
https://github.com/llvm/llvm-project/commit/f02aadc9456c05b17aaf2cef975212bacfe15357
Author: David Green <david.green at arm.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/qmovn.ll
M llvm/test/CodeGen/AArch64/qshrn.ll
Log Message:
-----------
[AArch64][GlobalISel] Combine to sqxtn pre legalization for FewerElements (#181163)
Post legalization we will not have v2i64 MIN and MAX, which prevents the
recognition of saturating truncates. This changes the combiner rules to
combine pre-legalization, providing that the vector operation will be
clamped (like a v4i64).
Commit: 279b3dbec65c8bc898e254f373b4f443a7e106b9
https://github.com/llvm/llvm-project/commit/279b3dbec65c8bc898e254f373b4f443a7e106b9
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
A llvm/test/Transforms/InstCombine/icmp-vector-bitwise-reductions.ll
Log Message:
-----------
[InstCombine] Fold icmp (vreduce_(or|and) %x), (0|-1) (#182684)
We can just compare the entire bitcasted value against Zero or AllOnes
in this case.
It is profitable on all major targets: https://godbolt.org/z/o7ecKjbsK
Commit: 5870fcf24c6390bcb8ae4dd4de682a1af2562907
https://github.com/llvm/llvm-project/commit/5870fcf24c6390bcb8ae4dd4de682a1af2562907
Author: Jim Lin <jim at andestech.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/test/CodeGen/M68k/pipeline.ll
Log Message:
-----------
[M68k] Update llvm/test/CodeGen/M68k/pipeline.ll (#182809)
Due to https://github.com/llvm/llvm-project/pull/181547.
Commit: 4bd0e49f8a61b1992a2be724a9d24844b0aec411
https://github.com/llvm/llvm-project/commit/4bd0e49f8a61b1992a2be724a9d24844b0aec411
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[VPlan] Remove verifyEVLRecipe (#182798)
In #182254 we want to start aborting compilation when the verifier fails
between passes, but currently we run into various EVL related failures.
The EVL is used in quite a few more places than when the verification
was originally added, all of which need to be handled by the verifier. I
think this is also exacerbated by the fact that many recipes nowadays
are converted to concrete recipes later in the pipeline which duplicates
the number of patterns we need to match.
The EVL transform itself has also changed much since its original
implementation, i.e. non-trapping recipes don't use EVL (#127180) and VP
recipes are generated via pattern matching instead of unconditionally
(#155394), so I'm not sure if the verification is as relevant today.
Rather than try to add more patterns this PR removes the verification to
reduce the maintainence cost. Split off from #182254
Commit: f8906704104e446a7482aeca32d058b91867e05c
https://github.com/llvm/llvm-project/commit/f8906704104e446a7482aeca32d058b91867e05c
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
Log Message:
-----------
[CIR][ARM] Refactor argument handling in `emitAArch64BuiltinExpr` (NFC) (#182105)
Port recent argument-handling refactors from
CodeGen/TargetBuiltins/ARM.cpp into
CIR/CodeGen/CIRGenBuiltinAArch64.cpp to keep the CIR
implementation in sync with Clang CodeGen.
In particular, mirror the updated handling of Sema-only NEON
discriminator arguments and the common argument emission logic
used to populate the `Ops` vector.
This is a mechanical port of the following changes:
* https://github.com/llvm/llvm-project/pull/181974
* https://github.com/llvm/llvm-project/pull/181794
No functional change intended.
Commit: 7c0c0dfa49d19a42126dff682d41508f2b28f0a8
https://github.com/llvm/llvm-project/commit/7c0c0dfa49d19a42126dff682d41508f2b28f0a8
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/Intrinsics/rtc.f90
Log Message:
-----------
[flang] Implement non-standard RTC intrinsic (#182560)
RTC is supported by classic flang and used in a proprietary HPC
application. I've implemented it as an alias for TIME.
Assisted-by: codex
Commit: 594e889b7ffaf61817c30c12e2d92717e6ceaddb
https://github.com/llvm/llvm-project/commit/594e889b7ffaf61817c30c12e2d92717e6ceaddb
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/test/CodeGen/PowerPC/Frames-dyn-alloca.ll
M llvm/test/CodeGen/PowerPC/asm-dialect.ll
M llvm/test/CodeGen/PowerPC/ppc64-blnop.ll
Log Message:
-----------
[PowerPC] Fix duplicate RUN lines in tests (#182275)
Commit: 3fc90181cdb3edb11682a70ab6bad941a11c408a
https://github.com/llvm/llvm-project/commit/3fc90181cdb3edb11682a70ab6bad941a11c408a
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M lld/test/ELF/lto/linker-script-symbols-ipo.ll
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
R llvm/test/CodeGen/X86/prefalign.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-emit.ll
Log Message:
-----------
Revert "CodeGen: Emit .prefalign directives based on the prefalign attribute."
This reverts commit 6767bfeec5ede8a878792e39aedff053c36854b2.
This breaks the tools/gold/X86/multiple-sections.ll test.
Commit: 20bdcbd41db797be47d525525811fdbcf6c15870
https://github.com/llvm/llvm-project/commit/20bdcbd41db797be47d525525811fdbcf6c15870
Author: Hunter Baker <hunterbaker at me.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaAPINotes.cpp
M clang/test/APINotes/Inputs/Headers/Fields.apinotes
M clang/test/APINotes/Inputs/Headers/Fields.h
M clang/test/APINotes/fields.cpp
Log Message:
-----------
[APINotes] Fix fatal error when using the Type key on fields (#180672)
This fixes a clang crash when importing a module with apinotes that sets
the Type key on a Field:
```
# .---command stderr------------
# | API notes allowed a type on an unknown declaration
# | UNREACHABLE executed at <path>/llvm-project/clang/lib/Sema/SemaAPINotes.cpp:419!
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
# | Stack dump:
# | 0. <path>/llvm-project/clang/test/APINotes/Inputs/Headers/Fields.h:4:12: current parser token ';'
# | 1. <path>/llvm-project/clang/test/APINotes/Inputs/Headers/Fields.h:3:1: parsing struct/union/class body 'IntWrapper'
...
# | #8 0x0000000109540868 clang::Sema::ApplyAPINotesType(clang::Decl*, llvm::StringRef)
# | #9 0x000000010955c6ec applyAPINotesType(clang::Sema&, clang::Decl*, llvm::StringRef, (anonymous namespace)::VersionedInfoMetadata)
```
```yaml
Tags:
- Name: IntWrapper
Fields:
- Name: value
Type: ValueType # Fails because of this
```
Previously, the case that the Decl passed to `ApplyAPINotesType` could
be a `FieldDecl` was overlooked.
```cpp
struct Field {
…
StringRef Type;
...
}
...
template <> struct MappingTraits<Field> {
static void mapping(IO &IO, Field &F) {
…
IO.mapOptional("Type", F.Type, StringRef("")); // ‘Type' is already a valid key in apinotes files.
….
}
}
```
This adds the case to handle `FieldDecl`s.
@egorzhdan @compnerd
Commit: baef055d30dd5860133eededefba499d55afa4c2
https://github.com/llvm/llvm-project/commit/baef055d30dd5860133eededefba499d55afa4c2
Author: eiytoq <eiytoq at outlook.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.integer.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.pointer.pass.cpp
Log Message:
-----------
[libc++][NFC] Format `std::midpoint` tests (#175531)
### Summary
- Format code
- Fix comments
Extracted NFC changes from PR #175388.
Commit: d70d18b963a0e0f2a67e1effe7cbaa52b3da1918
https://github.com/llvm/llvm-project/commit/d70d18b963a0e0f2a67e1effe7cbaa52b3da1918
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in TestAttributes.cpp (NFC)
Commit: 36d60b16df50e648f21196f25e5f87dad8659909
https://github.com/llvm/llvm-project/commit/36d60b16df50e648f21196f25e5f87dad8659909
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
A clang/lib/StaticAnalyzer/Checkers/UnconditionalVAArgChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VAListChecker.cpp
A clang/test/Analysis/unconditional-va_arg.c
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[analyzer] New checker: optin.core.UnconditionalVAArg (#175602)
Add a new optin checker which reports variadic functions that
unconditionally use `va_arg()`. It would be undefined behavior to call
such functions without passing any variadic arguments, so the SEI-CERT
rule EXP47-C says that this pattern should be avoided.
As this part of this SEI-CERT rule focuses on a very narrow area, I
aimed to write a simple and stable checker that can report basic "clear"
occurrences of this fault. It would be possible to cover some additional
corner cases, but it isn't worth the effort.
Commit: fd44b06a8dc3a3ef89d6c31268747d714f381610
https://github.com/llvm/llvm-project/commit/fd44b06a8dc3a3ef89d6c31268747d714f381610
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Reorganize diagnostic groups and remove confidence-based warnings (#179309)
Reorganized lifetime safety diagnostic groups to be more granular and
renamed diagnostic messages for better clarity.
- **Diagnostic Group Restructuring**: Split lifetime safety warnings
into more specific categories:
- `lifetime-safety-use-after-scope` and
`lifetime-safety-use-after-scope-moved` for scope-related issues
- `lifetime-safety-return-stack-addr` and
`lifetime-safety-return-stack-addr-moved` for return address issues
- `lifetime-safety-dangling-field` and
`lifetime-safety-dangling-field-moved` for field reference issues
- Added new umbrella groups `lifetime-safety-validations` and
`lifetime-safety-all`
- **Diagnostic Message Updates**: Renamed warning diagnostics from
generic "loan expires" terminology to more specific messages like "use
after scope" and "return stack addr"
- **Code Cleanup**: Removed `Confidence` logic (based on possible vs
guaranteed control-flow) from diagnostic reporting functions. Added TODO
comment to deprecate the `Confidence` enum
The new diagnostic group tree is:
```
lifetime-safety-all
├── lifetime-safety
│ ├── lifetime-safety-permissive
│ │ ├── lifetime-safety-use-after-scope
│ │ ├── lifetime-safety-return-stack-addr
│ │ └── lifetime-safety-dangling-field
│ └── lifetime-safety-strict
│ ├── lifetime-safety-use-after-scope-moved
│ ├── lifetime-safety-return-stack-addr-moved
│ ├── lifetime-safety-dangling-field-moved
│ └── lifetime-safety-invalidation
├── lifetime-safety-suggestions
│ ├── lifetime-safety-cross-tu-suggestions
│ └── lifetime-safety-intra-tu-suggestions
└── lifetime-safety-validations
└── lifetime-safety-noescape
```
Commit: 0e3a96d0ec01e3575674d72c4e23bf98affdca28
https://github.com/llvm/llvm-project/commit/0e3a96d0ec01e3575674d72c4e23bf98affdca28
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
Log Message:
-----------
[X86] Add test coverage for #137422 (#182832)
Commit: 72f5050ae7656a23e9c5f23f6fdb524a0b0bd2d9
https://github.com/llvm/llvm-project/commit/72f5050ae7656a23e9c5f23f6fdb524a0b0bd2d9
Author: Vladimir Miloserdov <milosvova at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h
Log Message:
-----------
[mlir][NFC] Remove unused deprecated API wrappers (#182715)
Remove deprecated functions and constructors that have zero callers in
the monorepo: `applyPatternsAndFoldGreedily`, `applyOpPatternsAndFold`,
`NamedAttrList(std::nullopt_t)`, and `OpPrintingFlags(std::nullopt_t)`.
These had FIXME comments requesting their removal.
Commit: 2da729af35580e98ba9074ec41b22691ddb3fe88
https://github.com/llvm/llvm-project/commit/2da729af35580e98ba9074ec41b22691ddb3fe88
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
A clang/.clang-format-ignore
Log Message:
-----------
Do not format .td files in Clang; NFC (#182075)
We have varying needs for these files. e.g., a diagnostic file is a
different kind of file than compiler options which is different than
attributes which is different than attribute documentation, etc. So
running clang-format over .td files in Clang is not going well in
practice because of how often it reformats things unlike the rest of the
file. This results in a poor new contributor experience because
pre-commit CI tells them the changes are not clang-format clean but we
don't want the changes to be clang-format clean and so a reviewer asks
them to revert and ignore pre-commit CI.
---------
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Commit: 966a4618b85db0f9c3ba6c0d518356c146cf7ab6
https://github.com/llvm/llvm-project/commit/966a4618b85db0f9c3ba6c0d518356c146cf7ab6
Author: Valeriy Savchenko <vsavchenko at apple.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AArch64/fold-signbit-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/RISCV/fold-signbit-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/X86/fold-signbit-reduction-cmp.ll
Log Message:
-----------
[VectorCombine] Support ashr sign-bit extraction (#181998)
This change extends a sign-bit reduction fold introduced earlier. Prior
to it, we only supported LSHR isntructions for sign-bits extraction.
Similar logic can be applied to ASHR and the fold can be generalized.
## Alive2 proofs
| Reduction | == 0 | == -1 / -N | slt 0 | sgt -1 / -N |
|-----------|------|------------|-------|-------------|
| or | [proof](https://alive2.llvm.org/ce/z/DaSMPt) |
[proof](https://alive2.llvm.org/ce/z/wzR48R) |
[proof](https://alive2.llvm.org/ce/z/rfyr_7) |
[proof](https://alive2.llvm.org/ce/z/MTFFe5) |
| and | [proof](https://alive2.llvm.org/ce/z/PmmpbX) |
[proof](https://alive2.llvm.org/ce/z/7_9hSn) |
[proof](https://alive2.llvm.org/ce/z/wudWY3) |
[proof](https://alive2.llvm.org/ce/z/QZ33KB) |
| umax | [proof](https://alive2.llvm.org/ce/z/gQGnDc) |
[proof](https://alive2.llvm.org/ce/z/dMsoQF) |
[proof](https://alive2.llvm.org/ce/z/QwFbae) |
[proof](https://alive2.llvm.org/ce/z/3dbmy6) |
| umin | [proof](https://alive2.llvm.org/ce/z/Z2pZUQ) |
[proof](https://alive2.llvm.org/ce/z/6FQgGR) |
[proof](https://alive2.llvm.org/ce/z/95-em6) |
[proof](https://alive2.llvm.org/ce/z/PW7c-m) |
| add | [proof](https://alive2.llvm.org/ce/z/FVhuhj) |
[proof](https://alive2.llvm.org/ce/z/h1B9jQ) |
[proof](https://alive2.llvm.org/ce/z/DmiYRr) |
[proof](https://alive2.llvm.org/ce/z/P4WDN5) |
Commit: eac18e783f034bd294a82cd0e69a7abf73583d28
https://github.com/llvm/llvm-project/commit/eac18e783f034bd294a82cd0e69a7abf73583d28
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc] Update the GPU allocator to work under post-Volta ITS
Summary:
There were several gaps that caused the allocator not to work under
NVIDIA's independent thread scheduling model. The problems (I know of)
are fixed in this commit. Generally this required using correct masks,
synchronizing before a few dependent operations, and overhauling the
allocate function to stick with the existing mask instead of querying
it.
The general idiom here is that at the start we obtain a single mask and
opportunistically use it. Every use must specifically sync this subset.
I.e. query a single time and never change it.
This passes most tests, however I have encountered two issues.
1. A bug in `nvlink` failing to link symbols called in 'free'
2. A deadlock under heavy divergence caused by IPSCCP altering control
flow.
I will address these later, but for now this makes the *source* correct
so it can be enabled by anyone else if they need it.
Commit: 9e6a6be8a84f32072e40b27e146fa9076560274e
https://github.com/llvm/llvm-project/commit/9e6a6be8a84f32072e40b27e146fa9076560274e
Author: Dark Steve <Prasoon.Mishra at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/test/CodeGen/AMDGPU/cc-entry.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
Log Message:
-----------
[AMDGPU] Remove AMDGPUArgumentUsageInfo pass (#182490)
`AMDGPUArgumentUsageInfo` provided a per-function map that
`lowerFormalArguments` would write each function's implicit argument
register layout into, and `passSpecialInputs` would read back when
lowering calls to look up the callee's layout. This per-function map is
redundant for all non-entry callees, which already use the same
`FixedABIFunctionInfo` register layout.
GlobalISel already used `FixedABIFunctionInfo` unconditionally. This
change makes SelectionDAG do the same.
Commit: a78a22356b5acc89ab5f301e47f6bdd94568adb9
https://github.com/llvm/llvm-project/commit/a78a22356b5acc89ab5f301e47f6bdd94568adb9
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
Log Message:
-----------
[MLIR] Migrate AffineDma ops to ODS (NFC) (#182497)
For some historical reasons, seems like we never converted these.
Commit: 8b36a41d89aea26ffdb75456854022b767c5bf4b
https://github.com/llvm/llvm-project/commit/8b36a41d89aea26ffdb75456854022b767c5bf4b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
A llvm/test/Transforms/FunctionAttrs/nofpclass-issue182834.ll
Log Message:
-----------
FunctionAttrs: Do not infer top down on functions with no uses (#182839)
Commit: 5e5e300d07898f788e0151e2d14732cf2170a85e
https://github.com/llvm/llvm-project/commit/5e5e300d07898f788e0151e2d14732cf2170a85e
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/reduce-or.ll
M llvm/test/CodeGen/AArch64/reduce-xor.ll
M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.make.buffer.rsrc.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/ARM/fpclamptosat_vec.ll
M llvm/test/CodeGen/LoongArch/lasx/rotl-rotr.ll
M llvm/test/CodeGen/LoongArch/lsx/rotl-rotr.ll
M llvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
M llvm/test/CodeGen/Thumb2/mve-gather-ind8-unscaled.ll
M llvm/test/CodeGen/Thumb2/mve-laneinterleaving.ll
M llvm/test/CodeGen/Thumb2/mve-pred-ext.ll
M llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
M llvm/test/CodeGen/Thumb2/mve-scatter-ind8-unscaled.ll
M llvm/test/CodeGen/Thumb2/mve-vecreduce-addpred.ll
M llvm/test/CodeGen/Thumb2/mve-vecreduce-mlapred.ll
M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/avx512fp16-mov.ll
M llvm/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll
M llvm/test/CodeGen/X86/bitcast-and-setcc-128.ll
M llvm/test/CodeGen/X86/bitcast-setcc-128.ll
M llvm/test/CodeGen/X86/bitcast-setcc-512.ll
M llvm/test/CodeGen/X86/bitcast-vector-bool.ll
M llvm/test/CodeGen/X86/buildvec-widen-dotproduct.ll
M llvm/test/CodeGen/X86/combine-multiplies.ll
M llvm/test/CodeGen/X86/combine-pmuldq.ll
M llvm/test/CodeGen/X86/combine-rotates.ll
M llvm/test/CodeGen/X86/combine-sdiv.ll
M llvm/test/CodeGen/X86/combine-shl.ll
M llvm/test/CodeGen/X86/combine-sra.ll
M llvm/test/CodeGen/X86/combine-storetomstore.ll
M llvm/test/CodeGen/X86/combine-udiv.ll
M llvm/test/CodeGen/X86/dagcombine-shifts.ll
M llvm/test/CodeGen/X86/f16c-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/funnel-shift.ll
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
M llvm/test/CodeGen/X86/ifma-combine-vpmadd52.ll
M llvm/test/CodeGen/X86/known-never-zero.ll
M llvm/test/CodeGen/X86/known-pow2.ll
M llvm/test/CodeGen/X86/known-signbits-shl.ll
M llvm/test/CodeGen/X86/known-signbits-vector.ll
M llvm/test/CodeGen/X86/madd.ll
M llvm/test/CodeGen/X86/masked_store.ll
M llvm/test/CodeGen/X86/movmsk-cmp.ll
M llvm/test/CodeGen/X86/mulvi32.ll
M llvm/test/CodeGen/X86/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
M llvm/test/CodeGen/X86/pmul.ll
M llvm/test/CodeGen/X86/pmulh.ll
M llvm/test/CodeGen/X86/pr107423.ll
M llvm/test/CodeGen/X86/pr161013.ll
M llvm/test/CodeGen/X86/pr173794.ll
M llvm/test/CodeGen/X86/pr179489.ll
M llvm/test/CodeGen/X86/pr35918.ll
M llvm/test/CodeGen/X86/pr41619.ll
M llvm/test/CodeGen/X86/pr42727.ll
M llvm/test/CodeGen/X86/pr45563-2.ll
M llvm/test/CodeGen/X86/pr45833.ll
M llvm/test/CodeGen/X86/pr77459.ll
M llvm/test/CodeGen/X86/promote-cmp.ll
M llvm/test/CodeGen/X86/promote-vec3.ll
M llvm/test/CodeGen/X86/psubus.ll
M llvm/test/CodeGen/X86/rotate-extract-vector.ll
M llvm/test/CodeGen/X86/sadd_sat_vec.ll
M llvm/test/CodeGen/X86/sat-add.ll
M llvm/test/CodeGen/X86/sdiv-exact.ll
M llvm/test/CodeGen/X86/shrink_vmul.ll
M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/sshl_sat_vec.ll
M llvm/test/CodeGen/X86/ssub_sat_vec.ll
M llvm/test/CodeGen/X86/test-shrink-bug.ll
M llvm/test/CodeGen/X86/ucmp.ll
M llvm/test/CodeGen/X86/udiv-exact.ll
M llvm/test/CodeGen/X86/undo-mul-and.ll
M llvm/test/CodeGen/X86/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-splat.ll
M llvm/test/CodeGen/X86/ushl_sat_vec.ll
M llvm/test/CodeGen/X86/vec-strict-inttofp-256.ll
M llvm/test/CodeGen/X86/vec_int_to_fp.ll
M llvm/test/CodeGen/X86/vec_minmax_sint.ll
M llvm/test/CodeGen/X86/vec_minmax_uint.ll
M llvm/test/CodeGen/X86/vec_smulo.ll
M llvm/test/CodeGen/X86/vec_umulo.ll
M llvm/test/CodeGen/X86/vector-compare-all_of.ll
M llvm/test/CodeGen/X86/vector-compare-any_of.ll
M llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/X86/vector-fshl-128.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-mul.ll
M llvm/test/CodeGen/X86/vector-pcmp.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/vector-reduce-smax.ll
M llvm/test/CodeGen/X86/vector-reduce-smin.ll
M llvm/test/CodeGen/X86/vector-reduce-umax.ll
M llvm/test/CodeGen/X86/vector-reduce-umin.ll
M llvm/test/CodeGen/X86/vector-rotate-128.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-sub128.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-ssse3.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
M llvm/test/CodeGen/X86/vector-trunc-math.ll
M llvm/test/CodeGen/X86/vector-trunc-packus.ll
M llvm/test/CodeGen/X86/vector-trunc-ssat.ll
M llvm/test/CodeGen/X86/vector-trunc-usat.ll
M llvm/test/CodeGen/X86/vector_splat-const-shift-of-constmasked.ll
M llvm/test/CodeGen/X86/vselect.ll
Log Message:
-----------
[SelectionDAG] Fix bug related to demanded bits/elts for BITCAST (#145902)
When we have a BITCAST and the source type is a vector with smaller
elements compared to the destination type, then we need to demand all
the source elements that make up the demanded elts for the result when
doing recursive calls to SimplifyDemandedBits,
SimplifyDemandedVectorElts and SimplifyMultipleUseDemandedBits. Problem
is that those simplifications are allowed to turn non-demanded elements
of a vector into POISON, so unless we demand all source elements that
make up the result there is a risk that the result would be more
poisonous (even for demanded elts) after the simplification.
The patch fixes some bugs in SimplifyMultipleUseDemandedBits and
SimplifyDemandedBits for situations when we did not consider the problem
described above. Now we make sure that we also demand vector elements
that "must not be turned into poison" even if those elements correspond
to bits that does not need to be defined according to the DemandedBits
mask.
Fixes #138513
Commit: c6ca2a07d343d5b22da349a8dd554707ddc1fa25
https://github.com/llvm/llvm-project/commit/c6ca2a07d343d5b22da349a8dd554707ddc1fa25
Author: Swastik Saha <134371044+SwastikSaha at users.noreply.github.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
[Docs] Clarify that -w suppresses warnings, not all diagnostics (#182670)
The UsersManual previously stated that -w disables all diagnostics.
However, -w suppresses warning diagnostics only; errors are still
emitted.
Commit: 92447ed2733855f5e2a37821f23b55b44588a383
https://github.com/llvm/llvm-project/commit/92447ed2733855f5e2a37821f23b55b44588a383
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Offload] Fix copy-elision warning (#182848)
This fixes a warning about a prohibited copy-elision due to the move of
a temporary object.
Commit: 595c5bcdc5199244cd2e18c9860427c94f129e9c
https://github.com/llvm/llvm-project/commit/595c5bcdc5199244cd2e18c9860427c94f129e9c
Author: NagaChaitanya Vellanki <pnagato at protonmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512fp16intrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512fp16-builtins.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/SemaCXX/constexpr-x86-avx512f-builtins.cpp
A clang/test/SemaCXX/constexpr-x86-avx512fp16-builtins.cpp
Log Message:
-----------
[X86][Clang] Add constexpr support for _mm_min_ss/_mm_max_ss/_mm_min_sd/_mm_max_sd/_mm_min_sh/_mm_max_sh intrinsics (#178029)
- Added boolean IsScalar argument to the helper functions in
InterpBuiltin/ExprConstant
- Made minsh_round_mask, maxsh_round_mask constexpr only for
_MM_FROUND_CUR_DIRECTION rounding mode.
- Added helper function for scalar round mask in
InterpBuiltin/ExprConstant
Resolves #175198
Commit: 630a4185d4ccecfbf9068dddffe8ae32daa4da5b
https://github.com/llvm/llvm-project/commit/630a4185d4ccecfbf9068dddffe8ae32daa4da5b
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Re-enable MSVC C4141 diagnostic; NFC (#182586)
>From MSDN:
https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4141?view=msvc-170
> 'modifier': used more than once
This diagnostic was disabled in e11ce62707c8e0f51fce06097f71a97d02283d7a
due to triggering repeatedly for combinations of __forceinline and
inline. However, local testing shows that this diagnostic is no longer
emitted and so I believe this can be re-enabled.
Commit: a28755537b41f1d0683fcf53ef09832a2d61670a
https://github.com/llvm/llvm-project/commit/a28755537b41f1d0683fcf53ef09832a2d61670a
Author: Matt Stephanson <stephanson.matt at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/test/std/time/time.clock/time.clock.gps/gps_time.ostream.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.tai/tai_time.ostream.pass.cpp
M libcxx/test/std/time/time.syn/formatter.gps_time.pass.cpp
Log Message:
-----------
[libc++] Fix `gps_time` formatting and related tests (#181560)
- The Standard wording in https://eel.is/c++draft/time.format#13 is similar
to TAI formatting in that it's equivalent to formatting a `sys_time`
with a fixed offset. Leap seconds should not be considered.
- Tests need to be adjusted by adding the number of leap seconds between
the GPS epoch and the tested date, which is 15s for 2010 and 18s for
2019.
- The TAI and GPS tests using `meow_time<cr::duration<long, ...>>`
should use `long long` because the offset swill overflow a 32-bit
signed integer.
Commit: 1737b61ac86a028f63186d87ba3a9bd8451e3ac7
https://github.com/llvm/llvm-project/commit/1737b61ac86a028f63186d87ba3a9bd8451e3ac7
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Re-enable MSVC C4722 diagnostic; NFC (#182845)
>From MSDN:
https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4722?view=msvc-170
> 'function' : destructor never returns, potential memory leak
This diagnostic was disabled in 24fdbe567638d942fff6b1cf3df3cb4f5adf6823
as not having value for us, but enabling the diagnostic triggers no new
warnings, so I believe it's safe for us to re-enable. It may not be the
most valuable diagnostic, but knowing about non-returning destructors is
still good for code health.
Commit: 5ea70b62bdfb91f64472dd6473e4880cc41ece4f
https://github.com/llvm/llvm-project/commit/5ea70b62bdfb91f64472dd6473e4880cc41ece4f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M libcxx/test/benchmarks/spec.gen.py
M libcxx/utils/ci/lnt/run-benchmarks
Log Message:
-----------
[libc++] Simplify and optimize the run-benchmarks script (#181382)
Instead of configuring and running the benchmark suite once for SPEC and
once for the microbenchmarks, run it only once for everything. This
saves a configuration of the test suite (which includes building Google
Benchmark).
To replicate the functionality we had with --disable-microbenchmarks
(whose goal was mostly to run only SPEC), introduce a --filter argument
that can be used to select exactly which benchmarks are run. This is
simpler and more powerful.
Making this work requires hardcoding the only C++ standard that works
for SPEC (C++17) inside spec.gen.py instead of expecting it to be set
correctly when running the test suite.
Commit: 817b7f33332e7f03b47fc3d1d6f94e5527635748
https://github.com/llvm/llvm-project/commit/817b7f33332e7f03b47fc3d1d6f94e5527635748
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
A llvm/test/CodeGen/AArch64/aarch64-scal-to-vec-bitcast-insert.ll
A llvm/test/CodeGen/AArch64/arm64-cvt-simd-fptoi-strictfp.ll
M llvm/test/CodeGen/AArch64/arm64-cvt-simd-fptoi.ll
Log Message:
-----------
[NFC][AArch64] Split fptoi tests and add scal_to_vec convert tests (#179315)
This patch splits simd-fptoi tests into strictfp and nonstrictfp files
for simplicity and adds tests which will test correct insertion of
bitcasts to certain scalar_to_vector variant which will be introduced in
#172837.
Commit: 8f5880d3ae4e5dfc748985d90e5413671028aa3e
https://github.com/llvm/llvm-project/commit/8f5880d3ae4e5dfc748985d90e5413671028aa3e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
Log Message:
-----------
[X86] lowerV64I8Shuffle - prefer VPERMV3 byte shuffles to OR(PSHUFB,PSHUFB) on VBMI targets (#182852)
Minor improvement for #137422
Commit: a236331070e94e838495d3fede52f193d709d895
https://github.com/llvm/llvm-project/commit/a236331070e94e838495d3fede52f193d709d895
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.h
M lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.h
Log Message:
-----------
[NFC][lldb][Process/FreeBSDKernel] Reorder class member functions (#182717)
Commit: 4c795dba0677eae055e6f2fb8efa4008d2a5e24f
https://github.com/llvm/llvm-project/commit/4c795dba0677eae055e6f2fb8efa4008d2a5e24f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/test/Sema/format-strings.c
Log Message:
-----------
[clang][test] Try to fix Sema/format-strings.c on i686 (#181800)
https://github.com/llvm/llvm-project/pull/180566 did this for 32bit arm,
but this still breaks for us downstream on i686 with:
```
# .---command stderr------------
# | error: 'expected-warning' diagnostics expected but not seen:
# | File /builddir/build/BUILD/llvm-project/clang/test/Sema/format-strings.c Line 990: format specifies type 'size_t' (aka '{{.+}}') but the argument has type '_Bool'
# | File /builddir/build/BUILD/llvm-project/clang/test/Sema/format-strings.c Line 991: format specifies type 'ptrdiff_t' (aka '{{.+}}') but the argument has type '_Bool'
# | 2 errors generated.
# `-----------------------------
```
Commit: a9645ebadf31114ba9b72f9e1edc58823cf135e6
https://github.com/llvm/llvm-project/commit/a9645ebadf31114ba9b72f9e1edc58823cf135e6
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
Log Message:
-----------
[AMDGPU] Move `advanceBeforeNext` before `advanceToNext` (#182808)
The document of `advanceToNext` says, `advanceBeforeNext` has to be
called first.
Commit: 222e661c89cfbfd8a6b55e4cd1d0925182655c9d
https://github.com/llvm/llvm-project/commit/222e661c89cfbfd8a6b55e4cd1d0925182655c9d
Author: Akram Hany <109467185+akramhany at users.noreply.github.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/RecordLayoutBuilder.cpp
A clang/test/Layout/ms-x86-bitfields-overflow.c
Log Message:
-----------
[clang][layout] Fix unsigned char overflow in ms_struct bitfield layout (#181433)
Fixes #161511
When using MS-struct layout rules (`#pragma ms_struct`), Clang produces
incorrect memory layouts when encountering large `_BitInt` bit-fields.
The reason was that `LastBitfieldStorageUnitSize` variable was declared
as `unsigned char`, which caused it to overflow when the values used
with `_BitInt` exceeded `255`, so I changed it from `unsigned char` to
`uint64_t`.
In the added test, we can clearly see that `f2` and `f3` are both packed
in the same 256-bit unit.
Commit: 0e9880cc04b1025a2a7e860d2f493f1b9396555f
https://github.com/llvm/llvm-project/commit/0e9880cc04b1025a2a7e860d2f493f1b9396555f
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.h
Log Message:
-----------
[VPlan] Remove verifyLate from VPlanVerifier. NFC (#182799)
We can instead just check if the VPlan has been unrolled.
Commit: 4f30127f44519e0553fc41ad58c682b390491791
https://github.com/llvm/llvm-project/commit/4f30127f44519e0553fc41ad58c682b390491791
Author: hjagasiaAMD <harsha.jagasia at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
A llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.ll
A llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.mir
Log Message:
-----------
[AMDGPU] fix eliminateFrameIndex to use SGPR frame index (#178991)
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 426573f1e131367eecdb021d6e4c221a1f3c4b43
https://github.com/llvm/llvm-project/commit/426573f1e131367eecdb021d6e4c221a1f3c4b43
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/include/clang/Driver/RocmInstallationDetector.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
R clang/test/Driver/Inputs/hip_dev_lib/oclc_correctly_rounded_sqrt_on.amdgcn.bc
R clang/test/Driver/Inputs/rocm-invalid/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm-invalid/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/rocm-device-libs.cl
Log Message:
-----------
clang/AMDGPU: Stop looking for oclc_correctly_rounded_sqrt control libraries (#182858)
These have not done anything in almost a year.
Commit: 329cd8985d8a2486bb7e7f5d1b5cfe640caed42f
https://github.com/llvm/llvm-project/commit/329cd8985d8a2486bb7e7f5d1b5cfe640caed42f
Author: Haoren Wang <43286339+MetalOxideSemi at users.noreply.github.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
A llvm/test/CodeGen/X86/selectiondag-dbgvalue-null-crash.ll
Log Message:
-----------
[SelectionDAG] Fix null pointer dereference in resolveDanglingDebugInfo (#180425)
Fix crash when Val.getNode() is null by moving ValSDNodeOrder
declaration inside the null check.
The crash occurred when compiling code with debug info containing
aggregate types with nested empty structs.
Commit: 3215645b8d81bbef7db1d16b88de7ed0288f2274
https://github.com/llvm/llvm-project/commit/3215645b8d81bbef7db1d16b88de7ed0288f2274
Author: Tony Linthicum <tony.linthicum at outlook.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
[AMDGPU] Enable scheduler mfma rewrite stage by default (#180751)
After performance testing, it was determined that the large number of
copies that are inserted outside the loop are more than offset by better
allocation within the loop as a result of the rewrite. Additionally, there is a
minor cleanup of the cost logic.
---------
Co-authored-by: Tony Linthicum <tlinthic at gmail.com>
Commit: f16162c03c139258e7d282ffa15408b7e79c1e3b
https://github.com/llvm/llvm-project/commit/f16162c03c139258e7d282ffa15408b7e79c1e3b
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M flang/docs/OpenMP-declare-target.md
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
R flang/lib/Optimizer/OpenMP/MarkDeclareTarget.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M mlir/include/mlir/Dialect/OpenMP/Transforms/Passes.td
M mlir/lib/Dialect/OpenMP/Transforms/CMakeLists.txt
A mlir/lib/Dialect/OpenMP/Transforms/MarkDeclareTarget.cpp
Log Message:
-----------
[flang][MLIR][NFC] Move MarkDeclareTarget pass form flang to MLIR (#181205)
This patch moves the MarkDeclareTarget pass from flang to MLIR since it
will be used in ClangIR as well.
Commit: 5a3fdecba6145b38264f2fd187a418bc05bbb751
https://github.com/llvm/llvm-project/commit/5a3fdecba6145b38264f2fd187a418bc05bbb751
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bitcnt-big-integer.ll
Log Message:
-----------
[X86] Add i256/i512 CTPOP expansion on AVX512VPOPCNTDQ targets (#182830)
If we can freely fold the i256/i512 value to the FPU, then we can use
VPOPCNTQ to perform a per-element CTPOP, then perform an expanded
VECREDUCE_ADD (VPMOVQB v4i64/v8i64 to v16i8 with zero uppers - then
VPSADBW to sum the lower v8i8 bits).
Fixes #182829
Commit: ce2a9cbf1507b0a17c0824769a72772f5541df9d
https://github.com/llvm/llvm-project/commit/ce2a9cbf1507b0a17c0824769a72772f5541df9d
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/ppc_test_data_class.ll
Log Message:
-----------
[PowerPC] Fix inefficient code for __builtin_ppc_test_data_class (#181420)
emit a more efficient asm for llvm.ppc.test.data.class.f64
Commit: 8b9d4719146857042e296f008791483e39983473
https://github.com/llvm/llvm-project/commit/8b9d4719146857042e296f008791483e39983473
Author: pzhengqc <55604844+pzhengqc at users.noreply.github.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/print-multi-selection-flags.c
Log Message:
-----------
[Multilib] Expose shadow call stack as multilib flags for RISC-V (#182350)
This allows multilib selection based on shadow call stack for RISC-V.
Commit: f5f171ebff55d57e9ec4e7e82e694c599c47ccd6
https://github.com/llvm/llvm-project/commit/f5f171ebff55d57e9ec4e7e82e694c599c47ccd6
Author: Serafean <Serafean at users.noreply.github.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
A clang/test/Index/cxx17-switch-with-initializer.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[libclang]: visit C++17 switch init statements (#173670)
Modelled after commit 08e18126431878373abfa33136768d0ec7c13def, which
did the same for If statements.
Tested with KDevelop : with a patched clang, initializers in switch
statement get cursors.
Commit: 239e14baa4c4a1b48d4d7b8b6ac2817c17fa2437
https://github.com/llvm/llvm-project/commit/239e14baa4c4a1b48d4d7b8b6ac2817c17fa2437
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/cc-inreg-sgpr0-3-mismatch.ll
Log Message:
-----------
[NFC][AMDGPU] Add test showing caller/callee SGPR mismatch for inreg args (#182753)
Add a test demonstrating a bug where the caller and callee disagree on
which SGPRs hold user inreg arguments when there are enough to reach the
SGPR0-3 range.
On the callee side, `LowerFormalArguments` marks SGPR0-3 as allocated in
`CCState` before the CC analysis runs. On the caller side, `LowerCall`
adds the scratch resource to `RegsToPass` without marking SGPR0-3 in
`CCState`. This causes `CC_AMDGPU_Func` to assign user inreg args to
SGPR0-3 on the caller side (they appear free) while the callee skips
them.
In the test, the caller writes arg 0 (value 42) to s0, but the callee
reads arg 0 from s16.
Commit: 1237bd6df05a4777f444677186e4814388916ea9
https://github.com/llvm/llvm-project/commit/1237bd6df05a4777f444677186e4814388916ea9
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/casting-through-void.c
Log Message:
-----------
[clang-tidy] Fix bugprone-casting-through-void to run only on C++ code (#182844)
This check tells users to use `reinterpret_cast`, which is not possible
in pure C code.
Commit: 13530d4470cf399a39a303a58f8a8797c46d9f6e
https://github.com/llvm/llvm-project/commit/13530d4470cf399a39a303a58f8a8797c46d9f6e
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCtorDtorLowering.cpp
M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
M llvm/test/CodeGen/AMDGPU/lower-multiple-ctor-dtor.ll
Log Message:
-----------
[AMDGPUCtorDtorLowering] Remove unnecessary pointer arithmetic (#182869)
This code was computing `begin + ((end - begin) exact/ 8) * 8`, which is
a very complicated way to spell end.
This is the AMDGPU edition of
https://github.com/llvm/llvm-project/pull/182269.
Commit: 6295903e1236d7f72b67d5cba7266edb6c142893
https://github.com/llvm/llvm-project/commit/6295903e1236d7f72b67d5cba7266edb6c142893
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/include/llvm/Target/Target.td
R llvm/test/TableGen/RegisterClass.td
A llvm/test/TableGen/RegisterInfoEmitter-errors.td
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/RegisterBankEmitter.cpp
Log Message:
-----------
[TableGen] Add asserts for a few register related checks (#182680)
Move some register file related error checking from C++ code to asserts
in Target.td file. Rename and extend the lit test to exercise these
errors.
Commit: 4dac6839a7e4f02de2fd124bf3b068f1dab5ad11
https://github.com/llvm/llvm-project/commit/4dac6839a7e4f02de2fd124bf3b068f1dab5ad11
Author: walkerkd <keith.walker at arm.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedA320.td
M llvm/lib/Target/AArch64/AArch64SchedA510.td
M llvm/lib/Target/AArch64/AArch64SchedA55.td
M llvm/test/CodeGen/AArch64/fp-to-int-to-fp.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/qmovn.ll
M llvm/test/CodeGen/AArch64/sat-add.ll
M llvm/test/CodeGen/AArch64/saturating-vec-smull.ll
M llvm/test/tools/llvm-mca/AArch64/Cortex/A320-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A510-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-neon-instructions.s
Log Message:
-----------
[AArch64] Cortex-A55/A320/A510 scheduling model "typo" fixes (#182854)
While working to introduce the C1-Nano scheduling model some existing
"typos" were found in the definitions used in the Cortex-A55,
Cortex-A320 and Cortex-A510 scheduling models.
This corrects these typos and updated any tests affected by the changes.
There were 2 forms of typos found:
"8b" which should have been "8h"
"i132" which should have been "i32"
Commit: 6d36f21e47daf030b3ccb38d6276df0fe7b1add5
https://github.com/llvm/llvm-project/commit/6d36f21e47daf030b3ccb38d6276df0fe7b1add5
Author: Alexey Karyakin <akaryaki at qti.qualcomm.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonPseudo.td
M llvm/test/CodeGen/Hexagon/readcyclecounter.ll
M llvm/test/CodeGen/Hexagon/readsteadycounter.ll
Log Message:
-----------
[Hexagon] Prevent optimizing out counter reads (#182338)
On Hexagon, ISD::READCYCLECOUNTER and ISD::READSTEADYCOUNTER are lowered
to the A2_tfrcpp instruction which reads the UPCYCLE (c15:14) and
UTIMER (c31:30) registers. Since these registers are volatile, compiler
should not optimize out or move these calls. Usually, this is achieved
by declaring the instruction as having side effects (e.g. MRS in
AArch64). However, as the same instruction is used to read other control
registers, and some of them have normal read/write semantics, it is not
desirable to inhibit such optimization for all of registers.
Additionally, pattern-based lowering of cycle counters is not allowed
by tablegen because of the mismatch in the hasSideEffects attribute.
Previously, this was worked around with custom lowering and
a Hexagon-specific opcode for each operation.
Therefore, reading UPCYCLE and UTIMER is now done through a
pseudoinstruction, which has the hasSideEffects attribute and is lowered
by a pattern. This allows us to easily separate control registers with
and without side effects. Two pseudoinsructions are defined:
PS_readcr (32 bits) and PS_readcr64 (64-bits). I also remove the custom
lowering and Hexagon-specific opcodes.
In case the compiler needs to emit code reading other counters, this
method can be used by simply adding patterns that use PS_readcr
or PS_readcr64.
Commit: b9143faf46281b877513fdfbb49969e3ca8371af
https://github.com/llvm/llvm-project/commit/b9143faf46281b877513fdfbb49969e3ca8371af
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/TestDataFormatterStdValarray.py
Log Message:
-----------
[lldb][test] TestDataFormatterStdValarray: relax expected error message check
After https://github.com/llvm/llvm-project/pull/182297, we started generated `-gsimple-template-names` debug-info by default on macOS. The test was expecting template parameters in the error message. But with `simple-template-names` typenames would not contain template parameters (unless LLDB reconstructs them to do so). This formatter test was expecting template parameters, which would fail on macOS > 26.
Because the test is just concerned with checking that the `std::valarray` formatter works as expected (not that LLDB can retrieve typenames with/without template names), this patch relaxes the assertion.
In a follow-up we should fix up any type-name printing that would break with `simple-template-names`.
Commit: 47da1cea9780dd3e60bad61fd96250b37469339a
https://github.com/llvm/llvm-project/commit/47da1cea9780dd3e60bad61fd96250b37469339a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/include/clang/Driver/RocmInstallationDetector.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
A clang/test/Driver/Inputs/hip_dev_lib/oclc_correctly_rounded_sqrt_on.amdgcn.bc
A clang/test/Driver/Inputs/rocm-invalid/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
A clang/test/Driver/Inputs/rocm-invalid/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
A clang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_off.bc
A clang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_on.bc
A clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
A clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
A clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
A clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
A clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
A clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/rocm-device-libs.cl
Log Message:
-----------
Revert "clang/AMDGPU: Stop looking for oclc_correctly_rounded_sqrt control libraries" (#182877)
Reverts llvm/llvm-project#182858
This breaks premerge for flang.
https://lab.llvm.org/staging/#/builders/192/builds/21018. Reverting the
patch locally fixes the issue.
Commit: 20c6a597ad7c6a1d2c4558fc823849ce3e4ee67e
https://github.com/llvm/llvm-project/commit/20c6a597ad7c6a1d2c4558fc823849ce3e4ee67e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Re-enable MSVC C4510 diagnostic; NFC (#182872)
>From MSDN:
https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4510?view=msvc-170
> 'class' : default constructor could not be generated
This diagnostic was disabled in 5c73e1f85c5d37a5b037c70f3c112eec5646acb3
because it was generating 1700+ diagnostics at the time. Locally
enabling the warning causes no new diagnostics to be emitted, so I think
the false positives have been addressed and this can be enabled.
Commit: 6465d6dbe6ecac60247d9c55008ec970185e3c28
https://github.com/llvm/llvm-project/commit/6465d6dbe6ecac60247d9c55008ec970185e3c28
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Re-enable MSVC C4291 diagnostic; NFC (#182868)
>From MSDN:
https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4291?view=msvc-170
> 'declaration' : no matching operator delete found; memory will not be
> freed if initialization throws an exception
This was disabled because it was necessary for some code in Clang, but
after re-enabling the warning, no new diagnostics were emitted.
Commit: 0b95a494c90cb77a50415fb85196e1eb80f96a5d
https://github.com/llvm/llvm-project/commit/0b95a494c90cb77a50415fb85196e1eb80f96a5d
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/copyable_reorder.ll
Log Message:
-----------
[SLP][NFC] Pre-commit tests for copyable element reordering (#182653)
Tests for #182443.
Commit: b960e6ecab3130a0b9a5d5d5a57c67a898a5ec98
https://github.com/llvm/llvm-project/commit/b960e6ecab3130a0b9a5d5d5a57c67a898a5ec98
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
Log Message:
-----------
Silence "switch statement contains default but not case labels"; NFC (#182855)
Silences an MSVC C4065 diagnostic that was introduced in
0dd1cb015e8b1439e70c152eb134abb01e1af831
Commit: 174aaacf97e2ebb0de1203b1a2a719a3d509b946
https://github.com/llvm/llvm-project/commit/174aaacf97e2ebb0de1203b1a2a719a3d509b946
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Tooling/Tooling.cpp
A clang/test/Tooling/serialize-diagnostics.cpp
Log Message:
-----------
[Clang] Fix assertion failure in SDiagsWriter when finish() is not called (#181712)
When `--serialize-diagnostics` is used, `SDiagsWriter` enters bitstream
blocks during its initialization. They are expected to be exited in the
`finish()` method.
However in LibTooling based tools (like `clang-tidy` or `clang-check`),
if a user provides an invalid command-line argument, the driver detects
the error and prepares for an early exit. The exit path leads directly
to destruction, skipping the call to `finish()` that would normally
occur in the main logic. Then the assertion detects this block imbalance
and triggers a crash.
As of AI Usage: Gemini 3 was used to rephrase part of the PR description
Closes https://github.com/llvm/llvm-project/issues/140433
Commit: 035de0a328656b79ac4cdb6e2e8bdf4fcfc2476a
https://github.com/llvm/llvm-project/commit/035de0a328656b79ac4cdb6e2e8bdf4fcfc2476a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrFormatsV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvabd.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Rename RVVConstraint->VS1VS2Constraint. NFC (#182688)
Commit: a14b72ba63daf3d908f81c846049458692c8d269
https://github.com/llvm/llvm-project/commit/a14b72ba63daf3d908f81c846049458692c8d269
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M lldb/include/lldb/Utility/FileSpec.h
M lldb/source/Core/PluginManager.cpp
Log Message:
-----------
[lldb] Automatically discover and load dynamic LLDB Plugins (#182628)
LLDB's architecture is heavily centered around plugins. Its primary
purpose is abstraction and modularity, more so than extensibility. For
example, all the in-tree plugins are linked in statically. However, it
is possible to load modules dynamically, though that's mostly aimed at
plugins that built on top of the stable public SB API.
I'm working on support for loading modules dynamically, specifically
in-tree modules that use the LLDB_PLUGIN_DEFINE macro and the
corresponding CMake machinery.
This PR adds support for initializing modules using the symbols
generated by the aforementioned macro. This makes it possible to convert
plugins to shared libraries with minimal changes: is:
- Replace PLUGIN with SHARED in the plugin's CMakeLists.txt.
- Link against libLLDB instead of linking statically against LLVM and
LLDB libraries.
- Re-export all private symbols from libLLDB with
`-DLLDB_EXPORT_ALL_SYMBOLS=ON`.
Commit: 990996358deac9ba395b29f0845caa092975a14d
https://github.com/llvm/llvm-project/commit/990996358deac9ba395b29f0845caa092975a14d
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
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/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGen/array-dtor.cpp
A clang/test/CIR/CodeGen/cleanup-scope-tmp-with-exception.cpp
A clang/test/CIR/CodeGen/cleanup-scope-tmp.cpp
M clang/test/CIR/CodeGen/destructors.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/nrvo.cpp
M clang/test/CIR/CodeGen/size-of-vla.cpp
M clang/test/CIR/CodeGen/vla.c
M clang/test/CIR/CodeGenOpenACC/declare-copy.cpp
M clang/test/CIR/CodeGenOpenACC/declare-copyin.cpp
M clang/test/CIR/CodeGenOpenACC/declare-copyout.cpp
M clang/test/CIR/CodeGenOpenACC/declare-create.cpp
M clang/test/CIR/CodeGenOpenACC/declare-deviceptr.cpp
M clang/test/CIR/CodeGenOpenACC/declare-deviceresident.cpp
M clang/test/CIR/CodeGenOpenACC/declare-link.cpp
M clang/test/CIR/CodeGenOpenACC/declare-present.cpp
Log Message:
-----------
[CIR] Represent Cleanups with Cleanup scopes (#180276)
Represent the Cleanups stack explicitly with Cleanup scopes
Commit: 179b9e26de1063eaf22c407c7207941443b7a1ad
https://github.com/llvm/llvm-project/commit/179b9e26de1063eaf22c407c7207941443b7a1ad
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Re-enable MSVC C4512 diagnostic; NFC (#182576)
>From MSDN:
https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4512?view=msvc-170
> 'class' : assignment operator could not be generated
This diagnostic was disabled as part of enabling /W4 use in 5c73e1f
where there were 40k+ instances of the diagnostic being triggered.
However, local testing shows the diagnostic is not being generated.
Commit: 605f4054bc422e695d441404c508fbecc0ea7ff2
https://github.com/llvm/llvm-project/commit/605f4054bc422e695d441404c508fbecc0ea7ff2
Author: pzhengqc <55604844+pzhengqc at users.noreply.github.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/print-multi-selection-flags.c
Log Message:
-----------
[Multilib] Extend support for -fmultilib-flag to all targets (#182220)
Support for the `-fmultilib-flag` option has been added to AArch64/ARM.
This patch extends the support of the flag to all targets.
Commit: 6e205c0d8e99c44c420afd09d258b8e8fa924373
https://github.com/llvm/llvm-project/commit/6e205c0d8e99c44c420afd09d258b8e8fa924373
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/include/clang/Driver/RocmInstallationDetector.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
R clang/test/Driver/Inputs/hip_dev_lib/oclc_correctly_rounded_sqrt_on.amdgcn.bc
R clang/test/Driver/Inputs/rocm-invalid/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm-invalid/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/rocm-device-libs.cl
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
Reapply "clang/AMDGPU: Stop looking for oclc_correctly_rounded_sqrt control libraries" (#182877) (#182887)
This reverts commit 47da1cea9780dd3e60bad61fd96250b37469339a.
Commit: cd200c8dfae0de1602b59011381377d147a86bdb
https://github.com/llvm/llvm-project/commit/cd200c8dfae0de1602b59011381377d147a86bdb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcher.cpp
Log Message:
-----------
[TableGen] Implement TypesAreContradictory for non-simple ValueTypeByHwMode. (#182765)
This allows a little bit more factoring in the isel table.
Assisted-by: claude
Commit: 796a1ea79f413673cbce8ab8975c748f1dbcdc3f
https://github.com/llvm/llvm-project/commit/796a1ea79f413673cbce8ab8975c748f1dbcdc3f
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M lldb/include/lldb/Core/ThreadedCommunication.h
M lldb/include/lldb/Host/ProcessLaunchInfo.h
A lldb/include/lldb/Host/windows/ConnectionConPTYWindows.h
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/source/Core/ThreadedCommunication.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/common/ProcessLaunchInfo.cpp
A lldb/source/Host/windows/ConnectionConPTYWindows.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
Log Message:
-----------
[lldb][windows] fix a race condition when closing the ConPTY (#182302)
This patch fixes a race condition when closing the ConPTY of a process
on Windows.
The read operation in `ConnectionGenericFile::Read` is asynchronous
because the ConPTY does not work with synchronous reads. However, this
is prone to a race condition if the ConPTY is closed between the
`ReadFile` and the `WaitForMultipleObjects`. This eventually leads to
the data being truncated, i.e some of the STDOUT is missing.
The fix is to introduce a mutex which prevents the ConPTY from closing
while a Read loop is in progress.
At the end of the pipe, `WaitForMultipleObjects` hangs until it receives
a `ERROR_BROKEN_PIPE` event, which is signaled when closing the ConPTY.
It's important to close the Read thread before closing the ConPTY,
otherwise the thread deadlocks waiting for the `ERROR_BROKEN_PIPE` which
is never sent because the ConPTY is waiting for the thread to exit
before closing.
All of this logic is encapsulated in the `ConnectionConPTY` class which
is a subclass of `ConnectionGenericFile`. `ConnectionConPTY` only
supports reading from the ConPTY. To write to it,
`IOHandlerProcessSTDIOWindows` should be used instead.
This patch depends on:
- https://github.com/llvm/llvm-project/pull/182536
This patch replaces https://github.com/llvm/llvm-project/pull/182109.
---------
Co-authored-by: Nerixyz <nero.9 at hotmail.de>
Commit: 17ed0a7f2711d87ba18aed6254739c127bc191d6
https://github.com/llvm/llvm-project/commit/17ed0a7f2711d87ba18aed6254739c127bc191d6
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Account for MacroQualifiedType (#182777)
This PR fixes typeAnnotationForReturnType to account for
MacroQualifiedType.
Commit: 181d6c342e149b5ed68c9a0cc7faecb8c71e79b6
https://github.com/llvm/llvm-project/commit/181d6c342e149b5ed68c9a0cc7faecb8c71e79b6
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Fundamental types are trivially destructive (#182734)
This PR fixes the bug in the "trivial function analysis" that
CanTriviallyDestruct returns false for some fundamental types such as
float and nullptr_t. Return true for these types instead as they are
trivally destructive.
Commit: 90b4ff82e5d7d5353234346e8d2e35244d328ae4
https://github.com/llvm/llvm-project/commit/90b4ff82e5d7d5353234346e8d2e35244d328ae4
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Better diagnostics (#182614)
This PR improves NoDeleteChecker's bug report so that it's more
actionable. Namely, when a function fails "triviali function analysis",
we report the first statement or parameter which failed the triviality
check.
Commit: 8bdef33e6ae9e69bb6f9cc4fdc2b868c0974c3a6
https://github.com/llvm/llvm-project/commit/8bdef33e6ae9e69bb6f9cc4fdc2b868c0974c3a6
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
A clang/include/clang/Analysis/Scalable/EntityLinker/EntityLinker.h
A clang/include/clang/Analysis/Scalable/EntityLinker/EntitySummaryEncoding.h
A clang/include/clang/Analysis/Scalable/EntityLinker/LUSummary.h
A clang/include/clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h
A clang/include/clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h
M clang/include/clang/Analysis/Scalable/Model/BuildNamespace.h
M clang/include/clang/Analysis/Scalable/Model/EntityId.h
M clang/include/clang/Analysis/Scalable/Model/EntityLinkage.h
M clang/include/clang/Analysis/Scalable/Model/EntityName.h
M clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
M clang/include/clang/Analysis/Scalable/Model/SummaryName.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
A clang/include/clang/Analysis/Scalable/Support/ErrorBuilder.h
A clang/include/clang/Analysis/Scalable/Support/FormatProviders.h
M clang/lib/Analysis/Scalable/CMakeLists.txt
A clang/lib/Analysis/Scalable/EntityLinker/EntityLinker.cpp
M clang/lib/Analysis/Scalable/Model/BuildNamespace.cpp
A clang/lib/Analysis/Scalable/Model/EntityId.cpp
A clang/lib/Analysis/Scalable/Model/EntityLinkage.cpp
M clang/lib/Analysis/Scalable/Model/EntityName.cpp
A clang/lib/Analysis/Scalable/Model/SummaryName.cpp
M clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
A clang/lib/Analysis/Scalable/Support/ErrorBuilder.cpp
M clang/unittests/Analysis/Scalable/BuildNamespaceTest.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
M clang/unittests/Analysis/Scalable/EntityIdTest.cpp
M clang/unittests/Analysis/Scalable/EntityLinkageTest.cpp
A clang/unittests/Analysis/Scalable/EntityLinkerTest.cpp
M clang/unittests/Analysis/Scalable/EntityNameTest.cpp
A clang/unittests/Analysis/Scalable/ErrorBuilderTest.cpp
M clang/unittests/Analysis/Scalable/SummaryNameTest.cpp
M clang/unittests/Analysis/Scalable/TestFixture.cpp
M clang/unittests/Analysis/Scalable/TestFixture.h
Log Message:
-----------
[clang][ssaf] Add Entity Linker and associated data structures
This PR introduces the EntityLinker algorithm that merges per-TU
summaries into a single link-unit summary. As part of this change it
adds `operator<<` support for all SSAF model types to enable them to be
formatted automatically in diagnostics and test messages, and extracts
out and improves ErrorBuilder with a cleaner API and test coverage.
rdar://162570931
Commit: 5d3c4511f2961a14fdc485ef1f1edcf44205ae70
https://github.com/llvm/llvm-project/commit/5d3c4511f2961a14fdc485ef1f1edcf44205ae70
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/linux/Ptrace.h
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_arm.h
M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
A lldb/test/API/linux/arm/tls_register/Makefile
A lldb/test/API/linux/arm/tls_register/TestArmLinuxTLSRegister.py
A lldb/test/API/linux/arm/tls_register/main.c
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][ARM] Support reading the thread pointer register on ARM Linux (#182438)
This implements reading the TPIDRURO register, which serves as the
thread pointer register on ARM Linux. Note that the register is not
displayed for core files because it is not included in the dump.
Commit: 055b1efc1fe34106a8dc00a667708d5619077206
https://github.com/llvm/llvm-project/commit/055b1efc1fe34106a8dc00a667708d5619077206
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/SandboxIR/Region.cpp
M llvm/unittests/SandboxIR/RegionTest.cpp
Log Message:
-----------
[SandboxIR][Region] Replace exit() with reportFatalUsageError() (#182134)
`Region::createRegionsFromMD()` parses the IR and the corresponding
metadata and forms one or more Regions. If an instruction is tagged as
being part of the "auxiliary" vector of the region, then a check
enforces that it should also be part of a region, i.e., it should have
both `!sandboxaux` and `!sandboxvec` metadata, not just `!sandboxaux`.
The check used to `exit(1)` after printing an error, but it's better to
abort using LLVM's error handling functions. Since the user can write
the IR by hand I think it makes sense to report this as a usage error
with `reportFatalUsageError()`, and not as an internal error.
Commit: dd6e7b8ee6d932cf34f87d91b0a600e5a7ee601f
https://github.com/llvm/llvm-project/commit/dd6e7b8ee6d932cf34f87d91b0a600e5a7ee601f
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
Log Message:
-----------
[LV] Add corner-case tests for licm of predicated memops (#182828)
Commit: 812c6f8305d6e94ab0077e06bf0ea156fb81d86a
https://github.com/llvm/llvm-project/commit/812c6f8305d6e94ab0077e06bf0ea156fb81d86a
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
A mlir/include/mlir/Dialect/OpenACC/OpenACCParMapping.h
Log Message:
-----------
[mlir][acc] Add parallelism mapping policy interface (#182890)
Add a header that defines the interface for mapping OpenACC parallelism
levels (gang, worker, vector) to target-specific parallel dimension
attributes. Alongside this,
DefaultACCToGPUMappingPolicy is introduced for an initial implementation
of ACC parallelism to GPU mapping.
Commit: de6cadeced1794f6b747c195b5e8ddb878c8457c
https://github.com/llvm/llvm-project/commit/de6cadeced1794f6b747c195b5e8ddb878c8457c
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl
Log Message:
-----------
[CIR] Fix HLSL test that crashes (#182894)
This was caused by #182609, which just changed the way the AST stores
these, which causes us to hit an NYI in a way that doesn't recover
nicely. In the future, we could probably represent a 'no op' instead of
an empty op in the IR for these cases, but there isn't much use for it,
since it is always after NYI.
This patch changes the test to use float instead of float1 as suggested
in review, which avoids the problematic conversion.
Commit: 36445f7b8f99dd3b3af3ba74c4d128b626a9c52c
https://github.com/llvm/llvm-project/commit/36445f7b8f99dd3b3af3ba74c4d128b626a9c52c
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg-bfloat.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg-no-sgpr-for-csrspill-xfail.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/cc-inreg-sgpr0-3-mismatch.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.convergencetokens.ll
M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.error.ll
M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.ll
Log Message:
-----------
[AMDGPU] Fix caller/callee mismatch in SGPR assignment for inreg args (#182754)
On the callee side, `LowerFormalArguments` marks SGPR0-3 as allocated in
`CCState` before running the CC analysis. On the caller side,
`LowerCall` (and GlobalISel's `lowerCall`/`lowerTailCall`) added the
scratch resource to `RegsToPass` without marking it in `CCState`. This
caused `CC_AMDGPU_Func` to treat SGPR0-3 as available on the caller
side, assigning user inreg args there, while the callee skipped them
without marking it in `CCState`. This caused `CC_AMDGPU_Func` to treat
SGPR0-3 as available on the caller side, assigning user inreg args
there, while the callee skipped them.
Commit: 9926ea9888322e8743e320176d0e26e0e8c273bf
https://github.com/llvm/llvm-project/commit/9926ea9888322e8743e320176d0e26e0e8c273bf
Author: zGoldthorpe <Zach.Goldthorpe at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/bypass-div.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/optimize-compare.ll
A llvm/test/CodeGen/AMDGPU/setcc-select-hi32mask.ll
M llvm/test/CodeGen/AMDGPU/sgpr-to-vreg1-copy.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
Log Message:
-----------
[AMDGPU][ISel] Reduce 64-bit `setcc` to upper 32 bits if lower 32 bits are known (#181238)
Truncate 64-bit integral `setcc`s to their upper 32-bit operands if
enough information is known about their lower 32-bit operands, subsuming
the special cases handled in #177662.
Alive2 verification for analogous IR transformations:
[xdATxK](https://alive2.llvm.org/ce/z/xdATxK)
Commit: 6705802ce2132eecc16fe3bcbba46ef68fe75175
https://github.com/llvm/llvm-project/commit/6705802ce2132eecc16fe3bcbba46ef68fe75175
Author: Kern Handa <kernhanda at users.noreply.github.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/plugin_config.bzl
Log Message:
-----------
[lldb][bazel] Add HighlighterDefault, rename ClangHighlighter targets (#182693)
Rename `PluginClangHighlighter` to `PluginHighlighterClang` for
consistency with the directory-based naming convention, add the new
`PluginHighlighterDefault` library, and register both `HighlighterClang`
and `HighlighterDefault` in `DEFAULT_PLUGINS`.
Commit: 9a91c50a4cc7006f74a66b8b76f2b0e2661bb27d
https://github.com/llvm/llvm-project/commit/9a91c50a4cc7006f74a66b8b76f2b0e2661bb27d
Author: Harrishan Raveendran <108529751+Harrish92 at users.noreply.github.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/unittests/Target/AArch64/AArch64SelectionDAGTest.cpp
Log Message:
-----------
[DAG] isKnownNeverZero - add DemandedElts argument (#182679)
Following changes were made for isKnownNeverZero :
- Added BUILDVECTOR and SPLATVECTOR cases.
- Added support for DemandedElts arguments for SELECT/VSELECT cases.
- Added tests for constants and SELECT/VSELECT.
Closes #181656
Commit: 79ea4980bf6d44515425d856dd1b15953fa69ea6
https://github.com/llvm/llvm-project/commit/79ea4980bf6d44515425d856dd1b15953fa69ea6
Author: Patryk Wychowaniec <pwychowaniec at pm.me>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/test/CodeGen/AVR/cmp.ll
Log Message:
-----------
[AVR] Fix SETUGT during 128b -> 64b lowering (#182690)
Closes https://github.com/llvm/llvm-project/issues/181504.
Commit: 77b31b90d7bcc86692a9dda98409768686546cd0
https://github.com/llvm/llvm-project/commit/77b31b90d7bcc86692a9dda98409768686546cd0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/combine-or.ll
Log Message:
-----------
[X86] Add test showing failure to fold or(buildvector(),buildvector()) pattern into a common buildvector() (#182906)
Commit: e6f30334de720b0473f1d797c008ccf74fb300b8
https://github.com/llvm/llvm-project/commit/e6f30334de720b0473f1d797c008ccf74fb300b8
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/docs/CMakeLists.txt
M clang/docs/index.rst
M clang/include/clang/Basic/BuiltinsAMDGPU.td
A clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
Log Message:
-----------
[Clang][AMDGPU][Docs] Add builtin documentation for AMDGPU builtins (#181574)
Use the documentation generation infrastructure to document the AMDGPU
builtins.
This PR starts with the ABI / Special Register builtins. Documentation
for the remaining builtin categories will be added incrementally in
follow-up patches.
Commit: ba294608bea6e4e6641ce76d9eaf624a539c7ec9
https://github.com/llvm/llvm-project/commit/ba294608bea6e4e6641ce76d9eaf624a539c7ec9
Author: Damian Malarczyk <d_malarczyk at apple.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGObjCMac.cpp
A clang/test/CodeGenObjC/block-layout-section.m
Log Message:
-----------
Move the ObjC blocks layout bitmap to the cstring section (#182398)
This is a follow-up to https://github.com/llvm/llvm-project/pull/174705
There's one additional place in the ObjC code gen logic to make sure the
ObjC blocks layout is generated in the regular cstring section.
Commit: b8a4bf2fdd2fb9ea9c08c39c4f21cd1aa93063b4
https://github.com/llvm/llvm-project/commit/b8a4bf2fdd2fb9ea9c08c39c4f21cd1aa93063b4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
Log Message:
-----------
[RISCV] Remove extra ReadSFBALU from SFBNDS_BFO. (#182900)
There are only 4 register operands so there should only be 4 Read.
Commit: 8eea16004b92afb16859a4efe6def5b5c630fb2a
https://github.com/llvm/llvm-project/commit/8eea16004b92afb16859a4efe6def5b5c630fb2a
Author: Justin Stitt <justinstitt at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/test/Sema/attr-overflow-behavior-format-strings.c
M clang/test/Sema/attr-overflow-behavior-templates.cpp
M clang/test/Sema/attr-overflow-behavior.c
M clang/test/Sema/attr-overflow-behavior.cpp
Log Message:
-----------
[Clang][NFC] Don't redefine __trap macro in tests for PowerPC (#182898)
These `OverflowBehaviorType` tests were failing due to PowerPC already
defining a __trap macro.
We can just remove the __wrap and __trap macros as they are unused in these tests.
Signed-off-by: Justin Stitt <justinstitt at google.com>
Commit: 5bccf343e672ac4f8ed691c1346835a3bdc53090
https://github.com/llvm/llvm-project/commit/5bccf343e672ac4f8ed691c1346835a3bdc53090
Author: Mohamed Emad <hulxxv at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/bf16fmaf128.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/bf16fmaf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16fmaf128.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 `bf16fmaf128` to header-only (#182009)
Close #181627
Commit: 4ffa61978b3d72b868e995bf89d4f864f5e8ab6d
https://github.com/llvm/llvm-project/commit/4ffa61978b3d72b868e995bf89d4f864f5e8ab6d
Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/SandboxIR/Region.cpp
M llvm/unittests/SandboxIR/RegionTest.cpp
Log Message:
-----------
Revert "[SandboxIR][Region] Replace exit() with reportFatalUsageError() (#182134)"
This reverts commit 055b1efc1fe34106a8dc00a667708d5619077206.
Commit: b19a0e01073cac3d39ad420fdbc4fbe6e759bb96
https://github.com/llvm/llvm-project/commit/b19a0e01073cac3d39ad420fdbc4fbe6e759bb96
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/getpayload.h
A libc/shared/math/getpayloadbf16.h
A libc/shared/math/getpayloadf.h
A libc/shared/math/getpayloadf128.h
A libc/shared/math/getpayloadf16.h
A libc/shared/math/getpayloadl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/getpayload.h
A libc/src/__support/math/getpayloadbf16.h
A libc/src/__support/math/getpayloadf.h
A libc/src/__support/math/getpayloadf128.h
A libc/src/__support/math/getpayloadf16.h
A libc/src/__support/math/getpayloadl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/getpayload.cpp
M libc/src/math/generic/getpayloadbf16.cpp
M libc/src/math/generic/getpayloadf.cpp
M libc/src/math/generic/getpayloadf128.cpp
M libc/src/math/generic/getpayloadf16.cpp
M libc/src/math/generic/getpayloadl.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 getpayload family functions to header-only (#181824)
Refactors the payload_functions math family to be header-only.
part of: https://github.com/llvm/llvm-project/issues/181823
Target Functions:
- getpayload
- getpayloadbf16
- getpayloadf
- getpayloadf128
- getpayloadf16
Commit: bf97ff0996ec2ac9fa5cc7a410364860d5466187
https://github.com/llvm/llvm-project/commit/bf97ff0996ec2ac9fa5cc7a410364860d5466187
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[CMake] Disable PCH when LLVM_ENABLE_MODULES is set (#182914)
Commit: 3b9c27d1fcd3bc271bec7333804dad8fb6bdafb0
https://github.com/llvm/llvm-project/commit/3b9c27d1fcd3bc271bec7333804dad8fb6bdafb0
Author: Armillus <37043348+Armillus at users.noreply.github.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/bf16addl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/bf16addl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16addl.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 bf16addl implementation to header-only in src/__support/math folder. (#182561)
Resolves https://github.com/llvm/llvm-project/issues/181019
Part of https://github.com/llvm/llvm-project/issues/147386
Commit: 03b70cb1f45cc4ffb0ffbd0a832ff86e93833de0
https://github.com/llvm/llvm-project/commit/03b70cb1f45cc4ffb0ffbd0a832ff86e93833de0
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-vector-bitwise-reductions.ll
Log Message:
-----------
[InstCombine] Restrict foldICmpOfVectorReduce to one-use (#182833)
Follow up on 279b3dbe ([InstCombine] Fold icmp (vreduce_(or|and) %x),
(0|-1), #182684) to fix a regression by restricting the fold to one-use.
Regression: https://godbolt.org/z/f38b169MM
Commit: bad9e4a84972056a17fc6803cab3674405a6d3f6
https://github.com/llvm/llvm-project/commit/bad9e4a84972056a17fc6803cab3674405a6d3f6
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts][NFC] Move instr events code into separate function (#180864)
This patch moves the code that finds which events correspond to an
instruction into a separate `getEventsFor(MachineInstr)` function.
Commit: effb521c6ae2bbb486325ec724e98483bcd9302c
https://github.com/llvm/llvm-project/commit/effb521c6ae2bbb486325ec724e98483bcd9302c
Author: Samrudh Nelli <samrudhnelli at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/assets/enum-template.mustache
M clang-tools-extra/test/clang-doc/enum.cpp
Log Message:
-----------
[clang-doc] Display enum type along with enum name in HTML view (#181347)
Displays enum type along with name.
For named variables
Previous output : enum XYZ
Current output : enum XYZ : unsigned int
For unnamed variables
Previous output : enum
Current output : enum : unsigned int
Fixes #166652
Commit: 5edbaf9c82983eb8be0ace107ef8399fb6eac938
https://github.com/llvm/llvm-project/commit/5edbaf9c82983eb8be0ace107ef8399fb6eac938
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M lldb/source/API/liblldb-private.exports
Log Message:
-----------
[lldb] Export *all* private symbols when using LLDB_EXPORT_ALL_SYMBOLS (#182634)
Export *all* private symbols, from both LLDB and LLVM. The motivation
for this is to be able to create dynamically linked LLDB plugins. These
plugins cannot link any LLDB or LLVM code statically as that results in
duplicated symbols, and instead have to use the ones from libLLDB.
Commit: b3f3b57aed375b53d1801d532333bd66417b11ef
https://github.com/llvm/llvm-project/commit/b3f3b57aed375b53d1801d532333bd66417b11ef
Author: Augusto Noronha <anoronha at apple.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/source/Core/Module.cpp
M lldb/source/Symbol/SymbolContext.cpp
Log Message:
-----------
[lldb] Speed up SymbolContextList::AppendIfUnique (#181952)
d7fb086668dff68 changed some calls from SymbolContextList::Append to
SymbolContextList::AppendIfUnique. This has unfortunately caused a huge
slow down in operations involving a large amount of symbol contexts (for
example, trying to autocomplete from an empty input "b <TAB>" will add
every function to the list), since AppendIfUnique scans the entire
symbol context list. Speed this up by adding a hash set to quickly
answer whether a symbol context is on the list or not.
This takes the time from running "b <TAB>" when debugging yaml2obj on my
machine from 600 seconds down to 13, which is about the same as before
d7fb086668dff68.
Note that AppendIfUnique has a logic error, which has been present since
its introduction. This has to do with the behavior controlled by
"merge_symbol_into_function", which will try to merge symbols with
symbol context containing the equivalent function to that symbol.
The previous patch tried to correct this by adding
CompareConsideringPossiblyNullSymbol(), which is not quite correct.
With CompareConsideringPossiblyNullSymbol(), if symbols are added in
this order:
- Symbol context without symbol.
- Equivalent symbol context with symbol.
The list will have only one symbol context WITHOUT the symbol.
If we stop using CompareConsideringPossiblyNullSymbol() and instead go
back to the == operator which d7fb086668dff68 introduced, with symbols
added in this order, the following will happen:
- Symbol context without symbol.
- Equivalent symbol context with symbol.
- The bare symbol, with "merge_symbol_into_function = true", the list
will have the same symbol twice.
This patch does not attempt to solve this, and instead focuses on the
performance issue d7fb086668dff68 introduced.
rdar://170477680
Commit: 5a756c8a3a6dba8c9ff2da7126741d348c40925e
https://github.com/llvm/llvm-project/commit/5a756c8a3a6dba8c9ff2da7126741d348c40925e
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts][NFC] Make Waitcnt members private (#180772)
This patch makes Waitcnt member variables private and replaces their
accesses with calls to set() or get(). This will help us change the
implementation to an a array in the followup patch.
Commit: 3f742e98794a855e9fbbc60f6c14eb3277d2f030
https://github.com/llvm/llvm-project/commit/3f742e98794a855e9fbbc60f6c14eb3277d2f030
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
A clang/test/Driver/spirv-lto.c
Log Message:
-----------
[Clang][Driver][SPIRV] Support LTO through the llvm-lto tool (#182347)
There is no SPIR-V linker that supports LTO and a proposal to support
basic SPIR-V linking in `lld` was
[rejected](https://github.com/llvm/llvm-project/pull/178749), so support
a basic version of LTO just by calling `llvm-lto` directly from the
SPIR-V Toolchain. `-Xlinker` can be used to specify flags to `llvm-lto`.
This should be enough for our use case.
There is also the `llvm-lto2` tool, but that requires a list of symbol
resolutions in the command line, and we can't compute that in the
driver.
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 8910926363b0cf2e692c63736eddd671b6453e5f
https://github.com/llvm/llvm-project/commit/8910926363b0cf2e692c63736eddd671b6453e5f
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
A clang/test/SemaHLSL/Language/MatrixSplatCasts.hlsl
M clang/test/SemaHLSL/MatrixElementOverloadResolution.hlsl
Log Message:
-----------
[HLSL][Matrix] Add implicit type conversions for constant matrix types (#181939)
Fixes #175853
This PR extends implicit type conversion support to Clang's HLSL
frontend for handling ConstantMatrix types in addition to Vectors. The
logic is pretty much identical when handling a ConstantMatrix versus a
Vector so the changes are rather simple.
Assisted-by: claude-opus-4.6
Commit: ed6cd322dec5e5d48e48dd9eceab6fa9e848b5f0
https://github.com/llvm/llvm-project/commit/ed6cd322dec5e5d48e48dd9eceab6fa9e848b5f0
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel][Clang][AMDGPU][Docs] Port e6f30334de720b0473f1d797c008ccf74fb300b8 (#182925)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: a56993a694ed02775285b9fe0e23fce8346491c9
https://github.com/llvm/llvm-project/commit/a56993a694ed02775285b9fe0e23fce8346491c9
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/R600Subtarget.cpp
M llvm/lib/Target/AMDGPU/R600Subtarget.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.private-memory.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
M llvm/test/CodeGen/AMDGPU/array-ptr-calc-i32.ll
M llvm/test/CodeGen/AMDGPU/captured-frame-index.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
M llvm/test/CodeGen/AMDGPU/extload-private.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
M llvm/test/CodeGen/AMDGPU/indirect-private-64.ll
M llvm/test/CodeGen/AMDGPU/insert_subreg.ll
M llvm/test/CodeGen/AMDGPU/load-hi16.ll
M llvm/test/CodeGen/AMDGPU/load-lo16.ll
M llvm/test/CodeGen/AMDGPU/local-stack-slot-offset.ll
M llvm/test/CodeGen/AMDGPU/parallelandifcollapse.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-no-opts.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-stored-pointer-value.ll
M llvm/test/CodeGen/AMDGPU/split-vector-memoperand-offsets.ll
M llvm/test/CodeGen/AMDGPU/store-hi16.ll
M llvm/test/CodeGen/AMDGPU/target-cpu.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca.ll
Log Message:
-----------
[AMDGPU] Remove `FeaturePromoteAlloca` (#177636)
It looks like `+promote-alloca` is always enabled, and `-promote-alloca`
is simply used as a switch to toggle the pass.
Commit: 6f46681efe1204638ab025709bad2fe7382cfe6a
https://github.com/llvm/llvm-project/commit/6f46681efe1204638ab025709bad2fe7382cfe6a
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M lldb/docs/conf.py
M lldb/docs/use/variable.rst
Log Message:
-----------
[lldb][docs] Improve documentation typehints (#182892)
Some parts of the docs uses google style docstrings, but the generated
docstrings are note formatted properly.
Add the builtin napoleon extension.
Add typehints to the `SyntheticChildrenProvider` in variable docs.
Commit: ac9f3596626d88dab10b68dbf0d94355aea3de4a
https://github.com/llvm/llvm-project/commit/ac9f3596626d88dab10b68dbf0d94355aea3de4a
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/BitTracker.cpp
M llvm/lib/Target/Hexagon/HexagonGenMux.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
R llvm/test/CodeGen/Hexagon/copy-phys-int-dbl.mir
R llvm/test/CodeGen/Hexagon/tfr-cleanup-subreg-copy.ll
R llvm/test/CodeGen/Hexagon/truncating-copy-double-to-int.ll
Log Message:
-----------
Revert "[Hexagon] Handle subreg copies between DoubleRegs and IntRegs… (#182861)
… (#181360)"
This reverts commit 689ecf880373bb4e0f01ed5e004f19a466e869dc.
Commit: 6ca5490b31e83852e83460520e9df135d750cc69
https://github.com/llvm/llvm-project/commit/6ca5490b31e83852e83460520e9df135d750cc69
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
Log Message:
-----------
[CIR] Implement initial flattening of cleanup scopes with EH (#182636)
This implements flattening of cir.cleanup_scope operations that require
exception handling. Calls within the cleanup scope body that may throw
an exception are replaced by cir.try_call operations that unwind to an
exception handling block that executes the operations in the cleanup
scope's cleanup region and then unwinds to the caller using a cir.resume
operation.
If the cleanup scope is nested within a try operation, the flattening of
the try op will be responsible for updating the resume operation to flow
through its dispatch block. However, that is not yet implemented, so
only the case of a try op with no handlers is accepted after this PR.
Flattening of cleanup scopes that require exception handling nested
within other cleanup scopes is not yet implemented.
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: 4e8c730fc23b3d007c3ed0a04573957a718df1d3
https://github.com/llvm/llvm-project/commit/4e8c730fc23b3d007c3ed0a04573957a718df1d3
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/unittests/Support/Path.cpp
Log Message:
-----------
[unittests][Support] Fix FileSystemTest for BSD semantics (#181487)
BSD semantics (also available on Linux with mount -o bsdgroups/grpid)
for file/directory creation are to inherit the group ID from the parent
directory, rather than using the set-group-ID bit. When running these
tests on FreeBSD (and likely other BSDs), temporary files and
directories are created underneath /tmp, which is root:wheel (0:0), and
so they, and all their descendants, have a group of wheel.
For FileSystemTest.RemoveDirectoriesNoExePerm, in order to allow
traversing the directory which has just been made non-executable, i.e.
non-searchable, so that it can be deleted, the test first sets its
permissions to all_perms. However, all_perms is not just the
user/group/owner read/write/execute bits, it also includes the
set-user-ID, set-group-ID and sticky bits. Since the directory on
FreeBSD has a group of wheel, any users not in the wheel group cannot
set the set-group-ID bit, so this will fail with EPERM, leaving the
directory non-executable, and the following removal will fail, due to
the foo child not being searchable, and then the test harness cleanup
will fail due to the directory not being empty. This test does not
actually need any of these extra permissions to be set, so use all_all
instead, which is just the normal permission bits, and therefore can be
performed.
Similarly, for FileSystemTest.permissions, we try to set the
set-group-ID bit on the temporary file. However, in this case, this is a
deliberate API feature being tested, and so we should make sure it
works. Therefore, explicitly set the group on the file at the start of
the test to be the effective group ID, i.e. what Linux will default to.
Fixes: 79f34ae7fe92 ("[llvm] Fix assertion when stat fails in
remove_directories"
Fixes: 566fdf4a2a89 ("[Support] Add support for getting file system
permissions on Windows and implement sys::fs::set/getPermissions to work
with them")
Commit: 68945cce4d2bc9659ef3b98cbe9445ae38ef5e20
https://github.com/llvm/llvm-project/commit/68945cce4d2bc9659ef3b98cbe9445ae38ef5e20
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/mem2reg.mlir
Log Message:
-----------
[flang] Restrict mem2reg promotion through fir.declare to single-block case (#182933)
The PromotableOpInterface on fir.declare allows mem2reg to promote
allocas accessed through declare ops. However, MLIR's mem2reg computes
defining blocks and live-in sets only from direct users of the slot
pointer. Stores through fir.declare are users of the declare result, not
the alloca, so they are not registered as defining blocks. This causes
missing phi nodes at join points (loop headers, merge blocks), which
silently drops conditional updates to promoted variables.
This was observed in CUDA Fortran kernels where a loop variable updated
conditionally (e.g., mywatch = max(1, mywatch-32)) became constant after
promotion, producing incorrect results at runtime.
The fix restricts promotion through fir.declare to cases where all users
of the declare are in the same block. In single-block cases no phi nodes
are needed, so the MLIR limitation does not apply. Cross-block cases are
left unpromoted until the MLIR mem2reg infrastructure is extended to
track defining blocks through PromotableOpInterface results.
With the current behavior, this would be the result.
```
func.func @loop_conditional_update(%arg0: i32, %cdt: i1) -> i32 {
%c1 = arith.constant 1 : i32
%alloca = fir.alloca i32 {bindc_name = "mywatch", uniq_name = "_QFkernelEmywatch"}
%declare = fir.declare %alloca {uniq_name = "_QFkernelEmywatch"} : (!fir.ref<i32>) -> !fir.ref<i32>
fir.store %arg0 to %declare : !fir.ref<i32>
llvm.br ^loop
^loop:
%val = fir.load %declare : !fir.ref<i32>
llvm.cond_br %cdt, ^update, ^exit
^update:
%new = arith.subi %val, %c1 : i32
fir.store %new to %declare : !fir.ref<i32>
llvm.br ^loop
^exit:
%result = fir.load %declare : !fir.ref<i32>
return %result : i32
}
```
```
func.func @loop_conditional_update(%arg0: i32, %arg1: i1) -> i32 {
%c1_i32 = arith.constant 1 : i32
fir.declare_value %arg0 {uniq_name = "_QFkernelEmywatch"} : i32
llvm.br ^bb1
^bb1: // 2 preds: ^bb0, ^bb2
llvm.cond_br %arg1, ^bb2, ^bb3
^bb2: // pred: ^bb1
%0 = arith.subi %arg0, %c1_i32 : i32 // Doesn't use current value.
fir.declare_value %0 {uniq_name = "_QFkernelEmywatch"} : i32
llvm.br ^bb1
^bb3: // pred: ^bb1
return %arg0 : i32 // always return $arg0
}
```
A better fix should probably be done in mem2reg to support these cases
better. I'll look into that later this week.
Commit: 48a5119d8e7d7236a28c14d06ec215ef3366ef90
https://github.com/llvm/llvm-project/commit/48a5119d8e7d7236a28c14d06ec215ef3366ef90
Author: Martin Storsjö <martin at martin.st>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M openmp/CMakeLists.txt
M openmp/cmake/OpenMPTesting.cmake
M openmp/docs/Building.md
Log Message:
-----------
[openmp] Allow testing OpenMP without a full clang build tree (#182470)
Having a build tree with "not" and "FileCheck" is still required, but if
Clang/Flang isn't configured in that build, run the tests with the same
compiler CMake uses. This is how testing worked in the standalone build
configurations that now have been removed.
Commit: 372c65d7a3d20e74a960f1265136ddb5d3fc0bf6
https://github.com/llvm/llvm-project/commit/372c65d7a3d20e74a960f1265136ddb5d3fc0bf6
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/Operator.h
Log Message:
-----------
[NFC][IR] Fix MSVC C4706 diagnostic w/ 741b2cda32e1 (#182682)
Fix error:
llvm\include\llvm\IR\Operator.h(279) : error C2220: the following
warning is treated as an error
llvm\include\llvm\IR\Operator.h(279) : warning C4706: assignment within
conditional expression
Commit: 0b66a3aa56dde0fb58ab213e6b7aeb935dcb03fa
https://github.com/llvm/llvm-project/commit/0b66a3aa56dde0fb58ab213e6b7aeb935dcb03fa
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel
Log Message:
-----------
[bazel] Add missing llc test dep (#182937)
Used by mlir/test/Dialect/X86Vector/dot-bf16.mlir, which seems to not be
running due to some other misconfiguration.
Commit: 423356326bdedbb2325471a9cc76470ec1ab5b39
https://github.com/llvm/llvm-project/commit/423356326bdedbb2325471a9cc76470ec1ab5b39
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
Log Message:
-----------
[NFC] [FlowSensitive] add mock task header for coroutines
Reviewers: jvoung, rohanjr
Pull Request: https://github.com/llvm/llvm-project/pull/182612
Commit: df58e0f500eb28c1dfe90054928af8c399f36bbf
https://github.com/llvm/llvm-project/commit/df58e0f500eb28c1dfe90054928af8c399f36bbf
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[FlowSensitive] [StatusOr] add test involving co_return
Reviewers: jvoung
Reviewed By: jvoung
Pull Request: https://github.com/llvm/llvm-project/pull/182610
Commit: b4564abb013bce01372be75e839b86d44a65fe7e
https://github.com/llvm/llvm-project/commit/b4564abb013bce01372be75e839b86d44a65fe7e
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[NFC] [FlowSensitive] [StatusOr] add test for coroutine crash
Reviewers: jvoung
Reviewed By: jvoung
Pull Request: https://github.com/llvm/llvm-project/pull/182604
Commit: 9829d082af865f78c9ad1afa10351331e00a14e1
https://github.com/llvm/llvm-project/commit/9829d082af865f78c9ad1afa10351331e00a14e1
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SISchedule.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.load.async.to.lds.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
Log Message:
-----------
[AMDGPU] Update gfx1250 sched model to latest table (#182923)
Commit: cb0b13d9d7fe0798d33074ae48afa8da98a16f17
https://github.com/llvm/llvm-project/commit/cb0b13d9d7fe0798d33074ae48afa8da98a16f17
Author: Tal Keren <tkeren at paloaltonetworks.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M lld/MachO/LTO.cpp
A lld/test/MachO/lto-slp-vectorize-pm.ll
Log Message:
-----------
[lld][MachO] Enable LoopVectorization and SLPVectorization for ThinLTO (#182748)
Commit 21a4710c67a97838dd75cf60ed24da11280800f8 previously enabled
LoopVectorization and SLPVectorization CodeGen options for the ELF and
COFF LTO backends. Since the Mach-O LTO port did not exist at the time,
it missed this configuration.
This patch adds these options to the Mach-O LTO setup for consistency
with the other backends. Without this, SLP and loop vectorization passes
are silently skipped during Mach-O LTO for O2 and O3 builds.
Commit: 8604b52e380fb37a3599539b1d87a68666ab6ed5
https://github.com/llvm/llvm-project/commit/8604b52e380fb37a3599539b1d87a68666ab6ed5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
A llvm/test/Transforms/SafeStack/SPARC/safestack.ll
Log Message:
-----------
RuntimeLibcalls: Fix adding __safestack_pointer_address by default (#182936)
This was accidentally added to the default set of libcalls, so move
it out of the giant let block over functions in the default set.
Should fix regression on SPARC bot.
Commit: c716009d710d7b5d9c6c5ab67d97a2975b7ef6e0
https://github.com/llvm/llvm-project/commit/c716009d710d7b5d9c6c5ab67d97a2975b7ef6e0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Remove unnecessary setOperationAction for P extension. NFC
We default all vector operations to Expand for P so this one is
redundant.
Commit: 1c7cb39849193eabe223bef46da35329be5c0dc6
https://github.com/llvm/llvm-project/commit/1c7cb39849193eabe223bef46da35329be5c0dc6
Author: CatherineMoore <catmoore at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/docs/OpenMPSupport.rst
Log Message:
-----------
[Clang][Docs] Update OpenMP support status for loop transformations (#182591)
Update loop fusion transformation codegen status to done and add
additional PR links. Mark loop index set splitting parsing as in
progress.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: df128ce63e8d7abce77ce0e1cd388ade0f21e501
https://github.com/llvm/llvm-project/commit/df128ce63e8d7abce77ce0e1cd388ade0f21e501
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/EntityLinker/LUSummary.h
Log Message:
-----------
[clang][ssaf][NFC] Avoid incomplete EntitySummary type breakage (#182946)
When parsing LUSummary.h as a standalone header unit, EntitySummary is
an incomplete type, causing compilation to fail:
```
__memory/unique_ptr.h:72:19: error: invalid application of 'sizeof' to an incomplete type 'clang::ssaf::EntitySummary'
72 | static_assert(sizeof(_Tp) >= 0, "cannot delete an incomplete type");
...
clang/include/clang/Analysis/Scalable/EntityLinker/LUSummary.h:48:12: note: in instantiation of member function 'std::map<clang::ssaf::SummaryName, std::map<clang::ssaf::EntityId, std::unique_ptr<clang::ssaf::EntitySummary>>>::map' requested here
48 | explicit LUSummary(NestedBuildNamespace LUNamespace)
| ^
clang/include/clang/Analysis/Scalable/EntityLinker/LUSummary.h:27:7: note: forward declaration of 'clang::ssaf::EntitySummary'
27 | class EntitySummary;
```
This is not a total breakage because this header file builds
successfully when used in a .cpp file that includes EntitySummary.h
prior to this.
See https://llvm.org/docs/CodingStandards.html#self-contained-headers
Commit: 6eb63c69e189c65c0d4d843cced568e03caf2f69
https://github.com/llvm/llvm-project/commit/6eb63c69e189c65c0d4d843cced568e03caf2f69
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
Log Message:
-----------
[CodeGen] Remove legacy getTgtMemIntrinsic overload (#175846)
It is now fully unused.
Commit: 476492bd1638eaa1e1a5a845307f25ac966d0fe3
https://github.com/llvm/llvm-project/commit/476492bd1638eaa1e1a5a845307f25ac966d0fe3
Author: David Green <david.green at arm.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
Log Message:
-----------
[AArch64] Add basic scmp and ucmp costs. (#182180)
This adds basic llvm.scmp and llvm.ucmp costs. Scalars are costed as
cmp+cset+csinv. Neon vectors can use cmgt - cmgt as the vectors write
full vector lanes.
Commit: c3a86ff2d0b397d757345fad7e29c2a6e7dbc823
https://github.com/llvm/llvm-project/commit/c3a86ff2d0b397d757345fad7e29c2a6e7dbc823
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
A llvm/test/CodeGen/Hexagon/extract-hvx-subvector-pred-small.ll
Log Message:
-----------
[Hexagon] Fix extractHvxSubvectorPred shuffle mask for small predicates (#181364)
The loop generating the shuffle mask in extractHvxSubvectorPred used
HwLen/ResLen as the iteration count, but each iteration produces 8
elements (ResLen * Rep where Rep = 8/ResLen). This means the total mask
size was (HwLen/ResLen) * 8, which only equals HwLen when ResLen == 8.
For smaller predicate subvectors (e.g., <4 x i1> or <2 x i1>), the mask
was too large, causing an assertion failure in getVectorShuffle.
Fix by using HwLen/8 as the loop bound, which correctly produces HwLen
elements regardless of ResLen.
Commit: 4a788031e8fc00eeae58a50665b499e6e87be850
https://github.com/llvm/llvm-project/commit/4a788031e8fc00eeae58a50665b499e6e87be850
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
AMDGPU: Cleanup the handling of flags in getTgtMemIntrinsic (#179469)
Some of the flag handling seems a bit inconsistent and dodgy, but this
is meant to be a pure refactoring for now.
Commit: 3df1c6f88bfbbd76d9256c55358bb75e02e33779
https://github.com/llvm/llvm-project/commit/3df1c6f88bfbbd76d9256c55358bb75e02e33779
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/VPlanTestPass.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
A llvm/lib/Transforms/Vectorize/VPlanTestPass.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-licm.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-merge-blocks.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-remove-dead-recipes.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-simplify-recipes.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-widen-from-metadata.ll
Log Message:
-----------
[VPlan] Add simple driver option to run some individual transforms. (#178522)
Add an alternative to test VPlan in more isolation via a new
`vplan-test-transform` option, which builds VPlan0 for each loop in the
input IR and then can invoke a set of transforms on it.
In order to allow different recipe types to be created, a new
widen-from-metadata transform is added, which transforms VPInstructions
to different recipes, based on custom !vplan.widen metadata. Currently
this supports creating widen & replicate recipes, but can easily be
extended in the future.
Currently the handling is intentionally bare-bones, to be extended
gradually as needed.
PR: https://github.com/llvm/llvm-project/pull/178522
Commit: 6d37110e091569509f54e2b1f3ef35e8a50e5b70
https://github.com/llvm/llvm-project/commit/6d37110e091569509f54e2b1f3ef35e8a50e5b70
Author: Daniel Thornburgh <mysterymath at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
R llvm/test/Transforms/SafeStack/SPARC/safestack.ll
Log Message:
-----------
Revert "RuntimeLibcalls: Fix adding __safestack_pointer_address by default" (#182949)
Reverts llvm/llvm-project#182936
Commit: 6b352aa8ea54bd53ca7b396639b563c8744aa011
https://github.com/llvm/llvm-project/commit/6b352aa8ea54bd53ca7b396639b563c8744aa011
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
R llvm/include/llvm/Transforms/Vectorize/VPlanTestPass.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
R llvm/lib/Transforms/Vectorize/VPlanTestPass.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
R llvm/test/Transforms/LoopVectorize/VPlan/vplan-licm.ll
R llvm/test/Transforms/LoopVectorize/VPlan/vplan-merge-blocks.ll
R llvm/test/Transforms/LoopVectorize/VPlan/vplan-remove-dead-recipes.ll
R llvm/test/Transforms/LoopVectorize/VPlan/vplan-simplify-recipes.ll
R llvm/test/Transforms/LoopVectorize/VPlan/vplan-widen-from-metadata.ll
Log Message:
-----------
Revert "[VPlan] Add simple driver option to run some individual transforms. (#178522)"
This reverts commit 3df1c6f88bfbbd76d9256c55358bb75e02e33779.
Causes build-failures without assertions
https://lab.llvm.org/buildbot/#/builders/159/builds/41683
Commit: a347e1298c98405e5bff1d4bb1e2e3c7f532f893
https://github.com/llvm/llvm-project/commit/a347e1298c98405e5bff1d4bb1e2e3c7f532f893
Author: Hansang Bae <hansang.bae at intel.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/src/L0Memory.cpp
Log Message:
-----------
[Offload] Enable memory usage printing with `alloc` debug type (#182938)
Commit: 4f59da55d7103c0897d4faae3795067332cac061
https://github.com/llvm/llvm-project/commit/4f59da55d7103c0897d4faae3795067332cac061
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
Log Message:
-----------
[HLSL][Matrix] EmitFromMemory when emitting load of vector and matrix element LValues (#178315)
Fixes #177712
The MatrixElt and VectorElt cases of `EmitLoadOfLValue` did not convert
the scalar value from its load/store type into its primary IR type like
the other cases do, which caused issues with HLSL in particular which
requires bools to be converted to and from i32 and i1 forms for its
load/store and primary IR types respectively.
This PR fixes the issue by applying `EmitFromMemory` to the loaded
scalar.
Commit: 9146da3a7bee5c62a12fed9b423c8292209da926
https://github.com/llvm/llvm-project/commit/9146da3a7bee5c62a12fed9b423c8292209da926
Author: PiJoules <leonardchan at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_fuchsia.cpp
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/asan/asan_rtl_x86_64.S
Log Message:
-----------
[ASan][Fuchsia] Have Fuchsia use a dynamic shadow start (#180880)
The dynamic shadow global is still set to zero, but this will change in the future.
Commit: a8f3c97d3aa4943d03f657c8b086dbca4b6b50dd
https://github.com/llvm/llvm-project/commit/a8f3c97d3aa4943d03f657c8b086dbca4b6b50dd
Author: Iñaki V Arrechea <inakiarrechea at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Analysis/InstCount.cpp
A llvm/test/Analysis/InstCount/instcount.ll
R llvm/test/Other/instcount.ll
Log Message:
-----------
Implemented metric that gets biggest function's size (#182632)
This metric gets the size of the biggest function.
Commit: 23302678e8a45529f62cb3601d2cc315d236376a
https://github.com/llvm/llvm-project/commit/23302678e8a45529f62cb3601d2cc315d236376a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/test/Driver/cl-offload.cu
M clang/test/Driver/cuda-arch-translation.cu
M clang/test/Driver/dep-file-flag-with-multiple-offload-archs.hip
M clang/test/Driver/hip-code-object-version.hip
M clang/test/Driver/hip-gz-options.hip
M clang/test/Driver/hip-macros.hip
M clang/test/Driver/hip-offload-arch.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-sanitize-options.hip
M clang/test/Driver/hip-save-temps.hip
M clang/test/Driver/hip-temps-windows.hip
M clang/test/Driver/hip-thinlto.hip
M clang/test/Driver/hip-toolchain-device-only.hip
M clang/test/Driver/hip-toolchain-mllvm.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hip-toolchain-opt.hip
M clang/test/Driver/no-gpu-bundle-respected.hip
M clang/unittests/Tooling/ToolingTest.cpp
Log Message:
-----------
[HIP] Move HIP to the new driver by default (#123359)
Summary:
This patch matches CUDA, moving the HIP compilation jobs to the new
driver by default. The old behavior will return with
`--no-offload-new-driver`. The main difference is that objects compiled
with the old driver are no longer compatible and will need to be
recompiled or the old driver used.
Commit: 19daed352f218f866ebcbbf3f35b14918588d8a1
https://github.com/llvm/llvm-project/commit/19daed352f218f866ebcbbf3f35b14918588d8a1
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_fuchsia.cpp
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/asan/asan_rtl_x86_64.S
Log Message:
-----------
Revert "[ASan][Fuchsia] Have Fuchsia use a dynamic shadow start" (#182972)
Reverts llvm/llvm-project#180880
This is breaking Fuchsia's CI. something in the CMake needs to be
adjusted. Reverting on the author's request.
Commit: 757066c95e150fb3d80d687ff85707a186aab407
https://github.com/llvm/llvm-project/commit/757066c95e150fb3d80d687ff85707a186aab407
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[NFCi][AsmPrinter] Refactor getting analyses to callbacks
As part of making AsmPrinter work with the new pass manager, we need to
be able to override how we get analyses. This patch does that by
refactoring getting all analyses/other related functionality to
callbacks that are set by default but can be overriden later (like by a
NewPM wrapper pass).
Reviewers: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/182793
Commit: 683d15f81050c3109577118e16846fee4e48637c
https://github.com/llvm/llvm-project/commit/683d15f81050c3109577118e16846fee4e48637c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.h
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86TargetMachine.h
M llvm/tools/llc/NewPMDriver.cpp
Log Message:
-----------
[CodeGen][NewPM] Plumb MCContext through buildCodeGenPipeline
Otherwise we cannot create an MCStreamer without getting MMI, which we
cannot do until we have started running AsmPrinter without also plumbing
MMI through CodeGenPassBuilder.
Reviewers: arsenm, paperchalice, aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/182794
Commit: abc443ba0aa7b997249220a45be7dc51405997d1
https://github.com/llvm/llvm-project/commit/abc443ba0aa7b997249220a45be7dc51405997d1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
Log Message:
-----------
[CodeGen][NewPM] Adjust pipeline for AsmPrinter
AsmPrinter needs to be split into three passes (begin, per MF, end) to
avoid the need to materialize all machine functions at the same time.
Update the CodeGenPassBuilder hooks for this.
Reviewers: aeubanks, paperchalice, arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/182795
Commit: 25f69d7a3feefbf96f3d58d8ca1d8fce45d4543d
https://github.com/llvm/llvm-project/commit/25f69d7a3feefbf96f3d58d8ca1d8fce45d4543d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.h
Log Message:
-----------
[NFCi][NewPM][x86] Use callbacks to get analyses in AsmPrinter
This allows for overriding these call backs when using the NewPM which
has different methods for obtaining analysis results.
Reviewers: RKSimon, arsenm, phoebewang, mingmingl-llvm, aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/182796
Commit: 6b63c59a5855d24e441a0dcdb4371bb4f1612b7f
https://github.com/llvm/llvm-project/commit/6b63c59a5855d24e441a0dcdb4371bb4f1612b7f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.h
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
A llvm/test/CodeGen/X86/npm-asmprint.ll
Log Message:
-----------
[NewPM][X86] Port AsmPrinter to NewPM
This patch makes AsmPrinter work with the NewPM. We essentially create
three new passes that wrap different parts of AsmPrinter so that we can
separate out doIntialization/doFinalization without needing to
materialize all MachineFunctions at the same time. This has two main
drawbacks for now:
1. We do not transfer any state between the three new AsmPrinter passes.
This means that debuginfo/CFI currently does not work. This will be
fixed in future passes by moving this state to MachineModuleInfo.
2. We probably incur some overhead by needing to setup up analysis
callbacks for every MF rather than just per module. This should not
be large, and can be optimized in the future on top of this if
needed.
3. This solution is not really clean. However, a lot of cleanup is going
to be difficult to do while supporting two pass managers. Once we
remove LegacyPM support, we can make the code much cleaner and better
enforce invariants like a lack of state between
doInitialization/runOnMachineFunction/doFinalization.
Reviewers: arsenm, aeubanks, paperchalice
Pull Request: https://github.com/llvm/llvm-project/pull/182797
Commit: a17a305f055a9baa88b524f99653a93e082fa5c9
https://github.com/llvm/llvm-project/commit/a17a305f055a9baa88b524f99653a93e082fa5c9
Author: Iñaki V Arrechea <inakiarrechea at google.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Analysis/InstCount.cpp
M llvm/test/Analysis/InstCount/instcount.ll
Log Message:
-----------
[LLVM] Metric added - largest number of basic blocks in a single func… (#182970)
This metric gets the size of the biggest count of basic blocks in a
single function.
Commit: b311c02c2ce4c18ee321fddbbade749dd244e643
https://github.com/llvm/llvm-project/commit/b311c02c2ce4c18ee321fddbbade749dd244e643
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
Log Message:
-----------
[MLIR][Affine] Fix assert in slice compute cost (#182712)
Fixes https://github.com/llvm/llvm-project/issues/180029.
Commit: 05a039489d7e01924583a41ec33ee2e41923d335
https://github.com/llvm/llvm-project/commit/05a039489d7e01924583a41ec33ee2e41923d335
Author: Mohamed Emad <hulxxv at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/bf16mul.h
A libc/shared/math/bf16mulf.h
A libc/shared/math/bf16mulf128.h
A libc/shared/math/bf16mull.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/bf16mul.h
A libc/src/__support/math/bf16mulf.h
A libc/src/__support/math/bf16mulf128.h
A libc/src/__support/math/bf16mull.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16mul.cpp
M libc/src/math/generic/bf16mulf.cpp
M libc/src/math/generic/bf16mulf128.cpp
M libc/src/math/generic/bf16mull.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 bf16mul family to header-only (#182018)
Refactors the bf16mul math family to be header-only.
Closes https://github.com/llvm/llvm-project/issues/182017
Target Functions:
- bf16mul
- bf16mulf
- bf16mulf128
- bf16mull
Commit: 13838efa3c8f8861ae98de9f0deec2c6c13d0728
https://github.com/llvm/llvm-project/commit/13838efa3c8f8861ae98de9f0deec2c6c13d0728
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M lld/ELF/Arch/X86_64.cpp
R lld/test/ELF/Inputs/ztext.s
A lld/test/ELF/x86-x32-abs.s
M lld/test/ELF/ztext.s
Log Message:
-----------
[ELF] Adjust allowed dynamic relocation types for x86-64 (#182905)
First, disallow R_X86_64_PC64 - generally only absolute relocations are
allowed in getDynRel. glibc and musl don't support R_X86_64_PC64 as
dynamic relocations.
Second, support R_X86_64_32 as dynamic relocation for the ILP32 ABI
(x32). GNU ld's behavior looks like:
- R_X86_64_32 => R_X86_64_RELATIVE
- R_X86_64_64 with addend 0 => R_X86_64_RELATIVE
- R_X86_64_64 with non-zero addend => R_X86_64_RELATIVE64 (unsupported
by musl; compilers do not generate such constructs to the best of my
knowledge)
For now we require R_X86_64_64 to be resolved at link-time for x32.
Fix #140465
Commit: ccfd59a03efbbd9487252697dc57a9ac6b71a698
https://github.com/llvm/llvm-project/commit/ccfd59a03efbbd9487252697dc57a9ac6b71a698
Author: hanbeom <kese111 at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/test/CodeGen/WebAssembly/load-ext.ll
Log Message:
-----------
[NFC][WebAssembly] Expanding load-ext testcases for the MVP CPU target (#182864)
Some features tested in load-ext require sign-ext.
To test this, add tests targeting the MVP CPU.
Commit: 3b2c1db8709766e8c2252e9fb19fcff493869c16
https://github.com/llvm/llvm-project/commit/3b2c1db8709766e8c2252e9fb19fcff493869c16
Author: Twice <twice at apache.org>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/python/mlir/dialects/ext.py
M mlir/test/python/dialects/ext.py
Log Message:
-----------
[MLIR][Python] Support type definitions in Python-defined dialects (#182805)
In this PR, we added basic support of type definitions in Python-defined
dialects, including:
- IRDL codegen for type definitions
- Type builders like `MyType.get(..)` and type parameter accessors (e.g.
`my_type.param1`)
- Use Python-defined types in Python-defined oeprations
```python
class TestType(Dialect, name="ext_type"):
pass
class Array(TestType.Type, name="array"):
elem_type: IntegerType[32] | IntegerType[64]
length: IntegerAttr
class MakeArrayOp(TestType.Operation, name="make_array"):
arr: Result[Array]
class MakeArray3Op(TestType.Operation, name="make_array3"):
arr: Result[Array[IntegerType[32], IntegerAttr[IntegerType[32], 3]]]
```
Commit: 1b47242dcda0cf8cdd20858f793f85ab2d2629dc
https://github.com/llvm/llvm-project/commit/1b47242dcda0cf8cdd20858f793f85ab2d2629dc
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
A llvm/test/Transforms/PGOProfile/chr-convergent.ll
Log Message:
-----------
[CHR] Skip regions containing convergent calls (#180882)
CHR (Control Height Reduction) merges multiple biased branches into a
single speculative check, cloning the region into hot/cold paths. On
GPU targets, the merged branch may be divergent (evaluated per-thread),
splitting the wavefront: some threads take the hot path, others the
cold path.
A convergent call like ds_bpermute (a cross-lane operation on AMDGPU)
requires a specific set of threads to be active — when thread X reads
from thread Y, thread Y must be active and participating in the same
call. After CHR cloning, thread Y may have gone to the cold path while
thread X is on the hot path, so the hot-path ds_bpermute reads a stale
register value from thread Y instead of the intended value.
This caused a miscompilation in rocPRIM's lookback scan: CHR duplicated
a region containing ds_bpermute, and the hot-path copy executed with a
different set of active threads, reading incorrect cross-lane data and
causing a memory access fault.
The fix skips any region containing convergent or noduplicate calls,
following the same pattern as SimplifyCFG's block-duplication guard.
Commit: 9b4c99a1e4887cdb9c045e6ec06d7d832add07cb
https://github.com/llvm/llvm-project/commit/9b4c99a1e4887cdb9c045e6ec06d7d832add07cb
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[AsmPrinter] Use default capture for assertion only lambda (#182986)
Otherwise we get an unused variable warning/error in non-assertion
builds.
Commit: d5bf514200046fd104c63fee8a786a04f52a78c0
https://github.com/llvm/llvm-project/commit/d5bf514200046fd104c63fee8a786a04f52a78c0
Author: modiking <mmo at nvidia.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/NVPTX/scalarize-non-coalescable-v2f32.ll
Log Message:
-----------
[NVPTX] Scalarize v2f32 instructions if input operand guarantees need for register coalescing (#180113)
The support of f32 packed instructions in #126337 revealed performance
regressions on certain kernels. In one case, the cause comes from
loading a v4f32 from shared memory but then accessing them as {r0, r2}
and {r1, r3} from the full load of {r0, r1, r2, r3}.
This access pattern guarantees the registers requires a coalescing
operation which increases register pressure and degrades performance.
The fix here is to identify if we can prove that an v2f32 operand comes
from non-contiguous vector extracts and if so scalarizes the operation
so the coalescing operation is no longer needed.
I've found that ptxas can see through the extra unpacks/repacks of
contiguous registers this causes in MIR. However in the full test case
the packing of the final scalar->vector results does generate additional
costs especially since the only users unpack them. An additional MIR
pass is possible to catch the case
Assisted-by: Cursor / claude-4.6-opus-high
---------
Co-authored-by: Princeton Ferro <princetonferro at gmail.com>
Commit: 09ab9a16e2dbecf4019ac5bcb2cb4b6624121749
https://github.com/llvm/llvm-project/commit/09ab9a16e2dbecf4019ac5bcb2cb4b6624121749
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
Log Message:
-----------
[MemRefToEmitC] fix typo (#182991)
Commit: 3de98281d48ad3e00c823eb6426bf2fec9e74cf6
https://github.com/llvm/llvm-project/commit/3de98281d48ad3e00c823eb6426bf2fec9e74cf6
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M mlir/cmake/modules/AddMLIR.cmake
Log Message:
-----------
[MLIR][CMake] Disable PCH reuse for C API libraries (#182862)
C API libraries override the symbol visibility default, which is incompatible with PCH.
Commit: 0ab1d23fbfa2ae0ba14315cb11678d2289510f66
https://github.com/llvm/llvm-project/commit/0ab1d23fbfa2ae0ba14315cb11678d2289510f66
Author: Shivam Kunwar <75530356+phyBrackets at users.noreply.github.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerCompileUnit.h
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
A llvm/test/tools/llvm-dwarfutil/ELF/X86/odr-backward-ref-addr.test
Log Message:
-----------
[DWARFLinker] Use DIEEntry for backward ref_addr references (#181881)
The classic DWARF linker avoids `DIEEntry` for `DW_FORM_ref_addr`
references, using raw `DIEInteger` values with manual offset computation
instead. A stale FIXME explains this was because "the implementation
calls back to DwarfDebug to find the unit offset", but this is no longer
true. `DIEEntry` resolves offsets via
`DIEUnit::getDebugSectionOffset()`, which has no `DwarfDebug`
dependency.
And the real constraint is that forward references may point to
placeholder `DIEs` that never get adopted into a unit tree (due toODR
pruning), so `DIEEntry` cannot resolve them(a test failed during
refactoring this). However, backward references are safe, the target DIE
is already cloned and parented in a unit tree.
Commit: d44e957d1426693ffee4383422de6de73cd6589f
https://github.com/llvm/llvm-project/commit/d44e957d1426693ffee4383422de6de73cd6589f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][AST] Make ASTContext::InterpContext mutable (#182884)
Do the `const_cast` only once, in `ASTContext::getInterpContext()`.
Commit: 03bb37060273590b01132bb8365cc6d5bc863f93
https://github.com/llvm/llvm-project/commit/03bb37060273590b01132bb8365cc6d5bc863f93
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4su_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4su_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4u_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4u_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4us_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4su_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4su_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4u_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4u_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4us_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4su_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4su_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4u_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4u_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4us_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4su_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4su_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4u_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4u_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4us_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdot_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdot_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotsu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotsu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotus_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdot_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdot_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotsu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotsu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotus_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdot_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdot_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotsu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotsu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotus_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdot_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdot_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotsu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotsu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotus_vx.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td
R llvm/lib/Target/RISCV/RISCVInstrInfoZvqdotq.td
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/pr148084.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvdot4a8i.ll
R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
A llvm/test/CodeGen/RISCV/rvv/vdota4.ll
A llvm/test/CodeGen/RISCV/rvv/vdota4su.ll
A llvm/test/CodeGen/RISCV/rvv/vdota4u.ll
A llvm/test/CodeGen/RISCV/rvv/vdota4us.ll
R llvm/test/CodeGen/RISCV/rvv/vqdot.ll
R llvm/test/CodeGen/RISCV/rvv/vqdotsu.ll
R llvm/test/CodeGen/RISCV/rvv/vqdotu.ll
R llvm/test/CodeGen/RISCV/rvv/vqdotus.ll
A llvm/test/CodeGen/RISCV/rvv/zvdot4a8i-sdnode.ll
R llvm/test/CodeGen/RISCV/rvv/zvqdotq-sdnode.ll
M llvm/test/DebugInfo/RISCV/relax_dwo_ranges.ll
M llvm/test/MC/RISCV/attribute-arch.s
A llvm/test/MC/RISCV/rvv/zvdot4a8i-invalid.s
A llvm/test/MC/RISCV/rvv/zvdot4a8i.s
R llvm/test/MC/RISCV/rvv/zvqdotq-invalid.s
R llvm/test/MC/RISCV/rvv/zvqdotq.s
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][llvm] Rename zvqdotq to zvdot4a8i (#179393)
The renaming PR is here:
https://github.com/riscv/riscv-isa-manual/pull/2576
Note that this also update the version number.
Commit: 762ad000070fa30a318d187eb67058318dff026a
https://github.com/llvm/llvm-project/commit/762ad000070fa30a318d187eb67058318dff026a
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
A mlir/test/Dialect/GPU/module-to-binary-invalid-format.mlir
Log Message:
-----------
[mlir][gpu] Validate `gpu-module-to-binary` format (#182842)
`GpuModuleToBinaryPass::runOnOperation` now treats an unsupported
`format` value as a pass failure after emitting `"Invalid format
specified."`.
Add a regression test in
`mlir/test/Dialect/GPU/module-to-binary-invalid-format.mlir`.
Fix: https://github.com/llvm/llvm-project/issues/77052
Fix: https://github.com/llvm/llvm-project/issues/116344
Fix: https://github.com/llvm/llvm-project/issues/116346
Fix: https://github.com/llvm/llvm-project/issues/116352
Commit: a96daba8403dfe69fd0a243254c0099d0f60c0c5
https://github.com/llvm/llvm-project/commit/a96daba8403dfe69fd0a243254c0099d0f60c0c5
Author: Shivam Kunwar <75530356+phyBrackets at users.noreply.github.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerCompileUnit.h
Log Message:
-----------
[DWARFLinker] Fix buildbot crash: NewUnit can be null during garbage (#182993)
The assert added in
[0ab1d23fbfa2ae0ba14315cb11678d2289510f66](https://github.com/llvm/llvm-project/commit/0ab1d23fbfa2ae0ba14315cb11678d2289510f66)
is incorrect, NewUnit is legitimately null for compile units that are
skipped during garbage collection (e.g. dwarf5-macro.test). Revert to
the original null check.
Commit: bf3ac05ed2664021e89937bda78cc5fc151f1705
https://github.com/llvm/llvm-project/commit/bf3ac05ed2664021e89937bda78cc5fc151f1705
Author: Rana Pratap Reddy <109514914+ranapratap55 at users.noreply.github.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-cvt-f16.hip
Log Message:
-----------
[Clang][AMDGPU] Change __fp16 to _Float16 in GFX1250 CVT builtin definitions (#182893)
Change the type signature `gfx1250 cvt` builtins from `__fp16` to
`_Float16` in the tablegen builtin definitions.
Commit: 863813cace92f198f731dd8a135b5c8a48813cbf
https://github.com/llvm/llvm-project/commit/863813cace92f198f731dd8a135b5c8a48813cbf
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Merge interfaces into lldbPluginScriptInterpreterPython (NFC) (#182962)
Make the interfaces part of lldbPluginScriptInterpreterPython instead of
putting them into their own static library. This avoids the need for an
extra static archive and more importantly a bunch of code duplication
between the two CMakeLists.txt.
Commit: 6654737d9af69df8b27483b66690fb44456fe567
https://github.com/llvm/llvm-project/commit/6654737d9af69df8b27483b66690fb44456fe567
Author: Karthika Devi C <quic_kartc at quicinc.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-neon-simd-ldst-one.ll
M llvm/test/CodeGen/AArch64/arm64-sli-sri-opt.ll
M llvm/test/CodeGen/AArch64/arm64-tbl.ll
A llvm/test/CodeGen/AArch64/const-vector-big-endian.ll
M llvm/test/CodeGen/AArch64/constant-pool-partition.ll
M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/fcvt_combine.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
M llvm/test/CodeGen/AArch64/neon-abd.ll
M llvm/test/CodeGen/AArch64/neon-mov.ll
M llvm/test/CodeGen/AArch64/neon-stepvector.ll
M llvm/test/CodeGen/AArch64/pr58350.ll
M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
M llvm/test/CodeGen/AArch64/shuffles.ll
M llvm/test/CodeGen/AArch64/srem-vector-lkk.ll
M llvm/test/CodeGen/AArch64/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/AArch64/urem-vector-lkk.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
Log Message:
-----------
[AArch64] Optimize 64-bit constant vector builds (#177076)
This patch optimizes the creation of constant 64-bit vectors (e.g.,
v2i32, v4i16) by avoiding expensive loads from the constant pool. The
optimization works by packing the constant vector elements into a single
i64 immediate and bitcasting the result to the target vector type. This
replaces a memory access with more efficient immediate materialization.
To ensure this transformation is efficient, a check is performed to
verify that the immediate can be generated in two or fewer mov
instructions. If it requires more, the compiler falls back to using the
constant pool.
The optimization is disabled for bigendian targets for now.
Commit: 3f024d08355d40e935d89c19d799ccdd298e95a7
https://github.com/llvm/llvm-project/commit/3f024d08355d40e935d89c19d799ccdd298e95a7
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-02-23 (Mon, 23 Feb 2026)
Changed paths:
M lldb/source/Core/Module.cpp
M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h
M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp
M lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
M lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
Log Message:
-----------
[lldb] A few small code modernizations and cleanups [NFC] (#182656)
I was reading through ObjectContainerBSDArchive and came across some
dead method decls, a less-than-completely-clear `shared_ptr` typedef in
`ObjectContainerBSDArchive::Archive` for a shared_ptr<Archive> which was
a little unclear when reading a decl like `shared_ptr archive_sp;` for a
local variable.
Commit: 0b8bb80e27c6051794873a16a0eaf63501a6a1c7
https://github.com/llvm/llvm-project/commit/0b8bb80e27c6051794873a16a0eaf63501a6a1c7
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/MC/MCContext.cpp
M llvm/test/MC/ELF/section-sym-err.s
Log Message:
-----------
[MC] Fix crash in x=0; .section x (#183001)
When an equated symbol (e.g. `x=0`) is followed by `.section x`,
getOrCreateSectionSymbol reports an "invalid symbol redefinition"
error but continues to reuse the equated symbol as a section symbol.
This causes an assertion failure in MCObjectStreamer::changeSection
when `setFragment` is called on the equated symbol.
Fix this by clearning `Sym`.
Commit: 9c0875926827389380f541d93982f0e3f3f8b78d
https://github.com/llvm/llvm-project/commit/9c0875926827389380f541d93982f0e3f3f8b78d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
A llvm/test/Transforms/SafeStack/AArch64/safestack.ll
A llvm/test/Transforms/SafeStack/SPARC/safestack.ll
Log Message:
-----------
Reapply "RuntimeLibcalls: Fix adding __safestack_pointer_address by default" (#182949) (#183005)
This reverts commit 6d37110e091569509f54e2b1f3ef35e8a50e5b70.
Now with aarch64 test.
Commit: 1911488ca3b27e006588f5e2a02e63dc85ba3f3f
https://github.com/llvm/llvm-project/commit/1911488ca3b27e006588f5e2a02e63dc85ba3f3f
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOPDInstructions.td
M llvm/test/MC/AMDGPU/gfx1250_asm_vopd.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vopd_features.s
A llvm/test/MC/AMDGPU/gfx13_asm_vopd3.s
A llvm/test/MC/AMDGPU/gfx13_asm_vopd_errs.s
Log Message:
-----------
[AMDGPU] Add VOPD to gfx13 (#182815)
Co-authored-by: Jay Foad <jay.foad at amd.com>
Commit: 610b40706ff74d2e7785937ed03baa364652dc61
https://github.com/llvm/llvm-project/commit/610b40706ff74d2e7785937ed03baa364652dc61
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
A llvm/test/MC/AMDGPU/gfx13_asm_vop2.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop2_aliases.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop2_dpp16.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop2_dpp8.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop2_err.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop2_t16_err.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop2_t16_promote.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop2.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop2_dpp16.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop2_dpp8.s
A llvm/test/MC/Disassembler/AMDGPU/gfx13_dasm_vop2.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx13_dasm_vop2_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx13_dasm_vop2_dpp8.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx13_dasm_vop3_from_vop2.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx13_dasm_vop3_from_vop2_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx13_dasm_vop3_from_vop2_dpp8.txt
Log Message:
-----------
[AMDGPU] Add VOP2 to gfx13 (#182812)
Co-authored-by: Ivan Kosarev <ivan.kosarev at amd.com>
Commit: d59d00a70092c0e8be15d13431ced45a1f8463c7
https://github.com/llvm/llvm-project/commit/d59d00a70092c0e8be15d13431ced45a1f8463c7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/popcount_vmask.ll
Log Message:
-----------
[AArch64] Match CTPOP combine without zero extend (#182859)
Helps improve: https://github.com/llvm/llvm-project/issues/182625.
This does not fully solve the issues with using `ctpop` as the vector
type chosen for the reduction is not ideal in all cases. This results in
extra extends, which can be seen in a few test cases.
Commit: ea6fee062da1b03b12bb0bf8b180da8e39bcfd51
https://github.com/llvm/llvm-project/commit/ea6fee062da1b03b12bb0bf8b180da8e39bcfd51
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
A llvm/test/Transforms/SafeStack/SPARC/lit.local.cfg
Log Message:
-----------
SafeStack: Add missing lit.local.cfg to SPARC subdirectory
Forgot to commit file in 8604b52e380fb37a3599539b1d87a68666ab6ed5
Commit: 14ba1ece8996c2d080e09c507a549bbb95f1957c
https://github.com/llvm/llvm-project/commit/14ba1ece8996c2d080e09c507a549bbb95f1957c
Author: Ravil Dorozhinskii <ravil.aviva.com at gmail.com>
Date: 2026-02-24 (Tue, 24 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:
-----------
[WIP][ROCDL] Added SWMMAC ops for gfx12 and gfx1250 (#181943)
This PR adds SWMMAC ops for gfx12 and gfx1250 arch.
Commit: 33025a267d716feac257cb052ef183440d76691b
https://github.com/llvm/llvm-project/commit/33025a267d716feac257cb052ef183440d76691b
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libcxx/include/__iterator/wrap_iter.h
M lldb/test/API/commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py
Log Message:
-----------
[libc++] Make `__wrap_iter` comparison operators hidden friends (#179590)
Prelude to #179389
Commit: f80205becd384e73e3dfc6ece97297ab1e8a35f9
https://github.com/llvm/llvm-project/commit/f80205becd384e73e3dfc6ece97297ab1e8a35f9
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/test/Conversion/MemRefToSPIRV/atomic.mlir
Log Message:
-----------
[mlir][SPIRV] Add sub-element-byte lowering support for atomic_rmw ori/andi ops (#179831)
When the memref element type (e.g., i8) is narrower than the SPIR-V
storage type (e.g., i32 on Vulkan), ori and andi can be lowered with a
single wide atomic instruction because OR-with-0 and AND-with-1 are
identity operations.
The revision follows `IntStoreOpPattern` to compute offsets/sizes via
`adjustAccessChainForBitwidth` method and `getOffsetForBitwidth` method.
Additionally, it handles the returned value (which is the old value by
definition), which is different from `IntStoreOpPattern`. E.g., the
check of `spirv::Capability::Kernel` is the same.
https://github.com/llvm/llvm-project/blob/07ebb18e07fb9e009b1f738d6214a49c7bbe8fee/mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp#L847-L867
There are refactoring opportunities and it is not performed within the
revision because the current implementation is already complicated. The
refactoring can be happenned in a follow-up with its own patch, so
reviewing this revision is easier.
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 1bc2446c78d4a30eb29f0a6bb7d7d12d3f08d97c
https://github.com/llvm/llvm-project/commit/1bc2446c78d4a30eb29f0a6bb7d7d12d3f08d97c
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lld/test/wasm/call-indirect.s
M lld/test/wasm/invalid-mvp-table-use.s
M lld/test/wasm/multi-table.s
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
M llvm/test/MC/WebAssembly/reloc-code.s
M llvm/test/MC/WebAssembly/reloc-pic.s
M llvm/test/MC/WebAssembly/reloc-pic64.s
M llvm/test/MC/WebAssembly/tail-call-encodings.s
M llvm/test/MC/WebAssembly/weak-alias.s
Log Message:
-----------
[WebAssembly] Use generic CPU by default in llvm-mc (#181460)
Other tools, such as `llc`, use `generic` cpu by default, if you don't
give any `-mcpu`:
https://github.com/llvm/llvm-project/blob/75f738b0b2a15281c6f285380ea947e973a6e02f/llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp#L38-L39
But `llvm-mc` didn't do that. This makes `generic` also the default CPU
for `llvm-mc`.
Commit: a84ee1416b6c179a3d45939a6490f5268ee601bf
https://github.com/llvm/llvm-project/commit/a84ee1416b6c179a3d45939a6490f5268ee601bf
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M compiler-rt/test/builtins/CMakeLists.txt
M compiler-rt/test/builtins/Unit/divsf3_test.c
M compiler-rt/test/builtins/Unit/mulsf3_test.c
Log Message:
-----------
[compiler-rt][ARM] Enable strict mode in divsf3/mulsf3 tests (#179918)
Commit 5efce7392f3f6cc added optimized AArch32 assembly versions of
mulsf3 and divsf3, with more thorough tests. The new tests included test
cases specific to Arm's particular NaN handling rules, which are
disabled on most platforms, but were intended to be enabled for Arm.
Unfortunately, they were not enabled under any circumstances, because I
made a mistake in `test/builtins/CMakeLists.txt`: the command-line `-D`
option that should have enabled them was added to the cflags list too
early, before the list was reinitialized from scratch. So it never ended
up on the command line.
Also, the test file mulsf3.S only even _tried_ to enable strict mode in
Thumb1, even though the Arm/Thumb2 implementation would also have met
its requirements.
Because the strict-mode tests weren't enabled, I didn't notice that they
would also have failed absolutely everything, because they checked the
results using the wrong sense of comparison! I used `==`, but that
comparison was supposed to be a drop-in replacement for
`compareResultF`, which returns zero for equality. Changed the tests to
use `!=`.
Finally, I've also added a macro to each test so that it records the
source line number of each failing test case. That way, when a test
fails, you can find it in the test source more easily, without having to
search for the hex numbers mentioned in the failure message.
Commit: da1e0d9fcf5d1a1404c49e62599a625895c4b1d7
https://github.com/llvm/llvm-project/commit/da1e0d9fcf5d1a1404c49e62599a625895c4b1d7
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/test/Shell/SymbolFile/NativePDB/inline_sites.test
M lldb/test/Shell/SymbolFile/NativePDB/lookup-by-types.cpp
M lldb/test/Shell/SymbolFile/NativePDB/tag-types.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang] Unconditionally set access control to AS_public (#182956)
This patch removes all our manual adjustments to the access control
specifiers of Clang decls we create from DWARF.
This has led to occasional subtle bugs in the past (the latest being
https://github.com/llvm/llvm-project/issues/171913) and it's ultimately
redundant because Clang already has provisions for LLDB to bypass access
control for C++ and Objective-C. Access control doesn't affect name
lookup so really we're doing a lot of bookkeeping for not much benefit.
The only "feature" that relied on this was that `type lookup <foo>`
would print the access specifier in the output structure layout. I'm not
convinced that's worth keeping the infrastructure in place for (but
happy to be convinced otherwise).
I'd rather lean fully into the Clang access control bypass instead.
Note, i still kept the `AccessType` parameters to the various
`TypeSystemClang` APIs to reduce the size of the diff. A follow-up NFC
change will remove those parameters and adjust all the call-sites.
Commit: 12d8360727c0f366f293faaf294c9f9bf953f38d
https://github.com/llvm/llvm-project/commit/12d8360727c0f366f293faaf294c9f9bf953f38d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/find_segment_if.h
A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.segmented.pass.cpp
Log Message:
-----------
[libc++] Add segmented iterator optimization to std::equal (#179242)
```
Benchmark 97fa3e593693 a820f8f10736 Difference % Difference
------------------------------------------------------ -------------- -------------- ------------ --------------
std::equal(deque<int>)_(it,_it,_it)/1024 510.92 82.64 -428.27 -83.82%
std::equal(deque<int>)_(it,_it,_it)/1048576 518795.61 87141.29 -431654.32 -83.20%
std::equal(deque<int>)_(it,_it,_it)/50 29.24 6.77 -22.46 -76.84%
std::equal(deque<int>)_(it,_it,_it)/8 4.20 3.71 -0.49 -11.61%
std::equal(deque<int>)_(it,_it,_it)/8192 3972.84 643.83 -3329.01 -83.79%
std::equal(deque<int>)_(it,_it,_it,_it)/1024 417.45 81.52 -335.93 -80.47%
std::equal(deque<int>)_(it,_it,_it,_it)/1048576 539228.26 87480.92 -451747.34 -83.78%
std::equal(deque<int>)_(it,_it,_it,_it)/50 22.25 7.25 -15.00 -67.41%
std::equal(deque<int>)_(it,_it,_it,_it)/8 4.75 4.44 -0.31 -6.45%
std::equal(deque<int>)_(it,_it,_it,_it)/8192 3259.01 641.31 -2617.70 -80.32%
std::equal(deque<int>)_(it,_it,_it,_it,_pred)/1024 532.68 327.58 -205.10 -38.50%
std::equal(deque<int>)_(it,_it,_it,_it,_pred)/1048576 600755.28 402988.04 -197767.24 -32.92%
std::equal(deque<int>)_(it,_it,_it,_it,_pred)/50 27.26 25.29 -1.97 -7.22%
std::equal(deque<int>)_(it,_it,_it,_it,_pred)/8 5.20 5.58 0.38 7.31%
std::equal(deque<int>)_(it,_it,_it,_it,_pred)/8192 4204.16 2847.30 -1356.86 -32.27%
std::equal(deque<int>)_(it,_it,_it,_pred)/1024 531.32 329.03 -202.30 -38.07%
std::equal(deque<int>)_(it,_it,_it,_pred)/1048576 598948.55 403822.65 -195125.90 -32.58%
std::equal(deque<int>)_(it,_it,_it,_pred)/50 26.28 16.18 -10.10 -38.43%
std::equal(deque<int>)_(it,_it,_it,_pred)/8 4.44 3.70 -0.74 -16.67%
std::equal(deque<int>)_(it,_it,_it,_pred)/8192 4184.03 2902.98 -1281.05 -30.62%
std::equal(list<int>)_(it,_it,_it)/1024 1168.78 1168.51 -0.27 -0.02%
std::equal(list<int>)_(it,_it,_it)/1048576 1283003.12 1281885.44 -1117.69 -0.09%
std::equal(list<int>)_(it,_it,_it)/50 60.19 44.38 -15.81 -26.27%
std::equal(list<int>)_(it,_it,_it)/8 3.07 3.07 0.00 0.15%
std::equal(list<int>)_(it,_it,_it)/8192 10367.41 11075.24 707.83 6.83%
std::equal(list<int>)_(it,_it,_it,_it)/1024 728.32 734.18 5.86 0.80%
std::equal(list<int>)_(it,_it,_it,_it)/1048576 951276.58 953928.39 2651.81 0.28%
std::equal(list<int>)_(it,_it,_it,_it)/50 31.86 32.32 0.46 1.44%
std::equal(list<int>)_(it,_it,_it,_it)/8 3.11 3.10 -0.01 -0.34%
std::equal(list<int>)_(it,_it,_it,_it)/8192 14940.68 16058.91 1118.22 7.48%
std::equal(list<int>)_(it,_it,_it,_it,_pred)/1024 803.49 813.53 10.05 1.25%
std::equal(list<int>)_(it,_it,_it,_it,_pred)/1048576 1012708.15 1026207.55 13499.40 1.33%
std::equal(list<int>)_(it,_it,_it,_it,_pred)/50 38.68 39.24 0.56 1.46%
std::equal(list<int>)_(it,_it,_it,_it,_pred)/8 4.07 4.07 -0.00 -0.08%
std::equal(list<int>)_(it,_it,_it,_it,_pred)/8192 16632.08 18073.63 1441.55 8.67%
std::equal(list<int>)_(it,_it,_it,_pred)/1024 1162.99 1162.48 -0.51 -0.04%
std::equal(list<int>)_(it,_it,_it,_pred)/1048576 1291522.30 1303819.01 12296.72 0.95%
std::equal(list<int>)_(it,_it,_it,_pred)/50 45.73 46.32 0.59 1.29%
std::equal(list<int>)_(it,_it,_it,_pred)/8 4.35 4.40 0.04 1.03%
std::equal(list<int>)_(it,_it,_it,_pred)/8192 15035.93 14598.06 -437.87 -2.91%
std::equal(vector<bool>)_(aligned)/1024 0.22 0.22 0.00 0.04%
std::equal(vector<bool>)_(aligned)/1048576 0.22 0.22 0.00 0.12%
std::equal(vector<bool>)_(aligned)/50 0.22 0.22 0.00 0.02%
std::equal(vector<bool>)_(aligned)/8 0.22 0.22 0.00 0.03%
std::equal(vector<bool>)_(aligned)/8192 0.22 0.22 0.00 0.05%
std::equal(vector<bool>)_(unaligned)/1024 6.34 6.39 0.04 0.70%
std::equal(vector<bool>)_(unaligned)/1048576 6809.31 6833.52 24.21 0.36%
std::equal(vector<bool>)_(unaligned)/50 1.11 0.92 -0.19 -17.55%
std::equal(vector<bool>)_(unaligned)/8 1.11 1.05 -0.06 -5.29%
std::equal(vector<bool>)_(unaligned)/8192 59.27 59.92 0.65 1.10%
std::equal(vector<int>)_(it,_it,_it)/1024 80.39 80.59 0.20 0.25%
std::equal(vector<int>)_(it,_it,_it)/1048576 72546.36 73803.43 1257.07 1.73%
std::equal(vector<int>)_(it,_it,_it)/50 3.92 4.43 0.51 12.92%
std::equal(vector<int>)_(it,_it,_it)/8 1.46 1.47 0.01 0.75%
std::equal(vector<int>)_(it,_it,_it)/8192 553.63 559.59 5.95 1.07%
std::equal(vector<int>)_(it,_it,_it,_it)/1024 78.69 78.37 -0.32 -0.40%
std::equal(vector<int>)_(it,_it,_it,_it)/1048576 72238.51 73582.13 1343.62 1.86%
std::equal(vector<int>)_(it,_it,_it,_it)/50 4.18 4.62 0.44 10.52%
std::equal(vector<int>)_(it,_it,_it,_it)/8 1.68 1.66 -0.01 -0.87%
std::equal(vector<int>)_(it,_it,_it,_it)/8192 549.35 555.24 5.89 1.07%
std::equal(vector<int>)_(it,_it,_it,_it,_pred)/1024 361.08 363.32 2.24 0.62%
std::equal(vector<int>)_(it,_it,_it,_it,_pred)/1048576 391367.63 394209.88 2842.25 0.73%
std::equal(vector<int>)_(it,_it,_it,_it,_pred)/50 15.24 15.83 0.59 3.87%
std::equal(vector<int>)_(it,_it,_it,_it,_pred)/8 3.18 3.19 0.01 0.40%
std::equal(vector<int>)_(it,_it,_it,_it,_pred)/8192 2992.57 3026.90 34.32 1.15%
std::equal(vector<int>)_(it,_it,_it,_pred)/1024 362.45 365.46 3.01 0.83%
std::equal(vector<int>)_(it,_it,_it,_pred)/1048576 399898.16 402718.88 2820.72 0.71%
std::equal(vector<int>)_(it,_it,_it,_pred)/50 14.79 14.79 -0.01 -0.04%
std::equal(vector<int>)_(it,_it,_it,_pred)/8 2.45 2.52 0.06 2.64%
std::equal(vector<int>)_(it,_it,_it,_pred)/8192 3062.16 3088.11 25.95 0.85%
Geomean 253.49 200.79 -52.70 -20.79%
```
Commit: 7c5c58cdc6553c969a11fee51bfd23ae659220d4
https://github.com/llvm/llvm-project/commit/7c5c58cdc6553c969a11fee51bfd23ae659220d4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vselect.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] getFauxShuffleMask - OR(SHUF(),SHUF()) - treat undemanded elements as undef (#182678)
We have to be careful when attempting to decode OR() patterns as
shuffles - we can't forward demanded undef elements in both sources as
an undef result as it can lead to infinite loops during widening
(#49393).
But if we don't demand the element in the first place (based off
demanded elts masks during recursive shuffle combines), then it doesn't
matter what the elements contain and we can treat it as a
SM_SentinelUndef shuffle element.
Noticed while working on #137422
Commit: 5c002d0dddaec699ed234925aa987f62266af6f3
https://github.com/llvm/llvm-project/commit/5c002d0dddaec699ed234925aa987f62266af6f3
Author: Hussam Alhassan <hsm.link at proton.me>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
Log Message:
-----------
[NFC][AArch64] AArch64ConditionOptimizer extract shared instruction finding logic (#182244)
Extract cmp/cond instruction finding logic from cross- and intra-block
paths into shared functions
Commit: 9d762ad27954078489240224f3cdc0482639deb6
https://github.com/llvm/llvm-project/commit/9d762ad27954078489240224f3cdc0482639deb6
Author: Gergely Bálint <gergely.balint at arm.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/AArch64/bti-long-jmp-ignored-nop.s
M bolt/test/AArch64/bti-long-jmp-ignored.s
Log Message:
-----------
[BOLT][BTI] Patch ignored functions in place when targeting them with indirect branches (#177165)
When applying BTI fixups to indirect branch targets, ignored functions
are
considered as a special case:
- these hold no instructions,
- have no CFG,
- and are not emitted in the new text section.
The solution is to patch the entry points in the original location.
If such a situation occurs in a binary, recompilation using the
-fpatchable-function-entry flag is required. This will place a nop at
all
function starts, which BOLT can use to patch the original section.
Without the extra nop, BOLT cannot safely patch the original .text
section.
An alternative solution could be to also ignore the function from which
the stub starts. This has not been tried as LongJmp pass - where most
stubs are inserted - is currently not equipped to ignore functions.
Testing: both the success and failure cases are covered with lit tests.
Commit: cfaa67bb627d499763e849939f47fac2c551a8df
https://github.com/llvm/llvm-project/commit/cfaa67bb627d499763e849939f47fac2c551a8df
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/test/CodeGen/Thumb2/mve-vmovimm.ll
Log Message:
-----------
[Thumb2] mve-vmovimm.ll - regenerate with missing check prefixes (#183019)
Add prefixes to discriminate between -mattr=+mve and -mattr=+mve.fp to
add missing check coverage
Fixes update_llc_test_checks warnings and simplifies regeneration for an
upcoming patch
Commit: e4245f2fc54880433c8fb0e196755aeec6efd4ce
https://github.com/llvm/llvm-project/commit/e4245f2fc54880433c8fb0e196755aeec6efd4ce
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/runtimes/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
[cmake] forward LLVM_EXTERNAL_*_SOURCE_DIR to runtimes (#180399)
Allow runtime source directories to live outside the top-level tree by
honoring LLVM_EXTERNAL_*_SOURCE_DIR and propagating the values via
RUNTIMES_CMAKE_ARGS.
Commit: ffd341d670281cae7d4eb688e9aaffc98364833a
https://github.com/llvm/llvm-project/commit/ffd341d670281cae7d4eb688e9aaffc98364833a
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
Log Message:
-----------
[MLIR] [Python] Added a missing cast to `__repr__` in the adaptors (#182867)
Without it the return type is inferred as `nanobind::object` which
results in invalid type stubs, since `__repr__` must return `str`.
Commit: a3f9e63d8240f98a1903d3357400535b7129df28
https://github.com/llvm/llvm-project/commit/a3f9e63d8240f98a1903d3357400535b7129df28
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat_err.s
Log Message:
-----------
[AMDGPU][MC] Validate atomics with TH_ATOMIC_RETURN (#182888)
Have AsmParser validate that atomics that use th:TH_ATOMIC_RETURN also
have an extra operand representing the destination as opposed to no-rtn
variants.
In cases where it was not specified parsing would pass because it would
assume it was a no-rtn variant but would still set th bits properly
after parsing modifiers. Register for destination would default to v0
(encoded as 0).
Also update invalid tests.
Commit: c94cf327470d9edbd65c792d6ce38bca07ec542c
https://github.com/llvm/llvm-project/commit/c94cf327470d9edbd65c792d6ce38bca07ec542c
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstCombine/memcmp-constant-fold.ll
Log Message:
-----------
[LLVM][ConstantFolding] Add vector ConstantInt/FP support to ReadDataFromGlobal. (#182530)
Commit: e5a40fef50d2604b9e0fb393955f414501b405c7
https://github.com/llvm/llvm-project/commit/e5a40fef50d2604b9e0fb393955f414501b405c7
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopInterchange/reduction2mem-limitation.ll
M llvm/test/Transforms/LoopInterchange/reduction2mem.ll
Log Message:
-----------
[LoopInterchange] Update tests for reduction2mem (NFC) (#181629)
The current ongoing work on DependenceAnalysis will degrade its analysis
capability. As a result, some existing tests will start to fail, meaning
that those tests are no longer meaningful. To preserve their original
intent, they need to be updated so that DependenceAnalysis can still
analyze them accurately.
This patch updates the test cases for the reduction2mem feature in
LoopInterchange. Specifically, it replaces the loop bounds with constant
values, which should not alter the intent of the tests.
Commit: 37eee8a99f0b4e9ab2ebfa6ec6c338718e7f9b66
https://github.com/llvm/llvm-project/commit/37eee8a99f0b4e9ab2ebfa6ec6c338718e7f9b66
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DependenceAnalysis/strong-siv-large-btc.ll
Log Message:
-----------
[DA] Rewrite the formula in the Strong SIV test (#179665)
In the Strong SIV test, given two addrecs `{c0,+,a}` and `{c1,+,a}`, the
following inequality is evaluated:
`|c0 - c1| >s |a| * BTC`, where `BTC` is the backedge-taken count of the
loop.
To evaluate this correctly, at least the following checks are necessary.
- `c0 - c1` doesn't overflow
- For all absolute-value calculations `|x|`, `x` is not the signed
minimum value
- `|a| * BTC` doesn't overflow
- `0 <=s BTC`, which is currently missed
- The addrecs have `nsw`, which is also currently missed
Enumerating these conditions and inserting them one by one is risky, and
I believe it makes the software flaky, so it should be avoided. It's
also unclear if these conditions are sufficient.
This patch replaces the current implementation with one that uses
`ConstantRange` so that we don't need to check any condition by
ourselves.
Fixes the test case for the Strong SIV test added in #179664. I believe
a similar fix can be applied for other tests as well.
Commit: 864506500733ef2813430b3d67138593b3abc04c
https://github.com/llvm/llvm-project/commit/864506500733ef2813430b3d67138593b3abc04c
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Transforms/MemCpyOpt/store-to-memset-constant-splat.ll
Log Message:
-----------
[LLVM][ValueTracking] Add vector ConstantInt/FP support to isBytewiseValue(). (#182519)
Commit: f1bf37e6bea86587b7a55919994174cc8d8ccfab
https://github.com/llvm/llvm-project/commit/f1bf37e6bea86587b7a55919994174cc8d8ccfab
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
M mlir/lib/Dialect/Shard/Transforms/ShardingPropagation.cpp
Log Message:
-----------
[mlir][shard] Simple fixes to harden sharding propagation and partitioning (#183028)
Commit: eff183b6a7e351e10444977fc2110edc2a518e6f
https://github.com/llvm/llvm-project/commit/eff183b6a7e351e10444977fc2110edc2a518e6f
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/aarch64-pmull2.ll
M llvm/test/CodeGen/AArch64/aarch64-scal-to-vec-bitcast-insert.ll
M llvm/test/CodeGen/AArch64/arm64-cvt-simd-intrinsics.ll
M llvm/test/CodeGen/AArch64/arm64-fixed-point-scalar-cvt-dagcombine.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt.ll
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
M llvm/test/CodeGen/AArch64/avoid-pre-trunc.ll
M llvm/test/CodeGen/AArch64/concat-vector-add-combine.ll
M llvm/test/CodeGen/AArch64/ctpop.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
M llvm/test/CodeGen/AArch64/vector-llrint.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
[AArch64] Wrap integer SCALAR_TO_VECTOR nodes in bitcasts (#172837)
This patch changes lowering of SCALAR_TO_VECTOR node with i32 or i64 by
inserting bitconvert to/from floating point type infront of its
operands. This bitconverts serve as a hint to instruction selector and
they make it clear that the operand and return value of this node need
to be NEON registers.
Depends on: #179315
---------
Co-authored-by: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Commit: db9d0245d14c2c48727af5f269e579f284e20611
https://github.com/llvm/llvm-project/commit/db9d0245d14c2c48727af5f269e579f284e20611
Author: Henry Baba-Weiss <henry.babaweiss at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/utils/vim/ftplugin/tablegen.vim
Log Message:
-----------
[vim] Set commentstring for TableGen files (#182654)
Neovim supports [commenting and uncommenting
lines](https://neovim.io/doc/user/various.html#commenting) based on what
the 'commentstring' option is set to, but this isn't set for TableGen
files. The filetype plugin for C++ built into both vim and neovim sets
'commentstring' to `// %s`, so use that in the TableGen filetype plugin
as well.
Commit: 75383421c1c6b8a33e762b42b83242dbd85e466e
https://github.com/llvm/llvm-project/commit/75383421c1c6b8a33e762b42b83242dbd85e466e
Author: Matej Košík <m4tej.kosik at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
Log Message:
-----------
[lldb] generalize the GDBRemoteCommunicationClient::GetVContSupported method (#182287)
This is a conservative generalization of the
`GDBRemoteCommunicationClient::GetVContSupported` method so that:
- the new version of this method handles the reply to the `vCont?`
packet the same way as the original version of this method
- the new version of this method can be easily adapted to situation when
the actions are represented by multiple letters.
Imagine that, in addition to the [existing
actions](https://sourceware.org/gdb/current/onlinedocs/gdb.html/Packets.html#vCont-packet):
- `c`
- `C`
- `s`
- `S`
- `t`
- `r`
the other party would also advertise that it supports (e.g.) `sc` action
(meaning e.g. that we can ask the other party to step into microcode).
The new version of this method can be easily adapted to handle such a
case without compromising correct handling of the original actions
represented by single characters.
---------
Co-authored-by: Matej Košík <matej.kosik at codasip.com>
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 0ad19bcceaa3798197a2f9760b9cc0c1e4fbe954
https://github.com/llvm/llvm-project/commit/0ad19bcceaa3798197a2f9760b9cc0c1e4fbe954
Author: Gábor Spaits <gaborspaits1 at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking][unittest] Add `impliesPoison` unit tests for `select` instruction (NFC) (#183029)
I was playing with `impliesPoison` and `select`. I have seen that there
are `impliesPoison` unit tests, but none of them were testing how it
behaves with the `select` instruction.
Since `select` propagates poison in a different way compared to the
other instructions, it can be good thing to have some tests checking
that.
Commit: 173956e9c7ee50409a5302af8b6754068a6f1fdc
https://github.com/llvm/llvm-project/commit/173956e9c7ee50409a5302af8b6754068a6f1fdc
Author: Aleksandr Nogikh <nogikh at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/test/CodeGen/alloc-token-lower.c
Log Message:
-----------
[AllocToken] Test alloc-token code generation for __size_returning_new (#183049)
The alloc-token-lower.c test only covered standard (and non-standard)
malloc-annotated allocation function.
Ensure that the code generation works as intended also for the standard
malloc_span-annotated functions with the example of
__size_returning_new.
Commit: c08079d8e7673bd15d2aa39f3ce51085afe84de8
https://github.com/llvm/llvm-project/commit/c08079d8e7673bd15d2aa39f3ce51085afe84de8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll
Log Message:
-----------
[SLP]Add single-use check for the bitcasted reduction
If the reduced value, to be bitcasted, is used multiple times, it will
require emission of the extractelement instruction. Such nodes should
not be bitcasted, should be vectorized as vector instructions.
Fixes https://github.com/llvm/llvm-project/pull/181940#issuecomment-3950734168
Commit: ba6c7d02a6b0f236c37ad031766d1f06474a4e6f
https://github.com/llvm/llvm-project/commit/ba6c7d02a6b0f236c37ad031766d1f06474a4e6f
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
Log Message:
-----------
[AArch64] Remove NoNaNsFPMath uses (#180462)
Remove `NoNaNsFPMath`, users should use `nnan` only.
Commit: f5fa773d4bcb45a1f8a1c0592951046fa9d41ef3
https://github.com/llvm/llvm-project/commit/f5fa773d4bcb45a1f8a1c0592951046fa9d41ef3
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
Log Message:
-----------
[MemRefToEmitC] avoid crash when lower global from MemRef to EmitC (#182984)
Fixed #181533.
Improve the robust when handling rank 0 special case
Commit: d75ca401a4fd9f64b344e8c61a3c26ba5693300a
https://github.com/llvm/llvm-project/commit/d75ca401a4fd9f64b344e8c61a3c26ba5693300a
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[LLVM][CodeGen] Consolidate sub-register index names into a single string (#182651)
Use `SequenceToOffsetTable` to emit a consolidated string for
sub-register index names and use a table of offsets to source these
names. This follows the same scheme used for register names and help the
static storage for this data (64-bit pointer to 32-bit int per
subregister-index).
Additionally, fix a small bug in `SequenceToOffsetTable` for empty
tables on Windows (i.e, when `EmitLongStrLiterals` = false). When the
table is empty, we would generate `0 \n 0` as the table contents and
fail compilation for Windows. Fixed that omitting the extra `0` after
the call to `emit` in that case. Also force using this logic when Size
== 0 to avoid modifying the `EmitLongStrLiterals = true` case to handle
empty tables.
Commit: e6962bd1bbaa4925d3b84e3a7c5e2c6a87744e60
https://github.com/llvm/llvm-project/commit/e6962bd1bbaa4925d3b84e3a7c5e2c6a87744e60
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libc/src/__support/RPC/rpc_server.h
Log Message:
-----------
[LibC][RPC] Define LIBC_COPT_PRINTF_DISABLE_WIDE on Windows (#178482)
https://github.com/llvm/llvm-project/pull/176110
RPC headers are being used directly from offload.
The default setting in config.json won't take effect.
Set it in the rpc_server.h
---------
Co-authored-by: Michael Jones <michaelrj at google.com>
Commit: 2e40d2bc7fabfbe2492e32166bed2cceb5e4628c
https://github.com/llvm/llvm-project/commit/2e40d2bc7fabfbe2492e32166bed2cceb5e4628c
Author: Valeriy Savchenko <vsavchenko at apple.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/Transforms/LICM/hoist-add-sub.ll
Log Message:
-----------
[LICM] Handle disjoint or's in hoistAdd (#182915)
`disjoint or` is identical to addition and there is no reason not to
handle it in `hoistAdd`.
Commit: 72c0a074db02659517cab27087487c21512e96a5
https://github.com/llvm/llvm-project/commit/72c0a074db02659517cab27087487c21512e96a5
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Move out canNarrowOps (NFC). (#167309)
Move definition of canNarrowOps out to static function, to make it
easier to extend + generalize
PR: https://github.com/llvm/llvm-project/pull/167309
Commit: 94d4cb5f7b363b93d57c8e97bf850c2d9ff2aee7
https://github.com/llvm/llvm-project/commit/94d4cb5f7b363b93d57c8e97bf850c2d9ff2aee7
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenCall.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/CIRDialect.cpp
M clang/test/CIR/CodeGen/address-space.c
M clang/test/CIR/CodeGen/alloc-size.c
A clang/test/CIR/CodeGen/arg-attrs.cpp
M clang/test/CIR/CodeGen/array-ctor.cpp
M clang/test/CIR/CodeGen/array-dtor.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/asm-label-inline-builtins.c
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/base-to-derived.cpp
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/binop.cpp
M clang/test/CIR/CodeGen/bitfields_be.c
M clang/test/CIR/CodeGen/builtin-floating-point.c
M clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
M clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/cast.cpp
M clang/test/CIR/CodeGen/cleanup-scope-tmp-with-exception.cpp
M clang/test/CIR/CodeGen/cleanup-scope-tmp.cpp
M clang/test/CIR/CodeGen/cleanup.cpp
M clang/test/CIR/CodeGen/cmp.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/copy-constructor.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/ctor-alias.cpp
M clang/test/CIR/CodeGen/ctor.cpp
M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
M clang/test/CIR/CodeGen/cxx-default-init.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/defaultarg.cpp
M clang/test/CIR/CodeGen/delegating-ctor.cpp
M clang/test/CIR/CodeGen/delete.cpp
M clang/test/CIR/CodeGen/derived-to-base.cpp
M clang/test/CIR/CodeGen/destructors.cpp
M clang/test/CIR/CodeGen/dtor-alias.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/forrange.cpp
M clang/test/CIR/CodeGen/function-to-pointer-decay.c
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-constant-storage.cpp
M clang/test/CIR/CodeGen/global-init.cpp
M clang/test/CIR/CodeGen/if.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
M clang/test/CIR/CodeGen/kr-func-promote.c
M clang/test/CIR/CodeGen/label-values.c
M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/member-functions.cpp
M clang/test/CIR/CodeGen/multi-vtable.cpp
M clang/test/CIR/CodeGen/new.cpp
M clang/test/CIR/CodeGen/no-odr-use.cpp
M clang/test/CIR/CodeGen/no-prototype.c
M clang/test/CIR/CodeGen/nrvo.cpp
M clang/test/CIR/CodeGen/pack-indexing.cpp
M clang/test/CIR/CodeGen/placement-new.cpp
M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
M clang/test/CIR/CodeGen/static-local.cpp
M clang/test/CIR/CodeGen/stmt-expr.cpp
M clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGen/struct.c
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGen/trivial-ctor-const-init.cpp
M clang/test/CIR/CodeGen/vbase.cpp
M clang/test/CIR/CodeGen/virtual-destructor-calls.cpp
M clang/test/CIR/CodeGen/virtual-function-calls.cpp
M clang/test/CIR/CodeGen/vla.c
M clang/test/CIR/CodeGen/vtt.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceMinMaxIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vbmi2-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlbf16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/ms-x86-intrinsics.c
M clang/test/CIR/CodeGenBuiltins/builtin-constant-p.c
M clang/test/CIR/CodeGenBuiltins/builtin-fcmp-sse.c
M clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
M clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
M clang/test/CIR/CodeGenBuiltins/builtin_printf.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-firstprivate-clause.cpp
M clang/test/CIR/CodeGenOpenACC/combined-private-clause.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/combined.cpp
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause-templates.cpp
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp
M clang/test/CIR/CodeGenOpenACC/compute-private-clause-templates.cpp
M clang/test/CIR/CodeGenOpenACC/compute-private-clause.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/declare-copy.cpp
M clang/test/CIR/CodeGenOpenACC/declare-copyin.cpp
M clang/test/CIR/CodeGenOpenACC/declare-copyout.cpp
M clang/test/CIR/CodeGenOpenACC/declare-create.cpp
M clang/test/CIR/CodeGenOpenACC/declare-deviceresident.cpp
M clang/test/CIR/CodeGenOpenACC/declare-present.cpp
M clang/test/CIR/CodeGenOpenACC/firstprivate-clause-recipes.cpp
M clang/test/CIR/CodeGenOpenACC/loop-private-clause.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/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-CtorDtor.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-NoOps.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-NoOps.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-CtorDtor.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-NoOps.cpp
M clang/test/CIR/CodeGenOpenACC/reduction-clause-recipes.cpp
M clang/test/CIR/CodeGenOpenMP/parallel.c
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/basic.cpp
Log Message:
-----------
[CIR] Implement basic attributes for this/arguments (#182910)
Similar to what I did for return types in #181052, this patch adds
support for 4 of the function attributes on arguments (noundef, nonnull,
dereferenceable, align). The logic for these is all pretty similar
(though SLIGHTLY different enough from eachother unfortunately), so they
are being submitted together. This handles 'this' and normal arguments.
Commit: a9e29e7ae3a5a9255d68e8992322673c4c81944c
https://github.com/llvm/llvm-project/commit/a9e29e7ae3a5a9255d68e8992322673c4c81944c
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
A clang/test/CIR/CodeGenCXX/simple-reinterpret-const-cast.cpp
Log Message:
-----------
[CIR] Implement LValue reinterpret/const cast (#182926)
These two are very simple and call into the Rvalue code/LValue lowering
code we already had for these, but weren't exposed as top-level LValues.
This patch adds them to the list (plus adds a comment for those that
we're missing!), as well as adds a test.
Commit: 06c673ed49eaa504123b23791d393172e94eabbf
https://github.com/llvm/llvm-project/commit/06c673ed49eaa504123b23791d393172e94eabbf
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/test/CIR/CodeGenCXX/global-refs.cpp
Log Message:
-----------
[CIR] Add support for globals reference variables (#182608)
These are fairly simple, particularly if they don't need special
cleanups (which is left unimplemented), but this provides init for a
global reference variable.
Commit: f927ffe0f934a9c43641e4a59a57c34d6d9c1f0c
https://github.com/llvm/llvm-project/commit/f927ffe0f934a9c43641e4a59a57c34d6d9c1f0c
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
A clang/test/CIR/CodeGenCXX/lvalue-nttp.cpp
Log Message:
-----------
[CIR] Implement LValue SubstNonTypeTemplateParmExpr lowering (#182920)
This just lowers to the expression that is its replacement, which in
this case causes it to just be the l-value in the expression.
Commit: 74f2ab494299818cd5ed9a82efbacd92d8be126c
https://github.com/llvm/llvm-project/commit/74f2ab494299818cd5ed9a82efbacd92d8be126c
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGenCXX/sizeof-pack.cpp
Log Message:
-----------
[CIR] Handle sizeof-pack lowering: (#182973)
This is just a compile time constant, so we just have to make sure we
get the value and lower it in the correct type, otherwise this is a
fairly trivial task.
Commit: bddc8e20bd136ba8c1829dde50c16e4734fcfa3a
https://github.com/llvm/llvm-project/commit/bddc8e20bd136ba8c1829dde50c16e4734fcfa3a
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
Log Message:
-----------
[AMDGPU] Replace getAllocatedType with getAllocationSize in PromoteAlloca (#179523)
Some progress towards using size-based APIs instead of unreliable
querying of alloca element types. The removal of the mis-accounting of
alignment to global variable size might have a minor functional impact
in edge cases where the overestimation of size used pushed it just over
the threshold to stop optimizing, and it wasn't already canonicalized by
an earlier pass.
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: bc8302d52bb4bb88552afb2fe64b8cc1c544ed73
https://github.com/llvm/llvm-project/commit/bc8302d52bb4bb88552afb2fe64b8cc1c544ed73
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
A llvm/test/Transforms/MemCpyOpt/stack-move-offset.ll
Log Message:
-----------
Reapply "[MemCpyOpt] support offset slices for performStackMoveOptzn and processMemCpy" (#180002)
In particular, support offset of src, since offset of dest will be a
followup change when dest is allowed to be not full-sized with copy.
Extracted from https://github.com/llvm/llvm-project/pull/150792
The miscomputation in the original version was due to incorrect
checking for ModRef, causing incorrect elimination of temporary
buffers: When checking for clobbering stores in performStackMoveOptzn,
use SrcPtr instead of SrcAlloca for the MemoryLocation. When SrcPtr is
offset into the alloca, but DstPtr is still not offset, we need to
check the actual copied region [SrcPtr, SrcPtr+Size) rather than
[SrcAlloca, SrcAlloca+Size) for ModRef. This check can become more
complex once DstOffset is non-zero or not-full-sized, as indicated in
the code comments.
Fixes https://github.com/llvm/llvm-project/issues/177185
Reverts https://github.com/llvm/llvm-project/pull/177482
Relands https://github.com/llvm/llvm-project/pull/176436
Co-authored-by: Gabriel Baraldi <baraldigabriel at gmail.com>
Commit: 142218186d9c56165b7710e2b2ead2fe02482b15
https://github.com/llvm/llvm-project/commit/142218186d9c56165b7710e2b2ead2fe02482b15
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M flang/test/Lower/forall/forall-where-2.f90
M flang/test/Lower/forall/forall-where.f90
M flang/test/Lower/forall/test9.f90
M flang/test/Lower/host-associated-functions.f90
M flang/test/Lower/host-associated.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 20) (#182997)
Tests converted from test/Lower/forall: forall-where.f90,
forall-where-2.f90, test9.f90.
Tests converted from test/Lower: host-associated-functions.f90,
host-associated.f90
Commit: 049cfda67c43c44f39e6f1d8e51cabcc491fcfce
https://github.com/llvm/llvm-project/commit/049cfda67c43c44f39e6f1d8e51cabcc491fcfce
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/startup/gpu/CMakeLists.txt
R libc/startup/gpu/amdgpu/CMakeLists.txt
R libc/startup/gpu/amdgpu/start.cpp
R libc/startup/gpu/nvptx/CMakeLists.txt
R libc/startup/gpu/nvptx/start.cpp
A libc/startup/gpu/start.cpp
M llvm/tools/CMakeLists.txt
M llvm/tools/llvm-gpu-loader/CMakeLists.txt
R llvm/tools/llvm-gpu-loader/amdhsa.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
R llvm/tools/llvm-gpu-loader/nvptx.cpp
R llvm/tools/llvm-gpu-loader/server.h
Log Message:
-----------
[LLVM] Port 'llvm-gpu-loader' to use LLVMOffload (#162739)
Summary:
This patch rewrites the `llvm-gpu-loader` utility to use the LLVMOffload
interface. This heavily simplifies it while re-using the already
existing support. Another benefit is that I can now easily do this
dynamically so we can always build this utility without needing to find
non-standard packages.
One issue is mentioned in
https://github.com/llvm/llvm-project/issues/159636 where this will now
take extra time if you have both installed on the same machine. This is
just slightly annoying since most people don't have both CUDA and ROCm
at the same time so I don't consider it a blocker. I will work later to
address it.
Slightly unfortunate environment variable usage, I will also expose that
better in the future.
Fixes: https://github.com/llvm/llvm-project/issues/132890
Commit: 3c209130f5276377f9b9477732140a2fb3f38a8d
https://github.com/llvm/llvm-project/commit/3c209130f5276377f9b9477732140a2fb3f38a8d
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
Log Message:
-----------
[IVDesc] Reject invariant stores in different blocks.
We cannot compare stores in different blocks.
Fixes https://github.com/llvm/llvm-project/issues/182879
Commit: 6738c46b810068a4f427d57581d80e07b12fa4bf
https://github.com/llvm/llvm-project/commit/6738c46b810068a4f427d57581d80e07b12fa4bf
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/tools/llvm-gpu-loader/CMakeLists.txt
Log Message:
-----------
[LLVM] Add missing binary format dependency to llvm-gpu-loader
Commit: 1eb8ab769c0c0b5a0cb071122b79f2030af16a7e
https://github.com/llvm/llvm-project/commit/1eb8ab769c0c0b5a0cb071122b79f2030af16a7e
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt
Log Message:
-----------
[AMDGPU] Add VOPC to gfx13 (#182293)
Co-authored-by: Ivan Kosarev <ivan.kosarev at amd.com>
Commit: 170a99dc6028af21ba0331214ef03e0ac5fafda1
https://github.com/llvm/llvm-project/commit/170a99dc6028af21ba0331214ef03e0ac5fafda1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
Log Message:
-----------
[LLVM] Fix accidentally included POSIX header on Windows
Summary:
This used to only build on Linux, I forgot that these changes would
cause it to be built on Windows.
Commit: 2f09fe70aa40f07107f5c7b946ac95e67888cdf9
https://github.com/llvm/llvm-project/commit/2f09fe70aa40f07107f5c7b946ac95e67888cdf9
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/Linalg/bufferize.mlir
Log Message:
-----------
[mlir][linalg] Implement bufferization for UnPackOp. (#182837)
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 1ecc1535ffd29472687290d5023c3a8a52e49a91
https://github.com/llvm/llvm-project/commit/1ecc1535ffd29472687290d5023c3a8a52e49a91
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/test/CIR/CodeGenCXX/global-refs.cpp
Log Message:
-----------
[CIR] Fix global-refs test that got committed in github 'race' (#183068)
Despite my best efforts, this crossed in the air with the attributes on
arguments patch, and thus had a problem with the test. This patch
updates the test to be tolerant of the attributes.
Commit: 600919ac3259aeb9d4967c1225f192120411978c
https://github.com/llvm/llvm-project/commit/600919ac3259aeb9d4967c1225f192120411978c
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/spirv-openmp-toolchain.c
M offload/test/offloading/info.c
Log Message:
-----------
[Offload][clang-linker-wrapper][SPIRV] Tell spirv-link to not optimize out exported symbols (#182930)
`spirv-link` seems to internalize all symbols, which ends up causing the
OpenMP Device Environment global generated by the OMP FE to get
optimized out which causes `liboffload` to run in the wrong
parallelization mode which breaks at least one liboffload lit test.
Pass `--create-library` to tell it not to do that.
```
--create-library
Link the binaries into a library, keeping all exported symbols.
```
This fixes the test.
Closes: https://github.com/llvm/llvm-project/issues/182901
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 9f2351c27e2e7417880dd99fc8516fff713a5ffe
https://github.com/llvm/llvm-project/commit/9f2351c27e2e7417880dd99fc8516fff713a5ffe
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenCUDA/const-var.cu
M clang/test/CodeGenCUDA/constexpr-variables.cu
M clang/test/CodeGenCUDA/host-used-device-var.cu
Log Message:
-----------
[HIP] Do not apply 'externally_initialized' to constant device variables (#182157)
Summary:
>From the Language reference:
> By default, global initializers are optimized by assuming that global
variables defined within the module are not modified from their initial
values before the start of the global initializer. This is true even for
variables potentially accessible from outside the module, including
those with external linkage or appearing in @llvm.used or dllexported
variables. This assumption may be suppressed by marking the variable
with externally_initialized.
This is intended because device programs can be modified beyond the
normal lifetime expected by the optimization pipeline. However, for
constant variables we should be able to safely assume that these are
truly constant within the module. In the vast majority of cases these
will not get externally visible symbols, but even `extern const` uses we
should assert that the user should not be writing them if they are
marked const.
Commit: 3e2fb2e7cb169b564dac2fe9cf37458bbe5a3b5c
https://github.com/llvm/llvm-project/commit/3e2fb2e7cb169b564dac2fe9cf37458bbe5a3b5c
Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libsycl/src/detail/global_objects.cpp
M libsycl/src/detail/global_objects.hpp
M libsycl/src/detail/platform_impl.cpp
Log Message:
-----------
[libsycl] Fix for static vars deinit order (libsycl vs liboffload) (#181366)
both libsycl & liboffload uses static variables.
on Linux static variable destructor is called earlier than the method
with `__attribute__((destructor(...)))`.
this fix helps to avoid crash due to liboffload static variable early
destruction.
the approach utilizes the following rule
"For each local object obj with static storage duration, obj is
destroyed as if a function calling the destructor of obj were registered
with
[std::atexit](https://en.cppreference.com/w/cpp/utility/program/atexit.html)
at the completion of the constructor of obj."
from `std::exit`.
in the first call of get_platforms we call liboffload's iterateDevices
that leads to liboffload static storage initialization. Then we
initialize our own local static var after this to be able to call our
shutdown methods earlier and before the liboffload objects are
destructed at the end of program.
Important note:
SYCL RT follows SYCL 2020 specification that doesn't declare any
init/shutdown methods that can help to avoid usage of static variables.
---------
Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
Commit: 7a83886fa23884455d7b6ba0199721bd090d7a3b
https://github.com/llvm/llvm-project/commit/7a83886fa23884455d7b6ba0199721bd090d7a3b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] lowerShuffleAsLanePermuteAndRepeatedMask - consistently move V2.isUndef handling inside the function. NFC. (#183069)
Matches other "lane permute + shuffle" functions.
Commit: 8854dd05b45927853bd5fbc4cc074c51d25bec15
https://github.com/llvm/llvm-project/commit/8854dd05b45927853bd5fbc4cc074c51d25bec15
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[IR] Specify alloca with poison element count (#183072)
An alloca with a poison element count is undefined behavior.
This matches existing behavior of optimizations. This also matches the
behavior of llubui for `poison`, but llubi currently does not report
immediate UB for `undef` element counts. A future patch will fix that.
Commit: 25dd013b71dfe6de5e4e67281eba5ee5bf44f64a
https://github.com/llvm/llvm-project/commit/25dd013b71dfe6de5e4e67281eba5ee5bf44f64a
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
A clang/test/CIR/CodeGen/assume-attr.cpp
Log Message:
-----------
[CIR] Implement 'assume' attribute lowering (#182960)
This attribute applies to null statements and emits an assume-op
sometimes. This patch adds this for statements, which includes the
infrastructure for AttributedStmt lowering.
---------
Co-authored-by: Sirui Mu <msrlancern at gmail.com>
Commit: 76699fb9e662865e40bfe840522f114cc900ab82
https://github.com/llvm/llvm-project/commit/76699fb9e662865e40bfe840522f114cc900ab82
Author: Kirill Vedernikov <kvedernikov at nvidia.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
A llvm/test/CodeGen/NVPTX/wmma-ptx91-sm120a.py
A llvm/test/CodeGen/NVPTX/wmma-ptx91-sm120f.py
M llvm/test/CodeGen/NVPTX/wmma.py
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Dialect/LLVMIR/nvvm-mma-blockscale.mlir
M mlir/test/Dialect/LLVMIR/nvvm-mma-sparse-blockscale.mlir
Log Message:
-----------
[MLIR][NVVM][NVPTX] Support for new mma/mma.sp variants from PTX 9.1 (#182325)
This change adds support for `.scale_vec::4X` with `.ue8m0` as `.stype`
with `.kind::mxf4nvf4` for `mma/mma.sp` instructions introduced in [PTX
ISA
9.1](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html?highlight=mma%2520sp#ptx-isa-version-9-1).
Also, it updates MLIR mma/mma.sp block scale tests with struct usage
instead of vector.
Commit: 251e9c429b376bf75ce7de29e7cf73688688890a
https://github.com/llvm/llvm-project/commit/251e9c429b376bf75ce7de29e7cf73688688890a
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libsycl/src/detail/global_objects.cpp
Log Message:
-----------
[libsycl] Fix build after global dtor change (#183077)
Fixes build after https://github.com/llvm/llvm-project/pull/181366
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 6e5cc825327dd042af78734616ad465aea54afcd
https://github.com/llvm/llvm-project/commit/6e5cc825327dd042af78734616ad465aea54afcd
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
Log Message:
-----------
[LAA][LV]Allow recognition of strided pointers with constant stride (#171151)
This patch fixes an issue found during LoopAccessAnalysis with respect
to recognizing strided pointers that make use of runtime constants. Loop
accesses of the form `p[base + offset * const]` , where `const` is a
runtime constant
should be considered for vectorization. However, it was found that there
were cases that these access patterns weren't recognized. This patch
resolves
this by adding an explicit pattern match within LAA.
---------
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: 14375d43db3636976c003042a56eab311f9ec2d3
https://github.com/llvm/llvm-project/commit/14375d43db3636976c003042a56eab311f9ec2d3
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/test/Driver/darwin-header-search-libcxx-2.cpp
M clang/test/Driver/rocm-detect-lib-llvm.hip
Log Message:
-----------
[clang] Clean up large clang binaries copied into test temp directories (#182304)
I noticed a couple of tests leave behind copies of clang binaries they
copy into their temp directories. Replicate the cleanup from another
test (clang/test/Driver/clang_f_opts_withspaces.c) to remove these.
Commit: 7160a4409add79895c52b6e2a407b3686c1b4fae
https://github.com/llvm/llvm-project/commit/7160a4409add79895c52b6e2a407b3686c1b4fae
Author: Rahul Kayaith <rkayaith at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/test/python/ir/array_attributes.py
Log Message:
-----------
[mlir][python] Fix segfault in DenseResourceElementsAttr.get_from_buffer for 0-d tensors (#183070)
When `ndim == 0`, `view->strides[view->ndim - 1]` is an out-of-bounds
access (unsigned underflow to `SIZE_MAX`). Use `view->itemsize` for
alignment instead, since a scalar buffer is trivially aligned to its
element size.
Fixes iree-org/iree-turbine#1312.
Commit: 783eeb2ccfcac136f2191bda705ecd4a1a553718
https://github.com/llvm/llvm-project/commit/783eeb2ccfcac136f2191bda705ecd4a1a553718
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
Log Message:
-----------
[MLIR][Linalg][NFC] Simplify tiling canonical pattern (#182909)
Prepare for better composition of canonicalization patterns by splitting
the linalg own canonicalizers from others for particular purposes (ex.
tiling).
Once dialects have their own registration mechanisms, specific passes
can just add more ops/dialects using a yet-to-be-created helper that
would be similar to the existing
`populateLinalgTilingCanonicalizationPatterns`.
Commit: fff4a4642b7fed78bed4223f5eaf7cf1839ff048
https://github.com/llvm/llvm-project/commit/fff4a4642b7fed78bed4223f5eaf7cf1839ff048
Author: Rajat Bajpai <rbajpai at nvidia.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/IR/EnumAttr.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Target/LLVMIR/nvvm/fence-invalid.mlir
Log Message:
-----------
[MLIR][ODS][NVVM] Add EnumAttrIsOneOf/IsNoneOf constraints and use them in NVVM fence ops (#182662)
Add `EnumAttrIsOneOf` and `EnumAttrIsNoneOf` to `EnumAttr.td`, a generic
`AttrConstraint`s that restrict an `EnumAttr` to an allowlist or
denylist
of cases respectively. These are the enum analogs of the existing
`IntIsOneOf` constraint for integer attributes.
`EnumAttrIsOneOf` restricts the attribute to a closed set of permitted
cases. `EnumAttrIsNoneOf` excludes specific cases while allowing all
others, which is more ergonomic when the disallowed set is smaller than
the allowed set and more future-proof when new enum cases are added.
This replaces hand-written verifier logic with ODS-generated
verification, eliminating the `FenceSyncRestrictOp` verifier entirely
and simplifying both `FenceProxyOp` and `FenceProxySyncRestrictOp`
verifiers.
It can also be parameterized through base class hierarchies, allowing
derived ops to specify their own allowed subsets:
```
class MyBase<string mnemonic, list<EnumCase> allowed>
: NVVM_Op<mnemonic>,
Arguments<(ins
ConfinedAttr<MyEnumAttr,
[EnumAttrIsOneOf<MyEnumAttr, allowed>]>:$kind)>;
def Op1 : MyBase<"op1", [CaseA, CaseB]>;
def Op2 : MyBase<"op2", [CaseB, CaseC, CaseD]>;
```
Commit: e147b3a05ee7f592e02a400ebea9fa1b2a62f8bb
https://github.com/llvm/llvm-project/commit/e147b3a05ee7f592e02a400ebea9fa1b2a62f8bb
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/ScopedNoAliasAA.h
M llvm/lib/Analysis/ScopedNoAliasAA.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
Log Message:
-----------
[VPlan] Fix alias logic in canHoistOrSinkWithNoAliasCheck (#179504)
The correct way to check if two memory locations may alias is outlined
in ScopedNoAliasAAResult::alias: extract this into a helper, to fix the
current logic.
Commit: 2e7d07a33725a82ecfc514e27f047ece3ff13d4c
https://github.com/llvm/llvm-project/commit/2e7d07a33725a82ecfc514e27f047ece3ff13d4c
Author: Andrew Haberlandt <ahaberlandt at apple.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp
M compiler-rt/lib/sanitizer_common/weak_symbols.txt
M compiler-rt/lib/tsan/go/buildgo.sh
Log Message:
-----------
[sanitizer_common] [Darwin] Adopt _dyld_get_dyld_header (#182943)
Commit: 1c11f94550e115ead5d7e5048cbac830a35d9513
https://github.com/llvm/llvm-project/commit/1c11f94550e115ead5d7e5048cbac830a35d9513
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/CMakeLists.txt
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ThreadFreeBSDKernelCore.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ThreadFreeBSDKernelCore.h
R lldb/source/Plugins/Process/FreeBSDKernel/CMakeLists.txt
R lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.h
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_arm64.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_arm64.h
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_i386.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_i386.h
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_x86_64.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_x86_64.h
R lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.h
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/TestFreeBSDKernelLiveCore.py
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/TestFreeBSDKernelVMCore.py
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/kernel-amd64.yaml
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/kernel-arm64.yaml
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/kernel-i386.yaml
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/tools/README.rst
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/tools/copy-sparse.py
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/tools/libfbsdvmcore-hacks.patch
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/tools/lldb-minimize-processes.patch
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/tools/test.script
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/vmcore-amd64-full.bz2
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/vmcore-amd64-minidump.bz2
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/vmcore-arm64-minidump.bz2
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/vmcore-i386-minidump.bz2
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/TestFreeBSDKernelLive.py
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/TestFreeBSDKernelVMCore.py
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/kernel-amd64.yaml
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/kernel-arm64.yaml
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/kernel-i386.yaml
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/README.rst
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/copy-sparse.py
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/libfbsdvmcore-hacks.patch
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/lldb-minimize-processes.patch
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/test.script
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-amd64-full.bz2
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-amd64-minidump.bz2
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-arm64-minidump.bz2
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-i386-minidump.bz2
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][Process/FreeBSDKernel] Rename to FreeBSDKernelCore (#182878)
There are two different ways to debug FreeBSD's kernel: core and remote
debugging. Remote debugging is done through `gdb-remote` plugin while
kernel dump and live core debugging is done through `freebsd-kernel`.
The name `freebsd-kernel` is vague for this reason, and following
`elf-core` and `mach-core`'s example, it would be clearer if this plugin
is renamed to `freebsd-kernel-core`.
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: f2f3300af4498fe53ad5e3b62c1a1a2f61106fbd
https://github.com/llvm/llvm-project/commit/f2f3300af4498fe53ad5e3b62c1a1a2f61106fbd
Author: Gergo Stomfai <stomfaig at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
Log Message:
-----------
[X86] add X86DomainReassignmentPass to x86 npm pipeline (#183088)
Seems that the pass has already been ported, but was not hooked into the
npm pipeline
Commit: f9e0a999bc646a830b90992c592e3f922e7d533a
https://github.com/llvm/llvm-project/commit/f9e0a999bc646a830b90992c592e3f922e7d533a
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/test/Transforms/LoopUnroll/debug.ll
M llvm/test/Transforms/LoopUnroll/full-unroll-avoid-partial.ll
M llvm/test/Transforms/LoopUnroll/guard-cost-for-unrolling.ll
Log Message:
-----------
[LoopUnrollPass] Fix capitalization in `LLVM_DEBUG` (#182429)
Carve out changes to existing debug messages from #178476.
Commit: 1a81673922a3f5b75f342e416e925a69822c4613
https://github.com/llvm/llvm-project/commit/1a81673922a3f5b75f342e416e925a69822c4613
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
Log Message:
-----------
[NFCI][analyzer] Add a clean way to generate nodes (#182377)
Currently the most common way for generating nodes is a complicated and
confusing boilerplate approach, which appears in many places:
- A `NodeBuilderContext` is constructed from a `CoreEngine &` and two
other irrelevant arguments.
- A short-lived temporary `NodeBuilder` is constructed from the
`NodeBuilderContext` and some almost irrelevant node sets.
- `NodeBuilder::generateNode()` is invoked once and accesses the graph
through the `CoreEngine &` to generate the node.
To simplify this, I'm cutting out the wrapper layers and extracting the
"main logic" of the method `NodeBuilder::generateNode()` to a new method
called `CoreEngine::makeNode()`. Eventually I intend to replace most use
of `NodeBuilder`s with direct calls to this method.
To ensure that this new `makeNode()` doesn't generate non-sink nodes
with `PosteriorlyOverconstrained` state, I moved the
`isPosteriorlyOverconstrained()` check from `CoreEngine::generateNode()`
to `makeNode()`.
This is technically speaking not an NFC change, because it prevents
`BranchNodeBuilder::generateNode()` from generating non-sink nodes with
`PosteriorlyOverconstrained` state (previously it was able to do so
because it calls `NodeBuilder::generateNodeImpl()` instead of
`NodeBuilder::generateNode()`).
However I labelled this as an NFCI change, as I'm fairly confident that
this won't lead to any observable changes because:
- `PosteriorlyOverconstrained` states are very rare.
- A state derived from a `PosteriorlyOverconstrained` state is also
posteriorly overconstrained, so if `BranchNodeBuilder` fails to sink the
execution path, it will be sunk anyway at the next transition which is
done by a plain `NodeBuilder`.
Note that simulated paths with a `PosteriorlyOverconstrained` state do
not correspond to real paths that can occur during the actual execution
of the program, so the analyzer should stop following them as soon as
possible. For more explanation see the doc-comment above the data member
`bool PosteriorlyOverconstrained` within `ProgramState`.
Commit: e8d8f8cfccd68f780cf261d622445784980cdd26
https://github.com/llvm/llvm-project/commit/e8d8f8cfccd68f780cf261d622445784980cdd26
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/Transforms/SimplifyCFG/AArch64/switch-to-lookup-table-vector-splat.ll
Log Message:
-----------
[LLVM][SimplifyCFG] Make validLookupTableConstant explicitly reject vector types. (#182555)
validLookupTableConstant indirectly rejects vectors through its
selection of supported Constant classes. However, this is not sufficient
when ContantInt/FP are used to represent constant vector splats and so
I've added an explicit bailout.
Commit: 5a4a5db4776f50a43624392eb2e18863504e5372
https://github.com/llvm/llvm-project/commit/5a4a5db4776f50a43624392eb2e18863504e5372
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
M flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
M flang/include/flang/Optimizer/Dialect/FIRDialect.td
M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
M mlir/include/mlir/IR/DialectBase.td
M mlir/include/mlir/IR/OperationSupport.h
M mlir/include/mlir/TableGen/Dialect.h
M mlir/lib/TableGen/Dialect.cpp
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/unittests/Bytecode/BytecodeTest.cpp
M mlir/unittests/IR/OpPropertiesTest.cpp
Log Message:
-----------
[MLIR] Remove deprecated setting usePropertiesForAttributes (#182327)
This was slotted for removal in LLVM 19 in the release notes of LLVM 17,
we're way past it now.
If your dialect still has:
> let usePropertiesForAttributes = 1;
Then you can just remove this line (it was the default value).
If you were setting it to 0:
> let usePropertiesForAttributes = 0;
Then you need to adopt the new behavior, please report any issue with
this migration.
Commit: 7ed50d61af54cc35673310053a3056c76fb6c891
https://github.com/llvm/llvm-project/commit/7ed50d61af54cc35673310053a3056c76fb6c891
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
M llvm/unittests/ADT/StringRefTest.cpp
Log Message:
-----------
[ADT] Add StringRef::rfind_if/rfind_if_not (#182928)
As a parity to `StringRef::find_if/find_if_not`.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: f3c5ab0388a17f08dc791c95d093c9c9b3264dcf
https://github.com/llvm/llvm-project/commit/f3c5ab0388a17f08dc791c95d093c9c9b3264dcf
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/memcpy_const_compare.ll
Log Message:
-----------
[AMDGPU][NFC] Pre-commit memcpy test with complex constant length (#182170)
Test memcpy lowering with complex constant length. Length is given by:
`i64 add (i64 sub (i64 16, i64 ptrtoint (ptr addrspacecast (ptr
addrspace(4) null to ptr) to i64)), i64 13)`
Thus, loop guard should not be needed.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 61d40e22c47da133a74c26774eeebbbfe65cfe7e
https://github.com/llvm/llvm-project/commit/61d40e22c47da133a74c26774eeebbbfe65cfe7e
Author: zGoldthorpe <Zach.Goldthorpe at amd.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[SDPatternMatch] Add `m_ConstInt` overloads with `uint64_t`/`int64_t` operands (#182615)
Adds overloads
```cpp
auto m_ConstInt(uint64_t &);
auto m_ConstInt(int64_t &);
```
which behave analogously to `m_ConstInt(APInt &)`, but only match if the
captured integer fits within 64 bits.
Commit: 15fa8b002636a5f339722a58d2b977f752a5ff08
https://github.com/llvm/llvm-project/commit/15fa8b002636a5f339722a58d2b977f752a5ff08
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/include/clang/Driver/RocmInstallationDetector.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/asanrtl.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/hip.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ockl.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_abi_version_600.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_isa_version_900.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ocml.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/opencl.bc
M clang/test/Driver/rocm-device-libs.cl
Log Message:
-----------
clang/AMDGPU: Stop checking for finite only and unsafe math control libraries (#182865)
These will be imminently deleted. Just ignore them if they are not
present.
Commit: f0289f00b5b85fda63cde96cda3eb38693adc534
https://github.com/llvm/llvm-project/commit/f0289f00b5b85fda63cde96cda3eb38693adc534
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
A llvm/test/CodeGen/Hexagon/autohvx/isel-hvx-rescale-predicate.ll
Log Message:
-----------
[Hexagon] Avoid contracting predicates in createHvxPrefixPred (#183081)
The function createHvxPrefixPred should only need to expand a predicate
to match the result's bytes-per-bit. Otherwise, contracting of the
predicate may lead to an input that is shorter than 4 bytes, making it
unsuitable for VINSERTW0.
When calling createHvxPrefixPred for vector concatention, re-group the
inputs to the concat to make sure that the resulting inputs to
createHvxPrefixPred would not need contraction.
Fixes https://github.com/llvm/llvm-project/issues/181362
Commit: ea524fb666cbdc3e827243df9241490a744c06ae
https://github.com/llvm/llvm-project/commit/ea524fb666cbdc3e827243df9241490a744c06ae
Author: Moritz Sichert <moritz at cedardb.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaCoroutine.cpp
A clang/test/SemaCXX/coroutine-inherited-allocator.cpp
Log Message:
-----------
[Clang] Fix coroutine promise with inherited allocation functions (#179141)
The compiler frontend crashed when the promise class overloads operator
new/delete without a regular function declaration. This happens when the
promise class derives from a base class and takes the allocation
functions from the base class with:
using Base::operator new;
using Base::operator delete;
This was initially introduced by
1cd59264aa2fb4b0ba70ff03c1298b1b5c21271e.
This should also fix #164088
Commit: 16d0090ffc80e859131583f3dcea1f85c6a67e05
https://github.com/llvm/llvm-project/commit/16d0090ffc80e859131583f3dcea1f85c6a67e05
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGenCUDA/device-const-var-linkage.cu
Log Message:
-----------
[CUDA/HIP] Externalize __device__ const variables accessed by host code (#177292)
In standard C++, const variables at namespace scope have internal
linkage. For __device__ const variables, this makes them invisible to
runtime symbol lookup APIs (cudaGetSymbolAddress/hipGetSymbolAddress).
Reading a __device__ const variable from host code is a valid usage
pattern — the host may need to know the value at runtime. This is
also needed by libcudacxx's cuda::get_device_address.
This patch extends the existing CUDADeviceVarODRUsedByHost tracking
to cover __device__ const variables. When host code references such a
variable, it gets externalized (same mechanism used for static device
vars). Variables only used in device code keep internal linkage and
can still be constant-folded.
The fix is in SemaExpr: __device__ const variables are classified as
CVT_Both (due to an implicit CUDAConstantAttr), so the ODR-use
tracking is extended to include CVT_Both variables with an explicit
CUDADeviceAttr, distinguishing them from plain const variables.
Commit: a04eb62de6961f4300f780664b0207fac6f4497d
https://github.com/llvm/llvm-project/commit/a04eb62de6961f4300f780664b0207fac6f4497d
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
M clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
Log Message:
-----------
[clang][ssaf] Add JSON serialization support for `TUSummary::LinkageTable`
This change adds full read/write support for the
`TUSummary::LinkageTable` field that maps each entity to its linkage
kind. The deserialization step validates that the set of entity ids in
`LinkageTable` exactly matches the set in `IdTable` in a single `O(N log
N)` pass. Existing tests have been updated and new tests have been added
to ensure 100% coverage of the new code.
Commit: ff929a21e95cd637ddf6ec9b1036eeaa4ce395d5
https://github.com/llvm/llvm-project/commit/ff929a21e95cd637ddf6ec9b1036eeaa4ce395d5
Author: Tommy Chiang <ototot at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/Sema/unroll-template-value-crash.cpp
Log Message:
-----------
[Sema] Guard transformed loop-hint expression before use (#182752)
`TransformLoopHintAttr` called `TransformExpr(...).get()` without
checking that the transformed expression was usable.
For `#pragma GCC unroll v()` instantiated with `v = int`, expression
transformation fails and Clang can assert while validating the loop
hint.
Check `ExprResult::isUsable()` before calling `get()` and keep the
original attribute on failure.
Fixes https://github.com/llvm/llvm-project/issues/49502
Commit: 59661a295552c7fd766c4a5e81e2ce2ddd723515
https://github.com/llvm/llvm-project/commit/59661a295552c7fd766c4a5e81e2ce2ddd723515
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/docs/LangRef.rst
M mlir/docs/Dialects/Vector.md
Log Message:
-----------
[LLVM][LangRef] Restrict vscale to be a signed power-of-two integer. (#183080)
There is no known requirement to support non-power-of-two
values of vscale and yet said support is leading to unnecessary
complexity within LLVM.
Commit: a637cde428065f3a6207b8ce4d84f6d159476df0
https://github.com/llvm/llvm-project/commit/a637cde428065f3a6207b8ce4d84f6d159476df0
Author: Ayokunle Amodu <ayokunle321 at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
Log Message:
-----------
[CIR][NFC] Update the constructor sites of `CIRGenFPOptionsRAII` (#182187)
As support for RAII FP options has been upstreamed (#179121), this patch
removes `CIRGenFPOptionsRAII` from the `MissingFeatures` list and
updates its expected constructor sites.
Commit: 03388af3197b85bb3047ea4aa7791633662bb821
https://github.com/llvm/llvm-project/commit/03388af3197b85bb3047ea4aa7791633662bb821
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/setpayload.h
A libc/shared/math/setpayloadbf16.h
A libc/shared/math/setpayloadf.h
A libc/shared/math/setpayloadf128.h
A libc/shared/math/setpayloadf16.h
A libc/shared/math/setpayloadl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/setpayload.h
A libc/src/__support/math/setpayloadbf16.h
A libc/src/__support/math/setpayloadf.h
A libc/src/__support/math/setpayloadf128.h
A libc/src/__support/math/setpayloadf16.h
A libc/src/__support/math/setpayloadl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/setpayload.cpp
M libc/src/math/generic/setpayloadbf16.cpp
M libc/src/math/generic/setpayloadf.cpp
M libc/src/math/generic/setpayloadf128.cpp
M libc/src/math/generic/setpayloadf16.cpp
M libc/src/math/generic/setpayloadl.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 setpayload family to header-only (#182922)
part of #181823
Commit: 1b9fea021840f17c41ea980300d0fc45e7285909
https://github.com/llvm/llvm-project/commit/1b9fea021840f17c41ea980300d0fc45e7285909
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
Log Message:
-----------
[X86] lowerV64I8Shuffle - avoid lowerShuffleAsRepeatedMaskAndLanePermute call on VBMI targets (#183109)
Shuffle combining fails to fold the inner shuffles first, but luckily the LanePermuteAnd* methods are enough if we have VPERMB as a fallback
Fixes #137422
Commit: 423719304c3d597e065f16767c3d2a226bc83416
https://github.com/llvm/llvm-project/commit/423719304c3d597e065f16767c3d2a226bc83416
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc][math] Fix fmul->mul for bf16mul family (#182018) (#183112)
#182018 made these header only but added the build targets as fmul
instead of mul
Commit: 8ed290cd1d5c0bf9111dc309add1c156dd212281
https://github.com/llvm/llvm-project/commit/8ed290cd1d5c0bf9111dc309add1c156dd212281
Author: Julian Pokrovsky <raventid at users.noreply.github.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/asinpif16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/asinpif16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/asinpif16.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 asinpif16 to Header Only (#179021)
Resolves https://github.com/llvm/llvm-project/issues/178103
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 67c1dd1c35a10086d403a7dc943d3edf948175df
https://github.com/llvm/llvm-project/commit/67c1dd1c35a10086d403a7dc943d3edf948175df
Author: Nico Weber <thakis at chromium.org>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn] port 796a1ea79f41
Commit: 3b5a05d0b27fc47458326419ec43d3bf335f1bb3
https://github.com/llvm/llvm-project/commit/3b5a05d0b27fc47458326419ec43d3bf335f1bb3
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
Revert "[VPlan] Strengthen materializeFactors with assert (NFC) (#181665)" (#183014)
This PR did not solve the TODO as intended. Reverting so the TODO is not
lost.
This reverts commit aab9412a69a07787e9ec98b25709d709b7b537a6.
Commit: f1fb4a52287f97a4d86b6c0c73d565b35d0e7173
https://github.com/llvm/llvm-project/commit/f1fb4a52287f97a4d86b6c0c73d565b35d0e7173
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[FlowSensitive] ignore co_await / co_yield for PropagateResultObject (#182624)
This fixes a crash when encountering co_await
Commit: 1b42a665b15dfa245980521a4031055bce9a1bce
https://github.com/llvm/llvm-project/commit/1b42a665b15dfa245980521a4031055bce9a1bce
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/shift-i512.ll
Log Message:
-----------
[X86] shift-i512.ll - add test coverage for shift+extract patterns as suggested on #132601 (#183111)
Commit: fa2941904151b1f7660603ced47f81a510628efd
https://github.com/llvm/llvm-project/commit/fa2941904151b1f7660603ced47f81a510628efd
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libc/src/__support/FPUtil/bfloat16.h
M libc/test/src/__support/FPUtil/bfloat16_test.cpp
Log Message:
-----------
[libc][math] Bfloat16 `*= (Multiply assign)` operator support (#182882)
This PR intends to add *= operator support for Bfloat16 and tests for
it.
Commit: 61a18adb3c21960940fcf9a485b32c7590f0ea96
https://github.com/llvm/llvm-project/commit/61a18adb3c21960940fcf9a485b32c7590f0ea96
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
Log Message:
-----------
[NFC][ThinLTO] Check that refs between split modules have the same GUID (#182982)
Right now, the GUIDs are computed from the names with the hash suffix.
Once we land [this
RFC](https://discourse.llvm.org/t/rfc-keep-globalvalue-guids-stable/84801),
we'll want to use the original symbol's GUID, and also ensure any refs
to such symbols (in the case of a split module) keep that GUID. This
test prepares that.
Note that an effect of the aforementioned RFC is that the GUIDs will be
different from the ones checked in the test (but will still be the same
wrt eachother)
Commit: d75a3d49aa8b0c37a4a374aa7083669bd79ef62c
https://github.com/llvm/llvm-project/commit/d75a3d49aa8b0c37a4a374aa7083669bd79ef62c
Author: Rahul Kayaith <rkayaith at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/cmake/modules/TableGen.cmake
Log Message:
-----------
[cmake] Don't pass -no-warn-on-unused-template-args to mlir-src-sharder (#183084)
Building with `LLVM_ENABLE_WARNINGS=OFF` fails when generating sharded
test ops:
```bash
cmake -S llvm -B build -G Ninja \
-DLLVM_ENABLE_PROJECTS="mlir" \
-DLLVM_ENABLE_WARNINGS=OFF
cmake --build build --target MLIRTestOpsShardGen
```
```
mlir-src-sharder: Unknown command line argument '-no-warn-on-unused-template-args'.
```
`mlir-src-sharder` calls `ResetCommandLineParser()` on startup, so it
doesn't recognize flags registered by the TableGen library. The
`tablegen()` cmake function already excludes `--long-string-literals=0`
for `MLIR_SRC_SHARDER` — this adds the same guard for
`-no-warn-on-unused-template-args`.
Commit: 901636112c6a45385a0ef421d32a5fb95374f56e
https://github.com/llvm/llvm-project/commit/901636112c6a45385a0ef421d32a5fb95374f56e
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/source/Target/StackFrameList.cpp
Log Message:
-----------
[lldb/Target] Revert overly broad locking in StackFrameList::FetchFramesUpTo (#182969)
Commit: b47e416fe7761ac47265133a30903709414a1809
https://github.com/llvm/llvm-project/commit/b47e416fe7761ac47265133a30903709414a1809
Author: anoopkg6 <anoop.kumar6 at ibm.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/test/CodeGen/SystemZ/fmuladd-soft-float.ll
M llvm/test/CodeGen/SystemZ/remat.ll
Log Message:
-----------
[SystemZ] Extend #179838 to include more loads to rematerialize (#182782)
Extend #179838 to include more loads to rematerialize.
---------
Co-authored-by: anoopkg6 <anoopkg6 at github.com>
Commit: 19e05e62c31fc6a2d62acb2e1e9ae62c2a840b41
https://github.com/llvm/llvm-project/commit/19e05e62c31fc6a2d62acb2e1e9ae62c2a840b41
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def
M llvm/include/llvm/DebugInfo/CodeView/CodeViewTypes.def
Log Message:
-----------
[LLVM][PDB] Add missing type/symbol IDs (#182743)
This adds all missing `LF_` and `S_` constants found in
`msdia140.dll`/`mspdbcore.dll`. It doesn't add the record definitions.
Most of them are unknown.
Some definitions would be great to have:
- `LF_{CLASS,STRUCTURE,UNION,INTERFACE}2` The structure is similar to
the versions without `2`. See
https://redirect.github.com/microsoft/microsoft-pdb/issues/50#issuecomment-737890766
and
https://github.com/microsoft/pdb-rs/blob/23def87dfed8cb78dd2916c9607a0caa19e8e549/codeview/src/types/visitor.rs#L518-L523.
We'll probably need to duplicate `ClassRecord` and friends for this.
>From the comment, it sounded like MSVC would generate these, but I
haven't been successful in getting it to generate these.
- `S_ASSOCIATION` is generated when compiling C++ 20 coroutines.
- `S_REGREL32_INDIR` (and similar) also generated in C++ 20 coroutines
and for (unoptimized) structured bindings (#34392). Seems to correspond
to
[`LocationType::LocIsRegRelAliasIndir`](https://learn.microsoft.com/en-us/visualstudio/debugger/debug-interface-access/locationtype?view=visualstudio)
([Symbol
Locations](https://learn.microsoft.com/en-us/visualstudio/debugger/debug-interface-access/symbol-locations?view=visualstudio))
from the DIA SDK. If I understand correctly, this is just `S_REGREL32`
except that you'd add `offsetInUDT` to the offset. Example:
```
40000000 13100000 00000000 4F01 5F5F 636F726F 5F667261 6D655F70 74720000
offset | type |off. in | reg| name (0-terminated)
UDT
```
I'm guessing the others are similar, but I don't have any example.
We're also missing some x86 and arm64 sub-registers for XMM/YMM that are
present in `cvconst.h`.
Commit: 5e9570508feaf6a0873aeae9275beaf52322eb7b
https://github.com/llvm/llvm-project/commit/5e9570508feaf6a0873aeae9275beaf52322eb7b
Author: valium007 <49368101+valium007 at users.noreply.github.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
A clang/test/CIR/CodeGen/call-no-decl.c
Log Message:
-----------
[CIR] Fix cir.call verifier error for implicitly declared variadic functions (#182626)
Fixes #182175
Commit: 4a1f565c85f637f8f07a090ea09169b2acf3c114
https://github.com/llvm/llvm-project/commit/4a1f565c85f637f8f07a090ea09169b2acf3c114
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/setpayloadsig.h
A libc/shared/math/setpayloadsigbf16.h
A libc/shared/math/setpayloadsigf.h
A libc/shared/math/setpayloadsigf128.h
A libc/shared/math/setpayloadsigf16.h
A libc/shared/math/setpayloadsigl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/setpayloadsig.h
A libc/src/__support/math/setpayloadsigbf16.h
A libc/src/__support/math/setpayloadsigf.h
A libc/src/__support/math/setpayloadsigf128.h
A libc/src/__support/math/setpayloadsigf16.h
A libc/src/__support/math/setpayloadsigl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/setpayloadsig.cpp
M libc/src/math/generic/setpayloadsigbf16.cpp
M libc/src/math/generic/setpayloadsigf.cpp
M libc/src/math/generic/setpayloadsigf128.cpp
M libc/src/math/generic/setpayloadsigf16.cpp
M libc/src/math/generic/setpayloadsigl.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 setpayloadsig family to header-only (#183113)
closes : #181823
Commit: 980c24897e1d6114e8a5795045e6b1b39bee1887
https://github.com/llvm/llvm-project/commit/980c24897e1d6114e8a5795045e6b1b39bee1887
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
A lldb/test/API/tools/lldb-dap/conpty-drain/Makefile
A lldb/test/API/tools/lldb-dap/conpty-drain/TestDAP_conpty_drain.py
A lldb/test/API/tools/lldb-dap/conpty-drain/main.c
Log Message:
-----------
[lldb] fix Makefile.rules cross platform macros (#183090)
This patch fixes cross platform Makefile.rules macros and adds the
`ECHO_TO_EXISTING_FILE` macros.
Using `echo` in a macro to write to a file had quoting issues.
Commit: ab14dab5ec4c7159ed439e1735bdb1455fd4b785
https://github.com/llvm/llvm-project/commit/ab14dab5ec4c7159ed439e1735bdb1455fd4b785
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR] Fix Codegen for Vector logical op with FP (#182761)
Previously, we perform nq comparison between LHS, RHS, and zero attr
with the type of the logical Op, but in the case of a vector with FP
element type, the verifier will fail because we perform a comparison of
a vector of FP and a vector of int (the result type of the logical op in
this case is vector of int)
Commit: ba0e08287659820b26f60fb3ef4a0b89bb983354
https://github.com/llvm/llvm-project/commit/ba0e08287659820b26f60fb3ef4a0b89bb983354
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSfmm.td
Log Message:
-----------
[RISCV] Document some of the names we require for getNamedOperandIdx. NFC (#182687)
Commit: 04ca29ed5444b5be94c3d75d605e7e2ca266d478
https://github.com/llvm/llvm-project/commit/04ca29ed5444b5be94c3d75d605e7e2ca266d478
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Expand more TruncStore and LoadExt operations for P extension. (#182995)
Commit: 6cb5a05cecf2f3b98a36a513f22b967b05084062
https://github.com/llvm/llvm-project/commit/6cb5a05cecf2f3b98a36a513f22b967b05084062
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/test/CXX/drs/cwg2947.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Add marking to CWG2947 test (#181832)
052f2f8cd17f3ff8bcb7b53a777a232d9ac36965 accidentally changed the status
of CWG2947 from "Clang 23" to "No", because the test was missing the
special comment that `make_cxx_dr_status` scripts consumes. This PR adds
the special comments and restores the original status of CWG2947.
Commit: f4577641d15a6625966a018715c98ba8fad65c83
https://github.com/llvm/llvm-project/commit/f4577641d15a6625966a018715c98ba8fad65c83
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
R lldb/test/API/tools/lldb-dap/conpty-drain/Makefile
R lldb/test/API/tools/lldb-dap/conpty-drain/TestDAP_conpty_drain.py
R lldb/test/API/tools/lldb-dap/conpty-drain/main.c
Log Message:
-----------
Merge commit '74ad4baef073' from llvm.org/main into next (#183126)
Commit: d269c36bafc6b9f06b8a79e618abfd2a417d6071
https://github.com/llvm/llvm-project/commit/d269c36bafc6b9f06b8a79e618abfd2a417d6071
Author: Demetrius Kanios <demetrius at kanios.net>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp
Log Message:
-----------
[WebAssembly] Optimize `WebAssemblyCFGSort`'s post sort verifications. (#182458)
Currently, the post-sort verifications `WebAssemblyCFGSort` does in
assertion builds is quite expensive. Given the example of
[usagi-coffee/tree-sitter-abl](https://github.com/usagi-coffee/tree-sitter-abl),
we have one MASSIVE function with nearly 120K blocks. Sorting this is
fast, but the verifications after take some 40+ seconds (on my machine).
The culprit was the manipulation of the region `OnStack`. I've tried to
replace that with interval based verifications to make sure the regions
are well formed, well nested, and that the numbers of the blocks within
a region are within the interval of the numbers of the header and bottom
of the region.
This brings the aforementioned example down to well under a second spent
in the pass in an assertions build.
Commit: 08b0f39dcf1ad764896ff776004328e8ae45f390
https://github.com/llvm/llvm-project/commit/08b0f39dcf1ad764896ff776004328e8ae45f390
Author: Gauravsingh Sisodia <xaerru at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/implicit-value-init-expr.cpp
Log Message:
-----------
[CIR][CodeGen] Implement VisitImplicitValueInitExpr in CIRGenExprScalar.cpp (#182256)
MRE:
```cpp
#include <vector>
std::vector<int> V;
```
```shell
$ ./bin/clang++ -fclangir -c test.cpp
error: ClangIR code gen Not Yet Implemented: ScalarExprEmitter: implicit value init
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
....
```
This PR fixes the crash by upstreaming:
https://github.com/llvm/clangir/blob/c1e076e803a04862443fa2ede13c35144fa79268/clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp#L397-L399
Commit: 93a5e37b9346fe061921fae311d61a4641d3a78e
https://github.com/llvm/llvm-project/commit/93a5e37b9346fe061921fae311d61a4641d3a78e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Make prune unused branches workflow correctly handle reverts (#183114)
Revert branches were not being correctly excluded from the list of
branches to delete as we never even looked for them. Look for them, and
add some comments to explain.
I have verified that after this patch, the workflow only deletes
branches that are not associated with any PR.
Commit: 796e7ebbe59bb7101c92064e4006a8aab0482989
https://github.com/llvm/llvm-project/commit/796e7ebbe59bb7101c92064e4006a8aab0482989
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Turn on prune-unused-branches workflow (#182985)
This patch turns on the prune-unused-branches workflow for everyone
rather than just my user branches now that all feedback from the
discourse thread has been addressed.
Commit: f7243c4af76499bb3a5f334eb5585c05ba9be9bc
https://github.com/llvm/llvm-project/commit/f7243c4af76499bb3a5f334eb5585c05ba9be9bc
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Improve workgroup to subgroup distribution pattern for mulit-reduction op (#182178)
This PR improves the multi-reduction op pattern in wg distribution to
save the partially reduced tile to slm using the same rank as the tile
before reduced, instead of forcing them to using 2d slm tile. This
simplifies the layout assignment at later stage.
Commit: 6f251689a8a95207bbb60ac7c72bc3ad68ac58df
https://github.com/llvm/llvm-project/commit/6f251689a8a95207bbb60ac7c72bc3ad68ac58df
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libc/src/__support/math/asinpif16.h
Log Message:
-----------
[libc][math] Fix code consistency in asinpif16 lambda (#183140)
Commit: 544e75ebd9d11648761d860f94f41c5b2867440f
https://github.com/llvm/llvm-project/commit/544e75ebd9d11648761d860f94f41c5b2867440f
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
A lldb/test/API/tools/lldb-dap/conpty-drain/Makefile
A lldb/test/API/tools/lldb-dap/conpty-drain/TestDAP_conpty_drain.py
A lldb/test/API/tools/lldb-dap/conpty-drain/main.c
Log Message:
-----------
Revert "Merge commit '74ad4baef073' from llvm.org/main into next (#183126)" (#183135)
Commit: 4ef6a8a16ee711cdcccd630877fc1811999d3324
https://github.com/llvm/llvm-project/commit/4ef6a8a16ee711cdcccd630877fc1811999d3324
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/nextdown.h
A libc/shared/math/nextdownbf16.h
A libc/shared/math/nextdownf.h
A libc/shared/math/nextdownf128.h
A libc/shared/math/nextdownf16.h
A libc/shared/math/nextdownl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/nextdown.h
A libc/src/__support/math/nextdownbf16.h
A libc/src/__support/math/nextdownf.h
A libc/src/__support/math/nextdownf128.h
A libc/src/__support/math/nextdownf16.h
A libc/src/__support/math/nextdownl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/nextdown.cpp
M libc/src/math/generic/nextdownbf16.cpp
M libc/src/math/generic/nextdownf.cpp
M libc/src/math/generic/nextdownf128.cpp
M libc/src/math/generic/nextdownf16.cpp
M libc/src/math/generic/nextdownl.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 nextdown family to header-only (#181679)
closes #181678
Commit: 17eb0ebee85dc89d00a445ac364cd3e3b14ef535
https://github.com/llvm/llvm-project/commit/17eb0ebee85dc89d00a445ac364cd3e3b14ef535
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.h
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
Log Message:
-----------
[clang][ssaf] Skip permission-based tests when permissions are not enforced (#183128)
`JSONFormatTest/NoReadPermission` and
`JSONFormatTest/WriteStreamOpenFailure` are negative tests that expect
file operations to fail when Unix permissions are revoked. These tests
unexpectedly succeed instead of failing if they are run as root, or
executed in environments with non-standard filesystem semantics that do
not enforce permission checks.
This change adds a `permissionsAreEnforced()` helper to the
`JSONFormatTest` fixture that detects if:
- The process is running as root `(getuid() == 0)`
- A probe file with read permission removed can still be opened,
indicating that file permission has no effect in the current
environment. The probe file's permissions are restored before returning
so `TearDown` can clean up the temp directory unconditionally.
This method is used to skip the two negative tests rather than failing
with a spurious assertion error.
rdar://170917013
rdar://170916929
Commit: a8821e26dff873955d61c16cb25e7e9981d21681
https://github.com/llvm/llvm-project/commit/a8821e26dff873955d61c16cb25e7e9981d21681
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/fminp-fmaxp.ll
A llvm/test/CodeGen/AArch64/sminp-smaxp.ll
A llvm/test/CodeGen/AArch64/uminp-umaxp.ll
Log Message:
-----------
[AArch64] optimize manual pairwise min/max (#182785)
Like https://github.com/llvm/llvm-project/pull/181549 but for min/max. I
believe that the behavior for `fminp`/`fmaxp` is correct based on
-
https://developer.arm.com/architectures/instruction-sets/intrinsics/vmax_f32
-
https://developer.arm.com/architectures/instruction-sets/intrinsics/vmaxv_f32
both using `FPMin` and `FPMAX` and
```
defm FMAXP : SIMDThreeSameVectorFP<1,0,0b110,"fmaxp", int_aarch64_neon_fmaxp>;
defm FMAX : SIMDThreeSameVectorFP<0,0,0b110,"fmax", any_fmaximum>;
```
so using `any_fmaximum` for the patterns for `fmaxp` should be OK?
Commit: 334aa966ec55a6be62f0c924d8c695bbe36e6cd4
https://github.com/llvm/llvm-project/commit/334aa966ec55a6be62f0c924d8c695bbe36e6cd4
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
R lldb/test/API/tools/lldb-dap/conpty-drain/Makefile
R lldb/test/API/tools/lldb-dap/conpty-drain/TestDAP_conpty_drain.py
R lldb/test/API/tools/lldb-dap/conpty-drain/main.c
Log Message:
-----------
Revert "[lldb] fix Makefile.rules cross platform macros (#183090)" (#183142)
Commit: a41cedaa73136531e410f238a77b315c2c2c43ab
https://github.com/llvm/llvm-project/commit/a41cedaa73136531e410f238a77b315c2c2c43ab
Author: Alex Langford <alangford at apple.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/test/API/commands/process/attach/TestProcessAttach.py
Log Message:
-----------
[lldb] Make TestProcessAttach.py more reliable (#183141)
This test occasionally fails on GreenDragon. When the directory already
exists and we enter the exception block, the `os.errno` symbol is not
found because it was deprecated in Python 3.7.
Instead, replace `os.mkdir` with `os.makedirs` because it can handle a
directory already existing.
Commit: e1be4dfe1ef889c51d7e1704782a31dc65bb745c
https://github.com/llvm/llvm-project/commit/e1be4dfe1ef889c51d7e1704782a31dc65bb745c
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
A llvm/test/CodeGen/Hexagon/disable-packetizer-nvj.ll
Log Message:
-----------
[Hexagon] Disable new value jumps when packetizer is disabled (#180615)
New value jumps require the feeder instruction to be in the same packet
as the consumer (.new) instruction. When --disable-packetizer is used,
each instruction is placed in its own packet, making it impossible to
satisfy this requirement.
Previously, using --disable-packetizer would cause an assertion failure
in the MCCodeEmitter: "Couldn't find producer". This change fixes the
crash by checking the DisablePacketizer flag in the NewValueJump pass
and skipping NVJ generation when packetization is disabled.
Commit: 262a678cb6ba50edb25861d37d790027643571ce
https://github.com/llvm/llvm-project/commit/262a678cb6ba50edb25861d37d790027643571ce
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/test/CIR/CodeGen/call-no-decl.c
Log Message:
-----------
[CIR][NFC] Fix Call no decl test (#183137)
Update the call-no-decl test file to ignore for parameter attribute `{llvm.noundef}`
Commit: e36fe2e17139ef31cb08acc205a9546e78cf369e
https://github.com/llvm/llvm-project/commit/e36fe2e17139ef31cb08acc205a9546e78cf369e
Author: Elia Geretto <egeretto at qti.qualcomm.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/lib/Headers/ptrauth.h
Log Message:
-----------
[PAC][Headers] Silence warnings in `ptrauth.h` macro expansions (#183107)
This commit ensures that
`-Wgnu-statement-expression-from-macro-expansion` is not triggered when
`ptrauth.h` is included, but pointer authentication is not available.
Fixes #171461.
Commit: 14656962c03620569c8fc55807851e22ab99de72
https://github.com/llvm/llvm-project/commit/14656962c03620569c8fc55807851e22ab99de72
Author: Stephen Chou <stephenchouca at users.noreply.github.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MachineLoopUtils.cpp
A llvm/test/CodeGen/Hexagon/swp-peel-prolog-crash.mir
Log Message:
-----------
[MachinePipeliner] Fix crash during prolog peeling (#182189)
Fix crash during prolog peeling when loop preheader terminates with a
fallthrough conditional branch
The crash was happening due to the wrong preheader layout successor
being passed to `updateTerminator`; in general, the loop kernel will not
be the layout successor after prolog peeling. Fix this by passing the
right layout successor.
Commit: eee3db408f6fb94c034b0617a53dad87833c3dbf
https://github.com/llvm/llvm-project/commit/eee3db408f6fb94c034b0617a53dad87833c3dbf
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libc/src/__support/CPP/bit.h
Log Message:
-----------
[libc] Remove MSAN_UNPOISON from `bit_cast` and `bit_copy` (#183124)
The `MSAN_UNPOISON` calls were manually unpoisoning the source memory,
which can hide legitimate bugs where uninitialized memory is being
copied.
`MSAN_UNPOISON` should not be used in such wide spread utilities as
`bit_cast` and `bit_copy` but rather close to API boundary where
have no better way to avoid uninitialized bits.
* `MSAN_UNPOISON` was add to `bit_copy` with #165015, but it looks like
a copy-paste from `bit_cast`.
* `bit_cast` has it from #70067, but I can't find valid reproducer any
more. If it's still the issue, `MSAN_UNPOISON` \
should move close the source of uninitialized values.
Commit: 5a69f1c3acb7b2b65612368282875f669e041cd6
https://github.com/llvm/llvm-project/commit/5a69f1c3acb7b2b65612368282875f669e041cd6
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/performance/StringViewConversionsCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions.cpp
Log Message:
-----------
[clang-tidy] Simplify and generalize `performance-string-view-conversions` (#182783)
This change teaches the check to detect the redundant `string_view ->
string -> string_view` conversion chain in places besides function calls
(notably, in constructor calls), all with less code.
No release note, because this check hasn't been released yet.
Commit: b66fae37edb1b9107e79e66273fccb7b70e24327
https://github.com/llvm/llvm-project/commit/b66fae37edb1b9107e79e66273fccb7b70e24327
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
A llvm/test/Transforms/GVN/PRE/protected-field-ptr.ll
Log Message:
-----------
GVN: Inhibit PRE for llvm.protected.field.ptr.
Similar case to #151649.
Reviewers: fmayer, nikic
Pull Request: https://github.com/llvm/llvm-project/pull/182976
Commit: 27533c7e84793e5e2500fabc7a8fcac89e86fe95
https://github.com/llvm/llvm-project/commit/27533c7e84793e5e2500fabc7a8fcac89e86fe95
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lld/test/ELF/lto/linker-script-symbols-ipo.ll
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
A llvm/test/CodeGen/X86/prefalign.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-emit.ll
M llvm/test/tools/gold/X86/multiple-sections.ll
Log Message:
-----------
Reland "CodeGen: Emit .prefalign directives based on the prefalign attribute."
The result of the MachineFunction preferred alignment query is emitted
as a .prefalign directive if supported, otherwise it gets combined into
the minimum alignment.
Part of this RFC:
https://discourse.llvm.org/t/rfc-enhancing-function-alignment-attributes/88019
Reland of #155529 with fix for gold test case.
Reviewers: fmayer, nikic, arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/182929
Commit: 82593722f585335f53b0609fb108de151f65271c
https://github.com/llvm/llvm-project/commit/82593722f585335f53b0609fb108de151f65271c
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/openmp-taskloop-no-context-struct.mlir
Log Message:
-----------
[OMPIRBuilder] Replace getAllocatedType with getAllocationSize (#181844)
Replace size queries using getTypeStoreSize(getAllocatedType()) with
getAllocationSize(DL) in createTaskloop, createTask, emitTargetTask, and
emitTargetTaskProxyFunction. For GEP type arguments in
emitNonContiguousDescriptor and emitOffloadingArrays, use the local
ArrayTy/PointerArrayType variables already in scope instead of
re-querying the alloca.
The store size of a struct is the same as the allocation size, so this
part should be NFC, and removes unnecessary uses of getAllocatedType, in
pursuit of the eventual deprecation of the getAllocatedType interface.
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: 603c315355313bb22f863e0aa26b80238c5b3ae2
https://github.com/llvm/llvm-project/commit/603c315355313bb22f863e0aa26b80238c5b3ae2
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
Log Message:
-----------
[MLIR][Transform] Allow any kind of transform param in mixed args (#183163)
Changes check to be on the interface so that `!transform.any_param`
typed values are accepted in addition to `!transform.param<...>`.
Commit: e0477ce1b3c30e2ec536901e2e7d8589dd370e4a
https://github.com/llvm/llvm-project/commit/e0477ce1b3c30e2ec536901e2e7d8589dd370e4a
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[Sema] Set __builtin_wasm placeholder type to v* instead of i (#181146)
The `rewriteBuiltinFunctionDecl` was unconditionally rewriting
BuiltinFnTy to FunctionTy, by taking the type from the FDecl instead of
copying it from the Fn. That confused BuildResolvedCallExpr immediately
afterward, which sets `ResultTy = Context.BoolTy` if the type is
declared to be Function rather than BuiltinFn. Thus this only usually
matters when also using custom type checking, since otherwise this
eventually extracts the type from the FuncT and overwrites the type
extracted from the builtin, but that ability is disabled for builtins
with custom type checking marked. Either change here is sufficient alone
for the current __builtin_wasm declarations, but doing both changes
seemed more conservative for possible future builtins.
This was introduced originally in
b919c7d9eb8598b7f631c1edcd0b874bbdaf99d6.
Analysis assisted by Claude Sonnet 4.5
Commit: d1e29a4bf1418fddd66cad32e9eda76f20b9c68a
https://github.com/llvm/llvm-project/commit/d1e29a4bf1418fddd66cad32e9eda76f20b9c68a
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libc/hdr/CMakeLists.txt
M libc/include/elf.yaml
M libc/startup/linux/CMakeLists.txt
M libc/startup/linux/aarch64/CMakeLists.txt
A libc/startup/linux/aarch64/irelative.cpp
M libc/startup/linux/do_start.cpp
A libc/startup/linux/irelative.h
M libc/startup/linux/riscv/CMakeLists.txt
A libc/startup/linux/riscv/irelative.cpp
M libc/startup/linux/x86_64/CMakeLists.txt
A libc/startup/linux/x86_64/irelative.cpp
M libc/test/integration/startup/linux/CMakeLists.txt
A libc/test/integration/startup/linux/irelative_no_ifunc_test.cpp
A libc/test/integration/startup/linux/irelative_test.cpp
Log Message:
-----------
[libc] Enable ifunc support in static startup (#182841)
Resolves ifunc targets before `main()` runs in static libc
This enables static binaries to use ifunc-based dispatch during early
process startup, so optimized implementations can be selected based on
CPU features. Without this relocation step in startup, those targets are
not ready when program code begins executing.
This change:
- adds IRELATIVE relocation handling for x86_64, AArch64, ARMv7 and RISC-V,
- reads `AT_HWCAP` / `AT_HWCAP2` from auxv and passes them to resolvers
where required (notably AArch64),
- runs IRELATIVE processing after base-address discovery and before TLS
setup,
- adds integration tests for both the ifunc path and the no-ifunc path,
- Changed the load bias type for ptrdiff_t to intptr_t to align with
IRELATIVE handling, which uses intptr_t for load bias calculations.
Commit: 28c34edab4c2bed535ff4832740ec49dbef19f99
https://github.com/llvm/llvm-project/commit/28c34edab4c2bed535ff4832740ec49dbef19f99
Author: marius doerner <marius.doerner1 at icloud.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/include/clang/AST/Attr.h
M clang/include/clang/Sema/Sema.h
M clang/test/Sema/nonnull.c
Log Message:
-----------
[clang] Check upperbound for attribute param index (#180424)
Fixes #176638
The `ParamIdx` class encodes attribute's parameter indexes in 30 bits,
check if assignments overflow and issue an "attribute parameter out of
bounds" error in that case.
Commit: c91fc0056478455f24f3e35b6cac153aa30948f2
https://github.com/llvm/llvm-project/commit/c91fc0056478455f24f3e35b6cac153aa30948f2
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
[lldb] fix Makefile cross platform macros (#183131)
This patch fixes cross platform Makefile.rules macros and adds the
`ECHO_TO_EXISTING_FILE` macros.
Using `echo` in a macro to write to a file had quoting issues.
This is a reland of https://github.com/llvm/llvm-project/issues/183090.
Commit: 75cbd584ee179ce3960fe661c0c56636b4d9057b
https://github.com/llvm/llvm-project/commit/75cbd584ee179ce3960fe661c0c56636b4d9057b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/test/Driver/hip-temps-linux.hip
Log Message:
-----------
[HIP] Adjust test after #123359
Summary:
Just make this use the old driver for now, since that appraently worked.
Delete this later
Commit: efc98de8e725b111a0bd38a3f2768af33a63a3da
https://github.com/llvm/llvm-project/commit/efc98de8e725b111a0bd38a3f2768af33a63a3da
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/abseil/UncheckedStatusOrAccessCheck.cpp
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StdNamespaceModificationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
M clang-tools-extra/clang-tidy/google/FunctionNamingCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferStaticOverAnonymousNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/misc/OverrideWithDifferentVisibilityCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
M clang-tools-extra/clang-tidy/performance/AvoidEndlCheck.cpp
M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
M clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp
M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
M clang-tools-extra/clang-tidy/readability/OperatorsRepresentationCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReferenceToConstructedTemporaryCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Remove ad-hoc `unless(isExpansionInSystemHeader())` from matchers (#183020)
#151035 centralized the code to skip matching nodes in system headers,
so individual checks no longer need the
`unless(isExpansionInSystemHeader())` boilerplate to achieve that. You
can verify that the logic introduced in that PR is equivalent to
`unless(isExpansionInSystemHeader())`; they both essentially boil down
to
`!SourceManager.isInSystemHeader(Node.getBeginLoc())`:
https://github.com/llvm/llvm-project/blob/7c5c58cdc6553c969a11fee51bfd23ae659220d4/clang/include/clang/ASTMatchers/ASTMatchers.h#L283-L291
https://github.com/llvm/llvm-project/blob/7c5c58cdc6553c969a11fee51bfd23ae659220d4/clang/lib/ASTMatchers/ASTMatchFinder.cpp#L1363-L1372
I audited all the uses of `isExpansionInSystemHeader` in the codebase,
and the only one I found that wasn't redundant was one in
`TaggedUnionMemberCountCheck.cpp`.
Commit: 804572136ea33ec067cf0d5bb8f5a0b004c650a8
https://github.com/llvm/llvm-project/commit/804572136ea33ec067cf0d5bb8f5a0b004c650a8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops-chained.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/interleave_vec.ll
Log Message:
-----------
[VPlan] Allow recursive narrowing in interleave group narrowing. (#167310)
This allows canNarrowOps to recursively check if operands can be
narrowed, enabling narrowing of longer chains of operations that
feed interleave groups.
Depends on https://github.com/llvm/llvm-project/pull/167309.
PR: https://github.com/llvm/llvm-project/pull/167310
Commit: 23ea5d537dedb31e767876a871790c111e6ef6b6
https://github.com/llvm/llvm-project/commit/23ea5d537dedb31e767876a871790c111e6ef6b6
Author: Serafean <Serafean at users.noreply.github.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
A clang/test/Index/index-auto.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[clang][libclang]Check auto type for type constraints (#172472)
the "auto" keyword was visited by the default visitor only, making any
type constraints unavailable through the libclang API.
Add an explicit visitor for AutoType, check for constraints, and visit
those.
Fixes issue #166580
I modeled the visiting after
https://github.com/llvm/llvm-project/blob/main/clang/tools/libclang/CIndex.cpp#L1346
, and the tests after what I found in
https://github.com/llvm/llvm-project/blob/main/clang/test/Index/index-concepts.cpp
. Hopefully it fits.
Commit: ac45132c2f64ff6b189a5cd15c2b4e257433d243
https://github.com/llvm/llvm-project/commit/ac45132c2f64ff6b189a5cd15c2b4e257433d243
Author: PiJoules <leonardchan at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M compiler-rt/lib/asan/asan_fuchsia.cpp
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/asan/asan_rtl_x86_64.S
Log Message:
-----------
Reapply "[ASan][Fuchsia] Have Fuchsia use a dynamic shadow start" (#182972) (#183154)
This reverts commit 19daed352f218f866ebcbbf3f35b14918588d8a1 but keeping
the original cmake in compiler-rt/lib/asan/CMakeLists.txt as is. Prior
we were attempting to use clang-cl for building ASM with all the normal
flags but extra flags are needed to force clang-cl to be used as an
assembler. For now, it's just easier to not touch any of the cmake
machinery and omit building the assembly for windows builds, but we
still keep the `#if` in the asm file to avoid having a fuchsia-specific
exclusion.
Commit: 07053e4d2e8f59413e115b1ba10bcd59250c982f
https://github.com/llvm/llvm-project/commit/07053e4d2e8f59413e115b1ba10bcd59250c982f
Author: Priyanshu Kumar <10b.priyanshu at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/stopped-events/TestDAP_stopped_events.py
Log Message:
-----------
[LLDB]Fix logic in matches method for thread comparison (#179873)
The method claims to check if a is a subset of b, but the implementation
`a | b ==a` actually checks if b is a subset of a. This patch updated
the docstring.
Commit: 4a7bffc2c41adf94c48ac14e89de453c08b03bdc
https://github.com/llvm/llvm-project/commit/4a7bffc2c41adf94c48ac14e89de453c08b03bdc
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/docs/UsersManual.rst
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGen/prefalign.c
M clang/test/CodeGenCXX/member-alignment.cpp
A clang/test/Driver/prefalign.c
Log Message:
-----------
CodeGen, Driver: Introduce -fpreferred-function-alignment option.
This option may be used to specify a function's preferred alignment.
The -falign-functions option and the aligned attribute now control
both the minimum alignment and the preferred alignment for consistency
with gcc. In contrast to the previous approach implemented in #149444
the preferred alignment is retained for member functions.
Part of this RFC:
https://discourse.llvm.org/t/rfc-enhancing-function-alignment-attributes/88019
Reviewers: vitalybuka, MaskRay, AaronBallman, jansvoboda11
Pull Request: https://github.com/llvm/llvm-project/pull/155528
Commit: 85354c6d8bc929c8a70266b90d69ec5eaea35470
https://github.com/llvm/llvm-project/commit/85354c6d8bc929c8a70266b90d69ec5eaea35470
Author: Lang Hames <lhames at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
Log Message:
-----------
[ORC] Simplify WaitingOnGraph::Coalescer::remove. (#183175)
WaitingOnGraph::Coalescer::remove used to apply a should-remove
predicate to all SuperNodes currently registered with the coalescer.
This commit updates it to take a single SuperNode at a time, similar to
standard container erase methods.
To enable this, WaitingOnGraph::Coalescer now holds a map of registered
SuperNodes to hashes.
This allows us to remove individual SuperNodes, rather than checking all
SuperNodes in the Coalescer against a should-remove predicate.
Commit: e3af23de34ebdabfafdb876e0a6befa13b0c9c83
https://github.com/llvm/llvm-project/commit/e3af23de34ebdabfafdb876e0a6befa13b0c9c83
Author: John Harrison <harjohn at google.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/unittests/DAP/ProtocolRequestsTest.cpp
Log Message:
-----------
[lldb-dap] Correct types in cancel reqs. (#183169)
Correcting the types in cancel arguments. The `progressId` should have
been a string and updating the requestId to default to 0.
Commit: 8cbbd5b561de495d6a8f4be4f5c4462c812c5b91
https://github.com/llvm/llvm-project/commit/8cbbd5b561de495d6a8f4be4f5c4462c812c5b91
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M libc/include/llvm-libc-types/struct_stat.h
M libc/test/src/sys/time/utimes_test.cpp
Log Message:
-----------
[libc] Add backwards-compatibility macro to struct stat. (#182601)
Older code may use `st_atime` which recorded timestamps with one-second
precision, instead of `struct timespec st_atim` that is available in
later POSIX versions.
Add `#define st_atime` (& friends) to type declaration as suggested in
https://man7.org/linux/man-pages/man3/stat.3type.html
Commit: 7faf98bda1188d209b220665cead27a914178f3b
https://github.com/llvm/llvm-project/commit/7faf98bda1188d209b220665cead27a914178f3b
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/transform-op-tile.mlir
Log Message:
-----------
[MLIR][Transform] tile_using_for: allow transform.any_param in mixed args (#183178)
Changes check to be on the interface so that `!transform.any_param`
typed values are accepted in addition to `!transform.param<...>`.
Commit: 023b7dad0fd8122045b7d07bd98fe7f66a94d099
https://github.com/llvm/llvm-project/commit/023b7dad0fd8122045b7d07bd98fe7f66a94d099
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M clang/docs/ClangIRCleanupAndEHDesign.md
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
M clang/test/CIR/IR/catch-param.cir
M clang/test/CIR/IR/invalid-try-catch.cir
M clang/test/CIR/IR/try-catch.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
Log Message:
-----------
[CIR] Update the design for structured catch handler representation (#183134)
This updates the design for catch handler regions in CIR try operations
to add an EH token argument to the regions and to use the
`cir.begin_catch` and `cir.end_catch` operations in the structured
representation rather than a `cir.catch_param`. This matches the
flattened representation and will make flattening easier to implement.
This leaves the generation of begin_catch and end_catch operands in the
`CXXABI` interface and Itanium implementation. However, because this
representation is no longer target-specific, I intend to move this code
to `CIRGenFunction` in a future change.
I used AI tools to generate many of the changes in this PR, but I have
carefully reviewed the changes and updated as needed.
Commit: d7347c0b81aecaaa73ce8f167556c6ca5c449495
https://github.com/llvm/llvm-project/commit/d7347c0b81aecaaa73ce8f167556c6ca5c449495
Author: Lang Hames <lhames at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
Log Message:
-----------
Revert "[ORC] Simplify WaitingOnGraph::Coalescer::remove. (#183175)"
Revert commit 85354c6d8bc while I investigate the bot failure at
https://lab.llvm.org/buildbot/#/builders/187/builds/17163.
Commit: 8e43a5a39cea6d453de137173ae0310d77a4d923
https://github.com/llvm/llvm-project/commit/8e43a5a39cea6d453de137173ae0310d77a4d923
Author: Alex Langford <alangford at apple.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
M lldb/test/API/lang/objc/objc-ivar-stripped/TestObjCIvarStripped.py
Log Message:
-----------
[lldb] Disable shared build for TestHiddenIvars.py and TestObjCIvarStripped.py (#183188)
These tests sporadically fail on Green Dragon. My hypothesis is that one
test is rebuilding while another is trying to load a dSYM leading to a
mismatch.
Commit: 8c3e8e526b78b10174529e42181ae655107f834c
https://github.com/llvm/llvm-project/commit/8c3e8e526b78b10174529e42181ae655107f834c
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/test/Lower/OpenMP/composite_simd_linear.f90
M flang/test/Lower/OpenMP/declare-simd.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/simd-linear.f90
M flang/test/Lower/OpenMP/wsloop-linear.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-llvm-invalid.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-simd-guided.mlir
Log Message:
-----------
[flang][mlir][OpenMP] Allow for flexible typing of linear step variables (#182816)
This PR allows for flexible typing of linear step variables. The format
of the linear clause is also changed to: `linear(linear_var : type =
linear_step : type)`; this format closely follows the formatting of the
allocate/allocators clauses.
Fixes https://github.com/llvm/llvm-project/issues/178793
Co-authored-by: urvi-rav <urvi.rav at hpe.com>
Commit: 549626702518d8ef0af45f4438d755a99f50e38c
https://github.com/llvm/llvm-project/commit/549626702518d8ef0af45f4438d755a99f50e38c
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/test/CodeGen/SPIRV/pointers/ptrcast-bitcast.ll
Log Message:
-----------
[SPIRV] Add Intermediate cast when Vector From/To types are of different element size and type (#182166)
fixes https://github.com/llvm/llvm-project/issues/177838
- Replaced assert(TargetTypeSize == SourceTypeSize) with a conditional:
when sizes differ, compute a BitcastType with the target's element type
but sized to match the source's total bitwidth
- Instead of unconditionally returning after bitcast, only return early
if BitcastType == TargetType (same-size case), otherwise fall through to
the shuffle logic
- Updated the final assert to use AssignValue->getType() since that may
now be the intermediate type rather than SourceType
Commit: 65215d5b95d5a495f6cf82c25a7be4e8f2be144c
https://github.com/llvm/llvm-project/commit/65215d5b95d5a495f6cf82c25a7be4e8f2be144c
Author: Hendrik Hübner <117831077+HendrikHuebner at users.noreply.github.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/include/clang/CIR/CIRToCIRPasses.h
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/IdiomRecognizer.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/CIRPasses.cpp
A clang/test/CIR/Transforms/idiom-recognizer.cpp
Log Message:
-----------
[CIR] Initial upstreaming of idiom recognizer pass (#172486)
This PR Upstreams the Idiom Recognizer pass
cc @bcardosolopes
Commit: 9a42d3a25cc997d25cd5d9de3c1123d7c1c992d0
https://github.com/llvm/llvm-project/commit/9a42d3a25cc997d25cd5d9de3c1123d7c1c992d0
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-02-24 (Tue, 24 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/Utils/XeGPUUtils.cpp
M mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[MLIR][XeGPU] Enable one-step subgroup distribution of cross-lane reduction to shuffle op (#182698)
This PR simplifies the current two-step distribution implementation for
vector.multi-reduction op on cross-lane reduction. Instead of first
lowering to vector.reduction op and further distribution, it directly
lowers to shuffles op. This removes the complexity of setting xegpu
layout for the intermediate operations (extract/insert/reduction)
generated on the fly during subgroup distribution pass.
Commit: 37538bec5737ab805c3f625e32dc690c2e66b971
https://github.com/llvm/llvm-project/commit/37538bec5737ab805c3f625e32dc690c2e66b971
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Log Message:
-----------
[lldb][DWARFASTParserClang][NFC] Make ParsedDWARFTypeAttributes parameter a const-ref (#183024)
In https://github.com/llvm/llvm-project/pull/182956 we stopped using
access specifiers from DWARF for most Clang decls we create. This
parameter no longer needs to be modified and we can make it a
`const-ref`.
Commit: 276f3f356a6944e202cd9d155c74b4b022d66707
https://github.com/llvm/llvm-project/commit/276f3f356a6944e202cd9d155c74b4b022d66707
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/include/clang/Sema/Template.h
M clang/lib/Sema/SemaConcept.cpp
M clang/test/AST/ByteCode/libcxx/end-primitive-array-root-lifetime.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
[Clang] Check the underlying type dependency in concept checking guards (#183010)
In the concept parameter mapping patch, we partially preserved sugar for
concept checking. However, in dependent contexts there may be
non-dependent aliases that still require concept checking to filter out
unwanted functions.
No release note because of being a regression.
Fixes https://github.com/llvm/llvm-project/issues/182344
Commit: 5cb8191595d3331d9d333cd441b63f2af535760a
https://github.com/llvm/llvm-project/commit/5cb8191595d3331d9d333cd441b63f2af535760a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Lua/Lua.cpp
R lldb/source/Plugins/ScriptInterpreter/Lua/Lua.h
A lldb/source/Plugins/ScriptInterpreter/Lua/LuaState.cpp
A lldb/source/Plugins/ScriptInterpreter/Lua/LuaState.h
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
M lldb/unittests/ScriptInterpreter/Lua/LuaTests.cpp
Log Message:
-----------
[lldb] Rename Lua -> LuaState (NFC) (#183218)
Rename Lua to LuaState to avoid conflicts between Lua.h and lua.h on
case-insensitive file systems.
Commit: 75171b07c17cd80c7f6a493fb690fd97480b59fc
https://github.com/llvm/llvm-project/commit/75171b07c17cd80c7f6a493fb690fd97480b59fc
Author: hidekisaito <hidekido at amd.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-prefetch-flushed.ll
A llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-prefetch-flushed.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-prefetch-pattern.ll
Log Message:
-----------
[AMDGPU] Add LIT tests for DS loop waitcnt prefetch flushed (tests-only PR) (#183217)
Test-only PR for PR #175658, and remove -O3 from PR #172728 LIT test per
post-merge comment
Commit: 2ff512b96742a9e3e51383f61e35b44ed85b3abb
https://github.com/llvm/llvm-project/commit/2ff512b96742a9e3e51383f61e35b44ed85b3abb
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
[Clang][NFC] Correct the test in PR183010 (#183226)
We should test non-type-dependent type aliases.
(I copy-pasted wrong code which is used for debugging. Thanks to Richard
for spotting that)
Commit: ba34cbad4132148447d5593127bbafec7b6f13b1
https://github.com/llvm/llvm-project/commit/ba34cbad4132148447d5593127bbafec7b6f13b1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-24 (Tue, 24 Feb 2026)
Changed paths:
M lldb/bindings/CMakeLists.txt
M lldb/bindings/lua/CMakeLists.txt
M lldb/bindings/python/CMakeLists.txt
M lldb/source/API/CMakeLists.txt
Log Message:
-----------
[lldb] Extract CMake logic to add SWIG wrapper into helper function (#183203)
Extract the CMake logic to add SWIG wrapper into helper function defined
in the bindings directly. This avoid code duplication between Python and
Lua.
The function is parameterized in its target, making it possible to add
the wrapper to a different target, for example the respective script
interpreter plugin when building dynamic plugins.
Commit: dc0a06d6f6ffe413b5b822a9906093acfdeba1f6
https://github.com/llvm/llvm-project/commit/dc0a06d6f6ffe413b5b822a9906093acfdeba1f6
Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/SandboxIR/Region.cpp
M llvm/unittests/SandboxIR/RegionTest.cpp
Log Message:
-----------
Reapply "[SandboxIR][Region] Replace exit() with reportFatalUsageError() (#182134)"
This reverts commit 4ffa61978b3d72b868e995bf89d4f864f5e8ab6d.
Commit: 43dfde4a07b37e8a8b470f38ef881052cac9336d
https://github.com/llvm/llvm-project/commit/43dfde4a07b37e8a8b470f38ef881052cac9336d
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/python/dialects/nvvm.py
Log Message:
-----------
[MLIR][NVVM] Enable result type inference (#181781)
Includes `InferOpTypeInterface.td` in `NVVMOps.td` enabling result type
inference for NVVM operations.
Fixes a test for `nvvm.redux.sync` in `nvvm.py` due to a resulting
change in the python binding for the operation.
Commit: 138805ed8434ed372bccd2436f25f771f7518eaa
https://github.com/llvm/llvm-project/commit/138805ed8434ed372bccd2436f25f771f7518eaa
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
Log Message:
-----------
[lldb] Limit Python include dir to ScriptInterpreterPython (NFC) (#183236)
Limit Python include dir to ScriptInterpreterPython and any library that
depends on it (i.e. liblldb), making it consistent with what we do for
Lua.
Commit: be7aa6a2b7a487a4c9d6942abe3c78735025fac1
https://github.com/llvm/llvm-project/commit/be7aa6a2b7a487a4c9d6942abe3c78735025fac1
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
M clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.h
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
Log Message:
-----------
[clang][ssaf] Add checks for missing and mismatched `EntitySummary` data and improve code coverage
This PR adds new checks and tests for null `EntitySummary`, and
`SummaryName` match against `EntitySummary::getSummaryName()`. It also
adds tests for `SummaryName` with no registered `FormatInfo`.
As part of this change, the `JSONFormatTest` fixture has been made to
inherit from `ssaf::TestFixture` to provide its subclasses direct access
to the private-field accessors that TestFixture exposes.
This brings JSONFormat.cpp to almost 100% coverage. The remaining
uncovered lines are either in untestable paths or coverage
instrumentation artifacts.
Commit: bc9d5b01d3cdaaa69ad489085a5446579d4c1f43
https://github.com/llvm/llvm-project/commit/bc9d5b01d3cdaaa69ad489085a5446579d4c1f43
Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
A clang/test/DebugInfo/CXX/callsite-base.cpp
A clang/test/DebugInfo/CXX/callsite-derived.cpp
A clang/test/DebugInfo/CXX/callsite-edges.cpp
A cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/callsite-crash.cpp
A cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/callsite-dwarf.cpp
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/FixedMetadataKinds.def
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/test/CodeGen/MIR/X86/callsite-emit-calleetypeid.ll
Log Message:
-----------
[clang][DebugInfo] Add virtuality call-site target information in DWARF. (#182510)
Given the test case:
struct CBase {
virtual void foo();
};
void bar(CBase *Base) {
Base->foo();
}
and using '-emit-call-site-info' with llc, the following DWARF
is produced for the indirect call 'Base->foo()':
1$: DW_TAG_structure_type "CBase"
...
2$: DW_TAG_subprogram "foo"
...
3$: DW_TAG_subprogram "bar"
...
4$: DW_TAG_call_site
...
We add DW_AT_LLVM_virtual_call_origin to existing call-site
information, linking indirect calls to the function-declaration
they correspond to.
4$: DW_TAG_call_site
...
DW_AT_LLVM_virtual_call_origin (2$ "_ZN5CBase3fooEv")
The new attribute DW_AT_LLVM_virtual_call_origin helps to
address the ambiguity to any consumer due to the usage of
DW_AT_call_origin.
The functionality is available to all supported debuggers and
it is generated only for DWARF version 5 or greater.
Commit: 0fa0bb10673cc8e55ff5d639cb741eded78aa255
https://github.com/llvm/llvm-project/commit/0fa0bb10673cc8e55ff5d639cb741eded78aa255
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang-tools-extra/clangd/Selection.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
Log Message:
-----------
[clangd] Handle MemberPointerTypeLoc in SelectionTree (#183242)
This is another type loc that overlaps the name of the declaration whose
type it is, and so needs special handling to allow the declaration
itself to be targeted.
Fixes https://github.com/clangd/clangd/issues/2608
Commit: fc1cba892ffa22e27b1d49204781e84354d0e8bf
https://github.com/llvm/llvm-project/commit/fc1cba892ffa22e27b1d49204781e84354d0e8bf
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
Log Message:
-----------
[clang][bytecode] Copy EvalID into InterpState (#182913)
So the EvalID there is independent of changes to the one in the Context.
This is currently an NFC change but will make future commits easier.
Commit: 29f32e674a18978755c9eeb9624c5d0edcf254ea
https://github.com/llvm/llvm-project/commit/29f32e674a18978755c9eeb9624c5d0edcf254ea
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/test/CIR/CodeGenCUDA/kernel-call.cu
Log Message:
-----------
[CIR][CUDA][HIP] Emit host-side kernel calls (#179809)
Related: https://github.com/llvm/llvm-project/issues/179278,
https://github.com/llvm/llvm-project/issues/175871
Commit: 550c65b3dd0413ab6b50dc4e2fdb45dffc947da7
https://github.com/llvm/llvm-project/commit/550c65b3dd0413ab6b50dc4e2fdb45dffc947da7
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
A llvm/test/CodeGen/SystemZ/foldmemop-global.mir
Log Message:
-----------
[SystemZ] Allow folding from another MBB in foldMemoryOperandImpl(). (#182921)
After 7c1d517 "[SystemZ] Enable rematerialization for scalar loads
(#179838)", an assertion in foldMemoryOperandImpl() that checked
that the original load and the subsuming instruction are in the same
MBB started to fail.
There is no fundamental reason to not allow this, so this assertion has
been removed and this case is now handled as well by the search that
checks for CC liveness.
Commit: 9d5574dda60151dcd1eb6f315c20e4d9120596f9
https://github.com/llvm/llvm-project/commit/9d5574dda60151dcd1eb6f315c20e4d9120596f9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
R llvm/docs/Bugpoint.rst
R llvm/docs/CommandGuide/bugpoint.rst
M llvm/docs/CommandGuide/index.rst
M llvm/docs/CommandGuide/llvm-extract.rst
M llvm/docs/Passes.rst
M llvm/docs/Reference.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Support/Unix/Process.inc
M llvm/lib/Support/Windows/Process.inc
M llvm/lib/Transforms/Utils/MetaRenamer.cpp
R llvm/test/BugPoint/attr-crash.ll
R llvm/test/BugPoint/compile-custom.ll
R llvm/test/BugPoint/compile-custom.ll.py
R llvm/test/BugPoint/crash-narrowfunctiontest.ll
R llvm/test/BugPoint/func-attrs-keyval.ll
R llvm/test/BugPoint/func-attrs.ll
R llvm/test/BugPoint/invalid-debuginfo.ll
R llvm/test/BugPoint/metadata.ll
R llvm/test/BugPoint/named-md.ll
R llvm/test/BugPoint/remove_arguments_test.ll
R llvm/test/BugPoint/replace-funcs-with-null.ll
R llvm/test/BugPoint/retain-crashing-metadata.ll
R llvm/test/BugPoint/unsymbolized.ll
M llvm/test/CMakeLists.txt
M llvm/test/lit.cfg.py
R llvm/tools/bugpoint-passes/CMakeLists.txt
R llvm/tools/bugpoint-passes/TestPasses.cpp
R llvm/tools/bugpoint-passes/bugpoint.exports
R llvm/tools/bugpoint/BugDriver.cpp
R llvm/tools/bugpoint/BugDriver.h
R llvm/tools/bugpoint/CMakeLists.txt
R llvm/tools/bugpoint/CrashDebugger.cpp
R llvm/tools/bugpoint/ExecutionDriver.cpp
R llvm/tools/bugpoint/ExtractFunction.cpp
R llvm/tools/bugpoint/FindBugs.cpp
R llvm/tools/bugpoint/ListReducer.h
R llvm/tools/bugpoint/Miscompilation.cpp
R llvm/tools/bugpoint/OptimizerDriver.cpp
R llvm/tools/bugpoint/ToolRunner.cpp
R llvm/tools/bugpoint/ToolRunner.h
R llvm/tools/bugpoint/bugpoint.cpp
M llvm/tools/opt/optdriver.cpp
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
R llvm/utils/gn/secondary/llvm/tools/bugpoint-passes/BUILD.gn
Log Message:
-----------
llvm: Delete bugpoint (#182320)
For crash reduction, I don't think it does anything that llvm-reduce
can't. Pass pipeline reduction also has a separate reduction script.
The main thing there isn't a replacement tool is the miscompilation
reducer, but I'm not sure that's actually functioned for years.
There are still some references to bugpoint in various comments
and pieces of documentation that don't all necessarily make sense
to replace or remove. In particular there are a few passes documented
as "only for bugpoint", but I've left those alone in case they are
useful for manual reductions.
Commit: db5a570f0ed2c9270c35404c802e34b9917205a7
https://github.com/llvm/llvm-project/commit/db5a570f0ed2c9270c35404c802e34b9917205a7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctls-rv64.mir
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/rv32p-valid.s
Log Message:
-----------
[RISCV] Make P imply Zba, Zbb, Zmmul, and Zicsr. (#183247)
Relevant spec PRs https://github.com/riscv/riscv-p-spec/pull/163 and
https://github.com/riscv/riscv-p-spec/pull/164
Commit: 55ce4b7cc601b586dd365843a2021d662baea78d
https://github.com/llvm/llvm-project/commit/55ce4b7cc601b586dd365843a2021d662baea78d
Author: Lang Hames <lhames at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
Log Message:
-----------
Reapply "[ORC] Simplify WaitingOnGraph::Coalescer::remove." (#183231)
This reapplies 85354c6d8bc, which was reverted in d7347c0b81a due to bot
failures.
In this commit further changes are made to address the bot failure, and
general readability.
WaitingOnGraph::Coalescer::remove is renamed WaitingOnGraph::Coalescer::erase,
since its behavior is now similar to common container erase operations.
WaitingOnGraph::Coalescer::clear is provided to enable a fast reset of
Coalescer state.
SuperNodeBuilder::takeSuperNodes is updated to clear the Coalescer state before
returning the SuperNodes, ensuring that future calls to SuperNodeBuilder::add
do not trip the assert that caused the builder failures.
Commit: 3bd7dc3d65d3a690721d9ec11d2af02f87323840
https://github.com/llvm/llvm-project/commit/3bd7dc3d65d3a690721d9ec11d2af02f87323840
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.cpp
M lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
M lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
M lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/unittests/Language/CPlusPlus/LibStdcppTupleTest.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/TestingSupport/Symbol/ClangTestUtils.h
Log Message:
-----------
[lldb][TypeSystem][NFC] Remove unused AccessType parameters to TypeSystemClang APIs (#183023)
In https://github.com/llvm/llvm-project/pull/182956 we stopped using the
access specifiers and unconditionally set all access to `AS_public`.
This patch is a follow-up cleanup to remove all the `AccessType`
parameters of the `TypeSystemClang` APIs (which since
https://github.com/llvm/llvm-project/pull/182956 are never used)
Commit: 8a64dccbac96eb4d48c8fd7f145151e3786d61c2
https://github.com/llvm/llvm-project/commit/8a64dccbac96eb4d48c8fd7f145151e3786d61c2
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
Log Message:
-----------
[CIR][AArch64] Add lowering + tests for predicated SVE svdup_x builtins (#182542)
This PR adds CIR lowering + tests for the predicated SVE `svdup` builtins
on AArch64. The corresponding ACLE intrinsics are documented at:
https://developer.arm.com/architectures/instruction-sets/intrinsics
This PR covers the merging-predicated variants with suffix `_x`, e.g.
`svdup_n_f32_x`. The corresponding LLVM intrinsics take an undef which
are merged into the result for lanes where the predicate is false.
Commit: 0691eeebd1dbbad71f6fed793edd85267455d3e6
https://github.com/llvm/llvm-project/commit/0691eeebd1dbbad71f6fed793edd85267455d3e6
Author: ziereis <44057120+ziereis at users.noreply.github.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
Log Message:
-----------
[mlir][linalg] fix specialization of transposed matmul variants (#181387)
Currently all generics that represent `linalg.matmul_transpose_a/b`
variants will get specialized to a regular `linalg.matmul` without any
special indexing maps. This patch fixes this behavior to correctly emit
`linalg.matmul` with the correct indexing maps for the transposed
variants.
Commit: 1eeb71214cc5fe81dd2f42dc93a1c18970ac6763
https://github.com/llvm/llvm-project/commit/1eeb71214cc5fe81dd2f42dc93a1c18970ac6763
Author: Rafał Rudnicki <rafal.rudnicki at intel.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen] fix unreachable code warning in *GenSubtargetInfo.inc files (#182477)
fix unreachable code warning in *GenSubtargetInfo.inc files
Commit: 19e9bcba0bab9efe6f6d75ff5bce880b4c644783
https://github.com/llvm/llvm-project/commit/19e9bcba0bab9efe6f6d75ff5bce880b4c644783
Author: Mike Hommey <mh at glandium.org>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/utils/extract_symbols.py
Log Message:
-----------
[Windows] Don't hide Type::getAs symbols (#182966)
Cc: @michalpaszkowski, @john-brawn-arm
Commit: f2a10ab74ff7ab06b77977be450bec7120ee69b6
https://github.com/llvm/llvm-project/commit/f2a10ab74ff7ab06b77977be450bec7120ee69b6
Author: Mike Hommey <mh at glandium.org>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/utils/extract_symbols.py
Log Message:
-----------
[Windows] Adjust exported symbols to filter out dumpColor and printPretty (#182964)
Like the dump symbols, these symbols are meant for debugging. This is
enough to get from slightly above 65536 exported symbols to slightly
under 65536 exported symbols.
Cc: @michalpaszkowski, @john-brawn-arm
Commit: 4f4087edb1823d943ae9b5e4128e2a4e6ef983dd
https://github.com/llvm/llvm-project/commit/4f4087edb1823d943ae9b5e4128e2a4e6ef983dd
Author: Mike Hommey <mh at glandium.org>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/utils/extract_symbols.py
Log Message:
-----------
[Windows] Adjust exported symbols to filter out profile symbols (#167985)
When building Clang for Windows with clang-cl with -fprofile-generate
and LLVM_EXPORT_SYMBOLS_FOR_PLUGINS, the build fails with
lld-link: error: too many exported symbols (got 76137, max 65535)
Removing the symbols generated from the use of that flag removes about
13K symbols.
Commit: 20859e26305158e76cde5fe48707ce3755378dfd
https://github.com/llvm/llvm-project/commit/20859e26305158e76cde5fe48707ce3755378dfd
Author: Anton Sidorenko <anton.sidorenko at mail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/test/Driver/baremetal.cpp
Log Message:
-----------
[Clang][Driver] Move -T option after -L in BareMetal driver (#183055)
`-L` option affects linker script search paths when `-T` is specified. For lld
the order of `-L` and `-T` flags does not matter and paths provided with the
`-L` option will be used. E.g. for the command `ld.lld -T script -L dir`,
`ld.lld` uses `dir` to find `script`. However, for GNU ld the order matters
and only the paths provided before the `-T` option will be used.
This change reorders the flags in BareMetal driver to ensure compatibility with
both GNU ld and lld. It restores the behavior clang-20 and earlier drivers have
for RISC-V. (before merging RISCVToolchain.cpp to Baremetal.cpp). GCC (both
Linux and baremetal) and Clang Linux drivers do the same reordering.
Commit: 2fc45baa425d22ab3f62d7143bbc0faf9149339e
https://github.com/llvm/llvm-project/commit/2fc45baa425d22ab3f62d7143bbc0faf9149339e
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
Log Message:
-----------
[MC] Set UseAtForSpecifier in initializeAtSpecifiers and default to false (#183253)
Set UseAtForSpecifier = true inside initializeAtSpecifiers() so that
all targets calling it automatically get the correct setting. Change
the default to false so targets that don't use @ for relocation
specifiers (RISC-V, Sparc, Mips, LoongArch, etc.) don't need to
explicitly opt out. In addition, discourage future targets from using
this @ , which has parsing ambiguity issues.
For ARM and AArch64, move UseAtForSpecifier = false to after the
initializeAtSpecifiers() call.
Commit: bc76535cadfb3b767ab2dcbf14edd703466ec5a4
https://github.com/llvm/llvm-project/commit/bc76535cadfb3b767ab2dcbf14edd703466ec5a4
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
Log Message:
-----------
[LV][NFC] Regen CHECK lines in LoopVectorize/AArch64/veclib-intrinsic-calls.ll (#183098)
Commit: bded7e9e49e5cc4cbb73c54ac7b113a006f0534c
https://github.com/llvm/llvm-project/commit/bded7e9e49e5cc4cbb73c54ac7b113a006f0534c
Author: Shakil Ahmed <44522075+ahmedshakill at users.noreply.github.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/compute-known-bits-bitcast-assertion.ll
Log Message:
-----------
[AArch64][GISel] Fix computeKnownBits through a COPY with different fixed-width vector types (#179123)
Fix an assertion in known bits through a COPY by making computeKnownBits
length-aware for different fixed width vectors. If the lengths of the
vectors are different all lanes are demanded.
Fixes #178242
Commit: fb8c0e65bc14cae5fb90ce2225a1d20ab4dcbe0f
https://github.com/llvm/llvm-project/commit/fb8c0e65bc14cae5fb90ce2225a1d20ab4dcbe0f
Author: Amit Tiwari <amtiwari at amd.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
A clang/test/OpenMP/target_update_strided_ptr_variable_count_and_stride_messages.c
A clang/test/OpenMP/target_update_strided_ptr_variable_count_messages.c
A clang/test/OpenMP/target_update_strided_ptr_variable_stride_messages.c
A clang/test/OpenMP/target_update_strided_struct_ptr_messages_from.c
A clang/test/OpenMP/target_update_strided_struct_ptr_messages_to.c
A clang/test/OpenMP/target_update_strided_struct_ptr_multiple_messages_from.c
A clang/test/OpenMP/target_update_strided_struct_ptr_multiple_messages_to.c
A clang/test/OpenMP/target_update_strided_struct_ptr_partial_messages_from.c
A clang/test/OpenMP/target_update_strided_struct_ptr_partial_messages_to.c
A clang/test/OpenMP/target_update_strided_struct_variable_count_and_stride_messages.c
A clang/test/OpenMP/target_update_variable_count_and_stride_messages.c
Log Message:
-----------
[Clang][OpenMP][NFC] Diagnostics/parsing tests for non-contiguous updates. (#181780)
NFC PR for validating parsing checks for variable count/stride,
pointer-based array sections, struct member array sections,
multiple/partial array updates -- for non-contiguous updates
Commit: a7cfc675ac7444bb557ef48fc1bcc788d42d1ac9
https://github.com/llvm/llvm-project/commit/a7cfc675ac7444bb557ef48fc1bcc788d42d1ac9
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/include/clang/Basic/OpenCLExtensions.def
M clang/test/SemaOpenCL/extension-version.cl
Log Message:
-----------
[OpenCL] Set intel extensions minimum version to OpenCL 1.0 (#176854)
Motivation is similar to b12e070b9238. Following intel extensions are
changed:
cl_intel_required_subgroup_size
cl_intel_subgroups
cl_intel_subgroups_char
cl_intel_subgroups_long
cl_intel_subgroups_short
cl_intel_subgroup_buffer_prefetch
cl_intel_subgroup_local_block_io
cl_intel_device_side_avc_motion_estimation
Relates to https://github.com/KhronosGroup/OpenCL-CTS/pull/2376.
Commit: 90edb2017545eacef21f4bd34c27a2233adf814d
https://github.com/llvm/llvm-project/commit/90edb2017545eacef21f4bd34c27a2233adf814d
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Compile with -fdenormal-fp-math=dynamic (#183262)
This PR is extracted from #157633.
`-fdenormal-fp-math=dynamic` is required to defer denormal handling and
should be used for libclc library compilation.
Additionally, if the default ieee value is incompatible with the user
code's denormal-fp-math setting, this mismatch prevents libclc functions
from being inlined.
Commit: 9088f38021d6f7f4c6852e63ea6988b87be81cc8
https://github.com/llvm/llvm-project/commit/9088f38021d6f7f4c6852e63ea6988b87be81cc8
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M libc/startup/linux/riscv/irelative.cpp
Log Message:
-----------
[libc] Fix LIBC_INLINE build error in riscv/irelative.cpp (#183249)
LIBC_INLINE is defined in attributes.h, which was not included. Since
constexpr already implies inline, simply remove the LIBC_INLINE
qualifier from the static helper, matching the x86_64 and aarch64
irelative implementations.
Commit: cec03ae147c691fb3a48a043053f0def9f4a5a9a
https://github.com/llvm/llvm-project/commit/cec03ae147c691fb3a48a043053f0def9f4a5a9a
Author: David Spickett <david.spickett at arm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/utils/release/github-upload-release.py
Log Message:
-----------
[llvm][release] Link to .jsonl signatures for Windows x86_64 and ARM64 (#183053)
Previously we linked to .sig files, which were created by the person who
built the release.
Now these are built in GitHub so they have .jsonl signature files
instead.
Commit: b9cc1d7b8093fff0e8b6d077cb8a38241b1fa0d5
https://github.com/llvm/llvm-project/commit/b9cc1d7b8093fff0e8b6d077cb8a38241b1fa0d5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
Log Message:
-----------
GlobalISel: Make CombinerInfo const (#183263)
Commit: b830bcfde3bafb0db4e733a5f3f7913e2fcf6b22
https://github.com/llvm/llvm-project/commit/b830bcfde3bafb0db4e733a5f3f7913e2fcf6b22
Author: addmisol <218448340+addmisol at users.noreply.github.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sbfe.ll
Log Message:
-----------
[AMDGPU]Fix compute num sign bits unsigned underflow (#182723)
Fixes #182677
The `BFE_I32` case in `ComputeNumSignBitsForTargetNode` was not masking
the width operand with `& 0x1f`, unlike other BFE operations in the same
file. Since the hardware instruction only uses the low 5 bits of the
width field, values >= 32 passed via `@llvm.amdgcn.sbfe.i32` caused
unsigned integer underflow in the calculation:
unsigned SignBits = 32 - Width->getZExtValue() + 1;
When width > 33, this underflows, producing incorrect SignBits values.
When width == 33, SignBits becomes 0, violating the expected return
range of [1, BitWidth]. This led to assertion failures and
miscompilation where subsequent BFE narrowing operations were
incorrectly eliminated.
This patch:
- Masks the width value with `& 0x1f` to match hardware behavior
- Handles width == 0 (after masking) by returning 32 sign bits
- Adds regression tests for width values >= 32
Commit: 5e30c4a5152dc20ebda38306c0dcf9bc52cb7528
https://github.com/llvm/llvm-project/commit/5e30c4a5152dc20ebda38306c0dcf9bc52cb7528
Author: Mike Hommey <mh at glandium.org>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/test/Preprocessor/arm64e.c
Log Message:
-----------
[clang] Define __PTRAUTH_INTRINSICS__ for arm64e-apple-* targets (#172944)
The macro is set by Xcode clang for the arm64e-apple-* targets, and
ifdefed in the macOS and iPhoneOS SDKs.
Commit: efcf64e8986f0b5129bc48c175aeab0c89b41342
https://github.com/llvm/llvm-project/commit/efcf64e8986f0b5129bc48c175aeab0c89b41342
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/LoongArch/lasx/vxi1-masks.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/PowerPC/pr25080.ll
M llvm/test/CodeGen/X86/combine-or.ll
M llvm/test/CodeGen/X86/vselect.ll
Log Message:
-----------
[DAG] visitOR - attempt to fold (or buildvector(), buildvector()) -> buildvector() (#183032)
See if we can fold all elements of an OR of buildvectors: OR(-1,X) ->
-1, OR(0,X) -> X, etc.
Commit: 22f9940d709247b2ea2e4d788974d5bd43c3dfba
https://github.com/llvm/llvm-project/commit/22f9940d709247b2ea2e4d788974d5bd43c3dfba
Author: Simone Pellegrini <simone.pellegrini at arm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Conversion/GPUToSPIRV/WmmaOpsToSPIRV.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/test/Conversion/GPUToSPIRV/wmma-ops-to-spirv-khr-coop-matrix.mlir
M mlir/test/Conversion/VectorToGPU/vector-to-mma-ops.mlir
Log Message:
-----------
[mlir][gpu] Support arith.truncf in subgroup MMA elementwise ops (#182499)
This commit adds support for arith.truncf in the supported list of
elementwise ops for subgroup MMA ops, and enables lowering to SPIR-V.
Commit: ce952a224cbb51e7b081958e57899101324e4212
https://github.com/llvm/llvm-project/commit/ce952a224cbb51e7b081958e57899101324e4212
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/builtins-reduction-math.c
M clang/test/Sema/builtins-reduction-math.c
Log Message:
-----------
[Clang] Add `__builtin_reduce_[in_order|assoc]_fadd` for floating-point reductions (#176160)
This adds `__builtin_reduce_[in_order|assoc]_fadd` to expose the
`llvm.vector.reduce.fadd.*` intrinsic directly in Clang, for the full
range of supported FP types.
Given a floating-point vector `vec` and a scalar floating-point value
`acc`:
- `__builtin_reduce_assoc_fadd(vec)` corresponds to an fast/associative
reduction
* i.e, the fadds can occur in any order
- `__builtin_reduce_in_order_fadd(vec, acc)` corresponds to an ordered
redunction
* i.e, the result is as-if an accumulator was initialized with `acc`
and each lane was added to it in-order, starting from lane 0
Commit: bc91641a97b89ad3b1e246224e7dc88c9baf17f1
https://github.com/llvm/llvm-project/commit/bc91641a97b89ad3b1e246224e7dc88c9baf17f1
Author: Matt <MattPD at users.noreply.github.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/declare-reduction-intrinsic-op.f90
Log Message:
-----------
[flang][OpenMP] Fix crash in declare reduction with intrinsic operators (#182978)
genOMP for OpenMPDeclareReductionConstruct unconditionally extracts
ProcedureDesignator from OmpReductionIdentifier, but when the reduction
identifier is an intrinsic operator like `+`, the parser produces a
DefinedOperator instead. This causes a std::get crash.
Visit both variants of OmpReductionIdentifier to extract the reduction
name string, handling DefinedOperator (with IntrinsicOperator and
DefinedOpName sub-variants) alongside the existing ProcedureDesignator
path.
This fixes the ICE; the underlying lack of derived-type reduction
support (TODO in ReductionProcessor::getReductionInitValue) remains
a separate issue.
Co-authored-by: Matt P. Dziubinski <matt-p.dziubinski at hpe.com>
Commit: 58f4da463e5b3cd3531cace17cc3f2d8d860964e
https://github.com/llvm/llvm-project/commit/58f4da463e5b3cd3531cace17cc3f2d8d860964e
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/pow-1.ll
Log Message:
-----------
[SimplifyLibCalls] Avoid simplifying pow(x, 2.0) -> x * x with math-errno. (#183099)
It came up in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123826 that
GCC was simplifying pow(x, 2.0) -> x * x, even when doing so caused
-fmath-errno to be ignored. This patch fixes a similar bug in LLVM.
For ConstantFolding folding powf expressions that may raise exceptions,
see #183102.
Commit: 641c32e053f6d2ff127b7ad77cdab16c605fd808
https://github.com/llvm/llvm-project/commit/641c32e053f6d2ff127b7ad77cdab16c605fd808
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopInterchange/phi-ordering.ll
Log Message:
-----------
[LoopInterchange] Fix test phi-ordering.ll (NFC) (#181989)
I found that the test phi-ordering.ll is a bit fragile and can fail with
any irrelevant changes. Also this test is not consistent with the
following comment, which is at the top of the file:
```
;; Checks the order of the inner phi nodes does not cause havoc.
;; The inner loop has a reduction into c. The IV is not the first phi.
```
After examining the change history, I found that the original intent of
this test was effectively lost in
https://github.com/llvm/llvm-project/commit/c8bd6ea35e459169cbd401372e81168ed8482536.
A workaround was introduced later in
https://github.com/llvm/llvm-project/commit/eac34875109898ac01985f4afa937eec30c1c387
to preserve the test output, but this seems to have made the test more
complicated.
This patch updates the test so that its original intent is restored. The
change is close to a partial revert of
https://github.com/llvm/llvm-project/commit/c8bd6ea35e459169cbd401372e81168ed8482536.
Even though the feature for inner-only reductions has been removed, I
believe it is still better to keep the test as it is, otherwise the test
would be meaningless.
Commit: d25b7f7bc301a91f2d936e555814d21155fe5416
https://github.com/llvm/llvm-project/commit/d25b7f7bc301a91f2d936e555814d21155fe5416
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMFastISel.cpp
Log Message:
-----------
[NFC][CodeGen] Add Register guard to ARMMaterializeFP. (#182559)
This does not directly fix any issue because the implementation
indirectly ensures the correct behaviour. However, all the other
"<Tgt>Materialize" functions (Int and FP across all targets, including
ARMMaterializeInt) have explicit Register guards so for peace of mind I
figured it's worth added them.
Commit: db5ffb04ab0b5c4e193d2c31e635e69f42deaaaf
https://github.com/llvm/llvm-project/commit/db5ffb04ab0b5c4e193d2c31e635e69f42deaaaf
Author: Lang Hames <lhames at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
Log Message:
-----------
[ORC] WaitingOnGraph perf: faster dependence propagation. (#183272)
This commit replaces the core dependence propagation algorithm in
WaitingOnGraph to avoid worst-case behavior in the common case where
dependence graphs are sparse. This algorithm showed up as the underlying
cause of the bug in https://github.com/llvm/llvm-project/issues/179611.
For each call to MaterializationResponsibility::notifyEmitted,
WaitingOnGraph would build the transitive closure of all SuperNodes
whose "waiting on" relationships were affected by the newly emitted
symbols, then propagate any remaining unemitted dependencies through
this transitive closure graph. This approach is simple, but pushes the
algorithm towards n^2 complexity even for sparse dependence graphs.
The new propagation algorithm:
1. Inverts the edge direction in the SymbolDependenceMap data structure:
SymbolDepMap[SN] now contains the set of SuperNodes that depend on SN,
rather than the set that SN depends upon.
2. Pushes dependencies through the SymbolDepMap iteratively until it
reaches a fixed point.
This updated algorithm converges much more quickly than the original for
the testcase reported in the issue, and for other cases tested so far.
No testcase yet, as this only affects performance. I've filed a
follow-up issue, https://github.com/llvm/llvm-project/issues/183251, to
track construction of performance testing infrastructure for
WaitingOnGraph.
Should fix https://github.com/llvm/llvm-project/issues/179611
Commit: 678aaa75c7fac4bbda9e5d70f629e698657f5e3a
https://github.com/llvm/llvm-project/commit/678aaa75c7fac4bbda9e5d70f629e698657f5e3a
Author: David Spickett <david.spickett at arm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/utils/release/github-upload-release.py
Log Message:
-----------
[llvm][release] Note that some packages have 2 signature files (#183266)
For example in the latest release, there is:
LLVM-22.1.0-Linux-ARM64.tar.xz
Which has 2 signature files:
LLVM-22.1.0-Linux-ARM64.tar.xz.jsonl
LLVM-22.1.0-Linux-ARM64.tar.xz.sig
jsonl comes from the GitHub build and the sig is uploaded by the release
manager.
Commit: 91d5e9ebed3c3db255fec84140fd9cc163aac1fb
https://github.com/llvm/llvm-project/commit/91d5e9ebed3c3db255fec84140fd9cc163aac1fb
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGOpenCLRuntime.cpp
M clang/lib/CodeGen/CGOpenCLRuntime.h
Log Message:
-----------
[CGOpenCLRuntime] Remove dead code (#183093)
This drops one getPointerType() overload which accepted a name, which is
no longer used since the opaque pointers migration. The fallback code
path always returns a plain pointer now.
Also drop all the virtual qualifiers. Nothing inherits from this class.
Any customization is implemented via TargetCodeGenInfo hooks in the
implementation.
Commit: f55a5cf014d283d88b0caccb9f74260bdf3cd7d1
https://github.com/llvm/llvm-project/commit/f55a5cf014d283d88b0caccb9f74260bdf3cd7d1
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/test/CIR/CodeGenOpenMP/omp-llvmir.c
M clang/test/OpenMP/cancel_codegen.cpp
M clang/test/OpenMP/irbuilder_nested_openmp_parallel_empty.c
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/nested_loop_codegen.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M clang/test/OpenMP/taskgroup_codegen.cpp
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/test/Transforms/OpenMP/parallel_region_merging.ll
M mlir/test/Target/LLVMIR/openmp-dist_schedule_with_wsloop.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-outline-infinite-loop.mlir
M mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
M mlir/test/Target/LLVMIR/openmp-parallel-reduction-multiblock.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
Log Message:
-----------
[OpenMP] Only generate call to __kmpc_global_thread_num when needed (#182669)
This patch is a small optimization to only generate a call to
__kmpc_global_thread_num if the result is actually used.
Commit: d82d261a9ac687bf3a5bbdbd50e27d52143cb410
https://github.com/llvm/llvm-project/commit/d82d261a9ac687bf3a5bbdbd50e27d52143cb410
Author: Lang Hames <lhames at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M orc-rt/include/orc-rt/ResourceManager.h
M orc-rt/include/orc-rt/SimpleNativeMemoryMap.h
M orc-rt/lib/executor/Session.cpp
M orc-rt/lib/executor/SimpleNativeMemoryMap.cpp
M orc-rt/unittests/SessionTest.cpp
M orc-rt/unittests/SimpleNativeMemoryMapTest.cpp
Log Message:
-----------
[orc-rt] Rename ResourceManager detach/shutdown. NFCI. (#183285)
These methods are called by the session in the event of a detach or
shutdown. The new names reflect their roles as event handlers.
Commit: cfca635efc11e4de10d560810fd4837510953c05
https://github.com/llvm/llvm-project/commit/cfca635efc11e4de10d560810fd4837510953c05
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fptosi-sat.ll
M llvm/test/CodeGen/AArch64/sve-fptoui-sat.ll
M llvm/test/CodeGen/ARM/fptosi-sat-scalar.ll
M llvm/test/CodeGen/ARM/fptoui-sat-scalar.ll
A llvm/test/CodeGen/Hexagon/fptoi.sat.ll
M llvm/test/CodeGen/Thumb2/mve-fptoui-sat-vector.ll
M llvm/test/CodeGen/X86/fpclamptosat.ll
M llvm/test/CodeGen/X86/fptosi-sat-scalar.ll
M llvm/test/CodeGen/X86/fptosi-sat-vector-128.ll
M llvm/test/CodeGen/X86/fptoui-sat-scalar.ll
M llvm/test/CodeGen/X86/fptoui-sat-vector-128.ll
Log Message:
-----------
[SelectionDAG] Fix fptoui.sat expansion using minnum/maxnum (#180178)
fptoui.sat can currently use a minnum/maxnum based expansion, which
relies on NaNs not being propagated. Specifically, it relies on
minnum(maxnum(NaN, 0), MAX) to return 0. However, if the input is sNaN,
then maxnum(sNaN, 0) is allowed to return qNaN, in which case the final
result will be MAX rather than 0.
This PR does the following changes:
* Support the fold for minimumnum/maximumnum, which guarantees that NaN
is not propagated even for sNaN, so it can use the old lowering. Test
this using Hexagon which has legal minimumnum but illegal minnum.
* For the minnum/maxnum case, remove the special unsigned case and
instead always insert the explicit NaN check. In that case the NaN
propagation semantics don't matter.
* This also means that we can support this expansion for
minimum/maximum.
Commit: b91e8324da8dce7f681394eac560a6f0e2cf5fc5
https://github.com/llvm/llvm-project/commit/b91e8324da8dce7f681394eac560a6f0e2cf5fc5
Author: Ella Ma <alansnape3058 at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/test/Analysis/z3-unarysymexpr.c
Log Message:
-----------
[analyzer][tests][z3] Fixing the test case bug for testing converting boolean expression to integer (#183034)
* Fixing incorrect "REQUIRES" condition for Z3 introduced by #108900
* Fixing the test failure introduced by #168034
* Adding more comments about the fixes in #168034 for the tests
introduced in #158276
Commit: 4cf1a616016f284655dc5d13d870c5047bf5f4f1
https://github.com/llvm/llvm-project/commit/4cf1a616016f284655dc5d13d870c5047bf5f4f1
Author: Xing Xue <xingxue at outlook.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/tools/driver/driver.cpp
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[NFC] Add comments for PR “[LLVM][CLANG] Update signal‑handling behavior to comply with POSIX” (#183206)
This PR adds comments to address post‑commit review feedback on commit
15488a7f78ce7b9ae3c06b031134e5cb339b335c.
Commit: 668870c721fb498b7011e52c241c6416b6afc70d
https://github.com/llvm/llvm-project/commit/668870c721fb498b7011e52c241c6416b6afc70d
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/source/Host/windows/PseudoConsole.cpp
Log Message:
-----------
[lldb][windows] add a 50ms sleep when closing the ConPTY (#183280)
Since https://github.com/llvm/llvm-project/pull/182302 was merged,
`x86-64-gp-write.test` is flaky.
This patch reintroduces the 50ms sleep that was removed in
https://github.com/llvm/llvm-project/pull/182302 to fix the flakyness
while we investigate it.
Commit: 9d55f140989be5f214c8d70ae22283174ac1854a
https://github.com/llvm/llvm-project/commit/9d55f140989be5f214c8d70ae22283174ac1854a
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
R llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_float_controls2/disabled-on-amd.ll
Log Message:
-----------
[SPIRV][AMD] Reenable `SPV_KHR_float_control2` for AMD flavored SPIRV (#182873)
`SPV_KHR_float_controls2` is enabled in the translator after
https://github.com/khronosgroup/spirv-llvm-translator/pull/3475.
This extension was disabled since we were not able to translate it back.
This patch reverts #169659.
Commit: 90144c2df0d9863e395acab041f6301327944eb2
https://github.com/llvm/llvm-project/commit/90144c2df0d9863e395acab041f6301327944eb2
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/simd-extadd.ll
Log Message:
-----------
[WebAssembly] optimize ext + shuffle + add into addext (#182849)
cc https://github.com/llvm/llvm-project/issues/179143
This adds a second pattern: we already recognize "shuffle + extend +
add" as `addext`, this adds another pattern for "extend + shuffle +
add", which can come up when programs are optimized.
Commit: 717a9ab442a44a595d7bb422e78721e8f65ae8a9
https://github.com/llvm/llvm-project/commit/717a9ab442a44a595d7bb422e78721e8f65ae8a9
Author: Nathan Gauër <brioche at google.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
A llvm/test/Transforms/InstSimplify/structured-gep.ll
Log Message:
-----------
[InstSimplify] Add support for llvm.structured.gep (#182874)
Similar to GEP, the SGEP instruction with no indices can be simplified
by directly using the base pointer.
Commit: ee34eb6edccdebc2a752ffecdde5faae6b0d5593
https://github.com/llvm/llvm-project/commit/ee34eb6edccdebc2a752ffecdde5faae6b0d5593
Author: Kirill Vedernikov <kvedernikov at nvidia.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Dialect/LLVMIR/nvvm-mma-sp-kind.mlir
M mlir/test/Dialect/LLVMIR/nvvm-mma-sp-ordered.mlir
M mlir/test/Dialect/LLVMIR/nvvm-mma-sp.mlir
A mlir/test/Target/LLVMIR/nvvm/mma-blockscale.mlir
A mlir/test/Target/LLVMIR/nvvm/mma-sp-kind.mlir
A mlir/test/Target/LLVMIR/nvvm/mma-sp-ordered.mlir
A mlir/test/Target/LLVMIR/nvvm/mma-sp.mlir
A mlir/test/Target/LLVMIR/nvvm/mma-sparse-blockscale.mlir
Log Message:
-----------
[MLIR][NVVM] Fix kFactor for fp8/fp6/fp4 types in MmaSpOp verifier. Improve mma tests. (#183133)
Fix an incorrect kFactor value for e4m3/e5m2, e3m2/e2m3, e2m1 types in
MmaSpOp::verify(). The kFactor for these types was set to 32 but should
be 16.
kFactor is used to compute the expected number of operand A/B register
fragments. With kFactor=32 (wrong) and the only allowed shape m16n8k64,
the fragment count was incorrect. With kFactor=16 (correct), it matches
the PTX ISA definition for mma.sp with fp8/fp6/fp4 A/B operands.
PTX ISA reference:
[https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#warp-level-matrix-instructions-sparse-mma](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#warp-level-matrix-instructions-sparse-mma)
Also improve existing MLIR dialect tests for nvvm.mma.sp.sync and add
new mlir-translate tests covering mma, mma.sp, and blockscale variants.
Commit: 87d9dad579b9d947f6181d1736fb11e8f683e246
https://github.com/llvm/llvm-project/commit/87d9dad579b9d947f6181d1736fb11e8f683e246
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-vcvt.ll
Log Message:
-----------
[NFC] Address unresolved comments on #172837 (#183284)
Commit: c1b2477a556b96bca5cf504f39f3cc39af32ebd7
https://github.com/llvm/llvm-project/commit/c1b2477a556b96bca5cf504f39f3cc39af32ebd7
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] NFC: Rename mulSCEVOverflow to mulSCEVNoOverflow (#183096)
The function returns nullptr when the multiplication WOULD overflow,
matching the semantics of its sibling addSCEVNoOverflow. The old name
reads as if the function multiplies with overflow, which is the opposite
of what it does.
Commit: 3e1545b741023f3213554a68b24d53166505ea94
https://github.com/llvm/llvm-project/commit/3e1545b741023f3213554a68b24d53166505ea94
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/Support/ModRef.h
M llvm/lib/Analysis/AliasAnalysis.cpp
A llvm/test/Transforms/EarlyCSE/target-memory.ll
Log Message:
-----------
[LLVM] Refine MemoryEffect handling for target-specific intrinsics (#155590)
This patch improves memory alias analysis between calls if they change
inaccessible or target memory locations. The results is
computed by comparing each location ModRefInfo between the calls.
Commit: 3f6648422c65da120ebd12474cfc2cf7d3f6b655
https://github.com/llvm/llvm-project/commit/3f6648422c65da120ebd12474cfc2cf7d3f6b655
Author: Twice <twice at apache.org>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M mlir/include/mlir-c/ExtensibleDialect.h
M mlir/include/mlir/Bindings/Python/IRAttributes.h
M mlir/include/mlir/Bindings/Python/IRTypes.h
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/CAPI/IR/ExtensibleDialect.cpp
M mlir/python/mlir/dialects/ext.py
M mlir/test/python/dialects/ext.py
M mlir/test/python/dialects/irdl.py
Log Message:
-----------
[MLIR][Python] Fix typeid support for DynamicType and DynamicAttr (#183076)
Previously, we were using the static `typeid` of `DynamicType` for
checks, which is incorrect. We should instead check against the `typeid`
of `DynamicTypeDefinition` (which is a subclass of `SelfOwningTypeID`),
and register it via `register_type_caster` so that Python-defined types
can use `maybe_downcast`. (The attribute part is same.)
Commit: 6a28a663fb3a473ed256ff119dad9d76ff5dad47
https://github.com/llvm/llvm-project/commit/6a28a663fb3a473ed256ff119dad9d76ff5dad47
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/test/CIR/CodeGen/atomic.c
Log Message:
-----------
[CIR] Implement compare exchange with dynamic failure ordering (#183110)
In #156253, we implemented the rest of this feature, with compile time
constant failure ordering. This patch follows the incubators direction
(with a little cleanup based on other cleanup that we do) to replace
this situation with a 'switch'.
Commit: 4c8ad96a4ad34a6c5b025c83793d6e18971dff77
https://github.com/llvm/llvm-project/commit/4c8ad96a4ad34a6c5b025c83793d6e18971dff77
Author: Steven Perron <stevenperron at google.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
A llvm/test/CodeGen/SPIRV/hlsl-resources/Gather-errors-1.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/Gather-errors-2.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/Gather.ll
Log Message:
-----------
[SPIRV] Implement Gather and GatherCmp intrinsics (#182578)
This commit implements the intrinsics needed to represent the texture
Gather* instructions in HLSL.
Assisted-by: Gemini
Commit: b7c056a31cf84022c3d9cd34d66fed5db1ae22bc
https://github.com/llvm/llvm-project/commit/b7c056a31cf84022c3d9cd34d66fed5db1ae22bc
Author: Jakob Widauer <jakob.widauer at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-delete.cpp
Log Message:
-----------
[clang-tidy] Fix erroneous warning to make deleted function public (#182577)
This PR fixes #54276 and fixes #135249 by only matching private deleted
functions with a public overload or special member functions.
Commit: ab360b1e7ef2bcc1c98443427da3c13e98e1331b
https://github.com/llvm/llvm-project/commit/ab360b1e7ef2bcc1c98443427da3c13e98e1331b
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
R llvm/test/Transforms/LoopVectorize/scalable-predication.ll
Log Message:
-----------
[LLVM][TTI] Remove the isVScaleKnownToBeAPowerOfTwo hook. (#183292)
After https://github.com/llvm/llvm-project/pull/183080 this is no longer
a configurable property.
NOTE: No test changes expected beyond
llvm/test/Transforms/LoopVectorize/scalable-predication.ll which has
been removed because it only existed to verfiy the now unsupported
functionality.
Commit: bf4705c05b6ad632c8ab7dac58440a8f5021cfb8
https://github.com/llvm/llvm-project/commit/bf4705c05b6ad632c8ab7dac58440a8f5021cfb8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
M llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
M llvm/test/Transforms/LoopVectorize/predicated-single-exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
Log Message:
-----------
[VPlan] Supported conditionally executed single early exits. (#182395)
Add support for a single early exit that is executed conditionally. To
make sure the mask from any non-exiting control flow is combined with
the early exit condition.
To do so, introduce a MaskedCond VPInstruction, which is inserted as
user of the early-exit condition, at the point of the early-exit branch.
The VPInstruction will get masked automatically if needed by the
predicator, ensuring that we properly account for it when checking
whether the early exit has been taken.
Note that this does not allow for instructions that require predication
after the early exit. This requires additional work in progress:
https://github.com/llvm/llvm-project/pull/172454
As an alternative to MaskedCond, we could also predicate before handling
early exiting blocks: https://github.com/llvm/llvm-project/pull/181830
PR: https://github.com/llvm/llvm-project/pull/182395
Commit: 5aa1c38becb816970f5c868730d56f17c70e7428
https://github.com/llvm/llvm-project/commit/5aa1c38becb816970f5c868730d56f17c70e7428
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[NFCI] Make all SI_KILL* convergent (#183100)
Add convergent property to SI_KILL*TERMINATOR. Now all SI_KILL* are
convergent. SI_KILL*TERMINATOR were already terminators so they could
not be sunk by machine-sink. Thus, this is probably a NFC.
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 351ae0ca550c791b0c504dfb7dcb4fd08480d98b
https://github.com/llvm/llvm-project/commit/351ae0ca550c791b0c504dfb7dcb4fd08480d98b
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M mlir/cmake/modules/AddMLIR.cmake
M mlir/lib/ExecutionEngine/CMakeLists.txt
M mlir/lib/ExecutionEngine/SparseTensor/CMakeLists.txt
Log Message:
-----------
[MLIR][CMake] Fix runtime libraries with PCH (#182850)
Some MLIR libraries are intended to be dlopen-ed, but currently all MLIR
libraries link against LLVMSupport. After the recent PCH introduction,
this causes these libraries to implicitly use the LLVMSupport PCH, which
results in the definition of llvm::*ABIBreakingChecks, which results in
a ODR violation when loaded with dlopen.
Conceptually, libraries that are designed to be dlopen-ed should not
simply link against LLVM libraries in non-dylib builds for this reason.
(This apparently was a problem before with mlir_apfloat_wrappers.)
To fix builds, remove LLVMSupport from runtime libraries that don't need
it and, as a workaround, disable PCH for libraries that are in a weird
state (use LLVMSupport but happen to not export symbols currently).
Commit: 368b884869651b69b14b836b25206aa62b501496
https://github.com/llvm/llvm-project/commit/368b884869651b69b14b836b25206aa62b501496
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M openmp/runtime/test/parallel/bug63197.c
Log Message:
-----------
[openmp] Fix bug63197.c test with 3 cores (#183269)
This test assumes that the number of available threads is not 3,
otherwise `#pragma omp parallel` and `#pragma omp parallel
num_thread(3)` are naturally going to do the same thing.
Instead use `omp_get_max_threads() - 1` as the number of threads in the
initial `omp parallel num_thread(N)` and then check that the number of
threads does not match the value in the later `omp parallel`.
Commit: 92ac9aec7ea864b31a9669053b80b13139abc3e5
https://github.com/llvm/llvm-project/commit/92ac9aec7ea864b31a9669053b80b13139abc3e5
Author: Emilio Cota <ecg at google.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Fix Bazel build for 9d5574d (#183312)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: cb9f3eeab67be92a132e7af3218a00a7f1424d90
https://github.com/llvm/llvm-project/commit/cb9f3eeab67be92a132e7af3218a00a7f1424d90
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_relaxed_printf_string_address_space/non-constant-printf.ll
Log Message:
-----------
[SPIRV] Enable SPV_EXT_relaxed_printf_string_address_space by default for Intel (#183103)
It's easy to hit the address space limitation when using printf locally,
so just enable the extension by default for Intel.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: e77f11c27083113265d8cf7f7db08030e93dd7be
https://github.com/llvm/llvm-project/commit/e77f11c27083113265d8cf7f7db08030e93dd7be
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/test/TableGen/RegisterInfoEmitter-regcost-list.td
M llvm/test/TableGen/RegisterInfoEmitter-regcost-tuple.td
M llvm/test/TableGen/RegisterInfoEmitter-regcost.td
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[NFC][RegisterInfoEmitter] Add target name prefix for a few variables (#183074)
Add target name prefix for a few static global variables in the
generated code. Also rework the TargetRegisterInfo constructor a bit to
use a ArrayRef for array of register classes and rename a few
constructor arguments to match the member names they initialize.
Commit: 3d251288df0642762d1bd86efa05e190005c2539
https://github.com/llvm/llvm-project/commit/3d251288df0642762d1bd86efa05e190005c2539
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/docs/index.rst
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.h
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ThreadFreeBSDKernelCore.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][Process/FreeBSDKernel] Add arm support (#180674)
This is LLDB version of
https://cgit.freebsd.org/ports/tree/devel/gdb/files/kgdb/arm-fbsd-kern.c.
This enables selecting arm and reading registers from PCB structure on
core dump and live kernel debugging while trapframe unwinding support
will be implemented in future. Test files using core dump from arm will
be implemented once other kernel debugging improvements are done.
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: 787ba2426148ff0fa0c0253f6e4cc11e5cfe8361
https://github.com/llvm/llvm-project/commit/787ba2426148ff0fa0c0253f6e4cc11e5cfe8361
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
Log Message:
-----------
[clang] create local instantiation scope for matching template template parameters (#183219)
This fixes a bug where a partial substitution from the enclosing scope
is used to prepopulate an unrelated template argument deduction.
Fixes #181166
Commit: 5eb307e299c76e2520174acf45ea3a3d320a9509
https://github.com/llvm/llvm-project/commit/5eb307e299c76e2520174acf45ea3a3d320a9509
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/lib/AST/Decl.cpp
Log Message:
-----------
[clang][TypePrinter][NFC] Extract logic that handles AnonymousTagNameStyle::SourceLocation into helper function (#183304)
In https://github.com/llvm/llvm-project/pull/168533 we're adding a new
`AnonymousTagMode` and will be handled in `printAnonymousTagDecl`.
This patch extracts the logic that handles
`AnonymousTagNameStyle::SourceLocation` into a helper function to make
`printAnonymousTagDecl` easier to follow.
Drive-by changes:
* While copying the code into the helper I changed it to use
early-return style.
Commit: 19128bf890da71b9654b8e68cd36fe7283061d86
https://github.com/llvm/llvm-project/commit/19128bf890da71b9654b8e68cd36fe7283061d86
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
[bazel][libc] Add some deps for layering_check (#183235)
This adds a whole bunch of deps to get things _mostly_ building w/
`layering_check` enabled. It does not yet enable `layering_check`.
I used some tools to add deps to all these targets that break when
enabling the layering check feature, and a few things were added in
between when I ran the script and where trunk is at now. Since this is a
large change, I plan to do a second (and possibly third) pass later to
catch those new changes, at which point it would be safer to actually
enable `layering_check` for this package.
Commit: 8d2d8be58b8d599e3a2164041639ede33acab327
https://github.com/llvm/llvm-project/commit/8d2d8be58b8d599e3a2164041639ede33acab327
Author: Jin Huang <jinhuang1102 at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/MDBuilder.h
M llvm/lib/IR/MDBuilder.cpp
Log Message:
-----------
[profcheck] Expose likely/unlikely weights as constants in MDBuilder (#183252)
Define `kLikelyBranchWeight` and `kUnlikelyBranchWeight` as static
constexpr members in MDBuilder.h and use them in
createLikelyBranchWeights and createUnlikelyBranchWeights. This makes
the weights used for likely/unlikely branches more discoverable and
reusable.
Co-authored-by: Jin Huang <jingold at google.com>
Commit: 7d492dbfdc68d7768ac7adba5228cabbc374b0c0
https://github.com/llvm/llvm-project/commit/7d492dbfdc68d7768ac7adba5228cabbc374b0c0
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fix build format (#183322)
Commit: e199191708d9ca7eb291d998e1569b3e077c863d
https://github.com/llvm/llvm-project/commit/e199191708d9ca7eb291d998e1569b3e077c863d
Author: Arjun Bhamra <33864884+abhamra at users.noreply.github.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/lib/Dialect/Tosa/TestAvailability.cpp
Log Message:
-----------
[mlir][tosa] Converted TosaAvailability pass to ModuleOp from FuncOp, fixes crash in threaded pass manager (#183063)
The `TosaAvailability` pass originally worked on a per function basis
and was automatically threaded, however it used llvm::outs() which
involves the thread-unsafe `raw_ostream`.
To fix this, we convert the pass into a pass over `ModuleOp` instead of
`FuncOp`s, and iterate sequentially over all functions instead. This
removes all threading and we no longer require `-mlir-disable-threading`
which is mentioned in TosaAvailability's `availability.mlir` test.
Closes #182255.
Commit: e044af858d810120dfb6ab92ea7afd05fd0db11c
https://github.com/llvm/llvm-project/commit/e044af858d810120dfb6ab92ea7afd05fd0db11c
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
A llvm/include/llvm/IR/pch.h
M llvm/lib/IR/CMakeLists.txt
Log Message:
-----------
[CMake][IR] Add PCH (#183303)
Add PCH with most-used and expensive headers from llvm/IR.
Commit: 219b5a0de468c16e2ee5bf035a2c4ce73161b858
https://github.com/llvm/llvm-project/commit/219b5a0de468c16e2ee5bf035a2c4ce73161b858
Author: Saleem Abdulrasool <compnerd at compnerd.org>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
build: alter condition for adding `_DEBUG` CPP macro (#183120)
Unlike many other platforms, Microsoft does not maintain ABI across
debug and release binaries. When building LLVM in release+asserts, the
injection of `_DEBUG` which controls the behaviour of `assert` as per
the C specification, also alters the behaviour of the C/C++ runtime's
internal assertions and relies on debug only symbols. As such, the
`_DEBUG` macro handling is not _MSVC_ specific but rather MS STL and
UCRT specific. Adjust the build condition from `MSVC` to `WIN32` to
indicate that this is a Windows-ism. Note that `MINGW` is the proper way
to check for MinGW, so that should not be impacted by this change.
Making this more precise permits the use of `clang` and `clang++` to
build LLVM for Windows.
Commit: 333ef64e384f4883cbaa9a74fefef2424c3034ae
https://github.com/llvm/llvm-project/commit/333ef64e384f4883cbaa9a74fefef2424c3034ae
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-cmp.ll
Log Message:
-----------
[RISCV] Remove unnecessary And before seteq/ne in some cases. (#183221)
Fold (and X, Mask) ==/!= C -> X ==/!= sext(C, countr_one(Mask))if the
Mask is only clearing redundant sign bits.
The AND may have come from type legalization of a narrower setcc.
Type legalization will check computeNumSignBits before inserting
the AND, but sometimes the sign bits don't appear until after
op legalization. In the motivating examples, the inputs isn't known
to be sign extended until EXTRACT_VECTOR_ELT is converted to vmv.x.s.
Spotted in the before code from #182684.
Commit: 118f64ad20d998ee1b1ea76dcf38c71553a3aaa7
https://github.com/llvm/llvm-project/commit/118f64ad20d998ee1b1ea76dcf38c71553a3aaa7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/CodeGen/RISCV/calling-conv-p-ext-vector.ll
M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
M llvm/test/CodeGen/RISCV/rvp-unaligned-load-store.ll
Log Message:
-----------
[RISCV] Remove -riscv-enable-p-ext-simd-codegen (#183156)
All known crashes have been fixed.
We do still need to work out how fixed length vectors are handled when V
and P are both enabled, but I don't think this option is the solution
for that.
Commit: 305a8fd091047d97fe5855403fc30102f4ae8567
https://github.com/llvm/llvm-project/commit/305a8fd091047d97fe5855403fc30102f4ae8567
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTContext.cpp
A clang/test/SemaTemplate/GH183075.cpp
Log Message:
-----------
[clang] allow canonicalizing assumed template names (#183222)
Assumed template names are part of error recovery and encode just a
declaration name, making them always canonical. This patch allows them
to be canonicalized, which is trivial.
Fixes #183075
Commit: dc977924608276e4360b943a65c465b5afdacade
https://github.com/llvm/llvm-project/commit/dc977924608276e4360b943a65c465b5afdacade
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M libcxx/utils/ci/lnt/run-benchmarks
Log Message:
-----------
[libc++] Use verbose output when a LNT benchmark fails
Commit: f5f07a81798061eb7b2bca4ec40bd2098edaf515
https://github.com/llvm/llvm-project/commit/f5f07a81798061eb7b2bca4ec40bd2098edaf515
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M mlir/test/Analysis/DataFlow/test-liveness-analysis.mlir
M mlir/test/lib/Analysis/DataFlow/TestLivenessAnalysis.cpp
Log Message:
-----------
[mlir][Analysis] Print all blocks in `-test-liveness-analysis` (#183308)
Improve the output of the test pass: print liveness for block arguments
from all blocks.
Commit: 1e676e7edb7a8eeea1960ac526b3789b46ded3bc
https://github.com/llvm/llvm-project/commit/1e676e7edb7a8eeea1960ac526b3789b46ded3bc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/unittests/CodeGen/SelectionDAGNodeConstructionTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/Target/AArch64/AArch64SelectionDAGTest.cpp
M llvm/unittests/Target/X86/X86SelectionDAGTest.cpp
Log Message:
-----------
[SelectionDAG] Use virtual registers instead of arbitrary physical registers in unit tests. NFC (#183205)
These tests use constants in the physical register space. These will
correspond to different registers on different targets and aren't
stable.
Using virtual registers makes more sense here. This will print in a
coherent way if you anyone were to dump the DAG created by these tests.
Commit: 9d7c786f330dda13716eb2a8ae041afcce66036c
https://github.com/llvm/llvm-project/commit/9d7c786f330dda13716eb2a8ae041afcce66036c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[X86] Add vector demanded elts pow2 test for #183270 (#183327)
Commit: 6d2a2e62b4cfad01ae7e246361162f0d25e414a8
https://github.com/llvm/llvm-project/commit/6d2a2e62b4cfad01ae7e246361162f0d25e414a8
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSpacemiT.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvabd.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Make ElementsDependOn opt-in instead of opt-out. NFCI (#181601)
RISCVVectorPeephole and RISCVVLOptimizer use the ElementsDependOn field
to know if it's safe to change the VL of a vector instruction.
By default instructions are EltDepsNone, i.e.
RISCVVectorPeephole::tryReduceVL will reduce its VL by default, but we
might forget to mark unsafe instructions in newer extensions. This patch
changes the default to EltDepsVLMask and instead explicitly marks any
instructions which want to have their VL reduced.
There is an assert in RISCVVLOptimizer::isCandidate that ensures that
all previously isSupported instructions are still marked correctly.
Commit: c221e2a4e75721c101512f824d327faf500a3b1c
https://github.com/llvm/llvm-project/commit/c221e2a4e75721c101512f824d327faf500a3b1c
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
A llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-trunc.ll
Log Message:
-----------
[Hexagon] Handle trunc to i1 in matchRightShift (#174737)
Fix of test regression seen when working on
https://github.com/llvm/llvm-project/issues/172888
this will handle "trunc(x) to i1" as "icmp_ne(and(x,1),0)"
updates matchRightShift to match this pattern and promoteTo to map the
trunc to "icmp_ne(and(x,1),0)"
Commit: 5e5c4acd4e2b039a352ba0ddd34e1da0c8bf6876
https://github.com/llvm/llvm-project/commit/5e5c4acd4e2b039a352ba0ddd34e1da0c8bf6876
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[mlir][OpenMP] Introduce 'omp.iterators' for OpenMP iterator modifiers (#182218)
`omp.iterator` provides information of induction variables and iterator
range in OpenMP iterator modifier.
Example:
```
%it = omp.iterator(%i0: index, %i1: index) =
(%lb0 to %ub0 step %st0,
%lb1 to %ub1 step %st1) {
omp.yield(%i0, %i1 : index, index)
} -> !omp.iterated<!llvm.struct<(!llvm.ptr, i64)>>
```
Here's how we can use the omp.iterater to generate multi-dimensional
loop in llvm ir:
```
// Induction variables can be translated from the block arguments
// in omp.iterator.
// lbs, ubs, and steps is encoded in omp.iterator
for (int i0 = lbs[0]; i0 < ubs[0]; i0 += steps[0]) {
for (int i0 = lbs[1]; i1 < ubs[1]; i1 += steps[1]) {
// the result of iterated is <ptr, i64> from the example
iterated = omp.iterators(i, j);
}
}
```
1/3 in stack for implementing affinity clause with iterator modifier
1/3 #182218
2/3 #182222
3/3 #182223
Commit: 4fec4df12a579600e5cc756d3ef200b94351b26b
https://github.com/llvm/llvm-project/commit/4fec4df12a579600e5cc756d3ef200b94351b26b
Author: Nathiyaa Sengodan <133644025+Nathiyaa-Sengodan at users.noreply.github.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/intrinsic-distributive.ll
Log Message:
-----------
[InstCombine] Fold min/max of two subtracts with common RHS (#183240)
Fold: minmax(sub X, Z , sub Y, Z) -> sub minmax(X, Y), Z
When both sub instructions have no-wrap flags and share the same RHS
operand, we can fold:
smin (sub nsw X, Z), (sub nsw Y, Z) -> sub nsw (smin X, Y), Z
smax (sub nsw X, Z), (sub nsw Y, Z) -> sub nsw (smax X, Y), Z
umin (sub nuw X, Z), (sub nuw Y, Z) -> sub nuw (umin X, Y), Z
umax (sub nuw X, Z), (sub nuw Y, Z) -> sub nuw (umax X, Y), Z
This is valid because subtraction by a common value preserves relative
ordering when no signed/unsigned overflow occurs.
Proof: https://alive2.llvm.org/ce/z/n9gwj2
Closes https://github.com/llvm/llvm-project/issues/167059
Commit: 4d70d8787f98c99894c4abc5434bdd694447d83d
https://github.com/llvm/llvm-project/commit/4d70d8787f98c99894c4abc5434bdd694447d83d
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atan2l.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/atan2l_test.cpp
Log Message:
-----------
[libc] Add atan2l implementation fallback to atan2f128. (#182587)
Add implementation for `atan2l` that falls back to `atan2f128` if
float128 support is available.
We do this for now in lieu of 80-bit-specific implementation. Going
forward, we should be choosing 64-bit, 80-bit, or 128-bit specific
implementation based on the specific "long double"
implementation. Also, once llvm-libc will have its own software
implementation of float128, depending on host type presence
would not be needed.
`atan2l` is one of the remaining dependencies needed for building libc++
against llvm-libc (it's used in `<complex>` header).
Commit: 1b1840dd13cd89f9816e264e9ae0379d32e15078
https://github.com/llvm/llvm-project/commit/1b1840dd13cd89f9816e264e9ae0379d32e15078
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/include/clang/AST/NestedNameSpecifierBase.h
M clang/lib/AST/NestedNameSpecifier.cpp
Log Message:
-----------
[clang] [NFC] Improve move-assign and move-constructor for NestedNameSpecifierLocBuilder (#180484)
This avoids a deep copy of the manually managed underlying Buffer.
This is a follow-up to #180482.
Commit: ce18f76dc1c0b3c70e5a0d264c9dbce77b5d9210
https://github.com/llvm/llvm-project/commit/ce18f76dc1c0b3c70e5a0d264c9dbce77b5d9210
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
Log Message:
-----------
[clang][ssaf] Fix normalization of TUSummary JSON representation and strengthen round-trip tests (#183241)
Commit: 0ac8e41ee1985ac7c5a369b8baa7edb15877c004
https://github.com/llvm/llvm-project/commit/0ac8e41ee1985ac7c5a369b8baa7edb15877c004
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M flang/test/Lower/host-associated-globals.f90
M flang/test/Lower/identical-block-merge-disable.f90
M flang/test/Lower/implicit-call-mismatch.f90
M flang/test/Lower/implicit-interface.f90
M flang/test/Lower/integer-operations.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 21) (#183224)
Tests converted from test/Lower: host-associated-globals.f90,
identical-block-merge-disable.f90, implicit-call-mismatch.f90,
implicit-interface.f90, integer-operations.f90
Commit: 6874e945fe9d57d49c9c0902ffeeb8ffe03033a3
https://github.com/llvm/llvm-project/commit/6874e945fe9d57d49c9c0902ffeeb8ffe03033a3
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
A mlir/test/Dialect/Tosa/tosa-infer-shapes-fold-shape-expressions.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Enhance TosaInferShapes pass for simple shape inference (#178418)
This commit enhances the TosaInferShapes pass with two new options:
- fold-shape-expressions
- convert-function-boundaries
The "fold-shape-expressions" option enables greedily folding the newly
added TOSA shape operations when possible. Folding these operations
directly within TosaInferShapes is useful since it allows shapes of
later operations to be inferred in a single pass.
The "convert-function-boundaries" updates the return types of a function
to the newly inferred output shapes. This avoids the need for additional
tensor.cast operations at function boundaries. This option is
particularly useful when wanting to resolve a dynamic function to fully
static.
When both of these options are used in conjunction with the
"tosa-input-shapes" pass option, it's possible to resolve a dynamic
function to static in a single pass.
Note: This PR is split into two commits.
[68888db](https://github.com/llvm/llvm-project/commit/68888dbb1e70cc3f4383ccc2bab88f5325c347d6)
is a simple refactor and consists of no logic changes.
[db9a6a3](https://github.com/llvm/llvm-project/commit/db9a6a323afbd8cfb3b7f90b2cb172b68f8bcfdf)
includes the changes for shape inference.
Commit: 1053047a4be7d1fece3adaf5e7597f838058c947
https://github.com/llvm/llvm-project/commit/1053047a4be7d1fece3adaf5e7597f838058c947
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
M llvm/test/Transforms/SandboxVectorizer/cross_bbs.ll
M llvm/test/Transforms/SandboxVectorizer/pack.ll
M llvm/test/Transforms/SandboxVectorizer/regions-from-metadata.ll
M llvm/test/Transforms/SandboxVectorizer/repeated_instrs.ll
M llvm/test/Transforms/SandboxVectorizer/scheduler.ll
M llvm/test/Transforms/SandboxVectorizer/special_opcodes.ll
M llvm/test/Transforms/SandboxVectorizer/stop_at.ll
M llvm/test/Transforms/SandboxVectorizer/stop_bndl.ll
M llvm/test/Transforms/SandboxVectorizer/user_pass_pipeline.ll
Log Message:
-----------
[SandboxVec][NFC] Update test checks (#183216)
Many of the tests were written before we had region metadata, so they
are missing the metadata checks. This patch fixes it. I just reran
update_test_checks.
Commit: a59b4fca866a4a913d11a45358e096cc40d7d016
https://github.com/llvm/llvm-project/commit/a59b4fca866a4a913d11a45358e096cc40d7d016
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV] Replace whitelist with elementsDependOnVL in RISCVVLOptimizer. NFC (#181619)
Currently we have a whitelist of pseudos which can have their VL reduced
safely.
We want to eventually replace RISCVVectorPeephole::tryToReduceVL with
RISCVVLOptimizer, but the former doesn't use a whitelist and instead
checks for the elementsDependOn TSFlag.
This moves RISCVVLOptimizer to use the same TSFlag instead of using a
whitelist since it handles more pseudos, e.g. Zvabd.
However on its own this patch is NFC since we still need to handle the
operand info. A test for vabs.v was added to show how it still doesn't
get reduced.
vmv.s.x/vfmv.s.x and stores have been excluded to match the previous
behaviour of isSupportedInstr.
Stacked on #181601, but not included in this PR.
Commit: 31dacdc1f5d486da6ef6d8b2f7e3b6126d92c9ff
https://github.com/llvm/llvm-project/commit/31dacdc1f5d486da6ef6d8b2f7e3b6126d92c9ff
Author: Sunil Shrestha <sunil.shrestha at hpe.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/ordered-simd.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-simd-ordered.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
A mlir/test/Target/LLVMIR/openmp-wsloop-simd-ordered.mlir
Log Message:
-----------
[flang][openmp] Add support for ordered regions in SIMD directives (#181012)
Add support for ordered regions within SIMD directives (!$omp simd
ordered and !$omp do simd ordered). This initial implementation matches
Clang's behavior.
In SIMD directives, loop induction variables have an implicit linear
clause with deferred store semantics (storing to .linear_result). To
properly support ordered regions, the LinearClauseProcessor rewrites
variable references to use .linear_result in:
- omp.ordered.region: Code inside ordered blocks
- omp_region.finalize: Code after ordered blocks
Note: The vectorizer cannot currently vectorize loops with ordered
regions. Future enhancement would require generating lane loops or
unrolling ordered regions across SIMD lanes while maintaining ordering
semantics.
Commit: a8f5f4a9fc3eef5ef9882e3fda619b165bbe8aba
https://github.com/llvm/llvm-project/commit/a8f5f4a9fc3eef5ef9882e3fda619b165bbe8aba
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Assert vplan-verify-each result and fix LastActiveLane verification (#182254)
Currently if -vplan-verify-each is enabled and a pass fails the
verifier, it will output the failure to stderr but will still finish
with a zero exit code.
This adds an assert that the verification fails so that e.g. lit will
pick up verifier failures in the in-tree tests with an EXPENSIVE_CHECKS
build.
Currently the LastActiveLane verification fails in several tests, so
this also includes a fix to handle more prefix masks. All of the prefix
masks that the verifier encounters are of the form `icmp ult/ule
monotonically-increasing-sequence, uniform`, which always generate a
prefix mask.
Tested that llvm-test-suite + SPEC CPU 2017 now pass with
-vplan-verify-each enabled for RISC-V.
Commit: 94d9f1b3cbb02700d9cd3339c1dbf44c0d13b550
https://github.com/llvm/llvm-project/commit/94d9f1b3cbb02700d9cd3339c1dbf44c0d13b550
Author: barsolo2000 <barsolo at meta.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/include/lldb/Target/ThreadList.h
M lldb/include/lldb/Target/ThreadPlanStepOverBreakpoint.h
M lldb/source/Target/ThreadList.cpp
M lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp
A lldb/test/API/functionalities/gdb_remote_client/TestBatchedBreakpointStepOver.py
A lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentBatchedBreakpointStepOver.py
Log Message:
-----------
[lldb] Batch breakpoint step-over for threads stopped at the same site (re-land) (#182944)
Re-land https://github.com/llvm/llvm-project/pull/180101 since it was
reverted here https://github.com/llvm/llvm-project/pull/182431 because
of a flaky test. This PR include the modified test that should pass from
https://github.com/llvm/llvm-project/pull/182415 :
When multiple threads are stopped at the same breakpoint, LLDB currently
steps each thread over the breakpoint one at a time. Each step requires
disabling the breakpoint, single-stepping one thread, and re-enabling
it, resulting in N disable/enable cycles and N individual vCont packets
for N threads. This is a common scenario for hot breakpoints in
multithreaded programs and scales poorly.
This patch batches the step-over so that all threads at the same
breakpoint site are stepped together in a single vCont packet, with the
breakpoint disabled once at the start and re-enabled once after the last
thread finishes.
At the top of WillResume, any leftover StepOverBreakpoint plans from a
previous cycle are popped with their re-enable side effect suppressed
via SetReenabledBreakpointSite, giving a clean slate.
SetupToStepOverBreakpointIfNeeded then creates fresh plans for all
threads that still need to step over a breakpoint, and these are grouped
by breakpoint address.
For groups with multiple threads, each plan is set to defer its
re-enable through SetDeferReenableBreakpointSite. Instead of re-enabling
the breakpoint directly when a plan completes, it calls
ThreadFinishedSteppingOverBreakpoint, which decrements a per-address
tracking count. The breakpoint is only re-enabled when the count reaches
zero.
All threads in the largest group are resumed together in a single
batched vCont packet. If some threads don't complete their step in one
cycle, the pop-and-recreate logic naturally re-batches the remaining
threads on the next WillResume call.
For 10 threads at the same breakpoint, this reduces the operation from
10 z0/Z0 pairs and 10 vCont packets to 1 z0 + 1 Z0 and a few
progressively smaller batched vCont packets.
Co-authored-by: Bar Soloveychik <barsolo at fb.com>
Commit: af1bdad42ceb25ce4ad4eb0fdb2b39cbbe8f4207
https://github.com/llvm/llvm-project/commit/af1bdad42ceb25ce4ad4eb0fdb2b39cbbe8f4207
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/nextup.h
A libc/shared/math/nextupbf16.h
A libc/shared/math/nextupf.h
A libc/shared/math/nextupf128.h
A libc/shared/math/nextupf16.h
A libc/shared/math/nextupl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/nextup.h
A libc/src/__support/math/nextupbf16.h
A libc/src/__support/math/nextupf.h
A libc/src/__support/math/nextupf128.h
A libc/src/__support/math/nextupf16.h
A libc/src/__support/math/nextupl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/nextup.cpp
M libc/src/math/generic/nextupbf16.cpp
M libc/src/math/generic/nextupf.cpp
M libc/src/math/generic/nextupf128.cpp
M libc/src/math/generic/nextupf16.cpp
M libc/src/math/generic/nextupl.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 nextup family to header-only (#181688)
Closes https://github.com/llvm/llvm-project/issues/181687
Commit: f6135213d78c053df933008264f385a15dad034d
https://github.com/llvm/llvm-project/commit/f6135213d78c053df933008264f385a15dad034d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Support/KnownFPClass.cpp
Log Message:
-----------
ValueTracking: Move fmul constant special case to KnownFPClass (#183157)
Commit: 752b9803d51adef77c8e61e0a0b03cefa1badc69
https://github.com/llvm/llvm-project/commit/752b9803d51adef77c8e61e0a0b03cefa1badc69
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
A llvm/test/MC/ELF/reloc-section-sym.s
Log Message:
-----------
[MC] Add --reloc-section-sym option to control section symbol conversion (#182725)
When generating relocations for non-ifunc local symbols that satisfies
several conditions, the integrated assembler converts them to reference
the section symbol (STT_SECTION) instead, folding the original symbol's
offset into the addend. This allows the original local symbol to be
omitted from .symtab, but the STT_SECTION symbol itself must be present,
so the conversion saves .symtab entries only when a section has more
than one local symbol referenced by relocations.
As GAS will likely add --reloc-section-sym, add --reloc-section-sym to
control this
conversion:
- all (default): convert all eligible local symbols.
(Note: There are many ineligible conditions, see
ELFObjectWriter::useSectionSymbol)
- internal: only convert .L prefix local symbols (usually
compiler-generated)
- none: never convert; keep all symbols as-is in relocations
This is useful for debugging and for tools that benefit from preserved
symbol names.
Original feature request:
<https://discourse.llvm.org/t/mc-how-why-does-converting-relocation-against-symbol-to-relocation-against-section-work/88786/7>
Note: We have to use name check instead of `isTemporary()`, because
--save-temp-labels makes all symbols non-temporary.
Commit: 1e560c181abbeae11c08759dc452effe30929569
https://github.com/llvm/llvm-project/commit/1e560c181abbeae11c08759dc452effe30929569
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
Log Message:
-----------
[LV] Remove CheckNeededWithTailFolding from addMinimumIterationCheck. NFC (#183066)
The IV can no longer overflow with tail folding after #183080.
Commit: f1a9dee996afc6655357884eaab91756def78fa7
https://github.com/llvm/llvm-project/commit/f1a9dee996afc6655357884eaab91756def78fa7
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
Log Message:
-----------
[lldb][windows] refactor ConnectionGenericFile's Read and Write methods (#183332)
Commit: e07a5542c7bbd211ad54397b1e44ca6285579bce
https://github.com/llvm/llvm-project/commit/e07a5542c7bbd211ad54397b1e44ca6285579bce
Author: SiliconA-Z <gfunni234 at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
A llvm/test/CodeGen/AArch64/aarch64-condopt-unsigned.mir
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
Log Message:
-----------
[AArch64] Extend condition optimizer to support unsigned comparisons (#144380)
We have to be extra careful to not allow unsigned wraps, however. This
also required some adjusting of the logic in adjustCmp, as well as
compare the true imm value with add or sub taken into effect.
Because SIGNED_MIN and SIGNED_MAX cannot be an immediate, we do not need
to worry about those edge cases when dealing with unsigned comparisons.
Commit: d2d862a54457d5518d81acda4f56483b8c89ccc1
https://github.com/llvm/llvm-project/commit/d2d862a54457d5518d81acda4f56483b8c89ccc1
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/nexttoward.h
A libc/shared/math/nexttowardbf16.h
A libc/shared/math/nexttowardf.h
A libc/shared/math/nexttowardf16.h
A libc/shared/math/nexttowardl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/nexttoward.h
A libc/src/__support/math/nexttowardbf16.h
A libc/src/__support/math/nexttowardf.h
A libc/src/__support/math/nexttowardf16.h
A libc/src/__support/math/nexttowardl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/nexttoward.cpp
M libc/src/math/generic/nexttowardbf16.cpp
M libc/src/math/generic/nexttowardf.cpp
M libc/src/math/generic/nexttowardf16.cpp
M libc/src/math/generic/nexttowardl.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 nexttoward family to header-only (#181685)
Closes https://github.com/llvm/llvm-project/issues/181684
Commit: a52f6110ec8952bca4b7679d32cc2e5422bff1e0
https://github.com/llvm/llvm-project/commit/a52f6110ec8952bca4b7679d32cc2e5422bff1e0
Author: Fatih BAKIR <mfatihbakir at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
A lld/test/wasm/large-debug-section.test
A lld/test/wasm/large-section.test
A lld/test/wasm/section-too-large.test
M lld/wasm/InputChunks.h
M lld/wasm/OutputSections.cpp
Log Message:
-----------
[lld][Webassembly] Avoid a signed overflow on large sections (#183225)
wasm sections sizes are specified as u32s, and thus can be as large as
4GB. wasm-ld currently stores the offset into a section as an int32_t
which overflows on large sections and results in a crash. This change
makes it a int64_t to accommodate any valid wasm section and allow
catching even larger sections instead of wrapping around.
This PR fixes the issue by storing the offset as a int64_t, as well as
adding extra checks to handle un-encodeable sections to fail instead of
producing garbage wasm binaries, and also adds lit tests to make sure it
works. I confirmed the test fails on main but passes with this fix.
This is the same as https://github.com/llvm/llvm-project/pull/178287 but
deletes the temporary files the tests create and requires the tests run
on a 64-bit platform to avoid OOM issues due to the large binaries it
creates.
Commit: 545c2a7ce86165f151591b2f220047ddd40b537f
https://github.com/llvm/llvm-project/commit/545c2a7ce86165f151591b2f220047ddd40b537f
Author: PiJoules <leonardchan at google.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
A llvm/test/Instrumentation/AddressSanitizer/fuchsia.ll
Log Message:
-----------
[clang][ASan][Fuchsia] Have Fuchsia use a dynamic shadow start (#182917)
These are the compiler changes that depend on the runtime changes in
https://github.com/llvm/llvm-project/pull/183154. The runtime changes
need to have landed first. The dynamic shadow global is still set to
zero, but this will change in the future.
Commit: da10c25e42d21cb46e09614d655485b98c2773c2
https://github.com/llvm/llvm-project/commit/da10c25e42d21cb46e09614d655485b98c2773c2
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/include/clang/AST/ASTDumperUtils.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
Log Message:
-----------
[AST][NFC] Move AST dump colors into separate namespace (#183341)
Preparatory work for Clang AST PCH, which will include ASTDumperUtils.h.
Polluting the clang namespace with colors would lead to a collision with
clang/lib/Frontend/TextDiagnostic.cpp.
Commit: ae76def7695156cd8d5ee0a2325de943fe1a0612
https://github.com/llvm/llvm-project/commit/ae76def7695156cd8d5ee0a2325de943fe1a0612
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
Log Message:
-----------
[clang][ARM] Refactor argument handling in `EmitAArch64BuiltinExpr` (3/N) (NFC) (#183315)
Remove the outstanding calls to `EmitScalarExpr` in
`EmitAArch64BuiltinExpr` that are no longer required.
This is a follow-up for #181794 and #181974 - please refer to
those PRs for more context.
Commit: b8743de6c5431aaae73a0138e2a2b09795fc29e2
https://github.com/llvm/llvm-project/commit/b8743de6c5431aaae73a0138e2a2b09795fc29e2
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
[libc++] Add link to the running job from the benchmarking bot (#180217)
This allows following the progress of the benchmarking job and also
spotting when it fails.
Fixes #158296
Commit: 5524ce826d326f30ec6fc220b6e8cc839b910a17
https://github.com/llvm/llvm-project/commit/5524ce826d326f30ec6fc220b6e8cc839b910a17
Author: ykhatav <yashasvi.khatavkar at intel.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/num_teams_clause_ast.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_num_teams_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_num_teams_messages.cpp
M clang/test/OpenMP/teams_num_teams_messages.cpp
Log Message:
-----------
[OpenMP][Clang] Parsing support for num_teams lower bound (#180608)
According to OpenMP 5.2 the num_teams clause should support a
lower-bound as modifier for its argument. This PR adds Parsing support
for the lower bound in num_teams clause.
Commit: a224ba068997785daa237eaabb3d11867b898f3d
https://github.com/llvm/llvm-project/commit/a224ba068997785daa237eaabb3d11867b898f3d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M flang/include/flang/Lower/CUDA.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CUDA.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Support data transfer with parenthesis around rhs (#183201)
Commit: 09d7b890e035c8ace45642f27edc0ff5768311eb
https://github.com/llvm/llvm-project/commit/09d7b890e035c8ace45642f27edc0ff5768311eb
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M libcxx/include/__math/gamma.h
M libcxx/include/__random/binomial_distribution.h
Log Message:
-----------
[libc++] Add a thread-safe version of std::lgamma in the dylib (#153631)
Libc++ currently redeclares ::lgamma_r on platforms that provide it.
This causes issues when building with modules, and redeclaring functions
provided by another library (here the C library) is bad hygiene.
Instead, use an asm declaration to call the right function without
having to redeclare it.
Commit: 81afd93a5153af024ef32aa8e597a5fc3b54c3a4
https://github.com/llvm/llvm-project/commit/81afd93a5153af024ef32aa8e597a5fc3b54c3a4
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Arith/ops.mlir
Log Message:
-----------
[mlir][arith] Add nneg to extui and uitofp. (#183165)
This patchset adds missing the missing flag nneg (non-negative) to extui
and uitofp which denotes that the operand is known to be non-negative.
Semantics for this flag mirrors LLVM semantics.
[From:](https://discourse.llvm.org/t/rfc-add-zext-nneg-flag/73914)
> If the nneg flag is set, and the zext argument is negative, the result
is a poison value.
> A corollary is that replacing a zext nneg with sext is a refinement.
[and](https://discourse.llvm.org/t/rfc-support-nneg-flag-with-uitofp/77988):
> uitofp nneg iN %x to fM returns poison if %x is negative
> A corollary is that uitofp nneg iN %x to fM is equivilent to sitofp iN
%x to fM.
* Adds ArithNonNegFlagInterface
* Adds AttrConvertNonNegToLLVM
* Updates definitions of arith.extui and arith.uitofp to declare
ArithNonNegFlagInterface
* Updates canonicalization patterns to propagate nneg where applicable
* Adds roundtrip, lowering, and canonicalization tests.
Assisted-by: claude
Commit: ed1a1eda0ff9c5d59b13551c0447793e92d375bd
https://github.com/llvm/llvm-project/commit/ed1a1eda0ff9c5d59b13551c0447793e92d375bd
Author: Dan Blackwell <dan_blackwell at apple.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M compiler-rt/test/fuzzer/reduce_inputs.test
Log Message:
-----------
[compiler-rt][Fuzzer] Relax reduce_inputs.test to account for non-determinism (#182495)
I have seen that very occasionally this test is failing on a bot, with
only 3 files in the corpus. After running the test in a loop 4000+
times, I witnessed this same failure twice.
In both cases the first corpus member was some string not containing a
'F'; the second corpus member was 'F[' or 'FZ'; and the final corpus
member 'FUZ'.
In a normal run there is an intermediate corpus member 'FU.' - so this
test is failing in very rare cases where the fuzzer gets lucky and
matches 2 branch conditions in one mutation.
This patch allows the FileCheck condition to match 3 or 4 corpus files.
It may be possible for the fuzzer to reach the target in 2 files, but I
think that if that is possible, it will be exceptionally rare.
rdar://170440934
Commit: bfaa15ee564065097fb96d48f90957c4f4f98f2c
https://github.com/llvm/llvm-project/commit/bfaa15ee564065097fb96d48f90957c4f4f98f2c
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/f16div.h
A libc/shared/math/f16divf.h
A libc/shared/math/f16divf128.h
A libc/shared/math/f16divl.h
A libc/shared/math/f16mul.h
A libc/shared/math/f16mulf.h
A libc/shared/math/f16mulf128.h
A libc/shared/math/f16mull.h
A libc/shared/math/f16sub.h
A libc/shared/math/f16subf.h
A libc/shared/math/f16subf128.h
A libc/shared/math/f16subl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/f16div.h
A libc/src/__support/math/f16divf.h
A libc/src/__support/math/f16divf128.h
A libc/src/__support/math/f16divl.h
A libc/src/__support/math/f16mul.h
A libc/src/__support/math/f16mulf.h
A libc/src/__support/math/f16mulf128.h
A libc/src/__support/math/f16mull.h
A libc/src/__support/math/f16sub.h
A libc/src/__support/math/f16subf.h
A libc/src/__support/math/f16subf128.h
A libc/src/__support/math/f16subl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/f16div.cpp
M libc/src/math/generic/f16divf.cpp
M libc/src/math/generic/f16divf128.cpp
M libc/src/math/generic/f16divl.cpp
M libc/src/math/generic/f16mul.cpp
M libc/src/math/generic/f16mulf.cpp
M libc/src/math/generic/f16mulf128.cpp
M libc/src/math/generic/f16mull.cpp
M libc/src/math/generic/f16sub.cpp
M libc/src/math/generic/f16subf.cpp
M libc/src/math/generic/f16subf128.cpp
M libc/src/math/generic/f16subl.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 float16 basic operations to header-only (#181745)
closes: #181744
Commit: 6d5e051be9e133dbb15791ebe630b2218dde0657
https://github.com/llvm/llvm-project/commit/6d5e051be9e133dbb15791ebe630b2218dde0657
Author: Samrudh Nelli <samrudhnelli at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
M clang-tools-extra/clang-doc/assets/function-template.mustache
M clang-tools-extra/test/clang-doc/json/class-requires.cpp
M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
M clang-tools-extra/test/clang-doc/json/class-template.cpp
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/concept.cpp
M clang-tools-extra/test/clang-doc/json/function-requires.cpp
M clang-tools-extra/test/clang-doc/json/method-template.cpp
M clang-tools-extra/test/clang-doc/json/namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
Log Message:
-----------
[clang-doc]: Enable horizontal wrapping on longer function definitions (#181417)
This patch enables wrapping for longer function and template definitions
in the generated HTML. Currently uses the no. of parameters to
determine the need to wrap the function. If a function or template has
more than 2 parameters, they are printed one per line. Also fixes a styling
bug where a trailing comma was left after the last parameter.
Commit: 5734d978d006a63f4eec6d76087ef8ac1664e30e
https://github.com/llvm/llvm-project/commit/5734d978d006a63f4eec6d76087ef8ac1664e30e
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/lib/Target/AArch64/aarch64-tensorflow-isel-regression.ll
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/ctpop.ll
M llvm/test/CodeGen/AArch64/implicitly-set-zero-high-64-bits.ll
A llvm/test/CodeGen/AArch64/neon-lowhalf128-optimisation.ll
Log Message:
-----------
[AArch64] Fix regression from “Fold scalar-to-vector shuffles into DUP/FMOV" (#178227)
Revised #166962.
This patch aims to fix the original compile time regression by
restricting the optimisation to run only on non-constant splats. Without
the guard, an infinite loop is caused because the
`CONCAT(SCALAR_TO_VECTOR, zero)` folds back into the same `BUILD_VECTOR`
and immediately re-enters `LowerBUILD_VECTOR`.
This patch was tested with the original TensorFlow reproduction provided
on the PR and shows a (very) slight improvement on compile-time.
Commit: f94ad564f528776516d75476f19c33993b4c5687
https://github.com/llvm/llvm-project/commit/f94ad564f528776516d75476f19c33993b4c5687
Author: Sy Brand <tartanllama at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lld/test/wasm/tls-export.s
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ObjectYAML/WasmEmitter.cpp
A llvm/test/ObjectYAML/wasm/dylink_tls_exports.yaml
M llvm/test/tools/llvm-nm/wasm/dylink.yaml
M llvm/test/tools/llvm-objdump/wasm/dylink-symbol-table.yaml
Log Message:
-----------
[WebAssembly] Take symbol flags for exports from the dylink section for shared objects (#183079)
Currently, WASM symbols taken from the export section of shared objects
lose their flags. This can result in link failures. For example, if a
TLS symbol is exported from a shared object, relocation fails because
`wasm-ld` thinks that the symbol is not flagged as a TLS symbol.
This PR populates symbol flags for symbols in the export section from
the flags stored in the dylink0 section.
The export info section was also not serialized by the WASM emitter for
YAML, which this PR fixes
Commit: efe0b2f993cff3809d8e26d996432e98c600600e
https://github.com/llvm/llvm-project/commit/efe0b2f993cff3809d8e26d996432e98c600600e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/ordered-simd.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
R mlir/test/Target/LLVMIR/openmp-simd-ordered.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
R mlir/test/Target/LLVMIR/openmp-wsloop-simd-ordered.mlir
Log Message:
-----------
Revert "[flang][openmp] Add support for ordered regions in SIMD directives (#181012)"
This reverts commit 31dacdc1f5d486da6ef6d8b2f7e3b6126d92c9ff.
See the PR for test failure details.
Commit: 85a1fe692c123683bb16dd39f50c295198e7a819
https://github.com/llvm/llvm-project/commit/85a1fe692c123683bb16dd39f50c295198e7a819
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCoreProperties.td
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][Process/FreeBSDKernelCore] Implement DoWriteMemory() (#183237)
Implement `ProcessFreeBSDKernelCore::DoWriteMemory()` to write data on
kernel dump or `/dev/mem`. Due to security concerns (e.g. writing wrong
value on `/dev/mem` can trigger kernel panic), this feature is only
enabled when `plugin.process.freebsd-kernel-core.read-only` is set to
false (true by default).
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: 4919be702907eb9de73466e3d29f476ac5cdf5ad
https://github.com/llvm/llvm-project/commit/4919be702907eb9de73466e3d29f476ac5cdf5ad
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[WebKit Checkers] Handle CXXRewrittenBinaryOperator in trivial analysis. (#183278)
Visit the semantic form when encountering CXXRewrittenBinaryOperator in
the trivial function analysis / no-delete analysis.
Commit: 8d625621eb5ddc1e0e1e0a06af03b9e076c1d642
https://github.com/llvm/llvm-project/commit/8d625621eb5ddc1e0e1e0a06af03b9e076c1d642
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
Log Message:
-----------
[lldb] Fix spurious indentation in CMakeLists.txt (NFC) (#183368)
Fix spurious indentation in ScriptInterpreter/*/CMakeLists.txt.
Commit: 0c53a89b228a2c1b4d2d02cb80d674b2b20a9c7c
https://github.com/llvm/llvm-project/commit/0c53a89b228a2c1b4d2d02cb80d674b2b20a9c7c
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
M llvm/test/CodeGen/Hexagon/isel/trunc-vNi1-HVX.ll
Log Message:
-----------
[Hexagon] Fix truncation to boolean vector that need widening (#182528)
When truncating a sub-HVX-width vector to a boolean vector (e.g., v64i8
-> v64i1 in 128-byte HVX mode), the operation would crash with
"Unhandled HVX operation" UNREACHABLE. This happened because the
condition in LowerHvxOperationWrapper/ReplaceHvxNodeResults did not
handle the case where the input vector needs widening and the result is
a boolean vector.
The fix adds WidenHvxTruncateToBool which widens the input to HVX
register width (e.g., v64i8 -> v128i8), performs the truncate to widened
bool type (v128i8 -> v128i1), extracts the result subvector (v128i1 ->
v64i1).
This allows the widened truncate to match the existing V6_vandvrt
pattern in HexagonPatternsHVX.td.
Commit: 9ab13eef8df9cc4b0bb36cb9e1e091338f10b853
https://github.com/llvm/llvm-project/commit/9ab13eef8df9cc4b0bb36cb9e1e091338f10b853
Author: Ehsan Amiri <ehsan.amiri at huawei.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
Log Message:
-----------
[LoopFusion] clear FusionCandidates more often (#183353)
A LoopVector contains all the loops with the same parent loop (or all
loops with no parent). Once loop fusion is done with the transformation
for candidates extracted from one LoopVector we can safely clear
FusionCandidates. This avoids unnecssary work and results in more
meaningful statistics.
Commit: b1325cb709f73ba107b06a98a716297e45acc3d9
https://github.com/llvm/llvm-project/commit/b1325cb709f73ba107b06a98a716297e45acc3d9
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-02-25 (Wed, 25 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:
-----------
Revert [Clang] eliminate -Winvalid-noreturn false positive after throw + unreachable try/catch blocks (#183365)
Reverts https://github.com/llvm/llvm-project/pull/175443
---
Reverting for now because the CFG `try` connectivity change caused
additional analysis regressions (`-Wthread-safety-analysis` etc.) beyond
the original fix.
Commit: 4832c33f665cc48500801f64cc220cdebd1335a4
https://github.com/llvm/llvm-project/commit/4832c33f665cc48500801f64cc220cdebd1335a4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/exp.ll
M llvm/test/Analysis/CostModel/AMDGPU/exp10.ll
M llvm/test/Analysis/CostModel/AMDGPU/exp2.ll
A llvm/test/CodeGen/AMDGPU/llvm.exp.f64.ll
A llvm/test/CodeGen/AMDGPU/llvm.exp10.f64.ll
A llvm/test/CodeGen/AMDGPU/llvm.exp2.f64.ll
Log Message:
-----------
AMDGPU: Implement expansion for f64 exp (#182539)
I asked AI to port the device libs reference implementation.
It mostly worked, though it got the compares wrong and also
missed a fold that happened in compiler. With that fixed I get
identical DAG output, and almost the same globalisel output (differing
by an inverted compare and select). Also adjusted some stylistic
choices.
Commit: 84594d7539a51c17288201869a8952b8aec260ff
https://github.com/llvm/llvm-project/commit/84594d7539a51c17288201869a8952b8aec260ff
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2026-02-25 (Wed, 25 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/resolve-layout-conflicts.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[mlir][xegpu] Add vector layout conflict handling in XeGPU layout propagation pass. (#182402)
This PR adds support for layout conflict handling for vector operands. A
conflict for a vector operand occurs when a value consumed at a given
operand is not in the expected layout in the context of the consumer
(for example `vector.multi_reduction` op's source require a specific
layout inferred from its current result layout). To resolve this
conflict, we insert an `xegpu.convert_layout` right after the producer
(essentially duplicating the producer with expected layout) and use the
new value in the consumer.
Commit: b68307569bb955fb2f613bd239ad7a92e805035f
https://github.com/llvm/llvm-project/commit/b68307569bb955fb2f613bd239ad7a92e805035f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/test/CodeGen/RISCV/bswap-bitreverse.ll
Log Message:
-----------
[RISCV] Support scalar bitreverse using P extension rev instruction. (#183245)
Commit: c51a926d9811b8d27ac3642c08420b51640600c3
https://github.com/llvm/llvm-project/commit/c51a926d9811b8d27ac3642c08420b51640600c3
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
A llvm/include/llvm/CodeGen/pch.h
M llvm/lib/CodeGen/CMakeLists.txt
Log Message:
-----------
[CMake][CodeGen] Add PCH (#183346)
Add PCH for expensive and most-used headers from llvm/CodeGen.
Commit: 7be9d66c29a7af78c36a6807d0d71efd6420099c
https://github.com/llvm/llvm-project/commit/7be9d66c29a7af78c36a6807d0d71efd6420099c
Author: satyanarayana reddy janga <satyajanga at fb.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/include/lldb/Target/ThreadList.h
M lldb/include/lldb/Target/ThreadPlanStepOverBreakpoint.h
M lldb/source/Target/ThreadList.cpp
M lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp
R lldb/test/API/functionalities/gdb_remote_client/TestBatchedBreakpointStepOver.py
R lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentBatchedBreakpointStepOver.py
Log Message:
-----------
Revert "[lldb] Batch breakpoint step-over for threads stopped at the … (#183378)
…same site (re-land) (#182944)"
This reverts commit 94d9f1b3cbb02700d9cd3339c1dbf44c0d13b550.
Commit: 84764dfc2ad3c1fa7c074d6089302f094e7df037
https://github.com/llvm/llvm-project/commit/84764dfc2ad3c1fa7c074d6089302f094e7df037
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Driver/Job.h
A clang/include/clang/Driver/ModulesDriver.h
M clang/include/clang/Options/Options.td
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
A clang/lib/Driver/ModulesDriver.cpp
A clang/test/Driver/modules-driver-malformed-manifest.cpp
A clang/test/Driver/modules-driver-manifest-input-args.cpp
A clang/test/Driver/modules-driver-manifest-not-found.cpp
Log Message:
-----------
[clang][modules-driver] Generate jobs from Standard library module manifest entries (#182182)
This patch is part of a series to support driver-managed module builds.
To support imports of the Standard library modules (std and
std.compat), the driver must generate frontend jobs for each module
before performing the dependency scan.
The source paths for these modules, along with additional information
required to precompile them, are provided by the Standard library
modules manifest.
This change implements the parsing and handling of the manifest in the
modules-driver.
This change is part of an effort to split #152770 into smaller, more
manageable pieces.
RFC for driver-managed module builds:
https://discourse.llvm.org/t/rfc-modules-support-simple-c-20-modules-use-from-the-clang-driver-without-a-build-system
Commit: 524fff5a51b86c35825405a9789672609e1ce99e
https://github.com/llvm/llvm-project/commit/524fff5a51b86c35825405a9789672609e1ce99e
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/cl-options.c
Log Message:
-----------
[win] Control Flow Guard: Add support for the MSVC /d2guardnochecks command (#182967)
This adds support for MSVC's `/d2guardnochecks` undocumented flag. This
flag is similar to `-guard:cf,nochecks` and `-cfguard-no-checks` in that
it instructs the compiler to emit the metadata for Control Flow Guard
WITHOUT emitting checks (aka: "table only" mode), but it differs from
those existing flags because if only takes effect if another flag is
used to enable Control Flow Guard (i.e., `/d2guardnochecks` by itself
does nothing, `/d2guardnochecks /guard:cf` enables table-only mode for
Control Flow Guard).
Commit: d7cdfa10963391c69dd12d673fe85ebd0d8cbcf3
https://github.com/llvm/llvm-project/commit/d7cdfa10963391c69dd12d673fe85ebd0d8cbcf3
Author: Mohamed Emad <hulxxv at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/fdim.h
A libc/shared/math/fdimbf16.h
A libc/shared/math/fdimf.h
A libc/shared/math/fdimf128.h
A libc/shared/math/fdimf16.h
A libc/shared/math/fdiml.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/fdim.h
A libc/src/__support/math/fdimbf16.h
A libc/src/__support/math/fdimf.h
A libc/src/__support/math/fdimf128.h
A libc/src/__support/math/fdimf16.h
A libc/src/__support/math/fdiml.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/fdim.cpp
M libc/src/math/generic/fdimbf16.cpp
M libc/src/math/generic/fdimf.cpp
M libc/src/math/generic/fdimf128.cpp
M libc/src/math/generic/fdimf16.cpp
M libc/src/math/generic/fdiml.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 fdim family to header-only (#182190)
Refactors the fdim math family to be header-only.
Closes https://github.com/llvm/llvm-project/issues/182188
Target Functions:
- fdim
- fdimbf16
- fdimf
- fdimf128
- fdimf16
- fdiml
Commit: f2e3f564037d36acd8460b675cc6f5cbba937721
https://github.com/llvm/llvm-project/commit/f2e3f564037d36acd8460b675cc6f5cbba937721
Author: Joe Nash <joseph.nash at amd.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
Log Message:
-----------
[AMDGPU] Make slow VOPD assert under EXPENSIVE_CHECKS (#183166)
The assert is algorithmically slow. To preserve the usability of release_assert
builds, move it under EXPENSIVE_CHECKS. On some workloads it increased compile
time by 40-50x.
Commit: 2981f5f045de2066148375cd24e79440643be911
https://github.com/llvm/llvm-project/commit/2981f5f045de2066148375cd24e79440643be911
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
A llvm/test/CodeGen/Generic/shadow-stack-gc-lowering.ll
Log Message:
-----------
[CodeGen] Add tests for ShadowStackGCLowering IR pass (#183167)
Add llvm/test/CodeGen/Generic/shadow-stack-gc-lowering.ll testing the
opt-level behavior of the shadow-stack-gc-lowering module pass,
covering:
- Single root: frame push/pop at entry and return
- Two roots: multi-slot frame, NumRoots=2/NumMeta=0 in the frame map
- Root with non-null metadata: NumMeta=1, metadata array in gc_map
- Mixed metadata: CollectRoots ordering (metadata roots sorted first)
- No roots: pass must leave the function unchanged
- Invoke: EscapeEnumerator inserts pop on both normal and unwind exits
As requested in https://github.com/llvm/llvm-project/pull/178436, since
the only existing tests seem to be that llc doesn't crash (in
llvm/test/CodeGen/X86/GC)
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: af2b6ed6aabd9015d5725afed749a218912a7fcc
https://github.com/llvm/llvm-project/commit/af2b6ed6aabd9015d5725afed749a218912a7fcc
Author: Sunil Shrestha <sunil.shrestha at hpe.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/ordered-simd.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-simd-ordered.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
A mlir/test/Target/LLVMIR/openmp-wsloop-simd-ordered.mlir
Log Message:
-----------
[flang][openmp] Add support for ordered regions in SIMD directives (#… (#183379)
Add support for ordered regions within SIMD directives (!$omp simd
ordered and !$omp do simd ordered). This initial implementation matches
Clang's behavior.
In SIMD directives, loop induction variables have an implicit linear
clause with deferred store semantics (storing to .linear_result). To
properly support ordered regions, the LinearClauseProcessor rewrites
variable references to use .linear_result in:
- omp.ordered.region: Code inside ordered blocks
- omp_region.finalize: Code after ordered blocks
Note: The vectorizer cannot currently vectorize loops with ordered
regions. Future enhancement would require generating lane loops or
unrolling ordered regions across SIMD lanes while maintaining ordering
semantics.
This PR is a reland for https://github.com/llvm/llvm-project/pull/181012
and fixes the regression caused by syntax change in IR for linear clause
Commit: 9f4636210deb2e94b5b3cd2d3cbf1cccc34543d1
https://github.com/llvm/llvm-project/commit/9f4636210deb2e94b5b3cd2d3cbf1cccc34543d1
Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
Log Message:
-----------
[Offload] Fix type mismatch by using `uint64_t` instead of `size_t` (#183375)
The variant uses uint64_t, so should the get.
Commit: 33fd75f55d1f72ea8a5b8bbecda56be3b99d92e0
https://github.com/llvm/llvm-project/commit/33fd75f55d1f72ea8a5b8bbecda56be3b99d92e0
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/include/clang/Basic/OffloadArch.h
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNProcessors.td
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
M llvm/test/CodeGen/AMDGPU/generic-targets-require-v6.ll
M llvm/test/CodeGen/AMDGPU/hsa-generic-target-features.ll
M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
M llvm/test/tools/llvm-readobj/ELF/AMDGPU/elf-headers.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[AMDGPU] Add gfx12-5-generic subtarget (#183381)
This is functionally equivalent to gfx1250.
Commit: 4a8d5327ff69e43f35ea516a372fb59c30a3e2cb
https://github.com/llvm/llvm-project/commit/4a8d5327ff69e43f35ea516a372fb59c30a3e2cb
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/docs/ClangIRCleanupAndEHDesign.md
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
M clang/test/CIR/IR/invalid-eh-flat.cir
M clang/test/CIR/IR/invalid-try-catch.cir
M clang/test/CIR/IR/try-catch.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
Log Message:
-----------
[CIR] Update cir::ResumeOp to require an EH token (#183192)
This updates the cir::ResumeOp operation to require an EH token operand.
We already had the token available at both locations where the operation
was being created. Adding this operand makes finding the token more
robust during CFG flattening.
This change was entirely AI generated, but I have reviewed it closely.
Commit: b7ce37c6703f2d82376f50f82a05b807a0ad90ad
https://github.com/llvm/llvm-project/commit/b7ce37c6703f2d82376f50f82a05b807a0ad90ad
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/aarch64-pmull2.ll
M llvm/test/CodeGen/AArch64/aarch64-scal-to-vec-bitcast-insert.ll
M llvm/test/CodeGen/AArch64/arm64-cvt-simd-intrinsics.ll
M llvm/test/CodeGen/AArch64/arm64-fixed-point-scalar-cvt-dagcombine.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt.ll
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
M llvm/test/CodeGen/AArch64/avoid-pre-trunc.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/concat-vector-add-combine.ll
M llvm/test/CodeGen/AArch64/ctpop.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
M llvm/test/CodeGen/AArch64/vector-llrint.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
Revert "[AArch64] Wrap integer SCALAR_TO_VECTOR nodes in bitcasts (#172837)" (#183380)
This reverts commit eff183b6a7e351e10444977fc2110edc2a518e6f.
And followup commit commit 87d9dad579b9d947f6181d1736fb11e8f683e246.
Causes breakages, see
https://github.com/llvm/llvm-project/pull/172837#issuecomment-3961532435.
Commit: 5cd6bb04e2d8b0712353a7dcd9729b217c35b12f
https://github.com/llvm/llvm-project/commit/5cd6bb04e2d8b0712353a7dcd9729b217c35b12f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/lib/Driver/ModulesDriver.cpp
Log Message:
-----------
[Clang][Modules] Fix -Wunused-variable from #182182
https://lab.llvm.org/staging/#/builders/227/builds/1093
Commit: 3031ba95456c95e123d0f9f7dc61c0b45c2d8762
https://github.com/llvm/llvm-project/commit/3031ba95456c95e123d0f9f7dc61c0b45c2d8762
Author: Daniil Fukalov <dfukalov at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/RISCV/div_minsize.ll
M llvm/test/CodeGen/X86/div_i129_v_pow2k.ll
M llvm/test/CodeGen/X86/i128-sdiv.ll
A llvm/test/Transforms/ExpandIRInsts/X86/divrem-pow2.ll
Log Message:
-----------
[CodeGen] Expand power-of-2 div/rem at IR level in ExpandIRInsts. (#180654)
Previously, power-of-2 div/rem operations wider than
MaxLegalDivRemBitWidth were excluded from IR expansion and left for
backend peephole optimizations. Some backends can fail to process such
instructions in case we switch off DAGCombiner.
Now ExpandIRInsts expands them into shift/mask sequences:
- udiv X, 2^C -> lshr X, C
- urem X, 2^C -> and X, (2^C - 1)
- sdiv X, 2^C -> bias adjustment + ashr X, C
- srem X, 2^C -> X - (((X + Bias) >> C) << C)
Special cases handled:
- Division/remainder by 1 or -1 (identity, negation, or zero)
- Exact division (sdiv exact skips bias, produces ashr exact)
- Negative power-of-2 divisors (result is negated)
- INT_MIN divisor (correct via countr_zero on bit pattern)
Proofs: https://alive2.llvm.org/ce/z/Y-iWm-
Assisted-by: Cursor // Claude Opus 4.6
Commit: 642763c553fdf6e699a3dd867b984b5c8044c07e
https://github.com/llvm/llvm-project/commit/642763c553fdf6e699a3dd867b984b5c8044c07e
Author: Zhuoran Yin <zhuoryin at amd.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M mlir/lib/Dialect/AMDGPU/Transforms/FoldMemRefsOps.cpp
M mlir/test/Dialect/AMDGPU/amdgpu-fold-memrefs.mlir
Log Message:
-----------
[AMDGPU] Adding FoldMemRefOpsIntoTransposeLoadOp pattern (#183330)
Before the fix we wouldn't fold a trivial expand_shape as index
computation. This will later force expand_shape to materialize into a
extract_stride_metadata and a reinterpret_cast unnecessarily. The
example below showcase the motivation of a source IR that won't be able
to fold today.
```mlir
%expanded = memref.expand_shape %buf [[0, 1], [2, 3]]
: memref<32x128xf16, strided<[128, 1], offset: ?>, #gpu.address_space<workgroup>>
into memref<1x32x8x16xf16, strided<..., offset: ?>, #gpu.address_space<workgroup>>
amdgpu.transpose_load %expanded[%i, %j, %k, %l]
: memref<1x32x8x16xf16, ...> -> vector<4xf16>
```
With this pattern that matches the more generic
`FoldMemRefAliasOpsPass`, the expand_shape can now fold into
transpose_load op like other load/stores.
The current `FoldMemRefAliasOps` pass doesn't use a more generic
interface yet — it still uses the hardcoded overloads. This PR continues
the pragmatic approach in providing its own folding pass (like
`GatherToLDSOp`).
Commit: 30969cc6441261a4281bdb9811c36a2348137d61
https://github.com/llvm/llvm-project/commit/30969cc6441261a4281bdb9811c36a2348137d61
Author: Alex Langford <alangford at apple.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/stopped-events/TestDAP_stopped_events.py
Log Message:
-----------
[lldb] Fix logic issue in TestDAP_stopped_events.py (#183382)
The subset should actually be the expected data because the real thread
data may have additional information.
Commit: 0668d9939fa29ee224e34ede1352a368286dfa94
https://github.com/llvm/llvm-project/commit/0668d9939fa29ee224e34ede1352a368286dfa94
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
Log Message:
-----------
[lldb] Improve unittest invocation in formatter_bytecode.py (#183394)
Commit: 5a629e606275c1c8eb2148da44958286e6903397
https://github.com/llvm/llvm-project/commit/5a629e606275c1c8eb2148da44958286e6903397
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
Log Message:
-----------
[MC] Remove redundant setting of AllowDollarAtStartOfIdentifier. NFC (#183339)
This setting defaults to false so there is no need to set it unless we
want it to be true.
This makes it easy to see at a glace which backends support this, and
matches the existing behaviour of other fields such as
`AllowAtAtStartOfIdentifier`, `AllowQuestionAtStartOfIdentifier`,
`UseAssignmentForEHBegin` and `AllowAtInName`. These are all only ever
set to true in subclasses, never false.
Commit: fa3b86b72b6307d90ce38fd0cf2ea261e9452596
https://github.com/llvm/llvm-project/commit/fa3b86b72b6307d90ce38fd0cf2ea261e9452596
Author: Kavin Gnanapandithan <kavin.balag at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
M llvm/test/CodeGen/RISCV/calling-conv-p-ext-vector.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/double-select-fcmp.ll
M llvm/test/CodeGen/RISCV/double-select-icmp.ll
M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore-zilsd.ll
M llvm/test/CodeGen/RISCV/inline-asm-zdinx-constraint-r.ll
A llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir
A llvm/test/CodeGen/RISCV/rv32-move-merge.ll
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/zicond-fp-select-zfinx.ll
Log Message:
-----------
[RISCV] Enhance RISCVMoveMerger for GPRPair Moves on RV32 #180831 (#182416)
Extends RISCVMoveMerger to identify adjacent 32-bit moves that can be
combined into a single 64-bit move instruction. In particular, this
patch adds support for extension zdinx (`fmv.d`) and p(`padd.dw`).
Fixes #180831
Commit: 8539dca8c65ad103b20bc4e02eccdf9642c9a8d5
https://github.com/llvm/llvm-project/commit/8539dca8c65ad103b20bc4e02eccdf9642c9a8d5
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/MC/MCAsmInfo.cpp
Log Message:
-----------
[MC] Consistent use of inline field initializers in MCAsmInfo (#183343)
Commit: 25ebf5e9d27510566dda2cba6585a6064beec878
https://github.com/llvm/llvm-project/commit/25ebf5e9d27510566dda2cba6585a6064beec878
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/test/MC/RISCV/rv32p-valid.s
M llvm/test/MC/RISCV/rv64p-valid.s
Log Message:
-----------
[RISCV] Add missing immediates to check lines in rv32p-valid.s and rv64p-valid.s. NFC (#183238)
Commit: 6272d5ac2afdc6808692e5d8ff3d73321942bccd
https://github.com/llvm/llvm-project/commit/6272d5ac2afdc6808692e5d8ff3d73321942bccd
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
[libc++] Use the Github context instead of env to access the run ID & friends
Commit: 122e79c35fdbf7e75fd4059b6f32ddee616b62da
https://github.com/llvm/llvm-project/commit/122e79c35fdbf7e75fd4059b6f32ddee616b62da
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mov.dpp.ll
M llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/freeze.ll
M llvm/test/CodeGen/AMDGPU/half.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr.ll
M llvm/test/CodeGen/AMDGPU/schedule-barrier-latency-gfx9.mir
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
Log Message:
-----------
[MISched] Advance HazardRec past stalls before calling EmitInstruction (#182977)
There are three calls to bumpCycle in bumpNode. Prior to the first call,
we calculate NextCycle as the next cycle in which all of a given
instruction's required hardware resources (as defined by the SchedModel)
are available. Any gap between this calculated NextCycle and CurrCycle
measures stalls that must occur before we can schedule the given
instruction.
The second and third call handle adjustments that occur during or after
issuing of the instruction (e.g. if the number of microops exceeds the
issue width).
According to the documentation of HazardRec->EmitInstruction, we should
call this method when an instruction is emitted: "This callback is
invoked when an instruction is emitted, to advance the hazard state."
In the context of bumpNode, this implies that it should be called after
we bumpCycle for stalls that must occur before issue of the
instructions, but before those that occur during or after. This PR moves
the placement to do that.
In practice, this affects schedulers that use both the SchedModel and
HazardRec. Suppose we have instructions A, B and C, and partial schedule
AB. Also, suppose instruction A exclusively holds ProcResource X for 2
cycles, and B uses ProcResource X, and there is a HazardRec hazard
between B and C which requires 1 cycle stall.
Currently, we call HazardRec->EmitInstruction on B before we call
HazardRec->AdvanceCycle for the stall between A->B. Then, when deciding
whether to schedule C, HazardRec sees that a cycle has already occurred
after B, so we do not need to stall.
After this change, we HazardRec->EmitInstruction on B after we call
HazardRec->AdvanceCycle for the stall between A->B. So, HazardRec
accurately places the stall cycle between A and B. Then, when deciding
whether to schedule C, HazardRec accurately sees that no cycles have
occurred after B, so we do need to stall for 1 cycle.
Commit: 2acb24eb9525ab6e6024e6de8466076a3ff078e6
https://github.com/llvm/llvm-project/commit/2acb24eb9525ab6e6024e6de8466076a3ff078e6
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/shift-combine.ll
Log Message:
-----------
[ARM] optimize to `vsri`/`vsli` (#182051)
fixes https://github.com/llvm/llvm-project/issues/181495
Commit: 2370063c8603f68e446617efd849bbcd546fde5a
https://github.com/llvm/llvm-project/commit/2370063c8603f68e446617efd849bbcd546fde5a
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsLoop.h
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsLoop.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCUtilsLoopTest.cpp
Log Message:
-----------
[openacc] Change function wrapMultiBlockRegionWithSCFExecuteRegion to non-static (#183409)
This change updates function `wrapMultiBlockRegionWithSCFExecuteRegion`
to be non-static.
Commit: f01f0f01d8302d31385cd5fc4aec687a3b4d2671
https://github.com/llvm/llvm-project/commit/f01f0f01d8302d31385cd5fc4aec687a3b4d2671
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
[libc++] Try using job.check_run_id instead of github.job
According to https://github.com/orgs/community/discussions/8945,
it seems I'm not the only one who is confused by the documentation.
Commit: b3ec476c702a1cd8ada8686a2be4fed7cccf81ef
https://github.com/llvm/llvm-project/commit/b3ec476c702a1cd8ada8686a2be4fed7cccf81ef
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/test/API/lang/objc/failing-description/TestObjCFailingDescription.py
M lldb/test/API/lang/objc/struct-description/TestObjCStructDescription.py
Log Message:
-----------
[lldb/test] Fix tests reading log from remote platform instead of host (#183413)
Some tests are using logs to validate that a test behaves correctly
however they used `platform shell cat {log}` to read the logfile.
This doesn't work when running the testsuite against a remote platform
since the logs are saved on the host's filesystem.
This patch addresses those failures by making sure we read the log file
from the host platform.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: f38e7b1da20641a41e281cc2a87c289669656d3a
https://github.com/llvm/llvm-project/commit/f38e7b1da20641a41e281cc2a87c289669656d3a
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lld/docs/WebAssembly.rst
M lld/docs/index.rst
Log Message:
-----------
[lld][WebAssembly] Remove comment about wasm-ld being WIP. NFC (#183410)
wasm-ld has been feature complete for a while now.
Commit: 3211ce1ecd457d357b744fdd8fb10b059b6ba1cd
https://github.com/llvm/llvm-project/commit/3211ce1ecd457d357b744fdd8fb10b059b6ba1cd
Author: Alexis Perry-Holby <aperry at lanl.gov>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
A flang/docs/MeetingNotes/2026/2026-02-25.md
Log Message:
-----------
[flang] Added minutes from the 2-25-2026 Flang Community Call (#183389)
Commit: bf388fa8888f516d5190ab3f0f81e28a3d1d5b2c
https://github.com/llvm/llvm-project/commit/bf388fa8888f516d5190ab3f0f81e28a3d1d5b2c
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
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/unittests/Analysis/Scalable/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#183420)
$ llvm/utils/gn/build/sync_source_lists_from_cmake.py --write
84764dfc2ad3
8bdef33e6ae9
a8989c08a87e
de3034b1c14d
Commit: ae80f343e6f6548a35ebb16a97420a53b48717c5
https://github.com/llvm/llvm-project/commit/ae80f343e6f6548a35ebb16a97420a53b48717c5
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ThreadFreeBSDKernelCore.h
Log Message:
-----------
[lldb][Process/FreeBSDKernelCore] Reorder ThreadFreeBSDKernelCore members (#183414)
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: 2f46255485b44a3583ce4d64e84d0583fbb1c94a
https://github.com/llvm/llvm-project/commit/2f46255485b44a3583ce4d64e84d0583fbb1c94a
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/test/API/lang/objc/failing-description/TestObjCFailingDescription.py
M lldb/test/API/lang/objc/struct-description/TestObjCStructDescription.py
Log Message:
-----------
Revert "[lldb/test] Fix tests reading log from remote platform instead of host" (#183419)
Reverts llvm/llvm-project#183413 because this is still fragile.
Commit: 358b1d597ad4a418bb6eda1770b0ee4deeca7687
https://github.com/llvm/llvm-project/commit/358b1d597ad4a418bb6eda1770b0ee4deeca7687
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M libcxx/utils/libcxx/test/dsl.py
M libcxx/utils/libcxx/test/format.py
M llvm/utils/lit/lit/DiffUpdater.py
M llvm/utils/lit/lit/Test.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/cl_arguments.py
M llvm/utils/lit/lit/display.py
M llvm/utils/lit/lit/reports.py
A llvm/utils/lit/tests/Inputs/diff-test-update-retry/1.in
A llvm/utils/lit/tests/Inputs/diff-test-update-retry/lit.cfg
A llvm/utils/lit/tests/Inputs/diff-test-update-retry/multiple-split-file-enough-retries.in
A llvm/utils/lit/tests/Inputs/diff-test-update-retry/multiple-split-file-enough-retries.out
A llvm/utils/lit/tests/Inputs/diff-test-update-retry/multiple-split-file-no-enough-retries.out
A llvm/utils/lit/tests/Inputs/diff-test-update-retry/multiple-split-file-not-enough-retries.in
A llvm/utils/lit/tests/Inputs/diff-test-update-retry/multiple-split-file-not-enough-retries.out
A llvm/utils/lit/tests/Inputs/diff-test-update-retry/multiple-split-file-unrelated-failure.in
A llvm/utils/lit/tests/Inputs/diff-test-update-retry/multiple-split-file-unrelated-failure.out
A llvm/utils/lit/tests/Inputs/diff-test-update-retry/single-split-file.in
A llvm/utils/lit/tests/Inputs/diff-test-update-retry/single-split-file.out
A llvm/utils/lit/tests/diff-test-update-retry-default-verbosity.py
A llvm/utils/lit/tests/diff-test-update-retry-failed-or-flaky.py
A llvm/utils/lit/tests/diff-test-update-retry-quiet.py
A llvm/utils/lit/tests/diff-test-update-retry.py
M llvm/utils/lit/tests/diff-test-update.py
Log Message:
-----------
[utils] update how auto-updated tests are displayed when the test is retried (#181097)
This changes how test updater output is displayed to make it less
confusing for tests with ALLOW_RETRIES. Previously it was merged into
the output string for the test result, but that hides it in many less
verbose modes, so now it's displayed separately. The FIXED status is
added, which is the same as FLAKYPASS except it highlights that a test
was auto-updated before it passed.
>From PR https://github.com/llvm/llvm-project/pull/181097
Commit: 0d476b1ae4793d0e8cc3d04be1177399947668db
https://github.com/llvm/llvm-project/commit/0d476b1ae4793d0e8cc3d04be1177399947668db
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
[NFC][ADT] Remove indentation of StringRef class (#183317)
Apply https://llvm.org/docs/CodingStandards.html#namespace-indentation
rule to StringRef class.
Commit: c57352995bdc4e376babb8d91d3dd7369aefb880
https://github.com/llvm/llvm-project/commit/c57352995bdc4e376babb8d91d3dd7369aefb880
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/MC/MCAsmInfo.cpp
Log Message:
-----------
[MC] Use inline field initializers in MCAsmInfo. NFC (#183407)
Followup to #183343.
Commit: dc2dad65764b29b81444b0a2a72a6c3963f0e9b8
https://github.com/llvm/llvm-project/commit/dc2dad65764b29b81444b0a2a72a6c3963f0e9b8
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
A llvm/test/Transforms/IROutliner/illegal-typeid-for.ll
Log Message:
-----------
[NFC][IROutliner] Add test showing llvm.typeid.for not Outlined (#183406)
This intrinsic is not valid to outline because it relies on
function-local information about types and landing pads during
lowering/codegen. The code is currently correct because the IROutliner
uses the CodeExtractor, which will not extract this intrinsic.
See llvm/llvm-project#38893 (aka llvm.org/PR39545)
Commit: 564f433083d1f723ee8157afffa1f1313fb596b4
https://github.com/llvm/llvm-project/commit/564f433083d1f723ee8157afffa1f1313fb596b4
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/test/API/lang/objc/failing-description/TestObjCFailingDescription.py
M lldb/test/API/lang/objc/struct-description/TestObjCStructDescription.py
Log Message:
-----------
[lldb/test] Use filecheck_log to read log files from the host platform (#183422)
Some tests were using `self.filecheck` with `platform shell cat {log}`
to validate test behavior through log inspection.
This doesn't work when running the testsuite against a remote platform
since the logs are saved on the host's filesystem.
This patch refactors those call sites to use the new `filecheck_log`
helper, which ensures the log file is always read from the host
platform.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: a703a9153be57e5fad34494d54e3446a9cf51604
https://github.com/llvm/llvm-project/commit/a703a9153be57e5fad34494d54e3446a9cf51604
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/utils/lit/lit/display.py
Log Message:
-----------
[utils] update type hint for python 3.8-3.9 compatibility (#183427)
Type hints before 3.10 require importing, and are spelled with a leading
capital.
Commit: d7bd36d7e9f5ed493888672c46ff0ce405d627b0
https://github.com/llvm/llvm-project/commit/d7bd36d7e9f5ed493888672c46ff0ce405d627b0
Author: Twice <twice at apache.org>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/test/python/rewrite.py
Log Message:
-----------
[MLIR][Python] Handle errors in dialect conversion properly (#183320)
Before this, MLIR error capture in `apply_partial_conversion` and
`apply_full_conversion` wasn’t handled, which meant any `emitError`
would crash the entire program. This PR adds the handling.
Commit: 765c4e6e8fb25ca999bc19654b5f324df62879ad
https://github.com/llvm/llvm-project/commit/765c4e6e8fb25ca999bc19654b5f324df62879ad
Author: Jan Kokemüller <jan.kokemueller at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaLambda.cpp
A clang/test/Modules/pr178893.cppm
Log Message:
-----------
[clang] Don't use `VarDecl` of local variables as `ManglingContextDecl` for lambdas (#179035)
Currently, in a C++20 modules context, a `VarDecl` of a local variable
can wrongly end up as a `ManglingContextDecl` for a lambda.
Fix this by removing `ContextKind::NonInlineInModulePurview` in
`Sema::getCurrentMangleNumberContext` and add
`IsExternallyVisibleInModulePurview` checks in the appropriate places:
- For externally visible functions defined in a module purview, add a
check to `isInInlineFunction`, renaming it to
`IsInFunctionThatRequiresMangling`
- For externally visible variables defined in a module purview, add a
new `ContextKind::ExternallyVisibleVariableInModulePurview` and an
appropriate check to the `VarDecl` case
Fixes #178893
---------
Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>
Co-authored-by: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Commit: 8f3dd82a0a1fd3395e903c8b44e2e5f9f2118ff5
https://github.com/llvm/llvm-project/commit/8f3dd82a0a1fd3395e903c8b44e2e5f9f2118ff5
Author: Mohamed Emad <hulxxv at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/shared/math.h
A libc/shared/math/asinpif.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/asinpif.h
M libc/src/math/CMakeLists.txt
A libc/src/math/asinpif.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/asinpif.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/asinpif_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/asinpif_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/asinpif_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math][c23] implement `asinpif` function (#181511)
Implementing `asinpi` for single-precision. it continues what is done in
#152690 that implemented `asinpif16` with header-only approach that is
followed since #147386
Commit: dd9d242b14d501d3828af1e4d5a0887e23be193e
https://github.com/llvm/llvm-project/commit/dd9d242b14d501d3828af1e4d5a0887e23be193e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/MC/RISCV/rv32p-valid.s
A llvm/test/MC/RISCV/rv32zcb-zbkb-valid.s
A llvm/test/MC/RISCV/rv64zcb-zbkb-valid.s
Log Message:
-----------
[RISCV] Treat zext.h as a separate instruction from pack(w) with Zbkb. (#183364)
The Zbb encoding for zext.h is a subset of the encoding for pack(w).
There is a statement in the ISA manual that says "For RV32, the pack
instruction with rs2=x0 is the zext.h instruction. Hence, for RV32, any
extension that contains the pack instruction also contains the zext.h
instruction"
This patch makes the zext.h instruction mnemonic canonical when only
Zbkb is enabled. -Mno-aliases will not disable the printing of zext.h. I
believe this matches binutils.
I've taught the assembler to remap PACK/PACKW to ZEXT_H to make printing
parsed assembly match the disassembler output.
Commit: 8533889a54907afe8b6ac9d3fb87b640b48d015e
https://github.com/llvm/llvm-project/commit/8533889a54907afe8b6ac9d3fb87b640b48d015e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-unaligned-load-store.ll
Log Message:
-----------
[RISCV] Partial support for using PPAIRE.B/H to optimize unaligned load sequences. (#183423)
Patterns are based on patterns we use for Zbkb. We can't copy all
patterns because PPAIRE.B/H are a little different than PACKW/PACKH.
PACKW packs the first 16 bits of rs1 and rs2 and sign extends the upper
32 bits of rd. PACKH packs the first 8 bits of rs1 and rs2 and puts
zeros in bits 16 of rd.
PPAIRE.B copies the even bytes of rs1 to the even bytes of rd and copies
the even bytes of rs2 to the odd bytes of rd. PPAIRE.H is similar, but
copys halfwords instead of bytes. We can treat them equivalently to
PACKH/PACKW when we know that we only care about the lower halfword or
word, respectively of the result.
Commit: d12870ea96befd5b5ec69c753c82a3e4af13e472
https://github.com/llvm/llvm-project/commit/d12870ea96befd5b5ec69c753c82a3e4af13e472
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
A llvm/test/CodeGen/RISCV/opt-w-instrs-p-ext.mir
Log Message:
-----------
[RISCV] Add MERGE, MVM, and MVMN to isSignExtendedW in RISCVOptWInstrs. (#183433)
These instructions are a combination of AND/OR/XOR which return sign
extended values if all inputs are sign extended.
Commit: 143664fcd3df825befdb9586151d53aefef3d7d0
https://github.com/llvm/llvm-project/commit/143664fcd3df825befdb9586151d53aefef3d7d0
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M bolt/test/merge-fdata-bat-no-lbr.test
M bolt/test/merge-fdata-mixed-bat-no-lbr.test
M bolt/test/merge-fdata-mixed-mode.test
M bolt/test/merge-fdata-no-lbr-mode.test
A bolt/test/merge-fdata-skip-truncated.test
M bolt/tools/merge-fdata/merge-fdata.cpp
Log Message:
-----------
[BOLT][merge-fdata] Skip truncated lines in raw profile data (#183187)
Raw profile data file may contain lines truncated due to unexpected
app exit. This change is to have merge_fdata check number of fields
in each line of raw profile data file and ignore a line if the number
is not expected.
Commit: fb371ce258d390716a653b8c63649526b9b5831f
https://github.com/llvm/llvm-project/commit/fb371ce258d390716a653b8c63649526b9b5831f
Author: eiytoq <eiytoq at outlook.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
A clang/test/SemaCXX/typeid-incomplete-local-crash.cpp
Log Message:
-----------
[clang][Sema] Guard polymorphic check in TransformCXXTypeidExpr for incomplete record types (#180442)
This ensures that when querying the typeid of a record type, it is fully defined.
Fixes #176397
Fixes #63242
Commit: b7c2dda501b1484b6d069312666fdd3b4d9d16ce
https://github.com/llvm/llvm-project/commit/b7c2dda501b1484b6d069312666fdd3b4d9d16ce
Author: Wang Yaduo <wangyaduo at linux.alibaba.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
A clang/test/Driver/print-enabled-extensions/riscv-xt-c910v2.c
A clang/test/Driver/print-enabled-extensions/riscv-xt-c920v2.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 processor definitions for XuanTie C910V2 and C920V2 (#174056)
XuanTie C910V2 and C920V2 are 64-bit superscalar out-of-order CPUs:
https://www.xrvm.com/community/download?id=4530178488929423360
C910V2 is a C920V2 version without vector, zvfbfmin, zvfbfwma, zvfh and
xtheadvdot extensions.
Scheduling model will be added in a further PR.
Commit: 0a9d7ffc037489d6047eff8052abdd35d025536c
https://github.com/llvm/llvm-project/commit/0a9d7ffc037489d6047eff8052abdd35d025536c
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
Log Message:
-----------
[X86][AVX10] Change MINMAX sign control to select the sign of compare result (#183452)
The imm8[3:2] controls the sign bit behavior. 0b01 represents to select
the sign of compare result, while 0b00 select the sign of Src1.
Commit: ab0823c9c765972ab62497391df96b10e5b4471f
https://github.com/llvm/llvm-project/commit/ab0823c9c765972ab62497391df96b10e5b4471f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/RISCV/avgflooru.ll
Log Message:
-----------
[TargetLowering][RISCV] Disable the special illegal type expansion of ISD::AVGFLOORU on RV32 (#181073)
RISC-V doesn't have a carry flag which makes the UADDO expansion
expensive to emulate.
I've disabled the code by checking if UADDO is not supported for the
type that will be legalized too. Unfortunatley, we have custom lowering
of UADDO on RV64 so this doesn't disable this code there.
Commit: 1ccb026e56774cf5d677eaf7bd06dcdc1ba00c8c
https://github.com/llvm/llvm-project/commit/1ccb026e56774cf5d677eaf7bd06dcdc1ba00c8c
Author: David Green <david.green at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
A llvm/test/CodeGen/Thumb2/mve-sli-sri.ll
Log Message:
-----------
[ARM] Add sli / sri codegen tests. NFC
These ones are taken from the AArch64 equivalent tests.
Commit: 5dd160058f68d4df22ead31d8e1fab657e5bb8fc
https://github.com/llvm/llvm-project/commit/5dd160058f68d4df22ead31d8e1fab657e5bb8fc
Author: Jaydeep Chauhan <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-vpmadd52.ll
Log Message:
-----------
[X86] Handle VPMADD52L for smaller min-legal-vector-width (#183250)
There is crash as below https://godbolt.org/z/qdE1EE4Y9, After
https://github.com/llvm/llvm-project/pull/171760 .
```
ReplaceNodeResults: t32: v8i64 = X86ISD::VPMADD52L t10, t22, t2
Do not know how to custom type legalize this operation!
```
For ```"min-legal-vector-width"="512"```, it works fine, but for smaller
value it is crash.
Commit: c5339b7025863d4e1368c93ec66043cc8a222d2b
https://github.com/llvm/llvm-project/commit/c5339b7025863d4e1368c93ec66043cc8a222d2b
Author: Petr Hosek <phosek at google.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/utils/hdrgen/hdrgen/main.py
Log Message:
-----------
[libc] Use response files for hdrgen entry points (#183267)
This avoids the build failure when the command line ends up being too
long which can be especially problematic on Windows.
Fixes #182374
Commit: 3c566a698ad0cb52ee814156f09ccdfa81266771
https://github.com/llvm/llvm-project/commit/3c566a698ad0cb52ee814156f09ccdfa81266771
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/conditional-scalar-assignment-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll
Log Message:
-----------
[LV] Fix miscompile with conditional scalar assignment + tail folding (#182492)
Previously, we could miscompile when vectorizing conditional scalar
assignments with forced tail folding, as the backedge select could be
based on the header mask, not the assignment conditional.
This resulted in a number of failures in the LLVM test suite when
building with `-O3 -march=armv8-a+sve -mllvm
-prefer-predicate-over-epilogue=predicate-dont-vectorize`.
The patch reworks `handleFindLastReductions()` to correctly handle tail
folding.
Commit: 7aa74c918a1e9a9da079a1ba472acc643956dfef
https://github.com/llvm/llvm-project/commit/7aa74c918a1e9a9da079a1ba472acc643956dfef
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
Log Message:
-----------
[mlir][vector] Refactor multi-reduction patterns (NFC) (#183048)
Refactor the following patterns to inherit from
`MaskableOpRewritePattern`:
* `TwoDimMultiReductionToReduction`
* `TwoDimMultiReductionToElementWise`
This improves code reuse, enables small simplifications, and unifies the
structure of the patterns. Add high-level comments to clarify the
overall lowering strategy.
Prepares for future refactoring (e.g. #182301) and helps maintain a
uniform implementation.
Commit: 72215a43ad3a0c057785b407b91005cdcd5e3745
https://github.com/llvm/llvm-project/commit/72215a43ad3a0c057785b407b91005cdcd5e3745
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
Log Message:
-----------
[DwarfUnit] Fix comment mistake in shouldPlaceInUnitDIE() (#183481)
Subprogram definition DIEs (for which `SP->getDeclaration() != nullptr`)
are placed at the CU scope, while subprogram declaration DIEs are placed
in their corresponding (local) scopes.
Commit: ede6ef4de3ca48c2198635052673f212a2247adc
https://github.com/llvm/llvm-project/commit/ede6ef4de3ca48c2198635052673f212a2247adc
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
Log Message:
-----------
[CIR][AArch64] Add lowering + tests for predicated SVE svdup_lane builtins (#183276)
This PR adds CIR lowering + tests for SVE `svdup_lane` builtins on
AArch64. The corresponding ACLE intrinsics are documented at:
https://developer.arm.com/architectures/instruction-sets/intrinsics
Commit: 0d8b3362f821c1b6ee11668c64441bf3a4b6ecdc
https://github.com/llvm/llvm-project/commit/0d8b3362f821c1b6ee11668c64441bf3a4b6ecdc
Author: David Spickett <david.spickett at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M lldb/include/lldb/Utility/AnsiTerminal.h
M lldb/unittests/Utility/AnsiTerminalTest.cpp
Log Message:
-----------
[lldb] Fix partial Unicode handling in TrimAndPad (#183299)
This fixes an issue I found while writing a variant of TrimAndPad for
word wrapping purposes.
TrimAndPad relies on llvm::sys::locale::ColumnWidth returning an error
value, when there is a partial uft8 character. This error code is
ErrorInvalidUTF8, which is -2.
The idea was that when you cast that into a size_t, it was always going
to be larger than our target visible width.
The check for this was:
result_visibile_length + column_width <= visible_length
Where result_visible_length and column_width are size_ts.
And the idea is correct, as long as result_visible_width is not large
enough to cause the result to wrap to be lower than visible_length.
In other words: when we have accumulated some part of the string
already, if we have to trim the next part, sometimes we would return an
incomplete Unicode character. When we should instead carry on trimming.
To fix this, I've made TrimAndPad check explicitly for the error code.
Only if it's not found, will it cast to do the second check.
Commit: bc653c4f21d5ccaa884715d3faa84ef1c4761598
https://github.com/llvm/llvm-project/commit/bc653c4f21d5ccaa884715d3faa84ef1c4761598
Author: Romaric Jodin <rjodin at google.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M libclc/opencl/lib/clspv/SOURCES
Log Message:
-----------
[libclc] add subnormals back to clspv (#183469)
Commit: 7a2bb5ff76fc7c5db1ceb79aa18027512fb20ab2
https://github.com/llvm/llvm-project/commit/7a2bb5ff76fc7c5db1ceb79aa18027512fb20ab2
Author: Ryan Cowan <ryan.cowan at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
A llvm/test/CodeGen/AArch64/complex-deinterleaving-opt-crash-178671.ll
Log Message:
-----------
[AArch64] ComplexDeinterleavingPass: instruction does not dominate all uses! (#182494)
https://github.com/llvm/llvm-project/issues/178671 highlights IR in
which ComplexDeinterleavingPass places a deinterleave2 after it's use
due to the real and imaginary parts ending up in different basic blocks.
This change modifies ComplexDeinterleavingPass to to insert the
deinterleave into the exit block.
Commit: 850b0457b232fd4b6cfeaee97e51a7426d48f85d
https://github.com/llvm/llvm-project/commit/850b0457b232fd4b6cfeaee97e51a7426d48f85d
Author: David Spickett <david.spickett at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
R lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCoreProperties.td
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
Revert "[lldb][Process/FreeBSDKernelCore] Implement DoWriteMemory()" (#183485)
Reverts llvm/llvm-project#183237
This was landed without addressing review comments.
Commit: 6d7ec4b7c3a7bd85f19e71a5fc8253c47651bfe8
https://github.com/llvm/llvm-project/commit/6d7ec4b7c3a7bd85f19e71a5fc8253c47651bfe8
Author: Aadarsh Keshri <120744385+Aadarsh-Keshri at users.noreply.github.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-pow2.ll
M llvm/unittests/Target/AArch64/AArch64SelectionDAGTest.cpp
Log Message:
-----------
[DAG] Improved ISD::SHL handling in isKnownToBeAPowerOfTwo (#181882)
Fixes #181650
Commit: 67ac275fee185e271b7ab2bcc2fe7da79dfa9b48
https://github.com/llvm/llvm-project/commit/67ac275fee185e271b7ab2bcc2fe7da79dfa9b48
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/Maintainers.md
M mlir/docs/TargetLLVMIR.md
A mlir/include/mlir-c/Dialect/X86.h
R mlir/include/mlir-c/Dialect/X86Vector.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/CMakeLists.txt
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/SparseTensor/Pipelines/Passes.h
A mlir/include/mlir/Dialect/X86/CMakeLists.txt
A mlir/include/mlir/Dialect/X86/TransformOps/CMakeLists.txt
A mlir/include/mlir/Dialect/X86/TransformOps/X86TransformOps.h
A mlir/include/mlir/Dialect/X86/TransformOps/X86TransformOps.td
A mlir/include/mlir/Dialect/X86/Transforms.h
A mlir/include/mlir/Dialect/X86/Utils/X86Utils.h
A mlir/include/mlir/Dialect/X86/X86.td
A mlir/include/mlir/Dialect/X86/X86Dialect.h
A mlir/include/mlir/Dialect/X86/X86Interfaces.td
R mlir/include/mlir/Dialect/X86Vector/CMakeLists.txt
R mlir/include/mlir/Dialect/X86Vector/TransformOps/CMakeLists.txt
R mlir/include/mlir/Dialect/X86Vector/TransformOps/X86VectorTransformOps.h
R mlir/include/mlir/Dialect/X86Vector/TransformOps/X86VectorTransformOps.td
R mlir/include/mlir/Dialect/X86Vector/Transforms.h
R mlir/include/mlir/Dialect/X86Vector/Utils/X86VectorUtils.h
R mlir/include/mlir/Dialect/X86Vector/X86Vector.td
R mlir/include/mlir/Dialect/X86Vector/X86VectorDialect.h
R mlir/include/mlir/Dialect/X86Vector/X86VectorInterfaces.td
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/X86.cpp
R mlir/lib/CAPI/Dialect/X86Vector.cpp
M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/CMakeLists.txt
M mlir/lib/Dialect/Math/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
M mlir/lib/Dialect/Vector/TransformOps/CMakeLists.txt
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
A mlir/lib/Dialect/X86/CMakeLists.txt
A mlir/lib/Dialect/X86/IR/CMakeLists.txt
A mlir/lib/Dialect/X86/IR/X86Dialect.cpp
A mlir/lib/Dialect/X86/TransformOps/CMakeLists.txt
A mlir/lib/Dialect/X86/TransformOps/X86TransformOps.cpp
A mlir/lib/Dialect/X86/Transforms/AVXTranspose.cpp
A mlir/lib/Dialect/X86/Transforms/CMakeLists.txt
A mlir/lib/Dialect/X86/Transforms/LegalizeForLLVMExport.cpp
A mlir/lib/Dialect/X86/Transforms/ShuffleVectorFMAOps.cpp
A mlir/lib/Dialect/X86/Transforms/SinkVectorProducerOps.cpp
A mlir/lib/Dialect/X86/Transforms/VectorContractBF16ToFMA.cpp
A mlir/lib/Dialect/X86/Transforms/VectorContractToFMA.cpp
A mlir/lib/Dialect/X86/Transforms/VectorContractToPackedTypeDotProduct.cpp
A mlir/lib/Dialect/X86/Utils/CMakeLists.txt
A mlir/lib/Dialect/X86/Utils/X86Utils.cpp
R mlir/lib/Dialect/X86Vector/CMakeLists.txt
R mlir/lib/Dialect/X86Vector/IR/CMakeLists.txt
R mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
R mlir/lib/Dialect/X86Vector/TransformOps/CMakeLists.txt
R mlir/lib/Dialect/X86Vector/TransformOps/X86VectorTransformOps.cpp
R mlir/lib/Dialect/X86Vector/Transforms/AVXTranspose.cpp
R mlir/lib/Dialect/X86Vector/Transforms/CMakeLists.txt
R mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
R mlir/lib/Dialect/X86Vector/Transforms/ShuffleVectorFMAOps.cpp
R mlir/lib/Dialect/X86Vector/Transforms/SinkVectorProducerOps.cpp
R mlir/lib/Dialect/X86Vector/Transforms/VectorContractBF16ToFMA.cpp
R mlir/lib/Dialect/X86Vector/Transforms/VectorContractToFMA.cpp
R mlir/lib/Dialect/X86Vector/Transforms/VectorContractToPackedTypeDotProduct.cpp
R mlir/lib/Dialect/X86Vector/Utils/CMakeLists.txt
R mlir/lib/Dialect/X86Vector/Utils/X86VectorUtils.cpp
M mlir/lib/RegisterAllDialects.cpp
M mlir/lib/RegisterAllExtensions.cpp
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/X86.td
A mlir/python/mlir/dialects/X86TransformOps.td
R mlir/python/mlir/dialects/X86Vector.td
R mlir/python/mlir/dialects/X86VectorTransformOps.td
A mlir/python/mlir/dialects/transform/x86.py
R mlir/python/mlir/dialects/transform/x86vector.py
A mlir/python/mlir/dialects/x86.py
R mlir/python/mlir/dialects/x86vector.py
M mlir/test/CMakeLists.txt
M mlir/test/Conversion/VectorToLLVM/pass-option-serialization.mlir
M mlir/test/Dialect/Math/polynomial-approximation.mlir
M mlir/test/Dialect/Vector/CPU/X86/vector-transpose-lowering.mlir
A mlir/test/Dialect/X86/cvt-packed-f32-to-bf16.mlir
A mlir/test/Dialect/X86/dot-bf16.mlir
A mlir/test/Dialect/X86/legalize-for-llvm.mlir
A mlir/test/Dialect/X86/roundtrip.mlir
A mlir/test/Dialect/X86/shuffle-vector-fmas.mlir
A mlir/test/Dialect/X86/sink-vector-producer-ops.mlir
A mlir/test/Dialect/X86/vector-contract-bf16-to-fma.mlir
A mlir/test/Dialect/X86/vector-contract-to-fma.mlir
A mlir/test/Dialect/X86/vector-contract-to-packed-type-dotproduct.mlir
R mlir/test/Dialect/X86Vector/cvt-packed-f32-to-bf16.mlir
R mlir/test/Dialect/X86Vector/dot-bf16.mlir
R mlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
R mlir/test/Dialect/X86Vector/roundtrip.mlir
R mlir/test/Dialect/X86Vector/shuffle-vector-fmas.mlir
R mlir/test/Dialect/X86Vector/sink-vector-producer-ops.mlir
R mlir/test/Dialect/X86Vector/vector-contract-bf16-to-fma.mlir
R mlir/test/Dialect/X86Vector/vector-contract-to-fma.mlir
R mlir/test/Dialect/X86Vector/vector-contract-to-packed-type-dotproduct.mlir
A mlir/test/Integration/Dialect/Vector/CPU/X86/dot.mlir
A mlir/test/Integration/Dialect/Vector/CPU/X86/inline-asm-vector-avx512.mlir
A mlir/test/Integration/Dialect/Vector/CPU/X86/lit.local.cfg
A mlir/test/Integration/Dialect/Vector/CPU/X86/mask-compress.mlir
A mlir/test/Integration/Dialect/Vector/CPU/X86/rsqrt.mlir
A mlir/test/Integration/Dialect/Vector/CPU/X86/sparse-dot-product.mlir
A mlir/test/Integration/Dialect/Vector/CPU/X86/vp2intersect-i32.mlir
R mlir/test/Integration/Dialect/Vector/CPU/X86Vector/dot.mlir
R mlir/test/Integration/Dialect/Vector/CPU/X86Vector/inline-asm-vector-avx512.mlir
R mlir/test/Integration/Dialect/Vector/CPU/X86Vector/lit.local.cfg
R mlir/test/Integration/Dialect/Vector/CPU/X86Vector/mask-compress.mlir
R mlir/test/Integration/Dialect/Vector/CPU/X86Vector/rsqrt.mlir
R mlir/test/Integration/Dialect/Vector/CPU/X86Vector/sparse-dot-product.mlir
R mlir/test/Integration/Dialect/Vector/CPU/X86Vector/vp2intersect-i32.mlir
A mlir/test/Target/LLVMIR/x86.mlir
R mlir/test/Target/LLVMIR/x86vector.mlir
M mlir/test/lib/Dialect/Math/CMakeLists.txt
M mlir/test/lib/Dialect/Math/TestPolynomialApproximation.cpp
M mlir/test/lib/Dialect/Vector/CMakeLists.txt
M mlir/test/lit.site.cfg.py.in
M mlir/test/mlir-opt/commandline.mlir
A mlir/test/mlir-runner/X86/lit.local.cfg
A mlir/test/mlir-runner/X86/math-polynomial-approx-avx2.mlir
R mlir/test/mlir-runner/X86Vector/lit.local.cfg
R mlir/test/mlir-runner/X86Vector/math-polynomial-approx-avx2.mlir
A mlir/test/python/dialects/transform_x86_ext.py
R mlir/test/python/dialects/transform_x86vector_ext.py
A mlir/test/python/dialects/x86.py
R mlir/test/python/dialects/x86vector.py
Log Message:
-----------
[mlir][x86] Rename x86vector to x86 (#183311)
Renames 'x86vector' dialect to 'x86'.
This is the first PR in series of cleanups around dialects targeting x86
platforms.
The new naming scheme is shorter, cleaner, and opens possibility of
integrating other x86-specific operations not strictly fitting pure
vector representation. For example, the generalization will allow for
future merger of AMX dialect into the x86 dialect to create one-stop x86
operations collection and boost discoverability.
Commit: bff5ef6b232d9c7459dee333c09e70e9f965e5a1
https://github.com/llvm/llvm-project/commit/bff5ef6b232d9c7459dee333c09e70e9f965e5a1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
A llvm/test/CodeGen/X86/funnel-shift-i512.ll
Log Message:
-----------
[X86] Add i512 funnel shift / rotate test coverage (#183486)
Commit: ec585757a1c2a1b10730252ae904b3f74bd8bd65
https://github.com/llvm/llvm-project/commit/ec585757a1c2a1b10730252ae904b3f74bd8bd65
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/Mips/MicroMipsInstrFPU.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsInstrFPU.td
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/test/CodeGen/Mips/fabs.ll
M llvm/test/CodeGen/Mips/fmadd1.ll
M llvm/test/CodeGen/Mips/llvm-ir/nan-fp-attr.ll
Log Message:
-----------
[Mips] Remove NoNaNsFPMath uses (#183045)
Remove `NoNaNsFPMath` by using `PatFrag`, we should only use `nnan`.
Duplicate tests in `CodeGen/Mips/llvm-ir/nan-fp-attr.ll` are removed.
Commit: 230481c3db95e93736d1e3cd49d7bbf16f9a2d15
https://github.com/llvm/llvm-project/commit/230481c3db95e93736d1e3cd49d7bbf16f9a2d15
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
Log Message:
-----------
CodeGen: Change error messages to follow phrasing guidance (#183488)
Avoid contractions and starting with a capital. These seem to be
missing tests.
Commit: 23dffff41070af5c9447aa5d9fc4f7eceb0f4743
https://github.com/llvm/llvm-project/commit/23dffff41070af5c9447aa5d9fc4f7eceb0f4743
Author: David Spickett <david.spickett at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M lldb/include/lldb/Utility/AnsiTerminal.h
M lldb/test/API/commands/help/TestHelp.py
M lldb/unittests/Utility/AnsiTerminalTest.cpp
Log Message:
-----------
[lldb] Fix issues handling ANSI codes and Unicode in option help (#183314)
Fixes #177570, and a bunch of FIXMEs for other tests known to be
incorrect.
To do this, I have adapted code from the existing ansi::TrimAndPad. At
first I tried a wrapper function, but there's a few things we need to
handle that cannot be done with a simple wrapper.
We must only split at word boundaries. This requires knowing whether the
last adjustment, which may be the final adjustment, was made at, or just
before, a word boundary. Also it must check for single words wider than
the requested width (though this you could do with a wrapper).
For this reason, the new TrimAtWordBoundary has more special case checks
and a more complex inner loop. Though the core is the same split into
left, ansi escape code and right that TrimAndPad uses.
It is that splitting that implements the "bias" we need to print
correctly formatted characters. When you have a preceeding ANSI code,
this must be included in the printed range, same for proceeding.
TrimAndPad already handled this, and I've copied that logic over.
TrimAndPad also used Unicode aware functions, which fixes the known
issues with Unicode (though no command option actually uses Unicode at
the moment).
This PR replaces PR #181860, where I tried to implement all this using a
strategy that used "visible indexes" to decide where to cut the lines,
and then converted those into "actual indexes" to know what to print.
This worked for most cases, but adding the "bias" was very complex. The
preceeding codes were quite easy to do, but proceeding proved to be too
complex.
I also had the feeling I was revinventing TrimAndPad and though it
didn't turn out to be that simple, it wasn't far off.
As the majority of the work is now done in TrimAtWordBoundary, I have
reused some existing OutputWordWrappedLines tests for the new function.
Commit: b101f01382d6ff53cebeedbcbf114d02947b10ce
https://github.com/llvm/llvm-project/commit/b101f01382d6ff53cebeedbcbf114d02947b10ce
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__locale_dir/pad_and_output.h
A libcxx/test/benchmarks/streams/copy.bench.cpp
M libcxx/test/libcxx/algorithms/specialized_algorithms.compile.pass.cpp
A libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ostreambuf.copy.pass.cpp
M libcxx/test/support/stream_types.h
Log Message:
-----------
[libc++] Optimize using std::copy with an ostreambuf_iterator (#181815)
```
Benchmark old new Difference % Difference
---------------------------------------------- -------------- -------------- ------------ --------------
std::copy(CharT*,_CharT*,_ostreambuf_iterator) 8115.45 329.54 -7785.91 -95.94%
```
Commit: d46a400767199b24b9cf26ba6d1d00001df8d38c
https://github.com/llvm/llvm-project/commit/d46a400767199b24b9cf26ba6d1d00001df8d38c
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/fma-combine.ll
Log Message:
-----------
[PowerPC] Remove `NoSignedZerosFPMath` uses (#180087)
Users should use `nsz` flag only.
Commit: ff5dcb1bc58930b8beefb40a04c64bfcfe348162
https://github.com/llvm/llvm-project/commit/ff5dcb1bc58930b8beefb40a04c64bfcfe348162
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[SPIRV] Simplify `selectPhi` and remove unreachable code (#183060)
Before it created a `OpPhi` with a Type argument, to immediately remove
this Type and change the opcode to `PHI`.
Only `TargetOpcode::PHI` get to `SPIRVTargetLowering::finalizeLowering`.
The `TargetOpcode::PHI` gets lowered to `SPIRV::OpPhi` much later, by
`patchPhi` in the `SPIRVModuleAnalysis`.
`SPIRVModuleAnalysis` is requested by the
`SPIRVAsmPrinter` through `getAnalysisUsage` (which is ugly).
```
Commit: 90b3fd71013a010e3bbcaf9f06b8bad32947da29
https://github.com/llvm/llvm-project/commit/90b3fd71013a010e3bbcaf9f06b8bad32947da29
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[DAG] Move (X +/- Y) & Y --> ~X & Y fold from visitAnd to SimplifyDemandedBits (#183270)
Add DemandedElts handling to allow better vector support
To prevent RISCV falling back to a mul call in known-never-zero.ll I've
had to tweak the (mul step_vector(C0), C1) to (step_vector(C0 * C1))
fold to only occur if C0 is already non-power-of-2, C0 * C1 is a
power-of-2 or the target has good mul support.
Commit: cd68939326ed073ad6d50e034310cc295eddd72e
https://github.com/llvm/llvm-project/commit/cd68939326ed073ad6d50e034310cc295eddd72e
Author: David Stuttard <david.stuttard at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
Log Message:
-----------
[AMDGPU] Add attribute for FWD_PROGRESS (#181675)
Added an attribute for FWD_PROGRESS that allows it to be
turned off for some shaders.
Commit: f02c6ea833a6953be593500ff248c843d5179b04
https://github.com/llvm/llvm-project/commit/f02c6ea833a6953be593500ff248c843d5179b04
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-trig-preop.ll
Log Message:
-----------
AMDGPU: llvm.amdgcn.trig.preop cannot return negative values (#183306)
This returns a positive value less than 1.
Commit: 32b8b9ba1e22e4d2bde05a8a1284531702908f7c
https://github.com/llvm/llvm-project/commit/32b8b9ba1e22e4d2bde05a8a1284531702908f7c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
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/AArch64/fold-tail-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/X86/fold-tail-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/lcssa-crashes.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
Log Message:
-----------
[VPlan] Simplify ExitingIVValue and use for tail-folded IVs. (#182507)
Now that we have ExitingIVValue, we can also use it for tail-folded
loops; the only difference is that we have to compute the end value with
the original trip count instead the vector trip count.
This allows removing the induction increment operand only used when
tail-folding.
PR: https://github.com/llvm/llvm-project/pull/182507
Commit: 254cb2a32649098b11edaac2cc6eb31ea9bfe117
https://github.com/llvm/llvm-project/commit/254cb2a32649098b11edaac2cc6eb31ea9bfe117
Author: Dark Steve <Prasoon.Mishra at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/PostRAHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/wmma-nop-hoisting.mir
Log Message:
-----------
[AMDGPU] Hoist WMMA coexecution hazard V_NOPs from loops to preheaders (#176895)
On GFX1250, V_NOPs inserted for WMMA coexecution hazards are placed at
the use-site. When the hazard-consuming instruction is inside a loop and
the WMMA is outside, these NOPs execute every iteration even though the
hazard only needs to be covered once.
This patch hoists the V_NOPs to the loop preheader, reducing executions
from N iterations to 1.
```
Example (assuming a hazard requiring K V_NOPs):
Before:
bb.0 (preheader): WMMA writes vgpr0
bb.1 (loop): V_NOP xK, VALU reads vgpr0, branch bb.1
-> K NOPs executed per iteration
After:
bb.0 (preheader): WMMA writes vgpr0, V_NOP xK
bb.1 (loop): VALU reads vgpr0, branch bb.1
-> K NOPs executed once
```
For nested loops, V_NOPs are hoisted to the outermost preheader where no
WMMA hazard exists within the loop.
Hoisting is restricted to strict preheaders (not any single predecessor)
to avoid introducing V_NOPs on unrelated control flow paths.
The optimization is controlled by `-amdgpu-wmma-vnop-hoisting` (default:
on).
Fixes: SWDEV-573407
Commit: d8ce0e729997f7b49bd291388b901613cc678bdd
https://github.com/llvm/llvm-project/commit/d8ce0e729997f7b49bd291388b901613cc678bdd
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.h
Log Message:
-----------
[flang][OpenMP] Inline CheckNestedBlock, NFC (#181732)
CheckNestedBlock no longer calls itself, which was the primary reason
for the code to be in a separate function.
Commit: bfa3da861342372bbfd7ee8e2d80bc52feb8d57e
https://github.com/llvm/llvm-project/commit/bfa3da861342372bbfd7ee8e2d80bc52feb8d57e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Record.cpp
M clang/lib/AST/ByteCode/Record.h
Log Message:
-----------
[clang][bytecode] Optimize `interp::Record` a bit (#183494)
And things around it.
Remove the `FieldMap`, since we can use the field's index instead and
only keep an array around. `reserve()` the sizes and use
`emplace_back()`.
Commit: c5d6feb3152bf39d820935df0d0490f90364d44c
https://github.com/llvm/llvm-project/commit/c5d6feb3152bf39d820935df0d0490f90364d44c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
Log Message:
-----------
[VPlan] Limit interleave group narrowing to consecutive wide loads.
Tighten check in canNarrowLoad to require consecutive wide loads; we
cannot properly narrow gathers at the moment.
Fixe https://github.com/llvm/llvm-project/issues/183345.
Commit: b7989de510ef17af1e7853632ee220bd7d9c09b1
https://github.com/llvm/llvm-project/commit/b7989de510ef17af1e7853632ee220bd7d9c09b1
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M libc/test/shared/CMakeLists.txt
Log Message:
-----------
[libc][math] Disable shared math tests on AArch64
Commit: 841d5111bfdcb8fb1ba8d2ebd3c18005c063fab8
https://github.com/llvm/llvm-project/commit/841d5111bfdcb8fb1ba8d2ebd3c18005c063fab8
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/Transforms/SimplifyCFG/AArch64/switch-to-lookup-table-vector-constants.ll
R llvm/test/Transforms/SimplifyCFG/AArch64/switch-to-lookup-table-vector-splat.ll
Log Message:
-----------
[LLVM][SimplifyCFG] Allow switch-to-table for some vector constants. (#183057)
Only applies to fixed length vector constants that are made up of either
ConstantInt or ConstantFP elements.
Commit: ffc8780d1aedb866c7ba62dc820ba51ed8d62d18
https://github.com/llvm/llvm-project/commit/ffc8780d1aedb866c7ba62dc820ba51ed8d62d18
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Affine/TransformOps/CMakeLists.txt
M mlir/include/mlir/Dialect/ArmNeon/TransformOps/CMakeLists.txt
M mlir/include/mlir/Dialect/ArmSME/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/ArmSVE/TransformOps/CMakeLists.txt
M mlir/include/mlir/Dialect/Bufferization/TransformOps/CMakeLists.txt
M mlir/include/mlir/Dialect/DLTI/TransformOps/CMakeLists.txt
M mlir/include/mlir/Dialect/Func/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Func/TransformOps/CMakeLists.txt
M mlir/include/mlir/Dialect/GPU/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/GPU/TransformOps/CMakeLists.txt
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
M mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Linalg/TransformOps/CMakeLists.txt
M mlir/include/mlir/Dialect/MemRef/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/MemRef/TransformOps/CMakeLists.txt
M mlir/include/mlir/Dialect/SCF/TransformOps/CMakeLists.txt
M mlir/include/mlir/Dialect/SPIRV/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Tensor/TransformOps/CMakeLists.txt
M mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/DebugExtension/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/IRDLExtension/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/LoopExtension/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/PDLExtension/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/SMTExtension/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/TuneExtension/CMakeLists.txt
M mlir/include/mlir/Dialect/Vector/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/XeGPU/TransformOps/CMakeLists.txt
Log Message:
-----------
[MLIR] Fix mlir-doc build failures by adding -dialect to add_mlir_doc calls
Add -dialect=<name> to all add_mlir_doc() calls that were missing it, fixing
failures after a8f2e80d5fe3 made findDialectToGenerate() require -dialect when
multiple dialects are present in a .td file.
Commit: 327f06053599a2cfc9692ca7d5ce3283ce206cf8
https://github.com/llvm/llvm-project/commit/327f06053599a2cfc9692ca7d5ce3283ce206cf8
Author: Abhijeet <abhijeetsharma2002 at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[DAG] Fix OrZero in isKnownToBeAPowerOfTwo ISD::AND (#182934)
Fixes #181653
Commit: d3f69024a54fb95ebf95dc7ed36750ff33f6fa1e
https://github.com/llvm/llvm-project/commit/d3f69024a54fb95ebf95dc7ed36750ff33f6fa1e
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Arith/ops.mlir
Log Message:
-----------
[mlir][arith] Add `nneg` to index_castui. (#183383)
Follow up to #183165
`nneg` is added to `arith.index_castui`.
> When the `nneg` flag is present, the operand is assumed to be
non-negative.
> In this case, zero extension is equivalent to sign extension. When
this
> assumption is violated, the result is poison.
* Updates op definition to add assembly format and `nneg` flag.
* Updates canonicalization patterns to take into account `nneg` in
`arith.index_castui`.
* Updates arith-to-llvm lowering to preserve `nneg` when lowering
`arith.index_castui` to `zext`
* Adds roundtrip, canonicalization, and lowering tests
Assisted-by: claude
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: ff3e4a6fa3fd07a63f63b0fec87106caa38f972a
https://github.com/llvm/llvm-project/commit/ff3e4a6fa3fd07a63f63b0fec87106caa38f972a
Author: Gergo Stomfai <stomfaig at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-binop.ll
Log Message:
-----------
[InstCombine] Fold shift of boolean zext to logic sequence (#180596)
Alive2 proofs:
- `eq` case:
https://alive2.llvm.org/ce/z/09hPk-
- `ne` case:
https://alive2.llvm.org/ce/z/zrof4X
Resolves llvm/llvm-project#180492
Commit: 58e3eae2b3592113b32d9af94ff7fe1ffeb1df81
https://github.com/llvm/llvm-project/commit/58e3eae2b3592113b32d9af94ff7fe1ffeb1df81
Author: Emilio Cota <ecg at google.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Fix build for 67ac275 (#183510)
Commit: aa3d6b37c7945bfb4c261dd994689de2a2de25bf
https://github.com/llvm/llvm-project/commit/aa3d6b37c7945bfb4c261dd994689de2a2de25bf
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.h
M clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
Log Message:
-----------
[clang][bytecode] Attach block scope variables to the root scope (#183279)
... if we don't have a block scope available. This can happen in
`EvalEmitter` scenarios and can cause local variable blocks to be
prematurely converted to dead blocks. Attach `ScopeKind::Block` variable
to the root scope instead.
Commit: 9ec7b025cf1806c4d1a9ab7541c7695e7453558f
https://github.com/llvm/llvm-project/commit/9ec7b025cf1806c4d1a9ab7541c7695e7453558f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
A llvm/test/Transforms/JumpTableToSwitch/stats.ll
Log Message:
-----------
[JTS] Add statistics (#183431)
This patch adds some statistics to the jump-table-to-switch pass. This
will make it easier to see in aggregate how changing the profitability
heuristics impacts how often the optimization fires.
Commit: 7516bc1a57d4e07c25f62b3d35573617648f82ca
https://github.com/llvm/llvm-project/commit/7516bc1a57d4e07c25f62b3d35573617648f82ca
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/vector-shuffle-concatenation.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[X86] Clearout unused FALLBACK check prefixes from vector extension/concatenation tests. NFC. (#183527)
These were used before update_llc_test_checks reported when we had lost check coverage - we've cleaned up a lot of check prefixes since then
Commit: fad15b9b12b71a6f900329224d24dbaecbed99f8
https://github.com/llvm/llvm-project/commit/fad15b9b12b71a6f900329224d24dbaecbed99f8
Author: idubinov <idubinov at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/exp10-glsl.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/exp10-opencl.ll
Log Message:
-----------
[SPIR-V] Add lowering for G_FEXP10 (#182466)
Use opencl exp10 and exp10(x) = exp2(x * log2(10)) formula for GLSL
Commit: bd5f9384d831c01b5f388de0be910c385562ed77
https://github.com/llvm/llvm-project/commit/bd5f9384d831c01b5f388de0be910c385562ed77
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops-and-casts.ll
M llvm/test/Transforms/LoopVectorize/pr128062-interleaved-accesses-narrow-group.ll
Log Message:
-----------
[VPlan] Extend interleave-group-narrowing to WidenCast (#183204)
WidenCast is very similar to Widen recipes.
Fixes #128062.
Commit: 8b41ad4430537e595ea82e0c84de9a24ee20ca1f
https://github.com/llvm/llvm-project/commit/8b41ad4430537e595ea82e0c84de9a24ee20ca1f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-accesslist-offsetbins-out-of-sync.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-flat-scratch-init-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-intrinsic-missing-nocallback.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-min-agpr-alloc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-nocallback-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-trap-leaf.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/annotate-existing-abi-attributes.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-max-num-workgroups-propagate.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
M llvm/test/CodeGen/AMDGPU/attributor-loop-issue-58639.ll
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/issue120256-annotate-constexpr-addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/propagate-amdgpu-cluster-dims.ll
M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
M llvm/test/Transforms/PhaseOrdering/AMDGPU/infer-address-space.ll
Log Message:
-----------
AMDGPU: Stop adding uniform-work-group-size=false (#183502)
This is one of the string attributes that takes a boolean
value for no reason. There is no point in ever writing this
with an explicit false. Stop adding the noise and reporting
an unnecessary change.
Commit: 7ed40b525937ba59284d1f1a4bb7fcc3f129190d
https://github.com/llvm/llvm-project/commit/7ed40b525937ba59284d1f1a4bb7fcc3f129190d
Author: Ryan Cowan <ryan.cowan at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/aarch64-inline-asm-bitcast-crash.ll
Log Message:
-----------
[AArch64] When lowering 16 bit vector bitcasts, convert to i16. (#178249)
https://github.com/llvm/llvm-project/issues/173483 constrains some
registers to be f16. A bitcast is inserted to bitcast a v2i8 to an f16
due to this constrain. Eventually this bitcast is routed through
`LowerBITCAST` due to the type being illegal. This would cause a crash.
By converting this v2i8 to an i16, we can continue to use the existing
path to lower the bitcast.
Commit: a10e77b1a52f56c3c5fd16631a024441ac7c805e
https://github.com/llvm/llvm-project/commit/a10e77b1a52f56c3c5fd16631a024441ac7c805e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/environment.cpp
M flang/docs/RuntimeEnvironment.md
Log Message:
-----------
[flang][runtime] Conditionally fail empty ALLOCATE (#182918)
Add an environment variable (FORT_NO_EMPTY_ALLOCATION) that, when set to
1, changes the behavior of an ALLOCATE statement so that it will fail on
an empty allocation rather than its default behavior of allocating one
byte.
Commit: b56137d2a074a52ef49c405195104dd7f1192d03
https://github.com/llvm/llvm-project/commit/b56137d2a074a52ef49c405195104dd7f1192d03
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/convergent.mir
Log Message:
-----------
[AMDGPU] Ensure all DPP instructions are convergent (#183334)
All DPP instructions in AMDGPUGenInstrInfo.inc are verified to now be
marked as convergent. This is necessary to prevent DPP instructions from
being incorrectly sunk by machine-sink.
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: b313988735105d2664a87d6d1444a57414002d14
https://github.com/llvm/llvm-project/commit/b313988735105d2664a87d6d1444a57414002d14
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/call03.f90
Log Message:
-----------
[flang] Catch missed error cases of assumed-rank actual arguments (#182932)
Assumed-rank actual arguments are acceptable to some intrinsic
procedures, and for association with assumed-rank dummy arguments, but
other cases are not allowed. We catch some, namely ELEMENTAL callees and
CHARACTER arguments, but not the general case error of an assumed-rank
array being associated with a non-assumed-rank dummy.
Commit: 1c2e9b1ea680ef4d37c409f78a6b6b25eef5d25f
https://github.com/llvm/llvm-project/commit/1c2e9b1ea680ef4d37c409f78a6b6b25eef5d25f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
Log Message:
-----------
[X86] Clearout unused FALLBACK check prefixes from vector midpoint tests. NFC. (#183534)
These were used before update_llc_test_checks reported when we had lost
check coverage - we've cleaned up a lot of check prefixes since then
Commit: cbcaae2b5c33ef316f25538bc5cb4c88b71d2f22
https://github.com/llvm/llvm-project/commit/cbcaae2b5c33ef316f25538bc5cb4c88b71d2f22
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-io.h
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/io16.f90
Log Message:
-----------
[flang] Warn about assumed-rank items in I/O lists (#182957)
An assumed-rank dummy argument is not a conforming I/O list or NAMELIST
group item. Add a -pedantic warning and some documentation.
Commit: 0d6f6584622fee13f003bc4be8fe21532163ba40
https://github.com/llvm/llvm-project/commit/0d6f6584622fee13f003bc4be8fe21532163ba40
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/call01.f90
Log Message:
-----------
[flang] Catch recursive call to non_recursive ENTRY (#182971)
The check for a recursive call to a non-recursive subprogram doesn't
allow for the case of an alternate ENTRY point.
Commit: 62d473bd01192157493e5bc96e4a8d299ce2594d
https://github.com/llvm/llvm-project/commit/62d473bd01192157493e5bc96e4a8d299ce2594d
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/test/CIR/CodeGenCXX/global-refs.cpp
Log Message:
-----------
[CIR] Implement 1 more global-ref variable fixup (#183403)
This is related to #182608, and I discovered this doing something else.
This patch adds 1 missing call/removes 1 NYI to get references to a
global reference that weren't caught elsewhere to correctly codegen.
Commit: 35db91c0d8295b8cef3d27502a4354ff8f508075
https://github.com/llvm/llvm-project/commit/35db91c0d8295b8cef3d27502a4354ff8f508075
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang/include/flang/Common/format.h
M flang/test/Semantics/io08.f90
Log Message:
-----------
[flang] Catch empty nested parenthsized format item list (#183097)
While a completely empty format item list is meaningful -- it does
nothing when there are no data items -- an empty nested parenthesized
format item list is neither conforming nor useful, and will cause a
runtime error if it is interpreted as unlimited repetition. We
essentially catch these cases as parsing errors when they appear in a
FORMAT statement, but the format string checker used for character
constants is missing them.
Commit: cfa7ba7d7c01d75a2267b362cb5179e36ab585a8
https://github.com/llvm/llvm-project/commit/cfa7ba7d7c01d75a2267b362cb5179e36ab585a8
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaTypes.td
M mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir
M mlir/test/Dialect/SPIRV/IR/tosa-ops.mlir
M mlir/test/Target/SPIRV/tosa-ops.mlir
Log Message:
-----------
[mlir][spirv] Add 6 Element Binary operators to TOSA Ext Inst Set (#179627)
This patch introduces the following element binary operators:
* spirv.Tosa.Add
* spirv.Tosa.ArithmeticRightShift
* spirv.Tosa.BitwiseAnd
* spirv.Tosa.BitwiseOr
* spirv.Tosa.BitwiseXor
* spirv.Tosa.IntDiv
Also dialect and serialization round-trip tests have been added.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: a8198bdd91f5daf751627c8b759680470979c26b
https://github.com/llvm/llvm-project/commit/a8198bdd91f5daf751627c8b759680470979c26b
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
Log Message:
-----------
[mlir][SPIRV][NFC] Refactor getElementTypeForStoragePointer for load/store lowering. (#183459)
The revision refactors the repeated logic for extracting the storage
element type from a SPIR-V pointer type into a shared helper function.
This pattern was duplicated in AtomicRMWOpPattern, LoadOpPattern, and
StoreOpPattern.
The helper handles both Kernel capability (direct array/scalar) and
Vulkan (struct-wrapped array/runtime array) cases.
It is a follow-up for
https://github.com/llvm/llvm-project/commit/f80205becd384e73e3dfc6ece97297ab1e8a35f9
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 8a7e718a789666dfec784c611b837cf9f0e2511a
https://github.com/llvm/llvm-project/commit/8a7e718a789666dfec784c611b837cf9f0e2511a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang/lib/Evaluate/characteristics.cpp
M flang/test/Semantics/associated.f90
A flang/test/Semantics/bug2273.f90
Log Message:
-----------
[flang] Silence confusing spurious error message (#183105)
The procedure characterization module unconditionally emits a "'foobar'
is not a procedure" when asked to analyze a symbol that is, well, not a
procedure -- even when called with a flag to suppress errors from
analysis, since the calling context is going to handle failure. This
leads to some error messages that have source positions completely
unrelated to the symbol in question. Make this error sensitive to the
suppression flag.
Commit: 9d075d271ff15ec153ada3413d294540206a15ed
https://github.com/llvm/llvm-project/commit/9d075d271ff15ec153ada3413d294540206a15ed
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
M flang/test/Driver/intrinsic-module-path.f90
A flang/test/Semantics/Inputs/modfile83.mod
A flang/test/Semantics/modfile83.f90
Log Message:
-----------
[flang] Fail more gracefully when asked to read a bogus module file (#183119)
Flang-new emits a torrent of Fortran tokenization error messages when
asked to read a module file from another compiler. Handle this case with
a better error message.
Commit: 67eb750225e331c22c924145605b4a0b9ab25427
https://github.com/llvm/llvm-project/commit/67eb750225e331c22c924145605b4a0b9ab25427
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/lib/runtime/iostat.cpp
M flang/include/flang/Runtime/iostat-consts.h
Log Message:
-----------
[flang][runtime] Catch asynchronous parent or child I/O (#183161)
ASYNCHRONOUS="YES" is not permitted for either a parent or child data
transfer statement in ISO Fortran (F'2023 12.6.4.8.3 p19). Not that it
matters much -- we don't support true asynchronous I/O anyway -- but
someday we might, and in the meantime it's nice to be able to pass tests
that check conformance.
Commit: 7acc02ff7a1dd83b247bfdf97f9336d0ac02220e
https://github.com/llvm/llvm-project/commit/7acc02ff7a1dd83b247bfdf97f9336d0ac02220e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang-rt/lib/runtime/transformational.cpp
Log Message:
-----------
[flang][runtime] Catch EOSHIFT ARRAY/BOUNDARY type mismatch (#183168)
The ARRAY= and optional BOUNDARY= arguments to EOSHIFT must have the
same dynamic type. Add a runtime check.
Commit: 41f36ee62d6e5ecbbf1696a3c255133e772e7b17
https://github.com/llvm/llvm-project/commit/41f36ee62d6e5ecbbf1696a3c255133e772e7b17
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang/lib/Parser/unparse.cpp
A flang/test/Parser/bug2280.f90
Log Message:
-----------
[flang] Don't unparse 1X or X format as X (#183196)
The unparsing code emits a bare X control edit descriptor when its
repetition count is 1, since a bare X control edit descriptor defaults
to 1X. But it's not conforming usage, so it might cause a warning if
unparsed code is recompiled with -pedantic. So don't do that.
Commit: 8bae572c62407c6678699594953e4bd8ab218474
https://github.com/llvm/llvm-project/commit/8bae572c62407c6678699594953e4bd8ab218474
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang/lib/Evaluate/check-expression.cpp
A flang/test/Semantics/bug2292.f90
Log Message:
-----------
[flang] Fix crash on error case (#183338)
A named constant implicit-shape array with a non-constant lower bound is
an error case. Emit an error message rather than crashing.
Commit: df2f3460da63dccd96c343dad44619fce09c57a8
https://github.com/llvm/llvm-project/commit/df2f3460da63dccd96c343dad44619fce09c57a8
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang/include/flang/Semantics/expression.h
Log Message:
-----------
[flang] Silence build warning (#183393)
Add a [[maybe_unused]] to a parameter of a function with several
constexpr ifs, some of whose branches don't use the parameter.
Commit: 6df45ed1b837449079a7a40090961e5d2a52734e
https://github.com/llvm/llvm-project/commit/6df45ed1b837449079a7a40090961e5d2a52734e
Author: Brox Chen <guochen2 at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-sgpr32-to-vgpr16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.e5m3.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
Log Message:
-----------
[AMDGPU][True16] change vdst_in regclass and remove opsel for cvt_pk_f8_fp32 pattern (#179995)
Two changes:
1. int_amdgcn_cvt_pk_fp/bf8_f32 takes a i32 as a tied input, and this
tied input is passed to cvt_pk_f8_fp32 as a tied vdst_in. In true16 mode
the vdst_in is in vgpr16. Since this i32 could be in sreg32, need to
copy it to vgpr32 first before extract_subreg.
2. remove SRCMODS.DST_OP_SEL from cvt_pk_f8_fp32 pattern in true16 mode.
The opsel is not needed since the hi/lo16 will be clobbered by the
following register rewrite/allocation pass and this const opsel causes
conflictions
Commit: 5de92856bd6c238eb703202a8934f03480e80ee5
https://github.com/llvm/llvm-project/commit/5de92856bd6c238eb703202a8934f03480e80ee5
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__tree
M libcxx/include/__utility/lazy_synth_three_way_comparator.h
A libcxx/test/libcxx/containers/associative/debug.non-strict-weak-ordering.pass.cpp
A libcxx/test/libcxx/containers/associative/lower_upper_bound_non_strict_weak_order.pass.cpp
Log Message:
-----------
[libc++] Introduce a escape hatch for the changed behavior of map and set search operations (#183190)
In #155245, we implemented an optimization to std::map and std::set
search operations. That optimization took advantage of something that is
guaranteed by the Standard, namely that the comparator provided to the
associative container is a valid strict weak ordering.
Sadly, some code in the wild did not satisfy this requirement, such as
Boost.ICL: boostorg/icl#51
Since this can have extremely tricky runtime consequences, this patch
introduces a temporary escape hatch for the LLVM 22 release that allows
reverting to the previous behavior. It also explicitly calls out the
change in the release notes, adds some regression tests and adds debug
mode support for catching some of these invalid predicates.
Fixes #183189
Commit: d161a220bc4a089038425c43904dd8e4d4ff2898
https://github.com/llvm/llvm-project/commit/d161a220bc4a089038425c43904dd8e4d4ff2898
Author: Brox Chen <guochen2 at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
Log Message:
-----------
[AMDGPU] lower fptrunc.round(rtz) to cvt_pkrtz_f16_f32 (#177069)
Lower fptrunc.round(rtz) to cvt_pkrtz_f16_f32 and remove setreg
Commit: 6f736e2cd9933aed1c8b72f2fe370f7d60bd3709
https://github.com/llvm/llvm-project/commit/6f736e2cd9933aed1c8b72f2fe370f7d60bd3709
Author: pkarveti <quic_pkarveti at quicinc.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/Hexagon.td
A llvm/test/CodeGen/Hexagon/v81-early-arch-features.ll
Log Message:
-----------
[Hexagon] Add missing early architecture features to V81 processor (#183499)
V81 was missing ArchV5, ArchV55, ArchV60, and ArchV62 in its feature
list, causing instructions requiring these architecture versions to fail
during compilation.
Commit: 78689630b38076fa67caae02766b789d2e7871ab
https://github.com/llvm/llvm-project/commit/78689630b38076fa67caae02766b789d2e7871ab
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_relaxed_printf_string_address_space/non-constant-printf.ll
Log Message:
-----------
[SPIRV] Fix disabling of default extensions (#183325)
If you pass `-ExtName` to the `--spirv-ext` command line option. that
should disable the extension. However some vendors have some extensions
enabled by default when using a triple with that vendor, and disabling
an extension with the option did not effect the default extensions.
This PR makes it so disabling an extension with the `--spirv-ext` option
actually disables the extension.
The problem was we only considered the disabled extension when parsing
the arguments for `--spirv-ext`, but the default extensions are added
separately, so we need to store the disabled extensions and factor them
in when computing the final extension set to use.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 46aae011880428279b1b9e2df801d62ac4843a8b
https://github.com/llvm/llvm-project/commit/46aae011880428279b1b9e2df801d62ac4843a8b
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
[Driver][SPIRV] Fix SPIR-V build for AMD. (#183529)
The AMD path doesn't use spirv-link, and the driver was incorrectly
adding flags for it, which broke the build. The regression was
introduced in
https://github.com/llvm/llvm-project/commit/1870f3face71d6da2bc0095f751dd1b961b7e4c0.
Without this PR's fix, the following assertion is triggered
[here](https://github.com/llvm/llvm-project/blob/aa3d6b37c7945bfb4c261dd994689de2a2de25bf/clang/lib/Driver/ToolChains/HIPAMD.cpp#L43)
when the LLVM bitcode is linked because unexpected flags are forwarded:
```clang::driver::InputInfo::getFilename() const: Assertion
`isFilename() && "Invalid accessor."' failed.```
The bug was triggered by:
`clang++ --offload-new-driver -x hip -O3 --offload-arch=amdgcnspirv
-use-spirv-backend -fvisibility=default -v ./repro/foo.hip -o out
-save-temps`.
This eventually invoked: `clang --no-default-config -o
foo.hip-hip-spirv64-amd-amdhsa.hipfb.spirv64.amdgcnspirv.img -dumpdir
foo.hip-hip-spirv64-amd-amdhsa.hipfb.spirv64.amdgcnspirv.img.
--target=spirv64-amd-amdhsa -march=amdgcnspirv
foo-hip-spirv64-amd-amdhsa-spirv64-amd-amdhsa-amdgcnspirv.o -Xlinker
--allow-partial-linkage -O3 -use-spirv-backend -save-temps=cwd
-flto-partitions=8 -###`.
It triggered the crash due to the incorrect flags.
Commit: bbaf723d863704017226b0f6fb4af26b779c0e89
https://github.com/llvm/llvm-project/commit/bbaf723d863704017226b0f6fb4af26b779c0e89
Author: Lidong Yan <yldhome2d2 at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/docs/HowToSetUpLLVMStyleRTTI.rst
Log Message:
-----------
[llvm/docs] Add advanced RTTI techniques to HowToSetUpLLVMStyleRTTI (#181863)
The `HowToSetUpLLVMStyleRTTI.rst` document contained a TODO requesting
documentation for advanced RTTI usage, such as the `isa_impl` and
`simplify_type` templates. This patch resolves and removes that TODO by
adding the relevant usage introductions for `simplify_type`.
Since `isa_impl` will be moved to `namespace detail` in the future we
are not including it in the documentation.
CC: @nikic @zwuis
Signed-off-by: Lidong Yan <yldhome2d2 at gmail.com>
Commit: ea52e855f2a29943f7461a76f80fe90120704fe9
https://github.com/llvm/llvm-project/commit/ea52e855f2a29943f7461a76f80fe90120704fe9
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
Log Message:
-----------
[NFCI][analyzer] Spread use of CoreEngine::makeNode (#183540)
Simplify the code of `CoreEngine` by using the method
`CoreEngine::makeNode` (which was introduced recently in commit
1a81673922a3f5b75f342e416e925a69822c4613) and removing two similar, but
less practical utility methods.
This is technically speaking not an NFC change, because previously these
were able to generate non-sink nodes with `PosteriorlyOverconstrained`
state (which is logically unsound) and now the check in `makeNode`
prevents that.
However I labelled this as an NFCI change, as I'm fairly confident that
this won't lead to any observable changes because:
- `PosteriorlyOverconstrained` states are very rare.
- A state derived from a `PosteriorlyOverconstrained` state is also
posteriorly overconstrained, so even without this commit
`PosteriorlyOverconstrained` paths would been sunk soon at the next
transition that properly checks for it.
Note that simulated paths with a `PosteriorlyOverconstrained` state do
not correspond to real paths that can occur during the actual execution
of the program, so the analyzer should stop following them as soon as
possible. For more explanation see the doc-comment above the data member
`bool PosteriorlyOverconstrained` within `ProgramState`.
Commit: fd8b45c396678d6f233e1c026b5df05c8b970818
https://github.com/llvm/llvm-project/commit/fd8b45c396678d6f233e1c026b5df05c8b970818
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
Log Message:
-----------
[X86] vector-replicaton-i1-mask.ll - simplify check prefixes. NFC. (#183547)
Add common check prefixes and remove redundant ones
Commit: 0141d82463e3f334fa6d8e3b98f5766438570f0d
https://github.com/llvm/llvm-project/commit/0141d82463e3f334fa6d8e3b98f5766438570f0d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/single_elt_vector_memory_operation.ll
Log Message:
-----------
[X86] single_elt_vector_memory_operation.ll - simplify check prefixes. NFC. (#183545)
Add common check prefixes and remove redundant ones
Commit: 73dec8293b8624668965c5fcf80baa9456fbd0c6
https://github.com/llvm/llvm-project/commit/73dec8293b8624668965c5fcf80baa9456fbd0c6
Author: Ravil Dorozhinskii <ravil.aviva.com at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
Log Message:
-----------
[ROCDL] Hot fix of mem trait in l2 prefetch (#183550)
Commit: 3a8081cedccddb7e74351da2b534b5ad800c1ad8
https://github.com/llvm/llvm-project/commit/3a8081cedccddb7e74351da2b534b5ad800c1ad8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/opencl-printf.ll
Log Message:
-----------
AMDGPU: Stop checking for r600 in printf pass (#183536)
Avoid adding the pass to the pipeline in the first place.
Commit: 8d23abe4153e37b10f1a5c4963a9ed0b7d7850f6
https://github.com/llvm/llvm-project/commit/8d23abe4153e37b10f1a5c4963a9ed0b7d7850f6
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/IROutliner.h
A llvm/test/Transforms/IROutliner/illegal-nomerge.ll
Log Message:
-----------
[IROutliner] Don't outline callsites with nomerge (#183387)
`nomerge` states that calls to this function should never be merged
during optimisation. Outlining would have the effect of merging
callsites from separate functions into a single callsite in the outlined
function, so this attribute should prevent outlining.
Commit: d44e41794540d7fa85f857228a7616ec8592a7c4
https://github.com/llvm/llvm-project/commit/d44e41794540d7fa85f857228a7616ec8592a7c4
Author: Joachim <jenke at itc.rwth-aachen.de>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M openmp/runtime/test/parallel/bug63197.c
Log Message:
-----------
[openmp][tests] Fix bug63197.c (#183508)
#183269 tried to fix the test, but the test can still randomly fail. The
OpenMP spec does not prevent the runtime to chose a smaller team size
than returned from omp_max_threads() for the second parallel region.
Using a larger value than `omp_max_threads()` in a `num_threads` clause
is valid OpenMP code. With a correct OpenMP implementation, the
team-size of the second parallel region must still be smaller or equal
the value returned from `omp_max_threads()`.
Commit: e2d2b23a5aeb6292fd135f7677a8655800ea7c20
https://github.com/llvm/llvm-project/commit/e2d2b23a5aeb6292fd135f7677a8655800ea7c20
Author: Twice <twice at apache.org>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/include/mlir-c/Rewrite.h
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/test/python/rewrite.py
Log Message:
-----------
[MLIR][Python] Add `convert_type` API for TypeConverter (#183561)
This PR adds the `convert_type` API for `TypeConverter`.
Commit: b654416f2ca958545f9c1e619d724fe2fd460d63
https://github.com/llvm/llvm-project/commit/b654416f2ca958545f9c1e619d724fe2fd460d63
Author: lntue <lntue at google.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M libc/src/__support/math/atan2f128.h
M libc/test/src/math/smoke/atan2f128_test.cpp
Log Message:
-----------
[libc][math] Fix atan2f128 when the exponent difference is larger than the precision. (#183552)
Commit: f14875f3f690f4aa2e387ba19122494eb0481486
https://github.com/llvm/llvm-project/commit/f14875f3f690f4aa2e387ba19122494eb0481486
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M llvm/test/tools/llvm-offload-binary/llvm-offload-binary.ll
Log Message:
-----------
[Clang] Enable response file support for 'llvm-offload-binary' (#183548)
Summary:
These command line invocations can become so large that they no longer
fit, we should support response files in this case so the build on
Windows can be unblocked with the new driver.
Commit: a17349f7870ba0543aa50b7ec9db80222d644123
https://github.com/llvm/llvm-project/commit/a17349f7870ba0543aa50b7ec9db80222d644123
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
Log Message:
-----------
[VectorCombine][X86] shuffle-of-casts.ll - add x86-64-v2 and x86-64-v4 test coverage (#183562)
Prep work for #165813
Commit: 11ed282b7a761c802b714a4b745b1311e8deb756
https://github.com/llvm/llvm-project/commit/11ed282b7a761c802b714a4b745b1311e8deb756
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/KnownFPClass.cpp
M llvm/test/Transforms/Attributor/nofpclass-fmul.ll
Log Message:
-----------
ValueTracking: Teach computeKnownFPClass that multiply by <= 1 cannot overflow (#183159)
Commit: b9ad15feb58ddd555539441b3b2b8e0fa8c9722d
https://github.com/llvm/llvm-project/commit/b9ad15feb58ddd555539441b3b2b8e0fa8c9722d
Author: Wang Yaduo <wangyaduo at linux.alibaba.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
Log Message:
-----------
[NFC][LICM] Update the comment about hoisting depend on block frequency (#183437)
It seems that the commit 1a25d0 remove the implementation but the
comment is left.
Commit: 2a6a62ac33287eb96eb8dd9bae7ebc765b68d185
https://github.com/llvm/llvm-project/commit/2a6a62ac33287eb96eb8dd9bae7ebc765b68d185
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/test/Analysis/test-match-reduction.mlir
Log Message:
-----------
[MLIR] Fix out-of-bounds crash in matchReduction for ops with fewer yield operands (#183555)
`mlir::matchReduction()` accessed `terminatorOp->getOperand(redPos)`
without checking that `redPos` is within the terminator's operand count.
This caused an assertion failure when the region's block-argument count
exceeds the terminator's yield count, e.g. for `linalg.pooling_nhwc_sum`
whose kernel region has three block args but yields only one value.
Add a bounds check before the operand access so the function returns
nullptr gracefully instead of crashing.
Fixes #131437
Commit: a7723994a9a0642d24cb4fa554dc92918df62b9f
https://github.com/llvm/llvm-project/commit/a7723994a9a0642d24cb4fa554dc92918df62b9f
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/memory.h
M flang-rt/lib/runtime/unit.cpp
M flang-rt/lib/runtime/unit.h
Log Message:
-----------
[flang-rt] Get rid of cyclic call chain in ChildIo. (#183369)
This is a follow up on #182635
It was suggested to place `static_assert(std::is_trivially_destructible_c<A>)`
for the `OwningPtr` class. This cannot be done, because there are
non-trivially destructible types used with `OwnerPtr` (e.g. lots of types
that inherit from `IoErrorHandler`, which is not trivially destructible).
This patch brings back the desctructor call into `OwningPtr::delete_ptr`
just to be on the safe side (though, I do not think we had any memory
leaks even without the destructor call), and removes the cyclic
dependency for the `~ChildIo()` caused by `previous_` member.
Commit: a6a77fd1a7a95098bc3bc530683cc5609f800f54
https://github.com/llvm/llvm-project/commit/a6a77fd1a7a95098bc3bc530683cc5609f800f54
Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
A clang/test/CodeGen/cfi-icall-with-abi-tag.cpp
Log Message:
-----------
[clang] Fixed a bug causing failure with CFI icalls enabled. (#183428)
This is fixing a regression when abi_tag is used in conjunction with CFI.
Commit: f5c3a8e99d87639b29572726abf13716482a680b
https://github.com/llvm/llvm-project/commit/f5c3a8e99d87639b29572726abf13716482a680b
Author: David Green <david.green at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
R llvm/test/Transforms/VectorCombine/AArch64/shuffle-of-intrinscis.ll
A llvm/test/Transforms/VectorCombine/AArch64/shuffle-of-intrinsics.ll
Log Message:
-----------
[AArch64] Rename shuffle-of-intrinscis.ll to shuffle-of-intrinsics.ll. NFC
Commit: 7cc976cf0931cca42cfcb52d909ac8240b252520
https://github.com/llvm/llvm-project/commit/7cc976cf0931cca42cfcb52d909ac8240b252520
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
R llvm/lib/Target/AArch64/aarch64-tensorflow-isel-regression.ll
A llvm/test/CodeGen/AArch64/aarch64-tensorflow-isel-regression.ll
Log Message:
-----------
Move AArch64 regression test to CodeGen (#183566)
Corrected directory of regression test in #178227
Commit: 1ad3a030a819e405bf0bdcd032744ab9e57ba972
https://github.com/llvm/llvm-project/commit/1ad3a030a819e405bf0bdcd032744ab9e57ba972
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
Log Message:
-----------
[VectorCombine][X86] shuffle-of-casts.ll - add #165813 test coverage (#183569)
Commit: 9608d0a561192718698f03fe733c38453a9be2ae
https://github.com/llvm/llvm-project/commit/9608d0a561192718698f03fe733c38453a9be2ae
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
R llvm/test/CodeGen/AMDGPU/wmma-coececution-valu-hazards.mir
A llvm/test/CodeGen/AMDGPU/wmma-coexecution-valu-hazards.mir
Log Message:
-----------
[AMDGPU] Fix typo in test file name. NFC. (#183570)
Commit: af15474262100ade9a8fcfd05f9e05c7ba23ff8c
https://github.com/llvm/llvm-project/commit/af15474262100ade9a8fcfd05f9e05c7ba23ff8c
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/FoldInitTypeCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/fold-init-type.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/fold-init-type.cpp
Log Message:
-----------
[clang-tidy] Improve bugprone-fold-init-type to support overloads (#183300)
This PR extends the AST matchers to handle the overloaded versions of
`std::accumulate`, `std::reduce` and `std::inner_product`.
Closes https://github.com/llvm/llvm-project/issues/85757
---------
Co-authored-by: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
Commit: f55416b6308a4a89f71d7610e993a20404d11841
https://github.com/llvm/llvm-project/commit/f55416b6308a4a89f71d7610e993a20404d11841
Author: accauble <accauble at users.noreply.github.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/CodeGenHIP/debug-info-language-hip.hip
Log Message:
-----------
[DebugInfo][HIP] Set DW_AT_language field to DW_LANG_HIP when AMD clang is used (#181738)
Before this change, HIP applications compiled with AMD clang would set
the `DW_AT_language` field to `DW_LANG_C_plus_plus_14`:
```
llvm-dwarfdump hello
hello: file format elf64-x86-64
.debug_info contents:
0x00000000: ...
0x0000000c: DW_TAG_compile_unit
...
------> DW_AT_language (DW_LANG_C_plus_plus_14)
DW_AT_name ("helloworld.cpp")
...
```
This change update the language tag to `DW_LANG_HIP` for these
applications:
```
llvm-dwarfdump hello
hello: file format elf64-x86-64
.debug_info contents:
0x00000000: ...
0x0000000c: DW_TAG_compile_unit
...
------> DW_AT_language (DW_LANG_HIP)
DW_AT_name ("helloworld.cpp")
...
```
Also added a test to check for the new tag
(`debug-info-language-hip.hip`).
The primary motivation for this change is that ROCgdb has to use a
workaround to detect that a program is a HIP application. This removes
the guessing and allows proper detection of the HIP language.
ROCgdb [already has support for
DW_LANG_HIP](https://github.com/ROCm/ROCgdb/commit/316e8393f2ad).
Commit: 3839878d206059cda07cdd0eb93004330188e306
https://github.com/llvm/llvm-project/commit/3839878d206059cda07cdd0eb93004330188e306
Author: Weiwen He <60433849+he-weiwen at users.noreply.github.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/tanpif16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/tanpif16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/tanpif16.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 tanpif16 to header-only (#181240)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Closes #181207
Commit: da851db4bbe5783d0a87a325641b82ddee9bc73d
https://github.com/llvm/llvm-project/commit/da851db4bbe5783d0a87a325641b82ddee9bc73d
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/test/CodeGen/PowerPC/milicode32.ll
M llvm/test/CodeGen/PowerPC/milicode64.ll
Log Message:
-----------
[PowerPC] using milicode call for memccpy instead of lib call (#182563)
AIX has "millicode" routines, which are functions loaded at boot time
into fixed addresses in kernel memory. This allows them to be customized
for the processor. The __memccpy routine is a millicode implementation;
we use millicode for the memccpy function instead of a library call to
improve performance
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 8e5b9cab5892b05443a7b817ca8c00bfa9f776cc
https://github.com/llvm/llvm-project/commit/8e5b9cab5892b05443a7b817ca8c00bfa9f776cc
Author: Vishruth Thimmaiah <vishruththimmaiah at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/test/CIR/CodeGen/virtual-destructor-calls.cpp
Log Message:
-----------
[CIR] Upstream support for pure virtual destructors (#182857)
Upstreams support for emitting traps for abstract destructors.
Signed-off-by: vishruth-thimmaiah <vishruththimmaiah at gmail.com>
Commit: cc1f66d5df85ce420ba7934cb15585d1f0bd89ed
https://github.com/llvm/llvm-project/commit/cc1f66d5df85ce420ba7934cb15585d1f0bd89ed
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
Log Message:
-----------
[CIR] Implement flattening of nested EH cleanup scopes (#183404)
This implements flattening of nested EH cleanup scopes, rewriting the
inner scope's resume to branch to the outer scope's EH cleanup block.
I used AI tools to generate many of the changes in this PR, but I have
carefully reviewed the changes and updated as needed.
Commit: ab3f7cb4e9dc4a12e42325be5899f6ccf15d3723
https://github.com/llvm/llvm-project/commit/ab3f7cb4e9dc4a12e42325be5899f6ccf15d3723
Author: NagaChaitanya Vellanki <pnagato at protonmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/test/SemaCXX/constexpr-x86-avx-builtins.cpp
M clang/test/SemaCXX/constexpr-x86-avx512f-builtins.cpp
M clang/test/SemaCXX/constexpr-x86-sse2-builtins.cpp
Log Message:
-----------
[NFC][clang][X86] Add tests for NaN,Denormal,Inf and rounding modes (#180013)
Follow up: #171966
Commit: bdddc1683ae000df3a49189125e7e4c14e6bb579
https://github.com/llvm/llvm-project/commit/bdddc1683ae000df3a49189125e7e4c14e6bb579
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/lib/Target/LLVM/XeVM/Target.cpp
Log Message:
-----------
[MLIR][XeVM] Enable some SPIRV extensions by default for XeVM target. (#182399)
Enable,
SPV_EXT_relaxed_printf_string_address_space
SPV_INTEL_cache_controls
SPV_INTEL_variable_length_array
Commit: d9a45dc2fc2b01f42a4b3b95bf5f718a974c5f91
https://github.com/llvm/llvm-project/commit/d9a45dc2fc2b01f42a4b3b95bf5f718a974c5f91
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
A llvm/test/Transforms/FunctionAttrs/nofpclass-callsite-prop.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
Log Message:
-----------
FunctionAttrs: Propagate nofpclass from callsite arguments (#183277)
Commit: 186c54ec917625d413a2dad33720409e5210c56f
https://github.com/llvm/llvm-project/commit/186c54ec917625d413a2dad33720409e5210c56f
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.cpp
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-extern.ll
Log Message:
-----------
[SPIRV] Fix legalization of zero-size external global (#183130)
`getInitializer` asserts if there's no initializer, so check first.
I found this compiling some `liboffload` unit tests.
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: e3735ce4b344a5b6177546ecf40904bedb852f09
https://github.com/llvm/llvm-project/commit/e3735ce4b344a5b6177546ecf40904bedb852f09
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M libc/include/llvm-libc-macros/float16-macros.h
M libc/test/shared/CMakeLists.txt
Log Message:
-----------
[libc][math] Disable float16 on Clang 11 and older (#183574)
This also reverts
https://github.com/llvm/llvm-project/commit/c5d6feb3152bf39d820935df0d0490f90364d44c
Commit: 3490d28c8cab9541e57c31c0809d3fe09da43a4b
https://github.com/llvm/llvm-project/commit/3490d28c8cab9541e57c31c0809d3fe09da43a4b
Author: Alex Langford <alangford at apple.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/Config.h.cmake
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/source/Core/Debugger.cpp
R lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/tools/README.rst
R lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/tools/copy-sparse.py
R lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/tools/libfbsdvmcore-hacks.patch
R lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/tools/lldb-minimize-processes.patch
R lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/tools/test.script
Log Message:
-----------
[lldb] Remove last references to fbsdvm (#183418)
Support was removed in #181283
(a8cd1ac7058efdf7a9be823182da884243ca6c0b)
Commit: 27905b119669d257a67e9312c1de46edb33b7e44
https://github.com/llvm/llvm-project/commit/27905b119669d257a67e9312c1de46edb33b7e44
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/f16sqrtf128.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/f16sqrtf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/f16sqrtf128.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 f16sqrtf128 to Header Only. (#183542)
closes #175328
part of https://github.com/llvm/llvm-project/issues/147386
Commit: f6917fa6c90a9d55d3bfd9d8aa4583834771565d
https://github.com/llvm/llvm-project/commit/f6917fa6c90a9d55d3bfd9d8aa4583834771565d
Author: Thibault Monnier <thibaultmonni at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/Lex/Lexer.cpp
Log Message:
-----------
[Clang][Lexer][Performance] Optimize Lexer whitespace skipping logic (#180819)
... by extracting the check for space character and marking it as
`LLVM_LIKELY`. This increases performance because the space is by far
the most common horizontal character, so in most cases, this change
allows to replace a lookup table check with a simple comparison,
reducing latency and helping the cache.
This does not reduce instruction count, as a lookup table and a
comparison are both a single instruction. However, it _does_ reduce
cycles in a consistent manner, around `0.2` - `0.3`%:
[benchmark](https://llvm-compile-time-tracker.com/compare.php?from=3192fe2c7b08912cc72c86471a593165b615dc28&to=faa899a6ce518c1176f2bf59f199eb42e59d840e&stat=cycles).
I tested this locally and am able to confirm this is not noise (at least
not entirely, it does feel weird that this impacts `O3` more than
`O0`...), as I achieved almost `2`% faster PP speed in my tests.
Commit: b8618ff61e719c9328f5198bbb9c5734223d5a37
https://github.com/llvm/llvm-project/commit/b8618ff61e719c9328f5198bbb9c5734223d5a37
Author: Aleksandr Nogikh <nogikh at google.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/AST/InferAlloc.cpp
M clang/test/CodeGenCXX/alloc-token-pointer.cpp
Log Message:
-----------
[AllocToken] [Clang] Fix type inference for atomic types (#183571)
When evaluating whether an allocated type contains a pointer to generate
the `alloc_token` metadata, `typeContainsPointer` incorrectly stopped
recursion upon encountering an `AtomicType`. This resulted in types like
`_Atomic(int *)` (or `std::atomic<int *>` under libc++) being
incorrectly evaluated as not containing a pointer.
Add support for `AtomicType` in `typeContainsPointer` by recursively
checking the contained type.
Add tests for structs containing `_Atomic(int *)` and `_Atomic(int)`.
Commit: bf8e006c8438a2c953a0e1863ed1f0138c0b74b2
https://github.com/llvm/llvm-project/commit/bf8e006c8438a2c953a0e1863ed1f0138c0b74b2
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/docs/ClangIRCleanupAndEHDesign.md
Log Message:
-----------
[CIR][docs] Fix table of contents for CIR eh and cleanups doc (#183594)
When this document was converted from rst to markdown, the contents
didn't get updated correctly.
Commit: 8702c6bab34f036798d52ba6c28769934a1e5b1e
https://github.com/llvm/llvm-project/commit/8702c6bab34f036798d52ba6c28769934a1e5b1e
Author: Ryan Mansfield <ryan_mansfield at apple.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
A clang/test/Driver/crash-report-no-integrated-cc1.c
M clang/tools/driver/driver.cpp
Log Message:
-----------
[clang] Fix driver resignaling when cc1 runs out-of-process (#183560)
When cc1 runs out-of-process and crashes, sys::ExecuteAndWait returns -2
for signal-killed children. The resignaling block added in 15488a7f78ce
only handled CommandRes > 128, so the driver would exit normally with
code 1 instead of dying by signal.
Commit: e05b6cb6e11ae1a64673effbcc018f20adfeccf7
https://github.com/llvm/llvm-project/commit/e05b6cb6e11ae1a64673effbcc018f20adfeccf7
Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Dialect/SCF/transform-op-coalesce.mlir
Log Message:
-----------
[SCF] allow indexing operations for loop coalesceing (#183180)
Currently if there are operations between the loops we get a dominance
issue as the delinearlized index is added after the operations. This PR
fixes that.
For testing we also add a transform pattern that makes a direct call to
coalesceLoops as the existing pattern calls
coalescePerfectlyNestedSCFForLoops which does not consider the loop nest
perfectly nested if there are operations between them which is safer for
that usage.
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: c4e2891a1dca8ae7753f1913417ceddd9c90616e
https://github.com/llvm/llvm-project/commit/c4e2891a1dca8ae7753f1913417ceddd9c90616e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[MLIR][Vector] Fix crash in BitCastOp::fold for index element type (#183572)
`BitCastOp::fold` called `Type::getIntOrFloatBitWidth()` on the source
element type without first verifying it satisfies `isIntOrFloat()`. When
the source vector has `index` element type (e.g. `vector<16xindex>`),
the assertion `only integers and floats have a bitwidth` fires.
Add an `srcElemType.isIntOrFloat()` guard to the condition so that the
constant-folding path is skipped for non-integer/float element types.
Fixes #177835
Commit: ea0b65d4706904bbc630b5376c8103c86944a35a
https://github.com/llvm/llvm-project/commit/ea0b65d4706904bbc630b5376c8103c86944a35a
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Fix crash in AddUIExtendedOp::fold when operand is ub.poison (#183596)
When `constFoldBinaryOp<IntegerAttr>` is called with a `ub.poison`
operand, it propagates the poison attribute as its result. The fold
method for `arith.addui_extended` then attempted to cast this result to
`TypedAttr` via `llvm::cast<TypedAttr>(sumAttr)`, which failed with an
assertion because `PoisonAttr` does not implement the `TypedAttr`
interface.
Fix this by checking whether the folded sum is a poison attribute before
the cast. When poison is detected, it is propagated to both the sum and
overflow results.
Fixes #181534
Commit: 72daf0c02303c64dbd27f3e93667319829b05519
https://github.com/llvm/llvm-project/commit/72daf0c02303c64dbd27f3e93667319829b05519
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/AST/DeclTemplate.cpp
A clang/test/SemaTemplate/GH181062.cpp
Log Message:
-----------
[clang] fix transformation of substituted constant template parameters of partial specializations (#183348)
This fixes a helper so it implements retrieval of the argument replaced
for a template parameter for partial spcializations.
This was left out of the original patch, since it's quite hard to
actually test.
This helper implements the retrieval for variable templates, but only
for completeness sake, as no current users rely on this, as I don't
think a similar test case is possible to implement with variable
templates.
This fixes a regression introduced in #161029 which will be backported
to llvm-22, so there are no release notes.
Fixes #181062
Fixes #181410
Commit: b13718cd104fb0e70dc19093be3c3eb7af10e106
https://github.com/llvm/llvm-project/commit/b13718cd104fb0e70dc19093be3c3eb7af10e106
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
Log Message:
-----------
[AMDGPU] Fix encoding of inline constants in v_fma_mix_f32_bf16 (#183487)
BF16 source operands use F32 inline constant values, so set OP_SEL to
select the high half of the constant, since BF16 encoding matches the
high 16 bits of F32 encoding. This behaviour is different from F16
source operands which use F16 constant values in the low 16 bits.
Fixes: #183337
Commit: 5bbfce06e0d16722ff2bca5feedb10c1ebc530be
https://github.com/llvm/llvm-project/commit/5bbfce06e0d16722ff2bca5feedb10c1ebc530be
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-trig-preop.ll
Log Message:
-----------
ValueTracking: Special case fmul by llvm.amdgcn.trig.preop (#183373)
This is another instance of the logic from #183159. If we know
one source is not-infinity, and the other source is less than or
equal to 1, this cannot overflow. Special case llvm.amdgcn.trig.preop,
as a substitute for proper range tracking. This almost enables pruning
edge case handling in trig function implementations, if not for the
recursion depth limit (but that's a problem for another day).
Commit: 32f9a40d3a801821fa4b083e76492be26fb72755
https://github.com/llvm/llvm-project/commit/32f9a40d3a801821fa4b083e76492be26fb72755
Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/FMF.h
M llvm/include/llvm/IR/PatternMatch.h
Log Message:
-----------
Add remaining patterns for floating-point flag matches (#173912)
As in title. Only `reassoc` pattern was supplied -- for completeness all
should be supplied. Make FastMathFlag ctor public as well.
Commit: 3d469665a286cac528c2ef2fb018032d80843716
https://github.com/llvm/llvm-project/commit/3d469665a286cac528c2ef2fb018032d80843716
Author: Chris B <chris.bieneman at me.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/HLSL.cpp
A clang/test/Driver/HLSL/fre-errors.hlsl
M clang/test/Driver/HLSL/metal-converter.hlsl
Log Message:
-----------
[Metal][HLSL] Add support for dumping reflection (#181258)
The Metal Shader converter can output shader reflection information into
a JSON file. This connects the -Fre flag (DXC's flag for reflection) to
the Metal Shader Converter tool step to produce the JSON file. As a
temporary state the -Fre flag will error when used without the -metal
flag.
This is required to address
https://github.com/llvm/offload-test-suite/issues/452
Commit: 25e15775da1c3e607f13bd40e85c54474f2f1ef7
https://github.com/llvm/llvm-project/commit/25e15775da1c3e607f13bd40e85c54474f2f1ef7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[Clang] Add response file support to clang-linker-wrapper (#183598)
Summary:
This is needed on some platforms like Windows when the generated command
line becomes too large. This seems to be occurring in practice so we
need to support this. Uses the same basic support clang does.
No test because there isn't any current infrastructure to support it,
will likely be "tested" by ROCBLAS builds not failing anymore on
Windows.
Commit: 19c862dd277b386bffb18247d53c801ae441390b
https://github.com/llvm/llvm-project/commit/19c862dd277b386bffb18247d53c801ae441390b
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAsm.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
Log Message:
-----------
[CIR][NFC] Fix unused variable warnings (#183604)
We have accumulated four places where variables were only being used in
asserts. This change silences the warnings for that.
Commit: aae3843c77e4d18a716945fa1a7b2159acf5539d
https://github.com/llvm/llvm-project/commit/aae3843c77e4d18a716945fa1a7b2159acf5539d
Author: Thibault Monnier <thibaultmonni at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/vector.cpp
Log Message:
-----------
[Clang][AST] Fix extending an unsigned to signed in `ExprConstant.cpp` (#180563)
Fixes #154713.
The crash was due to `Index` sometimes being an unsigned 64-bit integer
which was being zero-extended to a signed 64-bit, triggering an
assertion failure in `APSInt::getExtValue`. This patch zero-extends it
to a unsigned 64-bit integer instead, since `HandleLValueVectorElement`
takes in a `uint64_t` anyway.
Commit: dc66b51a700ec6980afee4e43b913f871b759d0b
https://github.com/llvm/llvm-project/commit/dc66b51a700ec6980afee4e43b913f871b759d0b
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
Log Message:
-----------
[PowerPC] Remove `NoNaNsFPMath` uses (#183449)
Commit: 6c532a621a555c07da30e34b7956745d33c9dd79
https://github.com/llvm/llvm-project/commit/6c532a621a555c07da30e34b7956745d33c9dd79
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
Log Message:
-----------
[OpenMP] Remove NVPTX local addrspace on parameters (#183195)
In CGOpenMPRuntimeGPU::translateParameter, reference-type captured
variables were translated to pointer parameters with two address-space
annotations:
1. LangAS::opencl_global on the pointee (for map'd variables), which
correctly produces ptr addrspace(1) in NVPTX IR.
2. getLangASFromTargetAS(NVPTX_local_addr=5) on the pointer itself,
annotating the parameter as living in NVPTX local (stack) memory.
The second annotation is incorrect at the Clang type-system level:
EmitParmDecl only supports parameters to be in LangAS::Default (or the
special cases for OpenCL).
Temporarily add an assert in EmitParmDecl that catches parameters with
non-default address spaces in non-OpenCL compilations, and fix the
violation by dropping the NVPTX_local_addr addAddressSpace call.
Should fix the issue noticed in
https://github.com/llvm/llvm-project/pull/181256#discussion_r2821894122,
allowing removing that special case there for OpenMP, though I haven't
tested the combination yet. That PR would fix EmitParmDecl to actually
support non-default address spaces from Sema, and will remove this
assert again.
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 60eac414b79462122e2d33658f6a0bcb610f8f5d
https://github.com/llvm/llvm-project/commit/60eac414b79462122e2d33658f6a0bcb610f8f5d
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Model/BuildNamespace.h
M clang/include/clang/Analysis/Scalable/Model/EntityLinkage.h
M clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
M clang/include/clang/Analysis/Scalable/Support/FormatProviders.h
M clang/lib/Analysis/Scalable/EntityLinker/EntityLinker.cpp
M clang/lib/Analysis/Scalable/Model/BuildNamespace.cpp
M clang/lib/Analysis/Scalable/Model/EntityLinkage.cpp
A clang/lib/Analysis/Scalable/ModelStringConversions.h
M clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
M clang/unittests/Analysis/Scalable/BuildNamespaceTest.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
M clang/unittests/Analysis/Scalable/EntityIdTest.cpp
M clang/unittests/Analysis/Scalable/EntityLinkageTest.cpp
M clang/unittests/Analysis/Scalable/EntityLinkerTest.cpp
M clang/unittests/Analysis/Scalable/EntityNameTest.cpp
A clang/unittests/Analysis/Scalable/ModelStringConversionsTest.cpp
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
M clang/unittests/Analysis/Scalable/SummaryNameTest.cpp
Log Message:
-----------
[clang][ssaf] Improve serialization for Model types and error messages in `JSONFormat`
This changes fixes the diagnostic infrastructure in `JSONFormat`
implementation to pass model objects (`EntityId`, `EntityLinkage`,
`BuildNamespace`, `NestedBuildNamespace`, `SummaryName`) directly to
`ErrorBuilder` instead of manually extracting their components. This
relies on existing `llvm::format_provider` specializations for these
objects.
To support consistent string conversion for `BuildNamespaceKind` and
`EntityLinkageType`, across both serialization and `operator<<`,
`toString`/`fromString` functions have been introduced in an internal
header `ModelStringConversions.h`.
`EntityLinkage::LinkageType` is promoted to a standalone enum class
`EntityLinkageType` at namespace scope, following the same pattern as
`BuildNamespaceKind`.
Tests have been added for `operator<<` and `format_provider` for all
affected types, and a new `ModelStringConversionsTest.cpp` directly
unit-tests the `toString/fromString` functions including round-trip and
unknown-input cases.
Commit: 4c60c0164688f798bade20379b4cddaaf75eb233
https://github.com/llvm/llvm-project/commit/4c60c0164688f798bade20379b4cddaaf75eb233
Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
A llvm/test/CodeGen/Hexagon/constp-const32-signbit.mir
Log Message:
-----------
[Hexagon] Fix assert on sign-bit CONST32 immediates (#182118)
This patch fixes a HexagonConstPropagation assert when evaluating
sign-bit CONST32/CONST64 immediates (e.g. 0x80000000) after ConstantInt
stopped implicitly truncating, by allowing truncation for that signed
case.
Commit: 52f76c035aaab0854990e49bc629be3f833f2088
https://github.com/llvm/llvm-project/commit/52f76c035aaab0854990e49bc629be3f833f2088
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
M mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
Log Message:
-----------
[MLIR][XeGPU] Add distribution pattern for xegpu.load & store for sg to wi pass (#181917)
This PR adds distribution pattern for xegpu.load & store ops for the new
sg-to-wi pass
Commit: 4efc6a9378394ecb5dd28898d92c9a34153db019
https://github.com/llvm/llvm-project/commit/4efc6a9378394ecb5dd28898d92c9a34153db019
Author: Steven Wu <stevenwu at apple.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[cmake] Don't use PCH when clang-cache launcher is used (#183620)
Fix incremental build failure when using PCH build and clang-cache
together.
Commit: c5f40ef7fe7f1fa616d28b46334cf60579d4893c
https://github.com/llvm/llvm-project/commit/c5f40ef7fe7f1fa616d28b46334cf60579d4893c
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/test/FixIt/fixit-pragma-attribute.cpp
M clang/test/Parser/pragma-attribute.cpp
Log Message:
-----------
[Clang] fix crash parsing forbidden attribute args in pragma attributes (#182362)
Fixes #182122
---
This patch resolves a crash when parsing `#pragma clang attribute`
arguments for attributes that forbid arguments. The root cause is that
the `#pragma` attribute path doesn't pass `EndLoc` to
https://github.com/llvm/llvm-project/blob/413cafa4624eb37e586e266f44abd64896e1c598/clang/lib/Parse/ParsePragma.cpp#L1982-L1985
unlike the normal attribute parsing flow
https://github.com/llvm/llvm-project/blob/413cafa4624eb37e586e266f44abd64896e1c598/clang/lib/Parse/ParseDeclCXX.cpp#L4706
Without `EndLoc`, argument parsing cannot update the parsed end token
https://github.com/llvm/llvm-project/blob/413cafa4624eb37e586e266f44abd64896e1c598/clang/lib/Parse/ParseDecl.cpp#L621-L622
and `fix-it` gets an invalid end location
https://github.com/llvm/llvm-project/blob/0dafeb97a4687c29f5182fa0239c7fa39ee23091/clang/lib/Parse/ParseDeclCXX.cpp#L4537
This change makes the pragma path pass `EndLoc` the same way as the
regular flow does, preventing the crash and preserving valid fix-it
ranges.
Commit: 5007dd9d0945938f2177142e9784e240490e7050
https://github.com/llvm/llvm-project/commit/5007dd9d0945938f2177142e9784e240490e7050
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M lldb/include/lldb/Expression/REPL.h
M lldb/source/Expression/REPL.cpp
M lldb/source/Plugins/REPL/Clang/ClangREPL.cpp
M lldb/source/Plugins/REPL/Clang/ClangREPL.h
Log Message:
-----------
[lldb][repl] fix output interleaving with the status line (#183600)
This patch fixes the REPL's output from interleaving with the status
line by locking the stream before printing.
Commit: 2576ee1fd93fb87699650734ffafdb8092062d59
https://github.com/llvm/llvm-project/commit/2576ee1fd93fb87699650734ffafdb8092062d59
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use VPInstructionWithType for Load in VPlan0 (NFC)
VPInstructionWithType directly allows modeling the loaded type.
Commit: fb81e59ccbea6753d6ccd87f113bcc7a77440b72
https://github.com/llvm/llvm-project/commit/fb81e59ccbea6753d6ccd87f113bcc7a77440b72
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/test/AST/HLSL/WaveSize.hlsl
M clang/test/CodeGen/aix-builtin-cpu-supports.c
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load.cpp
Log Message:
-----------
[Clang] Fix typo "LABLE" in test checks (#178449)
Commit: dbaa4d117aac3bf25505ca78a4b9752e1bb9c3dc
https://github.com/llvm/llvm-project/commit/dbaa4d117aac3bf25505ca78a4b9752e1bb9c3dc
Author: yasmincs <ysarita at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/reserved-smem-offset.ll
Log Message:
-----------
[NVPTX] Support intrinsics for reserved shared memory special registers (#182354)
Added reserved_smem_offset_{begin|end|cap|0} intrinsics to expose shared
memory special registers and NVPTX TableGen support for these
intrinsics.
Commit: 97835516393311d681d1ff6bec67e1093f94890e
https://github.com/llvm/llvm-project/commit/97835516393311d681d1ff6bec67e1093f94890e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
Revert "[VPlan] Use VPInstructionWithType for Load in VPlan0 (NFC)"
This reverts commit 2576ee1fd93fb87699650734ffafdb8092062d59.
This was causing test failures when running check-llvm-unit.
Commit: 46c06a34f1de56142935a305f0461cd0e54e1772
https://github.com/llvm/llvm-project/commit/46c06a34f1de56142935a305f0461cd0e54e1772
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
Log Message:
-----------
[VPlan] Fixup C++ unit test output after 2576ee1fd93f.
Commit: d5e501725e31d99467a40e8b951b530c215c8519
https://github.com/llvm/llvm-project/commit/d5e501725e31d99467a40e8b951b530c215c8519
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
Reapply "[VPlan] Use VPInstructionWithType for Load in VPlan0 (NFC)"
This reverts commit 97835516393311d681d1ff6bec67e1093f94890e.
Unit tests have been updated
Commit: 10abb231d6b4cbda74b2bd92921403ba361bb4c6
https://github.com/llvm/llvm-project/commit/10abb231d6b4cbda74b2bd92921403ba361bb4c6
Author: Alexis Perry-Holby <aperry at lanl.gov>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M flang/docs/GettingInvolved.md
Log Message:
-----------
[flang] Update the Flang Community Call to the new MS Teams series (#183576)
Commit: 6bc9ba786d0f705ebb1c8a08cef9f0552fb86f1d
https://github.com/llvm/llvm-project/commit/6bc9ba786d0f705ebb1c8a08cef9f0552fb86f1d
Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
A llvm/test/CodeGen/Hexagon/vgather-memvt.ll
Log Message:
-----------
[Hexagon] Fix memory type for vgather intrinsics (#183563)
Some of the Hexagon vgather intrinsics were picking the memory type
(memVT) from a fixed argument position, but for several variants (e.g.
the predicated ones), that argument isn’t actually the data vector being
gathered. As a result, LLVM could end up recording the wrong memory type
or size (e.g. i32 or mask instead of the vector arg). This patch fixes
that by always taking memVT from the last intrinsic argument, which is
the actual data vector.
Commit: c6db35fd343e43f6574062b6b580ec16ff9fb67a
https://github.com/llvm/llvm-project/commit/c6db35fd343e43f6574062b6b580ec16ff9fb67a
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPeepHoleOptimizer.cpp
M mlir/test/Dialect/XeGPU/peephole-optimize.mlir
Log Message:
-----------
[mlir][xegpu] Retain order attribute during load + transpose optimization. (#183608)
As described in the title `order` attribute is ignored in this
transformation causing downstream test failures.
Commit: e92dd71f44c3eae4280693a5cf28e6ae2b94eb80
https://github.com/llvm/llvm-project/commit/e92dd71f44c3eae4280693a5cf28e6ae2b94eb80
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Add Defs = VXSAT to P extension instructions. (#183455)
Commit: 2fc0733805e3bdd8d37d35ba39763e646df88f52
https://github.com/llvm/llvm-project/commit/2fc0733805e3bdd8d37d35ba39763e646df88f52
Author: Guy David <guyda96 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/faddv-fp16.ll
A llvm/test/CodeGen/AArch64/faddv.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
Log Message:
-----------
[AArch64] Decompose FADD reductions with known zero elements (#167313)
FADDV is matched into FADDPv4f32 + FADDPv2i32p but this can be relaxed
when one element (usually the 4th) or more are known to be zero.
Before:
```
movi d1, #0000000000000000
mov v0.s[3], v1.s[0]
faddp v0.4s, v0.4s, v0.4s
faddp s0, v0.2s
```
After:
```
mov s1, v0.s[2]
faddp s0, v0.2s
fadd s0, s0, s1
```
When all of the elements are zero, the intrinsic now simply reduces into
a constant instead of emitting two additions.
Commit: e55945556a1e99a7d6618735873d513a0239b2a0
https://github.com/llvm/llvm-project/commit/e55945556a1e99a7d6618735873d513a0239b2a0
Author: Tamas Kaman <tamas.kaman at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Change header tagging for the secondary allocator (#182487)
When secondary allocator allocates a new chunk, the allocation is
prepended with a chunk header (common with the primary allocator)
and large header (only used for secondary).
Only the headers are tagged, the data is not, and the headers are
tagged individually as different tags are used for them.
In the current implementation while tagging the large header the unused
area is tagged with it, so the allocator can tag up to a page size (in
worst case), which is costly and does not bring security benefit (as the
area is unused).
With the current fix we can get rid of around 97-98% of the tagging for
the secondary allocator, measured with random benchmarks.
Co-authored-by: Christopher Ferris <cferris1000 at users.noreply.github.com>
Commit: 20ec9a9bb72560fe73706f46415dcfb118f9d265
https://github.com/llvm/llvm-project/commit/20ec9a9bb72560fe73706f46415dcfb118f9d265
Author: Saleem Abdulrasool <compnerd at compnerd.org>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/cmake/modules/AddClang.cmake
Log Message:
-----------
build: correct `MSVC` and Windows mixup for `CLANG_BUILD_STATIC` (#183609)
The build incorrectly used `MSVC` to determine that we were building for
Windows (MS ABI). This prevents the use of the GNU driver for building
LLVM for Windows. Adjust the condition to `WIN32 AND NOT MINGW` to
correctly identify that we are building for Windows MS ABI.
Commit: 7e39b280e8607e4bd09b87fb3271963803b4d02f
https://github.com/llvm/llvm-project/commit/7e39b280e8607e4bd09b87fb3271963803b4d02f
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/nextafter.h
A libc/shared/math/nextafterbf16.h
A libc/shared/math/nextafterf.h
A libc/shared/math/nextafterf128.h
A libc/shared/math/nextafterf16.h
A libc/shared/math/nextafterl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/nextafter.h
A libc/src/__support/math/nextafterbf16.h
A libc/src/__support/math/nextafterf.h
A libc/src/__support/math/nextafterf128.h
A libc/src/__support/math/nextafterf16.h
A libc/src/__support/math/nextafterl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/nextafter.cpp
M libc/src/math/generic/nextafterbf16.cpp
M libc/src/math/generic/nextafterf.cpp
M libc/src/math/generic/nextafterf128.cpp
M libc/src/math/generic/nextafterf16.cpp
M libc/src/math/generic/nextafterl.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 nextafter family to header-only (#181673)
closes #181672
Commit: 7c022af37ef2bc9deb60c6be93b7925028d39e8a
https://github.com/llvm/llvm-project/commit/7c022af37ef2bc9deb60c6be93b7925028d39e8a
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/report.cpp
M compiler-rt/lib/scudo/standalone/report.h
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c.inc
M compiler-rt/lib/scudo/standalone/wrappers_c_checks.h
Log Message:
-----------
[scudo] Add reallocarray C wrapper. (#183385)
`reallocarray()` is a POSIX extension to C standard which wraps
`realloc` function and adds `calloc`-like overflow detection. It is
available in glibc and some other standard library implementations. Add
`reallocarray` to the list of Scudo C wrappers, so that the code that
depends on `reallocarray` presence will continue to work.
Commit: 5e6f0c45a851ccb53a7bf1847b967d3cd42de724
https://github.com/llvm/llvm-project/commit/5e6f0c45a851ccb53a7bf1847b967d3cd42de724
Author: Ankit Aggarwal <aankit at qti.qualcomm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/test/Preprocessor/hexagon-predefines.c
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
[Clang][Hexagon] Add QURT as recognized OS in target triple (#183622)
Add support for the QURT as a recognized OS type in the LLVM triple
system, and define the __qurt__ predefined macro when targeting it.
Commit: 26b4c25b8bceb414471d825395e418636d9d17e7
https://github.com/llvm/llvm-project/commit/26b4c25b8bceb414471d825395e418636d9d17e7
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/stream.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/include/flang/Runtime/CUDA/stream.h
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/module/cuda_runtime_api.f90
M flang/test/Lower/CUDA/cuda-default-stream.cuf
Log Message:
-----------
[flang][cuda] Add support for cudaStreamDestroy (#183648)
Add specific lowering and entry point for cudaStreamDestroy. Since we
keep associated stream for some allocation, we need to reset it when the
stream is destroy so we don't use it anymore.
Commit: d149830b98f89787faa8a8cd2387e20b7cd7b0f2
https://github.com/llvm/llvm-project/commit/d149830b98f89787faa8a8cd2387e20b7cd7b0f2
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/load-saddr-offset-imm.ll
Log Message:
-----------
[AMDGPU] Pre-Commit tests for handle mbcnt in computeKnownBitsFromOperator (#178607)
For PR #183229
Commit: 99c463512a0458ff1a1928d670cded3b320eb990
https://github.com/llvm/llvm-project/commit/99c463512a0458ff1a1928d670cded3b320eb990
Author: Shashi Shankar <shashishankar1687 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Debug/DebugCounter.cpp
A mlir/test/mlir-opt/debugcounter-invalid-cl-options.mlir
Log Message:
-----------
[MLIR] Do not abort on invalid --mlir-debug-counter values (#181751)
Use `cl::Option::error()` diagnostics for invalid `--mlir-debug-counter`
arguments and exit with status 1 (no stack dump).
Added `mlir/test/mlir-opt/debugcounter-invalid-cl-options.mlir`
covering:
- non-numeric value (`-1n`)
- missing `=`
- missing `-skip`/`-count` suffix
Fixes #180117
Commit: 9b708b0032745ca6f8bbd0c6d39a7ecb9fad0310
https://github.com/llvm/llvm-project/commit/9b708b0032745ca6f8bbd0c6d39a7ecb9fad0310
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir
Log Message:
-----------
[mlir][arith-to-spirv] Fix null dereference when converting trunci/extui with tensor types (#183654)
`getScalarOrVectorConstInt` only handles `VectorType` and `IntegerType`,
returning `nullptr` for any other type (e.g., a `RankedTensorType` that
slips through after type emulation maps `tensor<Nxi16>` to
`tensor<Nxi32>` with the same destination type). The callers in
`TruncIPattern` and `ExtUIPattern` passed this null value directly to
`spirv::BitwiseAndOp::create`, causing a null-pointer dereference in
`OperandStorage`.
Similarly, the signed-extension pattern passes the result of
`getScalarOrVectorConstInt` as a shift amount to
`ShiftLeftLogicalOp::create` without a null check.
Add `if (\!mask)` / `if (\!shiftSize)` guards that return a match
failure in all three cases, converting the crash into a proper
legalization failure.
Fixes #178214
Commit: 361e2359860e332ea669f53717c9759f8b3ca7e0
https://github.com/llvm/llvm-project/commit/361e2359860e332ea669f53717c9759f8b3ca7e0
Author: Twice <twice at apache.org>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/python/mlir/dialects/ext.py
M mlir/test/python/dialects/ext.py
Log Message:
-----------
[MLIR][Python] Support op adaptor for Python-defined operations (#183528)
Previously, in #177782, we added support for dialect conversion and
generated an `OpAdaptor` subtype for every ODS-defined operation. In
this PR, we will also generate `OpAdaptor` subtypes for Python-defined
operations, so that they can be applied in dialect conversion as well.
Commit: decb5d3ff6a1351fa16c1a6850c553d416b1495e
https://github.com/llvm/llvm-project/commit/decb5d3ff6a1351fa16c1a6850c553d416b1495e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/test/CIR/CodeGen/goto.cpp
M clang/test/CIR/CodeGen/label-values.c
M clang/test/CIR/CodeGen/label.c
M clang/test/CIR/CodeGen/nrvo.cpp
M clang/test/CIR/CodeGen/vla.c
Log Message:
-----------
[CIR] Remove branch through cleanup fixups (#182953)
Because we are using a structured representation of cleanups in CIR, we
don't need to handle branching through cleanups during codegen. These
branches are created during CFG flattening instead. However, we had
already committed some code that copied the classic codegen behavior for
branching through cleanups. This change deletes that unneeded code.
The most significant change here is that when we encounter a return
statement we emit the return directly in the current location.
The coroutine implementation still creates a return block in the current
lexical scope and branches to that block. Cleaning up that
representation is left as future work.
The popCleanupBlock handling still has a significant amount of logic
that is carried over from the classic codegen implementation. It is left
in place until we can be sure we won't need it.
Commit: 408209275e63765d69ad752a55b15df5f6063f0a
https://github.com/llvm/llvm-project/commit/408209275e63765d69ad752a55b15df5f6063f0a
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopUnrollAndJam/dependencies.ll
Log Message:
-----------
[LoopUnrollAndJam] Update test dependencies.ll (NFC) (#183509)
Recent on-going works to fix the correctness issues in DA will affect
some existing regression tests for passes that rely on it. As a result,
the original intent of several tests will be lost.
This patch updates `dependencies.ll` to avoid such issues and preserve
its intent. Specifically, this patch changes the loop bounds from
parameters to constants, which allows SCEV to infer no-wrap flags for
the addrecs. Also this patch updates other minor issues in the test,
such as adding pseudo codes and removing some `nuw` to avoid UB.
Commit: b28ad9cb96c29bb3a4fab187a64a20a70709e2da
https://github.com/llvm/llvm-project/commit/b28ad9cb96c29bb3a4fab187a64a20a70709e2da
Author: Sam James <sam at gentoo.org>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/tools/llvm-dwp/Opts.td
Log Message:
-----------
[llvm-dwp] Fix typo in --help
Commit: c1d33452468d2728005ced20be550e617f24e6dd
https://github.com/llvm/llvm-project/commit/c1d33452468d2728005ced20be550e617f24e6dd
Author: Yue Huang <30948580+AdUhTkJm at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Analysis/Presburger/PWMAFunction.cpp
Log Message:
-----------
[MLIR][Presburger][NFC] Don't add empty regions when unioning PWMA functions (#182468)
This will prevent exponential behaviour in lexicographic maximum
computation, where the `tiebreak` predicate is very likely to return
empty regions.
Commit: 46b6c9744f840981fb06504c3bf5583021064402
https://github.com/llvm/llvm-project/commit/46b6c9744f840981fb06504c3bf5583021064402
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll
Log Message:
-----------
[LoopUnrollAndJam] Update test unroll-and-jam.ll (NFC) (#183520)
The test `unroll-and-jam.ll` has the following issues:
- Some functions use `%i` and `%I` as variable names, which UTC fails to
distinguish, causing it to update the assertions incorrectly.
- Some tests use parameters for loop bounds, which means they will start
failing in the near future due to the ongoing changes in DA.
To address these issues, this patch updates the test as follows:
- Renames certain variables to avoid the naming conflict.
- For the tests that will be affected by the DA changes, adds variants
with constant loop bounds.
Commit: c056d7c5d6ea076b38fa937c54ab44ce2e5a95e1
https://github.com/llvm/llvm-project/commit/c056d7c5d6ea076b38fa937c54ab44ce2e5a95e1
Author: Neha <151068751+nehaGautam07 at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
A clang/test/SemaCXX/crash-invalid-operator-template.cpp
Log Message:
-----------
[Sema] Fix crash on invalid operator template-id (#181404)
Add checks in GetNameFromUnqualifiedId to handle invalid TemplateId
cases safely. This avoids a crash when handling an invalid template-id
during error recovery and allows normal error reporting to continue.
Fixes #177549
Commit: 8f9c926868d1e9a53e392f430f7cd68bd49bb997
https://github.com/llvm/llvm-project/commit/8f9c926868d1e9a53e392f430f7cd68bd49bb997
Author: theRonShark <ron.lieberman at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
R llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-runtime.ll
Log Message:
-----------
Revert "AMDGPU: Fix runtime unrolling when cascaded GEPs present (#14… (#183641)
…7700)"
slows down llama.cpp
This reverts commit cff4a00d3f7d91c0dd3a93eb81db66be178273d3.
Commit: 8d5b74db2d8f54da2609d18040504153c1afe5df
https://github.com/llvm/llvm-project/commit/8d5b74db2d8f54da2609d18040504153c1afe5df
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[DenseMap] Add memory barrier for sanitizers in getInlineBuckets/getLargeRep
Add a compiler memory barrier to prevent optimizations from triggering
false positives on partially poisoned buckets in (HW)ASan.
Fixes #182720.
Pull Request: https://github.com/llvm/llvm-project/pull/183457
Commit: 5929c9040fac0b9044080e50d683110104d600f4
https://github.com/llvm/llvm-project/commit/5929c9040fac0b9044080e50d683110104d600f4
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[mlir][vector] Fix fold result for empty vector.mask with no results (#180345)
This PR fixes `foldEmptyMaskOp` to return `failure` when folding an
empty vector.mask whose terminatorhas no operands. Previously this case
returned success without producing any folded results, which violates
the folding contract. Fixes #177825.
Commit: b354b206d3bef08d254713c027e235c0251eebdb
https://github.com/llvm/llvm-project/commit/b354b206d3bef08d254713c027e235c0251eebdb
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/fsanitize-minimal-runtime.c
M compiler-rt/test/safestack/overflow.c
Log Message:
-----------
[SafeStack] Allow -fsanitize-minimal-runtime with -fsanitize=safestack (#183644)
SafeStack does not require a full sanitizer runtime, so it should be
compatible
with the minimal runtime flag.
Commit: f30dfe7de4c3c584ae470425e96bac41676ddc69
https://github.com/llvm/llvm-project/commit/f30dfe7de4c3c584ae470425e96bac41676ddc69
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/tools/mlir-tblgen/OpDocGen.cpp
Log Message:
-----------
Revert "[mlir-tblgen] Remove `namespace {}` around OpDocGroup (#182721)" (#183458)
Reverts #182721, it's not needed after #183457.
It was a work around for #182720.
This reverts commit a0f344f69d7eb5d87dd78c628a196a3a7440e792.
Commit: 77600cbd9798bfde4949d047609866ebb6a7fd25
https://github.com/llvm/llvm-project/commit/77600cbd9798bfde4949d047609866ebb6a7fd25
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
Log Message:
-----------
[MLIR][XeGPU] XeGPU Layout adds support for fractional-subgroup-size vector (#183434)
This PR enhances the layout assignment for XeGPU load/store operations
to handle vector size smaller than subgroup size.
Say for vector[4], in case of lane_data=[1], lane_layout=[4] and
inst_data=[4].
The fractional-subgroup-size vector support is required to support the
cross-subgroup reduction case. The number of participant subgroups in
reduction can be small, so it causes each subgroup needs to reduce a
small vector size, often a fraction of subgroup size.
Most layout-based subgroup distribution patterns support
fraction-subgroup-size without no change except a few: reduction,
insert/extract, constant. We don't expect ND operations (like
load_nd/store_nd/dpas) accept fractional-subgroup-size vector.
Commit: 07007b7c8d9eb4d3c4da4eb150aeae8d83c0f1f3
https://github.com/llvm/llvm-project/commit/07007b7c8d9eb4d3c4da4eb150aeae8d83c0f1f3
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
Log Message:
-----------
[lldb] Don't add remap entries for empty segments (#183651)
There are some binaries in the shared cache with a zero-length segment,
or segments who get mapped to lldb address 0 to indicate a failure. Do
not add entries to the VirtualDataExtractor's LookupTablefor those -
they
are not readable.
rdar://171106338
Commit: 86b99eff8c4d2fc8b3391a67d2ba88b0840f6fea
https://github.com/llvm/llvm-project/commit/86b99eff8c4d2fc8b3391a67d2ba88b0840f6fea
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
R clang/test/SemaCXX/crash-invalid-operator-template.cpp
Log Message:
-----------
Revert "[Sema] Fix crash on invalid operator template-id (#181404)" (#183682)
Reverts llvm/llvm-project#181404
(c056d7c5d6ea076b38fa937c54ab44ce2e5a95e1) because of post-commit ci
failure.
Commit: ed8f080737dec39212cad72100670c3a21de7720
https://github.com/llvm/llvm-project/commit/ed8f080737dec39212cad72100670c3a21de7720
Author: raycppwizard <raycppwizard at foxmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[Clang][docs] Fix proposal number typo for P1847R4 (#183671)
This PR fixes a typo in `clang/www/cxx_status.html`.
The link text for the feature "Make declaration order layout mandated"
incorrectly referred to **P1874R4**, while the actual URL
(https://wg21.link/p1847r4) and the feature name correctly point to
**P1847R4**.
This change corrects the displayed text to match the proposal number.
Commit: 32134a64b195f7804698418b6f416e761d890dea
https://github.com/llvm/llvm-project/commit/32134a64b195f7804698418b6f416e761d890dea
Author: Jacques Pienaar <jacques+gh at japienaar.info>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialectBytecode.cpp
A mlir/test/mlir-tblgen/bytecode-write.td
M mlir/tools/mlir-tblgen/BytecodeDialectGen.cpp
Log Message:
-----------
[mlirbc] Switch generator to enable write's with failures. (#182464)
Previously one had to have a matching case per entry (e.g., one could
use a printer predicate, but the assumption was one woujld never
fallback) and just always return success.
Commit: 192acd6d536cbbb57f778bd996401716ec51d439
https://github.com/llvm/llvm-project/commit/192acd6d536cbbb57f778bd996401716ec51d439
Author: Rana Pratap Reddy <109514914+ranapratap55 at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-wmma-f16.hip
Log Message:
-----------
[Clang][AMDGPU] Change __fp16 to _Float16 in GFX1250 WMMA/SWMMAC builtin definitions (#183493)
Change the type signature of `gfx1250 WMMA/SWMMAC` builtins from
`__fp16` to `_Float16` in the tablegen builtin definitions.
Commit: b0b3e3e1c7f6387eabc2ef9ff1fea311e63a4299
https://github.com/llvm/llvm-project/commit/b0b3e3e1c7f6387eabc2ef9ff1fea311e63a4299
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/ARM/active-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-saddsatcost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/predicated-reverse-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.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
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/fold-tail-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_add_q7.ll
Log Message:
-----------
[VPlan] Don't drop NUW flag on tail folded canonical IVs (#183301)
After #183080 vscale can no longer be a non-power of 2, which means the
canonical IV can't overflow with tail folding w/ scalable vectors
anymore. Therefore we don't need to drop the NUW flag.
IVUpdateMayOverflow is left to be removed in a separate PR since it
removes further runtime checks.
Commit: a5bbedf522d4f75d4e4e5c0a9c8a92349f3b5a4b
https://github.com/llvm/llvm-project/commit/a5bbedf522d4f75d4e4e5c0a9c8a92349f3b5a4b
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions-tf.ll
Log Message:
-----------
[LV] Convert test to UTC. NFC
Commit: 92704064e585247bbdd77be24ca3e8b8080f1580
https://github.com/llvm/llvm-project/commit/92704064e585247bbdd77be24ca3e8b8080f1580
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
Log Message:
-----------
[VectorCombine][X86] Ensure we recognise free sign extends of vector comparison results (#183575)
Unless we're working with AVX512 mask predicate types, sign extending a
vXi1 comparison result back to the width of the comparison source types
is free.
VectorCombine::foldShuffleOfCastops - pass the original CastInst in the
getCastInstrCost calls to track the source comparison instruction.
Fixes #165813
Commit: 058705bf76af61b5f8bba3005073331cecb8733e
https://github.com/llvm/llvm-project/commit/058705bf76af61b5f8bba3005073331cecb8733e
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
Log Message:
-----------
[Clang][NFCI] Make program state GDM key const pointer (#183477)
This commit makes the GDM key in ProgramState a constant pointer. This
is done to better reflect the intention of the key as a unique
identifier for the data stored in the GDM, and to prevent the use of the
storage pointed to by the key as global state.
Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
Commit: 5af5bd4f9867336b2616aa84ad73368d18b945eb
https://github.com/llvm/llvm-project/commit/5af5bd4f9867336b2616aa84ad73368d18b945eb
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAMX.td
M llvm/lib/Target/X86/X86PreTileConfig.cpp
Log Message:
-----------
[AMX][NFC] Match pseudo name with isa (#182235)
Adds missing suffix to clear intent for isa.
we switch from `TILEMOVROWrre` to `TILEMOVROWrte` in
https://github.com/llvm/llvm-project/pull/168193 , however pseudo was
same, updating pseudo to intent right isa version, This patch makes
changes `PTILEMOVROWrre` to `PTILEMOVROWrte`, even though pseudo does
not actually have any tile register.
---------
Co-authored-by: mattarde <mattarde at intel.com>
Commit: a1f83ba1b6a7b78ffa1a02b3ededab44be08150f
https://github.com/llvm/llvm-project/commit/a1f83ba1b6a7b78ffa1a02b3ededab44be08150f
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV] NFCI: Move extend optimization to transformToPartialReduction. (#182860)
The reason for doing this in `transformToPartialReduction` is so that we
can create the VPExpressions directly when transforming reductions into
partial reductions (to be done in a follow-up PR).
I also intent to see if we can merge the in-loop reductions with partial
reductions, so that there will be no need for the separate
`convertToAbstractRecipes` VPlan Transform pass.
Commit: c690414f83695d2000c31bc9eafb941a1f84aae9
https://github.com/llvm/llvm-project/commit/c690414f83695d2000c31bc9eafb941a1f84aae9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Refactor visitDeclRef() (#183690)
Move the `!VD` case up so we can assume `VD` to be non-null earlier and
use a local variable instead of calling `D->getType()` several times.
Commit: 16aa1900ef8fe0ac64a60d681adf4bcbaa7d864b
https://github.com/llvm/llvm-project/commit/16aa1900ef8fe0ac64a60d681adf4bcbaa7d864b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.h
Log Message:
-----------
[clang][bytecode][NFC] Print more info in Pointer::operator<< (#183691)
So we know whether a pointer is a dummy and alive.
Commit: d43213fe801213beb23b03f9d5297e791b4e8826
https://github.com/llvm/llvm-project/commit/d43213fe801213beb23b03f9d5297e791b4e8826
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/ARM/active-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-saddsatcost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/predicated-reverse-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.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
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/fold-tail-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_add_q7.ll
Log Message:
-----------
Revert "[VPlan] Don't drop NUW flag on tail folded canonical IVs (#183301)" (#183698)
This reverts commit b0b3e3e1c7f6387eabc2ef9ff1fea311e63a4299.
After thinking about this for a bit, I don't think this is correct.
vscale being a power-of-2 only guarantees the canonical IV increment
overflows to zero, but not overflows in general.
Commit: f71bd1c74fe8d86b007bbe683012e5b5b072091b
https://github.com/llvm/llvm-project/commit/f71bd1c74fe8d86b007bbe683012e5b5b072091b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Record.cpp
M clang/lib/AST/ByteCode/Record.h
Log Message:
-----------
[clang][bytecode] Add `Record::hasPtrField()` (#183513)
So we can short-circuit the checking in
`EvaluationResult::collectBlock()`. This improves the compile time of
`X86Disassembler.cpp` by roughly 3.8%:
https://llvm-compile-time-tracker.com/compare_clang.php?from=d69c6a8528c60a8f8013651ff18ed4882f6e6836&to=b8b6333551d7c644e3c1b00ed19aceea09da40cc&stat=instructions%3Au
Commit: 4147cd29e1f2ecbc3bcd609b23d02ddd7fab4502
https://github.com/llvm/llvm-project/commit/4147cd29e1f2ecbc3bcd609b23d02ddd7fab4502
Author: hanbeom <kese111 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/test/CodeGen/WebAssembly/load-ext.ll
M llvm/test/CodeGen/WebAssembly/offset-fastisel.ll
Log Message:
-----------
[WebAssembly][FastISel] Emit signed loads for sext of i8/i16/i32 (#182767)
FastISel currently defaults to unsigned loads for i8/i16/i32 types,
leaving any sign-extension to be handled by a separate instruction. This
patch optimizes this by folding the SExtInst into the LoadInst, directly
emitting a signed load (e.g., i32.load8_s).
When a load has a single SExtInst use, selectLoad emits a signed load
and safely removes the redundantly emitted SExtInst.
Fixed: #180783
Commit: 28cbc682a9117013bcbdeeb24f0ad4f83f94a7c3
https://github.com/llvm/llvm-project/commit/28cbc682a9117013bcbdeeb24f0ad4f83f94a7c3
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
Log Message:
-----------
[NFC][analyzer] Remove NodeBuilders: part I (#183354)
This commit simplifies some parts of the engine by replacing short-lived
`NodeBuilder`s with `CoreEngine::makeNode`.
Additionally, the three-argument overload of `CoreEngine::enqueue` is
renamed to `enqueueStmtNodes` to highlight that it just calls
`enqueueStmtNode` in a loop.
Commit: 9e95cff5155a0a8524f2181dc9545ed7902ef6c1
https://github.com/llvm/llvm-project/commit/9e95cff5155a0a8524f2181dc9545ed7902ef6c1
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
A llvm/test/CodeGen/AArch64/veclib-llvm.pow.ll
M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/armpl.ll
Log Message:
-----------
[AArch64] Add vector expansion support for ISD::FPOW when using ArmPL (#183526)
This patch is split off from PR #183319 and teaches the backend how to
lower the FPOW DAG node to the vector math library function when using
ArmPL. This is similar to what we already do for llvm.sincos/FSINCOS
today.
Commit: 7a5ba652f08b890217b1d551b6c8e686a7b5379f
https://github.com/llvm/llvm-project/commit/7a5ba652f08b890217b1d551b6c8e686a7b5379f
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/select-bitcast.ll
Log Message:
-----------
[AArch64] optimize vselect of bitcast (#180375)
Using code/ideas from the x86 backend to optimize a select on a bitcast
integer. The previous aarch64 approach was to individually extract the
bits from the mask, which is kind of terrible.
https://rust.godbolt.org/z/576sndT66
```llvm
define void @if_then_else8(ptr %out, i8 %mask, ptr %if_true, ptr %if_false) {
start:
%t = load <8 x i32>, ptr %if_true, align 4
%f = load <8 x i32>, ptr %if_false, align 4
%m = bitcast i8 %mask to <8 x i1>
%s = select <8 x i1> %m, <8 x i32> %t, <8 x i32> %f
store <8 x i32> %s, ptr %out, align 4
ret void
}
```
turned into
```asm
if_then_else8: // @if_then_else8
sub sp, sp, #16
ubfx w8, w1, #4, #1
and w11, w1, #0x1
ubfx w9, w1, #5, #1
fmov s1, w11
ubfx w10, w1, #1, #1
fmov s0, w8
ubfx w8, w1, #6, #1
ldp q5, q2, [x3]
mov v1.h[1], w10
ldp q4, q3, [x2]
mov v0.h[1], w9
ubfx w9, w1, #2, #1
mov v1.h[2], w9
ubfx w9, w1, #3, #1
mov v0.h[2], w8
ubfx w8, w1, #7, #1
mov v1.h[3], w9
mov v0.h[3], w8
ushll v1.4s, v1.4h, #0
ushll v0.4s, v0.4h, #0
shl v1.4s, v1.4s, #31
shl v0.4s, v0.4s, #31
cmlt v1.4s, v1.4s, #0
cmlt v0.4s, v0.4s, #0
bsl v1.16b, v4.16b, v5.16b
bsl v0.16b, v3.16b, v2.16b
stp q1, q0, [x0]
add sp, sp, #16
ret
```
With this PR that instead emits
```asm
if_then_else8:
adrp x8, .LCPI0_1
dup v0.4s, w1
ldr q1, [x8, :lo12:.LCPI0_1]
adrp x8, .LCPI0_0
ldr q2, [x8, :lo12:.LCPI0_0]
ldp q4, q3, [x2]
and v1.16b, v0.16b, v1.16b
and v0.16b, v0.16b, v2.16b
ldp q5, q2, [x3]
cmeq v1.4s, v1.4s, #0
cmeq v0.4s, v0.4s, #0
bsl v1.16b, v2.16b, v3.16b
bsl v0.16b, v5.16b, v4.16b
stp q0, q1, [x0]
ret
```
So substantially shorter. Instead of building the mask
element-by-element, this approach (by virtue of not splitting) instead
splats the mask value into all vector lanes, performs a bitwise and with
powers of 2, and compares with zero to construct the mask vector.
cc https://github.com/rust-lang/rust/issues/122376
cc https://github.com/llvm/llvm-project/pull/175769
Commit: 10b48e41e7d7455a68c00ac52442f994d7c51ffe
https://github.com/llvm/llvm-project/commit/10b48e41e7d7455a68c00ac52442f994d7c51ffe
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/get_active_lane_mask.ll
Log Message:
-----------
[InstCombine] Combine extract from get_active_lane_mask where all lanes inactive (#183329)
When extracting a subvector from the result of a get_active_lane_mask, return
a constant zero vector if it can be proven that all lanes will be inactive.
For example, the result of the extract below will be a subvector where
every lane is inactive if X & Y are const, and `Y * VScale >= X`:
vector.extract(get.active.lane.mask(Start, X), Y)
Commit: 294cf1f6b49b56795757f1392d705cdb78cd1d06
https://github.com/llvm/llvm-project/commit/294cf1f6b49b56795757f1392d705cdb78cd1d06
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/fnabs.ll
Log Message:
-----------
[X86] fnabs.ll - regenerate test checks and add AVX512 test coverage (#183709)
Commit: 5e1d99158e0bccc1b1de34c66f7b48a65c5a6116
https://github.com/llvm/llvm-project/commit/5e1d99158e0bccc1b1de34c66f7b48a65c5a6116
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/stack-align.ll
Log Message:
-----------
[X86] stack-align.ll - regenerate test checks with no address scrubing (#183712)
Commit: d6fcf47a893475f6f3dbcace29093297b7e9f366
https://github.com/llvm/llvm-project/commit/d6fcf47a893475f6f3dbcace29093297b7e9f366
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M libcxx/include/__vector/vector.h
M libcxx/test/std/containers/sequences/vector/vector.modifiers/append_range.pass.cpp
Log Message:
-----------
[libc++] Fix vector::append_range growing before the capacity is reached (#183264)
Currently `vector::append_range` grows even when appending a number of
elements that is exactly equal to its spare capacity, which is
guaranteed by the standard to _not_ happen.
Fixes #183256
Commit: 250ebfc3068819b22706010940724822ac6a426d
https://github.com/llvm/llvm-project/commit/250ebfc3068819b22706010940724822ac6a426d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/vec-copysign-avx512.ll
M llvm/test/CodeGen/X86/vec_fcopysign.ll
Log Message:
-----------
[X86] regenerate fcopysign test checks (#183710)
Fix vpternlog comments
Commit: 1afd7d40afe33c2e7256210e07390cc0903a7069
https://github.com/llvm/llvm-project/commit/1afd7d40afe33c2e7256210e07390cc0903a7069
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/promote-alloca-vector-gep.ll
Log Message:
-----------
[AMDGPU] Support i8/i16 GEP indices when promoting allocas to vectors (#175489)
Allow promote alloca to vector to form a vector element index from
i8/i16
GEPs when the dynamic offset is known to be element size aligned.
Example:
```llvm
%alloca = alloca <3 x float>, addrspace(5)
%idx = select i1 %idx_select, i32 0, i32 4
%p = getelementptr inbounds i8, ptr addrspace(5) %alloca, i32 %idx
```
Or:
```llvm
%alloca = alloca <3 x float>, addrspace(5)
%idx = select i1 %idx_select, i32 0, i32 2
%p = getelementptr inbounds i16, ptr addrspace(5) %alloca, i32 %idx
```
Commit: 5e30ff9e70becff834e1e0bbe22d3821630460e2
https://github.com/llvm/llvm-project/commit/5e30ff9e70becff834e1e0bbe22d3821630460e2
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/test/API/functionalities/dyld-launch-linux/TestDyldLaunchLinux.py
Log Message:
-----------
[lldb][test] Re-enable TestDyldLaunchLinux.py for Linux/Arm (#181221)
The test was disabled in c55e021d, but it now passes, with both remote
and local runs.
Commit: b9f2a489607cc8e9d7717450b1e32145cdb93ee9
https://github.com/llvm/llvm-project/commit/b9f2a489607cc8e9d7717450b1e32145cdb93ee9
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
Log Message:
-----------
[MemorySSA] Make `getBlockDefs` and `getBlockAccesses` return a non-const list (NFC)
As per discussion at https://github.com/llvm/llvm-project/pull/181709#discussion_r2847595945,
users may already get a non-const MemoryAccess pointer via
`getMemoryAccess` for a given instruction. Drop the restriction
on directly iterate over them by modifying public `getBlockDefs`/
`getBlockAccesses` APIs to return a mutable list, thus dropping the
now obsolete distinction with `getWritableBlockDefs` and
`getWritableBlockAccesses` helpers.
Commit: 49f4232a7d73062de3796dec06bb34bf6842245b
https://github.com/llvm/llvm-project/commit/49f4232a7d73062de3796dec06bb34bf6842245b
Author: idubinov <53053614+idubinov at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULaneMaskUtils.h
Log Message:
-----------
[AMDGPU] Remove unused CmpLGOp instruction (#180195)
The instruction was accidentally added, remove it.
Rename OrN2Op to OrN2Opc for consistency with other names
Commit: e7bc02d9a49fe988daa5f149f30a8b3e06cbe348
https://github.com/llvm/llvm-project/commit/e7bc02d9a49fe988daa5f149f30a8b3e06cbe348
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/trip-count-scalable-stride.ll
Log Message:
-----------
[SCEV] Always return true for isKnownToBeAPowerOfTwo for SCEVVScale (#183693)
After #183080 vscale is always a power of two, so we don't need to check
for the vscale_range attribute.
Commit: 98825908fc51f0226b38381520ba2a4f5f1f36e9
https://github.com/llvm/llvm-project/commit/98825908fc51f0226b38381520ba2a4f5f1f36e9
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/canonicalize.mlir
Log Message:
-----------
[mlir][affine] Fix crash in linearize_index fold when basis is ub.poison (#183650)
`foldCstValueToCstAttrBasis` iterates the folded dynamic basis values
and erases any operand whose folded attribute is non-null (i.e., was
constant- folded). When an operand folds to `ub.PoisonAttr`, the
attribute is non-null so the operand was erased from the dynamic operand
list. However, `getConstantIntValue` on the corresponding `OpFoldResult`
in `mixedBasis` returns `std::nullopt` for poison (it is not an integer
constant), so the position was left as `ShapedType::kDynamic` in the
returned static basis.
This left the op in an inconsistent state: the static basis claimed one
more dynamic entry than actually existed. A subsequent call to
`getMixedBasis()` triggered the assertion inside `getMixedValues`.
Fix by skipping poison attributes in the erasure loop, treating them
like non-constant values. This keeps the dynamic operand and its
matching `kDynamic` entry in the static basis consistent.
Fixes #179265
Commit: c5c0fe663c7ba55982422940a489cde15f8d2497
https://github.com/llvm/llvm-project/commit/c5c0fe663c7ba55982422940a489cde15f8d2497
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Remove non-power-of-2 scalable VF comment. NFC (#183719)
No longer holds after #183080
Commit: 14f73345ff0caa0694e9033d0c805f9cfa7ff519
https://github.com/llvm/llvm-project/commit/14f73345ff0caa0694e9033d0c805f9cfa7ff519
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
M mlir/test/Dialect/Arith/int-range-narrowing.mlir
Log Message:
-----------
[mlir][dataflow] Fix crash in IntegerRangeAnalysis with non-constant loop bounds (#183660)
When visiting non-control-flow arguments of a LoopLikeOpInterface op,
IntegerRangeAnalysis assumed that getLoopLowerBounds(),
getLoopUpperBounds(), and getLoopSteps() always return non-null values
when getLoopInductionVars() is non-null. This assumption is incorrect:
for example, AffineForOp returns nullopt from getLoopUpperBounds() when
the upper bound is not a constant affine expression (e.g., a dynamic
index from a tensor.dim).
Fix this by checking whether the bound optionals are engaged before
dereferencing them and falling back to the generic analysis if any bound
is unavailable.
Fixes #180312
Commit: 1a6bd39fd49868c5024db908cc194397f3415029
https://github.com/llvm/llvm-project/commit/1a6bd39fd49868c5024db908cc194397f3415029
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/volatile3.f90
Log Message:
-----------
[flang] Use CHECK-DAG to check constants (NFC) (#183687)
It is part of https://github.com/llvm/llvm-project/pull/180556, as a
separate NFC PR
Commit: 4d169f38cab5071cd0e6233c1170cc02c95edff1
https://github.com/llvm/llvm-project/commit/4d169f38cab5071cd0e6233c1170cc02c95edff1
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Clarify in vscale_range that vscale is a power-of-two without the attribute (#183689)
Previously vscale_range used to add the constraint that vscale is a
power-of-two, but after #183080 it's already a power-of-two to begin
with.
This clarifies the sentence about assumptions when there is no attribute
Commit: 6b91049f44d21c5810703ccee23672875001d5ad
https://github.com/llvm/llvm-project/commit/6b91049f44d21c5810703ccee23672875001d5ad
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
A clang/test/CodeGen/c23-constexpr-member-access.c
A clang/test/Sema/constexpr-member-access.c
Log Message:
-----------
[Clang] support C23 constexpr struct member access in constant expressions (#182770)
Fixes #178349
---
This patch resolves an issue where accessing C23 `constexpr` struct
members using the dot operator was not recognized as a constant
expression.
According to C23 spec:
> 6.6p7:
>
> An identifier that is:
> — an enumeration constant,
> — a predefined constant, or
> — declared with storage-class specifier constexpr and has an object
type,
> is a named constant, as is a postfix expression that applies the .
member access operator to a named
> constant of structure or union type, even recursively. For enumeration
and predefined constants,
> their value and type are defined in the respective clauses; for
constexpr objects, such a named
> constant is a constant expression with the type and value of the
declared object.
>
> § 6.6p13:
>
> A structure or union constant is a named constant or compound literal
constant with structure or
> union type, respectively
>
> § 6.6p15:
>
> Starting from a structure or union constant, the member-access .
operator may be used to form a
> named constant or compound literal constant as described previously in
this subclause
Commit: 3676ae43bff9159ab509654bd13c9145752a05b9
https://github.com/llvm/llvm-project/commit/3676ae43bff9159ab509654bd13c9145752a05b9
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
Log Message:
-----------
[NFC][SPIRV] Remove dead code from `SPIRVPostLegalizer.cpp` (#183585)
Both `visit` functions are unused in the file and outside of it.
Commit: d8671280d4bf4a598e0bc640a4608f7ac0089842
https://github.com/llvm/llvm-project/commit/d8671280d4bf4a598e0bc640a4608f7ac0089842
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs-apple.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/select-index.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-constant-known-via-scev.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/pr131359-dead-for-splice.ll
M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
M llvm/test/Transforms/LoopVectorize/assume.ll
M llvm/test/Transforms/LoopVectorize/cse-gep-source-element-type.ll
M llvm/test/Transforms/LoopVectorize/find-last-iv-interleave.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/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/metadata.ll
M llvm/test/Transforms/LoopVectorize/noalias-scope-decl.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/select-index-interleaving.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
Log Message:
-----------
[VPlan] Add nuw to unrolled canonical IVs (#183716)
After #183080, the canonical IV (not the increment!) can't overflow. So
now canonical IVs that are unrolled will have steps that don't overflow,
so we can add the nuw flag.
This allows us to tighten the VPlanVerifier isKnownMonotonic check by
restricting it to adds with nuw.
Commit: fc69531254ca9e81fd4371c68e7fd74fe4b9527a
https://github.com/llvm/llvm-project/commit/fc69531254ca9e81fd4371c68e7fd74fe4b9527a
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/test/ExecutionEngine/Interpreter/test-interp-vec-insertelement.ll
Log Message:
-----------
[LLVM][ExecutionEngine] Add vector ConstantInt/FP support to getConstantValue(). (#182538)
Unify vector constant handling via calls to getAggregateElement rather
than handling each constant type separately.
Commit: e3dda81e2a802112fb9b3129ec34d1103e5ed5d6
https://github.com/llvm/llvm-project/commit/e3dda81e2a802112fb9b3129ec34d1103e5ed5d6
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M flang/include/flang/Parser/openmp-utils.h
Log Message:
-----------
[flang][OpenMP] Add `is_range<R>` trait to detect classes with begin/end, NFC (#183615)
Commit: 2f4624613d05b2982dccc99ac0a06e87e6f3efd0
https://github.com/llvm/llvm-project/commit/2f4624613d05b2982dccc99ac0a06e87e6f3efd0
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/malloc-annotations.c
Log Message:
-----------
[analyzer] Fix crash in MallocChecker when a function has both ownership_returns and ownership_takes (#183583)
When a function was annotated with both `ownership_returns` and
`ownership_takes` (or `ownership_holds`), MallocChecker::evalCall would
fall into the freeing-only branch (isFreeingOwnershipAttrCall) and call
checkOwnershipAttr without first calling MallocBindRetVal. That meant no
heap symbol had been conjured for the return value, so
checkOwnershipAttr later dereferenced a null/invalid symbol and crashed.
Fix: merge the two dispatch branches so that MallocBindRetVal is always
called first whenever ownership_returns is present, regardless of
whether the function also carries ownership_takes/ownership_holds.
The crash was introduced in #106081
339282d49f5310a2837da45c0ccc19da15675554.
Released in clang-20, and crashing ever since.
Fixes #183344.
Assisted-By: claude
Commit: 8a0be0bc3772e8ed06b9a17255e0cfb25539f125
https://github.com/llvm/llvm-project/commit/8a0be0bc3772e8ed06b9a17255e0cfb25539f125
Author: bala-bhargav <penugondabalabharghav at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/gfni-xor-fold-avx512.ll
M llvm/test/CodeGen/X86/gfni-xor-fold.ll
Log Message:
-----------
[X86] Fold XOR of two vgf2p8affineqb instructions with same input (#179900)
This patch implements an optimization to fold XOR of two
`vgf2p8affineqb` instructions operating on the same input.
This optimization:
Reduces instruction count from 3 to 2
Eliminates one vgf2p8affineqb instruction
Added combineXorWithTwoGF2P8AFFINEQB function in X86ISelLowering.cpp
Uses sd_match pattern matching for consistency with existing code
Checks that both operations have single use to avoid code bloat
Verifies both operations use the same input
Handles commutative XOR patterns automatically
Commit: dc2ec04342de45b29ac7a170952776b2b3a0011f
https://github.com/llvm/llvm-project/commit/dc2ec04342de45b29ac7a170952776b2b3a0011f
Author: Nico Weber <thakis at chromium.org>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
Log Message:
-----------
[gn] port 3490d28c8cab
Commit: 20df251af50b4cb8cad2fcdb94e723f1debaddc4
https://github.com/llvm/llvm-project/commit/20df251af50b4cb8cad2fcdb94e723f1debaddc4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[LLVM][Runtimes] Add 'llvm-gpu-loader' to dependency list (#183601)
Summary:
This is used to run the unit tests in libc / libc++. It must exist in
the build directory's binary path, but without this dependnecy we may
not build it before running the runtimes build. This should ensure that
it's present, and only if we have tests enabled.
Commit: bf3ab0d873bf72dd0d73cb8975e642429ab95ea1
https://github.com/llvm/llvm-project/commit/bf3ab0d873bf72dd0d73cb8975e642429ab95ea1
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
Log Message:
-----------
[AMDGPU][Scheduler] Add `GCNRegPressure`-based methods to `GCNRPTarget` (#182853)
This adds a few methods to `GCNRPTarget` that can estimate/perform RP
savings based on `GCNRegPressure` instead of a single `Register`,
opening the door to model/incorporate more complex savings made up of
multiple registers of potentially different classes. The scheduler's
rematerialization stage now uses this new API.
Although there are no test changes this is not really NFC since register
pressure savings in the rematerialization stage are now computed through
`GCNRegPressure` instead of the stage itself. If anything this makes
them more consistent with the rest of the RP-tracking infrastructure.
Commit: 9210d701cbf07dad8a08743c953e0faf4f938699
https://github.com/llvm/llvm-project/commit/9210d701cbf07dad8a08743c953e0faf4f938699
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
A llvm/test/CodeGen/MIR/Generic/expected-unsigned.mir
Log Message:
-----------
[MIR] Error on signed integer in getUnsigned (#183171)
Previously we effectively took the absolute value of the APSInt, instead
diagnose the unexpected negative value.
Change-Id: I4efe961e7b29fdf1d5f97df12f8139aac12c9219
Commit: 7402312ae12d91df436486ca296119607a81edd0
https://github.com/llvm/llvm-project/commit/7402312ae12d91df436486ca296119607a81edd0
Author: idubinov <igor.dubinov at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[NFC][SPIRV] Fix compile warnings (#183725)
Fix compile warnings in SPIR-V
```
llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2882:26: warning: enumerated and non-enumerated type in conditional expression [-Wextra]
2882 | return IsFloatTy ? SPIRV::OpGroupNonUniformFMax : IntOp;
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp: In lambda function:
llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2897:26: warning: enumerated and non-enumerated type in conditional expression [-Wextra]
2897 | return IsFloatTy ? SPIRV::OpGroupNonUniformFMin : IntOp;
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
Commit: a8a6613cc4235c8cbd473927f8567b74b9030c6b
https://github.com/llvm/llvm-project/commit/a8a6613cc4235c8cbd473927f8567b74b9030c6b
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
[AMDGPU][Scheduler] Fix compilation fail in EXPENSIVE_CHECKS (#183745)
Bug introduced by #182853 (`Remat` is now a pointer).
Commit: 9c2a3ca4949ee2e29a155efa9c69aea801b41813
https://github.com/llvm/llvm-project/commit/9c2a3ca4949ee2e29a155efa9c69aea801b41813
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[MLIR] Fix OpenACC parser crash with opaque pointers (#183521)
Fixes #181453
Fixes #181589
Commit: 7cc27e28db97a9b2fd145d35044b7dbe6c8426f2
https://github.com/llvm/llvm-project/commit/7cc27e28db97a9b2fd145d35044b7dbe6c8426f2
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/test/Dialect/Vector/vector-unroll-options.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[MLIR][Vector] Enhance shape_cast unrolling support in case the target shape is [1, 1, ..1] (#183436)
This PR fixes a minor issue in shape_cast unrolling: when all target
dimensions are unit-sized, it no longer removes all leading unit
dimensions.
Commit: 370273382035097069c5472378df84e10e6fa66b
https://github.com/llvm/llvm-project/commit/370273382035097069c5472378df84e10e6fa66b
Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/clmul-fixed.ll
Log Message:
-----------
[SelectionDAG] Fix CLMULR/CLMULH expansion (#183537)
For v8i8 on AArch64, `expandCLMUL` picked the zext path (ExtVT=v8i16) since ZERO_EXTEND/SRL were legal, but CLMUL on v8i16 is not, resulting in a bit-by-bit expansion (~42 insns). Prefer the bitreverse path when CLMUL is legal on VT but not ExtVT.
v8i8 CLMULR: 42 → 4 instructions.
Fixes #182780
Commit: f55b86258c913669a143e466adc43afb851bcbfb
https://github.com/llvm/llvm-project/commit/f55b86258c913669a143e466adc43afb851bcbfb
Author: RattataKing <amilywu2 at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
Log Message:
-----------
[mlir][Python] Drop Python <=3.9 compatibility path (#183416)
According to PR #163499, minimum Python version for mlir-py is now 3.10,
we no longer need patches for py<=3.9.
This change aligns with the Python version bump policy discussed
[here](https://discourse.llvm.org/t/rfc-adopt-regularly-scheduled-python-minimum-version-bumps/88841).
Commit: 620425a884388947ae691f3b80545e47c8687840
https://github.com/llvm/llvm-project/commit/620425a884388947ae691f3b80545e47c8687840
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Fix crash in tensor.from_elements fold with non-scalar element types (#183659)
The fold for tensor.from_elements attempted to always produce a
DenseElementsAttr by calling DenseElementsAttr::get(type, elements).
However, DenseElementsAttr::get only handles basic scalar element types
(integer, index, float, complex) directly. For other element types such
as vector types, it expects StringAttr (raw bytes) for each element,
which folded constants won't provide — triggering an assertion.
Fix this by guarding the fold: only attempt the DenseElementsAttr fold
when the tensor element type is integer, index, float, or complex.
Fixes #180459
Commit: bcd8819aee057f483c040743a6e8ccb2ecd7d44a
https://github.com/llvm/llvm-project/commit/bcd8819aee057f483c040743a6e8ccb2ecd7d44a
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
[mlir][transforms] Fix crash in remove-dead-values when function has non-call users (#183655)
`processFuncOp` asserts that all symbol uses of a function are
`CallOpInterface` operations. This is violated when a function is
referenced by a non-call operation such as `spirv.EntryPoint`, which
uses the function symbol for metadata purposes without calling it.
Fix this by replacing the assertion with an early return: if any user of
the function symbol is not a `CallOpInterface`, skip the function
entirely. This is safe because the pass cannot determine the semantics
of arbitrary non-call references, so it should leave such functions
alone.
Fixes #180416
Commit: ef05d06109405fa4080f9dad762c7a5523a4b8b7
https://github.com/llvm/llvm-project/commit/ef05d06109405fa4080f9dad762c7a5523a4b8b7
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCoreProperties.td
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][Process/FreeBSDKernelCore] Implement DoWriteMemory() (#183553)
Implement `ProcessFreeBSDKernelCore::DoWriteMemory()` to write data on
kernel crash dump or `/dev/mem`. Due to safety reasons (e.g. writing
wrong value on `/dev/mem` can trigger kernel panic), this feature is
only enabled when `plugin.process.freebsd-kernel-core.read-only` is set
to false (true by default).
Since 85a1fe6 (#183237) was reverted as it was prematurely merged, I'm
committing changes again with corrections here.
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: d8956d7796bb2d7e5feb7945dffb2dbcf372aaa3
https://github.com/llvm/llvm-project/commit/d8956d7796bb2d7e5feb7945dffb2dbcf372aaa3
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
Log Message:
-----------
[SPIRV][NFCI] Use unordered data structures for SPIR-V extensions (#183567)
Review follow-up from https://github.com/llvm/llvm-project/pull/183325
No reason for these data structures to be ordered.
Minor annoyance when trying to use `DenseMap` because of the C++ code
for enums generated by TableGen, but not too bad.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 53656d1a2fad6765e69dbdc6613d44013d7bfcbd
https://github.com/llvm/llvm-project/commit/53656d1a2fad6765e69dbdc6613d44013d7bfcbd
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/DebugInfo/CXX/vtable-external.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
M clang/test/DebugInfo/CXX/vtable-template-instantiation.cpp
Log Message:
-----------
[clang][DebugInfo] Rename _vtable$ to __clang_vtable (#183617)
Discussion is a follow-up from
https://github.com/llvm/llvm-project/issues/182762#issuecomment-3965207289
(where we're discussing how LLDB could make use of this symbol for
vtable detection).
`_vtable$` is not a reserved identifier in C or C++. In order for
debuggers to reliably use this symbol without accidentally reaching into
user-identifiers, this patch renames it such that it is reserved. The
naming follows the style of the recently added `__clang_trap_msg`
debug-info symbol.
Commit: 4eab75e21fdf1f180ef46f00591cc30cf72df69a
https://github.com/llvm/llvm-project/commit/4eab75e21fdf1f180ef46f00591cc30cf72df69a
Author: Akash Dutta <137309513+akadutta at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AMDGPU/zext-duplicate-shift.ll
Log Message:
-----------
[SLP][NFC] Precommit test for zext reorder with duplicate shifts (#183748)
This is a pre-commit test for
https://github.com/llvm/llvm-project/pull/183627,
Commit: 11a92a9305a79548449731e3be989a3ffaa8ae53
https://github.com/llvm/llvm-project/commit/11a92a9305a79548449731e3be989a3ffaa8ae53
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/include/llvm/MC/MCGOFFAttributes.h
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/MC/MCSymbolGOFF.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
Log Message:
-----------
[SystemZ] Add indirect reference bit XATTR REFERENCE(INDIRECT) for indirect symbol handling support (#183441)
This is the first of three patches aimed to support indirect symbol
handling for the SystemZ backend. This PR introduces a `GOFF:ERAttr` to
represent indirect references, handles indirect symbols within
`setSymbolAttribute()` by setting the indirect reference bit, and also
updates the HLASM streamer to emit `XATTR REFERENCE(INDIRECT)` and
various other combinations.
Commit: ed05f7012fe93af8b2b230f7059d0162d8aed126
https://github.com/llvm/llvm-project/commit/ed05f7012fe93af8b2b230f7059d0162d8aed126
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/test/Dialect/Vector/vector-multi-reduction-flattening.mlir
Log Message:
-----------
[mlir][vector] Rename `ReduceMultiDimReductionRank` -> `FlattenMultiReduction` (NFC) (#183721)
The updated name better captures what the pattern does and matches the
coresponding `populat*` hook,
`populateVectorMultiReductionFlatteningPatterns`, that only contains
this pattern.
Commit: 2265d3240f23c1c6ff7b4d0fa2711a9ed36fdc8a
https://github.com/llvm/llvm-project/commit/2265d3240f23c1c6ff7b4d0fa2711a9ed36fdc8a
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
Log Message:
-----------
[pdb] Fix libc++ strict-weak-ordering assertion failures from gsiRecordCmp (#183749)
Builds using libc++ hardening was hitting asserts like
libc++ Hardening assertion
!__comp(*(__first + __a), *(__first + __b)) failed:
Your comparator is not a valid strict-weak ordering
printf-debugging revealed that symbols like "?ST@@3JA" were not
comparing equal with themselves. It turns out the comparison was done
with
return S1.compare_insensitive(S2.data());
and even when &S1 == &S2, S1 and S2.data() may not refer to identical
strings, since data() may not have a null terminator where the StringRef
locally ends.
This fixes the ordering, simplifies the code, and makes it a little
faster :)
Fixes: #163755
Commit: 4b10a4c17781e389e5e67a0aa274ba00382ac149
https://github.com/llvm/llvm-project/commit/4b10a4c17781e389e5e67a0aa274ba00382ac149
Author: Jacques Pienaar <jacques+gh at japienaar.info>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
A mlir/test/Bytecode/bytecode_producer.mlir
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
Log Message:
-----------
[mlir] Enable specifying bytecode producer in mlir-opt. (#182846)
Commit: 9c53215d213189d1f62e8f6ee7ba73a089ac2269
https://github.com/llvm/llvm-project/commit/9c53215d213189d1f62e8f6ee7ba73a089ac2269
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
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/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs-apple.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vector-loop-backedge-elimination-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
M llvm/test/Transforms/LoopVectorize/reduction-minmax-users-and-predicated.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-cond-poison.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
Log Message:
-----------
[VPlan] Remove manual region removal when simplifying for VF and UF. (#181252)
Replace manual region dissolution code in
simplifyBranchConditionForVFAndUF with using general
removeBranchOnConst. simplifyBranchConditionForVFAndUF now just creates
a (BranchOnCond true) or updates BranchOnTwoConds.
The loop then gets automatically removed by running removeBranchOnConst.
This removes a bunch of special logic to handle header phi replacements
and CFG updates. With the new code, there's no restriction on what kind
of header phi recipes the loop contains.
Note that VPEVLBasedIVRecipe needs to be marked as readnone. This is
technically unrelated, but I could not find an independent test that
would be impacted.
The code to deal with epilogue resume values now needs updating, because
we may simplify a reduction directly to the start value.
PR: https://github.com/llvm/llvm-project/pull/181252
Commit: 975dba28633d2f3746a8a370741b17024b0f5f9b
https://github.com/llvm/llvm-project/commit/975dba28633d2f3746a8a370741b17024b0f5f9b
Author: yonghong-song <yhs at fb.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll
M clang/test/CodeGen/distributed-thin-lto/cfi.ll
M clang/test/CodeGen/thinlto-funcattr-prop.ll
M lld/test/ELF/lto/comdat-nodeduplicate.ll
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/test/Assembler/thinlto-memprof-summary.ll
M llvm/test/Assembler/thinlto-multiple-summaries-for-guid.ll
M llvm/test/Assembler/thinlto-summary-visibility.ll
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Assembler/thinlto-vtable-summary.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-index-disassembled-by-llvm-dis.ll
M llvm/test/Bitcode/thinlto-type-tests.ll
M llvm/test/Bitcode/thinlto-type-vcalls.ll
A llvm/test/ThinLTO/X86/Inputs/reduce-promotion-same-file-local-name.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-maythrow.ll
M llvm/test/ThinLTO/X86/funcimport_alwaysinline.ll
M llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/ThinLTO/X86/load-store-caching.ll
A llvm/test/ThinLTO/X86/reduce-promotion-devirt.ll
A llvm/test/ThinLTO/X86/reduce-promotion-same-file-local-name.ll
A llvm/test/ThinLTO/X86/reduce-promotion-same-local-name.ll
A llvm/test/ThinLTO/X86/reduce-promotion.ll
M llvm/test/Transforms/LowerTypeTests/import-unsat.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/import-indir.yaml
M llvm/test/Transforms/WholeProgramDevirt/import-indir.ll
Log Message:
-----------
[ThinLTO] Reduce the number of renaming due to promotions (#178587)
Currently for thin-lto, the imported static global values (functions,
variables, etc) will be promoted/renamed from e.g., foo() to
foo.llvm.<hash>(). Such a renaming caused difficulties in live patching
since function name is changed ([1]).
It is possible that some global value names have to be promoted to avoid
name collision and linker failure. But in practice, majority of name
promotions can be avoided.
In [2], the suggestion is that thin-lto pre-link decides whether
a particular global value needs name promotion or not. If yes, later on
in thinBackend() the name will be promoted.
I compiled a particular linux kernel version (latest bpf-next tree)
and found 1216 global values with suffix .llvm.<hash>. With this patch,
the number of promoted functions is 2, 98% reduction from the
original kernel build.
If some native objects are not participating with LTO, name promotions
have to be done to avoid potential linker issues. So the current
implementation cannot be on by default. But in certain cases, e.g., linux kernel
build, people can enable lld flag --lto-whole-program-visibility to reduce the
number of functions like foo.llvm.<hash>().
For ThinLTOCodeGenerator.cpp which is used by llvm-lto tool and a
few other rare cases, reducing the number of renaming due to promotion,
is not implemented as lld flag '-lto-whole-program-visibility' is not supported
in ThinLTOCodeGenerator.cpp for now. In summary, this pull request
only supports llvm-lto2 style workflow.
[1] https://lpc.events/event/19/contributions/2212
[2] https://discourse.llvm.org/t/rfc-avoid-functions-like-foo-llvm-for-kernel-live-patch/89400
Commit: 729602e81009460a67dae3b8d1d8466b3c83211d
https://github.com/llvm/llvm-project/commit/729602e81009460a67dae3b8d1d8466b3c83211d
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
Log Message:
-----------
Revert "[SPIRV][NFCI] Use unordered data structures for SPIR-V extensions" (#183774)
Reverts llvm/llvm-project#183567
UBSan failure.
Commit: a703d91091ec6f61bc044413a2799349b2214a0d
https://github.com/llvm/llvm-project/commit/a703d91091ec6f61bc044413a2799349b2214a0d
Author: John Harrison <harjohn at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
A lldb/test/API/tools/lldb-dap/cancel/busy_loop.py
Log Message:
-----------
[lldb-dap] Improve test performance for 'cancel' request. (#183632)
Update the test to more cleanly handle making a 'blocking' call using a
custom command instead of python `time.sleep`, which we cannot easily
interrupt.
This should improve the overall performance of the tests, locally they
took around 30s and now finish in around 6s.
Commit: d1da7f6ee5d7ee8729ade96209d8b19bdef69d52
https://github.com/llvm/llvm-project/commit/d1da7f6ee5d7ee8729ade96209d8b19bdef69d52
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
A clang/test/ClangScanDeps/modules-symlink-dir-from-module-incremental.c
Log Message:
-----------
[clang-scan-deps] Add test for symlink-aliased module map PCM reuse across incremental scans (#183328)
Add a test that verifies symlink aliases to a module map directory
produce the same PCM across incremental scans.
Commit: 0617623858054a3533b3ed44d355dee7f9102c1c
https://github.com/llvm/llvm-project/commit/0617623858054a3533b3ed44d355dee7f9102c1c
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer.ll
Log Message:
-----------
[SPIR-V] Fix non-deterministic compiler output for debug type pointer (#182773)
Fixes: https://github.com/llvm/llvm-project/issues/123791
Commit: de4a1a77e1476e9105a6143a8d3b8760b61ff95f
https://github.com/llvm/llvm-project/commit/de4a1a77e1476e9105a6143a8d3b8760b61ff95f
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/DependencyScanning/InProcessModuleCache.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/DependencyScanning/InProcessModuleCache.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Lex/Pragma.cpp
A clang/test/ClangScanDeps/modules-cycle-deadlock.c
A clang/test/Modules/implicit-cycle-deadlock.c
M llvm/include/llvm/Support/AdvisoryLock.h
M llvm/include/llvm/Support/LockFileManager.h
M llvm/lib/Support/LockFileManager.cpp
M llvm/lib/Support/VirtualOutputBackends.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
Log Message:
-----------
[clang][modules] Prevent deadlock in module cache (#182722)
When there's a dependency cycle between modules, the dependency scanner
may encounter a deadlock. This was caused by not respecting the lock
timeout. But even with the timeout implemented, leaving
`unsafeMaybeUnlock()` unimplemented means trying to take a lock after a
timeout would still fail and prevent making progress. This PR implements
this API in a way to avoid UB on `std::mutex` (when it's unlocked by
someone else than the owner). Lastly, this PR makes sure that
`unsafeUnlock()` ends the wait of existing threads, so that they don't
need to hit the full timeout amount.
This PR also implements `-fimplicit-modules-lock-timeout=<seconds>` that
allows tweaking the default 90-second lock timeout, and adds `#pragma
clang __debug sleep` that makes it easier to achieve desired execution
ordering.
rdar://170738600
Commit: 35f8ca8b76c63b47a6c5a7aa041310f42947a838
https://github.com/llvm/llvm-project/commit/35f8ca8b76c63b47a6c5a7aa041310f42947a838
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M flang/test/Lower/Intrinsics/abs.f90
M flang/test/Lower/Intrinsics/achar.f90
M flang/test/Lower/Intrinsics/acospi.f90
M flang/test/Lower/Intrinsics/adjustl.f90
M flang/test/Lower/intentout-deallocate.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 22) (#183681)
Tests converted from test/Lower: intentout-deallocate.f90
Tests converted from test/Lower/Intrinsics: abs.f90, achar.f90,
acospi.f90, adjustl.f90
Commit: bad56dbb23853e1413d8df13a26b6a1dc02907a1
https://github.com/llvm/llvm-project/commit/bad56dbb23853e1413d8df13a26b6a1dc02907a1
Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M libsycl/docs/index.rst
A libsycl/include/sycl/__impl/context.hpp
M libsycl/include/sycl/__impl/device.hpp
M libsycl/include/sycl/sycl.hpp
M libsycl/src/CMakeLists.txt
A libsycl/src/context.cpp
A libsycl/src/detail/context_impl.cpp
A libsycl/src/detail/context_impl.hpp
M libsycl/src/detail/device_impl.cpp
M libsycl/src/detail/device_impl.hpp
M libsycl/src/detail/offload/offload_utils.hpp
M libsycl/src/detail/platform_impl.cpp
M libsycl/src/detail/platform_impl.hpp
M libsycl/src/device.cpp
M libsycl/src/platform.cpp
Log Message:
-----------
[libsycl] Add sycl::context stub (#182826)
Part 1 of changes needed for USM alloc/dealloc impl.
This is part of the SYCL support upstreaming effort. The relevant RFCs
can be found here:
https://discourse.llvm.org/t/rfc-add-full-support-for-the-sycl-programming-model/74080
https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming/74479
---------
Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
Commit: 7f0a343a8ec48b41e3866cdbabfc8740985a44f3
https://github.com/llvm/llvm-project/commit/7f0a343a8ec48b41e3866cdbabfc8740985a44f3
Author: Yangyu Chen <cyy at cyyself.name>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
A flang/test/Driver/grecord-command-line.f90
A flang/test/Transforms/debug-dwarf-debug-flags.fir
Log Message:
-----------
[flang] Implement -grecord-command-line for Flang (#181686)
Enable Flang to match Clang behavior for command-line recording in DWARF
producer strings when using -grecord-command-line.
Signed-off-by: Yangyu Chen <cyy at cyyself.name>
Commit: dc26edd9b6602857b67f35c8d2f6fe4ed13c8137
https://github.com/llvm/llvm-project/commit/dc26edd9b6602857b67f35c8d2f6fe4ed13c8137
Author: Amit Kumar Pandey <pandey.kumaramit2023 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
M clang/test/Driver/hip-sanitize-options.hip
M clang/test/Driver/rocm-device-libs.cl
Log Message:
-----------
[ASan] Enable Internalization for 'asanrtl.bc' in Driver (#182825)
Just like other bitcode libs such as ockl.bc ocml.bc, link asanrtl.bc
with '-mlink-builtin-bitcode' in the driver when GPU ASan is enabled.
Commit: 5661ed60e37d63d5deff6f4c943b928b6b957049
https://github.com/llvm/llvm-project/commit/5661ed60e37d63d5deff6f4c943b928b6b957049
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] Fix crashes in MaskOp::fold and CanonializeEmptyMaskOp (#183781)
Two related crashes were fixed in vector.mask handling:
1. MaskOp::fold() crashes with a null pointer dereference when the mask
is all-true and the mask body has no maskable operation (only a
vector.yield). getMaskableOp() returns nullptr in this case, and the
fold was calling nullptr->dropAllUses(). Fixed by returning failure()
when there is no maskable op, deferring to the canonicalizer.
2. CanonializeEmptyMaskOp creates an invalid arith.select when the mask
type is a vector (e.g., vector<1xi1>) but the result type is a scalar
(e.g., i32). arith.select with a vector condition requires the value
types to be vectors of the same shape. Fixed by bailing out when any
result type doesn't match the mask shape.
Regression tests are added for both cases.
Fixes #177833
Commit: 55d62abadbc5e6bf129378fe9d0b87f124aefee5
https://github.com/llvm/llvm-project/commit/55d62abadbc5e6bf129378fe9d0b87f124aefee5
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/docs/dil-expr-lang.ebnf
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/main.cpp
Log Message:
-----------
[lldb] Add arithmetic binary addition to DIL (#177208)
Commit: d2c545266b8b0216b51c7b87e3ca0980c47c5342
https://github.com/llvm/llvm-project/commit/d2c545266b8b0216b51c7b87e3ca0980c47c5342
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/unittests/Target/RISCV/RISCVSelectionDAGTest.cpp
Log Message:
-----------
[RISCV] Use getCopyFromReg in unit test to match comment. NFC (#183199)
Using physical register 0, aka NoRegister, also just looked suspicious.
Commit: cd50a3074bdfcd2d9ba45d99b0129b1c1d68d58d
https://github.com/llvm/llvm-project/commit/cd50a3074bdfcd2d9ba45d99b0129b1c1d68d58d
Author: yonghong-song <yhs at fb.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll
M clang/test/CodeGen/distributed-thin-lto/cfi.ll
M clang/test/CodeGen/thinlto-funcattr-prop.ll
M lld/test/ELF/lto/comdat-nodeduplicate.ll
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/test/Assembler/thinlto-memprof-summary.ll
M llvm/test/Assembler/thinlto-multiple-summaries-for-guid.ll
M llvm/test/Assembler/thinlto-summary-visibility.ll
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Assembler/thinlto-vtable-summary.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-index-disassembled-by-llvm-dis.ll
M llvm/test/Bitcode/thinlto-type-tests.ll
M llvm/test/Bitcode/thinlto-type-vcalls.ll
R llvm/test/ThinLTO/X86/Inputs/reduce-promotion-same-file-local-name.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-maythrow.ll
M llvm/test/ThinLTO/X86/funcimport_alwaysinline.ll
M llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/ThinLTO/X86/load-store-caching.ll
R llvm/test/ThinLTO/X86/reduce-promotion-devirt.ll
R llvm/test/ThinLTO/X86/reduce-promotion-same-file-local-name.ll
R llvm/test/ThinLTO/X86/reduce-promotion-same-local-name.ll
R llvm/test/ThinLTO/X86/reduce-promotion.ll
M llvm/test/Transforms/LowerTypeTests/import-unsat.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/import-indir.yaml
M llvm/test/Transforms/WholeProgramDevirt/import-indir.ll
Log Message:
-----------
Revert "[ThinLTO] Reduce the number of renaming due to promotions (#178587)" (#183782)
There is a conflict with existing code. See
https://github.com/llvm/llvm-project/pull/178587
Revert and resolve the conflict and then will submit later.
Commit: 179c25eaefe651f815f4a32328d8e51dfcda1d34
https://github.com/llvm/llvm-project/commit/179c25eaefe651f815f4a32328d8e51dfcda1d34
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-27 (Fri, 27 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
M llvm/test/CodeGen/AArch64/stack-tagging.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
Log Message:
-----------
[MTE] [HWASan] support more complicated lifetimes
This allows us to support more lifetimes, and also gets rid of
the quadratic call to isPotentiallyReachable.
Reviewers: pcc, usama54321
Reviewed By: pcc
Pull Request: https://github.com/llvm/llvm-project/pull/182425
Commit: 1269a74db9ffde19f8230edeac0ddbcafc3a4d66
https://github.com/llvm/llvm-project/commit/1269a74db9ffde19f8230edeac0ddbcafc3a4d66
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Enable `parse_headers` for llvm/BUILD.bazel (#183680)
Instead of excluding the whole package, push any existing parse_headers
failures to individual targets. In some cases we can avoid suppressing a
target by adding a few missing deps.
Commit: c3b3f4195219e368bd18fc1a1bab18d0dae45d8f
https://github.com/llvm/llvm-project/commit/c3b3f4195219e368bd18fc1a1bab18d0dae45d8f
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/include/llvm/MC/MCSectionGOFF.h
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/MC/MCAsmInfoGOFF.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
Log Message:
-----------
[SystemZ] Emit external aliases required for indirect symbol handling support (#183442)
This is the second of three patches aimed to support indirect symbol
handling for the SystemZ backend. An external name is added for both MC
sections and symbols and makes the relevant printers and writers utilize
the external name when present. Furthermore, the ALIAS HLASM instruction
is emitted after every XATTR instruction.
Depends on https://github.com/llvm/llvm-project/pull/183441.
Commit: 0d95dda1eeee690bb7c3ec425ebfed5a8a80517b
https://github.com/llvm/llvm-project/commit/0d95dda1eeee690bb7c3ec425ebfed5a8a80517b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/test/Transforms/LoopDeletion/invalidate-scev-after-hoisting.ll
A llvm/test/Transforms/LoopSimplify/profile-info.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[LoopInfo] Preserve profile information in makeLoopInvariant (#174171)
When hoisting loop invariant instructions, we can preserve profile
metadata because it depends solely on the condition (which is loop
invariant) rather than where we are in the control flow graph.
Commit: 67a51ea34d25b4be246791af5df858167dce901c
https://github.com/llvm/llvm-project/commit/67a51ea34d25b4be246791af5df858167dce901c
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
A llvm/test/CodeGen/PowerPC/bit_floor.ll
Log Message:
-----------
[NFC][POWER] add Pre-Commit test case for Inefficient std::bit_floor(x) (#183363)
add a pre-commit test case for Inefficient asm of std::bit_floor(x) for
powerpc.
Commit: c49460bae76c873725ae77d5f9b4d6239b7c40a7
https://github.com/llvm/llvm-project/commit/c49460bae76c873725ae77d5f9b4d6239b7c40a7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/lock.h
M flang-rt/include/flang-rt/runtime/tools.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/terminator.cpp
M flang/include/flang/Common/api-attrs.h
A offload/test/offloading/fortran/target-descriptor-ops.f90
Log Message:
-----------
[flang-rt] Enable more runtime functions for the GPU target (#183649)
Summary:
This enables primarily `stop.cpp` and `descriptor.cpp`. Requires a
little bit of wrangling to get it to compile. Unlike the CUDA build,
this build uses an in-tree libc++ configured for the GPU. This is
configured without thread support, environment, or filesystem, and it is
not POSIX at all. So, no mutexes, pthreads, or get/setenv.
I tested stop, but i don't know if it's actually legal to exit from
OpenMP offloading.
Commit: 6301243a5d69146b4b76ac4233b0b2f6a3c31616
https://github.com/llvm/llvm-project/commit/6301243a5d69146b4b76ac4233b0b2f6a3c31616
Author: Kshitij Paranjape <kshitijvparanjape at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Transforms/AggressiveInstCombine/X86/pr175590.ll
Log Message:
-----------
Reapply "[ValueTracking] Propagate sign information out of loop" (#182512)
LLVM converts sqrt libcall to intrinsic call if the argument is within
the range(greater than or equal to 0.0). In this case the compiler is
not able to deduce the non-negativity on its own. Extended ValueTracking
to understand such loops.
Have created new ABI's for matching Intrinsics with three operands
(those existed only for 2 operands)
`matchSimpleTernaryIntrinsicRecurrence` and `matchThreeInputRecurrence`.
Fixes https://github.com/llvm/llvm-project/issues/174813
Commit: ca0e7d31d05bea7b6d29a420e9b1c756a1845e95
https://github.com/llvm/llvm-project/commit/ca0e7d31d05bea7b6d29a420e9b1c756a1845e95
Author: kwyatt-ext <kwyatt.external at hpe.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M flang-rt/lib/runtime/character.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Character.h
M flang/include/flang/Runtime/character.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Character.cpp
A flang/test/Lower/Intrinsics/tokenize.f90
A flang/test/Semantics/tokenize-errors.f90
Log Message:
-----------
[flang] [flang-rt] Addition of the Fortran 2023 TOKENIZE intrinsic. (#181030)
This implements the TOKENIZE intrinsic per the Fortran 2023 Standard.
TOKENIZE is a more complicated addition to the flang intrinsics, as it
is the first subroutine that has multiple unique footprints. Intrinsic
functions have already addressed this challenge, however subroutines and
functions are processed slightly differently and the function code was
not a good 1:1 solution for the subroutines. To solve this the function
code was used as an example to create error buffering within the
intrinsics Process and select the most appropriate error message for a
given subroutine footprint.
A simple FIR compile test was added to show the proper compilation of
each case. A thorough negative path test has also been added, ensuring
that all possible errors are reported as expected.
Testing prior to commit:
= check-flang ==========================================
```
Testing Time: 139.51s
Total Discovered Tests: 4153
Unsupported : 77 (1.85%)
Passed : 4065 (97.88%)
Expectedly Failed: 11 (0.26%)
FLANG Container Test completed 2 minutes (160 s).
Total Time: 2 minutes (160 s)
Completed : Wed Feb 11 04:05:50 PM CST 2026
```
= check-flang-rt ==========================================
```
Testing Time: 1.55s
Total Discovered Tests: 258
Passed: 258 (100.00%)
FLANG Container Test completed 0 minutes (55 s).
Total Time: 0 minutes (56 s)
Completed : Wed Feb 11 04:08:32 PM CST 2026
```
= llvm-test-suite ==========================================
```
Testing Time: 1886.64s
Total Discovered Tests: 6926
Passed: 6926 (100.00%)
CCE SLES Container debug compile completed 31 minutes (1895 s).
CCE SLES Container debug install completed in 0 minutes (0 s).
Total Time: 31 minutes (1895 s)
Completed : Wed Feb 11 05:46:52 PM CST 2026
```
Additionally, (FYI) an executable test has been written and will be
added to the llvm-test-suite under a separate PR.
---------
Co-authored-by: Kevin Wyatt <kwyatt at hpe.com>
Commit: 48eb40bee0248423fd6175ecd192ab15a71fb27b
https://github.com/llvm/llvm-project/commit/48eb40bee0248423fd6175ecd192ab15a71fb27b
Author: John Harrison <harjohn at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-dap/variables/children/TestDAP_variables_children.py
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/DAPTypes.h
M lldb/tools/lldb-dap/SBAPIExtras.h
M lldb/tools/lldb-dap/Variables.cpp
M lldb/tools/lldb-dap/Variables.h
M lldb/unittests/DAP/DAPTypesTest.cpp
M lldb/unittests/DAP/Inputs/linux-x86_64.core.yaml
M lldb/unittests/DAP/Inputs/linux-x86_64.out.yaml
M lldb/unittests/DAP/VariablesTest.cpp
Log Message:
-----------
[lldb-dap] Adjust VariableReferenceStorage lifetime management. (#183176)
Adjusting `VariableReferenceStorage` to only need to track permanent vs
temporary storage by making `VariableStore` the common base class.
Moved the subclasses of `VariableStore` into the Variables.cpp file,
since they're no long referenced externally.
Expanding on the tests by adding an updated core dump with variables in
the argument scope we can use to validate variable storage.
Commit: 852c6ef5aca60c17c2b0972d44b4664759884927
https://github.com/llvm/llvm-project/commit/852c6ef5aca60c17c2b0972d44b4664759884927
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
Log Message:
-----------
[mlir][LLVM] Let decomposeValue/composeValue handle aggregates (#183405)
This commit updates the LLVM::decomposeValue and LLVM::composeValue
methods to handle aggregate types - LLVM arrays and structs, and to have
different behaviors on dealing with types like pointers that can't be
bitcast to fixed-size integers. This allows the "any type" on
gpu.subgroup_broadcast to be more comprehensive - you can broadcast a
memref to a subgroup by decomposing it, for example.
(This branched off of getting an LLM to implement
ValueuboundsOpInterface on subgroup_broadcast, having it add handling
for the dimensions of shaped types, and realizing that there's no
fundamental reason you can't broadcast a memref or the like)
---------
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: c05e323be7caaadff6fdd09a2336be60e3041af1
https://github.com/llvm/llvm-project/commit/c05e323be7caaadff6fdd09a2336be60e3041af1
Author: Demetrius Kanios <demetrius at kanios.net>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
Log Message:
-----------
[WebAssembly] Incorporate SCCs into WebAssemblyFixIrreducibleControlFlow (#181755)
Rather than mapping out full "reachability" between blocks in a region
to find loops and using `LoopBlocks` to find the bodies of said loops,
use SCCs (strongly-connected components) to provide this information.
This brings in LLVM's generic `SCCIterator` (which uses Tarjan's
algorithm) as the implementation for sorting the basic blocks of the CFG
into their SCCs.
This PR greatly reduces the compile-time footprint of the pass, making
memory use and time taken negliable where it might have previously
caused stalls and OOM before (e.g. #47793,
usagi-coffee/tree-sitter-abl#114)
------
Supersedes #179722
Fixes #47793
Fixes #165041 (probably)
Thanks to @jkbz64 for the initial investigations (w/ AI; see #179722)
into why this pass was slow and memory consuming and showing that SCCs
were the key.
Also thanks to the Cheerp compiler project for bringing `SCCIterator` to
light in this context ([blog
post](https://cheerp.io/blog/control-flow#fix-the-irreducible-control-flow),
[implementation](https://github.com/leaningtech/cheerp-compiler/blob/master/llvm/lib/CheerpUtils/FixIrreducibleControlFlow.cpp)).
Commit: dce48f2653cb81883a24ff5babdcac5bcb91725c
https://github.com/llvm/llvm-project/commit/dce48f2653cb81883a24ff5babdcac5bcb91725c
Author: Amit Kumar Pandey <pandey.kumaramit2023 at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
Log Message:
-----------
[OpenMP] Enable internalization of 'ockl.bc' for OpenMP (#183685)
Fix linking of 'ockl.bc' for OpenMP by switching from
`-mlink-bitcode-file` to `-mlink-builtin-bitcode`
Commit: 403fd7679f80c97c13e992b32a6762bfc92641cb
https://github.com/llvm/llvm-project/commit/403fd7679f80c97c13e992b32a6762bfc92641cb
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SlotIndexes.cpp
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/remat-sop.mir
M llvm/test/CodeGen/X86/statepoint-live-in.ll
M llvm/test/CodeGen/X86/statepoint-regs.ll
Log Message:
-----------
[SlotIndexes] Further pack indices to improve spill placement time (#182640)
This patch makes it so that renumbering indices when inserting
instructions into the SlotIndexes analysis renumbers the entire list if
the list is otherwise densely packed. This fixes a case we saw on
AArch64 with a lot of spills where every single spill instruction
insertion required a renumbering of most of the instructions in a large
function, making the operation approximately quadratic.
This is not NFC as heuristics depend on the SlotIndex numbers, although
this should mostly be a wash as LRs should be extended ~equally.
Commit: 282a2b77c358c4509f8fcc97c2f0f2b8cdc9b915
https://github.com/llvm/llvm-project/commit/282a2b77c358c4509f8fcc97c2f0f2b8cdc9b915
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/lib/Analysis/Scalable/CMakeLists.txt
R clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.h
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummary.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummaryEncoding.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
Log Message:
-----------
[clang][ssaf] Add `JSONFormat` support for `TUSummaryEncoding`
This PR adds `JSONFormat` support for reading and writing
`TUSummaryEncoding`. The implementation exploits similarities in the
structures of `TUSummary` and `TUSummaryEncoding` by reusing existing
`JSONFormat` support for `TUSummary`. Duplication of tests has been
avoided by parameterizing the test fixture that runs all relevant
read/write tests against `TUSummary`, for `TUSummaryEncoding`. This
ensures that the two serialization paths remain in lockstep.
Commit: cf28f23f10133f0419768ce8284fe05fa079f93c
https://github.com/llvm/llvm-project/commit/cf28f23f10133f0419768ce8284fe05fa079f93c
Author: Akash Dutta <137309513+akadutta at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AMDGPU/zext-duplicate-shift.ll
Log Message:
-----------
[SLP] Reject duplicate shift amounts in matchesShlZExt reorder path (#183627)
In the reordered RHS path of matchesShlZExt, the code never checked that
each shift amount (0, Stride, 2×Stride, …) appears at most once. When
the same shift appeared in multiple lanes, it still filled Order,
producing a non-permutation (e.g. Order = [0,0,0,1]). That led to bad
shuffle masks and miscompilation (e.g. shuffles with poison).
The patch adds an explicit duplicate check: before setting Order[Idx] =
Pos, it ensures Pos has not been seen before, using a SmallBitVector
SeenPositions(VF). If a position is seen twice, the function returns
false and the optimization is not applied.
Commit: 25d709e72c976f8f7420a342e7916b46b6c23e28
https://github.com/llvm/llvm-project/commit/25d709e72c976f8f7420a342e7916b46b6c23e28
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
Log Message:
-----------
[SystemZ] Emit external aliases for indirect function descriptors in the ADA section (#183443)
This is the last of the three patches aimed to support indirect symbol
handling for the SystemZ backend.
An external alias is emitted for indirect function descriptors within
the ADA section, rather than a temporary alias, while also setting all
of the appropriate symbol attributes that are needed for the HLASM
streamer to emit the correct XATTR and ALIAS instructions for the
indirect symbols.
Moreover, this patch updates the
`CodeGen/SystemZ/zos-ada-relocations.ll` test as the ADA section is
currently the only user of indirect symbols on z/OS.
Depends on https://github.com/llvm/llvm-project/pull/183442.
Commit: ee6f5f386f95753d869045acbe54a6b3ec38dde9
https://github.com/llvm/llvm-project/commit/ee6f5f386f95753d869045acbe54a6b3ec38dde9
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
A llvm/test/Transforms/InstCombine/alloca-poison-size.ll
Log Message:
-----------
[InstCombine] Replace alloca with undef size with poison instead of null (#182919)
InstCombine previously replaced an alloca instruction with a null
pointer when the array size operand was undef. While this replacement
may be legal, it still caused invalid IR in cases where the original
alloca was used by `@llvm.lifetime` intrinsics.
The spec requires that the pointer operand of `@llvm.lifetime.*` must be
either:
- a pointer to an alloca instruction, or
- a poison value.
Replacing the pointer with null violated this requirement and triggered
verifier errors.
These new changes update InstCombine so that in this scenario the alloca
is replaced with poison instead of null.
Commit: 8ce2b9cbc2bcde50189e74650cf994e8f549f58d
https://github.com/llvm/llvm-project/commit/8ce2b9cbc2bcde50189e74650cf994e8f549f58d
Author: Tommy Chiang <ototot at google.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/test/CodeGenCXX/mangle-lambdas.cpp
Log Message:
-----------
[Clang][ItaniumMangle] Fix recursive mangling for lambda init-captures (#182667)
[Clang][ItaniumMangle] Fix recursive mangling for lambda init-captures
Mangle computation for lambda signatures can recurse when a call
operator type
references an init-capture (for example via decltype(init-capture)). In
these
cases, mangling can re-enter the init-capture declaration and cycle back
through
operator() mangling.
Make lambda context publication explicit and independent from numbering
state,
then use that context uniformly during mangling:
* Publish lambda `ContextDecl` in `Sema::handleLambdaNumbering()` before
numbering, so dependent type mangling can resolve the lambda context
without
recursing through the call operator.
* Introduce `CXXRecordDecl::setLambdaContextDecl()` and remove
`ContextDecl`
from `CXXRecordDecl::LambdaNumbering`.
* Update `ASTImporter` to import/set lambda context separately from
numbering.
* In Itanium mangling, derive init-capture handling from context
computation:
- map local-lambda init-captures to the enclosing local context in
`getEffectiveDeclContext()`
- support init-capture variables in `getClosurePrefix()`
- keep `mangleLocalName()` generic and rely on the computed context
Add mangling regression coverage in mangle-lambdas.cpp, including:
* local init-captures used through decltype
* non-local variable-template init-captures in decltype
* non-local static inline member init-captures in decltype
* Fixes https://github.com/llvm/llvm-project/issues/63271
* Fixes https://github.com/llvm/llvm-project/issues/86240
* Fixes https://github.com/llvm/llvm-project/issues/139089
Commit: df5bee6afc79eb393c6dcbaad1b2ab3665f3a853
https://github.com/llvm/llvm-project/commit/df5bee6afc79eb393c6dcbaad1b2ab3665f3a853
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
A clang/test/CIR/Transforms/flatten-try-op.cir
Log Message:
-----------
[CIR] Implement TryOp flattening (#183591)
This updates the FlattenCFG pass to add flattening for cir::TryOp in
cases where the TryOp contains catch or unwind handlers.
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. I've left intermediate commits in the initial PR if you'd
like to see the progression.
Commit: 3d889c464eb19f3c9d5dd00caab37be19a81efa3
https://github.com/llvm/llvm-project/commit/3d889c464eb19f3c9d5dd00caab37be19a81efa3
Author: Ben Dunkin <108952361+bdunkin at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix SpaceBeforeParens with explicit template instantiations (#183183)
This fixes explicit template instantiated functions not having spaces
added/removed based on the value of `SpaceBeforeParens`.
Attribution Note - I have been authorized to contribute this change on
behalf of my company: ArenaNet LLC
Commit: 4f05592bc01ca0252e904a59f8e321e254cd0473
https://github.com/llvm/llvm-project/commit/4f05592bc01ca0252e904a59f8e321e254cd0473
Author: Srividya Sundaram <srividya.sundaram at intel.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
A clang/test/Driver/sycl-offload-jit-xarch.cpp
Log Message:
-----------
[Driver][SYCL] Add tests for -Xarch_<arch> option forwarding to SYCL JIT compilation. (#178025)
This change adds test coverage to verify that options passed via
`-Xarch_<arch> <option>` are correctly forwarded to SYCL JIT
compilations.
Commit: d1f4f9453c78619af334dfe59f812fe54f70459b
https://github.com/llvm/llvm-project/commit/d1f4f9453c78619af334dfe59f812fe54f70459b
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M flang/include/flang/Semantics/expression.h
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug2295.f90
Log Message:
-----------
[flang] Fix explanatory messages for generic resolution error (#183565)
The compiler emits messages to explain why each of a generic procedure's
specific procedures is not a match for a given set of actual arguments.
In the case of specific procedures with PASS arguments in derived type
procedure bindings or procedure components, these explanatory messages
are often bogus, because the re-analysis didn't adjust the actual
arguments to account for the PASS argument. Fix.
Commit: 6f612cfbd921f48f28d228689cabd8722ad47368
https://github.com/llvm/llvm-project/commit/6f612cfbd921f48f28d228689cabd8722ad47368
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx11.cpp
Log Message:
-----------
[clang] stop error recovery in SFINAE for narrowing in converted constant expressions (#183614)
A narrowing conversion in a converted constant expression should produce
an invalid expression so that [temp.deduct.general]p7 is satisfied, by
stopping substitution at this point.
This regression was introduced in #164703, and this will be backported
to clang-22, so no release notes.
Fixes #167709
Commit: ca04a70891fbc1ce97f3abd3479848c3731fe8c8
https://github.com/llvm/llvm-project/commit/ca04a70891fbc1ce97f3abd3479848c3731fe8c8
Author: Mohamed Emad <hulxxv at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/bf16sub.h
A libc/shared/math/bf16subf.h
A libc/shared/math/bf16subf128.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/bf16sub.h
A libc/src/__support/math/bf16subf.h
A libc/src/__support/math/bf16subf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16sub.cpp
M libc/src/math/generic/bf16subf.cpp
M libc/src/math/generic/bf16subf128.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 bf16sub family to header-only (#182115)
Refactors the bf16sub math family to be header-only.
Closes https://github.com/llvm/llvm-project/issues/182114
Target Functions:
- bf16sub
- bf16subf
- bf16subf128
Commit: fc153b1e254fcdab9fa6c2c477f7ba3dec187454
https://github.com/llvm/llvm-project/commit/fc153b1e254fcdab9fa6c2c477f7ba3dec187454
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Check if each field is trivially destructive (#183711)
This PR fixes the bug that NoDeleteChecker and trivial function analysis
were not detecting any non-trivial destruction of class member
variables.
When evaluating a delete expression or calling a destructor directly for
triviality, check if each field in the class and its base classes is
trivially destructive.
Commit: fff2f0ba78fe0a7073dd971c0db48d6d0f17975c
https://github.com/llvm/llvm-project/commit/fff2f0ba78fe0a7073dd971c0db48d6d0f17975c
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/test/CodeGen/AMDGPU/wmma-coexecution-valu-hazards.mir
Log Message:
-----------
[AMDGPU] Handle GFX1250 hazards between WMMA and VOPD (#183573)
Hazards between WMMA and VALU were handled in #149865 but this only
worked for regular VOP* VALU encodings, not for VOPD.
Fixes: #183546
Commit: 02ebe23163c03a2a4f470f9b3073b35046926a99
https://github.com/llvm/llvm-project/commit/02ebe23163c03a2a4f470f9b3073b35046926a99
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/docs/AddressSanitizer.rst
Log Message:
-----------
[ASan] Document limitations of container overflow checks (#183590)
Mention that partially poisoning stack objects can
lead to false positives and negatives.
See #182720.
---------
Co-authored-by: Saleem Abdulrasool <compnerd at compnerd.org>
Commit: 2c98566900f09aa329c41abd164766e7a7e76968
https://github.com/llvm/llvm-project/commit/2c98566900f09aa329c41abd164766e7a7e76968
Author: Daniel Thornburgh <mysterymath at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/HLSL.cpp
R clang/test/Driver/HLSL/fre-errors.hlsl
M clang/test/Driver/HLSL/metal-converter.hlsl
Log Message:
-----------
Revert "[Metal][HLSL] Add support for dumping reflection" (#183818)
Reverts llvm/llvm-project#181258
`env PATH=""` will prevent finding any binary run by `env`.
Commit: 977702ccc40dbaad64a453e75239914f3dff0761
https://github.com/llvm/llvm-project/commit/977702ccc40dbaad64a453e75239914f3dff0761
Author: Serosh <janmejayapanda400 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaCXX/gh183505.cpp
Log Message:
-----------
[clang] fix crash when casting a parenthesized unresolved template-id (#183633)
this fix uses ignoreparens() in checkplaceholderexpr to prevent a crash
when an unresolved template-id is wrapped in parentheses. fixes #183505
Commit: d0afaeadecd06849b3d9cf107cf23c583b5a7736
https://github.com/llvm/llvm-project/commit/d0afaeadecd06849b3d9cf107cf23c583b5a7736
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Options/Options.td
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/lazy-by-header-extern.c
A clang/test/Modules/lazy-by-header-lookup.c
A clang/test/Modules/lazy-by-header-nested.c
A clang/test/Modules/lazy-by-header-private.c
A clang/test/Modules/lazy-by-header-umbrella-dir.c
A clang/test/Modules/lazy-by-header-umbrella-header.c
M clang/test/Modules/lazy-by-name-lookup.c
Log Message:
-----------
[clang][modulemap] Lazily load module maps by header name (#181916)
After header search has found a header it looks for module maps that
cover that header. This patch uses the parsed representation of module
maps to do this search instead of relying on FileEntryRef lookups after
stating headers in module maps.
This behavior is currently gated behind the
`-fmodules-lazy-load-module-maps` `-cc1` flag.
Commit: 1073951bdb8e12552a5d9b9fffa806ffe187e475
https://github.com/llvm/llvm-project/commit/1073951bdb8e12552a5d9b9fffa806ffe187e475
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
M mlir/test/Dialect/ControlFlow/canonicalize.mlir
Log Message:
-----------
[mlir][cf] Fix crash in simplifyBrToBlockWithSinglePred when branch operand is a block argument of its successor (#183797)
When `simplifyBrToBlockWithSinglePred` merges a block into its sole
predecessor, it calls `inlineBlockBefore` which replaces each block
argument with the corresponding value passed by the branch. If one of
those values is itself a block argument of the successor block, the call
`replaceAllUsesWith(arg, arg)` is a no-op. Any uses of that argument
outside the block (e.g. in a downstream block) are therefore not
replaced, and when the successor block is erased the argument is
destroyed while those uses are still live, triggering the assertion
`use_empty() && "Cannot destroy a value that still has uses\!"` in
`IRObjectWithUseList::~IRObjectWithUseList`.
Guard against this by returning early when any branch operand is a block
argument owned by the destination block.
Fixes #126213
Commit: a71ded3861aafd88cc8abd672a24901d73e5624a
https://github.com/llvm/llvm-project/commit/a71ded3861aafd88cc8abd672a24901d73e5624a
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M bolt/unittests/Core/MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][AArch64] Add a unittest for compare-and-branch inversion. (#181177)
Checks that isReversibleBranch() returns false
- when the immediate value is 63 and needs +1 adjustment
- when the immediate value is 0 and needs -1 adjustment
Checks that reverseBranchCondition() adjusts
- the opcode
- the immediate operand if necessary (+/-1)
- the register operands if necessary (swap)
Commit: c2f66f2a940e8c7edca2264ae207db5711432070
https://github.com/llvm/llvm-project/commit/c2f66f2a940e8c7edca2264ae207db5711432070
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
Log Message:
-----------
[WebAseembly] Fix -Wunused-variable in #181755
This variable ends up being unused in builds without assertions. Mark it
[[maybe_unused]] per the coding standards.
Commit: 63ab568070c757ad9c4a4ba8c34f12f69e3ccc6d
https://github.com/llvm/llvm-project/commit/63ab568070c757ad9c4a4ba8c34f12f69e3ccc6d
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
Log Message:
-----------
[NFC] [HWASan] add test for duplicated lifetime end
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/183807
Commit: 94bd8b9444be293dbed98b0c3c2adaeac796e31f
https://github.com/llvm/llvm-project/commit/94bd8b9444be293dbed98b0c3c2adaeac796e31f
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/stack-tagging.ll
Log Message:
-----------
[NFC] [MTE] add test for duplicated lifetime end
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/183808
Commit: d7e037c8383e66e5c07897f144f6d8ef47258682
https://github.com/llvm/llvm-project/commit/d7e037c8383e66e5c07897f144f6d8ef47258682
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
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/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs-apple.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vector-loop-backedge-elimination-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
M llvm/test/Transforms/LoopVectorize/reduction-minmax-users-and-predicated.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-cond-poison.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
Log Message:
-----------
Revert "[VPlan] Remove manual region removal when simplifying for VF and UF. (#181252)"
This reverts commit 9c53215d213189d1f62e8f6ee7ba73a089ac2269.
Appears to cause crashes with ordered reductions, revert while I
investigate
Commit: cdd4313183184e0741cce3b425779fcce16cc39b
https://github.com/llvm/llvm-project/commit/cdd4313183184e0741cce3b425779fcce16cc39b
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
Log Message:
-----------
[mlir][LLVM] Let decomposeValue/composeVale pad out larger types (#183825)
Currently, as pointed out in the reviews for #183405, decomposeValues
and composeValues should be able to emit zexts and truncations for cases
like i48 and vector<3xi16> becoming i32s but currently that's an assert.
This commit fixes that limitation.
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: 8f268e63e484106f25e2a5740c8a38b587218387
https://github.com/llvm/llvm-project/commit/8f268e63e484106f25e2a5740c8a38b587218387
Author: Hansang Bae <hansang.bae at intel.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0Program.h
Log Message:
-----------
[Offload] Remove unused data type (#183840)
Commit: 73d655a598d7743a2d415c4c85110c591414a08b
https://github.com/llvm/llvm-project/commit/73d655a598d7743a2d415c4c85110c591414a08b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/predicated-early-exits-interleave.ll
Log Message:
-----------
[VPlan] Support unrolling/cloning masked VPInstructions.
Account for masked VPInstruction when verifying the operands in the
constructor. Fixes a crash when trying to unroll VPlans for predicated
early exits.
Commit: 7ad2c6db54a0e77249f2edb3c589ccf4c930d455
https://github.com/llvm/llvm-project/commit/7ad2c6db54a0e77249f2edb3c589ccf4c930d455
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Arith/ops.mlir
M mlir/test/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Add `exact` to `index_cast{,ui}` (#183395)
The `exact` flag with the following semantics
> If the `exact` attribute is present, it is assumed that the index type
width
> is such that the conversion does not lose information. When this
assumption
> is violated, the result is poison.
can be added to index_cast and index_castui operations. This unlocks
the following lowerings:
* index_cast (signed) exact -> trunc nsw
* index_castui (unsigned) exact -> trunc nuw
* index_castui nneg exact -> trunc nuw nsw
Changes:
* Adds ArithExactFlagInterface.
* Updates Arith_IntBinaryOpWithExactFlag to use ArithExactFlagInterface
* Update IndexCastOp and IndexCastUIOp to declare
`ArithExactFlagInterface`
* Update canonicalization patterns
* Update roundtrip, lowering, and canonicalization tests.
Commit: abbba22f45665b25b01693fc7a41712660b3c124
https://github.com/llvm/llvm-project/commit/abbba22f45665b25b01693fc7a41712660b3c124
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
M lldb/test/Shell/ScriptInterpreter/Python/bytecode.test
Log Message:
-----------
[lldb] Add synthetic support to formatter_bytecode.py (#183804)
Updates formatter_bytecode.py to support compilation and disassembly for
synthetic formatters, in other words support for multiple functions
(signatures).
This includes a number of other changes:
* String parsing and encoding have bugs fixed
* CLI args are updated, primarily to support an output file
* Added uleb encoding/decoding support
This work is a prelude the ongoing work of a Python to formatter
bytecode compiler. The python compiler to emit assembly, and this module
(formatter_bytecode) will compile it into binary bytecode.
Commit: c5588becb8dd0c9dd0e81bd29bb39d098f8df572
https://github.com/llvm/llvm-project/commit/c5588becb8dd0c9dd0e81bd29bb39d098f8df572
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/test/API/lang/cpp/gmodules/alignment/TestPchAlignment.py
M lldb/test/API/lang/cpp/gmodules/basic/TestWithModuleDebugging.py
M lldb/test/API/macosx/add-dsym/TestAddDsymDownload.py
M lldb/test/API/macosx/add-dsym/TestAddDsymMidExecutionCommand.py
Log Message:
-----------
[lldb] Add skip shared build to more API tests
Fixing test failures on my local desktop with incremental
building.
Commit: 0a9b5d52188f96b29cacbfee3bac8e1438035b32
https://github.com/llvm/llvm-project/commit/0a9b5d52188f96b29cacbfee3bac8e1438035b32
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/find_if.h
M libcxx/include/__algorithm/find_if_not.h
M libcxx/include/__algorithm/ranges_find_if.h
M libcxx/include/__algorithm/ranges_find_if_not.h
M libcxx/include/__algorithm/ranges_remove_if.h
Log Message:
-----------
[libc++] Forward find* algorithms to find_if (#179938)
This propagates any optimizations to the whole family of `find`
functions.
Commit: e35fc30cb8f52a1d5a011649c47760845b5d14c0
https://github.com/llvm/llvm-project/commit/e35fc30cb8f52a1d5a011649c47760845b5d14c0
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
Log Message:
-----------
Fix `BuiltinTypeMethodBuilder` uninitialized pointer (#183814)
>From [this
comment](https://github.com/llvm/llvm-project/pull/176058/changes/BASE..50c5be4bdf19a8a80b7e6e9d3ae46e11ff20a6e0#r2856661750)
on PR #176058, static analysis was flagging `TemplateParams` as not
initialized on all paths. This change fixes it by initializing to
`nullptr` at declaration.
Commit: 788625757ea4a7de562461dfea9b7a59b050ec91
https://github.com/llvm/llvm-project/commit/788625757ea4a7de562461dfea9b7a59b050ec91
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
Log Message:
-----------
[NFC] Fix use-after-free: track TargetLibraryAnalysis in BasicAAResult invalidation (#183852)
`BasicAAResult` holds a reference to `TargetLibraryInfo` but its
`invalidate()` function did not check `TargetLibraryAnalysis`. When the
pass manager destroyed and re-created `TLI` (e.g. during `CGSCC`
invalidation or `FAM.clear()`), `BasicAAResult` survived with a dangling
`TLI` reference.
This was exposed by #157495 which added `aliasErrno()`, the first code
path that dereferences `TLI` from `BasicAAResult` during the `CGSCC`
pipeline, causing a AV when compiling Rust's core library on Arm64
Windows.
This change adds `TargetLibraryAnalysis` to the invalidation check so
`BasicAAResult` is properly invalidated when its `TLI` reference becomes
stale.
Commit: 329c52c1004f2d0f487577f73387c8dd8b47fd9a
https://github.com/llvm/llvm-project/commit/329c52c1004f2d0f487577f73387c8dd8b47fd9a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/HostInfoBase.h
M lldb/include/lldb/Host/aix/HostInfoAIX.h
M lldb/include/lldb/Host/linux/HostInfoLinux.h
M lldb/include/lldb/Host/windows/HostInfoWindows.h
M lldb/include/lldb/Initialization/SystemInitializerCommon.h
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Host/aix/HostInfoAIX.cpp
M lldb/source/Host/common/HostInfoBase.cpp
M lldb/source/Host/linux/HostInfoLinux.cpp
M lldb/source/Host/windows/HostInfoWindows.cpp
M lldb/source/Initialization/SystemInitializerCommon.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/tools/lldb-mcp/lldb-mcp.cpp
M lldb/tools/lldb-server/SystemInitializerLLGS.h
M lldb/tools/lldb-test/SystemInitializerTest.cpp
Log Message:
-----------
[lldb] Change the way the shlib directory helper is set (#183637)
This PR changes the way we set the shlib directory helper. Instead of
setting it while initializing the Host plugin, we register it when
initializing the Python plugin. The motivation is that the current
approach is incompatible with the dynamically linked script
interpreters, as they will not have been loaded at the time the Host
plugin is initialized.
The downside of the new approach is that we set the helper after having
initialized the Host plugin, which theoretically introduces a small
window where someone could query the helper before it has been set.
Fortunately the window is pretty small and limited to when we're
initializing plugins, but it's less "pure" than what we had previously.
That said, I think it balances out with removing the plugin include.
Commit: 07891ab5901cb25ac47afa99ead9eafea4d1cf2c
https://github.com/llvm/llvm-project/commit/07891ab5901cb25ac47afa99ead9eafea4d1cf2c
Author: Eric Christopher <echristo at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[cmake] Disable -Wdangling-pointer on GCC 12+ (#183593)
GCC 12 started warning on the RAII DAGUpdateListener pattern in
SelectionDAG.h (storing `this` in the constructor). It's a false
positive -- suppress it the same way we handle -Wno-dangling-reference
(GCC 13+) and -Wno-stringop-overread (GCC 11+).
Commit: c78f37fdebd852f567e6380382a8eda8a28f382f
https://github.com/llvm/llvm-project/commit/c78f37fdebd852f567e6380382a8eda8a28f382f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGen/cleanup.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/defaultarg.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
M clang/test/CIR/CodeGen/stmt-expr.cpp
M clang/test/CIR/CodeGen/struct.cpp
Log Message:
-----------
[CIR] Fix dominance problems with values defined in cleanup scopes (#183810)
We currently encounter dominance verification errors when a value is
defined inside a cleanup scope but used outside the scope. This occurs
when forceCleanup() is used to exit a cleanup scope while a variable is
holding a value that was created in the scope body. Classic codegen
solved this problem by passing a list of values to spill and reload to
forceCleanup(). This change implements that same solution for CIR.
I have also aligned the ScalarExprEmitter::VisitExprWithCleanups
implementation with that of classic codegen, eliminating an extra
lexical scope. This causes temporary allocas to be created at the next
higher existing lexical scope, but I think that's OK since they would be
hoisted there anyway by a later pass.
Commit: dc520a5f493aac270315304be10b9b8bc5119dfe
https://github.com/llvm/llvm-project/commit/dc520a5f493aac270315304be10b9b8bc5119dfe
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/GPU/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir][GPU] Add ValueBoundsOphinterface to gpu.subgroup_broadcast (#183848)
This commit adds an ValueBoundsOpInterface to gpu.subgroup_broadcast,
matching its integer range interface implementation, so that affine
analysis can peek through subgroup broadcast ops.
Commit: 136ba6e208b2b670e999ce77c2b4c85771a0bdf2
https://github.com/llvm/llvm-project/commit/136ba6e208b2b670e999ce77c2b4c85771a0bdf2
Author: Ankit Aggarwal <aankit at qti.qualcomm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Hexagon.h
M clang/test/Preprocessor/hexagon-predefines.c
Log Message:
-----------
[Hexagon] Define __HVX_IEEE_FP__ when -mhvx-ieee-fp is enabled (#183829)
Add a __HVX_IEEE_FP__ define when the compiler is invoked with
-mhvx-ieee-fp flag
Commit: e3c045415ae52167e197d4a6ed4ad5a04e49423a
https://github.com/llvm/llvm-project/commit/e3c045415ae52167e197d4a6ed4ad5a04e49423a
Author: Johannes de Fine Licht <johannes.definelicht at nextsilicon.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/cmake/modules/AddClang.cmake
M llvm/cmake/modules/AddLLVM.cmake
M mlir/cmake/modules/AddMLIR.cmake
Log Message:
-----------
[CMake] Propagate dependencies to OBJECT libraries in `add_llvm_library` (#183541)
Previously, transitively inherited calls to
`target_include_directories(foo SYSTEM ...)` were being squashed into a
flat list of includes, effectively stripping off `-isystem` and
unintentionally forwarding warnings from such dependencies.
To correctly propagate `SYSTEM` dependencies, use
`target_link_libraries` to forward the parent target's link dependencies
to the OBJECT library (similar to the `_static` flow below). Unlike a
flat `target_include_directories`, this lets CMake resolve transitive
SYSTEM include directories through the proper dependency chain.
Note that `target_link_libraries` on an OBJECT library propagates all
usage requirements, not just includes. This also brings in transitive
`INTERFACE_COMPILE_DEFINITIONS`, `INTERFACE_COMPILE_OPTIONS`, and
`INTERFACE_COMPILE_FEATURES`. This is arguably more correct, as the
OBJECT library compiles the same sources and should see the same flags.
The existing `target_include_directories` call is retained for include
directories set directly on the target (not through link dependencies).
CMake deduplicates include directories that appear through both paths.
Compile definitions and options may technically appear twice (once via
the OBJECT library, once via the consuming target), but duplicate `-D`
and flag entries should be harmless in practice.
Also fix `clang_target_link_libraries` and `mlir_target_link_libraries`
to forward the link type (PUBLIC/PRIVATE/INTERFACE) to `obj.*` targets.
Previously the type keyword was silently dropped, resulting in
plain-signature `target_link_libraries` calls. This is now required
because the new keyword-signature call in `llvm_add_library` would
otherwise conflict (CMake requires all calls on a target to use the same
signature).
Commit: fd9421cccd0bc11b312485542cfc7e88b4d3c7b5
https://github.com/llvm/llvm-project/commit/fd9421cccd0bc11b312485542cfc7e88b4d3c7b5
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
Log Message:
-----------
[lldb] Fix sys.path manipulation failure in formatter_bytecode.py (#183868)
Fix bug in #183804.
Commit: 12e1075b6495a448fd985bfad1c35382aa0e0e42
https://github.com/llvm/llvm-project/commit/12e1075b6495a448fd985bfad1c35382aa0e0e42
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/bv-root-part-of-graph.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-node-with-non-schedulable-parent.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-vectorize-gathered-def-after-use.ll
M llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
Log Message:
-----------
[SLP]Fix operand reordering when estimating profitability of operands
Need to swap operand for a single instruction, not for the the same lane
of the first and second instruction in the list
Commit: 795cfaea9cc8a812f5dace400d13d879b825e42c
https://github.com/llvm/llvm-project/commit/795cfaea9cc8a812f5dace400d13d879b825e42c
Author: Ayokunle Amodu <ayokunle321 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
R clang/test/CIR/CodeGen/address-of.cpp
R clang/test/CIR/CodeGen/builtin-bit-cast.cpp
R clang/test/CIR/CodeGen/builtin-floating-point.c
R clang/test/CIR/CodeGen/builtin-memchr.c
R clang/test/CIR/CodeGen/builtins-elementwise.c
R clang/test/CIR/CodeGen/object-size.c
R clang/test/CIR/CodeGen/object-size.cpp
R clang/test/CIR/CodeGen/offset-of.cpp
R clang/test/CIR/CodeGen/pred-info-builtins.c
A clang/test/CIR/CodeGenBuiltins/builtin-address-of.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-bit-cast.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-call.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-inline.c
A clang/test/CIR/CodeGenBuiltins/builtin-memchr.c
A clang/test/CIR/CodeGenBuiltins/builtin-new-delete.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-object-size.c
A clang/test/CIR/CodeGenBuiltins/builtin-object-size.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-offset-of.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-prefetch.c
A clang/test/CIR/CodeGenBuiltins/builtin-printf.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_bit.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_inline.c
R clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_prefetch.c
R clang/test/CIR/CodeGenBuiltins/builtin_printf.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
M clang/test/CIR/CodeGenBuiltins/builtins-floating-point.c
A clang/test/CIR/CodeGenBuiltins/builtins-pred-info.c
Log Message:
-----------
[CIR][NFC] Move some builtin tests to the CodeGenBuitins folder (#183607)
This moves a few tests that were created in the wrong location. Also
changes the names of some test files to maintain consistency.
Commit: 342e44603dc2a3a44820f93b4d974af03c3ff68a
https://github.com/llvm/llvm-project/commit/342e44603dc2a3a44820f93b4d974af03c3ff68a
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts] Move VCCZ workaround code out of the way (#182619)
This is a cleanup patch that moves the VCCZ specific workaround code
from `SIInsertWaitcnts::insertWaitcntInBlock()` to a separate class and
refactors it a bit to make it easier to read.
The end result is a simpler `insertWaitcntInBlock()`.
Should be NFC.
Commit: 5395d2668968742043c2c0e47796930a63cd6bbf
https://github.com/llvm/llvm-project/commit/5395d2668968742043c2c0e47796930a63cd6bbf
Author: Demetrius Kanios <demetrius at kanios.net>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
Log Message:
-----------
Revert "[WebAssembly] Incorporate SCCs into WebAssemblyFixIrreducibleControlFlow (#181755)" (#183872)
This reverts commit c05e323be7caaadff6fdd09a2336be60e3041af1.
Changes failed Emscripten tests.
Commit: 8bd8d8e6debe81bbffde1543921150503d012b65
https://github.com/llvm/llvm-project/commit/8bd8d8e6debe81bbffde1543921150503d012b65
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/load-saddr-offset-imm.ll
Log Message:
-----------
[AMDGPU] Remove extra pipes from load-saddr-offset-imm.ll (#183874)
This test uses opt to run instcombin and then pipes that into llc which
has its output piped into FileCheck. Before this patch, the test also
piped in the source file into llc as well, which caused issues with a
downstream test executor that executes the lines in bash. However, these
extra pipes don't make sense anyways, so remove them.
Commit: fb6b470caedc37c880b5112bd1c85be5f55e9114
https://github.com/llvm/llvm-project/commit/fb6b470caedc37c880b5112bd1c85be5f55e9114
Author: Mohamed Emad <hulxxv at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/floor.h
A libc/shared/math/floorbf16.h
A libc/shared/math/floorf.h
A libc/shared/math/floorf128.h
A libc/shared/math/floorf16.h
A libc/shared/math/floorl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/floor.h
A libc/src/__support/math/floorbf16.h
A libc/src/__support/math/floorf.h
A libc/src/__support/math/floorf128.h
A libc/src/__support/math/floorf16.h
A libc/src/__support/math/floorl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/floor.cpp
M libc/src/math/generic/floorbf16.cpp
M libc/src/math/generic/floorf.cpp
M libc/src/math/generic/floorf128.cpp
M libc/src/math/generic/floorf16.cpp
M libc/src/math/generic/floorl.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 floor family to header-only (#182194)
Refactors the floor math family to be header-only.
Closes https://github.com/llvm/llvm-project/issues/182193
Target Functions:
- floor
- floorbf16
- floorf
- floorf128
- floorf16
- floorl
Commit: 62cfe1659edff8874f2d814ee356cfc9199f62d5
https://github.com/llvm/llvm-project/commit/62cfe1659edff8874f2d814ee356cfc9199f62d5
Author: Mohamed Emad <hulxxv at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/shared/math.h
A libc/shared/math/acospif.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/acospif.h
M libc/src/__support/math/asinpif.h
M libc/src/__support/math/inv_trigf_utils.h
M libc/src/math/CMakeLists.txt
A libc/src/math/acospif.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acospif.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/acospif_test.cpp
M libc/test/src/math/asinpif_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/acospif_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/acospif_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math][c23] implement C23 `acospif` math function (#183661)
Implementing C23 `acospi` math function for single-precision with the
header-only approach that is followed since #147386
Commit: 5f22decefac061c6e1e01804d46669a8c3ebc06c
https://github.com/llvm/llvm-project/commit/5f22decefac061c6e1e01804d46669a8c3ebc06c
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/SemaCXX/builtins-elementwise-math.cpp
M libclc/clc/lib/generic/math/clc_fdim.inc
Log Message:
-----------
Clang: Deprecate float support from __builtin_elementwise_max (#180885)
Now we have
__builtin_elementwise_maxnum
__builtin_elementwise_maximum
__builtin_elementwise_maximumnum
Commit: 6f9c68d32074162304f27d38e69f4de4cd26ab50
https://github.com/llvm/llvm-project/commit/6f9c68d32074162304f27d38e69f4de4cd26ab50
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-scalar-assignment-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fixed-wide-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call-scalarize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions-tf.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-wide-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-printing.ll
Log Message:
-----------
[VPlan] Don't adjust trip count for DataAndControlFlowWithoutRuntimeCheck (#183729)
Previously, the canonical IV increment may have overflowed to a non-zero
value due to vscale being a non power-of-two. So we used to emit a
runtime check for this.
If you didn't want the runtime check,
DataAndControlFlowWithoutRuntimeCheck skipped it and instead tweaked the
trip count so it wouldn't overflow.
However #144963 stopped the check from ever being emitted because vscale
is always a power-of-two on AArch64 and RISC-V, so it never overflowed
to a non-zero value. And in #183292 the code to emit the check was
removed. But we never restored the trip count back to normal when the
target's vscale was a power-of-two.
Now that vscale is always a power-of-two, this PR avoids adjusting it. A
follow up NFC can then remove DataAndControlFlowWithoutRuntimeCheck.
Commit: 0b88ee12dd88cb27275750406364fad014d87d65
https://github.com/llvm/llvm-project/commit/0b88ee12dd88cb27275750406364fad014d87d65
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
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/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/IR/address-space.cir
M clang/test/CIR/IR/invalid-addrspace.cir
Log Message:
-----------
[CIR] Infrastructure and MemorySpaceAttrInterface for Address Spaces (#179073)
Related: https://github.com/llvm/llvm-project/issues/175871,
https://github.com/issues/assigned?issue=llvm%7Cllvm-project%7C179278,
https://github.com/issues/assigned?issue=llvm%7Cllvm-project%7C160386
- Introducing the LangAddressSpace enum with offload address space kinds
(offload_private, offload_local, offload_global, offload_constant,
offload_generic) and the LangAddressSpaceAttr attribute.
- Generalizes CIR AS attributes as MemorySpaceAttrInterface and Attaches
it to `PointerType`. Includes test coverage for valid IR roundtrips and
invalid address space parsing.
This starts a series of patches with the purpose of bringing complete
address spaces support features for CIR. Most of the test coverage is
provided in subsequent patches further down the stack. note that most of
these patches are based on: https://github.com/llvm/clangir/pull/1986
Commit: d72e95bab071ef4f7f45ab3c4e47047325d50333
https://github.com/llvm/llvm-project/commit/d72e95bab071ef4f7f45ab3c4e47047325d50333
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl
Log Message:
-----------
[CIR] Use `-verify` on clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl (#182817)
Update clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl to use
`-verify` with expected CIR NYI diagnostics.
Commit: fe76e9004b5bcc50dc5410910350f97f05db8984
https://github.com/llvm/llvm-project/commit/fe76e9004b5bcc50dc5410910350f97f05db8984
Author: SharonXSharon <xiaoranxu.nju at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
A llvm/test/CodeGen/X86/code_placement_ext_tsp_size_and_perf.ll
Log Message:
-----------
[CodeGen] Allow `-enable-ext-tsp-block-placement` and `-apply-ext-tsp-for-size` passed together (#183642)
Currently, the asserts fires when both `UseExtTspForPerf` and
`UseExtTspForSize` are true on a given function.
Ideally, we should allow `-enable-ext-tsp-block-placement` and
`-apply-ext-tsp-for-size` passed together, meaning run the block
placement for performance on hot functions, while run the placement for
size on cold functions.
The diff makes `UseExtTspForPerf` and `UseExtTspForSize` mutually
exclusive per-function: functions with the `OptForSize` attribute use
ext-tsp block placement for size, while the others use ext-tsp block
placement for perf.
Co-authored-by: Sharon Xu <sharonxu at fb.com>
Commit: ce6a3d98cc3e208e8a4014b7812515951bf048ce
https://github.com/llvm/llvm-project/commit/ce6a3d98cc3e208e8a4014b7812515951bf048ce
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls-module.cpp
Log Message:
-----------
[clang-tidy] Teach `misc-unused-using-decls` that exported using-decls aren't unused (#183638)
Fixes #162619.
Commit: bed89970c3df5e755820708580e405f65ddaa1ba
https://github.com/llvm/llvm-project/commit/bed89970c3df5e755820708580e405f65ddaa1ba
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M bolt/test/AArch64/skip-non-vfuncptr-reloc-in-relative-vtable.s
M lld/test/ELF/aarch64-branch-to-branch.s
M lld/test/ELF/aarch64-feature-bti.s
M lld/test/ELF/aarch64-funcinit64-invalid.s
M lld/test/ELF/aarch64-funcinit64.s
M lld/test/ELF/aarch64-range-thunk-extension-plt32.s
M lld/test/ELF/aarch64-reloc-gotpcrel32.s
M lld/test/ELF/aarch64-reloc-plt32.s
M lld/test/ELF/aarch64-undefined-weak.s
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
M llvm/test/CodeGen/AArch64/ptrauth-irelative.ll
M llvm/test/MC/AArch64/data-directive-specifier.s
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
Log Message:
-----------
AArch64: Replace @plt/%gotpcrel in data directives with %pltpcrel %gotpcrel (#155776)
Similar to #132569 for RISC-V, replace the unofficial `@plt` and
`@gotpcrel` relocation specifiers, currently only used by clang
-fexperimental-relative-c++-abi-vtables, with %pltpcrel %gotpcrel. The
syntax is not used in humand-written assembly code, and is not supported
by GNU assembler.
Also replace the recent `@funcinit` with `%funcinit(x)`.
Commit: 27d654c4c4e6eb7c19e46af20500200e793da7c7
https://github.com/llvm/llvm-project/commit/27d654c4c4e6eb7c19e46af20500200e793da7c7
Author: Son Tuan Vu <sontuavu at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
M llvm/test/CodeGen/AMDGPU/vgpr-lowering-gfx1250.mir
Log Message:
-----------
[AMDGPU] Fix piggybacking after commute in AMDGPULowerVGPREncoding (#183778)
After successfully commuting an instruction to be compatible with the
current VGPR MSB mode, update CurrentMode with the commuted
instruction's mode requirements. This locks in the mode bits the
commuted instruction relies on, preventing later instructions from
piggybacking and corrupting those bits.
Without this fix, a subsequent instruction needing a different mode
could piggyback onto the preceding s_set_vgpr_msb and change mode bits
that the commuted instruction depends on. For example, a nullopt src1
position (treated as 0) could be overwritten to a different value,
causing incorrect register encoding for the commuted instruction.
The fix still allows compatible piggybacking - instructions that only
add new mode bits without changing existing ones can still piggyback.
Commit: 3b30dcddd97355ee36f13c5e2ca56c1d6f137b7a
https://github.com/llvm/llvm-project/commit/3b30dcddd97355ee36f13c5e2ca56c1d6f137b7a
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/reloc-section-sym.c
A clang/test/Misc/cc1as-reloc-section-sym.s
M clang/tools/driver/cc1as_main.cpp
Log Message:
-----------
[Driver] Add -Wa,--reloc-section-sym= to control section symbol conversion (#183472)
Wire the llvm-mc --reloc-section-sym={all,internal,none} option through
the clang driver (-Wa,--reloc-section-sym=) and cc1as
(--reloc-section-sym=). The option is only valid for ELF targets.
GNU Assembler will add the option as well.
Commit: 702e4ec5f705ccf72ecbf31301a364e8b2664843
https://github.com/llvm/llvm-project/commit/702e4ec5f705ccf72ecbf31301a364e8b2664843
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lldb/test/API/macosx/delay-init-dependency/TestDelayInitDependency.py
Log Message:
-----------
[lldb/test] Skip TestDelayInitDependency on remote platforms (#183885)
This test exercises macOS-specific linker functionality (-delay_library)
and uses a hardcoded local working directory for the launch info. It
should not run against a remote platform where neither condition holds.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 1ff1e5f10a5c765b4cf1344c4964604dcd09fef3
https://github.com/llvm/llvm-project/commit/1ff1e5f10a5c765b4cf1344c4964604dcd09fef3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
InstCombine: Stop applying nofpclass from use nofpclass attribute (#183835)
Functionally reverts a80d4329ce96856a02bd279c800c3d08619da4c9, with new
test.
This should be applied somewhere, but this is the wrong place.
Fixes regression reported after #182444
Commit: 55f9cf33fc14878d22415735cc1116925d9e79b3
https://github.com/llvm/llvm-project/commit/55f9cf33fc14878d22415735cc1116925d9e79b3
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
Log Message:
-----------
RISCVMCAsmInfo: Remove redundant `UseAtForSpecifier = false`. NFC (#183890)
UseAtForSpecifier defaults to false in MCAsmInfo, and RISCVMCAsmInfo
never calls initializeAtSpecifiers (which sets it to true).
Commit: ab2908ed21e7d45793fb6128543f4494f5c42c66
https://github.com/llvm/llvm-project/commit/ab2908ed21e7d45793fb6128543f4494f5c42c66
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-fold-tail.ll
A llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-group-requires-scalar-epilogue.ll
A llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory-live-outs.ll
Log Message:
-----------
[LV] Add tail-folding & required scalar epilogue tests for IG narrowing.
Add additional tests to cover missing code paths when narrowing
interleave groups:
* tail-folding
* interleave-groups that require a scalar iteration.
Commit: c40b0b2235e5bfe600304fa4087e002b1a2f0908
https://github.com/llvm/llvm-project/commit/c40b0b2235e5bfe600304fa4087e002b1a2f0908
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
M llvm/test/tools/llvm-dwarfdump/X86/verify_unit_header_chain.s
M llvm/test/tools/llvm-dwp/X86/cu_tu_units_manual_v5_invalid.s
M llvm/test/tools/llvm-symbolizer/split-dwarf-dwp-invalid.test
Log Message:
-----------
[llvm][DebugInfo] Bump DWARFContext maximum DWARF version (#183838)
In order to start testing DWARFv6 feature support we need to bump this
version for tooling to work.
This does not mean we officially support DWARFv6. It just enables us
testing the features gradually.
Commit: ce3460e002727a226ef6c2c3e29a978fb1823ad7
https://github.com/llvm/llvm-project/commit/ce3460e002727a226ef6c2c3e29a978fb1823ad7
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
Log Message:
-----------
[llvm][DebugInfo] Bump DWARFDebugLine maximum DWARF version (#183841)
Bumps `.debug_line` maximum supported version to DWARFv6.
This does not mean we officially support DWARFv6. It just enables us
testing the features gradually.
Commit: 8f0928252bbe0a541cb9072a9504651d53e0d9dc
https://github.com/llvm/llvm-project/commit/8f0928252bbe0a541cb9072a9504651d53e0d9dc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFListTableTest.cpp
Log Message:
-----------
[llvm][DebugInfo] Bump DWARFListTable maximum DWARF version (#183859)
Bumps `.debug_rnglists` maximum supported version to DWARFv6.
This does not mean we officially support DWARFv6. It just enables us
testing the features gradually.
Added unit-test since there was no prior test in the entire LLVM
test-suite that checked this.
Commit: 9b1f7845227e48d71f206172f628bd2b1ebf2d1f
https://github.com/llvm/llvm-project/commit/9b1f7845227e48d71f206172f628bd2b1ebf2d1f
Author: David Green <david.green at arm.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrMVE.td
M llvm/test/CodeGen/Thumb2/mve-sli-sri.ll
Log Message:
-----------
[ARM][MVE] Add SLI and SRI recognition. (#183471)
This uses the newly added code from #182051 to optimize to MVE sli and
sri. The only major difference is the legal types supported, but we also
lower intrinsics via VSLIIMM/VSLIIMM, so that only one tablegen pattern
is needed.
Commit: 3403aac734189ae9d36695f3f8d12bd61f3678ea
https://github.com/llvm/llvm-project/commit/3403aac734189ae9d36695f3f8d12bd61f3678ea
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Analysis/CMakeLists.txt
Log Message:
-----------
[CMake][LLVM] Disable PCH on Clang for file with custom flags too (#183813)
Precompiled headers are already skipped when building ConstantFolding.cpp with MSVC, they cause problems with Clang too so disable it there the same way.
Commit: b2c92bca2e6636c62c49719defd4f4e3df6b7ab1
https://github.com/llvm/llvm-project/commit/b2c92bca2e6636c62c49719defd4f4e3df6b7ab1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/test/MC/ARM/dwarf-asm-multiple-sections.s
M llvm/test/MC/ELF/gen-dwarf.s
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
[llvm-mc][dwarf] Bump supported version to DWARF 6 (#183779)
Depends on:
* https://github.com/llvm/llvm-project/pull/183838
* https://github.com/llvm/llvm-project/pull/183841
* https://github.com/llvm/llvm-project/pull/183859
Bumps the supported version to 6. Unit header layout hasn't changed
between versions AFAIK, so re-used the DWARF5 `FileCheck` in the test.
This by no means claims full DWARFv6 support, but is handy for testing
DWARFv6 features while full support is being gradually implemented.
Commit: c8e211c2a8b23b7bed4fb6b76bd441caa44973de
https://github.com/llvm/llvm-project/commit/c8e211c2a8b23b7bed4fb6b76bd441caa44973de
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Fix crash in expand_shape fold with dynamic result type (#183785)
`foldReshapeOp` (in `ReshapeOpsUtils.h`) and `FoldReshapeWithConstant`
(in `TensorOps.cpp`) both tried to create a new `DenseElementsAttr`
constant when folding a reshape op whose operand is a constant. Neither
checked that the result type was statically shaped before doing so, but
`DenseElementsAttr::reshape()` and
`DenseElementsAttr::getFromRawBuffer()` both assert `hasStaticShape()`.
Guard both fold paths with a `hasStaticShape()` check so they return
early when the result type contains a dynamic dimension.
Fixes #177845
Commit: 7370091a43e5cbcb4cf56fb83b62e056903cb918
https://github.com/llvm/llvm-project/commit/7370091a43e5cbcb4cf56fb83b62e056903cb918
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/test/IR/visitors.mlir
M mlir/test/lib/IR/TestVisitors.cpp
Log Message:
-----------
[mlir][test-ir-visitors] Fix noSkipBlockErasure crash with block args used across blocks (#183828)
The noSkipBlockErasure callback in TestVisitors.cpp dropped uses of op
results within the same region before erasing a block, but did not drop
uses of the block's own arguments (e.g. function entry block arguments).
When the block was subsequently erased its block arguments were
destroyed while their use-lists were still non-empty, triggering the
assertion in IRObjectWithUseList::~IRObjectWithUseList().
Fix this by also iterating over the block's arguments and dropping any
uses that belong to the same parent region. This mirrors the existing
logic for op result uses and makes the block-erasure walk handle IRs
where function arguments are consumed by ops in sibling blocks.
Also replace `block->front().getParentRegion()` with
`block->getParent()` for robustness (avoids UB when the block has no
ops).
Add a regression test based on the reproducer from
https://github.com/llvm/llvm-project/issues/182996.
Fixes #182996
Commit: 245621408d03f8f85e2454332ad1816fed62c386
https://github.com/llvm/llvm-project/commit/245621408d03f8f85e2454332ad1816fed62c386
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/test/tools/llvm-cov/mcdc-macro.test
Log Message:
-----------
Restore #125407, Make covmap tolerant of nested Decisions (#183073)
Change(s):
- Suppress range errors in CounterExpr
Commit: f05b705dd3ce7fad6b30a2bc40dd9bbebf1e6a74
https://github.com/llvm/llvm-project/commit/f05b705dd3ce7fad6b30a2bc40dd9bbebf1e6a74
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/test/IR/visitors.mlir
Log Message:
-----------
[mlir] Fix crash in testNoSkipErasureCallbacks on empty blocks (#183757)
The `noSkipBlockErasure` callback in `testNoSkipErasureCallbacks` called
`block->front().getParentRegion()` to get the parent region of a block.
This dereferences the ilist sentinel node when the block has no
operations, triggering an assertion failure.
Use `block->getParent()` instead, which directly returns the region
containing the block without requiring any operations to be present.
Fixes #183511
Commit: b3be782c4d149d9f9fd4dbf0452db0af451bd1a2
https://github.com/llvm/llvm-project/commit/b3be782c4d149d9f9fd4dbf0452db0af451bd1a2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/canonicalize.mlir
Log Message:
-----------
[mlir][affine] Fix crash in linearize_index fold when multi-index is ub.poison (#183816)
`AffineLinearizeIndexOp::fold` guarded the constant-folding path with
`llvm::is_contained(adaptor.getMultiIndex(), nullptr)`, which only
catches operands that have not been evaluated at all. When an operand
folds to `ub.PoisonAttr`, the attribute is non-null so the guard passed,
and the subsequent `cast<IntegerAttr>(indexAttr)` call crashed with an
assertion failure.
Fix by replacing the null-only check with one that requires every
multi-index attribute to be a concrete `IntegerAttr`, returning
`nullptr` for any other attribute (including null and PoisonAttr).
Fixes #178204
Commit: 903acc2762d550d8f5934924aaf87b3527c63112
https://github.com/llvm/llvm-project/commit/903acc2762d550d8f5934924aaf87b3527c63112
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/lib/CodeGen/ItaniumCXXABI.cpp
A clang/test/DebugInfo/CXX/ptrauth-member-function-pointer-debuglocs.cpp
Log Message:
-----------
[AArch64][PAC] Emit `!dbg` locations in `*_vfpthunk_` functions (#179688)
The usage of pointers to member functions with Pointer Authentication
requires generation of `*_vfpthunk_` functions. These thunk functions
can be later inlined and optimized by replacing the indirect call
instruction with a direct one and then inlining that function call.
In absence of `!dbg` metadata attached to the original call instruction,
such inlining ultimately results in an assertion "!dbg attachment points
at wrong subprogram for function" in the assertions-enabled builds. By
manually executing `opt` with `-verify-each` option on the LLVM IR
produced by the frontend, an actual issue can be observed: "inlinable
function call in a function with debug info must have a !dbg location"
after the replacement of indirect call instruction with the direct one
takes place.
This commit fixes the issue by attaching artificial `!dbg` locations to
the original call instruction (as well as most other instructions in
`*_vfpthunk_` function) the same way it is done for other
compiler-generated helper functions.
Commit: 0b61f15f2e138f7662d4542eabed478a99275751
https://github.com/llvm/llvm-project/commit/0b61f15f2e138f7662d4542eabed478a99275751
Author: David Green <david.green at arm.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
A llvm/test/CodeGen/AArch64/fcvt-i256.ll
Log Message:
-----------
[AArch64] Add fcvt-i256 test cases. NFC
Commit: 94ebc8a95baf27a6e53737d0e32fcd210ce75a1b
https://github.com/llvm/llvm-project/commit/94ebc8a95baf27a6e53737d0e32fcd210ce75a1b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-load.ll
Log Message:
-----------
[LV] Remove duplicated IV expression sinking tests. (NFC)
Remove duplicated tests already covered by
llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr.ll.
Commit: 72525fb4ee370dcd598fd68a6515620ee3144bba
https://github.com/llvm/llvm-project/commit/72525fb4ee370dcd598fd68a6515620ee3144bba
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
Log Message:
-----------
[VPlan] Materialize UF after unrolling (NFCI).
Move materialization of the symbolic UF directly to unrollByUF. At this
point, unrolling materializes the decision and it is natural to also
materialize the symbolic UF here.
Commit: e655c36c16c118e3f8ae0c95854f33119218a4bf
https://github.com/llvm/llvm-project/commit/e655c36c16c118e3f8ae0c95854f33119218a4bf
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/IR/BuiltinTypeInterfaces.h
M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/IR/BuiltinTypeInterfaces.cpp
M mlir/lib/IR/BuiltinTypes.cpp
A mlir/test/IR/dense-elements-type-interface.mlir
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/test/lib/Dialect/Test/TestTypes.h
Log Message:
-----------
[mlir][IR] Generalize `DenseElementsAttr` to custom element types (#183891)
`DenseElementsAttr` supports only a hard-coded list of element types:
`int`, `index`, `float`, `complex`. This commit generalizes the
`DenseElementsAttr` infrastructure: it now supports arbitrary element
types, as long as they implement the new `DenseElementTypeInterface`.
The `DenseElementTypeInterface` has the following helper functions:
- `getDenseElementBitSize`: Query the size of an element in bits. (When
storing an element in memory, each element is padded to a full byte.
This is an existing limitation of the `DenseElementsAttr`; with an
exception for `i1`.)
- `convertToAttribute`: Attribute factory / deserializer. Converts bytes
into an MLIR attribute. The attribute provides the assembly format /
printer for a single element.
- `convertFromAttribute`: Serializer. Converts an MLIR attribute into
bytes.
Note: `convertToAttribute` / `convertFromAttribute` are mainly for
writing test cases. For performance reasons, `DenseElementsAttr` users
should work with raw bytes / elements and avoid any API that
materializes MLIR attributes. However, MLIR attributes typically have
human-readable parsers/printers, making them suitable for lit tests and
debugging.
This PR introduces an additional assembly format for
`DenseElementsAttrs`. There are now two formats. (The existing one is
kept for compatibility reasons.)
- Literal-first (existing): `dense<[1, 2, 3]> : tensor<3xi32>`
- Type-first (new): `dense<tensor<3xi32> : [1 : i32, 2 : i32, 3 : i32]>`
The new syntax is needed to disambiguate between "literal" (e.g., `1`)
and attribute (e.g., `1 : i32`) when parsing the first token. In the
literal-first syntax, we only parse literals. In the type-first syntax,
we only parse attributes.
The existing `int`, `index`, `float`, `complex` types also implement the
`DenseElementTypeInterface`. This allows us to implement
`DenseElementsAttr::get` and `AttributeElementIterator::operator*` in a
generic way.
RFC:
https://discourse.llvm.org/t/rfc-allow-custom-element-types-in-denseelementattr/89656
This is a re-upload of #179122.
Commit: 2f7c947946f4861f93aee795de5f42ed80f03072
https://github.com/llvm/llvm-project/commit/2f7c947946f4861f93aee795de5f42ed80f03072
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/test/CodeGen/ARM/fp-intrinsics-vector-v8.ll
Log Message:
-----------
Precommit tests: strictfp rounding vector f16 intrinsics (#183699)
Commit: 225b56e742fea0abd326028872d257ae8cfd7544
https://github.com/llvm/llvm-project/commit/225b56e742fea0abd326028872d257ae8cfd7544
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
Log Message:
-----------
[mlir][VectorToLLVM] Fix crash in VectorInsertOpConversion with dynamic index (#183783)
VectorInsertOpConversion crashes with an assertion failure when
inserting a sub-vector at a dynamic position into a multi-dimensional
vector. The pattern calls getAsIntegers() on the position, which asserts
that all fold results are compile-time constant attributes.
The existing guard (checking llvm::IsaPred<Attribute>) only covered the
case where a scalar is inserted into the innermost dimension (the
extractvalue path). The guard was missing for the insertvalue path when
inserting a sub-vector at a dynamic position into a nested aggregate.
Fix: add the same guard before the llvm.insertvalue creation to return
failure() gracefully when any position index is dynamic, matching the
behavior of VectorExtractOpConversion.
Fixes #177829
Commit: 2342db00ab4d0305580814fb00f477b4b5cebec6
https://github.com/llvm/llvm-project/commit/2342db00ab4d0305580814fb00f477b4b5cebec6
Author: nextsilicon-itay-bookstein <55076759+nextsilicon-itay-bookstein at users.noreply.github.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lld/tools/lld/CMakeLists.txt
M llvm/cmake/modules/LLVM-Config.cmake
Log Message:
-----------
[CMake] Use keyword signature in two additional callsites (#183889)
Fix-forward for https://github.com/llvm/llvm-project/pull/183541.
Two callsites to target_link_libraries were not migrated to the
keyword signature.
Signed-off-by: Itay Bookstein <itay.bookstein at nextsilicon.com>
Commit: 5b64aeb409ecd9f8e9ff95ffe5fde7eb6a26146c
https://github.com/llvm/llvm-project/commit/5b64aeb409ecd9f8e9ff95ffe5fde7eb6a26146c
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/IR/BuiltinTypeInterfaces.h
M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/IR/BuiltinTypeInterfaces.cpp
M mlir/lib/IR/BuiltinTypes.cpp
R mlir/test/IR/dense-elements-type-interface.mlir
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/test/lib/Dialect/Test/TestTypes.h
Log Message:
-----------
Revert "[mlir][IR] Generalize `DenseElementsAttr` to custom element types" (#183917)
Reverts llvm/llvm-project#183891
Reverting a second time. The build bot failure seems to be
non-deterministic.
Commit: d5a8f1eda29abae6d2d0fa8e08a8402cc3fd84cc
https://github.com/llvm/llvm-project/commit/d5a8f1eda29abae6d2d0fa8e08a8402cc3fd84cc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[X86] known-pow2.ll - add tests showing failure to handle ISD::EXTRACT_VECTOR_ELT nodes (#183918)
Commit: 7585ab05d6fb08f6b03329637018eb4774d39042
https://github.com/llvm/llvm-project/commit/7585ab05d6fb08f6b03329637018eb4774d39042
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/CodeGen/AMDGPU/hazard-shift64.mir
Log Message:
-----------
[AMDGPU] Enable shift64 hazard recognition for gfx9 (#183839)
Enable shift64 hazard recognition for gfx9 cores.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 3d086f573dc410a11bd11b1cdfba1ed2b80a95cb
https://github.com/llvm/llvm-project/commit/3d086f573dc410a11bd11b1cdfba1ed2b80a95cb
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/implicit-value-init-expr.cpp
Log Message:
-----------
[CIR] Implement ImplicitValueInitExpr for ComplexType (#183836)
Implement ImplicitValueInitExpr for ComplexType
Commit: a6ceae48f56cfd5ae3e87a865ef1fab315d1e0d0
https://github.com/llvm/llvm-project/commit/a6ceae48f56cfd5ae3e87a865ef1fab315d1e0d0
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
Log Message:
-----------
[AMDGPU] Assert non-array alloca does have a size (#183834)
Refs
https://github.com/llvm/llvm-project/pull/179523/changes#r2851952141
Commit: 4a93b9a1b1ec221cb66e7d31a4d80b225d7f8fce
https://github.com/llvm/llvm-project/commit/4a93b9a1b1ec221cb66e7d31a4d80b225d7f8fce
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/fp-intrinsics-vector-v8.ll
Log Message:
-----------
[ARM] Lower strictfp vector fp16 rounding operations similar to default mode (#183700)
Previously the strictfp rounding nodes were lowered using unrolling to
scalar operations, which has negative impact on performance. Partially
this issue was fixed in #180480, this change continues that work and
implements optimized lowering for v4f16 and v8f16.
Commit: 2430410b7d879fce3db76c21bb8c60ed22abd0b5
https://github.com/llvm/llvm-project/commit/2430410b7d879fce3db76c21bb8c60ed22abd0b5
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lldb/docs/index.rst
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.h
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ThreadFreeBSDKernelCore.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][Process/FreeBSDKernelCore] Add ppc64le support (#180669)
This is LLDB version of
https://cgit.freebsd.org/ports/tree/devel/gdb/files/kgdb/ppcfbsd-kern.c.
This enables selecting ppc64le and reading registers from PCB structure
on core dump and live kernel debugging. FPU registers aren't supported
yet due to pcb structure issue, but this change still achieves feature
parity with KGDB. Trapframe unwinding support will be implemented in
future. Test files using core dump from ppc64le will be implemented once
other kernel debugging improvements are done.
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: 1909e43a4adc049db3fc4f1e622dd6702120562d
https://github.com/llvm/llvm-project/commit/1909e43a4adc049db3fc4f1e622dd6702120562d
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/test/Dialect/GPU/invalid.mlir
Log Message:
-----------
[mlir][GPU] Fix crash in WarpExecuteOnLane0Op::verify with wrong terminator (#183930)
WarpExecuteOnLane0Op::verify() called getTerminator() which performed an
unconditional cast<gpu::YieldOp> on the block's last operation. When the
op body was written with a different terminator (e.g. affine.yield), the
cast asserted immediately instead of emitting a verifier diagnostic.
Fix by using dyn_cast in verify() before calling getTerminator(), and
emitting a proper error message when the terminator is not gpu.yield.
Add a regression test to invalid.mlir.
Fixes #181450
Commit: 4d724c074dd14000c46224bf303cb8157a48d8ee
https://github.com/llvm/llvm-project/commit/4d724c074dd14000c46224bf303cb8157a48d8ee
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[X86] known-never-zero.ll - add tests showing failure to handle ISD::EXTRACT_VECTOR_ELT nodes (#183934)
Commit: 3034c0966931bef36c169b5727ee20129aa4d4e3
https://github.com/llvm/llvm-project/commit/3034c0966931bef36c169b5727ee20129aa4d4e3
Author: James Wobser <james.wobser at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] bugfix: Whitesmiths with IndentAccessModifiers (#182432)
Due to special handling of Whitesmiths when parsing, the additional
level(s) needed for the block, when used with IndentAccessModifiers,
were not being applied. Consequently, when calculating the access
modifier indent offset, the modifiers were being placed at the class
level.
This change ensures that the additional level(s) are not omitted for
Whitesmiths.
Commit: 5ed875a06cb0a6d543f719ad72df2a1660e42cb9
https://github.com/llvm/llvm-project/commit/5ed875a06cb0a6d543f719ad72df2a1660e42cb9
Author: Gabriele Mondada <gab at ijk.ch>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lldb/source/Utility/ZipFile.cpp
M lldb/unittests/Host/common/CMakeLists.txt
A lldb/unittests/Host/common/Inputs/zip-test-no-extras.zip
M lldb/unittests/Host/common/ZipFileResolverTest.cpp
Log Message:
-----------
[lldb][lldb-server] Fix zip file lookup ignoring last entry in the zip file (#173966)
Command qModuleInfo (GDB server protocol) can be used to request
metadata of shared libraries stored in a ZIP archive on the target. This
is typically used for retrieving SO files bundled in a APK file on
Android.
Requesting the last entry in the ZIP file often fails because of a bug
in the entry search mechanism. This PR fixes this.
NOTES:
* The bug appears only if the entry in the zip file has no extra field
or comment
* This is part on an effort to get lldb working for debugging Swift on
Android: https://github.com/swiftlang/llvm-project/issues/10831
Commit: e317f424557cbf76deaa568ab8a5416822453d50
https://github.com/llvm/llvm-project/commit/e317f424557cbf76deaa568ab8a5416822453d50
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/last-buildvector-node.ll
Log Message:
-----------
[SLP]Recalculate dependencies for the buildvector schedule node, if they have copyable node
Need to recalculate the deps for all buildvector nodes with copyable
deps to prevent a compiler crash during scheduling of instructions
Commit: 3e05ab6322cbf2a96362dcacb5907ba519fe552d
https://github.com/llvm/llvm-project/commit/3e05ab6322cbf2a96362dcacb5907ba519fe552d
Author: yonghong-song <yhs at fb.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll
M clang/test/CodeGen/distributed-thin-lto/cfi.ll
M clang/test/CodeGen/thinlto-funcattr-prop.ll
M lld/test/ELF/lto/comdat-nodeduplicate.ll
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/test/Assembler/thinlto-memprof-summary.ll
M llvm/test/Assembler/thinlto-multiple-summaries-for-guid.ll
M llvm/test/Assembler/thinlto-summary-visibility.ll
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Assembler/thinlto-vtable-summary.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-index-disassembled-by-llvm-dis.ll
M llvm/test/Bitcode/thinlto-type-tests.ll
M llvm/test/Bitcode/thinlto-type-vcalls.ll
A llvm/test/ThinLTO/X86/Inputs/reduce-promotion-same-file-local-name.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-maythrow.ll
M llvm/test/ThinLTO/X86/funcimport_alwaysinline.ll
M llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/ThinLTO/X86/load-store-caching.ll
A llvm/test/ThinLTO/X86/reduce-promotion-devirt.ll
A llvm/test/ThinLTO/X86/reduce-promotion-same-file-local-name.ll
A llvm/test/ThinLTO/X86/reduce-promotion-same-local-name.ll
A llvm/test/ThinLTO/X86/reduce-promotion.ll
M llvm/test/Transforms/LowerTypeTests/import-unsat.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/import-indir.yaml
M llvm/test/Transforms/WholeProgramDevirt/import-indir.ll
Log Message:
-----------
[ThinLTO] Reduce the number of renaming due to promotions (#183793)
Currently for thin-lto, the imported static global values (functions,
variables, etc) will be promoted/renamed from e.g., foo() to
foo.llvm.(). Such a renaming caused difficulties in live patching
since function name is changed ([1]).
It is possible that some global value names have to be promoted to avoid
name collision and linker failure. But in practice, majority of name
promotions can be avoided.
In [2], the suggestion is that thin-lto pre-link decides whether
a particular global value needs name promotion or not. If yes, later on
in thinBackend() the name will be promoted.
I compiled a particular linux kernel version (latest bpf-next tree)
and found 1216 global values with suffix .llvm.. With this patch,
the number of promoted functions is 2, 98% reduction from the
original kernel build.
If some native objects are not participating with LTO, name promotions
have to be done to avoid potential linker issues. So the current
implementation cannot be on by default. But in certain cases, e.g., linux kernel
build, people can enable lld flag --lto-whole-program-visibility to reduce the
number of functions like foo.llvm.().
For ThinLTOCodeGenerator.cpp which is used by llvm-lto tool and a
few other rare cases, reducing the number of renaming due to promotion,
is not implemented as lld flag '-lto-whole-program-visibility' is not
supported in ThinLTOCodeGenerator.cpp for now. In summary, this pull
request only supports llvm-lto2 style workflow.
The feature is off by default. To enable the future, lld flag
'-lto-whole-program-visibility' and llvm flag
'-always-rename-promoted-locals=false' are needed.
The link [3] has more context for the pull request discussions.
[1] https://lpc.events/event/19/contributions/2212
[2] https://discourse.llvm.org/t/rfc-avoid-functions-like-foo-llvm-for-kernel-live-patch/89400
[3] https://github.com/llvm/llvm-project/pull/178587
Commit: 4a602c03ea050d7adf666d5a440164ca6f78707c
https://github.com/llvm/llvm-project/commit/4a602c03ea050d7adf666d5a440164ca6f78707c
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lldb/docs/index.rst
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.h
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ThreadFreeBSDKernelCore.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][Process/FreeBSDKernelCore] Add riscv64 support (#180670)
This is LLDB version of
https://cgit.freebsd.org/ports/tree/devel/gdb/files/kgdb/riscv-fbsd-kern.c.
This enables selecting riscv64 and reading registers from PCB structure
on core dump and live kenrel debugging while trapframe unwinding support
will be implemented in future. Test files using core dump from riscv64
will be implemented once other kernel debugging improvements are done.
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: 59ba10b9d38a27e6783a64f21c0a4f56bccae126
https://github.com/llvm/llvm-project/commit/59ba10b9d38a27e6783a64f21c0a4f56bccae126
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/test/Dialect/SPIRV/IR/types.mlir
Log Message:
-----------
[mlir][spirv] Fix crash when spirv.struct member type is not a SPIR-V type (#183942)
When parsing a spirv.struct type, any MLIR type was accepted as a member
type without validation. This caused a crash in TypeExtensionVisitor and
TypeCapabilityVisitor which unconditionally used cast<SPIRVType> on
struct element types, asserting when a non-SPIR-V type (e.g.,
vector<2x2xi1>) was encountered.
Fix the parser to reject non-SPIR-V member types with a proper error
message.
Fixes #179675
Commit: a0fb4f67084839d0209a303b223217a04532fd48
https://github.com/llvm/llvm-project/commit/a0fb4f67084839d0209a303b223217a04532fd48
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
Log Message:
-----------
[lldb] Add BytecodeSection class to formatter_bytecode.py (#183876)
Changes `formatter_bytecode.compile_file` to return a `BytecodeSection`
value. The `BytecodeSection` holds the data that needs to be emitted to
an `__lldbformatters` section.
The `BytecodeSection` currently provides `write_binary`, but will be
updated in a follow up commit to include `write_source` which will allow
the data to be emitted as C source code, or Swift source code. This will
make it easier to integrate into build systems, as it's easier to get
data into a binary via source code, than as a raw binary file.
Commit: df616fbe1c908b6c79b81599e0a6ec9d0137543c
https://github.com/llvm/llvm-project/commit/df616fbe1c908b6c79b81599e0a6ec9d0137543c
Author: Gabriele Mondada <gab at ijk.ch>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lldb/tools/lldb-dap/EventHelper.cpp
Log Message:
-----------
[lldb][lldb-dap] Correctly format lldb warnings in the debug console (#173852)
Trivial change to prevent all warnings from being printed on a single
line in the VS Code debug console.
Commit: b72d8ac98c6eee51ac66bc865c81a23a16c37731
https://github.com/llvm/llvm-project/commit/b72d8ac98c6eee51ac66bc865c81a23a16c37731
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[DAG] isKnownNeverZero - add ISD::EXTRACT_VECTOR_ELT handling (#183961)
Initialize DemandedElts mask when the index is constant and inbounds, otherwise check all elements.
Commit: 20f36a2ff10fd5c4ca821a3382b44440a6429b88
https://github.com/llvm/llvm-project/commit/20f36a2ff10fd5c4ca821a3382b44440a6429b88
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
Log Message:
-----------
[MLIR][GPU] Improve error message on invalid pass option
This provides a more helpful message to the user when passing invalid command
line options
Commit: 2c3d5f958f22965a1b7f76aac97467fdf4f4a8d1
https://github.com/llvm/llvm-project/commit/2c3d5f958f22965a1b7f76aac97467fdf4f4a8d1
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/test/ParserOpenACC/parse-constructs.cpp
A clang/test/SemaCXX/GH175783.cpp
Log Message:
-----------
[clang] use typo-corrected name qualifier for expressions (#183937)
Fixes #175783
Commit: 0b423a5b2738a795d8033398ca0959d36cee0e06
https://github.com/llvm/llvm-project/commit/0b423a5b2738a795d8033398ca0959d36cee0e06
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/test/Dialect/GPU/module-to-binary-invalid-format.mlir
Log Message:
-----------
[MLIR] Fix invalid test after improving the error message (NFC)
Commit: 910988b9f15ce8c4b3a383e925c7c0ab0ef52f2f
https://github.com/llvm/llvm-project/commit/910988b9f15ce8c4b3a383e925c7c0ab0ef52f2f
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/amdpal-chain-metadata.ll
Log Message:
-----------
[AMDGPU] Stop treating AMDGPU_CS_ChainPreserve as a module entry funtion (#183718)
Starting with AMD PAL metadata v3.6, pipeline ELFs cannot have a
`.shader_functions` section. However, dynamic VGPR retry helpers use
the `AMDGPU_CS_ChainPreserve` calling convention, which LLVM previously
treated as a module entrypoint, incorrectly emitting this metadata.
Commit: 4673cecc89d1a2260edcff2808ed46de7bc0435d
https://github.com/llvm/llvm-project/commit/4673cecc89d1a2260edcff2808ed46de7bc0435d
Author: Twice <twice at apache.org>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/include/mlir-c/Rewrite.h
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/CAPI/Transforms/Rewrite.cpp
A mlir/test/python/integration/dialects/bf.py
Log Message:
-----------
[MLIR][Python] Add support of `convert_region_types` and the bf integration test (#183664)
This PR adds the `convert_region_types` API to
`ConversionPatternRewriter` and introduces a new integration test,
`bf.py`, which demonstrates how to combine a Python-defined dialect, the
dialect conversion API, the pass manager, and the execution engine to
build a pure-Python JIT compilation pipeline.
Commit: da8d18190530be7265bdb15b29cf0c654095c26c
https://github.com/llvm/llvm-project/commit/da8d18190530be7265bdb15b29cf0c654095c26c
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M libc/shared/math/asinf16.h
M libc/shared/math/asinhf16.h
M libc/shared/math/asinpif16.h
M libc/shared/math/atanf16.h
M libc/shared/math/atanhf16.h
M libc/shared/math/bf16fmaf128.h
M libc/shared/math/bf16mul.h
M libc/shared/math/bf16mulf.h
M libc/shared/math/bf16mulf128.h
M libc/shared/math/bf16mull.h
M libc/shared/math/bf16sub.h
M libc/shared/math/bf16subf.h
M libc/shared/math/bf16subf128.h
M libc/shared/math/ceil.h
M libc/shared/math/ceilbf16.h
M libc/shared/math/ceilf.h
M libc/shared/math/ceilf128.h
M libc/shared/math/ceilf16.h
M libc/shared/math/ceill.h
M libc/shared/math/cosf16.h
M libc/shared/math/coshf16.h
M libc/shared/math/cospif16.h
M libc/shared/math/dfmal.h
M libc/shared/math/exp10f16.h
M libc/shared/math/exp10m1f16.h
M libc/shared/math/exp2f16.h
M libc/shared/math/exp2m1f16.h
M libc/shared/math/expf16.h
M libc/shared/math/expm1f16.h
M libc/shared/math/f16div.h
M libc/shared/math/f16divf.h
M libc/shared/math/f16divf128.h
M libc/shared/math/f16divl.h
M libc/shared/math/f16fma.h
M libc/shared/math/f16fmaf.h
M libc/shared/math/f16fmaf128.h
M libc/shared/math/f16fmal.h
M libc/shared/math/f16mul.h
M libc/shared/math/f16mulf.h
M libc/shared/math/f16mulf128.h
M libc/shared/math/f16mull.h
M libc/shared/math/f16sqrtf128.h
M libc/shared/math/f16sqrtl.h
M libc/shared/math/f16sub.h
M libc/shared/math/f16subf.h
M libc/shared/math/f16subf128.h
M libc/shared/math/f16subl.h
M libc/shared/math/fadd.h
M libc/shared/math/faddf128.h
M libc/shared/math/faddl.h
M libc/shared/math/fdim.h
M libc/shared/math/fdimbf16.h
M libc/shared/math/fdimf.h
M libc/shared/math/fdimf128.h
M libc/shared/math/fdimf16.h
M libc/shared/math/fdiml.h
M libc/shared/math/floor.h
M libc/shared/math/floorbf16.h
M libc/shared/math/floorf.h
M libc/shared/math/floorf128.h
M libc/shared/math/floorf16.h
M libc/shared/math/floorl.h
M libc/shared/math/fmax.h
M libc/shared/math/fmaxbf16.h
M libc/shared/math/fmaxf.h
M libc/shared/math/fmaxf128.h
M libc/shared/math/fmaxf16.h
M libc/shared/math/fmaxl.h
M libc/shared/math/frexpf16.h
M libc/shared/math/fsqrtf128.h
M libc/shared/math/getpayload.h
M libc/shared/math/getpayloadbf16.h
M libc/shared/math/getpayloadf.h
M libc/shared/math/getpayloadf128.h
M libc/shared/math/getpayloadf16.h
M libc/shared/math/getpayloadl.h
M libc/shared/math/hypotf.h
M libc/shared/math/hypotf16.h
M libc/shared/math/ilogbf.h
M libc/shared/math/ilogbf16.h
M libc/shared/math/ldexpf16.h
M libc/shared/math/log.h
M libc/shared/math/log10.h
M libc/shared/math/log1p.h
M libc/shared/math/log2.h
M libc/shared/math/logb.h
M libc/shared/math/logbf.h
M libc/shared/math/logbf128.h
M libc/shared/math/logbf16.h
M libc/shared/math/logf16.h
M libc/shared/math/setpayload.h
M libc/shared/math/setpayloadbf16.h
M libc/shared/math/setpayloadf.h
M libc/shared/math/setpayloadf128.h
M libc/shared/math/setpayloadf16.h
M libc/shared/math/setpayloadl.h
M libc/shared/math/setpayloadsig.h
M libc/shared/math/setpayloadsigbf16.h
M libc/shared/math/setpayloadsigf.h
M libc/shared/math/setpayloadsigf128.h
M libc/shared/math/setpayloadsigf16.h
M libc/shared/math/setpayloadsigl.h
M libc/shared/math/sinhf16.h
M libc/shared/math/tanpif16.h
Log Message:
-----------
[libc][math] Cleanup shared/math (#183971)
Commit: c35a726ca9795928e419044e6349edf6b73b6cd0
https://github.com/llvm/llvm-project/commit/c35a726ca9795928e419044e6349edf6b73b6cd0
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/test/TableGen/builtin-docs.td
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
Log Message:
-----------
[Clang][TableGen] Sort undocumented builtins after documented ones in generated docs (#183938)
The builtin documentation emitter previously sorted all categories
purely alphabetically, which placed the "Undocumented" section before
categories like "WMMA" in the generated RST. This made the output
confusing since stub entries appeared before real documentation.
Push the "Undocumented" category to the end of the output so that all
documented categories appear first, regardless of their names.
Commit: bf4ed7903aee3690977f1865fb5509f74f3f860c
https://github.com/llvm/llvm-project/commit/bf4ed7903aee3690977f1865fb5509f74f3f860c
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/initializer_list
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/memory
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/vector
M clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_std.h
M clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges-pipe.cpp
M clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/dangling-handle.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unchecked-optional-access.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/use-ranges.cpp
R clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/smart-ptr/initializer_list.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-default-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-random-shuffle.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/return-braced-init-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/shrink-to-fit.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace-ignore-implicit-constructors.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges-pipe.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx14.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-data-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get.cpp
Log Message:
-----------
[clang-tidy][NFC] Use singe mock vector header in tests (#183963)
In new tests we should encourage to use these "source of truth" files if
possible.
Commit: b2ce908a48e0ab6b0404742f38e5e5d0ee51cc2f
https://github.com/llvm/llvm-project/commit/b2ce908a48e0ab6b0404742f38e5e5d0ee51cc2f
Author: Reagan <xbjfk.github at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/gwp_asan/CMakeLists.txt
M compiler-rt/lib/msan/tests/CMakeLists.txt
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
Log Message:
-----------
[compiler-rt][CMake] Fix build when specifying --stdlib= (with 2 dashes) (#136111)
You can pass the stdlib argument either as -stdlib and --stdlib - the
previous regex did not account for this however - which caused the build
to fail, as a --stdlib argument would be replaced with a single dash,
causing clang to assume reading from stdin and the build to fail:
clang++: error: -E or -x required when input is from standard input
clang++: error: cannot specify -o when generating multiple output files
The files
[libcxxabi/CMakeLists.txt](https://github.com/llvm/llvm-project/blob/bf6986f9f09f79da38006a83c339226c429bb686/libcxxabi/CMakeLists.txt#L261)
and
[libunwind/CMakeLists.txt](https://github.com/llvm/llvm-project/blob/bf6986f9f09f79da38006a83c339226c429bb686/libunwind/CMakeLists.txt#L257)
account for this by removing --stdlib first.
Co-authored-by: Vitaly Buka <vitalybuka at google.com>
Commit: 10b1b7857b0564c447054ed5f451729230280f54
https://github.com/llvm/llvm-project/commit/10b1b7857b0564c447054ed5f451729230280f54
Author: MacGyver Codilla <77024043+39otsu at users.noreply.github.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M compiler-rt/test/asan/TestCases/fakeframe-right-redzone.cpp
M compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
Log Message:
-----------
[ASan] Mark recent integration tests as accordingly for MSVC (#135889)
Both of these tests will cause an unsuccessful pass when using msvc.
`shadowed-stack-serialization.cpp` - XFAIL due to the metadata not being
generated.
`fakeframe-right-redzone.cpp` - UNSUPPORTED due to the optimization
limitations of the msvc compiler.
---------
Co-authored-by: MacGyver Codilla <mcodilla at microsoft.com>
Commit: d412b04a883c7d6212edf1d678349689cb7d723b
https://github.com/llvm/llvm-project/commit/d412b04a883c7d6212edf1d678349689cb7d723b
Author: Benjamin Stott <Benjamin.Stott at sony.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M compiler-rt/lib/ubsan/ubsan_diag.h
Log Message:
-----------
[UBSan] Wrap Location variants in anonymous union (#168866)
(Addresses the FIXME)
Commit: b872179bebe7a9aa42163fdb3334ab9e388c9dfd
https://github.com/llvm/llvm-project/commit/b872179bebe7a9aa42163fdb3334ab9e388c9dfd
Author: Xavier Roche <roche at httrack.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
A llvm/test/CodeGen/AArch64/bitcnt-i256.ll
A llvm/test/CodeGen/AArch64/cmp-i256.ll
A llvm/test/CodeGen/AArch64/div-i256.ll
A llvm/test/CodeGen/AArch64/mul-i256.ll
A llvm/test/CodeGen/AArch64/shift-i256.ll
Log Message:
-----------
[AArch64][test] Add i256 codegen baseline tests (#183587)
## Summary
Add baseline codegen tests for i256 operations on AArch64:
- `bitcnt-i256.ll`: ctpop, ctlz, cttz, Hamming distance, parity (3 RUN
lines: +neon, +sve, +cssc)
- `cmp-i256.ll`: 8 icmp variants (slt/sgt/sle/sge/ult/ugt/ule/uge) +
select
- `div-i256.ll`: udiv, sdiv, urem, srem, power-of-2, and constant
division
- `mul-i256.ll`: multiply, multiply-by-constant, add, sub, and, or, xor
- `shift-i256.ll`: variable shl/lshr/ashr, constant shifts, narrow (i32)
amounts
These are test-only NFC pre-patches for `__int256` builtin type support
(#182733). i256 is already a valid LLVM IR type; these tests capture the
current baseline codegen. The main PR will update the CHECK lines to
show codegen improvements (e.g., direct libcall routing for
division/multiply).
## Test plan
- All 5 tests pass with `llvm-lit` on upstream `main` (generated with
`update_llc_test_checks.py` using upstream `llc`)
## AI Disclosure
This patch was developed with assistance from Claude (Anthropic). All
commits carry `Assisted-by: Claude (Anthropic)` and `Co-Authored-By:
Claude Opus 4.6 <noreply at anthropic.com>` trailers, per the [LLVM AI Tool
Policy](https://llvm.org/docs/DeveloperPolicy.html#use-of-ai-generated-contributions).
All code has been reviewed and validated by the author.
---------
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: 9ffa08f097d45a36a50d5a8066d00488db3596ed
https://github.com/llvm/llvm-project/commit/9ffa08f097d45a36a50d5a8066d00488db3596ed
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/test/mlir-tblgen/op-properties-predicates.td
Log Message:
-----------
[mlir][NFC] Fix typo in property predicate tests (#183987)
Commit: d74c6b1176e92b1741bb3275c2befbe76b7449e9
https://github.com/llvm/llvm-project/commit/d74c6b1176e92b1741bb3275c2befbe76b7449e9
Author: Matthias Springer <me at m-sp.org>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/IR/BuiltinTypeInterfaces.h
M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/Support/InterfaceSupport.h
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/IR/BuiltinTypeInterfaces.cpp
M mlir/lib/IR/BuiltinTypes.cpp
A mlir/test/IR/dense-elements-type-interface.mlir
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/test/lib/Dialect/Test/TestTypes.h
Log Message:
-----------
[mlir][IR] Generalize `DenseElementsAttr` to custom element types (#183920)
`DenseElementsAttr` supports only a hard-coded list of element types:
`int`, `index`, `float`, `complex`. This commit generalizes the
`DenseElementsAttr` infrastructure: it now supports arbitrary element
types, as long as they implement the new `DenseElementTypeInterface`.
The `DenseElementTypeInterface` has the following helper functions:
- `getDenseElementBitSize`: Query the size of an element in bits. (When
storing an element in memory, each element is padded to a full byte.
This is an existing limitation of the `DenseElementsAttr`; with an
exception for `i1`.)
- `convertToAttribute`: Attribute factory / deserializer. Converts bytes
into an MLIR attribute. The attribute provides the assembly format /
printer for a single element.
- `convertFromAttribute`: Serializer. Converts an MLIR attribute into
bytes.
Note: `convertToAttribute` / `convertFromAttribute` are mainly for
writing test cases. For performance reasons, `DenseElementsAttr` users
should work with raw bytes / elements and avoid any API that
materializes MLIR attributes. However, MLIR attributes typically have
human-readable parsers/printers, making them suitable for lit tests and
debugging.
This PR introduces an additional assembly format for
`DenseElementsAttrs`. There are now two formats. (The existing one is
kept for compatibility reasons.)
- Literal-first (existing): `dense<[1, 2, 3]> : tensor<3xi32>`
- Type-first (new): `dense<tensor<3xi32> : [1 : i32, 2 : i32, 3 : i32]>`
The new syntax is needed to disambiguate between "literal" (e.g., `1`)
and attribute (e.g., `1 : i32`) when parsing the first token. In the
literal-first syntax, we only parse literals. In the type-first syntax,
we only parse attributes.
The existing `int`, `index`, `float`, `complex` types also implement the
`DenseElementTypeInterface`. This allows us to implement
`DenseElementsAttr::get` and `AttributeElementIterator::operator*` in a
generic way.
RFC:
https://discourse.llvm.org/t/rfc-allow-custom-element-types-in-denseelementattr/89656
This is a re-upload of #179122.
Commit: 5768ee2dcdad1bba9763361313ccce5641497033
https://github.com/llvm/llvm-project/commit/5768ee2dcdad1bba9763361313ccce5641497033
Author: fogsong233 <fogsong233 at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/lib/Interpreter/IncrementalParser.cpp
A clang/test/Interpreter/incremental-c-implicit-error.c
A clang/test/Interpreter/incremental-c-implicit-undo.c
Log Message:
-----------
[clang-repl] fix CleanUpPTU by removing decl according to C implicitly FuncitonDecl. (#178648)
fix #171440
---------
Co-authored-by: Vassil Vassilev <v.g.vassilev at gmail.com>
Commit: 0f63db5c665b77c943ed19d2615f94dbf24cfb7a
https://github.com/llvm/llvm-project/commit/0f63db5c665b77c943ed19d2615f94dbf24cfb7a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
Log Message:
-----------
Attributor: Avoid calling identifyDefaultAbstractAttributes on declarations (#182663)
Previously it would be called and inserted into a visited map,
but would never be used. This could possibly go one step further
and never add declarations to the SetVector of Functions. If I try
that, only one call graph printing test fails.
Commit: d68d47db7b5a08f1722cc03ccfbc1bf441b34fe2
https://github.com/llvm/llvm-project/commit/d68d47db7b5a08f1722cc03ccfbc1bf441b34fe2
Author: David Green <david.green at arm.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/test/CodeGen/ARM/bfx.ll
M llvm/test/CodeGen/ARM/extract-bits.ll
M llvm/test/CodeGen/ARM/fpclamptosat_vec.ll
M llvm/test/CodeGen/ARM/vector-DAGCombine.ll
M llvm/test/CodeGen/ARM/vector-store.ll
M llvm/test/CodeGen/ARM/vext.ll
M llvm/test/CodeGen/ARM/vselect_imax.ll
M llvm/test/CodeGen/ARM/vtrn.ll
M llvm/test/CodeGen/Thumb/pr35836.ll
M llvm/test/CodeGen/Thumb/pr35836_2.ll
M llvm/test/CodeGen/Thumb/umulo-128-legalisation-lowering.ll
M llvm/test/tools/llvm-mca/ARM/cortex-a57-basic-instructions.s
M llvm/test/tools/llvm-mca/ARM/cortex-a57-neon-instructions.s
M llvm/test/tools/llvm-mca/ARM/cortex-a57-thumb.s
M llvm/test/tools/llvm-mca/ARM/m4-int.s
M llvm/test/tools/llvm-mca/ARM/m55-int.s
M llvm/test/tools/llvm-mca/ARM/m7-int.s
M llvm/test/tools/llvm-mca/ARM/m85-int.s
M llvm/test/tools/llvm-mca/ARM/simple-cortex-m33.s
Log Message:
-----------
[ARM] Explicitly mark certain instructions as having no side effects. (#182771)
This goes through some Arm instructions and adds hasSideEffects = 0 to
ones where it was not already implied. This should help with scheduling
and instruction movement.
Commit: 6fa90a3f7e893fa83880f42a76ec2346917e331f
https://github.com/llvm/llvm-project/commit/6fa90a3f7e893fa83880f42a76ec2346917e331f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/lib/IR/SymbolTable.cpp
M mlir/test/Dialect/IRDL/invalid.irdl.mlir
Log Message:
-----------
[MLIR][SymbolTable] Fix crash when SymbolTable is built on unverified IR (#183945)
The SymbolTable::SymbolTable constructor asserted that all symbol names
in the region were unique. This could cause mlir-opt to crash instead of
producing a proper diagnostic when the IR contained both:
1. An IsolatedFromAbove op (e.g., irdl.dialect) with a symbol user that
looks up symbols in an ancestor symbol table, and
2. Duplicate symbols in that ancestor (e.g., two func.func @test).
The crash occurred because IsolatedFromAbove ops are verified in
verifyOnExit() before verifyRegionInvariants() runs the SymbolTable
trait's verifyRegionTrait (which produces the proper duplicate-symbol
diagnostic). When the isolated op's symbol use verification triggered
SymbolTableCollection::getSymbolTable() on the ancestor, the constructor
would assert instead of gracefully handling the invalid-but-not-yet-
reported duplicate symbols.
The fix removes the assertion and silently skips duplicate symbol
insertions (keeping the first definition). The proper diagnostic is
still produced by the SymbolTable trait's verifyRegionTrait, which runs
after all children have been verified.
Add a regression test in invalid.irdl.mlir using a self-referencing IRDL
parametric type combined with duplicate function symbols.
Fixes #159673
Commit: 74c0ee7e72bf62589c4dfa6f4601887bafa82d7c
https://github.com/llvm/llvm-project/commit/74c0ee7e72bf62589c4dfa6f4601887bafa82d7c
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/CostModel.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[TTI] Remove TargetLibraryInfo from IntrinsicCostAttributes (NFC) (#183764)
This is a remnant from when `sincos` costs used the vector mappings from
`TargetLibraryInfo::getVectorMappingInfo`.
Commit: 9801e752024ff641d2f7fea308d5cc078d74794e
https://github.com/llvm/llvm-project/commit/9801e752024ff641d2f7fea308d5cc078d74794e
Author: David Green <david.green at arm.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/test/tools/llvm-mca/ARM/simple-cortex-m33.s
Log Message:
-----------
[ARM] tADDrSPi no side effects change (#183071)
This is pulled out of #182771 in case it causes issues. The mis-compile
I believe is no longer present, as tADDrSPi is used in several test
cases which do not change due to of marking tADDrSPi as not affect side
effects.
Commit: 2cb2fe7f2a1dfd51642651264c644e213809cb0b
https://github.com/llvm/llvm-project/commit/2cb2fe7f2a1dfd51642651264c644e213809cb0b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/invalid.mlir
Log Message:
-----------
[mlir][scf] Fix crash in ForOp verifier when body block has no arguments (#183946)
A malformed `scf.for` whose body block contains no arguments caused
`getRegionIterArgs()` to crash via an out-of-bounds `drop_front(1)`
call. This happened because `verifyLoopLikeOpInterface` (a
`verifyRegionTrait`) invokes `getRegionIterArgs()` during
`verifyRegionInvariants`, which runs before `verifyRegions()` has a
chance to report a proper diagnostic.
Fix by adding an explicit check in `ForOp::verify()` (which runs in
`verifyInvariants`, before any region trait verifiers execute) that
ensures the body block has at least as many arguments as there are
induction variables. This prevents the crash and produces a clear error
message.
Fixes #159737
Commit: b7e20442d5edc768c986cc1f3363ab76cd9d7281
https://github.com/llvm/llvm-project/commit/b7e20442d5edc768c986cc1f3363ab76cd9d7281
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/include/mlir/IR/OpBase.td
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/mlir-tblgen/types.mlir
Log Message:
-----------
[MLIR][ODS] Fix AllElementCountsMatch crash on dynamic shaped types (#183948)
The AllElementCountsMatch trait called ShapedType::getNumElements() on
operands or results with dynamic dimensions, which unconditionally
asserts hasStaticShape(). This caused mlir-opt to crash instead of
failing gracefully when the trait was used with dynamically-shaped
types.
Fix this by rewriting AllElementCountsMatch to use an And<> predicate
combining Neg<AnyMatchOperatorPred> (requiring all types to be
statically shaped) with AllMatchSameOperatorPred (requiring equal
element counts). When any type has dynamic dimensions the verification
now fails with a diagnostic instead of crashing.
Update the regression test to expect a verification failure rather than
success when dynamic shapes are present.
Fixes #159740
Commit: 785490e9db54ef03988d8e9fe56aab45e4b29129
https://github.com/llvm/llvm-project/commit/785490e9db54ef03988d8e9fe56aab45e4b29129
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/include/mlir/Transforms/Passes.h
M mlir/include/mlir/Transforms/Passes.td
M mlir/include/mlir/Transforms/ViewOpGraph.h
M mlir/lib/Transforms/CSE.cpp
M mlir/lib/Transforms/Canonicalizer.cpp
M mlir/lib/Transforms/ControlFlowSink.cpp
M mlir/lib/Transforms/GenerateRuntimeVerification.cpp
M mlir/lib/Transforms/InlinerPass.cpp
M mlir/lib/Transforms/LoopInvariantCodeMotion.cpp
M mlir/lib/Transforms/OpStats.cpp
M mlir/lib/Transforms/PrintIR.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/lib/Transforms/SCCP.cpp
M mlir/lib/Transforms/StripDebugInfo.cpp
M mlir/lib/Transforms/SymbolDCE.cpp
M mlir/lib/Transforms/SymbolPrivatize.cpp
M mlir/lib/Transforms/TopologicalSort.cpp
M mlir/lib/Transforms/ViewOpGraph.cpp
M mlir/test/CAPI/pass.c
M mlir/test/Pass/ir-printing.mlir
M mlir/test/Pass/pass-timing.mlir
M mlir/test/Pass/run-reproducer.mlir
M mlir/test/Transforms/composite-pass.mlir
M mlir/test/python/pass_manager.py
Log Message:
-----------
[MLIR] Remove `let constructor = ` from mlir/include/mlir/Transforms/Passes.td (#183950)
This makes the constructor auto-generated.
Commit: 0ba4f13b264a385ffdcdcb77c935f6c503ba62df
https://github.com/llvm/llvm-project/commit/0ba4f13b264a385ffdcdcb77c935f6c503ba62df
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/test/Dialect/Affine/invalid-reify-bound-dim.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
Log Message:
-----------
[mlir][test] Fix crash in ReifyBoundOp with invalid 'type' attribute (#184004)
The `ReifyBoundOp::getBoundType()` called `llvm_unreachable("invalid
bound type")` when the `type` attribute was set to a value other than
"EQ", "LB", or "UB" (e.g., "scalable"). This caused an abort instead of
a user-visible diagnostic.
Add a verification check that rejects invalid `type` values with a
proper error message before `getBoundType()` is ever called.
Fixes #128805
Commit: 2c9720972e90fce4a5409cac9d9141c048a64632
https://github.com/llvm/llvm-project/commit/2c9720972e90fce4a5409cac9d9141c048a64632
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/CMakeLists.txt
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/include/mlir/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
M mlir/test/lit.site.cfg.py.in
M mlir/test/python/ir/auto_location.py
A mlir/test/python/ir/auto_location_stable_abi.py
Log Message:
-----------
[mlir][python] Add stable ABI (abi3) support (#183856)
Add `MLIR_ENABLE_PYTHON_STABLE_ABI` cmake flag to build bindings against
the Python limited/stable API (abi3 / PEP 384). This allow for
compatibility across different >=3.12 versions with a single .so /
wheel. We also require CMake >=3.26.
The stable ABI restricts usage to a subset of the CPython C API: frame
and code object structs are opaque, so introspection APIs like
`PyCode_Addr2Location`, `PyFrame_GetLasti`, and `PyFrame_GetCode` are
unavailable. The traceback-based auto-location logic is dropped because
we don’t have stable ABI to produce complete locations.
Assisted-by: claude
Commit: 3bdee9b5576bd0b64da9501c267d4b40d768be9a
https://github.com/llvm/llvm-project/commit/3bdee9b5576bd0b64da9501c267d4b40d768be9a
Author: Valeriy Savchenko <vsavchenko at apple.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
M llvm/test/Transforms/GVN/PRE/pre-loop-load-through-select.ll
A llvm/test/Transforms/GVN/load-select-addr-store-fwd.ll
Log Message:
-----------
[GVN] Forward store values through select addresses in findDominatingValue (#183316)
## Alive2 proof
https://alive2.llvm.org/ce/z/v6pX7C
Commit: 49b77e3b45555b022d0a0e2aac239708d706ae10
https://github.com/llvm/llvm-project/commit/49b77e3b45555b022d0a0e2aac239708d706ae10
Author: Valeriy Savchenko <vsavchenko at apple.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AArch64/fold-signbit-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/RISCV/fold-signbit-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/X86/fold-signbit-reduction-cmp.ll
Log Message:
-----------
[VectorCombine] Fold sign-bit check for multiple vectors (#182911)
## Alive2 proofs
| Reduction | Shift | Cmp | Sources | Proof |
|-----------|-------|----------|---------|-------|
| add | lshr | == 0 | 2 | [proof](https://alive2.llvm.org/ce/z/f44vco) |
| add | lshr | == 8 | 2 | [proof](https://alive2.llvm.org/ce/z/Ks_nea) |
| add | ashr | == 0 | 2 | [proof](https://alive2.llvm.org/ce/z/ZsXJ5k) |
| add | ashr | == -8 | 2 | [proof](https://alive2.llvm.org/ce/z/HZfans)
|
| add | lshr | == 0 | 3 | [proof](https://alive2.llvm.org/ce/z/x-dEdz) |
| add | lshr | == 12 | 3 | [proof](https://alive2.llvm.org/ce/z/sfNvhr)
|
These proofs are not very exhaustive, but somewhat show that it works
for addition. Apart from the fact that we use multiple vectors, the
proofs from the previous changes generally apply here as well because we
effectively match on reductions of size M x N.
Commit: a6e7c38ea6310ef8d8e6ba0d8158d7d1f4e28f5b
https://github.com/llvm/llvm-project/commit/a6e7c38ea6310ef8d8e6ba0d8158d7d1f4e28f5b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/revec-select-scalar-vector-cond.ll
Log Message:
-----------
[SLP]Do not vectorize select nodes with scalar and vector conditions
If the select nodes contains selects with mixed scalar/vector
conditions, such nodes should not be revectorized.
Fixes #170836
Commit: 7b26069828aa88064b92f73f764b708754e441ec
https://github.com/llvm/llvm-project/commit/7b26069828aa88064b92f73f764b708754e441ec
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
Log Message:
-----------
[VPlan] Pass ForceTargetInstructionCost insted of NumOccurences.
Update code incorrectly passing
ForceTargetInstructionCost.getNumOccurrences().
Fixes a cost-divergence with legacy cost model.
Commit: 9730d3128435350c5ef90c198979df25004ccc1f
https://github.com/llvm/llvm-project/commit/9730d3128435350c5ef90c198979df25004ccc1f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/revec-reductions.ll
Log Message:
-----------
[SLP]Fix types for reductions in revec
Need to consider vector inputs, when building casts for the reduced
values
Fixes #170828
Commit: 320220e48b8f1054ce7a37c8b2a528315080e29c
https://github.com/llvm/llvm-project/commit/320220e48b8f1054ce7a37c8b2a528315080e29c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
M llvm/test/Transforms/LoopVectorize/predicated-early-exits-interleave.ll
M llvm/test/Transforms/LoopVectorize/predicated-multiple-exits.ll
M llvm/test/Transforms/LoopVectorize/unsupported_early_exit.ll
Log Message:
-----------
[VPlan] Support arbitrary predicated early exits. (#182396)
This removes the restriction requiring a single predicated early exit.
Using MaskedCond, we only combine early-exit conditions with block
masks from non-exiting control flow.
This means we have to ensure that we check the early exit conditions in
program order, to make sure we take the first exit in program order that
exits at the first lane for the combined exit condition.
To do so, sort the exits by their reverse post-order numbers.
Depends on https://github.com/llvm/llvm-project/pull/182395
PR: https://github.com/llvm/llvm-project/pull/182396
Commit: ae7916539918544655bd92b7f9a05b48563483b4
https://github.com/llvm/llvm-project/commit/ae7916539918544655bd92b7f9a05b48563483b4
Author: Dave Bartolomeo <dave_bartolomeo at apple.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftCXXABI.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/test/CodeGenObjC/aarch64-sve-types.m
Log Message:
-----------
[clang][NFC][diagnostics] Remove several uses of `getCustomDiagID()` (#172532)
This change converts all existing uses of `getCustomDiagID()` within the
`clang/AST` library into regular diagnostics defined in
`DiagnosticASTKinds.td`.
This is mostly just cleanup, but it will also help with future changes
to the diagnostic system by letting us focus on the custom diagnostic
scenarios that _don't_ fit into the usual pre-declared diagnostic
scenario.
Commit: 02c7a6cd7f35a9ad5d1c650b4f56593db1210641
https://github.com/llvm/llvm-project/commit/02c7a6cd7f35a9ad5d1c650b4f56593db1210641
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll
Log Message:
-----------
[SLP][NFC]Add tests for bitcasts/bswaps with large target type
Commit: 451529778d428ee691ce699c5ae8acfa9b9ea6c4
https://github.com/llvm/llvm-project/commit/451529778d428ee691ce699c5ae8acfa9b9ea6c4
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/sugar-common-types.c
Log Message:
-----------
[clang] fix common type calculation for l-values of 'void' type (#183972)
Fixes #111300
Commit: e4301c48fdd95f43644d84868f560b291d46bc60
https://github.com/llvm/llvm-project/commit/e4301c48fdd95f43644d84868f560b291d46bc60
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fix windows stack space on llvm driver link (#182998)
Bazel was missing this logic from cmake:
https://github.com/llvm/llvm-project/blob/cd200c8dfae0de1602b59011381377d147a86bdb/llvm/cmake/modules/HandleLLVMOptions.cmake#L567-L580
Commit: 3041c90718df44617382af80c3b1fc8d68ce9f2c
https://github.com/llvm/llvm-project/commit/3041c90718df44617382af80c3b1fc8d68ce9f2c
Author: Matthias Springer <me at m-sp.org>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/fold-constant-extract-slice.mlir
Log Message:
-----------
[mlir][tensor] Remove hard-coded types from `ConstantOpExtractSliceFolder` (#184013)
Use the `Attribute` API, which works with arbitrary element types.
Commit: a13afe84bb4240608b9ce822918c43e689d63b47
https://github.com/llvm/llvm-project/commit/a13afe84bb4240608b9ce822918c43e689d63b47
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll
Log Message:
-----------
[SLP][NFC]Add more bitcast/bswap tests with immediate loads, NFC
Commit: 48209b6777be924b4384f2fc3148d713ac3f411c
https://github.com/llvm/llvm-project/commit/48209b6777be924b4384f2fc3148d713ac3f411c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[DAG] isKnownToBeAPowerOfTwo - add ISD::EXTRACT_VECTOR_ELT handling (#183924)
Initialize DemandedElts mask when the index is constant and inbounds, otherwise check all elements.
Commit: 1dc85c60410f8366e59fd518afa1d9cf22a909e6
https://github.com/llvm/llvm-project/commit/1dc85c60410f8366e59fd518afa1d9cf22a909e6
Author: Daniil Dudkin <unterumarmung at yandex.ru>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
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/LexerUtilsTest.cpp
Log Message:
-----------
[clang-tidy][NFC] Add `getCommentsInRange` utility (#183940)
Commit: 3cf53f684d511c5e31b27ab40397f24efaba1866
https://github.com/llvm/llvm-project/commit/3cf53f684d511c5e31b27ab40397f24efaba1866
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
Log Message:
-----------
[LV] Handle sunk reverse VPInstruction in planContainsAdditionalSimps.
Licm can now sink reverse VPInstructions outside the loop region; they
won't be considered when computing costs. Account for that in
planContainsAdditionalSimplifications.
Fixes https://github.com/llvm/llvm-project/issues/183592.
Commit: f62adea305d6e0a9307fa69943c625f407a73688
https://github.com/llvm/llvm-project/commit/f62adea305d6e0a9307fa69943c625f407a73688
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Exclude new GVN test
Added in a recent PR. We still have not gotten through GVN, so this is
likely caused by existing code. Exclude it to keep the bot green.
Commit: dddd06be8c3ed10eaef4f986ec4ceb828be7e789
https://github.com/llvm/llvm-project/commit/dddd06be8c3ed10eaef4f986ec4ceb828be7e789
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
Log Message:
-----------
[NFC][Clang] Auto generate check lines for `clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl` (#183926)
Commit: d1d2a1ed76a687ae0dea54b6925bd8c104341d4a
https://github.com/llvm/llvm-project/commit/d1d2a1ed76a687ae0dea54b6925bd8c104341d4a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll
Log Message:
-----------
[SLP][NFC]Add a test with the incorrect compare, extracted from the transformed vector
Commit: cf1e76835febe1e6f1bcd5c3ebf4178b4c92dbe7
https://github.com/llvm/llvm-project/commit/cf1e76835febe1e6f1bcd5c3ebf4178b4c92dbe7
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.h
M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.h
Log Message:
-----------
[clang-tidy][NFC] Don't call `getLangOpts` in `isLanguageVersionSupported` (#184029)
This is just a little inconsistency I noticed. Basically all checks
inspect the `LangOpts` parameter, but these two ignore the parameter and
call `getLangOpts` instead.
Commit: 789bf51f0ce64c541ab0ca81d43c912cf0731628
https://github.com/llvm/llvm-project/commit/789bf51f0ce64c541ab0ca81d43c912cf0731628
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll
Log Message:
-----------
[SLP]Do not consider condition with multiple uses and negate predicate as a candidate for inversed select
If the select/zext comparison has negate predicate and is used in
several places, it should not be considered as a candidate for inversed
zext/select pattern, it will be replaced by a negate vector predicate,
leading to an incorrect codegen for other uses
Commit: d9ca61b6e7b9aa94d244b831a3cb6274d3839d1c
https://github.com/llvm/llvm-project/commit/d9ca61b6e7b9aa94d244b831a3cb6274d3839d1c
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
Log Message:
-----------
Revert "[NFC][Clang] Auto generate check lines for `clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl`" (#184035)
Reverts llvm/llvm-project#183926 because of some BB failures.
Commit: e2ef93fc5750e1d5bd15cfbac49996c8b9b5e8ff
https://github.com/llvm/llvm-project/commit/e2ef93fc5750e1d5bd15cfbac49996c8b9b5e8ff
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
R clang/test/CodeGenOpenCL/.gdb_history
Log Message:
-----------
[NFC] Remove `clang/test/CodeGenOpenCL/.gdb_history` (#184038)
Commit: f05d2e8a39987b8d87e0a7d6ef887749b5b1700e
https://github.com/llvm/llvm-project/commit/f05d2e8a39987b8d87e0a7d6ef887749b5b1700e
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/OpenMP/amdgcn-attributes.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/test/Analysis/KernelInfo/openmp/amdgpu.ll
A llvm/test/Bitcode/upgrade-uniform-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-uniform-workgroup-size-v5.ll
M llvm/test/CodeGen/AMDGPU/implicit-arg-v5-opt.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/inlineasm-sgmask.ll
M llvm/test/CodeGen/AMDGPU/invalid-hidden-kernarg-in-kernel-signature.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/mdt-preserving-crash.ll
M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/si-opt-vgpr-liverange-bug-deadlanes.mir
M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.mir
M llvm/test/CodeGen/AMDGPU/swdev-549940.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_12.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_20.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_spirv.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr_spec_const.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/constrained-comparison.ll.bak
M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[AMDGPU] Make uniform-work-group-size a valueless attribute (#183925)
The "uniform-work-group-size" function attribute previously took a
string value of "true" or "false". Since presence alone can convey the
"true" semantics and absence can convey "false", the value is
unnecessary.
This patch converts it to a valueless string attribute: presence
indicates true, absence indicates false. For backward compatibility,
auto-upgrade logic is added in both UpgradeAttributes (bitcode) and
UpgradeFunctionAttributes: if the old value is "true", the attribute is
kept without a value; if "false", the attribute is removed.
Commit: d947f8f699eb7d14c883f180f72329cae3a23fd3
https://github.com/llvm/llvm-project/commit/d947f8f699eb7d14c883f180f72329cae3a23fd3
Author: Serosh <janmejayapanda400 at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/SemaCXX/builtin_templates_invalid_parameters.cpp
Log Message:
-----------
[clang][Sema] fix crash on __type_pack_element with dependent packs (GH180307) (#180407)
dependent pack expansions in __type_pack_element can result in
single-element template argument lists. When performing semantic
analysis for these builtins, the compiler needs to account for the
dependent expansions and handle them without triggering strict size
assertions. The patch adds this analysis and ensures we either defer
evaluation for dependent cases or report clear out-of-bounds diagnostics
instead of crashing
Ai was used for test generation and CI debugging
fixes #180307
Commit: e6aafae828e0c6f7045cdc17253b42b844f52098
https://github.com/llvm/llvm-project/commit/e6aafae828e0c6f7045cdc17253b42b844f52098
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M polly/lib/External/isl/GIT_HEAD_ID
M polly/lib/External/isl/isl_ast_build_expr.c
A polly/lib/External/isl/test_inputs/codegen/polly3.c
A polly/lib/External/isl/test_inputs/codegen/polly3.st
Log Message:
-----------
[Polly] Update isl to isl-0.27-86-gcf471c16 (#184044)
Update isl to include
https://repo.or.cz/isl.git/commit/d1b49851aca59c1edd01cb1dc97674e6d79d07af
which fixes #180958
Closes #180958
Thanks @skimo-openhub for the fix and @thapgua for the bugreport.
Commit: 81872e7049ea9b19d91bb01da92869060edbf2a3
https://github.com/llvm/llvm-project/commit/81872e7049ea9b19d91bb01da92869060edbf2a3
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
Log Message:
-----------
[NFC] Fix check lines for `clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl` on Darwin (#184042)
Commit: 8774da8f2f4d28e1b806da38af8732603dc63530
https://github.com/llvm/llvm-project/commit/8774da8f2f4d28e1b806da38af8732603dc63530
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Preserve anchor layouts in recoverTemporaryLayout (#182186)
Commit: e95dabef96f481d78f2b4da9d6f8b5d27195c2b2
https://github.com/llvm/llvm-project/commit/e95dabef96f481d78f2b4da9d6f8b5d27195c2b2
Author: Twice <twice at apache.org>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/python/mlir/dialects/ext.py
M mlir/test/python/dialects/ext.py
Log Message:
-----------
[MLIR][Python] Support attribute definitions in Python-defined dialects (#183907)
This PR is quite similiar to
https://github.com/llvm/llvm-project/pull/182805.
We added basic support of attribute definitions in Python-defined
dialects, including:
- IRDL codegen for attribute definitions
- Attr builders like `MyAttr.get(..)` and attr parameter accessors (e.g.
`my_attr.param1`)
- Use Python-defined attrs in Python-defined operations
Assisted by GitHub Copilot.
Commit: 686987a540bc176bceaad43ffe530cb3e88796d5
https://github.com/llvm/llvm-project/commit/686987a540bc176bceaad43ffe530cb3e88796d5
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/load-saddr-offset-imm.ll
A llvm/test/Transforms/InstCombine/AMDGPU/canonicalize-add-to-gep.ll
M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.wave.shuffle.ll
M llvm/test/Transforms/InstCombine/AMDGPU/mbcnt.ll
Log Message:
-----------
ValueTracking/AMDGPU: handle mbcnt in computeKnownBitsFromOperator (#183229)
This helps canonicalize some address calculation. This would further
help immediate folding into memory load instructions in the backend.
The order changes to v_mad_u32_u24 is just because
@llvm.amdgcn.mul.u24.i32 was used in codegen prepare after this change.
It does not really change anything important.
Commit: 8fff1c042d14d903ad8bcd1b169e06f0ba04882d
https://github.com/llvm/llvm-project/commit/8fff1c042d14d903ad8bcd1b169e06f0ba04882d
Author: Mend Renovate <bot at renovateapp.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M .github/workflows/upload-release-artifact/action.yml
Log Message:
-----------
Update actions/attest-build-provenance action to v4 (#184051)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/attest-build-provenance](https://redirect.github.com/actions/attest-build-provenance)
| action | major | `v3.1.0` → `v4.1.0` |
---
> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](../issues/160328) for more information.
---
### Release Notes
<details>
<summary>actions/attest-build-provenance
(actions/attest-build-provenance)</summary>
###
[`v4.1.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v4.1.0)
[Compare
Source](https://redirect.github.com/actions/attest-build-provenance/compare/v4.0.0...v4.1.0)
> \[!NOTE]
> As of version 4, `actions/attest-build-provenance` is simply a wrapper
on top of
[`actions/attest`](https://redirect.github.com/actions/attest).
>
> Existing applications may continue to use the
`attest-build-provenance` action, but new implementations should use
`actions/attest` instead.
#### What's Changed
- Update RELEASE.md docs by
[@bdehamer](https://redirect.github.com/bdehamer) in
[#836](https://redirect.github.com/actions/attest-build-provenance/pull/836)
- Bump `actions/attest` from 4.0.0 to 4.1.0 by
[@bdehamer](https://redirect.github.com/bdehamer) in
[#838](https://redirect.github.com/actions/attest-build-provenance/pull/838)
- Bump `@actions/attest` from 3.0.0 to 3.1.0 by
[@bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#362](https://redirect.github.com/actions/attest/pull/362)
- Bump `@actions/attest` from 3.1.0 to 3.2.0 by
[@bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#365](https://redirect.github.com/actions/attest/pull/365)
- Add new `subject-version` input for inclusion in storage record by
[@bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#364](https://redirect.github.com/actions/attest/pull/364)
- Add storage record content to README by
[@bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#366](https://redirect.github.com/actions/attest/pull/366)
**Full Changelog**:
<https://github.com/actions/attest-build-provenance/compare/v4.0.0...v4.1.0>
###
[`v4.0.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v4.0.0)
[Compare
Source](https://redirect.github.com/actions/attest-build-provenance/compare/v3.2.0...v4.0.0)
> \[!NOTE]
> As of version 4, `actions/attest-build-provenance` is simply a wrapper
on top of
[`actions/attest`](https://redirect.github.com/actions/attest).
>
> Existing applications may continue to use the
`attest-build-provenance` action, but new implementations should use
`actions/attest` instead.
#### What's Changed
- Prepare v4 release by
[@bdehamer](https://redirect.github.com/bdehamer) in
[#835](https://redirect.github.com/actions/attest-build-provenance/pull/835)
**Full Changelog**:
<https://github.com/actions/attest-build-provenance/compare/v3.2.0...v4.0.0>
###
[`v3.2.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v3.2.0)
[Compare
Source](https://redirect.github.com/actions/attest-build-provenance/compare/v3.1.0...v3.2.0)
#### What's Changed
- Bump [@actions/core](https://redirect.github.com/actions/core)
from 1.11.1 to 2.0.1 by
[@dependabot](https://redirect.github.com/dependabot)\[bot] in
[#776](https://redirect.github.com/actions/attest-build-provenance/pull/776)
- Add more documentation on Artifact Metadata Storage Records by
[@malancas](https://redirect.github.com/malancas) in
[#797](https://redirect.github.com/actions/attest-build-provenance/pull/797)
- Update actions/attest to latest version v3.2.0 by
[@malancas](https://redirect.github.com/malancas) in
[#812](https://redirect.github.com/actions/attest-build-provenance/pull/812)
**Full Changelog**:
<https://github.com/actions/attest-build-provenance/compare/v3.1.0...v3.2.0>
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 12:59 AM, only on
Monday ( * 0 * * 1 ) (UTC), Automerge - At any time (no schedule
defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/llvm/llvm-project).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40My4yIiwidXBkYXRlZEluVmVyIjoiNDMuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Commit: 52a9eb37db83e1891b20c8d9cf0d03559bb4b2ca
https://github.com/llvm/llvm-project/commit/52a9eb37db83e1891b20c8d9cf0d03559bb4b2ca
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M .github/workflows/upload-release-artifact/action.yml
Log Message:
-----------
[Github] Add TODO around actions/attest
Commit: ab1d59e72524c0fbb77b614c46d67265f1f6a47d
https://github.com/llvm/llvm-project/commit/ab1d59e72524c0fbb77b614c46d67265f1f6a47d
Author: owenca <owenpiano at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
Log Message:
-----------
[clang-format] Allow InheritParentConfig to accept a directory (#182791)
Add support for `BasedOnStyle: InheritParentConfig=<directory-path>` in
config files to redirect inheritance to the `.clang-format` or
`_clang-format` file in the `<directory_path>` directory.
Closes #107808
Commit: f1620e44412fd01a453f6f36d561bb395e1c0627
https://github.com/llvm/llvm-project/commit/f1620e44412fd01a453f6f36d561bb395e1c0627
Author: Wenju He <wenju.he at intel.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
M clang/test/Misc/nvptx.languageOptsOpenCL.cl
Log Message:
-----------
[OpenCL] Enable __cl_clang_function_scope_local_variables for AMDGPU and NVPTX targets (#183892)
I'd like to use this extension in our downstream SYCL compiler to
implement the __clc__group_scratch helper function, allowing us to
replace .ll files with .cl files for the two targets:
https://github.com/intel/llvm/blob/sycl/libclc/libspirv/lib/amdgcn-amdhsa/group/collectives_helpers.ll
https://github.com/intel/llvm/blob/sycl/libclc/libspirv/lib/ptx-nvidiacl/group/collectives_helpers.ll
Commit: 6d82f143dee1add67f64ceca89a7bce7bcf2277a
https://github.com/llvm/llvm-project/commit/6d82f143dee1add67f64ceca89a7bce7bcf2277a
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/performance/CMakeLists.txt
M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
A clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
A clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/performance/use-std-move.rst
A clang-tools-extra/test/clang-tidy/checkers/performance/use-std-move.cpp
Log Message:
-----------
[clang-tidy] New performance linter: performance-use-std-move (#179467)
This linter suggests calls to ``std::move`` when a costly copy would
happen otherwise. It does not try to suggest ``std::move`` when they are
valid but obviously not profitable (e.g. for trivially movable types)
This is a very simple version that only considers terminating basic
blocks. Further work will extend the approach through the control flow
graph.
It has already been used successfully on llvm/lib to submit bugs
#178174,
#178169, #178176, #178172, #178175, #178180, #178178, #178177, #178179,
#178173 and #178167, and on the firefox codebase to submit most of the
dependencies of bug https://bugzilla.mozilla.org/show_bug.cgi?id=2012658
Commit: b8d0bb2ddc77c6f9a856ae90fd1329778c070823
https://github.com/llvm/llvm-project/commit/b8d0bb2ddc77c6f9a856ae90fd1329778c070823
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[WebKit checkers] Trivial function analysis ignores some nodelete annotation (#183970)
This PR fixes the bug that TrivialFunctionAnalysis can ignore nodelete
annotation set on some but not all function declarations because it does
not check the annotation on prior declarations unlike
alpha.webkit.NoDeleteChecker which checks it on any declaration by
replacing isNoDeleteFunction with NoDeleteChecker's
hasNoDeleteAnnotation.
Commit: 3270bbf04cbae1d11b6a2283056974b10047094b
https://github.com/llvm/llvm-project/commit/3270bbf04cbae1d11b6a2283056974b10047094b
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M bolt/runtime/instr.cpp
Log Message:
-----------
[BOLT][instr] Make instrumentation counter reset thread safe (#183186)
Use `GlobalWriteProfileMutex` to synchronize between data reset and
dump. Between static counter reset and increment, we use atomic store
in counter reset - the counter increment sequence inserted within user
code already takes care of thread safety, so we just need to make sure
the counter reset code is also thread safe (no torn write to counter).
Commit: b4b32e88dde64ffc97fc0265e356c8743695fe0c
https://github.com/llvm/llvm-project/commit/b4b32e88dde64ffc97fc0265e356c8743695fe0c
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M bolt/runtime/common.h
M bolt/runtime/instr.cpp
Log Message:
-----------
[BOLT][instr] Disable stderr diagnostic output when targeting Android (#183185)
Disable all stderr diagnostic output on Android since there is typically
no terminal to read diagnostic message. The `noinline`annotation is to
keep same inline decision before and after this change. On AArch64
the `.text` section in instr runtime library is now ~4.8 KB smaller.
Commit: 14bcb1a0095408cbf04bad4cea984eb9f448de23
https://github.com/llvm/llvm-project/commit/14bcb1a0095408cbf04bad4cea984eb9f448de23
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT] Make sure IOAddressMap exist before lookup (NFC) (#183184)
`BinaryFunction::translateInputToOutputAddress()` contains fallback
logic in case that querying `IOAddressMap` doesn't yield an output
address. Because this function could be called in scenarios where
`IOAddressMap` won't be set up, we should check if the map actually
exists before lookup.
Commit: 1c3327561977a77aea21956c084d63e0e4fd2860
https://github.com/llvm/llvm-project/commit/1c3327561977a77aea21956c084d63e0e4fd2860
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
Log Message:
-----------
[mlir][spirv] Introduce a base class for spirv.TOSA convolution ops (#183751)
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 265c1f483398e2b8dbbd193258570a16fc4c5e09
https://github.com/llvm/llvm-project/commit/265c1f483398e2b8dbbd193258570a16fc4c5e09
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/max-interleave-factor-debug.ll
Log Message:
-----------
[LV] Add debug print for TTI.MaxInterleaveFactor (NFC) (#183309)
As its not currently visible in the debug output.
---------
Co-authored-by: Sander de Smalen <sander.desmalen at arm.com>
Commit: f7b1107bf5641b199340d08f96980cd228755da7
https://github.com/llvm/llvm-project/commit/f7b1107bf5641b199340d08f96980cd228755da7
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
M llvm/test/Transforms/LoopVectorize/minmax_reduction.ll
Log Message:
-----------
[IVDescriptors] Remove function FMF attribute check for FP min/max reduction (#183523)
Remove the use of function attributes no-nans-fp-math and
no-signed-zeros-fp-math in FP min/max reduction detection. The required
fast-math flags nnan and nsz should be present on the intrinsic calls,
fcmp and select instructions themselves.
Commit: ba2e9fbba069bb1a695d545114b193c8367b0546
https://github.com/llvm/llvm-project/commit/ba2e9fbba069bb1a695d545114b193c8367b0546
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
A .github/workflows/lldb-pylint-action.yml
M .github/workflows/prune-unused-branches.py
M .github/workflows/upload-release-artifact/action.yml
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/runtime/common.h
M bolt/runtime/instr.cpp
A bolt/test/AArch64/bti-long-jmp-ignored-nop.s
M bolt/test/AArch64/bti-long-jmp-ignored.s
M bolt/test/AArch64/skip-non-vfuncptr-reloc-in-relative-vtable.s
A bolt/test/X86/phdr-load-order.test
M bolt/test/merge-fdata-bat-no-lbr.test
M bolt/test/merge-fdata-mixed-bat-no-lbr.test
M bolt/test/merge-fdata-mixed-mode.test
M bolt/test/merge-fdata-no-lbr-mode.test
A bolt/test/merge-fdata-skip-truncated.test
M bolt/tools/merge-fdata/merge-fdata.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
M clang-tools-extra/clang-doc/assets/enum-template.mustache
M clang-tools-extra/clang-doc/assets/function-template.mustache
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp
M clang-tools-extra/clang-tidy/abseil/UncheckedStatusOrAccessCheck.cpp
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.h
M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/FoldInitTypeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StdNamespaceModificationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.h
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/google/FunctionNamingCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferStaticOverAnonymousNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.h
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/MisleadingBidirectionalCheck.cpp
M clang-tools-extra/clang-tidy/misc/OverrideWithDifferentVisibilityCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCStyleCastCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/IntegralLiteralExpressionMatcher.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.h
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
M clang-tools-extra/clang-tidy/performance/AvoidEndlCheck.cpp
M clang-tools-extra/clang-tidy/performance/CMakeLists.txt
M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp
M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
M clang-tools-extra/clang-tidy/performance/StringViewConversionsCheck.cpp
A clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
A clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.h
M clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
M clang-tools-extra/clang-tidy/readability/OperatorsRepresentationCheck.cpp
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReferenceToConstructedTemporaryCheck.cpp
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/clang-tidy/utils/Matchers.h
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clangd/Selection.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/fold-init-type.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/redundant-void-arg.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/faster-string-find.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/string-view-conversions.rst
A clang-tools-extra/docs/clang-tidy/checks/performance/use-std-move.rst
M clang-tools-extra/include-cleaner/tool/CMakeLists.txt
M clang-tools-extra/test/clang-doc/enum.cpp
M clang-tools-extra/test/clang-doc/json/class-requires.cpp
M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
M clang-tools-extra/test/clang-doc/json/class-template.cpp
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/concept.cpp
M clang-tools-extra/test/clang-doc/json/function-requires.cpp
M clang-tools-extra/test/clang-doc/json/method-template.cpp
M clang-tools-extra/test/clang-doc/json/namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/initializer_list
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/memory
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/vector
M clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_std.h
M clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges-pipe.cpp
M clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/casting-through-void.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/dangling-handle.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/fold-init-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unchecked-optional-access.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls-module.cpp
R clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/smart-ptr/initializer_list.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-default-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.c
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-random-shuffle.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/return-braced-init-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/shrink-to-fit.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace-ignore-implicit-constructors.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-delete.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges-pipe.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx14.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/use-std-move.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-data-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/vfsoverlay.yaml
M clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp
M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
M clang-tools-extra/unittests/clang-tidy/LexerUtilsTest.cpp
A clang/.clang-format-ignore
M clang/AreaTeamMembers.txt
M clang/cmake/modules/AddClang.cmake
M clang/docs/APINotes.rst
M clang/docs/AddressSanitizer.rst
M clang/docs/CMakeLists.txt
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangIRCleanupAndEHDesign.md
M clang/docs/LanguageExtensions.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/index.rst
M clang/docs/tools/dump_format_style.py
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTDumperUtils.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/NestedNameSpecifierBase.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/CFG.h
A clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
A clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h
A clang/include/clang/Analysis/Scalable/EntityLinker/EntityLinker.h
A clang/include/clang/Analysis/Scalable/EntityLinker/EntitySummaryEncoding.h
A clang/include/clang/Analysis/Scalable/EntityLinker/LUSummary.h
A clang/include/clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h
A clang/include/clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h
M clang/include/clang/Analysis/Scalable/Model/BuildNamespace.h
M clang/include/clang/Analysis/Scalable/Model/EntityId.h
M clang/include/clang/Analysis/Scalable/Model/EntityLinkage.h
M clang/include/clang/Analysis/Scalable/Model/EntityName.h
M clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
M clang/include/clang/Analysis/Scalable/Model/SummaryName.h
M clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
A clang/include/clang/Analysis/Scalable/Support/ErrorBuilder.h
A clang/include/clang/Analysis/Scalable/Support/FormatProviders.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.td
A clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
M clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticCommentKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/OffloadArch.h
M clang/include/clang/Basic/OpenCLExtensions.def
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/CIR/CIRToCIRPasses.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
A clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIROpsEnums.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/DependencyScanning/InProcessModuleCache.h
M clang/include/clang/DependencyScanning/ModuleDepCollector.h
M clang/include/clang/Driver/Job.h
A clang/include/clang/Driver/ModulesDriver.h
M clang/include/clang/Driver/RocmInstallationDetector.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Options/Options.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvaluationResult.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/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Record.cpp
M clang/lib/AST/ByteCode/Record.h
M clang/lib/AST/CommentSema.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/InferAlloc.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftCXXABI.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/Scalable/CMakeLists.txt
A clang/lib/Analysis/Scalable/EntityLinker/EntityLinker.cpp
M clang/lib/Analysis/Scalable/Model/BuildNamespace.cpp
A clang/lib/Analysis/Scalable/Model/EntityId.cpp
A clang/lib/Analysis/Scalable/Model/EntityLinkage.cpp
M clang/lib/Analysis/Scalable/Model/EntityName.cpp
A clang/lib/Analysis/Scalable/Model/SummaryName.cpp
A clang/lib/Analysis/Scalable/ModelStringConversions.h
R clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.h
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummary.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummaryEncoding.cpp
A clang/lib/Analysis/Scalable/Support/ErrorBuilder.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Hexagon.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenAsm.cpp
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
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/CIRGenCUDANV.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
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/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.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/CodeGen/TargetInfo.cpp
M clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/lib/CIR/Dialect/Transforms/IdiomRecognizer.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenCLRuntime.cpp
M clang/lib/CodeGen/CGOpenCLRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/DependencyScanning/InProcessModuleCache.cpp
M clang/lib/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
A clang/lib/Driver/ModulesDriver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512fp16intrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/ptrauth.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaBoundsSafety.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/UnconditionalVAArgChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VAListChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/test/APINotes/Inputs/Headers/Fields.apinotes
M clang/test/APINotes/Inputs/Headers/Fields.h
M clang/test/APINotes/fields.cpp
M clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
M clang/test/AST/ByteCode/libcxx/end-primitive-array-root-lifetime.cpp
M clang/test/AST/HLSL/WaveSize.hlsl
M clang/test/AST/HLSL/matrix-member-access-scalar.hlsl
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/auto-obj-dtors-cfg-output.cpp
A clang/test/Analysis/exprwithcleanups-lifetime-marker-cfg.cpp
M clang/test/Analysis/malloc-annotations.c
M clang/test/Analysis/misc-ps-region-store.cpp
A clang/test/Analysis/unconditional-va_arg.c
M clang/test/Analysis/z3-unarysymexpr.c
R clang/test/CIR/CodeGen/address-of.cpp
M clang/test/CIR/CodeGen/address-space.c
M clang/test/CIR/CodeGen/alloc-size.c
A clang/test/CIR/CodeGen/arg-attrs.cpp
M clang/test/CIR/CodeGen/array-ctor.cpp
M clang/test/CIR/CodeGen/array-dtor.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/asm-label-inline-builtins.c
M clang/test/CIR/CodeGen/assign-operator.cpp
A clang/test/CIR/CodeGen/assume-attr.cpp
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/CodeGen/base-to-derived.cpp
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/binop.cpp
M clang/test/CIR/CodeGen/bitfields_be.c
R clang/test/CIR/CodeGen/builtin-bit-cast.cpp
R clang/test/CIR/CodeGen/builtin-floating-point.c
R clang/test/CIR/CodeGen/builtin-memchr.c
R clang/test/CIR/CodeGen/builtins-elementwise.c
A clang/test/CIR/CodeGen/call-no-decl.c
M clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
M clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/cast.cpp
A clang/test/CIR/CodeGen/cleanup-scope-tmp-with-exception.cpp
A clang/test/CIR/CodeGen/cleanup-scope-tmp.cpp
M clang/test/CIR/CodeGen/cleanup.cpp
M clang/test/CIR/CodeGen/cmp.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/copy-constructor.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/ctor-alias.cpp
M clang/test/CIR/CodeGen/ctor.cpp
M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
M clang/test/CIR/CodeGen/cxx-default-init.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/defaultarg.cpp
M clang/test/CIR/CodeGen/delegating-ctor.cpp
M clang/test/CIR/CodeGen/delete.cpp
M clang/test/CIR/CodeGen/derived-to-base.cpp
M clang/test/CIR/CodeGen/destructors.cpp
M clang/test/CIR/CodeGen/dtor-alias.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/forrange.cpp
M clang/test/CIR/CodeGen/function-to-pointer-decay.c
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-constant-storage.cpp
M clang/test/CIR/CodeGen/global-init.cpp
M clang/test/CIR/CodeGen/goto.cpp
M clang/test/CIR/CodeGen/if.cpp
A clang/test/CIR/CodeGen/implicit-value-init-expr.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
M clang/test/CIR/CodeGen/kr-func-promote.c
M clang/test/CIR/CodeGen/label-values.c
M clang/test/CIR/CodeGen/label.c
M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/member-functions.cpp
M clang/test/CIR/CodeGen/multi-vtable.cpp
M clang/test/CIR/CodeGen/new.cpp
M clang/test/CIR/CodeGen/no-odr-use.cpp
M clang/test/CIR/CodeGen/no-prototype.c
M clang/test/CIR/CodeGen/nrvo.cpp
R clang/test/CIR/CodeGen/object-size.c
R clang/test/CIR/CodeGen/object-size.cpp
R clang/test/CIR/CodeGen/offset-of.cpp
M clang/test/CIR/CodeGen/pack-indexing.cpp
M clang/test/CIR/CodeGen/placement-new.cpp
M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
R clang/test/CIR/CodeGen/pred-info-builtins.c
M clang/test/CIR/CodeGen/size-of-vla.cpp
M clang/test/CIR/CodeGen/static-local.cpp
M clang/test/CIR/CodeGen/stmt-expr.cpp
M clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGen/struct.c
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGen/trivial-ctor-const-init.cpp
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
M clang/test/CIR/CodeGen/vbase.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGen/virtual-destructor-calls.cpp
M clang/test/CIR/CodeGen/virtual-function-calls.cpp
M clang/test/CIR/CodeGen/vla.c
M clang/test/CIR/CodeGen/vtt.cpp
M clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceMinMaxIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vbmi2-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlbf16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/ms-x86-intrinsics.c
A clang/test/CIR/CodeGenBuiltins/builtin-address-of.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-bit-cast.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-call.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-constant-p.c
M clang/test/CIR/CodeGenBuiltins/builtin-fcmp-sse.c
A clang/test/CIR/CodeGenBuiltins/builtin-inline.c
A clang/test/CIR/CodeGenBuiltins/builtin-memchr.c
A clang/test/CIR/CodeGenBuiltins/builtin-new-delete.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-object-size.c
A clang/test/CIR/CodeGenBuiltins/builtin-object-size.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-offset-of.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-prefetch.c
A clang/test/CIR/CodeGenBuiltins/builtin-printf.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_bit.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_inline.c
R clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_prefetch.c
R clang/test/CIR/CodeGenBuiltins/builtin_printf.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
M clang/test/CIR/CodeGenBuiltins/builtins-floating-point.c
A clang/test/CIR/CodeGenBuiltins/builtins-pred-info.c
M clang/test/CIR/CodeGenCUDA/kernel-call.cu
M clang/test/CIR/CodeGenCUDA/kernel-stub-name.cu
A clang/test/CIR/CodeGenCXX/global-refs.cpp
A clang/test/CIR/CodeGenCXX/lvalue-nttp.cpp
A clang/test/CIR/CodeGenCXX/simple-reinterpret-const-cast.cpp
A clang/test/CIR/CodeGenCXX/sizeof-pack.cpp
M clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl
M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
M clang/test/CIR/CodeGenOpenACC/combined-firstprivate-clause.cpp
M clang/test/CIR/CodeGenOpenACC/combined-private-clause.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/combined.cpp
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause-templates.cpp
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp
M clang/test/CIR/CodeGenOpenACC/compute-private-clause-templates.cpp
M clang/test/CIR/CodeGenOpenACC/compute-private-clause.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/declare-copy.cpp
M clang/test/CIR/CodeGenOpenACC/declare-copyin.cpp
M clang/test/CIR/CodeGenOpenACC/declare-copyout.cpp
M clang/test/CIR/CodeGenOpenACC/declare-create.cpp
M clang/test/CIR/CodeGenOpenACC/declare-deviceptr.cpp
M clang/test/CIR/CodeGenOpenACC/declare-deviceresident.cpp
M clang/test/CIR/CodeGenOpenACC/declare-link.cpp
M clang/test/CIR/CodeGenOpenACC/declare-present.cpp
M clang/test/CIR/CodeGenOpenACC/firstprivate-clause-recipes.cpp
M clang/test/CIR/CodeGenOpenACC/loop-private-clause.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/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-CtorDtor.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-NoOps.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-NoOps.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-CtorDtor.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-NoOps.cpp
M clang/test/CIR/CodeGenOpenACC/reduction-clause-recipes.cpp
M clang/test/CIR/CodeGenOpenMP/omp-llvmir.c
M clang/test/CIR/CodeGenOpenMP/parallel.c
A clang/test/CIR/IR/address-space.cir
M clang/test/CIR/IR/catch-param.cir
M clang/test/CIR/IR/global-var-linkage.cir
M clang/test/CIR/IR/invalid-addrspace.cir
M clang/test/CIR/IR/invalid-eh-flat.cir
A clang/test/CIR/IR/invalid-linkage.cir
M clang/test/CIR/IR/invalid-try-catch.cir
M clang/test/CIR/IR/try-catch.cir
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/basic.cpp
A clang/test/CIR/Lowering/global-var-linkage.cir
A clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
A clang/test/CIR/Transforms/flatten-try-op.cir
A clang/test/CIR/Transforms/idiom-recognizer.cpp
M clang/test/CXX/drs/cwg2947.cpp
M clang/test/CXX/drs/cwg29xx.cpp
A clang/test/ClangScanDeps/modules-cycle-deadlock.c
A clang/test/ClangScanDeps/modules-symlink-dir-from-module-incremental.c
M clang/test/CodeCompletion/included-files.cpp
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4su_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4su_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4u_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4u_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4us_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4su_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4su_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4u_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4u_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4us_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4su_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4su_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4u_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4u_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4us_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4su_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4su_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4u_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4u_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4us_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdot_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdot_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotsu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotsu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotus_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdot_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdot_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotsu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotsu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotus_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdot_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdot_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotsu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotsu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotus_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdot_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdot_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotsu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotsu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotus_vx.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512fp16-builtins.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/aix-builtin-cpu-supports.c
M clang/test/CodeGen/alloc-token-lower.c
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/attr-counted-by-pr88931.c
M clang/test/CodeGen/builtin-counted-by-ref.c
M clang/test/CodeGen/builtins-reduction-math.c
A clang/test/CodeGen/c23-constexpr-member-access.c
A clang/test/CodeGen/cfi-icall-with-abi-tag.cpp
M clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll
M clang/test/CodeGen/distributed-thin-lto/cfi.ll
A clang/test/CodeGen/prefalign.c
M clang/test/CodeGen/thinlto-funcattr-prop.ll
M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
M clang/test/CodeGenCUDA/const-var.cu
M clang/test/CodeGenCUDA/constexpr-variables.cu
A clang/test/CodeGenCUDA/device-const-var-linkage.cu
M clang/test/CodeGenCUDA/host-used-device-var.cu
M clang/test/CodeGenCXX/alloc-token-pointer.cpp
M clang/test/CodeGenCXX/mangle-lambdas.cpp
M clang/test/CodeGenCXX/member-alignment.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load.cpp
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-cvt-f16.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-wmma-f16.hip
A clang/test/CodeGenHIP/debug-info-language-hip.hip
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
M clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/isinf-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl
M clang/test/CodeGenObjC/aarch64-sve-types.m
A clang/test/CodeGenObjC/block-layout-section.m
R clang/test/CodeGenOpenCL/.gdb_history
M clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-tensor-load-store.cl
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
A clang/test/DebugInfo/CXX/callsite-base.cpp
A clang/test/DebugInfo/CXX/callsite-derived.cpp
A clang/test/DebugInfo/CXX/callsite-edges.cpp
M clang/test/DebugInfo/CXX/fn-template.cpp
A clang/test/DebugInfo/CXX/ptrauth-member-function-pointer-debuglocs.cpp
M clang/test/DebugInfo/CXX/vtable-external.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
M clang/test/DebugInfo/CXX/vtable-template-instantiation.cpp
A clang/test/Driver/HLSL/conversion-warning-flags.hlsl
R clang/test/Driver/HLSL/wconversion.hlsl
R clang/test/Driver/Inputs/hip_dev_lib/oclc_correctly_rounded_sqrt_on.amdgcn.bc
R clang/test/Driver/Inputs/rocm-invalid/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm-invalid/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/asanrtl.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/hip.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ockl.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_abi_version_600.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_isa_version_900.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ocml.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/opencl.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/cl-offload.cu
M clang/test/Driver/cl-options.c
A clang/test/Driver/crash-report-no-integrated-cc1.c
M clang/test/Driver/cuda-arch-translation.cu
M clang/test/Driver/darwin-header-search-libcxx-2.cpp
M clang/test/Driver/debug-options.c
M clang/test/Driver/dep-file-flag-with-multiple-offload-archs.hip
M clang/test/Driver/fsanitize-minimal-runtime.c
M clang/test/Driver/hip-code-object-version.hip
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hip-gz-options.hip
M clang/test/Driver/hip-macros.hip
M clang/test/Driver/hip-offload-arch.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-sanitize-options.hip
M clang/test/Driver/hip-save-temps.hip
M clang/test/Driver/hip-temps-linux.hip
M clang/test/Driver/hip-temps-windows.hip
M clang/test/Driver/hip-thinlto.hip
M clang/test/Driver/hip-toolchain-device-only.hip
M clang/test/Driver/hip-toolchain-mllvm.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hip-toolchain-opt.hip
A clang/test/Driver/modules-driver-malformed-manifest.cpp
A clang/test/Driver/modules-driver-manifest-input-args.cpp
A clang/test/Driver/modules-driver-manifest-not-found.cpp
M clang/test/Driver/no-gpu-bundle-respected.hip
A clang/test/Driver/prefalign.c
A clang/test/Driver/print-enabled-extensions/riscv-xt-c910v2.c
A clang/test/Driver/print-enabled-extensions/riscv-xt-c920v2.c
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/Driver/reloc-section-sym.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/rocm-detect-lib-llvm.hip
M clang/test/Driver/rocm-device-libs.cl
A clang/test/Driver/spirv-lto.c
M clang/test/Driver/spirv-openmp-toolchain.c
A clang/test/Driver/sycl-offload-jit-xarch.cpp
M clang/test/FixIt/fixit-pragma-attribute.cpp
A clang/test/Index/cxx17-switch-with-initializer.cpp
A clang/test/Index/index-auto.cpp
A clang/test/Interpreter/incremental-c-implicit-error.c
A clang/test/Interpreter/incremental-c-implicit-undo.c
A clang/test/Layout/ms-x86-bitfields-overflow.c
M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
A clang/test/Misc/cc1as-reloc-section-sym.s
M clang/test/Misc/nvptx.languageOptsOpenCL.cl
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
A clang/test/Modules/implicit-cycle-deadlock.c
A clang/test/Modules/lazy-by-header-extern.c
A clang/test/Modules/lazy-by-header-lookup.c
A clang/test/Modules/lazy-by-header-nested.c
A clang/test/Modules/lazy-by-header-private.c
A clang/test/Modules/lazy-by-header-umbrella-dir.c
A clang/test/Modules/lazy-by-header-umbrella-header.c
M clang/test/Modules/lazy-by-name-lookup.c
A clang/test/Modules/pr178893.cppm
M clang/test/OpenMP/amdgcn-attributes.cpp
M clang/test/OpenMP/cancel_codegen.cpp
M clang/test/OpenMP/irbuilder_nested_openmp_parallel_empty.c
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/nested_loop_codegen.cpp
A clang/test/OpenMP/num_teams_clause_ast.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_num_teams_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_num_teams_messages.cpp
A clang/test/OpenMP/target_update_strided_ptr_variable_count_and_stride_messages.c
A clang/test/OpenMP/target_update_strided_ptr_variable_count_messages.c
A clang/test/OpenMP/target_update_strided_ptr_variable_stride_messages.c
A clang/test/OpenMP/target_update_strided_struct_ptr_messages_from.c
A clang/test/OpenMP/target_update_strided_struct_ptr_messages_to.c
A clang/test/OpenMP/target_update_strided_struct_ptr_multiple_messages_from.c
A clang/test/OpenMP/target_update_strided_struct_ptr_multiple_messages_to.c
A clang/test/OpenMP/target_update_strided_struct_ptr_partial_messages_from.c
A clang/test/OpenMP/target_update_strided_struct_ptr_partial_messages_to.c
A clang/test/OpenMP/target_update_strided_struct_variable_count_and_stride_messages.c
A clang/test/OpenMP/target_update_variable_count_and_stride_messages.c
M clang/test/OpenMP/taskgroup_codegen.cpp
M clang/test/OpenMP/teams_num_teams_messages.cpp
M clang/test/Parser/pragma-attribute.cpp
M clang/test/ParserHLSL/group_shared_202x.hlsl
M clang/test/ParserOpenACC/parse-constructs.cpp
M clang/test/Preprocessor/arm64e.c
M clang/test/Preprocessor/hexagon-predefines.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/attr-overflow-behavior-format-strings.c
M clang/test/Sema/attr-overflow-behavior-templates.cpp
M clang/test/Sema/attr-overflow-behavior.c
M clang/test/Sema/attr-overflow-behavior.cpp
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/builtins-reduction-math.c
A clang/test/Sema/constexpr-member-access.c
M clang/test/Sema/format-strings.c
M clang/test/Sema/nonnull.c
M clang/test/Sema/sugar-common-types.c
A clang/test/Sema/type-dependent-attrs.cpp
M clang/test/Sema/unroll-template-value-crash.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
A clang/test/SemaCXX/GH175783.cpp
A clang/test/SemaCXX/builtin_templates_invalid_parameters.cpp
M clang/test/SemaCXX/builtins-elementwise-math.cpp
M clang/test/SemaCXX/constexpr-x86-avx-builtins.cpp
M clang/test/SemaCXX/constexpr-x86-avx512f-builtins.cpp
A clang/test/SemaCXX/constexpr-x86-avx512fp16-builtins.cpp
M clang/test/SemaCXX/constexpr-x86-sse2-builtins.cpp
A clang/test/SemaCXX/coroutine-inherited-allocator.cpp
A clang/test/SemaCXX/gh183505.cpp
M clang/test/SemaCXX/init-priority-attr.cpp
M clang/test/SemaCXX/return-noreturn.cpp
A clang/test/SemaCXX/typeid-incomplete-local-crash.cpp
M clang/test/SemaCXX/vector.cpp
M clang/test/SemaCXX/warn-memset-bad-sizeof.cpp
M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
M clang/test/SemaHLSL/Language/ImpCastAddrSpace.hlsl
M clang/test/SemaHLSL/Language/InitIncompleteArrays.hlsl
M clang/test/SemaHLSL/Language/InitLists.hlsl
A clang/test/SemaHLSL/Language/MatrixSplatCasts.hlsl
M clang/test/SemaHLSL/Language/OutputParameters.hlsl
M clang/test/SemaHLSL/Language/UsualArithmeticConversions.hlsl
M clang/test/SemaHLSL/MatrixElementOverloadResolution.hlsl
M clang/test/SemaHLSL/ScalarOverloadResolution.hlsl
M clang/test/SemaHLSL/SplatOverloadResolution.hlsl
M clang/test/SemaHLSL/TruncationOverloadResolution.hlsl
M clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes.hlsl
M clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_no_16bit.hlsl
M clang/test/SemaHLSL/VectorElementOverloadResolution.hlsl
M clang/test/SemaHLSL/matrix-member-access-errors.hlsl
A clang/test/SemaHLSL/no-conversion-warnings.hlsl
M clang/test/SemaHLSL/parameter_modifiers.hlsl
M clang/test/SemaHLSL/standard_conversion_sequences.hlsl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M clang/test/SemaOpenCL/extension-version.cl
A clang/test/SemaTemplate/GH181062.cpp
A clang/test/SemaTemplate/GH183075.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx11.cpp
M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
A clang/test/TableGen/builtin-docs.td
A clang/test/Tooling/serialize-diagnostics.cpp
M clang/tools/c-index-test/core_main.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.h
A clang/unittests/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
M clang/unittests/Analysis/Scalable/BuildNamespaceTest.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
M clang/unittests/Analysis/Scalable/EntityIdTest.cpp
M clang/unittests/Analysis/Scalable/EntityLinkageTest.cpp
A clang/unittests/Analysis/Scalable/EntityLinkerTest.cpp
M clang/unittests/Analysis/Scalable/EntityNameTest.cpp
A clang/unittests/Analysis/Scalable/ErrorBuilderTest.cpp
A clang/unittests/Analysis/Scalable/ModelStringConversionsTest.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
R clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest.cpp
A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.h
A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
M clang/unittests/Analysis/Scalable/SummaryNameTest.cpp
M clang/unittests/Analysis/Scalable/TestFixture.cpp
M clang/unittests/Analysis/Scalable/TestFixture.h
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/asan/asan_fuchsia.cpp
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/asan/asan_rtl_x86_64.S
M compiler-rt/lib/gwp_asan/CMakeLists.txt
M compiler-rt/lib/msan/tests/CMakeLists.txt
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp
M compiler-rt/lib/sanitizer_common/weak_symbols.txt
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/report.cpp
M compiler-rt/lib/scudo/standalone/report.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c.inc
M compiler-rt/lib/scudo/standalone/wrappers_c_checks.h
M compiler-rt/lib/tsan/go/buildgo.sh
M compiler-rt/lib/ubsan/ubsan_diag.h
M compiler-rt/test/asan/TestCases/fakeframe-right-redzone.cpp
M compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
M compiler-rt/test/builtins/CMakeLists.txt
M compiler-rt/test/builtins/Unit/divsf3_test.c
M compiler-rt/test/builtins/Unit/mulsf3_test.c
M compiler-rt/test/fuzzer/reduce_inputs.test
M compiler-rt/test/safestack/overflow.c
A cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/callsite-crash.cpp
A cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/callsite-dwarf.cpp
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/include/flang-rt/runtime/lock.h
M flang-rt/include/flang-rt/runtime/memory.h
M flang-rt/include/flang-rt/runtime/tools.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/stream.cpp
M flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/lib/runtime/array.h
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/environment.cpp
A flang-rt/lib/runtime/io-api-gpu.cpp
A flang-rt/lib/runtime/io-api-gpu.h
A flang-rt/lib/runtime/io-api-server.cpp
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/lib/runtime/iostat.cpp
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/terminator.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/lib/runtime/unit.cpp
M flang-rt/lib/runtime/unit.h
M flang-rt/test/Driver/exec.f90
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang/docs/Extensions.md
M flang/docs/GettingInvolved.md
M flang/docs/Intrinsics.md
A flang/docs/MeetingNotes/2026/2026-02-25.md
M flang/docs/OpenMP-declare-target.md
M flang/docs/RuntimeEnvironment.md
M flang/include/flang/Common/api-attrs.h
M flang/include/flang/Common/format.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/CUDA.h
M flang/include/flang/Lower/OpenMP/Clauses.h
M flang/include/flang/Optimizer/Builder/CUDAIntrinsicCall.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Character.h
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
M flang/include/flang/Optimizer/Dialect/FIRDialect.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/openmp-utils.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/stream.h
M flang/include/flang/Runtime/character.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Runtime/iostat-consts.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CUDA.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Character.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-io.h
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/module/cuda_runtime_api.f90
A flang/test/Driver/grecord-command-line.f90
M flang/test/Driver/intrinsic-module-path.f90
M flang/test/Driver/omp-driver-offload.f90
M flang/test/Fir/mem2reg.mlir
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-default-stream.cuf
M flang/test/Lower/HLFIR/goto-do-body.f90
A flang/test/Lower/HLFIR/recursive-user-procedure.f90
M flang/test/Lower/Intrinsics/abs.f90
M flang/test/Lower/Intrinsics/achar.f90
M flang/test/Lower/Intrinsics/acospi.f90
M flang/test/Lower/Intrinsics/adjustl.f90
A flang/test/Lower/Intrinsics/rtc.f90
A flang/test/Lower/Intrinsics/tokenize.f90
A flang/test/Lower/OpenMP/Todo/depth-clause.f90
A flang/test/Lower/OpenMP/block-use-predetermined-privatization.f90
M flang/test/Lower/OpenMP/composite_simd_linear.f90
A flang/test/Lower/OpenMP/declare-reduction-intrinsic-op.f90
M flang/test/Lower/OpenMP/declare-simd.f90
M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
M flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
A flang/test/Lower/OpenMP/ordered-simd.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/simd-linear.f90
M flang/test/Lower/OpenMP/wsloop-linear.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
M flang/test/Lower/forall/forall-allocatable.f90
M flang/test/Lower/forall/forall-array.f90
M flang/test/Lower/forall/forall-construct-2.f90
M flang/test/Lower/forall/forall-construct-3.f90
M flang/test/Lower/forall/forall-construct-4.f90
M flang/test/Lower/forall/forall-construct.f90
M flang/test/Lower/forall/forall-ranked.f90
M flang/test/Lower/forall/forall-slice.f90
M flang/test/Lower/forall/forall-stmt.f90
M flang/test/Lower/forall/forall-where-2.f90
M flang/test/Lower/forall/forall-where.f90
M flang/test/Lower/forall/test9.f90
M flang/test/Lower/host-associated-functions.f90
M flang/test/Lower/host-associated-globals.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/identical-block-merge-disable.f90
M flang/test/Lower/implicit-call-mismatch.f90
M flang/test/Lower/implicit-interface.f90
M flang/test/Lower/integer-operations.f90
M flang/test/Lower/intentout-deallocate.f90
M flang/test/Lower/volatile3.f90
A flang/test/Parser/OpenMP/depth-clause.f90
A flang/test/Parser/bug2280.f90
A flang/test/Semantics/Inputs/modfile83.mod
A flang/test/Semantics/OpenMP/depth-clause.f90
M flang/test/Semantics/associated.f90
A flang/test/Semantics/bug2273.f90
A flang/test/Semantics/bug2292.f90
A flang/test/Semantics/bug2295.f90
M flang/test/Semantics/call01.f90
M flang/test/Semantics/call03.f90
M flang/test/Semantics/io08.f90
A flang/test/Semantics/io16.f90
A flang/test/Semantics/modfile83.f90
A flang/test/Semantics/tokenize-errors.f90
A flang/test/Transforms/FIRToMemRef/array-coor-block-arg.mlir
M flang/test/Transforms/FIRToMemRef/no-declare.mlir
A flang/test/Transforms/debug-dwarf-debug-flags.fir
A flang/test/Transforms/debug-fn-attr.fir
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/hdr/CMakeLists.txt
M libc/include/elf.yaml
M libc/include/llvm-libc-macros/float16-macros.h
M libc/include/llvm-libc-types/struct_stat.h
M libc/shared/math.h
A libc/shared/math/acospif.h
M libc/shared/math/asinf16.h
M libc/shared/math/asinhf16.h
A libc/shared/math/asinpif.h
A libc/shared/math/asinpif16.h
M libc/shared/math/atanf16.h
M libc/shared/math/atanhf16.h
A libc/shared/math/bf16addl.h
A libc/shared/math/bf16fmaf128.h
A libc/shared/math/bf16mul.h
A libc/shared/math/bf16mulf.h
A libc/shared/math/bf16mulf128.h
A libc/shared/math/bf16mull.h
A libc/shared/math/bf16sub.h
A libc/shared/math/bf16subf.h
A libc/shared/math/bf16subf128.h
M libc/shared/math/ceil.h
M libc/shared/math/ceilbf16.h
M libc/shared/math/ceilf.h
M libc/shared/math/ceilf128.h
M libc/shared/math/ceilf16.h
M libc/shared/math/ceill.h
M libc/shared/math/cosf16.h
M libc/shared/math/coshf16.h
M libc/shared/math/cospif16.h
M libc/shared/math/dfmal.h
M libc/shared/math/exp10f16.h
M libc/shared/math/exp10m1f16.h
M libc/shared/math/exp2f16.h
M libc/shared/math/exp2m1f16.h
M libc/shared/math/expf16.h
M libc/shared/math/expm1f16.h
A libc/shared/math/f16div.h
A libc/shared/math/f16divf.h
A libc/shared/math/f16divf128.h
A libc/shared/math/f16divl.h
M libc/shared/math/f16fma.h
M libc/shared/math/f16fmaf.h
M libc/shared/math/f16fmaf128.h
M libc/shared/math/f16fmal.h
A libc/shared/math/f16mul.h
A libc/shared/math/f16mulf.h
A libc/shared/math/f16mulf128.h
A libc/shared/math/f16mull.h
A libc/shared/math/f16sqrtf128.h
M libc/shared/math/f16sqrtl.h
A libc/shared/math/f16sub.h
A libc/shared/math/f16subf.h
A libc/shared/math/f16subf128.h
A libc/shared/math/f16subl.h
M libc/shared/math/fadd.h
M libc/shared/math/faddf128.h
M libc/shared/math/faddl.h
A libc/shared/math/fdim.h
A libc/shared/math/fdimbf16.h
A libc/shared/math/fdimf.h
A libc/shared/math/fdimf128.h
A libc/shared/math/fdimf16.h
A libc/shared/math/fdiml.h
A libc/shared/math/floor.h
A libc/shared/math/floorbf16.h
A libc/shared/math/floorf.h
A libc/shared/math/floorf128.h
A libc/shared/math/floorf16.h
A libc/shared/math/floorl.h
M libc/shared/math/fmax.h
M libc/shared/math/fmaxbf16.h
M libc/shared/math/fmaxf.h
M libc/shared/math/fmaxf128.h
M libc/shared/math/fmaxf16.h
M libc/shared/math/fmaxl.h
M libc/shared/math/frexpf16.h
M libc/shared/math/fsqrtf128.h
A libc/shared/math/getpayload.h
A libc/shared/math/getpayloadbf16.h
A libc/shared/math/getpayloadf.h
A libc/shared/math/getpayloadf128.h
A libc/shared/math/getpayloadf16.h
A libc/shared/math/getpayloadl.h
M libc/shared/math/hypotf.h
M libc/shared/math/hypotf16.h
M libc/shared/math/ilogbf.h
M libc/shared/math/ilogbf16.h
M libc/shared/math/ldexpf16.h
M libc/shared/math/log.h
M libc/shared/math/log10.h
M libc/shared/math/log1p.h
M libc/shared/math/log2.h
M libc/shared/math/logb.h
M libc/shared/math/logbf.h
M libc/shared/math/logbf128.h
M libc/shared/math/logbf16.h
M libc/shared/math/logf16.h
A libc/shared/math/nextafter.h
A libc/shared/math/nextafterbf16.h
A libc/shared/math/nextafterf.h
A libc/shared/math/nextafterf128.h
A libc/shared/math/nextafterf16.h
A libc/shared/math/nextafterl.h
A libc/shared/math/nextdown.h
A libc/shared/math/nextdownbf16.h
A libc/shared/math/nextdownf.h
A libc/shared/math/nextdownf128.h
A libc/shared/math/nextdownf16.h
A libc/shared/math/nextdownl.h
A libc/shared/math/nexttoward.h
A libc/shared/math/nexttowardbf16.h
A libc/shared/math/nexttowardf.h
A libc/shared/math/nexttowardf16.h
A libc/shared/math/nexttowardl.h
A libc/shared/math/nextup.h
A libc/shared/math/nextupbf16.h
A libc/shared/math/nextupf.h
A libc/shared/math/nextupf128.h
A libc/shared/math/nextupf16.h
A libc/shared/math/nextupl.h
A libc/shared/math/setpayload.h
A libc/shared/math/setpayloadbf16.h
A libc/shared/math/setpayloadf.h
A libc/shared/math/setpayloadf128.h
A libc/shared/math/setpayloadf16.h
A libc/shared/math/setpayloadl.h
A libc/shared/math/setpayloadsig.h
A libc/shared/math/setpayloadsigbf16.h
A libc/shared/math/setpayloadsigf.h
A libc/shared/math/setpayloadsigf128.h
A libc/shared/math/setpayloadsigf16.h
A libc/shared/math/setpayloadsigl.h
M libc/shared/math/sinhf16.h
A libc/shared/math/tanpif16.h
M libc/shared/rpc_dispatch.h
M libc/shared/rpc_util.h
M libc/src/__support/CPP/bit.h
M libc/src/__support/FPUtil/bfloat16.h
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/RPC/rpc_server.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/acospif.h
A libc/src/__support/math/asinpif.h
A libc/src/__support/math/asinpif16.h
M libc/src/__support/math/atan2f128.h
A libc/src/__support/math/bf16addl.h
A libc/src/__support/math/bf16fmaf128.h
A libc/src/__support/math/bf16mul.h
A libc/src/__support/math/bf16mulf.h
A libc/src/__support/math/bf16mulf128.h
A libc/src/__support/math/bf16mull.h
A libc/src/__support/math/bf16sub.h
A libc/src/__support/math/bf16subf.h
A libc/src/__support/math/bf16subf128.h
A libc/src/__support/math/f16div.h
A libc/src/__support/math/f16divf.h
A libc/src/__support/math/f16divf128.h
A libc/src/__support/math/f16divl.h
A libc/src/__support/math/f16mul.h
A libc/src/__support/math/f16mulf.h
A libc/src/__support/math/f16mulf128.h
A libc/src/__support/math/f16mull.h
A libc/src/__support/math/f16sqrtf128.h
A libc/src/__support/math/f16sub.h
A libc/src/__support/math/f16subf.h
A libc/src/__support/math/f16subf128.h
A libc/src/__support/math/f16subl.h
A libc/src/__support/math/fdim.h
A libc/src/__support/math/fdimbf16.h
A libc/src/__support/math/fdimf.h
A libc/src/__support/math/fdimf128.h
A libc/src/__support/math/fdimf16.h
A libc/src/__support/math/fdiml.h
A libc/src/__support/math/floor.h
A libc/src/__support/math/floorbf16.h
A libc/src/__support/math/floorf.h
A libc/src/__support/math/floorf128.h
A libc/src/__support/math/floorf16.h
A libc/src/__support/math/floorl.h
A libc/src/__support/math/getpayload.h
A libc/src/__support/math/getpayloadbf16.h
A libc/src/__support/math/getpayloadf.h
A libc/src/__support/math/getpayloadf128.h
A libc/src/__support/math/getpayloadf16.h
A libc/src/__support/math/getpayloadl.h
M libc/src/__support/math/inv_trigf_utils.h
A libc/src/__support/math/nextafter.h
A libc/src/__support/math/nextafterbf16.h
A libc/src/__support/math/nextafterf.h
A libc/src/__support/math/nextafterf128.h
A libc/src/__support/math/nextafterf16.h
A libc/src/__support/math/nextafterl.h
A libc/src/__support/math/nextdown.h
A libc/src/__support/math/nextdownbf16.h
A libc/src/__support/math/nextdownf.h
A libc/src/__support/math/nextdownf128.h
A libc/src/__support/math/nextdownf16.h
A libc/src/__support/math/nextdownl.h
A libc/src/__support/math/nexttoward.h
A libc/src/__support/math/nexttowardbf16.h
A libc/src/__support/math/nexttowardf.h
A libc/src/__support/math/nexttowardf16.h
A libc/src/__support/math/nexttowardl.h
A libc/src/__support/math/nextup.h
A libc/src/__support/math/nextupbf16.h
A libc/src/__support/math/nextupf.h
A libc/src/__support/math/nextupf128.h
A libc/src/__support/math/nextupf16.h
A libc/src/__support/math/nextupl.h
A libc/src/__support/math/setpayload.h
A libc/src/__support/math/setpayloadbf16.h
A libc/src/__support/math/setpayloadf.h
A libc/src/__support/math/setpayloadf128.h
A libc/src/__support/math/setpayloadf16.h
A libc/src/__support/math/setpayloadl.h
A libc/src/__support/math/setpayloadsig.h
A libc/src/__support/math/setpayloadsigbf16.h
A libc/src/__support/math/setpayloadsigf.h
A libc/src/__support/math/setpayloadsigf128.h
A libc/src/__support/math/setpayloadsigf16.h
A libc/src/__support/math/setpayloadsigl.h
A libc/src/__support/math/tanpif16.h
M libc/src/math/CMakeLists.txt
A libc/src/math/acospif.h
A libc/src/math/asinpif.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acospif.cpp
A libc/src/math/generic/asinpif.cpp
M libc/src/math/generic/asinpif16.cpp
M libc/src/math/generic/atan2l.cpp
M libc/src/math/generic/bf16addl.cpp
M libc/src/math/generic/bf16fmaf128.cpp
M libc/src/math/generic/bf16mul.cpp
M libc/src/math/generic/bf16mulf.cpp
M libc/src/math/generic/bf16mulf128.cpp
M libc/src/math/generic/bf16mull.cpp
M libc/src/math/generic/bf16sub.cpp
M libc/src/math/generic/bf16subf.cpp
M libc/src/math/generic/bf16subf128.cpp
M libc/src/math/generic/f16div.cpp
M libc/src/math/generic/f16divf.cpp
M libc/src/math/generic/f16divf128.cpp
M libc/src/math/generic/f16divl.cpp
M libc/src/math/generic/f16mul.cpp
M libc/src/math/generic/f16mulf.cpp
M libc/src/math/generic/f16mulf128.cpp
M libc/src/math/generic/f16mull.cpp
M libc/src/math/generic/f16sqrtf128.cpp
M libc/src/math/generic/f16sub.cpp
M libc/src/math/generic/f16subf.cpp
M libc/src/math/generic/f16subf128.cpp
M libc/src/math/generic/f16subl.cpp
M libc/src/math/generic/fdim.cpp
M libc/src/math/generic/fdimbf16.cpp
M libc/src/math/generic/fdimf.cpp
M libc/src/math/generic/fdimf128.cpp
M libc/src/math/generic/fdimf16.cpp
M libc/src/math/generic/fdiml.cpp
M libc/src/math/generic/floor.cpp
M libc/src/math/generic/floorbf16.cpp
M libc/src/math/generic/floorf.cpp
M libc/src/math/generic/floorf128.cpp
M libc/src/math/generic/floorf16.cpp
M libc/src/math/generic/floorl.cpp
M libc/src/math/generic/getpayload.cpp
M libc/src/math/generic/getpayloadbf16.cpp
M libc/src/math/generic/getpayloadf.cpp
M libc/src/math/generic/getpayloadf128.cpp
M libc/src/math/generic/getpayloadf16.cpp
M libc/src/math/generic/getpayloadl.cpp
M libc/src/math/generic/nextafter.cpp
M libc/src/math/generic/nextafterbf16.cpp
M libc/src/math/generic/nextafterf.cpp
M libc/src/math/generic/nextafterf128.cpp
M libc/src/math/generic/nextafterf16.cpp
M libc/src/math/generic/nextafterl.cpp
M libc/src/math/generic/nextdown.cpp
M libc/src/math/generic/nextdownbf16.cpp
M libc/src/math/generic/nextdownf.cpp
M libc/src/math/generic/nextdownf128.cpp
M libc/src/math/generic/nextdownf16.cpp
M libc/src/math/generic/nextdownl.cpp
M libc/src/math/generic/nexttoward.cpp
M libc/src/math/generic/nexttowardbf16.cpp
M libc/src/math/generic/nexttowardf.cpp
M libc/src/math/generic/nexttowardf16.cpp
M libc/src/math/generic/nexttowardl.cpp
M libc/src/math/generic/nextup.cpp
M libc/src/math/generic/nextupbf16.cpp
M libc/src/math/generic/nextupf.cpp
M libc/src/math/generic/nextupf128.cpp
M libc/src/math/generic/nextupf16.cpp
M libc/src/math/generic/nextupl.cpp
M libc/src/math/generic/setpayload.cpp
M libc/src/math/generic/setpayloadbf16.cpp
M libc/src/math/generic/setpayloadf.cpp
M libc/src/math/generic/setpayloadf128.cpp
M libc/src/math/generic/setpayloadf16.cpp
M libc/src/math/generic/setpayloadl.cpp
M libc/src/math/generic/setpayloadsig.cpp
M libc/src/math/generic/setpayloadsigbf16.cpp
M libc/src/math/generic/setpayloadsigf.cpp
M libc/src/math/generic/setpayloadsigf128.cpp
M libc/src/math/generic/setpayloadsigf16.cpp
M libc/src/math/generic/setpayloadsigl.cpp
M libc/src/math/generic/tanpif16.cpp
M libc/src/setjmp/arm/longjmp.cpp
M libc/src/setjmp/arm/setjmp.cpp
M libc/startup/gpu/CMakeLists.txt
R libc/startup/gpu/amdgpu/CMakeLists.txt
R libc/startup/gpu/amdgpu/start.cpp
R libc/startup/gpu/nvptx/CMakeLists.txt
R libc/startup/gpu/nvptx/start.cpp
A libc/startup/gpu/start.cpp
M libc/startup/linux/CMakeLists.txt
M libc/startup/linux/aarch64/CMakeLists.txt
A libc/startup/linux/aarch64/irelative.cpp
M libc/startup/linux/do_start.cpp
A libc/startup/linux/irelative.h
M libc/startup/linux/riscv/CMakeLists.txt
A libc/startup/linux/riscv/irelative.cpp
M libc/startup/linux/x86_64/CMakeLists.txt
A libc/startup/linux/x86_64/irelative.cpp
M libc/test/integration/startup/linux/CMakeLists.txt
A libc/test/integration/startup/linux/irelative_no_ifunc_test.cpp
A libc/test/integration/startup/linux/irelative_test.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/__support/FPUtil/bfloat16_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/acospif_test.cpp
A libc/test/src/math/asinpif_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/acospif_test.cpp
A libc/test/src/math/exhaustive/asinpif_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/acospif_test.cpp
A libc/test/src/math/smoke/asinpif_test.cpp
M libc/test/src/math/smoke/atan2f128_test.cpp
A libc/test/src/math/smoke/atan2l_test.cpp
M libc/test/src/sys/time/utimes_test.cpp
M libc/utils/hdrgen/hdrgen/main.py
M libclc/CMakeLists.txt
M libclc/clc/lib/generic/math/clc_fdim.inc
M libclc/cmake/modules/AddLibclc.cmake
M libclc/opencl/lib/clspv/SOURCES
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/find_if.h
M libcxx/include/__algorithm/find_if_not.h
M libcxx/include/__algorithm/find_segment_if.h
M libcxx/include/__algorithm/ranges_find_if.h
M libcxx/include/__algorithm/ranges_find_if_not.h
M libcxx/include/__algorithm/ranges_remove_if.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__locale_dir/pad_and_output.h
M libcxx/include/__math/gamma.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__tree
M libcxx/include/__utility/lazy_synth_three_way_comparator.h
M libcxx/include/__vector/vector.h
M libcxx/test/benchmarks/spec.gen.py
A libcxx/test/benchmarks/streams/copy.bench.cpp
M libcxx/test/extensions/libcxx/depr/depr.c.headers/extern_c.pass.cpp
M libcxx/test/extensions/libcxx/depr/depr.c.headers/include_as_c.sh.cpp
M libcxx/test/extensions/libcxx/depr/depr.c.headers/stdint_h.xopen_source.compile.pass.cpp
M libcxx/test/extensions/posix/xopen_source.gen.py
M libcxx/test/libcxx-03/assertions/customize_verbose_abort.compile-time.pass.cpp
M libcxx/test/libcxx-03/assertions/modes/hardening_mode_incorrect_value.sh.cpp
M libcxx/test/libcxx-03/transitive_includes.gen.py
M libcxx/test/libcxx-03/utilities/utility/pairs/pairs.pair/abi.non_trivial_copy_move.pass.cpp
M libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_nontrivial.pass.cpp
M libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_trivial.pass.cpp
M libcxx/test/libcxx/algorithms/specialized_algorithms.compile.pass.cpp
M libcxx/test/libcxx/assertions/customize_verbose_abort.compile-time.pass.cpp
M libcxx/test/libcxx/assertions/modes/hardening_mode_incorrect_value.sh.cpp
M libcxx/test/libcxx/assertions/semantics/assertion_semantic_incorrect_value.sh.cpp
A libcxx/test/libcxx/containers/associative/debug.non-strict-weak-ordering.pass.cpp
A libcxx/test/libcxx/containers/associative/lower_upper_bound_non_strict_weak_order.pass.cpp
M libcxx/test/libcxx/depr/exception.unexpected/unexpected_disabled_cpp17.verify.cpp
M libcxx/test/libcxx/language.support/timespec_get.xopen.compile.pass.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/utilities/utility/pairs/pairs.pair/abi.non_trivial_copy_move.pass.cpp
M libcxx/test/selftest/modules/std-and-std.compat-module.sh.cpp
M libcxx/test/selftest/modules/std-module.sh.cpp
M libcxx/test/selftest/modules/std.compat-module.sh.cpp
A libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ostreambuf.copy.pass.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.segmented.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/append_range.pass.cpp
M libcxx/test/std/modules/std.compat.pass.cpp
M libcxx/test/std/modules/std.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.integer.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.pointer.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.gps/gps_time.ostream.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.tai/tai_time.ostream.pass.cpp
M libcxx/test/std/time/time.syn/formatter.gps_time.pass.cpp
M libcxx/test/support/stream_types.h
M libcxx/utils/ci/lnt/run-benchmarks
M libcxx/utils/libcxx/test/config.py
M libcxx/utils/libcxx/test/dsl.py
M libcxx/utils/libcxx/test/format.py
M libcxx/utils/libcxx/test/modules.py
M libsycl/docs/index.rst
A libsycl/include/sycl/__impl/context.hpp
M libsycl/include/sycl/__impl/device.hpp
M libsycl/include/sycl/sycl.hpp
M libsycl/src/CMakeLists.txt
A libsycl/src/context.cpp
A libsycl/src/detail/context_impl.cpp
A libsycl/src/detail/context_impl.hpp
M libsycl/src/detail/device_impl.cpp
M libsycl/src/detail/device_impl.hpp
M libsycl/src/detail/global_objects.cpp
M libsycl/src/detail/global_objects.hpp
M libsycl/src/detail/offload/offload_utils.hpp
M libsycl/src/detail/platform_impl.cpp
M libsycl/src/detail/platform_impl.hpp
M libsycl/src/device.cpp
M libsycl/src/platform.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Relocations.cpp
M lld/MachO/LTO.cpp
M lld/docs/WebAssembly.rst
M lld/docs/index.rst
R lld/test/ELF/Inputs/ztext.s
M lld/test/ELF/aarch64-branch-to-branch.s
M lld/test/ELF/aarch64-feature-bti.s
M lld/test/ELF/aarch64-funcinit64-invalid.s
M lld/test/ELF/aarch64-funcinit64.s
M lld/test/ELF/aarch64-range-thunk-extension-plt32.s
M lld/test/ELF/aarch64-reloc-gotpcrel32.s
M lld/test/ELF/aarch64-reloc-plt32.s
M lld/test/ELF/aarch64-undefined-weak.s
M lld/test/ELF/lto/comdat-nodeduplicate.ll
M lld/test/ELF/lto/linker-script-symbols-ipo.ll
A lld/test/ELF/x86-x32-abs.s
M lld/test/ELF/ztext.s
A lld/test/MachO/lto-slp-vectorize-pm.ll
M lld/test/wasm/call-indirect.s
M lld/test/wasm/invalid-mvp-table-use.s
A lld/test/wasm/large-debug-section.test
A lld/test/wasm/large-section.test
M lld/test/wasm/multi-table.s
A lld/test/wasm/section-too-large.test
M lld/test/wasm/tls-export.s
M lld/tools/lld/CMakeLists.txt
M lld/wasm/InputChunks.h
M lld/wasm/OutputSections.cpp
M lldb/bindings/CMakeLists.txt
M lldb/bindings/lua/CMakeLists.txt
M lldb/bindings/python/CMakeLists.txt
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/conf.py
M lldb/docs/dil-expr-lang.ebnf
M lldb/docs/index.rst
M lldb/docs/use/variable.rst
M lldb/examples/python/formatter_bytecode.py
M lldb/include/lldb/Core/ThreadedCommunication.h
M lldb/include/lldb/Expression/REPL.h
M lldb/include/lldb/Host/Config.h.cmake
M lldb/include/lldb/Host/HostInfoBase.h
M lldb/include/lldb/Host/ProcessLaunchInfo.h
M lldb/include/lldb/Host/aix/HostInfoAIX.h
M lldb/include/lldb/Host/linux/HostInfoLinux.h
M lldb/include/lldb/Host/linux/Ptrace.h
A lldb/include/lldb/Host/windows/ConnectionConPTYWindows.h
M lldb/include/lldb/Host/windows/ConnectionGenericFileWindows.h
M lldb/include/lldb/Host/windows/HostInfoWindows.h
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/include/lldb/Initialization/SystemInitializerCommon.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Utility/AnsiTerminal.h
M lldb/include/lldb/Utility/FileSpec.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/API/liblldb-private.exports
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/ThreadedCommunication.cpp
M lldb/source/Expression/REPL.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/aix/HostInfoAIX.cpp
M lldb/source/Host/common/HostInfoBase.cpp
M lldb/source/Host/common/MonitoringProcessLauncher.cpp
M lldb/source/Host/common/ProcessLaunchInfo.cpp
M lldb/source/Host/linux/HostInfoLinux.cpp
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
A lldb/source/Host/windows/ConnectionConPTYWindows.cpp
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
M lldb/source/Host/windows/HostInfoWindows.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Initialization/SystemInitializerCommon.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.cpp
M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h
M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp
M lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
M lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
M lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
M lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
M lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp
M lldb/source/Plugins/Process/CMakeLists.txt
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCoreProperties.td
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ThreadFreeBSDKernelCore.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ThreadFreeBSDKernelCore.h
R lldb/source/Plugins/Process/FreeBSDKernel/CMakeLists.txt
R lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.h
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_arm64.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_arm64.h
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_i386.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_i386.h
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_x86_64.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_x86_64.h
R lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.h
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_arm.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/REPL/Clang/ClangREPL.cpp
M lldb/source/Plugins/REPL/Clang/ClangREPL.h
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Lua/Lua.cpp
R lldb/source/Plugins/ScriptInterpreter/Lua/Lua.h
A lldb/source/Plugins/ScriptInterpreter/Lua/LuaState.cpp
A lldb/source/Plugins/ScriptInterpreter/Lua/LuaState.h
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Utility/ArchSpec.cpp
M lldb/source/Utility/ZipFile.cpp
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/test/API/commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py
M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/main.cpp
M lldb/test/API/commands/help/TestHelp.py
M lldb/test/API/commands/process/attach/TestProcessAttach.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/TestDataFormatterStdValarray.py
M lldb/test/API/functionalities/dyld-launch-linux/TestDyldLaunchLinux.py
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/TestFreeBSDKernelLiveCore.py
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/TestFreeBSDKernelVMCore.py
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/kernel-amd64.yaml
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/kernel-arm64.yaml
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/kernel-i386.yaml
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/vmcore-amd64-full.bz2
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/vmcore-amd64-minidump.bz2
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/vmcore-arm64-minidump.bz2
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/vmcore-i386-minidump.bz2
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/TestFreeBSDKernelLive.py
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/TestFreeBSDKernelVMCore.py
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/kernel-amd64.yaml
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/kernel-arm64.yaml
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/kernel-i386.yaml
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/README.rst
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/copy-sparse.py
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/libfbsdvmcore-hacks.patch
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/lldb-minimize-processes.patch
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/test.script
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-amd64-full.bz2
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-amd64-minidump.bz2
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-arm64-minidump.bz2
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-i386-minidump.bz2
M lldb/test/API/functionalities/tsan/cpp_global_location/TestTsanCPPGlobalLocation.py
M lldb/test/API/functionalities/tsan/global_location/TestTsanGlobalLocation.py
M lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py
M lldb/test/API/functionalities/tsan/thread_leak/TestTsanThreadLeak.py
M lldb/test/API/functionalities/tsan/thread_numbers/TestTsanThreadNumbers.py
M lldb/test/API/lang/cpp/gmodules/alignment/TestPchAlignment.py
M lldb/test/API/lang/cpp/gmodules/basic/TestWithModuleDebugging.py
M lldb/test/API/lang/objc/failing-description/TestObjCFailingDescription.py
M lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
M lldb/test/API/lang/objc/objc-ivar-stripped/TestObjCIvarStripped.py
M lldb/test/API/lang/objc/struct-description/TestObjCStructDescription.py
A lldb/test/API/linux/arm/tls_register/Makefile
A lldb/test/API/linux/arm/tls_register/TestArmLinuxTLSRegister.py
A lldb/test/API/linux/arm/tls_register/main.c
M lldb/test/API/macosx/add-dsym/TestAddDsymDownload.py
M lldb/test/API/macosx/add-dsym/TestAddDsymMidExecutionCommand.py
M lldb/test/API/macosx/delay-init-dependency/TestDelayInitDependency.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
A lldb/test/API/tools/lldb-dap/cancel/busy_loop.py
M lldb/test/API/tools/lldb-dap/stopped-events/TestDAP_stopped_events.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-dap/variables/children/TestDAP_variables_children.py
M lldb/test/Shell/ScriptInterpreter/Python/bytecode.test
M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
M lldb/test/Shell/SymbolFile/NativePDB/inline_sites.test
M lldb/test/Shell/SymbolFile/NativePDB/lookup-by-types.cpp
M lldb/test/Shell/SymbolFile/NativePDB/tag-types.cpp
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/ScopesRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/DAPTypes.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/SBAPIExtras.h
M lldb/tools/lldb-dap/Variables.cpp
M lldb/tools/lldb-dap/Variables.h
M lldb/tools/lldb-mcp/lldb-mcp.cpp
M lldb/tools/lldb-server/SystemInitializerLLGS.h
M lldb/tools/lldb-test/SystemInitializerTest.cpp
M lldb/unittests/DAP/DAPTypesTest.cpp
M lldb/unittests/DAP/Inputs/linux-x86_64.core.yaml
M lldb/unittests/DAP/Inputs/linux-x86_64.out.yaml
M lldb/unittests/DAP/ProtocolRequestsTest.cpp
M lldb/unittests/DAP/VariablesTest.cpp
M lldb/unittests/Host/common/CMakeLists.txt
A lldb/unittests/Host/common/Inputs/zip-test-no-extras.zip
M lldb/unittests/Host/common/ZipFileResolverTest.cpp
M lldb/unittests/Language/CPlusPlus/LibStdcppTupleTest.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
M lldb/unittests/ScriptInterpreter/Lua/LuaTests.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/TestingSupport/Symbol/ClangTestUtils.h
M lldb/unittests/Utility/AnsiTerminalTest.cpp
M llvm/Maintainers.md
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/cmake/modules/LLVM-Config.cmake
M llvm/cmake/modules/TableGen.cmake
M llvm/docs/AMDGPUUsage.rst
R llvm/docs/Bugpoint.rst
R llvm/docs/CommandGuide/bugpoint.rst
M llvm/docs/CommandGuide/index.rst
M llvm/docs/CommandGuide/llvm-extract.rst
M llvm/docs/HowToSetUpLLVMStyleRTTI.rst
M llvm/docs/LangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/Passes.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/Reference.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SourceLevelDebugging.rst
M llvm/docs/TestSuiteGuide.md
R llvm/docs/TestSuiteMakefileGuide.rst
M llvm/docs/TestingGuide.rst
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/SmallString.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/include/llvm/Analysis/ScopedNoAliasAA.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/CodeGen/SlotIndexes.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
A llvm/include/llvm/CodeGen/pch.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerCompileUnit.h
M llvm/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def
M llvm/include/llvm/DebugInfo/CodeView/CodeViewTypes.def
M llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/IR/FMF.h
M llvm/include/llvm/IR/FixedMetadataKinds.def
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/MDBuilder.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
A llvm/include/llvm/IR/pch.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCGOFFAttributes.h
M llvm/include/llvm/MC/MCLFI.h
M llvm/include/llvm/MC/MCLFIRewriter.h
M llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
M llvm/include/llvm/MC/MCSectionGOFF.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Support/AdvisoryLock.h
M llvm/include/llvm/Support/AutoConvert.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
M llvm/include/llvm/Support/JSON.h
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/include/llvm/Support/LockFileManager.h
M llvm/include/llvm/Support/ModRef.h
M llvm/include/llvm/Support/Path.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/IPO/IROutliner.h
M llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
M llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
M llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/CostModel.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InstCount.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ScopedNoAliasAA.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineLoopUtils.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/PostRAHazardRecognizer.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/SlotIndexes.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp
M llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/CMakeLists.txt
M llvm/lib/IR/MDBuilder.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCAsmInfoGOFF.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCLFI.cpp
M llvm/lib/MC/MCLFIRewriter.cpp
M llvm/lib/MC/MCParser/LFIAsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCSymbolGOFF.cpp
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/ObjectYAML/WasmEmitter.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/SandboxIR/Region.cpp
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/JSON.cpp
M llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Support/LockFileManager.cpp
M llvm/lib/Support/Path.cpp
M llvm/lib/Support/Unix/Process.inc
M llvm/lib/Support/VirtualOutputBackends.cpp
M llvm/lib/Support/Windows/Process.inc
M llvm/lib/Support/raw_ostream.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedA320.td
M llvm/lib/Target/AArch64/AArch64SchedA510.td
M llvm/lib/Target/AArch64/AArch64SchedA55.td
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCtorDtorLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULaneMaskUtils.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/lib/Target/AMDGPU/GCNProcessors.td
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/R600Subtarget.cpp
M llvm/lib/Target/AMDGPU/R600Subtarget.h
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SISchedule.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPDInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrMVE.td
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/lib/Target/Hexagon/BitTracker.cpp
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/Hexagon.h
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
A llvm/lib/Target/Hexagon/HexagonGlobalScheduler.cpp
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/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
M llvm/lib/Target/Hexagon/HexagonPseudo.td
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MicroMipsInstrFPU.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsInstrFPU.td
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrFuture.td
M llvm/lib/Target/PowerPC/PPCOperands.td
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrFormatsV.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSfmm.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSpacemiT.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvabd.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
R llvm/lib/Target/RISCV/RISCVInstrInfoZvqdotq.td
M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVSchedAndes45.td
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.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/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/Sparc/SparcInstrInfo.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.h
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86InstrAMX.td
M llvm/lib/Target/X86/X86PreTileConfig.cpp
M llvm/lib/Target/X86/X86TargetMachine.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/MetaRenamer.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.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/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/runtimes/CMakeLists.txt
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AMDGPU/exp.ll
M llvm/test/Analysis/CostModel/AMDGPU/exp10.ll
M llvm/test/Analysis/CostModel/AMDGPU/exp2.ll
M llvm/test/Analysis/CostModel/X86/clmul.ll
M llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll
A llvm/test/Analysis/DependenceAnalysis/exact-rdiv-addrec-wrap.ll
A llvm/test/Analysis/DependenceAnalysis/exact-siv-addrec-wrap.ll
A llvm/test/Analysis/DependenceAnalysis/rdiv-minor-algebra.ll
A llvm/test/Analysis/DependenceAnalysis/strong-siv-addrec-wrap.ll
M llvm/test/Analysis/DependenceAnalysis/strong-siv-large-btc.ll
A llvm/test/Analysis/DependenceAnalysis/symbolic-rdiv-addrec-wrap.ll
A llvm/test/Analysis/DependenceAnalysis/weak-crossing-siv-addrec-wrap.ll
A llvm/test/Analysis/FunctionPropertiesAnalysis/properties-stats.ll
A llvm/test/Analysis/InstCount/instcount.ll
M llvm/test/Analysis/KernelInfo/openmp/amdgpu.ll
M llvm/test/Analysis/ScalarEvolution/trip-count-scalable-stride.ll
A llvm/test/Assembler/prefalign-error1.ll
A llvm/test/Assembler/prefalign-error2.ll
A llvm/test/Assembler/prefalign-error3.ll
A llvm/test/Assembler/prefalign-error4.ll
M llvm/test/Assembler/thinlto-memprof-summary.ll
M llvm/test/Assembler/thinlto-multiple-summaries-for-guid.ll
M llvm/test/Assembler/thinlto-summary-visibility.ll
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Assembler/thinlto-vtable-summary.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-index-disassembled-by-llvm-dis.ll
M llvm/test/Bitcode/thinlto-type-tests.ll
M llvm/test/Bitcode/thinlto-type-vcalls.ll
A llvm/test/Bitcode/upgrade-uniform-work-group-size.ll
R llvm/test/BugPoint/attr-crash.ll
R llvm/test/BugPoint/compile-custom.ll
R llvm/test/BugPoint/compile-custom.ll.py
R llvm/test/BugPoint/crash-narrowfunctiontest.ll
R llvm/test/BugPoint/func-attrs-keyval.ll
R llvm/test/BugPoint/func-attrs.ll
R llvm/test/BugPoint/invalid-debuginfo.ll
R llvm/test/BugPoint/metadata.ll
R llvm/test/BugPoint/named-md.ll
R llvm/test/BugPoint/remove_arguments_test.ll
R llvm/test/BugPoint/replace-funcs-with-null.ll
R llvm/test/BugPoint/retain-crashing-metadata.ll
R llvm/test/BugPoint/unsymbolized.ll
M llvm/test/CMakeLists.txt
M llvm/test/CodeGen/AArch64/GlobalISel/combine-freeze.mir
A llvm/test/CodeGen/AArch64/GlobalISel/combine-same-op.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-same-op.mir
A llvm/test/CodeGen/AArch64/GlobalISel/combine-sub.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-sub.mir
A llvm/test/CodeGen/AArch64/GlobalISel/compute-known-bits-bitcast-assertion.ll
M llvm/test/CodeGen/AArch64/GlobalISel/gisel-commandline-option-fastisel.ll
M llvm/test/CodeGen/AArch64/GlobalISel/gisel-commandline-option.ll
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
A llvm/test/CodeGen/AArch64/aarch64-condopt-unsigned.mir
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
A llvm/test/CodeGen/AArch64/aarch64-inline-asm-bitcast-crash.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
A llvm/test/CodeGen/AArch64/aarch64-scal-to-vec-bitcast-insert.ll
A llvm/test/CodeGen/AArch64/aarch64-tensorflow-isel-regression.ll
A llvm/test/CodeGen/AArch64/arm64-cvt-simd-fptoi-strictfp.ll
M llvm/test/CodeGen/AArch64/arm64-cvt-simd-fptoi.ll
M llvm/test/CodeGen/AArch64/arm64-neon-simd-ldst-one.ll
M llvm/test/CodeGen/AArch64/arm64-sli-sri-opt.ll
M llvm/test/CodeGen/AArch64/arm64-tbl.ll
M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
A llvm/test/CodeGen/AArch64/bitcnt-i256.ll
M llvm/test/CodeGen/AArch64/clmul-fixed.ll
A llvm/test/CodeGen/AArch64/cmp-i256.ll
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
A llvm/test/CodeGen/AArch64/complex-deinterleaving-opt-crash-178671.ll
A llvm/test/CodeGen/AArch64/const-vector-big-endian.ll
M llvm/test/CodeGen/AArch64/constant-pool-partition.ll
M llvm/test/CodeGen/AArch64/ctpop.ll
A llvm/test/CodeGen/AArch64/div-i256.ll
M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
A llvm/test/CodeGen/AArch64/faddv-fp16.ll
A llvm/test/CodeGen/AArch64/faddv.ll
A llvm/test/CodeGen/AArch64/fcvt-i256.ll
M llvm/test/CodeGen/AArch64/fcvt_combine.ll
M llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
A llvm/test/CodeGen/AArch64/fminp-fmaxp.ll
M llvm/test/CodeGen/AArch64/fp-to-int-to-fp.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/implicitly-set-zero-high-64-bits.ll
A llvm/test/CodeGen/AArch64/machine-outliner-bundle-debuginfo.mir
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
A llvm/test/CodeGen/AArch64/mul-i256.ll
M llvm/test/CodeGen/AArch64/neon-abd.ll
A llvm/test/CodeGen/AArch64/neon-lowhalf128-optimisation.ll
M llvm/test/CodeGen/AArch64/neon-mov.ll
M llvm/test/CodeGen/AArch64/neon-stepvector.ll
M llvm/test/CodeGen/AArch64/popcount_vmask.ll
M llvm/test/CodeGen/AArch64/pr58350.ll
M llvm/test/CodeGen/AArch64/ptrauth-irelative.ll
M llvm/test/CodeGen/AArch64/qmovn.ll
M llvm/test/CodeGen/AArch64/qshrn.ll
M llvm/test/CodeGen/AArch64/reduce-or.ll
M llvm/test/CodeGen/AArch64/reduce-xor.ll
M llvm/test/CodeGen/AArch64/rem-by-const.ll
M llvm/test/CodeGen/AArch64/sat-add.ll
M llvm/test/CodeGen/AArch64/saturating-vec-smull.ll
A llvm/test/CodeGen/AArch64/select-bitcast.ll
A llvm/test/CodeGen/AArch64/shift-i256.ll
M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
M llvm/test/CodeGen/AArch64/shuffles.ll
A llvm/test/CodeGen/AArch64/sminp-smaxp.ll
M llvm/test/CodeGen/AArch64/srem-vector-lkk.ll
M llvm/test/CodeGen/AArch64/stack-tagging.ll
M llvm/test/CodeGen/AArch64/sve-bf16-combines.ll
M llvm/test/CodeGen/AArch64/sve-fptosi-sat.ll
M llvm/test/CodeGen/AArch64/sve-fptoui-sat.ll
A llvm/test/CodeGen/AArch64/uminp-umaxp.ll
A llvm/test/CodeGen/AArch64/unsupported-fpext-x86-fp80.ll
M llvm/test/CodeGen/AArch64/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/AArch64/urem-vector-lkk.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
A llvm/test/CodeGen/AArch64/veclib-llvm.pow.ll
M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/bitcast_38_i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-fmed3-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-minmax-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/image-waterfall-loop-O0.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.a16.dim.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.dim.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.o.dim.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.a16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.d16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2d.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.a16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.cd.g16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.g16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.store.2d.d16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.store.2d.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mov.dpp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.load.1d.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.sample.1d.ll
M llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.private-memory.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-accesslist-offsetbins-out-of-sync.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-flat-scratch-init-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-intrinsic-missing-nocallback.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-min-agpr-alloc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-nocallback-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-trap-leaf.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
M llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-chain-metadata.ll
M llvm/test/CodeGen/AMDGPU/annotate-existing-abi-attributes.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
M llvm/test/CodeGen/AMDGPU/array-ptr-calc-i32.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-max-num-workgroups-propagate.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
M llvm/test/CodeGen/AMDGPU/attributor-loop-issue-58639.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/bypass-div.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg-bfloat.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg-no-sgpr-for-csrspill-xfail.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/captured-frame-index.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cc-entry.ll
A llvm/test/CodeGen/AMDGPU/cc-inreg-sgpr0-3-mismatch.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
A llvm/test/CodeGen/AMDGPU/convergent.mir
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
A llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.ll
A llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.mir
M llvm/test/CodeGen/AMDGPU/extload-private.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
A llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-sgpr32-to-vgpr16.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fmaxnum.ll
M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
M llvm/test/CodeGen/AMDGPU/fminnum.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines-gfx1200.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-image-atomics.ll
M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
M llvm/test/CodeGen/AMDGPU/freeze.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/generic-targets-require-v6.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
M llvm/test/CodeGen/AMDGPU/half.ll
M llvm/test/CodeGen/AMDGPU/hazard-shift64.mir
M llvm/test/CodeGen/AMDGPU/hsa-generic-target-features.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-uniform-workgroup-size-v5.ll
M llvm/test/CodeGen/AMDGPU/implicit-arg-v5-opt.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
M llvm/test/CodeGen/AMDGPU/indirect-private-64.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/inlineasm-sgmask.ll
M llvm/test/CodeGen/AMDGPU/insert_subreg.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/invalid-hidden-kernarg-in-kernel-signature.ll
M llvm/test/CodeGen/AMDGPU/invariant-image-load.ll
M llvm/test/CodeGen/AMDGPU/issue120256-annotate-constexpr-addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.load.async.to.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.e5m3.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.flt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.a16.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.noret.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.make.buffer.rsrc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sbfe.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tensor.load.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
A llvm/test/CodeGen/AMDGPU/llvm.exp.f64.ll
A llvm/test/CodeGen/AMDGPU/llvm.exp10.f64.ll
A llvm/test/CodeGen/AMDGPU/llvm.exp2.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/AMDGPU/load-hi16.ll
M llvm/test/CodeGen/AMDGPU/load-lo16.ll
A llvm/test/CodeGen/AMDGPU/load-saddr-offset-imm.ll
M llvm/test/CodeGen/AMDGPU/local-stack-slot-offset.ll
M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
M llvm/test/CodeGen/AMDGPU/lower-multiple-ctor-dtor.ll
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
M llvm/test/CodeGen/AMDGPU/mad-mix.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/mdt-preserving-crash.ll
A llvm/test/CodeGen/AMDGPU/memcpy_const_compare.ll
M llvm/test/CodeGen/AMDGPU/minimummaximum.ll
M llvm/test/CodeGen/AMDGPU/minmax.ll
M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/opencl-printf.ll
M llvm/test/CodeGen/AMDGPU/optimize-compare.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/parallelandifcollapse.ll
M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-no-opts.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-stored-pointer-value.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-vector-gep.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/propagate-amdgpu-cluster-dims.ll
M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/remat-sop.mir
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr.ll
M llvm/test/CodeGen/AMDGPU/schedule-barrier-latency-gfx9.mir
A llvm/test/CodeGen/AMDGPU/setcc-select-hi32mask.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/sgpr-to-vreg1-copy.ll
M llvm/test/CodeGen/AMDGPU/si-opt-vgpr-liverange-bug-deadlanes.mir
M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.mir
M llvm/test/CodeGen/AMDGPU/si-pre-allocate-wwm-regs.mir
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/CodeGen/AMDGPU/split-vector-memoperand-offsets.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/store-hi16.ll
M llvm/test/CodeGen/AMDGPU/swdev-549940.ll
M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.convergencetokens.ll
M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.error.ll
M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.ll
M llvm/test/CodeGen/AMDGPU/target-cpu.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fminimum.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
M llvm/test/CodeGen/AMDGPU/vgpr-lowering-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-debug-output-crash.ll
A llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-prefetch-flushed.ll
A llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-prefetch-flushed.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-prefetch-pattern.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
R llvm/test/CodeGen/AMDGPU/wmma-coececution-valu-hazards.mir
A llvm/test/CodeGen/AMDGPU/wmma-coexecution-valu-hazards.mir
R llvm/test/CodeGen/AMDGPU/wmma-gfx12-convergent.mir
M llvm/test/CodeGen/AMDGPU/wmma-nop-hoisting.mir
M llvm/test/CodeGen/ARM/bfx.ll
M llvm/test/CodeGen/ARM/extract-bits.ll
M llvm/test/CodeGen/ARM/fp-intrinsics-vector-v8.ll
M llvm/test/CodeGen/ARM/fpclamptosat_vec.ll
M llvm/test/CodeGen/ARM/fptosi-sat-scalar.ll
M llvm/test/CodeGen/ARM/fptoui-sat-scalar.ll
M llvm/test/CodeGen/ARM/inline-asm-clobber.ll
M llvm/test/CodeGen/ARM/shift-combine.ll
M llvm/test/CodeGen/ARM/vector-DAGCombine.ll
M llvm/test/CodeGen/ARM/vector-store.ll
M llvm/test/CodeGen/ARM/vext.ll
M llvm/test/CodeGen/ARM/vselect_imax.ll
M llvm/test/CodeGen/ARM/vtrn.ll
M llvm/test/CodeGen/AVR/cmp.ll
R llvm/test/CodeGen/DirectX/issue-152348.ll
R llvm/test/CodeGen/DirectX/phi-node-replacement.ll
A llvm/test/CodeGen/Generic/shadow-stack-gc-lowering.ll
M llvm/test/CodeGen/Hexagon/autohvx/hfsplat.ll
A llvm/test/CodeGen/Hexagon/autohvx/isel-hvx-rescale-predicate.ll
A llvm/test/CodeGen/Hexagon/avoid-debug-increment.mir
M llvm/test/CodeGen/Hexagon/bfloat_vec.ll
M llvm/test/CodeGen/Hexagon/cext-check.ll
A llvm/test/CodeGen/Hexagon/constp-const32-signbit.mir
M llvm/test/CodeGen/Hexagon/constp-extract.ll
A llvm/test/CodeGen/Hexagon/dbg-label-pullup.ll
A llvm/test/CodeGen/Hexagon/disable-packetizer-nvj.ll
A llvm/test/CodeGen/Hexagon/extract-hvx-subvector-pred-small.ll
A llvm/test/CodeGen/Hexagon/fptoi.sat.ll
A llvm/test/CodeGen/Hexagon/frame-pointer-attr.ll
A llvm/test/CodeGen/Hexagon/global-sched-iterator-invalidation.ll
A llvm/test/CodeGen/Hexagon/global-sched-skip-vsub_fake.ll
M llvm/test/CodeGen/Hexagon/hasfp-crash1.ll
M llvm/test/CodeGen/Hexagon/isel/trunc-vNi1-HVX.ll
A llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-trunc.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
M llvm/test/CodeGen/Hexagon/readcyclecounter.ll
M llvm/test/CodeGen/Hexagon/readsteadycounter.ll
A llvm/test/CodeGen/Hexagon/swp-peel-prolog-crash.mir
A llvm/test/CodeGen/Hexagon/v81-early-arch-features.ll
A llvm/test/CodeGen/Hexagon/vgather-memvt.ll
M llvm/test/CodeGen/LoongArch/lasx/rotl-rotr.ll
M llvm/test/CodeGen/LoongArch/lasx/vxi1-masks.ll
M llvm/test/CodeGen/LoongArch/lsx/rotl-rotr.ll
M llvm/test/CodeGen/M68k/pipeline.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
A llvm/test/CodeGen/MIR/Generic/expected-unsigned.mir
M llvm/test/CodeGen/MIR/X86/callsite-emit-calleetypeid.ll
M llvm/test/CodeGen/Mips/fabs.ll
M llvm/test/CodeGen/Mips/fmadd1.ll
M llvm/test/CodeGen/Mips/llvm-ir/nan-fp-attr.ll
M llvm/test/CodeGen/NVPTX/bug21465.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/lower-args-alignment.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
A llvm/test/CodeGen/NVPTX/reserved-smem-offset.ll
A llvm/test/CodeGen/NVPTX/scalarize-non-coalescable-v2f32.ll
A llvm/test/CodeGen/NVPTX/wmma-ptx91-sm120a.py
A llvm/test/CodeGen/NVPTX/wmma-ptx91-sm120f.py
M llvm/test/CodeGen/NVPTX/wmma.py
M llvm/test/CodeGen/PowerPC/Frames-dyn-alloca.ll
M llvm/test/CodeGen/PowerPC/alloca-crspill.ll
M llvm/test/CodeGen/PowerPC/asm-dialect.ll
A llvm/test/CodeGen/PowerPC/bit_floor.ll
M llvm/test/CodeGen/PowerPC/fma-combine.ll
M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
M llvm/test/CodeGen/PowerPC/milicode32.ll
M llvm/test/CodeGen/PowerPC/milicode64.ll
M llvm/test/CodeGen/PowerPC/ppc64-blnop.ll
M llvm/test/CodeGen/PowerPC/ppc_test_data_class.ll
M llvm/test/CodeGen/PowerPC/pr25080.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctls-rv64.mir
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/avgflooru.ll
M llvm/test/CodeGen/RISCV/bswap-bitreverse.ll
M llvm/test/CodeGen/RISCV/calling-conv-p-ext-vector.ll
M llvm/test/CodeGen/RISCV/clmul.ll
A llvm/test/CodeGen/RISCV/clmulh.ll
A llvm/test/CodeGen/RISCV/clmulr.ll
M llvm/test/CodeGen/RISCV/condops.ll
M llvm/test/CodeGen/RISCV/div_minsize.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/double-select-fcmp.ll
M llvm/test/CodeGen/RISCV/double-select-icmp.ll
M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore-zilsd.ll
M llvm/test/CodeGen/RISCV/inline-asm-zdinx-constraint-r.ll
A llvm/test/CodeGen/RISCV/opt-w-instrs-p-ext.mir
M llvm/test/CodeGen/RISCV/pr148084.ll
A llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir
A llvm/test/CodeGen/RISCV/rv32-move-merge.ll
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
M llvm/test/CodeGen/RISCV/rvp-unaligned-load-store.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-cmp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvdot4a8i.ll
R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
A llvm/test/CodeGen/RISCV/rvv/vdota4.ll
A llvm/test/CodeGen/RISCV/rvv/vdota4su.ll
A llvm/test/CodeGen/RISCV/rvv/vdota4u.ll
A llvm/test/CodeGen/RISCV/rvv/vdota4us.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
R llvm/test/CodeGen/RISCV/rvv/vqdot.ll
R llvm/test/CodeGen/RISCV/rvv/vqdotsu.ll
R llvm/test/CodeGen/RISCV/rvv/vqdotu.ll
R llvm/test/CodeGen/RISCV/rvv/vqdotus.ll
A llvm/test/CodeGen/RISCV/rvv/zvdot4a8i-sdnode.ll
R llvm/test/CodeGen/RISCV/rvv/zvqdotq-sdnode.ll
M llvm/test/CodeGen/RISCV/select.ll
A llvm/test/CodeGen/RISCV/xqcisls-merge-base-offset-shladd.ll
M llvm/test/CodeGen/RISCV/zicond-fp-select-zfinx.ll
A llvm/test/CodeGen/SPARC/stack-slot-coloring.mir
M llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_relaxed_printf_string_address_space/non-constant-printf.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_12.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_20.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_spirv.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr_spec_const.ll
R llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_float_controls2/disabled-on-amd.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/vk-ext-builtin-input.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/Gather-errors-1.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/Gather-errors-2.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/Gather.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/NonUniformIdx/RWStructuredBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StructuredBuffer.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer-array.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer-peeled-array-minimal.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer-peeled-array.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer-simple.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer-struct.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/issue-146942-ptr-cast.ll
M llvm/test/CodeGen/SPIRV/legalization/load-store-global.ll
M llvm/test/CodeGen/SPIRV/legalization/vector-index-scalarization.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-extern.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/constrained-comparison.ll.bak
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/exp10-glsl.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/exp10-opencl.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/logical-memcpy.ll
M llvm/test/CodeGen/SPIRV/pointers/array-skips-gep.ll
M llvm/test/CodeGen/SPIRV/pointers/getelementptr-downcast-struct.ll
M llvm/test/CodeGen/SPIRV/pointers/getelementptr-downcast-vector.ll
M llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
M llvm/test/CodeGen/SPIRV/pointers/load-struct.ll
M llvm/test/CodeGen/SPIRV/pointers/pointer-addrspacecast.ll
M llvm/test/CodeGen/SPIRV/pointers/ptrcast-bitcast.ll
M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast-2.ll
M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast.ll
M llvm/test/CodeGen/SPIRV/pointers/sgep-array.ll
M llvm/test/CodeGen/SPIRV/pointers/sgep-dynamic-index.ll
M llvm/test/CodeGen/SPIRV/pointers/sgep-nested-struct-array.ll
M llvm/test/CodeGen/SPIRV/pointers/sgep-runtime-array.ll
M llvm/test/CodeGen/SPIRV/pointers/sgep-struct.ll
M llvm/test/CodeGen/SPIRV/pointers/sgep-vector.ll
M llvm/test/CodeGen/SPIRV/pointers/store-struct.ll
M llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access.ll
M llvm/test/CodeGen/SPIRV/pointers/structured-buffer-vector-access.ll
M llvm/test/CodeGen/SPIRV/semantics/position.ps.ll
M llvm/test/CodeGen/SPIRV/semantics/position.vs.ll
M llvm/test/CodeGen/SPIRV/semantics/target.ps.ll
M llvm/test/CodeGen/SPIRV/spirv-explicit-layout.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-convergence-in-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-multiple-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/return-early.ll
M llvm/test/CodeGen/SystemZ/fmuladd-soft-float.ll
A llvm/test/CodeGen/SystemZ/foldmemop-global.mir
M llvm/test/CodeGen/SystemZ/remat.ll
M llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
M llvm/test/CodeGen/Thumb/pr35836.ll
M llvm/test/CodeGen/Thumb/pr35836_2.ll
M llvm/test/CodeGen/Thumb/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
M llvm/test/CodeGen/Thumb2/mve-fptoui-sat-vector.ll
M llvm/test/CodeGen/Thumb2/mve-gather-ind8-unscaled.ll
M llvm/test/CodeGen/Thumb2/mve-laneinterleaving.ll
M llvm/test/CodeGen/Thumb2/mve-pred-ext.ll
M llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
M llvm/test/CodeGen/Thumb2/mve-scatter-ind8-unscaled.ll
A llvm/test/CodeGen/Thumb2/mve-sli-sri.ll
M llvm/test/CodeGen/Thumb2/mve-vecreduce-addpred.ll
M llvm/test/CodeGen/Thumb2/mve-vecreduce-mlapred.ll
M llvm/test/CodeGen/Thumb2/mve-vmovimm.ll
M llvm/test/CodeGen/WebAssembly/load-ext.ll
M llvm/test/CodeGen/WebAssembly/offset-fastisel.ll
M llvm/test/CodeGen/WebAssembly/simd-extadd.ll
M llvm/test/CodeGen/X86/GlobalISel/sub-scalar.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/avx512fp16-mov.ll
M llvm/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll
M llvm/test/CodeGen/X86/bitcast-and-setcc-128.ll
M llvm/test/CodeGen/X86/bitcast-setcc-128.ll
M llvm/test/CodeGen/X86/bitcast-setcc-512.ll
M llvm/test/CodeGen/X86/bitcast-vector-bool.ll
M llvm/test/CodeGen/X86/bitcnt-big-integer.ll
M llvm/test/CodeGen/X86/buildvec-widen-dotproduct.ll
M llvm/test/CodeGen/X86/clmul.ll
M llvm/test/CodeGen/X86/cmov-fp.ll
A llvm/test/CodeGen/X86/code_placement_ext_tsp_size_and_perf.ll
M llvm/test/CodeGen/X86/combine-multiplies.ll
M llvm/test/CodeGen/X86/combine-or.ll
M llvm/test/CodeGen/X86/combine-pmuldq.ll
M llvm/test/CodeGen/X86/combine-rotates.ll
M llvm/test/CodeGen/X86/combine-sdiv.ll
M llvm/test/CodeGen/X86/combine-shl.ll
M llvm/test/CodeGen/X86/combine-sra.ll
M llvm/test/CodeGen/X86/combine-storetomstore.ll
M llvm/test/CodeGen/X86/combine-udiv.ll
M llvm/test/CodeGen/X86/combine-vpmadd52.ll
M llvm/test/CodeGen/X86/dagcombine-select.ll
M llvm/test/CodeGen/X86/dagcombine-shifts.ll
M llvm/test/CodeGen/X86/div_i129_v_pow2k.ll
M llvm/test/CodeGen/X86/f16c-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/fdiv-combine.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
M llvm/test/CodeGen/X86/fnabs.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/fp128-select.ll
M llvm/test/CodeGen/X86/fpclamptosat.ll
M llvm/test/CodeGen/X86/fptosi-sat-scalar.ll
M llvm/test/CodeGen/X86/fptosi-sat-vector-128.ll
M llvm/test/CodeGen/X86/fptoui-sat-scalar.ll
M llvm/test/CodeGen/X86/fptoui-sat-vector-128.ll
A llvm/test/CodeGen/X86/funnel-shift-i512.ll
M llvm/test/CodeGen/X86/funnel-shift.ll
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/gfni-xor-fold-avx512.ll
M llvm/test/CodeGen/X86/gfni-xor-fold.ll
M llvm/test/CodeGen/X86/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
M llvm/test/CodeGen/X86/i128-sdiv.ll
M llvm/test/CodeGen/X86/ifma-combine-vpmadd52.ll
M llvm/test/CodeGen/X86/known-never-zero.ll
M llvm/test/CodeGen/X86/known-pow2.ll
M llvm/test/CodeGen/X86/known-signbits-shl.ll
M llvm/test/CodeGen/X86/known-signbits-vector.ll
M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
M llvm/test/CodeGen/X86/madd.ll
M llvm/test/CodeGen/X86/masked_store.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
M llvm/test/CodeGen/X86/movmsk-cmp.ll
M llvm/test/CodeGen/X86/mulvi32.ll
A llvm/test/CodeGen/X86/npm-asmprint.ll
M llvm/test/CodeGen/X86/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
M llvm/test/CodeGen/X86/pmul.ll
M llvm/test/CodeGen/X86/pmulh.ll
M llvm/test/CodeGen/X86/pr107423.ll
M llvm/test/CodeGen/X86/pr161013.ll
M llvm/test/CodeGen/X86/pr173794.ll
M llvm/test/CodeGen/X86/pr179489.ll
M llvm/test/CodeGen/X86/pr35918.ll
M llvm/test/CodeGen/X86/pr41619.ll
M llvm/test/CodeGen/X86/pr42727.ll
M llvm/test/CodeGen/X86/pr45563-2.ll
M llvm/test/CodeGen/X86/pr45833.ll
M llvm/test/CodeGen/X86/pr77459.ll
A llvm/test/CodeGen/X86/prefalign.ll
M llvm/test/CodeGen/X86/promote-cmp.ll
M llvm/test/CodeGen/X86/promote-vec3.ll
M llvm/test/CodeGen/X86/psubus.ll
M llvm/test/CodeGen/X86/rotate-extract-vector.ll
M llvm/test/CodeGen/X86/sadd_sat_vec.ll
M llvm/test/CodeGen/X86/sat-add.ll
M llvm/test/CodeGen/X86/sdiv-exact.ll
M llvm/test/CodeGen/X86/select_const.ll
A llvm/test/CodeGen/X86/selectiondag-dbgvalue-null-crash.ll
M llvm/test/CodeGen/X86/shift-i512.ll
M llvm/test/CodeGen/X86/shrink_vmul.ll
M llvm/test/CodeGen/X86/single_elt_vector_memory_operation.ll
M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/sse-load-ret.ll
M llvm/test/CodeGen/X86/sshl_sat_vec.ll
M llvm/test/CodeGen/X86/ssub_sat_vec.ll
M llvm/test/CodeGen/X86/stack-align.ll
M llvm/test/CodeGen/X86/statepoint-live-in.ll
M llvm/test/CodeGen/X86/statepoint-regs.ll
M llvm/test/CodeGen/X86/test-shrink-bug.ll
M llvm/test/CodeGen/X86/ucmp.ll
M llvm/test/CodeGen/X86/udiv-exact.ll
M llvm/test/CodeGen/X86/undo-mul-and.ll
M llvm/test/CodeGen/X86/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-splat.ll
M llvm/test/CodeGen/X86/ushl_sat_vec.ll
M llvm/test/CodeGen/X86/vec-copysign-avx512.ll
M llvm/test/CodeGen/X86/vec-strict-inttofp-256.ll
M llvm/test/CodeGen/X86/vec_fcopysign.ll
M llvm/test/CodeGen/X86/vec_int_to_fp.ll
M llvm/test/CodeGen/X86/vec_minmax_sint.ll
M llvm/test/CodeGen/X86/vec_minmax_uint.ll
M llvm/test/CodeGen/X86/vec_smulo.ll
M llvm/test/CodeGen/X86/vec_umulo.ll
M llvm/test/CodeGen/X86/vector-compare-all_of.ll
M llvm/test/CodeGen/X86/vector-compare-any_of.ll
M llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/X86/vector-fshl-128.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-mul.ll
M llvm/test/CodeGen/X86/vector-pcmp.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/vector-reduce-smax.ll
M llvm/test/CodeGen/X86/vector-reduce-smin.ll
M llvm/test/CodeGen/X86/vector-reduce-umax.ll
M llvm/test/CodeGen/X86/vector-reduce-umin.ll
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
M llvm/test/CodeGen/X86/vector-rotate-128.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-sub128.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-ssse3.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
M llvm/test/CodeGen/X86/vector-shuffle-concatenation.ll
M llvm/test/CodeGen/X86/vector-trunc-math.ll
M llvm/test/CodeGen/X86/vector-trunc-packus.ll
M llvm/test/CodeGen/X86/vector-trunc-ssat.ll
M llvm/test/CodeGen/X86/vector-trunc-usat.ll
M llvm/test/CodeGen/X86/vector_splat-const-shift-of-constmasked.ll
M llvm/test/CodeGen/X86/vselect.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/DebugInfo/RISCV/relax_dwo_ranges.ll
M llvm/test/ExecutionEngine/Interpreter/test-interp-vec-insertelement.ll
A llvm/test/Instrumentation/AddressSanitizer/fuchsia.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
M llvm/test/MC/AArch64/data-directive-specifier.s
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat_err.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vopd.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vopd_features.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop2.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop2_aliases.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop2_dpp16.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop2_dpp8.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop2_err.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop2_t16_err.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop2_t16_promote.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop2.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop2_dpp16.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop2_dpp8.s
R llvm/test/Other/functionpropertiesanalysis.ll
R llvm/test/Other/instcount.ll
Log Message:
-----------
Merge remote-tracking branch 'external-upstream/main' into users/mariusz-sikora-at-amd/gfx13/add-vinterp
Compare: https://github.com/llvm/llvm-project/compare/18c0aae62eee...ba2e9fbba069
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